Skip to content

Commit dfe6854

Browse files
agents: prepare the 0.6.6 change log (#1808)
1 parent 12538b4 commit dfe6854

8 files changed

Lines changed: 69 additions & 76 deletions

‎agents/CHANGELOG.md‎

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,72 @@ All twenty-six published Dex agents packages share this changelog and one versio
44
release is tagged `agents/v<version>`. See [README.md](README.md#versions-and-compatibility)
55
for the Dex SDK and framework versions each release supports.
66

7+
## 0.6.6 (2026-11-13)
8+
9+
### Breaking
10+
11+
- `@superdurable/dex-agents-claude-agent-sdk`: `ClaudeAgentRunner` now
12+
implements `AgentFrameworkRunner<DeferredToolOutcome>`, and its
13+
`executeDeferredToolCall` returns `Promise<DeferredToolOutcome>` instead of
14+
`Promise<ToolExecutionResult>`. `createClaudeAgentSessionFlow` returns
15+
`AgentSessionFlow<ClaudeAgentRunner>` instead of `AgentSessionFlow`, as
16+
`createBuiltinAgentSessionFlow` returns `AgentSessionFlow<BuiltinLoopAgentRunner>`.
17+
Code that annotates the Flow as a bare `AgentSessionFlow` no longer
18+
compiles: drop the annotation, or write
19+
`AgentSessionFlow<ClaudeAgentRunner>`. A parameter that takes the Flow of
20+
any adapter can use `AgentSessionFlow<AgentFrameworkRunner<DeferredToolOutcome>>`.
21+
A subclass that overrides `executeDeferredToolCall` declares
22+
`Promise<DeferredToolOutcome>`, and code that reads `.output` from its
23+
result first checks that the outcome has no `kind`.
24+
25+
### Added
26+
27+
- Python Claude Agent SDK adapter: `ClaudeAgentRunner` polls and cancels the
28+
tool tasks of its tool sources. A source call that returns
29+
`ToolTaskStarted` waits for its task: `poll_tool_task` polls it through the
30+
source on a Timer, and the resumed Claude session receives its result.
31+
`cancel_turn` cancels the task through the source's `cancel_tool_task`
32+
and records the call `outcome_unknown`. Before, such a call recorded `failed`
33+
for a `read` tool and `outcome_unknown` otherwise. `McpToolSource` now sees
34+
`supports_tool_tasks` set, so it hands the tasks of a Streamable HTTP
35+
server to the session to poll instead of finishing them inside the tool
36+
Step.
37+
A task that a tool Step was already polling when its Worker upgrades stays
38+
in that tool Step: a retried CallTool attempt resumes it from the heartbeat
39+
checkpoint, and if the server no longer knows the task, that attempt sends
40+
the call again with the same idempotency key. Only calls made after the
41+
upgrade hand their tasks to the session.
42+
- `@superdurable/dex-agents-claude-agent-sdk`: `ClaudeAgentRunner` polls and
43+
cancels the tool tasks of its tool sources through the new `pollToolTask`
44+
and `cancelToolTask`. A source call that returns `ToolTaskStarted` waits
45+
for its task: the session polls it through the source on a Timer, and the
46+
resumed Claude session receives its result. `cancel_turn` records the call
47+
`outcome_unknown` and cancels the task through the source. A source call
48+
that returns `ToolInputRequested` waits for the user's answer, and the
49+
source runs the call again with it, as in the Python adapter. Before, a call
50+
that started a task recorded `failed` for a `read` tool and
51+
`outcome_unknown` otherwise, and a call that asked a question recorded
52+
`failed`. `McpToolSource` now sees `supportsToolTasks` set, so it hands the
53+
tasks of a Streamable HTTP server to the session to poll instead of
54+
finishing them inside the tool Step. A task that a tool Step was already
55+
polling when its Worker upgrades stays in that tool Step: a retried
56+
`CallTool` attempt resumes it from the heartbeat checkpoint, and if the
57+
server no longer knows the task, that attempt sends the call again with the
58+
same idempotency key. Only calls made after the upgrade hand their tasks to
59+
the session. The `dex-agents-claude-sdk` command gets the same behavior for
60+
its MCP servers and connector tools.
61+
62+
### Changed
63+
64+
- `dex-agents`: `McpToolSource` marks the heartbeat checkpoint of a task it
65+
hands to the session with `mcp_task_polled_by_session`, as the TypeScript
66+
source does. A retried `CallTool` attempt returns the saved task as
67+
`ToolTaskStarted` only when the checkpoint carries the marker, and
68+
`will_resume_tool_task_without_sending` is `True` only then. A task saved
69+
without it was polled inside its tool Step, so the retried attempt keeps
70+
polling it there and sends the call again with the same idempotency key
71+
when the server no longer knows the task.
72+
773
## 0.6.5 (2026-11-13)
874

975
### Fixed

‎changelog.d/agents-packages/agents-python-claude-tool-tasks-017882.md‎

Lines changed: 0 additions & 11 deletions
This file was deleted.

‎changelog.d/agents-packages/agents-python-claude-tool-tasks-397ea5.md‎

Lines changed: 0 additions & 18 deletions
This file was deleted.

‎changelog.d/agents-packages/agents-ts-claude-tool-tasks-af069b.md‎

Lines changed: 0 additions & 22 deletions
This file was deleted.

‎changelog.d/agents-packages/agents-ts-claude-tool-tasks-breaking-e1a6b0.md‎

Lines changed: 0 additions & 16 deletions
This file was deleted.

‎changelog.d/agents/agents-ts-claude-tool-tasks-12e57c.md‎

Lines changed: 0 additions & 4 deletions
This file was deleted.

‎changelog.d/agents/agents-ts-claude-tool-tasks-breaking-0de2d0.md‎

Lines changed: 0 additions & 4 deletions
This file was deleted.

‎docs/reference/agents/changelog.mdx‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,13 @@ and upgrade steps.
1616

1717
## 0.6 {#v0-6}
1818

19-
Released 2026-11-12 as [agents/v0.6.0](https://github.com/superdurable/dex/releases/tag/agents%2Fv0.6.0); 0.6.1 released 2026-11-12 as [agents/v0.6.1](https://github.com/superdurable/dex/releases/tag/agents%2Fv0.6.1); 0.6.2 released 2026-11-12 as [agents/v0.6.2](https://github.com/superdurable/dex/releases/tag/agents%2Fv0.6.2); 0.6.3 released 2026-11-13 as [agents/v0.6.3](https://github.com/superdurable/dex/releases/tag/agents%2Fv0.6.3); 0.6.4 released 2026-11-13 as [agents/v0.6.4](https://github.com/superdurable/dex/releases/tag/agents%2Fv0.6.4); 0.6.5 released 2026-11-13 as [agents/v0.6.5](https://github.com/superdurable/dex/releases/tag/agents%2Fv0.6.5).
19+
Released 2026-11-12 as [agents/v0.6.0](https://github.com/superdurable/dex/releases/tag/agents%2Fv0.6.0); 0.6.1 released 2026-11-12 as [agents/v0.6.1](https://github.com/superdurable/dex/releases/tag/agents%2Fv0.6.1); 0.6.2 released 2026-11-12 as [agents/v0.6.2](https://github.com/superdurable/dex/releases/tag/agents%2Fv0.6.2); 0.6.3 released 2026-11-13 as [agents/v0.6.3](https://github.com/superdurable/dex/releases/tag/agents%2Fv0.6.3); 0.6.4 released 2026-11-13 as [agents/v0.6.4](https://github.com/superdurable/dex/releases/tag/agents%2Fv0.6.4); 0.6.5 released 2026-11-13 as [agents/v0.6.5](https://github.com/superdurable/dex/releases/tag/agents%2Fv0.6.5); 0.6.6 released 2026-11-13 as [agents/v0.6.6](https://github.com/superdurable/dex/releases/tag/agents%2Fv0.6.6).
2020

2121
### Breaking
2222

2323
- **dex-agents-deepagents**: file writes and shell commands no longer wait for approval by default, as in Deep Agents without **interrupt_on**. Name the tool in **approval.always** to make it wait. **local_tools.shell.allow** has no effect on this command, and its file tools are Deep Agents' own, which take absolute paths. [Reference](/reference/agents/cli#harness-tools).
2424
- **dex-agents-pi**: file writes, edits, and **bash** no longer wait for approval by default, as in Pi. Name the tool in **approval.always** to make it wait. **local_tools.shell.allow** has no effect on this command. The file tools and **bash** have no workspace boundary. Without **workspace** in the file, the workspace is the directory the command starts in. [Reference](/reference/agents/cli#harness-tools).
25+
- TypeScript Claude Agent SDK adapter: **createClaudeAgentSessionFlow** now returns an **AgentSessionFlow** typed with **ClaudeAgentRunner**, and the runner's **executeDeferredToolCall** returns a **DeferredToolOutcome**. Code that annotates the Flow as a plain **AgentSessionFlow** no longer compiles. Drop the annotation, or type it with **ClaudeAgentRunner** as the built-in agent loop's Flow is typed with **BuiltinLoopAgentRunner**. Since 0.6.6.
2526

2627
### Added
2728

@@ -48,6 +49,7 @@ Released 2026-11-12 as [agents/v0.6.0](https://github.com/superdurable/dex/relea
4849
RPCs and the **SessionTerminalLease** Attribute, which mark the terminal that
4950
has the session open. Since 0.6.3.
5051
- Python and TypeScript CLI commands: the new **mcp_servers** section of the configuration file adds the tools of remote MCP servers over Streamable HTTP, stateless servers included. The agent sees each tool as **SERVER__TOOL**, and every call waits for approval unless **trust_tool_annotations** lets the server's hints mark the tool a read or an idempotent write. A header value can take its secret from an environment variable reference, which the Worker expands at startup and never prints, logs, or stores; error text that a server sends back, such as an HTTP 401 body or a tool error, has the header values replaced with **[redacted]** on a best-effort basis; an http URL on a host that is not loopback, or an unset variable, stops the command. [Reference](/reference/agents/cli#mcp-servers). Since 0.6.4.
52+
- TypeScript Claude Agent SDK adapter: a tool source call can start a tool task. The session polls it while no Claude Code CLI runs, and the resumed Claude session receives the task's result. **cancel_turn** records the call **outcome_unknown** and cancels the task through its source. A source call can also ask the user a question, as in the Python adapter. Before, such a call recorded **failed**, or **outcome_unknown** for a task of a write. Since 0.6.6.
5153

5254
### Changed
5355

0 commit comments

Comments
 (0)