Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1893 commits
Select commit Hold shift + click to select a range
0a87440
fix(agent_loop): correct runtime state transition on early exit
senamakel Sep 19, 2026
40787b7
fix(compiled): handle boundary condition in graph compilation
senamakel Sep 19, 2026
84dbc13
fix(runtime): handle missing agent loop state on resume
senamakel Sep 19, 2026
75d8a8c
fix(graph): handle missing node in boundary node removal
senamakel Sep 19, 2026
ec72e24
chore(deps): update vendor/tinyinference subproject commit
senamakel Sep 19, 2026
8580762
fix(runtime): handle missing agent loop state on resume
senamakel Sep 19, 2026
d7e49e8
fix(step): correct node execution order in compiled graph
senamakel Sep 19, 2026
86eb25b
feat(graph): add compile method to agent loop
senamakel Sep 19, 2026
3ee6274
Merge phase-3 into runtime-comparison
senamakel Sep 19, 2026
d1e88ff
feat(graph): add compile module for agent loop
senamakel Sep 19, 2026
7decefc
fix(test): update test to match new policy behavior
senamakel Sep 19, 2026
7f2cf9f
fix(compile): remove unused import of `Graph` in compile.rs
senamakel Sep 19, 2026
9c27d0d
chore(graph): reformat long lines and reorder test module declarations
senamakel Sep 19, 2026
44649a9
fix(graph): handle agent loop termination on empty action list
senamakel Sep 19, 2026
b246963
fix(stream): correct test assertion for project stream
senamakel Sep 19, 2026
2bb20c3
fix(cache): correct cache key generation for agent graph nodes
senamakel Sep 19, 2026
c0ead6d
fix(stream): correct test assertion for project stream output
senamakel Sep 19, 2026
202519d
fix(cache): remove unnecessary line break in type alias
senamakel Sep 19, 2026
ea349ec
fix(runtime): handle missing agent in loop execution
senamakel Sep 19, 2026
3f93778
fix(agent_loop): handle missing runtime state on first tick
senamakel Sep 19, 2026
c762e46
fix(agent_loop): handle runtime shutdown on dropped sender
senamakel Sep 19, 2026
638471d
fix(agent_loop): handle missing runtime in agent loop
senamakel Sep 19, 2026
e17805a
chore(driver): remove unused import of `AgentState`
senamakel Sep 19, 2026
868ffb9
fix(graph): handle missing agent state in loop driver
senamakel Sep 19, 2026
c3b5dc2
chore(deps): update tinynference submodule
senamakel Sep 19, 2026
cb55cb2
fix(agent_loop): handle missing agent in driver
senamakel Sep 19, 2026
b15d64a
fix(agent_loop): handle missing agent in iteration
senamakel Sep 19, 2026
fe161ad
fix(agent_loop): handle missing agent in driver loop
senamakel Sep 19, 2026
eebcbc6
fix: make LoopRuntime public
senamakel Sep 19, 2026
3789801
fix(scope): remove unused imports
senamakel Sep 19, 2026
2e9a0d8
fix(agent_loop): handle missing runtime state on first invocation
senamakel Sep 19, 2026
25e0fd3
fix(runtime): handle missing agent in loop state
senamakel Sep 19, 2026
88924b3
fix(agent_loop): handle missing runtime state on first tick
senamakel Sep 19, 2026
a3168cd
fix(graph): handle agent loop iteration edge case
senamakel Sep 19, 2026
73ff64b
fix(agent_loop): handle missing agent in driver loop
senamakel Sep 19, 2026
e72329e
fix(integration-tests): correct loop-as-graph test to use proper grap…
senamakel Sep 19, 2026
9d3c8fc
fix(types): remove unused import of AgentError
senamakel Sep 19, 2026
d0619fc
fix(agent_loop): handle missing runtime state on early exit
senamakel Sep 19, 2026
29024dd
fix(agent_loop): handle missing runtime state on early exit
senamakel Sep 19, 2026
d480bb2
chore: files changed crates/tinyagents-graph/src/agent_loop/mod.rs
senamakel Sep 19, 2026
ad7585f
fix(integration-tests): correct loop graph test to use proper agent type
senamakel Sep 19, 2026
84e91ee
fix(integration-tests): correct loop_as_graph test to use proper grap…
senamakel Sep 19, 2026
b801a3e
fix(integration-tests): correct loop-as-graph test to use proper grap…
senamakel Sep 19, 2026
4344b68
fix(agent_loop): handle missing runtime state on early exit
senamakel Sep 19, 2026
d27d0f0
fix(runtime): handle missing agent in loop execution
senamakel Sep 19, 2026
6c77912
fix(agent_loop): handle missing node output in driver
senamakel Sep 19, 2026
5aa0a25
fix(runtime): handle agent loop termination on empty step
senamakel Sep 19, 2026
aff3210
Merge phase-6 into runtime-comparison
senamakel Sep 19, 2026
0cb7e00
feat(ids): add Drained variant to ExecutionStatus
senamakel Sep 19, 2026
e1b277a
fix(integration-tests): correct loop graph test to verify node execut…
senamakel Sep 19, 2026
c45d528
feat(schema): add value-level JSON schema validator
senamakel Sep 19, 2026
24c12b5
fix(graph): handle missing runtime state in agent loop
senamakel Sep 19, 2026
143d7c6
fix(runtime): handle missing runtime in agent loop
senamakel Sep 19, 2026
f99a1b8
feat(graph): add deferred interrupt_after and durable task write types
senamakel Sep 19, 2026
1c40237
fix(integration-tests): correct loop graph test to use proper node or…
senamakel Sep 19, 2026
f7e00f9
feat(checkpoint): export new checkpoint-related constants
senamakel Sep 19, 2026
c1ed5c1
feat(command): add optional response schema validation for interrupts
senamakel Sep 19, 2026
3a967c4
test(command): add round-trip test for interrupt response schema
senamakel Sep 19, 2026
9d1ce32
fix(agent_loop): handle missing runtime state on first tick
senamakel Sep 19, 2026
f8d7178
fix(graph): correct LimitKind import path
senamakel Sep 19, 2026
6d37a98
chore: reorder imports and reformat code for consistency
senamakel Sep 19, 2026
b0e8f8b
feat(graph): add durable task memoisation and interrupt support to gr…
senamakel Sep 19, 2026
94a60ef
fix(agent_loop): handle missing phase in phase transition
senamakel Sep 19, 2026
6a82027
feat(graph): add interrupt_before and interrupt_after methods to Grap…
senamakel Sep 19, 2026
893661a
fix(runtime): handle missing agent in loop execution
senamakel Sep 19, 2026
f5d05bb
fix(test): use struct update syntax for RunPolicy in loop_as_graph test
senamakel Sep 19, 2026
9fb47aa
chore(deps): update tinyinference subproject commit
senamakel Sep 19, 2026
4c95ad6
feat(compiled): add graceful drain support for graph execution
senamakel Sep 19, 2026
6ea1a14
feat(status): clarify terminal state semantics for drained and interr…
senamakel Sep 19, 2026
18c0a16
feat(graph): add resume support with interrupt acknowledgment and gra…
senamakel Sep 19, 2026
c4e66b2
fix(executor): add graceful drain support to the run loop
senamakel Sep 19, 2026
07cbc88
docs(harness): document state graph module
senamakel Sep 19, 2026
82ca30a
docs(graph): add documentation for subagent recursion
senamakel Sep 19, 2026
9833c11
chore: files changed crates/tinyagents-graph/src/compiled/boundary.rs
senamakel Sep 19, 2026
71d3b3e
feat(compiled): persist task writes through interrupt boundaries
senamakel Sep 19, 2026
b0bc4be
feat(graph): add task_writes field to StepRun for stalled branch replay
senamakel Sep 19, 2026
52925b9
feat(graph): validate resume values against interrupt schemas before …
senamakel Sep 19, 2026
bb6d417
Merge phase-7 into runtime-comparison
senamakel Sep 19, 2026
6d6fe39
fix(test): add missing fields to test fixtures
senamakel Sep 19, 2026
a845dcf
fix(test): add interrupt selectors test file
senamakel Sep 19, 2026
d667c90
fix: correct string comparison in interrupt selectors test and add mi…
senamakel Sep 19, 2026
e974212
fix(durable_task_test): correct test assertion for task state
senamakel Sep 19, 2026
cffbc2c
chore(drain_test): remove unused test file
senamakel Sep 19, 2026
4c22770
chore: reformat code for consistency
senamakel Sep 19, 2026
01abb2a
fix(test): remove unused import and fix match pattern in tests
senamakel Sep 19, 2026
00a9fd8
fix(compiled/graph): carry acknowledged interrupt phases across bound…
senamakel Sep 19, 2026
61d0cc2
chore: files changed crates/tinyagents-graph/src/compiled/resume.rs
senamakel Sep 19, 2026
8f9db21
fix(state_api): preserve deferred interrupt results across manual sta…
senamakel Sep 19, 2026
789beff
chore: files changed crates/tinyagents-graph/src/checkpoint/test.rs,c…
senamakel Sep 19, 2026
81f5c30
docs(graph): update interrupts documentation to reflect current imple…
senamakel Sep 19, 2026
e126a37
docs(graph): update runtime policy documentation
senamakel Sep 19, 2026
c068f61
test(graph): verify checkpointing pauses and resumes on interrupt
senamakel Sep 19, 2026
2aea0a3
feat(delegation): annotate approval node as self-interrupting
senamakel Sep 19, 2026
5632c21
test(delegation): verify interrupt metadata on human-gated pause
senamakel Sep 19, 2026
05dd679
docs(graph): document interrupt selectors, durable tasks, and drain s…
senamakel Sep 19, 2026
935ee93
docs(graph): clarify marker methods and add interrupt docs
senamakel Sep 19, 2026
5446443
fix(graph): flatten chained method calls for consistency
senamakel Sep 19, 2026
0afc78a
test(compiled): add probe for sequential stall keeping siblings pending
senamakel Sep 19, 2026
f49873c
fix(compiled): persist pending writes on drain boundary after resume
senamakel Sep 19, 2026
be507e8
Merge phase-5 into runtime-comparison
senamakel Sep 19, 2026
364460e
fix(step): handle missing node output in graph execution
senamakel Sep 20, 2026
3524e2e
fix(step): handle missing node output in graph execution
senamakel Sep 20, 2026
b18357b
chore: files changed crates/tinyagents-graph/src/compiled/mod.rs
senamakel Sep 20, 2026
ca6f128
chore: files changed crates/tinyagents-harness/src/tool/effects.rs
senamakel Sep 20, 2026
b39c9c6
fix(test): update test to use correct assertion for node output
senamakel Sep 20, 2026
a9ae541
chore: files changed crates/tinyagents-harness/src/tool/effects.rs
senamakel Sep 20, 2026
42d5a0d
chore(tests): reformat test closures for readability
senamakel Sep 20, 2026
b99cccb
chore: files changed crates/tinyagents-session/src/run_ledger/tool_ef…
senamakel Sep 20, 2026
c44e416
fix(session): handle tool effect with no previous state
senamakel Sep 20, 2026
1c253d8
fix(test): remove unnecessary field access in assertion
senamakel Sep 20, 2026
46c26ef
fix(harness): handle tool call with no arguments
senamakel Sep 20, 2026
a7afd60
fix(test): correct expected value in sequential stall test
senamakel Sep 20, 2026
c38477d
fix(harness): handle tool call with no arguments
senamakel Sep 20, 2026
26181ce
fix(harness): handle tool call with no arguments
senamakel Sep 20, 2026
00dde8f
fix(harness): handle tool call with no arguments
senamakel Sep 20, 2026
d67cb1a
fix(harness): handle tool call with no arguments
senamakel Sep 20, 2026
ce01f1b
fix(harness): handle tool call with no arguments
senamakel Sep 20, 2026
464f25b
fix(agent_loop): handle missing entry point gracefully
senamakel Sep 20, 2026
9542326
fix(tool-effects): pass default config to reconcile_tool_effects in t…
senamakel Sep 20, 2026
89afb4a
fix(agent_loop): correct test assertion for agent response
senamakel Sep 20, 2026
d99c1ea
docs(sdk-gaps): add tools documentation
senamakel Sep 20, 2026
7768380
docs(sdk-gaps): add documentation for SDK capability gaps
senamakel Sep 20, 2026
d8c85e2
chore(docs): remove outdated SDK gaps tracking document
senamakel Sep 20, 2026
c60dc81
docs(harness): add model handoff documentation
senamakel Sep 20, 2026
ff78459
docs(harness): replace inline handoff documentation with a cross-refe…
senamakel Sep 20, 2026
a9d9c04
docs(expressive-language): add reference nodes documentation
senamakel Sep 20, 2026
d2f21c7
docs(expressive-language): add reference graph documentation
senamakel Sep 20, 2026
476a246
docs(runtime-comparison): update cross-reference to router node docum…
senamakel Sep 20, 2026
5ac719e
docs(expressive-language): update implementation status
senamakel Sep 20, 2026
7bafb18
docs(expressive-language): add README for expressive language module
senamakel Sep 20, 2026
270534a
docs(expressive-language): add README for expressive language module
senamakel Sep 20, 2026
7e14b6a
fix(ast): update doc link in NodeDecl comment and test
senamakel Sep 20, 2026
e3ac590
docs(expressive-language): split monolithic reference into topic-spec…
senamakel Sep 20, 2026
cdb117d
chore: files changed docs/runtime-comparison/langgraph.md
senamakel Sep 20, 2026
df75eb3
chore(docs): update SDK gaps file reference to new location
senamakel Sep 20, 2026
1d1fe93
docs(runtime-comparison): update SDK gaps document references
senamakel Sep 20, 2026
b718893
chore(deps): update serde_json dependency to version 1.0.128
senamakel Sep 20, 2026
362db4b
docs(harness/streaming): update cross-reference to sdk-gaps/streaming.md
senamakel Sep 20, 2026
a77a182
docs(runtime-comparison): fix cross-references to moved SDK gap docum…
senamakel Sep 20, 2026
013d78f
fix(engine): handle missing workflow state on resume
senamakel Sep 20, 2026
3272a37
fix(docs): correct path to SDK gaps document in runtime comparison
senamakel Sep 20, 2026
eabcb52
fix(engine): handle empty workflow step list gracefully
senamakel Sep 20, 2026
95dc0aa
docs(runtime-comparison): update source references to use sdk-gaps su…
senamakel Sep 20, 2026
92442e1
docs(runtime-comparison): update plan.md to correct SDK gap references
senamakel Sep 20, 2026
f4bcd02
fix(workflow): handle missing step output gracefully in engine
senamakel Sep 20, 2026
9db1d41
docs(harness): update cross-reference to sdk-gaps/tools.md
senamakel Sep 20, 2026
2971295
docs(runtime-comparison): fix column header in feature-gaps table
senamakel Sep 20, 2026
9add849
fix(docs): update sdk-gaps references to reflect new file structure
senamakel Sep 20, 2026
02d3d59
fix(workflow): handle empty step list in engine execution
senamakel Sep 20, 2026
4c0a2d9
docs(runtime-comparison): add plan for runtime comparison document
senamakel Sep 20, 2026
3a5a97a
fix(test): reformat long lines in tool_effects test
senamakel Sep 20, 2026
926d7d8
refactor(engine): widen visibility of internal methods and struct
senamakel Sep 20, 2026
6bc400c
fix(crate): make PersistRequest fields crate-accessible
senamakel Sep 20, 2026
d8b13f5
fix(workflow): handle missing step in engine execution
senamakel Sep 20, 2026
247d00e
fix(engine): handle missing workflow state on resume
senamakel Sep 20, 2026
d34fe3f
fix(engine): handle missing node output in conditional evaluation
senamakel Sep 20, 2026
5a3cd56
fix(workflow): handle missing lower function gracefully
senamakel Sep 20, 2026
98959c7
fix(workflow): handle missing node state during execution
senamakel Sep 20, 2026
aca81f8
fix(workflow): handle empty lower result in orchestration
senamakel Sep 20, 2026
b1bb4a7
fix(workflow): handle empty lower block in orchestration
senamakel Sep 20, 2026
b74c699
fix(workflow): remove redundant Err wrapping in error handling
senamakel Sep 20, 2026
b88112f
fix(workflow): handle empty lower node list in lowering pass
senamakel Sep 20, 2026
25e932f
fix(orchestration): handle empty workflow in lower module
senamakel Sep 20, 2026
cbd617a
test(lowering): add unit tests for WorkflowDefinition to CompiledGrap…
senamakel Sep 20, 2026
db66e28
refactor(workflow): reformat long function signatures and chained calls
senamakel Sep 20, 2026
709894a
test(compiled): reformat long assertion to comply with line length
senamakel Sep 20, 2026
24e893e
docs(workflow): add README for workflow orchestration crate
senamakel Sep 20, 2026
32261b4
docs(workflow): add README for workflow orchestration crate
senamakel Sep 20, 2026
a4c438c
docs(runtime-comparison): add feature gaps and plan documents
senamakel Sep 20, 2026
5ef16f0
fix(builder): correct type inference for graph node outputs
senamakel Sep 20, 2026
51e03ac
fix(graph): correct type parameter order in builder types
senamakel Sep 20, 2026
1389a29
fix(graph): handle missing node in builder when adding edges
senamakel Sep 20, 2026
6b3bf67
fix(graph): handle missing node in compiled graph execution
senamakel Sep 20, 2026
17f06f3
fix(graph): handle missing routing target in compiled graph
senamakel Sep 20, 2026
73f6a76
fix(compiled): handle missing state key in state_api
senamakel Sep 20, 2026
7c19876
fix(executor): handle empty node list in graph execution
senamakel Sep 20, 2026
8f9ef86
fix(checkpoint): remove unused import in types.rs
senamakel Sep 20, 2026
2a2223d
fix(checkpoint): rename `Checkpoint` to `CheckpointData` for clarity
senamakel Sep 20, 2026
1b02500
fix: correct checkpoint test to use proper assertion
senamakel Sep 20, 2026
1bc4c00
fix(test): update test to use correct checkpoint type
senamakel Sep 20, 2026
c39d854
fix(step): handle missing node name in error message
senamakel Sep 20, 2026
8dc69eb
fix(step): correct node execution order in compiled graph
senamakel Sep 20, 2026
669b4c6
fix(step): handle missing node output in graph execution
senamakel Sep 20, 2026
25b2d8d
fix(step): correct node execution order in compiled graph
senamakel Sep 20, 2026
75a48fb
fix(step): handle missing node name in error message
senamakel Sep 20, 2026
e1b919a
fix(step): handle missing node output in conditional branch
senamakel Sep 20, 2026
ad70f53
fix(graph): handle missing node in step execution
senamakel Sep 20, 2026
7f1afe0
fix(language): correct typo in error message for unsupported language
senamakel Sep 20, 2026
e5cc065
fix(language): handle missing language code in model response
senamakel Sep 20, 2026
225083e
chore(deps): enable rc feature for serde
senamakel Sep 20, 2026
bd6cad2
fix(language_pipeline): correct assertion order in integration test
senamakel Sep 20, 2026
c9a5b59
feat(tests): add end-to-end RAG pipeline integration test
senamakel Sep 20, 2026
765e70b
feat(integration-tests): add OpenAI self-blueprint example
senamakel Sep 20, 2026
720e243
test(compiled): add tests proving M2 hot-path state cloning fix
senamakel Sep 20, 2026
ef49212
fix(compiled): correct test assertion for node execution order
senamakel Sep 20, 2026
633d305
fix(test): update test to use correct assertion for node output
senamakel Sep 20, 2026
08afea2
refactor(step): join cache_key assignment onto a single line
senamakel Sep 20, 2026
d2d3a61
docs(graph): add documentation for graph nodes
senamakel Sep 20, 2026
8b7cd34
docs(graph): clarify builder module documentation
senamakel Sep 20, 2026
e67cc3e
docs(graph): update builder module documentation
senamakel Sep 20, 2026
ab9bab9
docs(graph): clarify execution model in module documentation
senamakel Sep 20, 2026
34bc53d
Merge phase-4 into runtime-comparison
senamakel Sep 20, 2026
45b8456
Merge remote-tracking branch 'upstream/main' into runtime-comparison
senamakel Sep 20, 2026
230fe68
chore(deps): update tinytools subproject commit
senamakel Sep 20, 2026
a8a5a4b
chore(deps): update tinytools subproject commit
senamakel Sep 20, 2026
f9cec13
chore(deps): update tinytools subproject commit
senamakel Sep 20, 2026
6d78643
chore(deps): update tinytools subproject commit
senamakel Sep 20, 2026
b0221d6
chore(deps): update tinytools subproject commit
senamakel Sep 20, 2026
ba33ec3
chore(deps): update tinytools subproject commit
senamakel Sep 20, 2026
f70be51
chore(deps): update tinytools subproject commit
senamakel Sep 20, 2026
78580db
chore(deps): update tinytools subproject commit
senamakel Sep 20, 2026
75e4843
fix(harness): handle tool call with no arguments
senamakel Sep 20, 2026
b1a99ad
Merge upstream main into runtime-comparison
senamakel Sep 20, 2026
cfd250d
chore(deps): replace tinyagents-tracing with workspace tracing crate
senamakel Sep 20, 2026
462488c
chore: files changed Cargo.lock
senamakel Sep 20, 2026
cd9e542
Fix merged workspace dependency alignment
senamakel Sep 20, 2026
0c0402b
chore(deps): update vendored submodules
senamakel Sep 20, 2026
003e781
chore(tinyagents-integration-tests): remove unused language dependenc…
senamakel Sep 20, 2026
a3898ca
Restore matching vendor APIs after merge
senamakel Sep 20, 2026
358811b
chore(deps): downgrade tinytools dependency and remove tinyagents-lan…
senamakel Sep 20, 2026
e05898a
Restore merged harness runtime modules
senamakel Sep 20, 2026
d626cde
feat(tool): add prompt test module for tool harness
senamakel Sep 20, 2026
3e875dc
fix(tool): reformat test assertion for readability
senamakel Sep 20, 2026
c76962f
chore(deps): update tinytools dependencies to v0.3.0
senamakel Sep 20, 2026
d549090
chore(deps): update vendor submodules
senamakel Sep 20, 2026
38ac90a
fix(deps): downgrade tinytools and tinytools-agent to 0.2.0
senamakel Sep 20, 2026
f767d64
chore(deps): update vendor submodules tinyinference and tinytools
senamakel Sep 20, 2026
913684a
chore(deps): bump tinytools dependencies to v0.3.0
senamakel Sep 20, 2026
a069f57
fix(harness): replace getrusage with /proc/self/stat for CPU profiling
senamakel Sep 20, 2026
44e01f4
chore: files changed crates/tinyagents-harness/src/agent_loop/run_loo…
senamakel Sep 20, 2026
010d0d2
feat(harness): apply tool dialect before model call
senamakel Sep 20, 2026
f1f3eab
fix(harness): guard text dialect recovery behind tool presence and pa…
senamakel Sep 20, 2026
69839f0
fix(harness): force text-dialect recovery when the resolved dialect i…
senamakel Sep 20, 2026
d9abbaa
Merge remote-tracking branch 'upstream/main' into pr/171
senamakel Sep 20, 2026
faeb185
feat(harness): enforce native tool-calling capability before model re…
senamakel Sep 20, 2026
bc81b84
chore: reformat match arms and conditionals for readability
senamakel Sep 20, 2026
a7979d3
fix(test): register verbose_lookup tool in host-driven turn test
senamakel Sep 20, 2026
2297c93
fix(test): inline agent definition formatting in test helpers
senamakel Sep 20, 2026
17088cd
fix(graph): include items with cursor equal to since in stream projec…
senamakel Sep 20, 2026
03bea41
fix(stream): make `since` use exclusive cursor comparison and adjust …
senamakel Sep 20, 2026
ccb4350
fix(test): correct expected cursor values in stream projection test
senamakel Sep 20, 2026
7d3c46f
chore(tinyagents-harness): remove text-dialect recovery feature and i…
senamakel Sep 20, 2026
27d9d10
test(checkpoint): add concurrent lease claim test
senamakel Sep 20, 2026
f3d0576
test(channel): add test that untracked channel values are excluded fr…
senamakel Sep 20, 2026
10388c5
Merge upstream/runtime-comparison into runtime-comparison
senamakel Sep 20, 2026
ae8d7b2
Merge upstream/main into runtime-comparison
senamakel Sep 20, 2026
ec91929
refactor(subagent): align CallId type and remove obsolete hosted-auth…
senamakel Sep 20, 2026
1f0b250
test(subagent): add missing ToolDispatch import
senamakel Sep 20, 2026
34e785f
feat(tests): add live test infrastructure for orchestration
senamakel Sep 20, 2026
5a36c22
fix(tests): correct expected debt count for claude_code module
senamakel Sep 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
34 changes: 25 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,28 +39,28 @@ jobs:
run: cargo fmt --all -- --check

- name: Clippy
run: cargo clippy --all-targets -- -D warnings
run: cargo clippy --workspace --all-targets -- -D warnings

- name: Clippy all features
run: cargo clippy --all-targets --all-features -- -D warnings
run: cargo clippy --workspace --all-targets --all-features -- -D warnings

- name: Build
run: cargo build --all-targets
run: cargo build --workspace --all-targets

- name: Build all features
run: cargo build --all-targets --all-features
run: cargo build --workspace --all-targets --all-features

- name: Test
run: cargo test
run: cargo test --workspace

- name: Test all features
run: cargo test --all-features
run: cargo test --workspace --all-features

- name: Test optional features independently
run: |
cargo test --no-default-features --features sqlite
cargo test --no-default-features --features tools
cargo test --no-default-features --features multimodal
cargo test --workspace --no-default-features --features sqlite
cargo test --workspace --no-default-features --features tools
cargo test --workspace --no-default-features --features multimodal

- name: Coverage gate
uses: taiki-e/install-action@cargo-llvm-cov
Expand All @@ -70,3 +70,19 @@ jobs:
cargo llvm-cov --all-features --workspace
--ignore-filename-regex '(^|/)(tests?|examples)/|/test(_.*)?\.rs$'
--fail-under-lines 80

# TODO: drop `continue-on-error` once the ~160 existing broken
# intra-doc link warnings across the workspace are fixed and this can
# block merges instead of only reporting.
- name: Doc lints
env:
RUSTDOCFLAGS: -D rustdoc::broken_intra_doc_links
run: cargo doc --workspace --no-deps
continue-on-error: true

# TODO: drop `continue-on-error` once the existing unused-dependency
# findings across the workspace are cleaned up and this can block
# merges instead of only reporting.
- name: Unused dependencies
uses: bnjbvr/cargo-machete@main
continue-on-error: true
20 changes: 18 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,26 @@ jobs:
run: cargo fmt --all -- --check

- name: Run clippy
run: cargo clippy --all-targets -- -D warnings
run: cargo clippy --workspace --all-targets -- -D warnings

- name: Run tests
run: cargo test
run: cargo test --workspace

# TODO: drop `continue-on-error` once the existing ~160 broken
# intra-doc link warnings across the workspace are fixed and this can
# block merges instead of only reporting.
- name: Doc lints
env:
RUSTDOCFLAGS: -D rustdoc::broken_intra_doc_links
run: cargo doc --workspace --no-deps
continue-on-error: true

# TODO: drop `continue-on-error` once the existing unused-dependency
# findings across the workspace are cleaned up and this can block
# merges instead of only reporting.
- name: Unused dependencies
uses: bnjbvr/cargo-machete@main
continue-on-error: true

- name: Compute next version
id: version
Expand Down
67 changes: 7 additions & 60 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 16 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,24 @@ version = "2.1.2"
edition = "2024"
license = "GPL-3.0-only"
repository = "https://github.com/tinyhumansai/tinyagents"
rust-version = "1.88"

[workspace.dependencies]
anyhow = "1"
async-trait = "0.1"
chrono = { version = "0.4", features = ["serde"] }
futures = "0.3"
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
rusqlite = { version = "0.40", features = ["bundled"] }
serde = { version = "1", features = ["derive", "rc"] }
serde_json = "1"
tempfile = "3"
tokio = { version = "1", default-features = false, features = ["macros", "rt-multi-thread"] }
tracing = "0.1"
uuid = { version = "1", features = ["v4"] }

[workspace.lints.rust]
unsafe_code = "allow"
unsafe_code = "deny"

[workspace.lints.clippy]
all = { level = "warn", priority = -1 }
Expand Down
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,16 @@ TinyAgents is a Cargo workspace, not one crate. Depend on the pieces you need:
agents, graphs, and routers), plus an offline model price/capability catalog.
- **`tinyagents-session`** — a SQLite-backed store for session history,
messages, tool calls, cost, and run lineage.
- **`tinyagents-definition`** — the host-owned agent definition vocabulary:
identity, description, declared model/tools/delegates, and a read-only
catalogue seam. Authorization, prompt construction, and execution stay with
the host and harness.
- **`tinyagents-runtime`** — host-neutral stateful turns over the harness and
append-only transcript seam; hosts retain policy, prompt composition,
authorization, and durable-dialect conversion.
- **`tinyagents-tracing`** — the `tracing` macros the other crates gate behind
their `tracing` feature. Compiled out by default.
- **`tinyagents-orchestration`** — host-neutral composition of durable
multi-agent work (teams and workflows) over the graph, harness, and session
layers; depends one-way on those crates and stays host-free.
- **`tinyagents-integration-tests`** — cross-crate tests and the runnable
examples referenced below (not published, workspace-internal).

Expand Down
6 changes: 5 additions & 1 deletion ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,11 @@ build toward a production-grade Rust agent runtime.
- expand live (network-gated) provider contract tests as new
OpenAI-compatible endpoints are added
- track and close the internal SDK feature-parity backlog in
[`docs/sdk-gaps.md`](docs/sdk-gaps.md)
[`docs/sdk-gaps/README.md`](docs/sdk-gaps/README.md)
- execute the phased plan in
[`docs/runtime-comparison/plan.md`](docs/runtime-comparison/plan.md), which
ranks the correctness fixes and feature gaps found by comparing TinyAgents
with LangGraph, Pydantic AI and pi

## Parallel Agents And Sub-Agents

Expand Down
4 changes: 4 additions & 0 deletions build.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Compiling tinyagents-harness v2.1.2 (/home/enamakel/work/tinyagents/worktrees/runtime-comparison/crates/tinyagents-harness)
Compiling tinyagents-language v2.1.2 (/home/enamakel/work/tinyagents/worktrees/runtime-comparison/crates/tinyagents-language)
Compiling tinyagents-graph v2.1.2 (/home/enamakel/work/tinyagents/worktrees/runtime-comparison/crates/tinyagents-graph)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.79s
8 changes: 5 additions & 3 deletions crates/tinyagents-definition/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,16 @@ version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
description = "Host-owned agent definition contract."

[dependencies]
async-trait = "0.1"
serde = { version = "1", features = ["derive"] }
async-trait = { workspace = true }
serde = { workspace = true }

[dev-dependencies]
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
serde_json = { workspace = true }
tokio = { workspace = true, default-features = true, features = ["macros", "rt-multi-thread"] }

[lints]
workspace = true
30 changes: 18 additions & 12 deletions crates/tinyagents-graph/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,29 +5,35 @@ version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
description = "Durable typed state graphs for TinyAgents."

[dependencies]
anyhow = "1"
async-trait = "0.1"
futures = "0.3"
rusqlite = { version = "0.40", features = ["bundled"], optional = true }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tinyagents-harness = { path = "../tinyagents-harness", version = "2.1.2", default-features = false }
tinyagents-tracing = { path = "../tinyagents-tracing", version = "2.1.2", default-features = false }
anyhow = { workspace = true }
async-trait = { workspace = true }
futures = { workspace = true }
rusqlite = { workspace = true, optional = true }
serde = { workspace = true }
serde_json = { workspace = true }
tinyagents-harness = { path = "../tinyagents-harness", version = "2.1.2", default-features = false, features = [
"langfuse",
] }
tinyinference-llm = { path = "../../vendor/tinyinference/crates/tinyinference-llm", version = "0.3.0" }
tinytools = { path = "../../vendor/tinytools/crates/tinytools", version = "0.3.0" }
tokio = { version = "1", default-features = false, features = ["sync", "time", "macros", "rt", "rt-multi-thread", "fs"] }
tokio = { workspace = true, features = ["sync", "time", "macros", "rt", "rt-multi-thread", "fs"] }
tracing = { workspace = true }

[features]
default = []
sqlite = ["dep:rusqlite"]
tracing = ["tinyagents-harness/tracing", "tinyagents-tracing/tracing"]
# Tracing instrumentation is now always compiled in (via the `tracing` crate
# dependency above). This feature is retained as a no-op so downstream
# feature forwards keep compiling.
tracing = ["tinyagents-harness/tracing"]

[dev-dependencies]
tempfile = "3"
tokio = { version = "1", features = ["macros", "rt-multi-thread", "time", "test-util"] }
tempfile = { workspace = true }
tokio = { workspace = true, default-features = true, features = ["macros", "rt-multi-thread", "time", "test-util"] }

[lints]
workspace = true
Loading
Loading