feat: ACP - stream bash output and synthetic pending events#14079
feat: ACP - stream bash output and synthetic pending events#14079Hona merged 4 commits intoanomalyco:devfrom
Conversation
Stream running bash output snapshots to the frontend via ACP tool_call_update, with dedup to avoid sending identical content. Emit a synthetic pending event when a tool jumps straight to running without a prior pending.
|
The following comment was made by an LLM, it may be inaccurate: Based on the search results, I found a potential duplicate: Related PR: feat(acp): stream bash tool output during execution - PR #13589 Why it's related: This PR (#13589) appears to address the same feature - streaming bash tool output during execution for ACP. It overlaps significantly with the goals of PR #14079, which also aims to stream bash output. You should verify whether these are addressing the same issue or if they have complementary/conflicting changes. |
IMO (as far as I understand the acp sdk) for updates we should prefer content to rawOutputs (which are used for completed / failed state) |
|
/review |
|
Hm u do have some merge conflicts it looks like |
|
lgtm |
…bash-content # Conflicts: # packages/opencode/src/acp/agent.ts
sry was away, merged dev |
|
/review |
|
lgtm |
|
looks good to me @noamzbr
is there validity to this? |
yes seems valid. Will open a followup pr |
|
yeah checks out - please ping me I'll review for you :D |
Here it is #14916 Bun 404 seem unrelated.. |
…o#14079) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
…o#14079) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
…o#14079) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>


closes #13338
What does this PR do?
@rekram1-node I'll be honest, I initially set out to do only 1 (this is what the issue is about), but while doing so I saw that 2 and 3 also are required to get a really good experience with acp across live streaming and reply:
Item 4, the dedup, is not really a must it just prevents emitting many heavy updates that are the same when bash hits the length limit opencode defines. LMK if you want me to drop it. I will strongly recommend keeping 2 & 3 (our client depends on them, and I expect them to be useful and protocol-correct for other clients)
How did you verify your code works?