ta
TanStack
OSS
ta
Pipelines
Nx runs
Insights
Compare tasks
Analytics
Sign in
Toggle Sidebar
ai
ai
Pipelines
feat(ai, ai-client, ai-persistence): continue a child by sessionId, and a typed part.subagent.input (#1731) * feat(ai, ai-persistence): one subagent tool with sessionId continue subagents.tool 'single' gives the model one subagent tool that names the agent, takes input or a prompt, continues a stored child by sessionId through the new LoadChild capability, and starts a background child through binding.start. withPersistence provides LoadChild and stores the task and owner thread of each child. * feat(ai, ai-persistence)!: every agent tool takes input fields, drop tool: 'single' Each per-agent tool now takes { input } (agent with inputSchema) or { prompt } (agent without), plus sessionId when a middleware provides LoadChildCapability and background when the host sets binding.start. This replaces the separate `subagents: { tool: 'single' }` mode, so continue and background work on the normal agent tools. - The agent schema sits under `input`. Its refs are rewritten and its definitions move to the top, so recursive schemas still resolve. - A result carries subagentRunId only when the tool takes sessionId. - ai-persistence reads prompt/input from any agent tool call. - Breaking: the tool-call shape changes. New migration page docs/migration/subagent-tool-input.md. * feat(ai, ai-client, ai-persistence): flat agent tool fields and a typed part.subagent.input Agent tools take the agent's own fields again, so the tool-call shape does not change for existing apps. sessionId and background sit next to them, only when the run uses them (a LoadChildCapability middleware, or binding.start). Only then are those names reserved in an inputSchema. - With reserved fields on, a Standard Schema wrapper checks the agent fields in the tool loop, before middleware, as for any tool, and passes the reserved fields through. Without them, the tool uses the agent schema as is. - SUBAGENT_STARTED carries the checked input in metadata.tanstack.subagentInput. ChatClient puts it on the card handle as `input`, typed from the inputSchema of the agent declaration given to useChat({ subagents }). - ai-persistence uses that card input to tell an input agent from a prompt agent when it stores the task and follow-up prompts. - Drop the migration page. The brief docs and the example read part.subagent.input.
nx run-many --targets=build --exclude=examples/**,testing/**
⌘K
feat(ai, ai-client, ai-persistence): continue a child by sessionId, and a typed part.subagent.input (#1731)
Succeeded
in
2m 28s
Started
Linux
4 CPU cores
read-write
access token used
Copy command
nx run-many --targets=build --exclude=examples/**,testing/**
1727
1b1b0bc
GitHub
Open on GitHub
Tasks
Resource Usage
ta
TanStack
OSS