Skip to content

TinyAgents 2.1.3

Latest

Choose a tag to compare

@senamakel senamakel released this 04 Oct 08:48
Immutable release. Only release title and notes can be modified.
v2.1.3
efea56c

What's Changed

  • Take tinyinference's null-tolerant sequence decoder by @senamakel in #138
  • Test prompt caching with DeepSeek V4 Flash by @senamakel in #139
  • feat(session): persist assistant reasoning content by @senamakel in #141
  • docs: retarget README, docs, and wiki at the minimal harness positioning by @senamakel in #140
  • fix(session): serialize concurrent schema migrations by @senamakel in #142
  • fix(select): let a list/search query keep the tools that retrieve what it found by @YellowSnnowmann in #147
  • fix(pformat): tag each argument with its slot number instead of counting empties by @yh928 in #144
  • feat(dialect): honour trusted_verbatim when framing tool results by @yh928 in #145
  • Stamp the effective cache policy onto outgoing requests so prefix protection reaches the wire by @senamakel in #148
  • feat(openai): prompt cache breakpoints, and bump tinytools for ToolExposure by @senamakel in #146
  • chore(deps): update tinytools exposure metadata by @senamakel in #149
  • fix(no_progress): catch successful repeats that are not back to back by @M3gA-Mind in #150
  • Move tool protocols into TinyTools by @senamakel in #153
  • Consume focused TinyInference crates and own prompt-guided providers by @senamakel in #152
  • Migrate the harness to canonical tools and host capabilities by @senamakel in #154
  • Extract session and orchestration runtime crates by @senamakel in #158
  • Restore feature-matrix CI and coverage gate by @senamakel in #159
  • Preserve prompt cache prefixes across harness tool turns by @senamakel in #160
  • Add deep feature and E2E coverage by @senamakel in #161
  • docs: workspace-wide documentation pass (module READMEs, rustdoc, inline comments) by @senamakel in #162
  • chore(deps): drop unused dependencies and bump dirs to 6 by @senamakel in #165
  • chore: ignore Dependabot patch releases by @senamakel in #168
  • harness: defer tool schemas behind a tool_search/tool_call bridge by @senamakel in #163
  • harness: emit DeferredToolCall only for catalogued targets by @senamakel in #169
  • feat(harness): single-owner tool dialects via tinytools-agent by @senamakel in #164
  • feat: add reusable session and subagent runtimes by @senamakel in #170
  • test: cover harness mock e2e capabilities by @senamakel in #172
  • Split run-ledger operations and trim provider dependencies by @senamakel in #173
  • Remove Rhai, REPL, and declarative language surfaces by @senamakel in #176
  • Add 100-agent harness stress profiling by @senamakel in #177
  • chore: update tinyinference provider extensions by @senamakel in #174
  • Refactor harness around host-owned middleware by @senamakel in #175
  • fix(harness): preserve Claude Code mixed content by @senamakel in #157
  • Centralize asynchronous subagent orchestration by @senamakel in #178
  • Runtime comparison + Phases 0–7: correctness, loop control, streaming, durability v2, sessions, toolsets, model profiles by @senamakel in #171
  • Support updated upstream submodule APIs by @senamakel in #179
  • fix: restore orchestration compatibility APIs by @senamakel in #181
  • fix: preserve literal image marker text by @senamakel in #180
  • feat(prompt): per-tier system segments and model-family execution guidance by @senamakel in #183
  • Tool exposure by @senamakel in #186
  • Add Python / TypeScript code-style tool dispatchers by @senamakel in #184
  • feat(discover): pluggable ToolRanker with BM25 fallback and compare mode by @senamakel in #185
  • chore(vendor): tinytools to main (FamilyThenDecide merged) by @senamakel in #189
  • fix(cache): stable layout under text dialects; RunPolicy::host_renders_tool_catalogue by @senamakel in #190
  • feat(graph): session todo list tool (Claude/Codex shape) beside the task board by @senamakel in #191
  • refactor(graph): replace the todos kanban board with a flat todo list by @senamakel in #193
  • test(session): remove workflow lease timing flake by @senamakel in #192
  • ci: isolate optional feature test artifacts by @senamakel in #195
  • fix(graph): restore the todo description's bookkeeping rules lost in #193 by @senamakel in #194
  • chore(deps): bump vendored tinytools for the DSML tool_call tag fix by @senamakel in #196
  • Durable session identity: resume a conversation by id, and stop losing history by @senamakel in #197
  • ci: parallelise the workflow and stop discarding the build cache by @senamakel in #202
  • Session todo list by @senamakel in #200
  • Dsml tool call tag v2 by @senamakel in #199
  • Merge commit '68b0eb0abc490541979d9fa2d869f7b4ee0b2189' into resolve-… by @senamakel in #201
  • Remove declarative RAG language remnants by @senamakel in #203
  • fix(session): stamp every turn step's iteration and order generation chains by @senamakel in #207
  • fix(discover): declare tool_call.arguments as a JSON string so constrained providers stop emptying it by @senamakel in #209
  • Bump TinyTools for DSML parser fixes and add coverage by @senamakel in #205
  • Session stores the tools each turn was sent with and restores them on resume by @senamakel in #206
  • chore(vendor): bump tinytools for parse_replayed_results by @senamakel in #210
  • feat(harness): media feature with GenerateImageTool / GenerateVideoTool by @senamakel in #208
  • feat(harness,session): tool-start input, run-queue snapshot, plan mode, generation fork for edit/regenerate by @senamakel in #211
  • chore: update TinyInference submodule to upstream main by @senamakel in #212
  • fix(cache): distinguish stable prefix changes from history compaction by @senamakel in #213
  • fix(discovery): promote searched tools with typed schemas by @senamakel in #214
  • fix(runtime): identify a transcript locator by destination, not allocation by @sanil-23 in #215
  • fix: ground text tool continuations in the latest request by @senamakel in #216
  • test: cover greeting to deferred email tool continuation by @senamakel in #218
  • Track equivalent classified failures across agent retries by @senamakel in #219
  • Stop stalled narration in streamed model calls by @senamakel in #217
  • Report native Langfuse generation metrics by @senamakel in #220
  • fix: recover transcripts after interrupted writes by @senamakel in #222
  • fix(harness): retry completed replies without visible output by @senamakel in #221
  • fix(harness): let hosts exclude replayed history from user-input screening by @M3gA-Mind in #223
  • fix(agent_loop): nudge when a text-dialect tool block is claimed but undecodable by @M3gA-Mind in #224
  • fix(agent_loop): let tinytools' fence policy decide fenced calls on the unary path by @M3gA-Mind in #225
  • chore(vendor): bump tinytools to 82c0d97 and tinyinference to c29d511, with harness acceptance tests by @M3gA-Mind in #226
  • fix(harness): point unknown-tool calls at tool_search instead of listing every tool by @senamakel in #227
  • fix(todos): tighten the todo tool description by @senamakel in #231
  • feat(harness): ModelSummarizer + fault-tolerant summarizer and thread-title helpers from OpenHuman by @senamakel in #230
  • feat(tools,goals): absorb OpenHuman time/goal tool behaviour so the host copies can go by @senamakel in #229
  • Move host-independent tool helpers from OpenHuman into tinyagents-harness by @senamakel in #228
  • fix: limit todo replacements per response by @senamakel in #232
  • Recover mixed DeepSeek DSML tool calls by @senamakel in #235
  • feat(runtime): host-neutral Cursor-compatible command hooks engine by @senamakel in #237
  • feat(harness): host-agnostic context-ladder middleware and embedding tool ranker by @senamakel in #234
  • feat(session): host-agnostic transcript view, legacy-session importer and turn-state store by @senamakel in #233
  • feat(harness): tool-result artifact persistence and use_skill tool packs (OpenHuman wave 2) by @senamakel in #239
  • Oh stack 6791 by @senamakel in #240
  • fix(session): serialize transcript generation writes across processes by @senamakel in #236
  • Oh stack 6793 by @senamakel in #241
  • Issue/198 by @senamakel in #243
  • Oh extract leaves by @senamakel in #238
  • Oh stack 6797 by @senamakel in #242
  • chore(deps): refresh tinyinference and tinytools to main by @senamakel in #246
  • feat(wrap-up): add fired_for(instance_id) by @senamakel in #247
  • chore(deps): refresh tinytools and tinyinference to main by @senamakel in #248
  • chore(deps): refresh nested tinyinference to main (provider error matchers) by @senamakel in #249
  • fix(session): drop the unsafe MoveFileExW call that breaks Windows builds by @M3gA-Mind in #252
  • chore: bump tinytools (network tools, image_info, workspace_state) by @senamakel in #250
  • feat: wave 4 extraction from OpenHuman (tools, durable run status, trace export, stash, command center, turn-state mirror, steering forwarder) by @senamakel in #251
  • chore(deps): bump tinyinference for Wave 4 inference extraction by @senamakel in #253
  • fix: wave 4 follow-ups (generation spend, clarification options, wait_loop args, residual order) by @senamakel in #254
  • chore(deps): bump tinyinference for endpoint-only local inference by @senamakel in #255
  • chore(deps): bump tinyinference for the shared budget matcher and failure predicates by @senamakel in #258
  • feat(harness): tool-call policy gate with an approval outcome and resolver seam by @senamakel in #256
  • feat(session): role constructors so hosts can use TranscriptMessage directly by @senamakel in #259
  • feat(orchestration): host-neutral detached subagent status, wait, ledger and roster by @senamakel in #257
  • fix(detached): return cancellation ledger write failures by @senamakel in #262
  • chore(deps): bump tinyinference to tinytools-agent 0.5 (single tinytools in the lock) by @senamakel in #260
  • feat(runtime): invoke_agent_streaming keeps the typed HostedError on the streaming path by @senamakel in #261
  • feat(transcript): typed row form for tool calls, results and images (read-both) by @senamakel in #263
  • feat: ToolPolicyGate::evaluate and detached subagent steer/cancel-by-thread by @senamakel in #264
  • feat(harness): carry the timeout bound on HostedError by @senamakel in #265
  • feat(session): typed in-memory transcript row by @senamakel in #266
  • fix(transcript): compare lifted legacy rows by their stored text by @senamakel in #268
  • test: move inline tests into *_tests.rs files by @senamakel in #267
  • test: rename legacy test.rs and *_test.rs files to *_tests.rs by @senamakel in #269
  • feat(harness): RunPolicy::default_reasoning for a run-level thinking level by @senamakel in #271
  • refactor(harness)!: remove the intrinsic tool_call bridge by @senamakel in #272
  • chore(deps): bump tinyinference for Anthropic cache_control on any gateway by @senamakel in #273
  • W5 subagents by @senamakel in #270
  • chore: bump tinytools to latest main by @senamakel in #274
  • fix(harness): bound recovered tool-call ids to 40 characters by @fede-kamel in #275
  • fix(harness): keep tool-call markup out of summaries and tool-less answers by @senamakel in #277
  • feat(artifacts): detached tool-result store that writes outside the working tree by @senamakel in #278
  • fix(harness): persist compaction across calls instead of re-compacting every turn by @senamakel in #276
  • chore(deps): bump vendor/tinytools to latest main (8f18f7fd) by @senamakel in #279
  • fix(harness): drop a replaced host-carried summary; fix ConcatSummarizer rustdoc by @senamakel in #281
  • chore(deps): bump tinyinference for scrub_credentials false-positive fix by @senamakel in #283
  • feat(harness): mid-turn budget notice in FinalCallWrapUpMiddleware by @senamakel in #285
  • feat(harness): one-shot VerifyBeforeFinishMiddleware (spec check before the first final answer) by @senamakel in #290
  • fix(summarization): keep the turn's user message across mid-turn compaction by @senamakel in #288
  • feat(agent-loop): nudge after truncated-empty retries instead of finishing blank by @senamakel in #284
  • feat(harness): tool-result durations and a turn-budget clock (openhuman#6953) by @senamakel in #291
  • feat(harness): push_ephemeral_instruction + profile preview so nudges don't reset DeepSeek's cache (openhuman#6962) by @senamakel in #289
  • feat: improve context compaction and pin TinyInference scrubber by @senamakel in #286
  • fix(harness): keep JSON tool results parseable under duration and turn-clock notes by @senamakel in #292
  • Bench 6952 verify before finish pin by @senamakel in #294
  • fix(harness): compose detached artifacts with thread store by @senamakel in #287
  • Merge tinyagents#285 (0e1b862) onto openhuman's pin f1a1433 by @senamakel in #296
  • Bench 6960 on openhuman main by @senamakel in #295
  • feat(harness): typed task-state compaction, token-budgeted tail, min(80%, 350k) trigger by @senamakel in #282
  • Bench 6962 deepseek cache pin by @senamakel in #293
  • Preserve split task fields and finish conversation review fixes by @senamakel in #297
  • test(summarization): regression test for checkpoint-aware turn-message pin by @senamakel in #300
  • fix(wrap_up): route budget/final nudges through ephemeral placement; verify_before_finish yields to budget notice by @senamakel in #301
  • Allow explicit prefix refresh on resumed sessions by @senamakel in #298
  • Retain generic uploads and durable multimodal references by @senamakel in #302
  • chore: prepare TinyAgents 2.1.3 release by @senamakel in #303

New Contributors

Full Changelog: v2.1.2...v2.1.3