claude-code-acp-ts 0.60.0-beta.1 → 0.62.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/acp-agent.d.ts +49 -0
- package/dist/acp-agent.d.ts.map +1 -1
- package/dist/acp-agent.js +193 -23
- package/package.json +7 -7
package/dist/acp-agent.d.ts
CHANGED
|
@@ -19,6 +19,28 @@ type AccumulatedUsage = {
|
|
|
19
19
|
cachedReadTokens: number;
|
|
20
20
|
cachedWriteTokens: number;
|
|
21
21
|
};
|
|
22
|
+
/** Params of a {@link STEER_METHOD} request. Shaped like the relevant subset of
|
|
23
|
+
* a `PromptRequest` so the same `promptToClaude` conversion applies. Delivery
|
|
24
|
+
* priority is deliberately NOT exposed here — it's an internal detail the agent
|
|
25
|
+
* chooses (see {@link STEER_PRIORITY}). */
|
|
26
|
+
export type SteerRequest = {
|
|
27
|
+
sessionId: string;
|
|
28
|
+
prompt: PromptRequest["prompt"];
|
|
29
|
+
};
|
|
30
|
+
/** Where a steering message was accepted, per the wire protocol's two
|
|
31
|
+
* successful outcomes:
|
|
32
|
+
* - `injected`: a turn was still running and the message was applied to it;
|
|
33
|
+
* - `startedNewTurn`: the turn we meant to steer had already finished (an
|
|
34
|
+
* unavoidable race), so the message began a fresh turn instead of being
|
|
35
|
+
* dropped.
|
|
36
|
+
* Both are success results — never a JSON-RPC error — and tell the client
|
|
37
|
+
* where the message landed. */
|
|
38
|
+
type SteerOutcome = "injected" | "startedNewTurn";
|
|
39
|
+
/** Result of a {@link STEER_METHOD} request: the single required `outcome`
|
|
40
|
+
* field the client reads to learn where its steering message was accepted. */
|
|
41
|
+
export type SteerResponse = {
|
|
42
|
+
outcome: SteerOutcome;
|
|
43
|
+
};
|
|
22
44
|
/** Internal model-selection state. Mirrors the shape the ACP SDK exposed as
|
|
23
45
|
* `SessionModelState` before model selection moved entirely into
|
|
24
46
|
* `SessionConfigOption` (category "model"). Retained internally to track the
|
|
@@ -476,6 +498,8 @@ export type ToolUpdateMeta = {
|
|
|
476
498
|
toolName: string;
|
|
477
499
|
toolResponse?: unknown;
|
|
478
500
|
parentToolUseId?: string;
|
|
501
|
+
nonExecutionKind?: string;
|
|
502
|
+
userFeedback?: string;
|
|
479
503
|
};
|
|
480
504
|
terminal_info?: {
|
|
481
505
|
terminal_id: string;
|
|
@@ -634,6 +658,30 @@ export declare class ClaudeAcpAgent {
|
|
|
634
658
|
resolveProviderConfig(): ProviderConfig | null;
|
|
635
659
|
logout(_params: LogoutRequest): Promise<void>;
|
|
636
660
|
prompt(params: PromptRequest): Promise<PromptResponse>;
|
|
661
|
+
/** Steer the session per the ACP steering wire protocol: apply a follow-up
|
|
662
|
+
* message to the turn that is currently running, or — if that turn already
|
|
663
|
+
* finished — start a fresh turn with it. Never drops the message and never
|
|
664
|
+
* returns a JSON-RPC error for the "arrived too late" race; both paths are
|
|
665
|
+
* success outcomes (see {@link SteerOutcome}).
|
|
666
|
+
*
|
|
667
|
+
* When a turn is in flight this injects (returns `injected`): unlike
|
|
668
|
+
* `prompt()`, it does NOT create a Turn or enqueue on `turnQueue`; it pushes
|
|
669
|
+
* an `SDKUserMessage` onto the same streaming input, which the SDK routes
|
|
670
|
+
* into the in-flight turn. The injected message's echo carries a uuid that
|
|
671
|
+
* matches no queued turn, so the consumer drops it as an unrelated replay
|
|
672
|
+
* without promoting/settling anything. It is delivered at {@link
|
|
673
|
+
* STEER_PRIORITY} (`now`) so it pre-empts the current generation (interrupting
|
|
674
|
+
* a single-shot response, or slotting in between a multi-step turn's tool
|
|
675
|
+
* calls). The steered message's own output streams via `session/update`, not
|
|
676
|
+
* this response.
|
|
677
|
+
*
|
|
678
|
+
* When the session is idle (no unsettled turn — the turn we meant to steer
|
|
679
|
+
* raced ahead and finished), this starts a normal new turn with the message
|
|
680
|
+
* and returns `startedNewTurn`. That turn is fire-and-forget from the steer
|
|
681
|
+
* request's view: its `PromptResponse` and output flow through the usual
|
|
682
|
+
* `prompt()`/`session/update` path, so we return the outcome immediately
|
|
683
|
+
* rather than awaiting turn completion. */
|
|
684
|
+
steer(params: SteerRequest): Promise<SteerResponse>;
|
|
637
685
|
/** Lazily start the per-session consumer that drains the SDK query stream for
|
|
638
686
|
* the session's whole life. Idempotent: only the first `prompt()` starts it. */
|
|
639
687
|
private ensureConsumer;
|
|
@@ -900,6 +948,7 @@ export declare function toAcpNotifications(content: string | ContentBlockParam[]
|
|
|
900
948
|
emittedToolCalls?: Set<string>;
|
|
901
949
|
messageId?: string;
|
|
902
950
|
toolUseResult?: unknown;
|
|
951
|
+
toolResultMeta?: unknown;
|
|
903
952
|
}): SessionNotification[];
|
|
904
953
|
export declare function streamEventToAcpNotifications(message: SDKPartialAssistantMessage, sessionId: string, toolUseCache: ToolUseCache, client: AcpClient, logger: Logger, options?: {
|
|
905
954
|
clientCapabilities?: ClientCapabilities;
|
package/dist/acp-agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acp-agent.d.ts","sourceRoot":"","sources":["../src/acp-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acp-agent.d.ts","sourceRoot":"","sources":["../src/acp-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/acp-agent.js
CHANGED
|
@@ -48,6 +48,38 @@ const DEFAULT_FORCE_CANCEL_GRACE_MS = 30_000;
|
|
|
48
48
|
* completed/stalled without the host turn resolving (issue #825). */
|
|
49
49
|
const TURN_NO_RESULT_MESSAGE = "The turn ended without a result: the agent went idle while this prompt was still in flight " +
|
|
50
50
|
"(e.g. the model stream dropped mid-turn). Any partial output may be incomplete; please retry.";
|
|
51
|
+
/** Custom (extension) request method a client uses to steer the turn that is
|
|
52
|
+
* currently running: the message is injected into the in-flight turn rather
|
|
53
|
+
* than queued as a separate `session/prompt`. Named `_session/steering` per the
|
|
54
|
+
* agreed ACP steering wire protocol; advertised to clients via the top-level
|
|
55
|
+
* `InitializeResponse._meta.steering.supported`. */
|
|
56
|
+
const STEER_METHOD = "_session/steering";
|
|
57
|
+
/** How urgently the SDK delivers a steered message relative to the running
|
|
58
|
+
* turn — an internal Claude implementation detail, not part of the wire
|
|
59
|
+
* contract. `now` pre-empts the current generation and handles the message
|
|
60
|
+
* immediately (interrupting a single-shot response, or slotting in between a
|
|
61
|
+
* multi-step turn's tool calls). Maps to `SDKUserMessage.priority`; injected
|
|
62
|
+
* steering always uses `now` so the running turn adapts as soon as possible. */
|
|
63
|
+
const STEER_PRIORITY = "now";
|
|
64
|
+
/** Validate raw JSON-RPC params into a {@link SteerRequest}. Kept minimal — the
|
|
65
|
+
* content blocks are handed to `promptToClaude`, which tolerates unknown block
|
|
66
|
+
* types — but `sessionId` and a non-empty `prompt` array are required. */
|
|
67
|
+
function parseSteerRequest(params) {
|
|
68
|
+
if (!params || typeof params !== "object") {
|
|
69
|
+
throw RequestError.invalidParams(undefined, "steer params must be an object");
|
|
70
|
+
}
|
|
71
|
+
const { sessionId, prompt } = params;
|
|
72
|
+
if (typeof sessionId !== "string" || sessionId.length === 0) {
|
|
73
|
+
throw RequestError.invalidParams(undefined, "steer params require a non-empty sessionId");
|
|
74
|
+
}
|
|
75
|
+
if (!Array.isArray(prompt) || prompt.length === 0) {
|
|
76
|
+
throw RequestError.invalidParams(undefined, "steer params require a non-empty prompt array");
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
sessionId,
|
|
80
|
+
prompt: prompt,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
51
83
|
/** Result-message origin kinds that mark an AUTONOMOUS cycle — work the
|
|
52
84
|
* model did on its own (a task-notification followup, a peer/coordinator/
|
|
53
85
|
* observer message it handled) rather than the user's prompt. Absent,
|
|
@@ -596,6 +628,15 @@ export class ClaudeAcpAgent {
|
|
|
596
628
|
...terminalAuthMethods,
|
|
597
629
|
...(supportsGatewayAuth ? [gatewayAuthMethod, gatewayBedrockAuthMethod] : []),
|
|
598
630
|
],
|
|
631
|
+
// Top-level `_meta` (sibling of `agentCapabilities`), per the ACP steering
|
|
632
|
+
// wire protocol: advertises the `_session/steering` extension request so
|
|
633
|
+
// clients know they may inject a follow-up into the running turn (see
|
|
634
|
+
// STEER_METHOD) instead of queuing it as a separate `session/prompt`.
|
|
635
|
+
_meta: {
|
|
636
|
+
steering: {
|
|
637
|
+
supported: true,
|
|
638
|
+
},
|
|
639
|
+
},
|
|
599
640
|
};
|
|
600
641
|
}
|
|
601
642
|
async newSession(params) {
|
|
@@ -847,6 +888,67 @@ export class ClaudeAcpAgent {
|
|
|
847
888
|
this.ensureConsumer(session, params.sessionId);
|
|
848
889
|
return response;
|
|
849
890
|
}
|
|
891
|
+
/** Steer the session per the ACP steering wire protocol: apply a follow-up
|
|
892
|
+
* message to the turn that is currently running, or — if that turn already
|
|
893
|
+
* finished — start a fresh turn with it. Never drops the message and never
|
|
894
|
+
* returns a JSON-RPC error for the "arrived too late" race; both paths are
|
|
895
|
+
* success outcomes (see {@link SteerOutcome}).
|
|
896
|
+
*
|
|
897
|
+
* When a turn is in flight this injects (returns `injected`): unlike
|
|
898
|
+
* `prompt()`, it does NOT create a Turn or enqueue on `turnQueue`; it pushes
|
|
899
|
+
* an `SDKUserMessage` onto the same streaming input, which the SDK routes
|
|
900
|
+
* into the in-flight turn. The injected message's echo carries a uuid that
|
|
901
|
+
* matches no queued turn, so the consumer drops it as an unrelated replay
|
|
902
|
+
* without promoting/settling anything. It is delivered at {@link
|
|
903
|
+
* STEER_PRIORITY} (`now`) so it pre-empts the current generation (interrupting
|
|
904
|
+
* a single-shot response, or slotting in between a multi-step turn's tool
|
|
905
|
+
* calls). The steered message's own output streams via `session/update`, not
|
|
906
|
+
* this response.
|
|
907
|
+
*
|
|
908
|
+
* When the session is idle (no unsettled turn — the turn we meant to steer
|
|
909
|
+
* raced ahead and finished), this starts a normal new turn with the message
|
|
910
|
+
* and returns `startedNewTurn`. That turn is fire-and-forget from the steer
|
|
911
|
+
* request's view: its `PromptResponse` and output flow through the usual
|
|
912
|
+
* `prompt()`/`session/update` path, so we return the outcome immediately
|
|
913
|
+
* rather than awaiting turn completion. */
|
|
914
|
+
async steer(params) {
|
|
915
|
+
const sessionId = params.sessionId;
|
|
916
|
+
const prompt = params.prompt;
|
|
917
|
+
const session = this.sessions[sessionId];
|
|
918
|
+
if (!session) {
|
|
919
|
+
throw new Error("Session not found");
|
|
920
|
+
}
|
|
921
|
+
if (session.queryClosed) {
|
|
922
|
+
throw RequestError.internalError(undefined, SESSION_ENDED_MESSAGE);
|
|
923
|
+
}
|
|
924
|
+
// "A turn is running" = the queue holds an unsettled turn. This covers both
|
|
925
|
+
// the activated turn and one just submitted but not yet echoed/activated,
|
|
926
|
+
// which is exactly the window in which steering is meaningful.
|
|
927
|
+
const turnInFlight = (session.turnQueue ?? []).some((t) => !t.settled);
|
|
928
|
+
const promptRequest = {
|
|
929
|
+
sessionId: sessionId,
|
|
930
|
+
prompt: prompt,
|
|
931
|
+
};
|
|
932
|
+
if (!turnInFlight) {
|
|
933
|
+
// Race: the turn we meant to steer already finished. Per the protocol the
|
|
934
|
+
// message must not be dropped nor surfaced as an error — start a fresh
|
|
935
|
+
// turn with it. Don't await: the new turn streams via session/update and
|
|
936
|
+
// its PromptResponse is consumed by the normal prompt() path; we only owe
|
|
937
|
+
// the client the outcome. `.catch` keeps the detached promise from
|
|
938
|
+
// becoming an unhandled rejection.
|
|
939
|
+
this.prompt(promptRequest).catch((error) => {
|
|
940
|
+
this.logger.error(`Session ${sessionId}: steered new turn failed: ${error}`);
|
|
941
|
+
});
|
|
942
|
+
return { outcome: "startedNewTurn" };
|
|
943
|
+
}
|
|
944
|
+
const userMessage = promptToClaude(promptRequest);
|
|
945
|
+
userMessage.uuid = randomUUID();
|
|
946
|
+
// Deliver into the running turn rather than queuing behind it as a fresh
|
|
947
|
+
// prompt would.
|
|
948
|
+
userMessage.priority = STEER_PRIORITY;
|
|
949
|
+
session.input.push(userMessage);
|
|
950
|
+
return { outcome: "injected" };
|
|
951
|
+
}
|
|
850
952
|
/** Lazily start the per-session consumer that drains the SDK query stream for
|
|
851
953
|
* the session's whole life. Idempotent: only the first `prompt()` starts it. */
|
|
852
954
|
ensureConsumer(session, sessionId) {
|
|
@@ -885,11 +987,13 @@ export class ClaudeAcpAgent {
|
|
|
885
987
|
// stop_reason "refusal" and structured stop_details. We capture the
|
|
886
988
|
// human-readable explanation so the terminal `result` can surface it.
|
|
887
989
|
let lastRefusalExplanation = null;
|
|
888
|
-
// Tracks
|
|
990
|
+
// Tracks an in-progress compaction by the toolCallId stamped on its
|
|
991
|
+
// `tool_call`. `null` = no compaction in flight. The SDK emits the terminal
|
|
889
992
|
// `status` (compact_result success/failed) twice for a single failed
|
|
890
993
|
// compaction, and the two messages are indistinguishable — so we report the
|
|
891
|
-
// outcome only while a compaction is in progress, then clear this
|
|
892
|
-
|
|
994
|
+
// outcome only while a compaction is in progress, then clear this back to
|
|
995
|
+
// `null` so the duplicate terminal message is a no-op.
|
|
996
|
+
let compactionToolCallId = null;
|
|
893
997
|
// Anthropic API message id of the assistant message currently being
|
|
894
998
|
// streamed, captured from `message_start` so the streamed chunks that follow
|
|
895
999
|
// (whose delta events don't carry it) can all be tagged with the same,
|
|
@@ -940,7 +1044,7 @@ export class ClaudeAcpAgent {
|
|
|
940
1044
|
lastAssistantModel = null;
|
|
941
1045
|
lastAssistantError = undefined;
|
|
942
1046
|
lastRefusalExplanation = null;
|
|
943
|
-
|
|
1047
|
+
compactionToolCallId = null;
|
|
944
1048
|
// Do NOT reset currentStreamMessageId or streamedBlocks here. Turn
|
|
945
1049
|
// activation can fire mid-message (the replayed user echo with
|
|
946
1050
|
// --replay-user-messages lands between a message's blocks); clearing the
|
|
@@ -1484,41 +1588,63 @@ export class ClaudeAcpAgent {
|
|
|
1484
1588
|
await this.syncFastModeState(message.session_id, session, message.fast_mode_state);
|
|
1485
1589
|
break;
|
|
1486
1590
|
case "status": {
|
|
1487
|
-
//
|
|
1488
|
-
//
|
|
1489
|
-
//
|
|
1490
|
-
//
|
|
1591
|
+
// Surface compaction as a tool call so the client renders it as
|
|
1592
|
+
// a discrete, stateful operation (in_progress → completed/
|
|
1593
|
+
// failed) instead of interleaved assistant prose. The
|
|
1594
|
+
// `compacting` start also marks the turn's answer as delivered:
|
|
1595
|
+
// an echo-less turn that only ever compacts (e.g. `/compact`,
|
|
1596
|
+
// promoted at its own result) must not have its result text
|
|
1597
|
+
// re-emitted by the issue-#453 fallback. `sendUpdate` only
|
|
1598
|
+
// latches that flag for `agent_message_chunk`, so set it
|
|
1599
|
+
// explicitly here — the `tool_call` itself isn't assistant text.
|
|
1491
1600
|
if (message.status === "compacting") {
|
|
1492
|
-
|
|
1601
|
+
compactionToolCallId = randomUUID();
|
|
1602
|
+
session.emittedAssistantText = true;
|
|
1493
1603
|
await sendUpdate({
|
|
1494
1604
|
sessionId: message.session_id,
|
|
1495
1605
|
update: {
|
|
1496
|
-
sessionUpdate: "
|
|
1497
|
-
|
|
1606
|
+
sessionUpdate: "tool_call",
|
|
1607
|
+
toolCallId: compactionToolCallId,
|
|
1608
|
+
title: "Compacting",
|
|
1609
|
+
kind: "other",
|
|
1610
|
+
status: "in_progress",
|
|
1611
|
+
_meta: {
|
|
1612
|
+
claudeCode: { toolName: "compact" },
|
|
1613
|
+
},
|
|
1498
1614
|
},
|
|
1499
1615
|
});
|
|
1500
1616
|
}
|
|
1501
|
-
else if (message.compact_result === "success" &&
|
|
1617
|
+
else if (message.compact_result === "success" && compactionToolCallId !== null) {
|
|
1502
1618
|
// The SDK signals manual `/compact` completion with a status
|
|
1503
1619
|
// message carrying `compact_result`, not the `compact_boundary`
|
|
1504
1620
|
// message (which only fires when there's content to compact).
|
|
1505
|
-
|
|
1621
|
+
const toolCallId = compactionToolCallId;
|
|
1622
|
+
compactionToolCallId = null;
|
|
1506
1623
|
await sendUpdate({
|
|
1507
1624
|
sessionId: message.session_id,
|
|
1508
1625
|
update: {
|
|
1509
|
-
sessionUpdate: "
|
|
1510
|
-
|
|
1626
|
+
sessionUpdate: "tool_call_update",
|
|
1627
|
+
toolCallId,
|
|
1628
|
+
status: "completed",
|
|
1511
1629
|
},
|
|
1512
1630
|
});
|
|
1513
1631
|
}
|
|
1514
|
-
else if (message.compact_result === "failed" &&
|
|
1515
|
-
|
|
1516
|
-
|
|
1632
|
+
else if (message.compact_result === "failed" && compactionToolCallId !== null) {
|
|
1633
|
+
const toolCallId = compactionToolCallId;
|
|
1634
|
+
compactionToolCallId = null;
|
|
1635
|
+
const reason = message.compact_error ? `: ${message.compact_error}` : "";
|
|
1517
1636
|
await sendUpdate({
|
|
1518
1637
|
sessionId: message.session_id,
|
|
1519
1638
|
update: {
|
|
1520
|
-
sessionUpdate: "
|
|
1521
|
-
|
|
1639
|
+
sessionUpdate: "tool_call_update",
|
|
1640
|
+
toolCallId,
|
|
1641
|
+
status: "failed",
|
|
1642
|
+
content: [
|
|
1643
|
+
{
|
|
1644
|
+
type: "content",
|
|
1645
|
+
content: { type: "text", text: `Compacting failed${reason}` },
|
|
1646
|
+
},
|
|
1647
|
+
],
|
|
1522
1648
|
},
|
|
1523
1649
|
});
|
|
1524
1650
|
}
|
|
@@ -1700,9 +1826,9 @@ export class ClaudeAcpAgent {
|
|
|
1700
1826
|
// Push the full slash-command list after a mid-session change
|
|
1701
1827
|
// (e.g. skills discovered dynamically as the agent works in a
|
|
1702
1828
|
// subdirectory). The client should REPLACE its cached command
|
|
1703
|
-
// list with this payload
|
|
1704
|
-
//
|
|
1705
|
-
//
|
|
1829
|
+
// list with this payload. Forward message.commands directly —
|
|
1830
|
+
// it's authoritative, and re-querying supportedCommands()
|
|
1831
|
+
// would just return the same list with an extra round-trip.
|
|
1706
1832
|
await sendUpdate({
|
|
1707
1833
|
sessionId: message.session_id,
|
|
1708
1834
|
update: {
|
|
@@ -2607,6 +2733,11 @@ export class ClaudeAcpAgent {
|
|
|
2607
2733
|
emittedToolCalls: session.emittedToolCalls,
|
|
2608
2734
|
messageId: messageIdForGrouping(message),
|
|
2609
2735
|
toolUseResult: message.type === "user" ? message.tool_use_result : undefined,
|
|
2736
|
+
// On the wire since CLI 2.1.216 but not in SDKUserMessage's
|
|
2737
|
+
// type, hence the cast. Validated by parseToolResultMeta.
|
|
2738
|
+
toolResultMeta: message.type === "user"
|
|
2739
|
+
? message.tool_result_meta
|
|
2740
|
+
: undefined,
|
|
2610
2741
|
})) {
|
|
2611
2742
|
// sendUpdate records delivery. Subagent text/thinking is
|
|
2612
2743
|
// filtered out of `content` above; blocks that do pass through
|
|
@@ -5241,6 +5372,33 @@ function streamedInputRefinement(toolUse, input, supportsTerminalOutput, cwd) {
|
|
|
5241
5372
|
...(locations ? { locations } : {}),
|
|
5242
5373
|
};
|
|
5243
5374
|
}
|
|
5375
|
+
/** Validates the SDK user message's `tool_result_meta` sidecar (emitted on the
|
|
5376
|
+
* wire by CLI ≥ 2.1.216 but absent from sdk.d.ts, hence unknown-typed) into a
|
|
5377
|
+
* by-tool_use_id lookup. Each entry explains why an is_error tool_result
|
|
5378
|
+
* carries harness prose instead of the tool's own output — "user-rejected",
|
|
5379
|
+
* "permission-rule", "interrupted", "cancelled", … (open set: new kinds ship
|
|
5380
|
+
* on the wire ahead of schema updates, so no enum check). Malformed entries
|
|
5381
|
+
* are skipped rather than failing the message. */
|
|
5382
|
+
function parseToolResultMeta(raw) {
|
|
5383
|
+
if (!Array.isArray(raw)) {
|
|
5384
|
+
return undefined;
|
|
5385
|
+
}
|
|
5386
|
+
let byToolUseId;
|
|
5387
|
+
for (const entry of raw) {
|
|
5388
|
+
if (typeof entry !== "object" || entry === null) {
|
|
5389
|
+
continue;
|
|
5390
|
+
}
|
|
5391
|
+
const { id, non_execution_kind, user_feedback } = entry;
|
|
5392
|
+
if (typeof id !== "string" || typeof non_execution_kind !== "string") {
|
|
5393
|
+
continue;
|
|
5394
|
+
}
|
|
5395
|
+
(byToolUseId ??= new Map()).set(id, {
|
|
5396
|
+
nonExecutionKind: non_execution_kind,
|
|
5397
|
+
...(typeof user_feedback === "string" ? { userFeedback: user_feedback } : {}),
|
|
5398
|
+
});
|
|
5399
|
+
}
|
|
5400
|
+
return byToolUseId;
|
|
5401
|
+
}
|
|
5244
5402
|
/**
|
|
5245
5403
|
* Convert an SDKAssistantMessage (Claude) to a SessionNotification (ACP).
|
|
5246
5404
|
* Only handles text, image, and thinking chunks for now.
|
|
@@ -5281,6 +5439,9 @@ export function toAcpNotifications(content, role, sessionId, toolUseCache, clien
|
|
|
5281
5439
|
.length === 1
|
|
5282
5440
|
? options.toolUseResult
|
|
5283
5441
|
: undefined;
|
|
5442
|
+
// Unlike `tool_use_result`, entries carry their own tool_use_id, so batched
|
|
5443
|
+
// messages need no single-block guard.
|
|
5444
|
+
const toolResultMeta = parseToolResultMeta(options?.toolResultMeta);
|
|
5284
5445
|
const output = [];
|
|
5285
5446
|
// Only handle the first chunk for streaming; extend as needed for batching
|
|
5286
5447
|
for (const chunk of content) {
|
|
@@ -5424,6 +5585,12 @@ export function toAcpNotifications(content, role, sessionId, toolUseCache, clien
|
|
|
5424
5585
|
case "mcp_tool_result": {
|
|
5425
5586
|
const wasEmitted = options?.emittedToolCalls?.has(chunk.tool_use_id) === true;
|
|
5426
5587
|
options?.emittedToolCalls?.delete(chunk.tool_use_id);
|
|
5588
|
+
// Why this is_error result carries harness prose instead of tool
|
|
5589
|
+
// output (user-rejected / interrupted / …), when the SDK said so.
|
|
5590
|
+
// Spread into the claudeCode meta of every update emitted below; the
|
|
5591
|
+
// untracked-tool fallback can't carry it (claudeCode metas always
|
|
5592
|
+
// carry `toolName`, which is unknown there).
|
|
5593
|
+
const nonExecution = toolResultMeta?.get(chunk.tool_use_id);
|
|
5427
5594
|
const toolUse = toolUseCache[chunk.tool_use_id];
|
|
5428
5595
|
if (!toolUse) {
|
|
5429
5596
|
// The permission flow may have surfaced this tool_call even though
|
|
@@ -5463,6 +5630,7 @@ export function toAcpNotifications(content, role, sessionId, toolUseCache, clien
|
|
|
5463
5630
|
_meta: {
|
|
5464
5631
|
claudeCode: {
|
|
5465
5632
|
toolName: toolUse.name,
|
|
5633
|
+
...(nonExecution ?? {}),
|
|
5466
5634
|
...(options?.parentToolUseId ? { parentToolUseId: options.parentToolUseId } : {}),
|
|
5467
5635
|
},
|
|
5468
5636
|
},
|
|
@@ -5523,6 +5691,7 @@ export function toAcpNotifications(content, role, sessionId, toolUseCache, clien
|
|
|
5523
5691
|
_meta: {
|
|
5524
5692
|
claudeCode: {
|
|
5525
5693
|
toolName: toolUse.name,
|
|
5694
|
+
...(nonExecution ?? {}),
|
|
5526
5695
|
},
|
|
5527
5696
|
...(toolMeta?.terminal_exit ? { terminal_exit: toolMeta.terminal_exit } : {}),
|
|
5528
5697
|
},
|
|
@@ -5737,6 +5906,7 @@ export function runAcp() {
|
|
|
5737
5906
|
.onRequest(methods.agent.logout, (ctx) => agent.logout(ctx.params))
|
|
5738
5907
|
.onRequest(methods.agent.session.prompt, (ctx) => runPromptWithCancellation(agent, ctx.params, ctx.signal))
|
|
5739
5908
|
.onNotification(methods.agent.session.cancel, (ctx) => agent.cancel(ctx.params))
|
|
5909
|
+
.onRequest(STEER_METHOD, { parse: parseSteerRequest }, (ctx) => agent.steer(ctx.params))
|
|
5740
5910
|
.connect(stream);
|
|
5741
5911
|
agent = new ClaudeAcpAgent(new ClientConnection(connection.client));
|
|
5742
5912
|
return { connection, agent };
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.
|
|
6
|
+
"version": "0.62.0-beta.1",
|
|
7
7
|
"description": "An ACP-compatible coding agent powered by the Claude Agent SDK (TypeScript)",
|
|
8
8
|
"main": "dist/lib.js",
|
|
9
9
|
"types": "dist/lib.d.ts",
|
|
@@ -63,21 +63,21 @@
|
|
|
63
63
|
"node": ">=22"
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@agentclientprotocol/sdk": "1.
|
|
67
|
-
"@anthropic-ai/claude-agent-sdk": "0.3.
|
|
66
|
+
"@agentclientprotocol/sdk": "1.3.0",
|
|
67
|
+
"@anthropic-ai/claude-agent-sdk": "0.3.219",
|
|
68
68
|
"zod": "^3.25.0 || ^4.0.0"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
|
-
"@anthropic-ai/sdk": "0.
|
|
71
|
+
"@anthropic-ai/sdk": "0.114.0",
|
|
72
72
|
"@eslint/js": "10.0.1",
|
|
73
73
|
"@tsconfig/node22": "22.0.5",
|
|
74
74
|
"@types/node": "26.1.1",
|
|
75
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
76
|
-
"@typescript-eslint/parser": "8.
|
|
75
|
+
"@typescript-eslint/eslint-plugin": "8.65.0",
|
|
76
|
+
"@typescript-eslint/parser": "8.65.0",
|
|
77
77
|
"eslint": "10.7.0",
|
|
78
78
|
"eslint-config-prettier": "10.1.8",
|
|
79
79
|
"globals": "17.7.0",
|
|
80
|
-
"prettier": "3.9.
|
|
80
|
+
"prettier": "3.9.6",
|
|
81
81
|
"ts-node": "10.9.2",
|
|
82
82
|
"typescript": "6.0.3",
|
|
83
83
|
"vitest": "4.1.10"
|