mirror of
https://github.com/MoonshotAI/kimi-code.git
synced 2026-08-04 14:02:22 +00:00
* fix(acp): preserve cancels that arrive before the turn id is known A session/cancel landing between prompt submission and the launch round-trip found driver.turnId undefined and was dropped entirely; the turn then ran to completion and the prompt resolved end_turn despite the client's cancel. The engine's cancel payload makes turnId optional (an empty call cancels the active turn — the same contract kap-server's cancel route relies on), so cancel() now issues an unaddressed cancel in that window and flags the driver; the launch handler re-issues a precisely addressed cancel once the id lands, and a no-launch outcome settles cancelled instead of end_turn. * fix(agent-core-v2): shut session MCP overlays down on service teardown The ephemeral per-session MCP overlay was only shut down by the session handle's dispose wrapper, but the DI container disposes session scopes directly on workspace/app teardown, bypassing the wrapper — so overlays of sessions still live at shutdown leaked their MCP connections and stdio child processes. Track live overlays in the lifecycle service: the handle wrapper deletes-then-shuts-down (atomic, so close and service disposal can never double-shutdown), and the service's own dispose shuts down whatever is still tracked. * feat(acp-server): bridge questions via elicitation and support host slash commands - route AskUserQuestion through `elicitation/create` for form-capable clients (native multi-question + multi-select), falling back to the `request_permission` bridge on RPC failure - add a `slashCommands` resolver option so hosts can merge their own command palette and skill aliases into `available_commands_update`; `/help` now lists the merged palette - bridge `appendText`/`writeBytes` through client text capabilities (read-modify-write append, UTF-8-checked byte writes) with local filesystem fallbacks - defer `available_commands_update` until after the lifecycle response settles so clients like Zed do not drop the notification - propagate plan-toggle errors from `setMode` instead of silently reporting the new mode; make server `close()` idempotent * style(acp-server): satisfy oxlint eqeqeq and await-thenable rules * test(node-sdk): assert v1-v2 tokenCount parity for imports after eager counting |
||
|---|---|---|
| .. | ||
| auth-facade.test.ts | ||
| catalog.test.ts | ||
| config.test.ts | ||
| create-session-transport.test.ts | ||
| export-session.test.ts | ||
| kimi-code-model-provider.test.ts | ||
| kimi-harness.test.ts | ||
| list-sessions.test.ts | ||
| local-logging.test.ts | ||
| mcp-config.test.ts | ||
| rename-session.test.ts | ||
| runtime-provider-identity.test.ts | ||
| runtime-provider-oauth.test.ts | ||
| sdk-rpc-client-v2.test.ts | ||
| session-approval-handler.test.ts | ||
| session-background-tasks.test.ts | ||
| session-cancel.test.ts | ||
| session-context.test.ts | ||
| session-event-types.test.ts | ||
| session-event-wiring.test.ts | ||
| session-goal.test.ts | ||
| session-plan-compact-usage-resume.test.ts | ||
| session-prompt-events.test.ts | ||
| session-prompt-input.test.ts | ||
| session-question-handler.test.ts | ||
| session-runtime-helpers.ts | ||
| session-set-model.test.ts | ||
| session-set-permission.test.ts | ||
| session-set-thinking.test.ts | ||
| session-skills.test.ts | ||
| session-steer.test.ts | ||
| telemetry.ts | ||
| test-identity.ts | ||
| v1-v2-parity.test.ts | ||