claude-code-acp-ts 0.53.0 → 0.57.0
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 +146 -2
- package/dist/acp-agent.d.ts.map +1 -1
- package/dist/acp-agent.js +866 -149
- package/dist/elicitation.d.ts +51 -3
- package/dist/elicitation.d.ts.map +1 -1
- package/dist/elicitation.js +117 -37
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +17 -0
- package/package.json +10 -10
package/dist/acp-agent.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AuthenticateRequest, CancelNotification, ClientCapabilities, CompleteElicitationNotification, CreateElicitationRequest, CreateElicitationResponse, ForkSessionRequest, ForkSessionResponse, InitializeRequest, InitializeResponse, ListSessionsRequest, ListSessionsResponse, LoadSessionRequest, LoadSessionResponse, LogoutRequest, NewSessionRequest, NewSessionResponse, PromptRequest, PromptResponse, ReadTextFileRequest, ReadTextFileResponse, RequestPermissionRequest, RequestPermissionResponse, ResumeSessionRequest, ResumeSessionResponse, SessionConfigOption, SessionModeState, SessionNotification, SetSessionConfigOptionRequest, SetSessionConfigOptionResponse, SetSessionModeRequest, SetSessionModeResponse, CloseSessionRequest, CloseSessionResponse, DeleteSessionRequest, DeleteSessionResponse, WriteTextFileRequest, WriteTextFileResponse } from "@agentclientprotocol/sdk";
|
|
2
|
-
import { AgentInfo, CanUseTool, ModelInfo, Options, PermissionMode, PermissionUpdate, Query, SDKMessageOrigin, SDKPartialAssistantMessage, SDKUserMessage } from "@anthropic-ai/claude-agent-sdk";
|
|
2
|
+
import { AgentInfo, CanUseTool, FastModeState, ModelInfo, Options, PermissionMode, PermissionUpdate, Query, SDKMessageOrigin, SDKPartialAssistantMessage, SDKUserMessage } from "@anthropic-ai/claude-agent-sdk";
|
|
3
3
|
import { ContentBlockParam } from "@anthropic-ai/sdk/resources";
|
|
4
4
|
import { BetaContentBlock, BetaRawContentBlockDelta } from "@anthropic-ai/sdk/resources/beta.mjs";
|
|
5
5
|
import { SettingsManager } from "./settings.js";
|
|
@@ -97,6 +97,10 @@ type Session = {
|
|
|
97
97
|
/** The currently selected main-thread agent name, or "default" for the
|
|
98
98
|
* standard Claude Code agent (no `agent` flag applied). */
|
|
99
99
|
currentAgent: string;
|
|
100
|
+
/** Whether Fast mode is currently enabled for this session. Tracked as the
|
|
101
|
+
* user's intent so it persists across model switches; the Fast mode config
|
|
102
|
+
* option is only surfaced while the selected model supports it. */
|
|
103
|
+
fastModeEnabled: boolean;
|
|
100
104
|
abortController: AbortController;
|
|
101
105
|
/** Signal the consumer races `query.next()` against. Aborted by cancel()
|
|
102
106
|
* (after a grace period) to force the active turn to settle "cancelled" when
|
|
@@ -131,6 +135,14 @@ type Session = {
|
|
|
131
135
|
* `tool_result` time so a long-running session doesn't accumulate every
|
|
132
136
|
* tool call for its whole lifetime. */
|
|
133
137
|
toolUseCache: ToolUseCache;
|
|
138
|
+
/** Tracks which tool_use ids we've already emitted a `tool_call` for, so the
|
|
139
|
+
* second source to encounter a tool call sends a `tool_call_update` instead
|
|
140
|
+
* of a duplicate `tool_call`. The SDK can invoke `canUseTool` (→ a permission
|
|
141
|
+
* request, which emits the tool_call eagerly so the client has it before
|
|
142
|
+
* being asked to approve it) either before or after the assistant message's
|
|
143
|
+
* tool_use block streams; this set makes the two paths converge regardless of
|
|
144
|
+
* order. Pruned at `tool_result` time alongside `toolUseCache`. */
|
|
145
|
+
emittedToolCalls: Set<string>;
|
|
134
146
|
/** Maps the ACP `messageId` we expose to clients (see `messageIdForGrouping`)
|
|
135
147
|
* to the SDK message uuid that the Agent SDK's rewind/resume APIs key on
|
|
136
148
|
* (`Query.rewindFiles` takes a user-message uuid; `resumeSessionAt` takes an
|
|
@@ -351,6 +363,14 @@ export declare class ClaudeAcpAgent {
|
|
|
351
363
|
* "Tool use aborted" the callers already expect, so a cancelled dialog no
|
|
352
364
|
* longer leaves the `await` hanging. */
|
|
353
365
|
private requestPermissionFromClient;
|
|
366
|
+
/** Emit the `tool_call` a permission request references if it hasn't been sent
|
|
367
|
+
* yet, so the client has the tool call before being asked to approve it. The
|
|
368
|
+
* matching streamed tool_use chunk later refines it with a `tool_call_update`
|
|
369
|
+
* instead of emitting a duplicate (see `emittedToolCalls`). Built via the same
|
|
370
|
+
* `toolCallNotification` helper as the streamed path so the two are identical.
|
|
371
|
+
* Tools the stream renders as a plan (TodoWrite) or suppresses (Task*) are
|
|
372
|
+
* skipped so a permission prompt for them never surfaces a stray tool_call. */
|
|
373
|
+
private ensureToolCallEmitted;
|
|
354
374
|
canUseTool(sessionId: string): CanUseTool;
|
|
355
375
|
/**
|
|
356
376
|
* Handle elicitation requests that originate from MCP servers by forwarding
|
|
@@ -364,9 +384,52 @@ export declare class ClaudeAcpAgent {
|
|
|
364
384
|
* `canUseTool` since that is where the SDK routes the tool's permission check.
|
|
365
385
|
*/
|
|
366
386
|
private handleAskUserQuestion;
|
|
387
|
+
/**
|
|
388
|
+
* Handle `request_user_dialog` control requests — blocking dialogs the CLI
|
|
389
|
+
* asks the host to render. Only kinds declared in `supportedDialogKinds`
|
|
390
|
+
* are ever emitted; everything unexpected is answered `cancelled` (the
|
|
391
|
+
* required answer for unrecognized kinds), which applies the dialog's
|
|
392
|
+
* default behavior CLI-side. Today the only declared kind is the
|
|
393
|
+
* refusal-fallback consent prompt, rendered as an ACP form elicitation.
|
|
394
|
+
*/
|
|
395
|
+
private handleUserDialog;
|
|
367
396
|
private sendAvailableCommandsUpdate;
|
|
368
397
|
private updateConfigOption;
|
|
369
398
|
private applyConfigOptionValue;
|
|
399
|
+
/** Reconcile adapter model state after the SDK persistently swapped the
|
|
400
|
+
* session's model out from under us (refusal fallback). The SDK already
|
|
401
|
+
* made the switch, so this must NOT call `query.setModel` — it only
|
|
402
|
+
* updates our bookkeeping (currentModelId, context window, mode clamping,
|
|
403
|
+
* effort/Fast-mode options) via the same `applyConfigOptionValue` path a
|
|
404
|
+
* user-driven model change takes, then notifies the client. */
|
|
405
|
+
private syncModelAfterRefusalFallback;
|
|
406
|
+
/** Replace the Fast mode option in `session.configOptions` so it reflects
|
|
407
|
+
* `enabled` (and the client's current boolean-capability). A no-op when the
|
|
408
|
+
* option isn't present, so callers must confirm the current model surfaces
|
|
409
|
+
* it first. */
|
|
410
|
+
private refreshFastModeOption;
|
|
411
|
+
/** Toggle Fast mode for a session: push the SDK flag, record the user's
|
|
412
|
+
* intent, and refresh the Fast mode config option in place. Only reached
|
|
413
|
+
* once the option exists (i.e. the current model supports fast mode), so the
|
|
414
|
+
* option is guaranteed to be present in `configOptions`. */
|
|
415
|
+
private applyFastMode;
|
|
416
|
+
/** Reconcile the session's Fast mode toggle with an SDK-reported
|
|
417
|
+
* `fast_mode_state` (delivered on `system`/init and on user-turn `result`s).
|
|
418
|
+
* The SDK can flip fast mode independently of the user — e.g. back to `on`
|
|
419
|
+
* once a rate-limit `cooldown` clears — so we mirror definitive on/off
|
|
420
|
+
* changes into the config option and notify the client.
|
|
421
|
+
*
|
|
422
|
+
* Guards, in order:
|
|
423
|
+
* - absent state: nothing to reconcile.
|
|
424
|
+
* - no Fast mode option: the current model doesn't support fast mode, so the
|
|
425
|
+
* reported state reflects capability, not the user's intent. Leave the
|
|
426
|
+
* retained setting untouched so it's correct when a supporting model is
|
|
427
|
+
* reselected (the source of the earlier intent-clobber bug was mutating it
|
|
428
|
+
* here).
|
|
429
|
+
* - `cooldown`: a transient suspension of an already-enabled fast mode.
|
|
430
|
+
* Leave the toggle as-is rather than flapping it — and never let a stray
|
|
431
|
+
* cooldown spuriously enable a toggle the user has off. */
|
|
432
|
+
private syncFastModeState;
|
|
370
433
|
private getOrCreateSession;
|
|
371
434
|
/**
|
|
372
435
|
* Ensures the requested `cwd` is an absolute path that points at an existing
|
|
@@ -384,7 +447,86 @@ export declare const DEFAULT_AGENT_ID = "default";
|
|
|
384
447
|
* list if discovery fails so a flaky control request never blocks session
|
|
385
448
|
* creation. */
|
|
386
449
|
export declare function discoverCustomAgents(q: Query): Promise<AgentInfo[]>;
|
|
387
|
-
|
|
450
|
+
/** Stable ids for the session config options surfaced via `configOptions`.
|
|
451
|
+
* Centralized so the option declarations in `buildConfigOptions` and the
|
|
452
|
+
* handlers in `setSessionConfigOption`/`applyConfigOptionValue` reference the
|
|
453
|
+
* same identifiers and can't drift apart. */
|
|
454
|
+
export declare const MODE_CONFIG_ID = "mode";
|
|
455
|
+
export declare const MODEL_CONFIG_ID = "model";
|
|
456
|
+
export declare const EFFORT_CONFIG_ID = "effort";
|
|
457
|
+
export declare const AGENT_CONFIG_ID = "agent";
|
|
458
|
+
export declare const FAST_MODE_CONFIG_ID = "fast";
|
|
459
|
+
/** Select-fallback values used when the client has not opted into boolean
|
|
460
|
+
* config options (see {@link createFastModeConfigOption}). */
|
|
461
|
+
export declare const FAST_MODE_ON = "on";
|
|
462
|
+
export declare const FAST_MODE_OFF = "off";
|
|
463
|
+
/** Map the SDK's tri-state `fast_mode_state` onto the boolean config toggle.
|
|
464
|
+
* `cooldown` (fast mode temporarily suspended after a rate limit, per the SDK
|
|
465
|
+
* docs) keeps the toggle on so it reflects the user's intent — only an
|
|
466
|
+
* explicit `off` clears it. */
|
|
467
|
+
export declare function fastModeStateEnabled(state: FastModeState): boolean;
|
|
468
|
+
/** Whether the Client advertised support for boolean session config options
|
|
469
|
+
* (`session.configOptions.boolean`). Agents MUST only send `type: "boolean"`
|
|
470
|
+
* config options to Clients that opt in; otherwise we fall back to a `select`.
|
|
471
|
+
* See https://agentclientprotocol.com/rfds/boolean-config-option. */
|
|
472
|
+
export declare function clientSupportsBooleanConfigOptions(clientCapabilities?: ClientCapabilities | null): boolean;
|
|
473
|
+
/** Build the Fast mode config option. When the Client supports boolean config
|
|
474
|
+
* options we expose a native `type: "boolean"` toggle; otherwise we degrade to
|
|
475
|
+
* a two-value `select` ("on"/"off") so older Clients still get a usable
|
|
476
|
+
* control. */
|
|
477
|
+
export declare function createFastModeConfigOption(enabled: boolean, useBooleanOption: boolean): SessionConfigOption;
|
|
478
|
+
/** Resolve the requested Fast mode value from a `session/set_config_option`
|
|
479
|
+
* request. Accepts a native boolean (boolean-capable Clients) or the
|
|
480
|
+
* "on"/"off" select-fallback strings. */
|
|
481
|
+
export declare function resolveFastModeEnabled(params: SetSessionConfigOptionRequest): boolean;
|
|
482
|
+
/** Per-model Fast mode state threaded into {@link buildConfigOptions}. The
|
|
483
|
+
* option is only surfaced when the current model `supported`s fast mode. */
|
|
484
|
+
export type FastModeOptionState = {
|
|
485
|
+
supported: boolean;
|
|
486
|
+
enabled: boolean;
|
|
487
|
+
/** Whether the Client opted into boolean config options. */
|
|
488
|
+
useBooleanOption: boolean;
|
|
489
|
+
};
|
|
490
|
+
export declare function buildConfigOptions(modes: SessionModeState, models: SessionModelState, modelInfos: ModelInfo[], currentEffortLevel?: string, agents?: AgentInfo[], currentAgent?: string, fastMode?: FastModeOptionState): SessionConfigOption[];
|
|
491
|
+
export declare function resolveModelPreference(models: ModelInfo[], preference: string): ModelInfo | null;
|
|
492
|
+
/** Map the live model reported by a resumed session onto the picker's model
|
|
493
|
+
* list. The CLI restores a resumed session's model from the transcript's
|
|
494
|
+
* last assistant message, which records the concrete API id (e.g.
|
|
495
|
+
* "claude-opus-4-6") with any "[1m]" context hint dropped. Tiers, in order:
|
|
496
|
+
* 1. Exact match with the Default entry's resolution — when a named alias
|
|
497
|
+
* shares Default's resolvedModel verbatim, the live id can't tell the
|
|
498
|
+
* two apart, and a never-customized session should stay on Default.
|
|
499
|
+
* 2. Exact resolvedModel match on a named row. Checked before the
|
|
500
|
+
* hint-stripped Default comparison so a live "claude-sonnet-5[1m]" lands
|
|
501
|
+
* on the "sonnet[1m]" row rather than a Default that resolves to the
|
|
502
|
+
* bare "claude-sonnet-5" — the two rows differ in context window, which
|
|
503
|
+
* drives `contextWindowSize` and capability gating downstream.
|
|
504
|
+
* 3. Hint-stripped match with Default's resolution — a session that never
|
|
505
|
+
* left the default resumes as the bare transcript id, and shouldn't show
|
|
506
|
+
* a concrete picker entry.
|
|
507
|
+
* 4. `resolveModelPreference` over the picker entries.
|
|
508
|
+
* 5. A model with no picker counterpart (e.g. excluded by an
|
|
509
|
+
* `availableModels` allowlist) is tracked verbatim, mirroring
|
|
510
|
+
* `syncModelAfterRefusalFallback`: the picker shows no selection, but the
|
|
511
|
+
* model-dependent bookkeeping stays truthful to what the SDK is running. */
|
|
512
|
+
export declare function matchResumedModel(models: ModelInfo[], liveModel: string): ModelInfo;
|
|
513
|
+
/**
|
|
514
|
+
* Restrict the SDK's model list to the user's `availableModels` allowlist
|
|
515
|
+
* (already merged-and-deduped across settings sources by `SettingsManager`).
|
|
516
|
+
* The user's exact entries become the model IDs surfaced via configOptions
|
|
517
|
+
* and passed to `setModel`, which prevents Claude Code from silently
|
|
518
|
+
* substituting a date-pinned variant (e.g. `haiku` →
|
|
519
|
+
* `claude-haiku-4-5-20251001`) that the user may not have access to.
|
|
520
|
+
*
|
|
521
|
+
* Display info and capability flags are copied from the closest SDK match so
|
|
522
|
+
* the UI still renders sensible names and effort levels.
|
|
523
|
+
*
|
|
524
|
+
* Semantics from https://code.claude.com/docs/en/model-config#restrict-model-selection:
|
|
525
|
+
* - `undefined` is handled by the caller (no allowlist applied).
|
|
526
|
+
* - The Default option is unaffected by `availableModels` — it always remains
|
|
527
|
+
* available, even when the allowlist is `[]`.
|
|
528
|
+
*/
|
|
529
|
+
export declare function applyAvailableModelsAllowlist(sdkModels: ModelInfo[], allowlist: string[], settingsModelOverrides?: Record<string, string>): ModelInfo[];
|
|
388
530
|
export declare function promptToClaude(prompt: PromptRequest): SDKUserMessage;
|
|
389
531
|
/**
|
|
390
532
|
* Resolves the ACP `messageId` for a Claude SDK message (live) or a persisted
|
|
@@ -412,12 +554,14 @@ export declare function toAcpNotifications(content: string | ContentBlockParam[]
|
|
|
412
554
|
parentToolUseId?: string | null;
|
|
413
555
|
cwd?: string;
|
|
414
556
|
taskState?: TaskState;
|
|
557
|
+
emittedToolCalls?: Set<string>;
|
|
415
558
|
messageId?: string;
|
|
416
559
|
}): SessionNotification[];
|
|
417
560
|
export declare function streamEventToAcpNotifications(message: SDKPartialAssistantMessage, sessionId: string, toolUseCache: ToolUseCache, client: AcpClient, logger: Logger, options?: {
|
|
418
561
|
clientCapabilities?: ClientCapabilities;
|
|
419
562
|
cwd?: string;
|
|
420
563
|
taskState?: TaskState;
|
|
564
|
+
emittedToolCalls?: Set<string>;
|
|
421
565
|
messageId?: string;
|
|
422
566
|
}): SessionNotification[];
|
|
423
567
|
/** Run a `session/prompt` while honoring `$/cancel_request` for it. ACP clients
|
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":"AAAA,OAAO,EAGL,mBAAmB,EAGnB,kBAAkB,EAClB,kBAAkB,EAClB,+BAA+B,EAC/B,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EAGb,iBAAiB,EACjB,kBAAkB,EAElB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EAEpB,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,6BAA6B,EAC7B,8BAA8B,EAC9B,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,SAAS,EACT,UAAU,
|
|
1
|
+
{"version":3,"file":"acp-agent.d.ts","sourceRoot":"","sources":["../src/acp-agent.ts"],"names":[],"mappings":"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"}
|