Skip to content

v0.9.9

Choose a tag to compare

@RobotSe7en RobotSe7en released this 07 Sep 07:55
· 23 commits to main since this release

Highlights

  • Preserve status, excerpts and recovery information for every tool result; save originals before display truncation, including results below the inline storage threshold.
  • Share result budgeting across ToolAgent, DAG planner/validator observations and review continuations; retain result indexes across context compaction.
  • Capture shell output with bounded memory and a configurable shared 64 MiB limit. Add character windows to read_file and pagination to grep and list_files.
  • Default unknown model context windows to 128K. Recognize documented DeepSeek official model limits without applying them to private vLLM or third-party endpoints.
  • Fix aggregate file results inheriting child window metadata and long-path file results incorrectly exceeding their reservation budget.

Behavior changes and migration

  • Total tool-result display budget defaults to 16,384 tokens; the per-result limit remains 2,048. Set max_total_tool_result_tokens=8192 to retain the old total.
  • Set context_window_tokens=32768 to retain the previous unknown-model fallback. Existing checkpoint policies remain explicit and unchanged.
  • Public capability IDs and structured value shapes are unchanged. Optional retention/reference fields and model-visible result formatting are new; older SDKs are not guaranteed to accept new checkpoint fields. Internal built-in handlers return ToolOutput.
  • Enable tool.read_file and permit the result directory for recovery. No capabilities or permissions are automatically expanded.
  • Text-storage failures warn without changing tool execution status. Required value/artifact storage failures stop dependent execution; unrecoverable DAG results do not expose a checkpoint.

Verification and known limitations

  • Full Python suite: 1164 passed, 3 skipped.
  • Wheel and sdist built successfully; Twine metadata checks passed.
  • Two real MiniMax tests require opt-in; one Docker integration test requires a running daemon and was skipped locally.
  • Recovery requires retained workspace files and reading permissions. Remote MCP content discarded before SDK receipt cannot be recovered. Hosts own disk quotas, retention and cleanup; shell capture limits apply per invocation.

See the English migration notes and 中文迁移说明.