Skip to content

adapter:qwen-acp

FieldValue
Prefixadapter:qwen-acp
Namespace constantQwenAcpNamespace
Subjects constantQwenAcpSubjects
Kindadapter
Schema recordqwenAcpSchemas
Tierframework
Package@makaio/adapter-qwen-acp
Defined inadapters/implementations/qwen-acp/src/namespaces/index.ts
KeyWireTypeSchema
permission_requestadapter:qwen-acp.permission_requestrpctool-approval.ts
session_update_context_windowadapter:qwen-acp.session_update_context_windowevent
session_update_message_chunkadapter:qwen-acp.session_update_message_chunkevent
session_update_thought_chunkadapter:qwen-acp.session_update_thought_chunkevent
session_update_tool_calladapter:qwen-acp.session_update_tool_callevent
session_update_tool_call_updateadapter:qwen-acp.session_update_tool_call_updateevent
session_update_usageadapter:qwen-acp.session_update_usageevent
turn_finishedadapter:qwen-acp.turn_finishedevent
turn_startedadapter:qwen-acp.turn_startedevent
turn_state_changedadapter:qwen-acp.turn_state_changedevent
turn_step_finishedadapter:qwen-acp.turn_step_finishedevent
turn_step_startedadapter:qwen-acp.turn_step_startedevent
turn_text_completedadapter:qwen-acp.turn_text_completedevent

Scoped tool approval schema for adapter connector buses.

sessionId is optional here because the connector emits the approval request before the agent layer has enriched it. The agent’s wireToolApprovalRpc (or equivalent) injects sessionId from its own context before forwarding to the global AgentSubjects.toolApprove subject, where sessionId is required.

Adapters with a genuinely different wire format (e.g., gemini-sdk’s callId/name) should define their own schema rather than extending this one.

Subject: adapter:qwen-acp.permission_request Type: Request (RPC)

Request:

FieldTypeRequired
adapterIdstringyes
adapterNamestringyes
adapterSessionIdstringyes
agentIdstringyes
argsRecord<string, unknown> | undefinedno
clientIdstring | undefinedno
messageIdstring | undefinedno
occurredAtnumber | undefinedno
providerConfigIdstring | undefinedno
reasoningstring | undefinedno
sessionIdstring | undefinedno
toolCallIdstringyes
toolNamestring | undefinedno
turnIdstring | undefinedno

Response:

FieldTypeRequired
action"allow" | "deny"yes

adapter:qwen-acp.session_update_context_window (event)

Section titled “adapter:qwen-acp.session_update_context_window (event)”

Emitted when the ACP usage_update notification is received, carrying the full context-window capacity and current occupancy.

size is the model’s context window limit in tokens. used is the number of tokens currently occupying the context.

Subject: adapter:qwen-acp.session_update_context_window Type: Event

FieldTypeRequired
sizenumberyes
timestampnumberyes
usednumberyes

adapter:qwen-acp.session_update_message_chunk (event)

Section titled “adapter:qwen-acp.session_update_message_chunk (event)”

Streaming text delta from the model’s response message.

Subject: adapter:qwen-acp.session_update_message_chunk Type: Event

FieldTypeRequired
deltastringyes
timestampnumberyes

adapter:qwen-acp.session_update_thought_chunk (event)

Section titled “adapter:qwen-acp.session_update_thought_chunk (event)”

Streaming text delta from the model’s internal reasoning/thinking.

Subject: adapter:qwen-acp.session_update_thought_chunk Type: Event

FieldTypeRequired
deltastringyes
timestampnumberyes

adapter:qwen-acp.session_update_tool_call (event)

Section titled “adapter:qwen-acp.session_update_tool_call (event)”

Emitted when the model initiates a tool call.

Subject: adapter:qwen-acp.session_update_tool_call Type: Event

FieldTypeRequired
kindstring | undefinedno
rawInputunknownno
timestampnumberyes
titlestringyes
toolCallIdstringyes

adapter:qwen-acp.session_update_tool_call_update (event)

Section titled “adapter:qwen-acp.session_update_tool_call_update (event)”

Emitted when a tool call completes or its status changes.

Subject: adapter:qwen-acp.session_update_tool_call_update Type: Event

FieldTypeRequired
rawOutputunknownno
statusstring | undefinedno
timestampnumberyes
toolCallIdstringyes

adapter:qwen-acp.session_update_usage (event)

Section titled “adapter:qwen-acp.session_update_usage (event)”

Emitted with token usage information from agent_message_chunk._meta.usage.

Fields mirror the Qwen Code ACP agent’s per-turn usage payload: inputTokens, outputTokens, totalTokens, thoughtTokens, cachedReadTokens.

Subject: adapter:qwen-acp.session_update_usage Type: Event

FieldTypeRequired
cachedReadTokensnumber | undefinedno
inputTokensnumber | undefinedno
outputTokensnumber | undefinedno
thoughtTokensnumber | undefinedno
timestampnumberyes
totalTokensnumber | undefinedno

Emitted when an agent turn ends (normally or via error).

Subject: adapter:qwen-acp.turn_finished Type: Event

FieldTypeRequired
agentIdstringyes
stopReasonstring | undefinedno
timestampnumberyes

Emitted when a new agent turn begins.

Subject: adapter:qwen-acp.turn_started Type: Event

FieldTypeRequired
agentIdstringyes
timestampnumberyes

adapter:qwen-acp.turn_state_changed (event)

Section titled “adapter:qwen-acp.turn_state_changed (event)”

Emitted on each state transition within a turn’s state machine.

Subject: adapter:qwen-acp.turn_state_changed Type: Event

FieldTypeRequired
agentIdstringyes
newStatestringyes
previousStatestringyes
timestampnumberyes

adapter:qwen-acp.turn_step_finished (event)

Section titled “adapter:qwen-acp.turn_step_finished (event)”

Emitted when a discrete step within a turn finishes.

Subject: adapter:qwen-acp.turn_step_finished Type: Event

FieldTypeRequired
agentIdstringyes
stepTypestringyes
timestampnumberyes

adapter:qwen-acp.turn_step_started (event)

Section titled “adapter:qwen-acp.turn_step_started (event)”

Emitted when a discrete step within a turn starts (e.g., tool call, generation).

Subject: adapter:qwen-acp.turn_step_started Type: Event

FieldTypeRequired
agentIdstringyes
stepTypestringyes
timestampnumberyes

adapter:qwen-acp.turn_text_completed (event)

Section titled “adapter:qwen-acp.turn_text_completed (event)”

Emitted by the connector after a prompt turn completes successfully.

Carries the full accumulated text so the agent can forward it to AgentSubjects.message for session persistence. Emitted directly by the connector via bus.emit(), so agentId must be included explicitly (same pattern as turn lifecycle events).

Subject: adapter:qwen-acp.turn_text_completed Type: Event

FieldTypeRequired
agentIdstringyes
textstringyes
timestampnumberyes

Auto-generated by yarn docs:bus. Do not edit manually.