fix(acp): kimi-code session boot + word-per-paragraph replies#263
Merged
Conversation
Two strict-ACP compatibility fixes surfaced by kimi-code as Cesar brain:
- session-acp: normalize mcpServers to the ACP-spec wire shape before
session/new — stdio entries need args/env as arrays (env as
{name,value} pairs), http/sse entries need url + headers pairs.
Agon's internal Record-shaped env made strict agents (kimi) reject
session/new with -32602 Invalid params, killing the Cesar session
every turn. Malformed entries (http without url, stdio without
command) are skipped instead of emitting undefined required fields.
- companion-dispatch: concatenate consecutive agent_message_chunk
deltas into one message instead of pushing each token separately —
the '\n\n' join rendered kimi fallback replies one word per
paragraph. tool_call updates and item/completed pushes end a chunk
run; the prompt-response text fallback only fires when nothing was
streamed, so it can no longer duplicate the streamed answer.
⚔️ Forged by [Agon](https://github.com/KERNlang/agon)
Co-Authored-By: agon (KERN) <292465531+KERN-Agon@users.noreply.github.com>
3facf1d made the auto policy resolve to fullscreen (alternate screen) for every interactive TTY, which silently killed terminal scrollback for all users: the alt screen has no scrollback, and the transcript no longer sealed into it via Static. Native mode IS the intended default experience — finished blocks spill into real scrollback while the composer/status stay pinned at the bottom. Fullscreen stays available strictly via `agon config terminalMode fullscreen`. ⚔️ Forged by [Agon](https://github.com/KERNlang/agon) Co-Authored-By: agon (KERN) <292465531+KERN-Agon@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two strict-ACP compatibility fixes surfaced by kimi-code as Cesar brain:
session-acp: normalize mcpServers to the ACP-spec wire shape before session/new — stdio entries need args/env as arrays (env as {name,value} pairs), http/sse entries need url + headers pairs. Agon's internal Record-shaped env made strict agents (kimi) reject session/new with -32602 Invalid params, killing the Cesar session every turn. Malformed entries (http without url, stdio without command) are skipped instead of emitting undefined required fields.
companion-dispatch: concatenate consecutive agent_message_chunk deltas into one message instead of pushing each token separately — the '\n\n' join rendered kimi fallback replies one word per paragraph. tool_call updates and item/completed pushes end a chunk run; the prompt-response text fallback only fires when nothing was streamed, so it can no longer duplicate the streamed answer.
⚔️ Forged by Agon