Summary
@tanstack/ai-claude-code doesn't stream tool-call arguments. Its stream translator handles only text_delta and thinking_delta, so a tool call surfaces only once it's complete. This is the sole blocker for streaming structured output while using the Claude Code harness.
Request
Forward the Agent SDK's partial tool-input events as AG-UI TOOL_CALL_ARGS deltas — the same way @tanstack/ai-anthropic / @tanstack/ai-openai already stream tool args.
Details
@tanstack/ai-claude-code (0.2.0) is built on @anthropic-ai/claude-agent-sdk. With includePartialMessages: true, the SDK already emits partial tool input:
content_block_delta → delta.type: "input_json_delta" (partial_json fragments)
But the adapter's stream/translate.js has cases only for text_delta and thinking_delta — there is no input_json_delta case, so those fragments are dropped and tool calls arrive whole. (structuredOutput() also throws "not yet supported — use a model adapter".)
Why it matters
Routing structured data through a tool call is the only streaming path on the Claude Code harness (subscription auth + native file tools). Today that metadata paints atomically at run end; forwarding input_json_delta would let it stream token-by-token. It would also be the foundation for a real supportsCombinedToolsAndSchema / structuredOutputStream on this adapter (wire outputSchema through a forced tool call and stream its args) — bringing the harness adapter to parity with the model adapters for streaming structured output.
Environment
@tanstack/ai-claude-code 0.2.0 (latest; only 0.1.0 / 0.2.0 published)
@tanstack/ai 0.39.x
Summary
@tanstack/ai-claude-codedoesn't stream tool-call arguments. Its stream translator handles onlytext_deltaandthinking_delta, so a tool call surfaces only once it's complete. This is the sole blocker for streaming structured output while using the Claude Code harness.Request
Forward the Agent SDK's partial tool-input events as AG-UI
TOOL_CALL_ARGSdeltas — the same way@tanstack/ai-anthropic/@tanstack/ai-openaialready stream tool args.Details
@tanstack/ai-claude-code(0.2.0) is built on@anthropic-ai/claude-agent-sdk. WithincludePartialMessages: true, the SDK already emits partial tool input:But the adapter's
stream/translate.jshas cases only fortext_deltaandthinking_delta— there is noinput_json_deltacase, so those fragments are dropped and tool calls arrive whole. (structuredOutput()also throws "not yet supported — use a model adapter".)Why it matters
Routing structured data through a tool call is the only streaming path on the Claude Code harness (subscription auth + native file tools). Today that metadata paints atomically at run end; forwarding
input_json_deltawould let it stream token-by-token. It would also be the foundation for a realsupportsCombinedToolsAndSchema/structuredOutputStreamon this adapter (wireoutputSchemathrough a forced tool call and stream its args) — bringing the harness adapter to parity with the model adapters for streaming structured output.Environment
@tanstack/ai-claude-code0.2.0 (latest; only 0.1.0 / 0.2.0 published)@tanstack/ai0.39.x