Repository navigation
Allow local ACP providers (or an API) to post assistant messages into a thread after the turn has settled #28030
max-metaplanet
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Use case
We run long-lived coding agents outside T3 and want each one visible as its own T3 thread on desktop, with status updates appearing as they happen (for example "tests passed", "PR opened", "blocked on a decision").
The updates originate outside any user prompt, so they need a way into the thread after the previous turn has finished.
What we tried (T3 v0.1.5)
We registered a small deterministic agent as an ACP Registry provider with
source: local, on an isolated T3 instance, and checked the desktop UI andt3 thread show --jsonafter each step.end_turn; status completed, no active run).session/updatewithagent_message_chunk;tool_call/tool_call_updatefollowed by anagent_message_chunk;state_updaterunning, anagent_message_chunk, thenstate_updateidle.Example late notification:
{"jsonrpc":"2.0","method":"session/update","params":{"sessionId":"<session>","update":{"sessionUpdate":"agent_message_chunk","content":{"type":"text","text":"Worker tests passed after the previous turn completed.\n"}}}}Why (from the v0.1.5 source)
packages/provider-acp/src/server/adapter.tsis gated on the adapter flavor'senablePostSettleContinuation(around L1366).packages/provider-acp-registry/src/server/adapter.ts(around L211-290) does not set it for generic local providers, and there is no setting inpackages/provider-acp-registry/src/settings.tsto enable it.Request
Either of these would cover it:
source: localentries) that enables post-settle continuation, so an ACP provider can add assistant output to its thread after a turn settles, with the thread returning to idle afterwards.t3 thread append <thread> --role assistant <text>.Our current workaround is to send each update as a user prompt that the deterministic provider echoes back. That works, but every update appears as a prompt-and-reply pair, which doubles the clutter.
Happy to test a build or help with a PR if a direction is preferred.
All reactions