Skip to content
This repository was archived by the owner on Sep 23, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ readme = "README.md"
requires-python = ">=3.12"
classifiers = ["Development Status :: 7 - Inactive"]
dependencies = [
"agent-client-protocol==0.8.0",
"agent-client-protocol==0.12.1",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 ACP initialization always crashes

Every kimi acp connection makes initialize access the removed acp.schema.AuthMethod. The server fails before returning its handshake.

Learn more

Version 0.12.1 replaced the old generic authentication model with discriminated models such as AuthMethodAgent and TerminalAuthMethod. The first initialize request executes that construction, so the failure occurs for every multi-session ACP connection. Later code also reads the old metadata shape when preparing authentication errors.

Example: An IDE launches kimi acp and sends initialize. ACPServer.initialize() evaluates acp.schema.AuthMethod(...), raises AttributeError, and returns no InitializeResponse.

Recommended fix: Migrate _auth_methods and its error serialization to the 0.12.1 authentication schema. Use the appropriate discriminated auth model and pass its required fields directly instead of encoding terminal authentication inside _meta.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 ACP sessions cannot be created

Authenticated new_session and resume_session access removed SessionModelState and ModelInfo classes. Both requests fail before returning session state.

Learn more

ACP 0.12.1 replaced the response models field with config_options and removed the old model-selection classes. Both new_session and resume_session still build the old response. The existing set_session_model handler is also no longer routed because the SDK now dispatches session/set_config_option.

Example: A logged-in client completes initialization and calls session/new. Session setup succeeds, but response construction looks up acp.schema.SessionModelState, raises AttributeError, and leaves the client without a usable session.

Recommended fix: Represent model choices as a model-category SessionConfigOptionSelect in config_options. Replace set_session_model with set_config_option, validate the model config ID and selected value, and return the new response type.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

"aiofiles>=24.0,<26.0",
"aiohttp==3.13.3",
"typer==0.21.1",
Expand Down
126 changes: 63 additions & 63 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading