@lucascouts/claude-agent-acp-plus 0.5.1 → 0.6.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 +34 -0
- package/dist/acp-agent.d.ts.map +1 -1
- package/dist/acp-agent.js +247 -7
- package/dist/goal-extension.d.ts +31 -0
- package/dist/goal-extension.d.ts.map +1 -0
- package/dist/goal-extension.js +30 -0
- package/package.json +2 -2
package/dist/acp-agent.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AuthenticateRequest, CancelNotification, ClientCapabilities, CompleteElicitationNotification, CreateElicitationRequest, CreateElicitationResponse, DisableProviderRequest, DisableProviderResponse, ForkSessionRequest, ForkSessionResponse, InitializeRequest, InitializeResponse, ListProvidersRequest, ListProvidersResponse, LlmProtocol, ListSessionsRequest, ListSessionsResponse, LoadSessionRequest, LoadSessionResponse, LogoutRequest, NewSessionRequest, NewSessionResponse, PromptRequest, PromptResponse, ReadTextFileRequest, ReadTextFileResponse, SetProviderRequest, SetProviderResponse, RequestPermissionRequest, RequestPermissionResponse, ResumeSessionRequest, ResumeSessionResponse, SessionConfigOption, SessionModeState, SessionNotification, SetSessionConfigOptionRequest, SetSessionConfigOptionResponse, SetSessionModeRequest, SetSessionModeResponse, CloseSessionRequest, CloseSessionResponse, DeleteSessionRequest, DeleteSessionResponse, WriteTextFileRequest, WriteTextFileResponse } from "@agentclientprotocol/sdk";
|
|
2
2
|
import { AgentInfo, CanUseTool, FastModeDisabledReason, FastModeState, ModelInfo, Options, PermissionMode, PermissionUpdate, Query, SDKMessageOrigin, SDKPartialAssistantMessage, SDKUserMessage } from "@anthropic-ai/claude-agent-sdk";
|
|
3
|
+
import { GoalRequest, GoalControlResponse } from "./goal-extension.js";
|
|
3
4
|
import { ContentBlockParam } from "@anthropic-ai/sdk/resources";
|
|
4
5
|
import { BetaContentBlock, BetaRawContentBlockDelta } from "@anthropic-ai/sdk/resources/beta.mjs";
|
|
5
6
|
import { SettingsManager } from "./settings.js";
|
|
@@ -146,6 +147,26 @@ type Turn = {
|
|
|
146
147
|
* pre-hold behavior (pending wakes are not countable: notifications can
|
|
147
148
|
* batch into one followup). */
|
|
148
149
|
deferredSettle?: PromptResponse;
|
|
150
|
+
/** Uuids of `steer()`-injected messages the SDK has not replayed back yet.
|
|
151
|
+
*
|
|
152
|
+
* A steer is delivered at {@link STEER_PRIORITY} (`now`), so the CLI ABORTS
|
|
153
|
+
* the running cycle: it emits its own human-origin `result` —
|
|
154
|
+
* indistinguishable from a turn's terminal one — and the steered message runs
|
|
155
|
+
* as a SECOND cycle. Settling at that result would answer `session/prompt`
|
|
156
|
+
* mid-work, so a steered turn's results only RECORD their outcome
|
|
157
|
+
* (`steeredSettle`) and it settles at the SDK's `idle`, the only signal
|
|
158
|
+
* spanning both cycles (CLI 2.1.220).
|
|
159
|
+
*
|
|
160
|
+
* A non-empty set at an idle means the steered cycle hasn't started — the CLI
|
|
161
|
+
* replays a message only when it picks it up, always after the interrupted
|
|
162
|
+
* cycle's result — so that idle is swallowed. Drained by the replay handler.
|
|
163
|
+
*
|
|
164
|
+
* Residual: a message the CLI drops unreplayed parks the turn until
|
|
165
|
+
* `session/cancel` or the next prompt (both settle it). */
|
|
166
|
+
steeredEchoes?: Set<string>;
|
|
167
|
+
/** What a steered turn settles with once its steered work has run: the outcome
|
|
168
|
+
* of its latest result, so its usage covers every cycle the turn ran. */
|
|
169
|
+
steeredSettle?: PromptResponse;
|
|
149
170
|
resolve: (response: PromptResponse) => void;
|
|
150
171
|
reject: (error: unknown) => void;
|
|
151
172
|
};
|
|
@@ -622,6 +643,14 @@ export declare function resolvePermissionMode(defaultMode?: unknown, logger?: Lo
|
|
|
622
643
|
* the exact scope they are committing to. Uses the SDK-provided suggestions
|
|
623
644
|
* when available (e.g. `Bash(npm test:*)`) and falls back to naming the whole
|
|
624
645
|
* tool so "Always Allow" is never a blank check without disclosure.
|
|
646
|
+
*
|
|
647
|
+
* Fork-only layer. Upstream #930 moved the scope disclosure out of the option
|
|
648
|
+
* label and into `_meta.permission.changes`, leaving the label as a fixed
|
|
649
|
+
* "Always Allow". No shipping client reads that metadata yet — Zed in
|
|
650
|
+
* particular has no reference to it — so on the label alone the user would be
|
|
651
|
+
* granting a rule they cannot see. This restores the disclosure in the label
|
|
652
|
+
* WITHOUT dropping the upstream metadata: both travel on the same option, and
|
|
653
|
+
* the label can be retired once a client renders the structured form.
|
|
625
654
|
*/
|
|
626
655
|
export declare function describeAlwaysAllow(suggestions: PermissionUpdate[] | undefined, toolName: string): string;
|
|
627
656
|
/**
|
|
@@ -707,6 +736,7 @@ export declare class ClaudeAcpAgent {
|
|
|
707
736
|
resolveProviderConfig(): ProviderConfig | null;
|
|
708
737
|
logout(_params: LogoutRequest): Promise<void>;
|
|
709
738
|
prompt(params: PromptRequest): Promise<PromptResponse>;
|
|
739
|
+
goal(params: GoalRequest): Promise<GoalControlResponse>;
|
|
710
740
|
/** Steer the session per the ACP steering wire protocol: inject a follow-up
|
|
711
741
|
* message into the turn that is currently running. If that turn already
|
|
712
742
|
* settled, the established default starts a new detached turn; Hosts may opt
|
|
@@ -723,6 +753,10 @@ export declare class ClaudeAcpAgent {
|
|
|
723
753
|
* calls). The steered message's own output streams via `session/update`, not
|
|
724
754
|
* this response.
|
|
725
755
|
*
|
|
756
|
+
* Pre-empting means ABORTING: the interrupted cycle emits a `result` of its
|
|
757
|
+
* own and the steered message runs as a second one, so the turn is marked
|
|
758
|
+
* (`Turn.steeredEchoes`) to settle at the SDK's `idle` instead of that result.
|
|
759
|
+
*
|
|
726
760
|
* When the session is idle, the opt-in path returns `promptRequired` WITHOUT
|
|
727
761
|
* calling `prompt()`, pushing SDK input, or mutating `turnQueue`: the content
|
|
728
762
|
* stays Host-owned so the Host can submit it through a standard
|
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":"AAAA,OAAO,EAGL,mBAAmB,EAGnB,kBAAkB,EAClB,kBAAkB,EAClB,+BAA+B,EAC/B,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EAGb,iBAAiB,EACjB,kBAAkB,EAElB,aAAa,EACb,cAAc,EAEd,mBAAmB,EACnB,oBAAoB,EAEpB,kBAAkB,EAClB,mBAAmB,EACnB,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,EAGV,sBAAsB,EACtB,aAAa,EAKb,SAAS,EAIT,OAAO,EACP,cAAc,EAEd,gBAAgB,EAChB,KAAK,EAKL,gBAAgB,EAChB,0BAA0B,EAC1B,cAAc,EAEf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAKL,WAAW,EACX,mBAAmB,EAGpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAuBlG,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAQhD,OAAO,EASL,SAAS,EAKV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAwC,QAAQ,EAAe,MAAM,YAAY,CAAC;AAEzF,eAAO,MAAM,iBAAiB,QACuC,CAAC;AAkBtE;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACjC;AAED,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AA+DF;mDACmD;AACnD,KAAK,SAAS,GAAG;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE;QACT,YAAY,CAAC,EAAE,gBAAgB,CAAC;KACjC,CAAC;CACH,CAAC;AAEF;;;4CAG4C;AAC5C,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF;;4EAE4E;AAC5E,MAAM,MAAM,aAAa,GACrB;IAAE,OAAO,EAAE,UAAU,CAAA;CAAE,GACvB;IAAE,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAC7B;IAAE,OAAO,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC;AAgC3D;;;yDAGyD;AACzD,KAAK,iBAAiB,GAAG;IACvB,eAAe,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChF,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;iFAIiF;AACjF,KAAK,IAAI,GAAG;IACV;qEACiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB;;4DAEwD;IACxD,kBAAkB,EAAE,OAAO,CAAC;IAC5B;2EACuE;IACvE,OAAO,EAAE,OAAO,CAAC;IACjB;;;+EAG2E;IAC3E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;mDAO+C;IAC/C,eAAe,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;IAC1D;;;;;;;;iCAQ6B;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;;;6EAQyE;IACzE,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAmCgC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;;;;;;;;;;;;gEAe4D;IAC5D,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B;8EAC0E;IAC1E,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB;4EACwE;IACxE,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;IACnB;2EACuE;IACvE,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB;;;;;;;;;;;;;+EAa2E;IAC3E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;;;;;;;;;;;;;;gDAuB4C;IAC5C,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;IAC/D;;uEAEmE;IACnE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;iCAE6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB;;;;4CAIwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ;+EAC2E;IAC3E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC;;;qDAGiD;IACjD,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB;gEAC4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB;;wEAEoE;IACpE,eAAe,EAAE,OAAO,CAAC;IACzB;;;;;gFAK4E;IAC5E,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD;;;;;qCAKiC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;2EAEuE;IACvE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;oBAOgB;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;8CAE0C;IAC1C,qBAAqB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC;;;;;mEAK+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC;;;;;uEAKmE;IACnE,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC;;kBAEc;IACd,gBAAgB,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IACjD,kBAAkB,EAAE,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACjD;+EAC2E;IAC3E,mBAAmB,EAAE,OAAO,CAAC;IAC7B;;;;;;;;;2CASuC;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;;;8CAK0C;IAC1C,0BAA0B,EAAE,OAAO,CAAC;IACpC;;;;;;;;+EAQ2E;IAC3E,gBAAgB,EAAE,MAAM,CAAC;IACzB;yEACqE;IACrE,SAAS,EAAE,SAAS,CAAC;IACrB;;;;mCAI+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;4CAIwC;IACxC,YAAY,EAAE,YAAY,CAAC;IAC3B;;;;;;wEAMoE;IACpE,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAsC6B;IAC7B,mBAAmB,EAAE,GAAG,CACtB,MAAM,EACN;QACE,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,OAAO,CAAC;QACpB;;;;;;;;;;;;iDAYyC;QACzC,aAAa,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;KACzC,CACF,CAAC;IACF;;;;;;;;;;;;;;;;;;;;;;;;sEAwBkE;IAClE,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;;;uCAKmC;IACnC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAAC;IAC1D;;;;;;;;;;;;;;;iCAe6B;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;;;;;;;;uBAgBmB;IACnB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC,CAAC;AAkEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE;QACX;;;;;;;;;;;;;;WAcG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;;;;;WAMG;QACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,gBAAgB,EAAE,CAAC;KACnD,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,KAAK,eAAe,GAAG;IACrB;;;;;OAKG;IACH,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,KAAK,kBAAkB,GAAG,mBAAmB,GAAG;IAAE,KAAK,CAAC,EAAE,eAAe,CAAA;CAAE,CAAC;AA6B5E;;;;;GAKG;AACH,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,+CAA+C;IAC/C,MAAM,CAAC,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE;QAEX,QAAQ,EAAE,MAAM,CAAC;QAEjB,KAAK,CAAC,EAAE,MAAM,CAAC;QAEf,YAAY,CAAC,EAAE,OAAO,CAAC;QAIvB,eAAe,CAAC,EAAE,MAAM,CAAC;QAMzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAG1B,YAAY,CAAC,EAAE,MAAM,CAAC;QAKtB,QAAQ,CAAC,EAAE,IAAI,CAAC;KACjB,CAAC;IAEF,aAAa,CAAC,EAAE;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,eAAe,CAAC,EAAE;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,aAAa,CAAC,EAAE;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC;CACH,CAAC;AAwBF,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,IAAI,EAAE,UAAU,GAAG,iBAAiB,GAAG,cAAc,CAAC;QACtD,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;CACH,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB;wEACoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB;2EACuE;IACvE,iBAAiB,EAAE,MAAM,CAAC;IAC1B;0EACsE;IACtE,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;AA0DjF,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAsCrD;AAsED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CA0B1E;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEhE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAepE;AAeD,wBAAgB,qBAAqB,CACnC,WAAW,CAAC,EAAE,OAAO,EACrB,MAAM,GAAE,MAAgB,GACvB,cAAc,CA8BhB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAC3C,QAAQ,EAAE,MAAM,GACf,MAAM,CAiCR;AAwHD;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D;;kFAE8E;IAC9E,iBAAiB,CACf,MAAM,EAAE,wBAAwB,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACzE,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC5E;iFAC6E;IAC7E,0BAA0B,CACxB,MAAM,EAAE,wBAAwB,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC,4BAA4B,CAAC,MAAM,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,yEAAyE;IACzE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjF;AAkDD,qBAAa,cAAc;IACzB,QAAQ,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,MAAM,EAAE,SAAS,CAAC;IAClB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC;;oEAEgE;IAChE,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;+BAE2B;IAC3B,kBAAkB,EAAE,MAAM,CAAiC;gBAE/C,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM;IAMxC,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwKnE,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAYlE,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAoB9E,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAU3E,WAAW,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAarE,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkB9E;;;;gEAI4D;YAC9C,uBAAuB;IA6B/B,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/D;;;;;;;OAOG;IACG,sBAAsB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAW3F;;;;;OAKG;IACG,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAiDpF;;;;;;OAMG;IACG,wBAAwB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAShG;;;;OAIG;IACH,qBAAqB,IAAI,cAAc,GAAG,IAAI;IAOxC,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC7C,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IA+ItD,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQ7D;;;;;;;;;;;;;;;;;;;;;;;;mEAwB+D;IACzD,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IA6DzD;qFACiF;IACjF,OAAO,CAAC,cAAc;IActB;;;;qEAIiE;YACnD,WAAW;IA8lEzB;;;;;;;;;;;;;;yDAcqD;IACrD,OAAO,CAAC,kBAAkB;IAapB,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8NvD;;;;;;;;;;;;;;;;;;gBAkBY;IACZ,OAAO,CAAC,gBAAgB;IAWxB;yDACqD;YACvC,eAAe;IAwB7B,4EAA4E;IACtE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQxE,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAU3E,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAyB9E,sBAAsB,CAC1B,MAAM,EAAE,6BAA6B,GACpC,OAAO,CAAC,8BAA8B,CAAC;YAqI5B,gBAAgB;YAoChB,oBAAoB;IA4D5B,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAKxE,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAKjF;;;;;;6CAMyC;YAC3B,2BAA2B;IA6BzC;;;;;;;;;;;iEAW6D;YAC/C,qBAAqB;IAkCnC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU;IAqOzC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IA8B5B;;;;OAIG;YACW,qBAAqB;IAmCnC;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;YAmCV,2BAA2B;YAa3B,kBAAkB;YAmBlB,sBAAsB;IAgKpC;;;;;oEAKgE;YAClD,6BAA6B;IA+B3C;;;;;8CAK0C;IAC1C,OAAO,CAAC,qBAAqB;IAO7B;;;iEAG6D;YAC/C,aAAa;IAQ3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sEAqCkE;YACpD,oBAAoB;IA6PlC;;;;;;;;;;;;;;;;;;;;;;yEAsBqE;YACvD,iBAAiB;YAkDjB,kBAAkB;IA2ChC;;;;;OAKG;YACW,WAAW;YAuBX,aAAa;CAolB5B;AA0OD,eAAO,MAAM,mBAAmB,aAO9B,CAAC;AAOH,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAE1C;;;gBAGgB;AAChB,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAOzE;AAED;;;8CAG8C;AAC9C,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,gBAAgB,WAAW,CAAC;AACzC,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C;gDACgD;AAChD,eAAO,MAAM,YAAY,OAAO,CAAC;AACjC,eAAO,MAAM,aAAa,QAAQ,CAAC;AAGnC;;;gCAGgC;AAChC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAElE;AAqBD;;;;2DAI2D;AAC3D,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,sBAAsB,GAAG,SAAS,GACzC,sBAAsB,GAAG,SAAS,CAEpC;AAED;;;;;;;;;;;;;;;;;2EAiB2E;AAC3E,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,cAAc,CAAC,EAAE,sBAAsB,GACtC,mBAAmB,CAgBrB;AAED;;8CAE8C;AAC9C,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAY1E;AAED;6EAC6E;AAC7E,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB;kDAC8C;IAC9C,cAAc,CAAC,EAAE,sBAAsB,CAAC;CACzC,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,SAAS,EAAE,EACvB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,MAAM,GAAE,SAAS,EAAO,EACxB,YAAY,GAAE,MAAyB,EACvC,QAAQ,CAAC,EAAE,mBAAmB;AAC9B;;;;oCAIoC;AACpC,eAAe,CAAC,EAAE,OAAO,GACxB,mBAAmB,EAAE,CAoGvB;AAoFD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CA+DhG;AAED;;;;;;;;;;;;;;;;;;;gFAmBgF;AAChF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAiCnF;AA+HD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EAAE,EACtB,SAAS,EAAE,MAAM,EAAE,EACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/C,MAAM,CAAC,EAAE,MAAM,GACd,SAAS,EAAE,CAKb;AA6MD,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc,CAmFpE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,MAAM,GAAG,SAAS,CAYrB;AAwKD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,GAAG,gBAAgB,EAAE,GAAG,wBAAwB,EAAE,EACvF,IAAI,EAAE,WAAW,GAAG,MAAM,EAC1B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,SAAS,CAAC;IAOtB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAM/B,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,aAAa,CAAC,EAAE,OAAO,CAAC;IAIxB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GACA,mBAAmB,EAAE,CAiXvB;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,0BAA0B,EACnC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IACR,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;CAC7C,GACA,mBAAmB,EAAE,CAgIvB;AAED;;;;;;;;;;;oEAWoE;AACpE,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC,EAC3D,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,cAAc,CAAC,CAczB;AAED,wBAAgB,MAAM;;;EAgDrB"}
|
package/dist/acp-agent.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { agent as acpAgent, methods, ndJsonStream, RequestError, } from "@agentclientprotocol/sdk";
|
|
2
2
|
import { deleteSession, getSessionInfo, getSessionMessages, listSessions, query, } from "@anthropic-ai/claude-agent-sdk";
|
|
3
|
+
import { GOAL_ACTIONS, GOAL_CONTROL_METHOD, GOAL_EXTENSION_VERSION, parseGoalRequest, toGoalSnapshot, } from "./goal-extension.js";
|
|
3
4
|
import { execFile } from "node:child_process";
|
|
4
5
|
import { randomUUID } from "node:crypto";
|
|
5
6
|
import * as fs from "node:fs/promises";
|
|
@@ -132,6 +133,11 @@ const AUTONOMOUS_RESULT_ORIGINS = new Set([
|
|
|
132
133
|
function isHeldOpen(turn) {
|
|
133
134
|
return turn != null && turn.deferredSettle !== undefined && !turn.settled;
|
|
134
135
|
}
|
|
136
|
+
/** Whether a steer moved this turn's settlement off the next result and onto the
|
|
137
|
+
* SDK's `idle` (see Turn.steeredEchoes). Shared by the consumer's settle lanes. */
|
|
138
|
+
function isSteering(turn) {
|
|
139
|
+
return turn != null && turn.steeredEchoes !== undefined && !turn.settled;
|
|
140
|
+
}
|
|
135
141
|
/** Disarm the force-cancel backstop (see Session.forceCancelTimer). Every
|
|
136
142
|
* path that settles the active turn must run this so a timer can never fire
|
|
137
143
|
* on an already-settled turn — and must leave the field undefined, or the
|
|
@@ -443,6 +449,14 @@ export function resolvePermissionMode(defaultMode, logger = console) {
|
|
|
443
449
|
* the exact scope they are committing to. Uses the SDK-provided suggestions
|
|
444
450
|
* when available (e.g. `Bash(npm test:*)`) and falls back to naming the whole
|
|
445
451
|
* tool so "Always Allow" is never a blank check without disclosure.
|
|
452
|
+
*
|
|
453
|
+
* Fork-only layer. Upstream #930 moved the scope disclosure out of the option
|
|
454
|
+
* label and into `_meta.permission.changes`, leaving the label as a fixed
|
|
455
|
+
* "Always Allow". No shipping client reads that metadata yet — Zed in
|
|
456
|
+
* particular has no reference to it — so on the label alone the user would be
|
|
457
|
+
* granting a rule they cannot see. This restores the disclosure in the label
|
|
458
|
+
* WITHOUT dropping the upstream metadata: both travel on the same option, and
|
|
459
|
+
* the label can be retired once a client renders the structured form.
|
|
446
460
|
*/
|
|
447
461
|
export function describeAlwaysAllow(suggestions, toolName) {
|
|
448
462
|
if (!suggestions || suggestions.length === 0) {
|
|
@@ -472,6 +486,111 @@ export function describeAlwaysAllow(suggestions, toolName) {
|
|
|
472
486
|
}
|
|
473
487
|
return `Always Allow ${parts.join(" and ")}`;
|
|
474
488
|
}
|
|
489
|
+
function permissionLifetime(destination) {
|
|
490
|
+
switch (destination) {
|
|
491
|
+
case "session":
|
|
492
|
+
return { scope: "session" };
|
|
493
|
+
case "cliArg":
|
|
494
|
+
return { scope: "process", storage: "cli_argument" };
|
|
495
|
+
case "userSettings":
|
|
496
|
+
return { scope: "persistent", storage: "user" };
|
|
497
|
+
case "projectSettings":
|
|
498
|
+
return { scope: "persistent", storage: "project" };
|
|
499
|
+
case "localSettings":
|
|
500
|
+
return { scope: "persistent", storage: "project_local" };
|
|
501
|
+
default:
|
|
502
|
+
return { scope: "unknown" };
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
function permissionMetadataForAlwaysAllow(suggestions, toolName) {
|
|
506
|
+
const effectiveSuggestions = suggestions && suggestions.length > 0
|
|
507
|
+
? suggestions
|
|
508
|
+
: [
|
|
509
|
+
{
|
|
510
|
+
type: "addRules",
|
|
511
|
+
rules: [{ toolName }],
|
|
512
|
+
behavior: "allow",
|
|
513
|
+
destination: "session",
|
|
514
|
+
},
|
|
515
|
+
];
|
|
516
|
+
const changes = [];
|
|
517
|
+
for (const update of effectiveSuggestions) {
|
|
518
|
+
switch (update.type) {
|
|
519
|
+
case "addRules":
|
|
520
|
+
case "removeRules":
|
|
521
|
+
case "replaceRules": {
|
|
522
|
+
const operation = update.type === "addRules" ? "add" : update.type === "removeRules" ? "remove" : "replace";
|
|
523
|
+
const targets = update.rules.map((rule) => ({
|
|
524
|
+
type: "tool",
|
|
525
|
+
toolName: rule.toolName,
|
|
526
|
+
...(rule.ruleContent
|
|
527
|
+
? {
|
|
528
|
+
matcher: {
|
|
529
|
+
type: "provider_rule",
|
|
530
|
+
provider: "claudeCode",
|
|
531
|
+
value: rule.ruleContent,
|
|
532
|
+
},
|
|
533
|
+
}
|
|
534
|
+
: {}),
|
|
535
|
+
}));
|
|
536
|
+
const renderedRules = update.rules
|
|
537
|
+
.map((rule) => rule.ruleContent
|
|
538
|
+
? `${rule.toolName} calls matching ${rule.ruleContent}`
|
|
539
|
+
: `all ${rule.toolName} calls`)
|
|
540
|
+
.join(", ");
|
|
541
|
+
const verb = operation === "add"
|
|
542
|
+
? update.behavior === "allow"
|
|
543
|
+
? "Allow"
|
|
544
|
+
: update.behavior === "deny"
|
|
545
|
+
? "Deny"
|
|
546
|
+
: "Ask before"
|
|
547
|
+
: operation === "remove"
|
|
548
|
+
? `Remove ${update.behavior} rules for`
|
|
549
|
+
: `Replace ${update.behavior} rules with`;
|
|
550
|
+
changes.push({
|
|
551
|
+
type: "policy_rule",
|
|
552
|
+
operation,
|
|
553
|
+
ruleBehavior: update.behavior,
|
|
554
|
+
description: `${verb} ${renderedRules}`,
|
|
555
|
+
lifetime: permissionLifetime(update.destination),
|
|
556
|
+
targets,
|
|
557
|
+
});
|
|
558
|
+
break;
|
|
559
|
+
}
|
|
560
|
+
case "addDirectories":
|
|
561
|
+
case "removeDirectories": {
|
|
562
|
+
const operation = update.type === "addDirectories" ? "add" : "remove";
|
|
563
|
+
changes.push({
|
|
564
|
+
type: "policy_rule",
|
|
565
|
+
operation,
|
|
566
|
+
ruleBehavior: "allow",
|
|
567
|
+
description: operation === "add"
|
|
568
|
+
? `Allow filesystem access under ${update.directories.join(", ")}`
|
|
569
|
+
: `Remove additional filesystem access under ${update.directories.join(", ")}`,
|
|
570
|
+
lifetime: permissionLifetime(update.destination),
|
|
571
|
+
targets: update.directories.map((path) => ({
|
|
572
|
+
type: "filesystem",
|
|
573
|
+
matcher: { type: "directory", path },
|
|
574
|
+
})),
|
|
575
|
+
});
|
|
576
|
+
break;
|
|
577
|
+
}
|
|
578
|
+
case "setMode":
|
|
579
|
+
changes.push({
|
|
580
|
+
type: "permission_mode",
|
|
581
|
+
operation: "set",
|
|
582
|
+
provider: "claudeCode",
|
|
583
|
+
mode: update.mode,
|
|
584
|
+
description: `Set Claude Code permission mode to ${update.mode}`,
|
|
585
|
+
lifetime: permissionLifetime(update.destination),
|
|
586
|
+
});
|
|
587
|
+
break;
|
|
588
|
+
default:
|
|
589
|
+
break;
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
return { version: 1, changes };
|
|
593
|
+
}
|
|
475
594
|
/**
|
|
476
595
|
* Bridges {@link AcpClient} to the connection-scoped {@link AgentContext}
|
|
477
596
|
* exposed by `AgentApp.connect(...)` as `connection.client`. The peer handle is
|
|
@@ -674,6 +793,11 @@ export class ClaudeAcpAgent {
|
|
|
674
793
|
steering: {
|
|
675
794
|
supported: true,
|
|
676
795
|
},
|
|
796
|
+
goal: {
|
|
797
|
+
version: GOAL_EXTENSION_VERSION,
|
|
798
|
+
controlMethod: GOAL_CONTROL_METHOD,
|
|
799
|
+
actions: [...GOAL_ACTIONS],
|
|
800
|
+
},
|
|
677
801
|
},
|
|
678
802
|
};
|
|
679
803
|
}
|
|
@@ -1023,6 +1147,13 @@ export class ClaudeAcpAgent {
|
|
|
1023
1147
|
this.ensureConsumer(session, params.sessionId);
|
|
1024
1148
|
return response;
|
|
1025
1149
|
}
|
|
1150
|
+
async goal(params) {
|
|
1151
|
+
await this.prompt({
|
|
1152
|
+
sessionId: params.sessionId,
|
|
1153
|
+
prompt: [{ type: "text", text: "/goal clear" }],
|
|
1154
|
+
});
|
|
1155
|
+
return {};
|
|
1156
|
+
}
|
|
1026
1157
|
/** Steer the session per the ACP steering wire protocol: inject a follow-up
|
|
1027
1158
|
* message into the turn that is currently running. If that turn already
|
|
1028
1159
|
* settled, the established default starts a new detached turn; Hosts may opt
|
|
@@ -1039,6 +1170,10 @@ export class ClaudeAcpAgent {
|
|
|
1039
1170
|
* calls). The steered message's own output streams via `session/update`, not
|
|
1040
1171
|
* this response.
|
|
1041
1172
|
*
|
|
1173
|
+
* Pre-empting means ABORTING: the interrupted cycle emits a `result` of its
|
|
1174
|
+
* own and the steered message runs as a second one, so the turn is marked
|
|
1175
|
+
* (`Turn.steeredEchoes`) to settle at the SDK's `idle` instead of that result.
|
|
1176
|
+
*
|
|
1042
1177
|
* When the session is idle, the opt-in path returns `promptRequired` WITHOUT
|
|
1043
1178
|
* calling `prompt()`, pushing SDK input, or mutating `turnQueue`: the content
|
|
1044
1179
|
* stays Host-owned so the Host can submit it through a standard
|
|
@@ -1058,7 +1193,7 @@ export class ClaudeAcpAgent {
|
|
|
1058
1193
|
// which is exactly the window in which steering is meaningful. This check
|
|
1059
1194
|
// and the active-path push below stay in one synchronous section so the
|
|
1060
1195
|
// turn cannot settle in the gap between deciding to inject and enqueueing.
|
|
1061
|
-
const turnInFlight = (session.turnQueue ?? []).
|
|
1196
|
+
const turnInFlight = (session.turnQueue ?? []).find((turn) => !turn.settled);
|
|
1062
1197
|
if (!turnInFlight) {
|
|
1063
1198
|
const promptRequest = {
|
|
1064
1199
|
sessionId,
|
|
@@ -1081,10 +1216,23 @@ export class ClaudeAcpAgent {
|
|
|
1081
1216
|
prompt: params.prompt,
|
|
1082
1217
|
};
|
|
1083
1218
|
const userMessage = promptToClaude(promptRequest);
|
|
1084
|
-
|
|
1219
|
+
const steeredUuid = randomUUID();
|
|
1220
|
+
userMessage.uuid = steeredUuid;
|
|
1085
1221
|
// Deliver into the running turn rather than queuing behind it as a fresh
|
|
1086
1222
|
// prompt would.
|
|
1087
1223
|
userMessage.priority = STEER_PRIORITY;
|
|
1224
|
+
// Mark before the push and in the same synchronous section as the in-flight
|
|
1225
|
+
// check: the interrupt can have the CLI finalizing the aborted cycle by the
|
|
1226
|
+
// time the consumer next runs, and an unmarked result would settle the turn
|
|
1227
|
+
// (see Turn.steeredEchoes).
|
|
1228
|
+
(turnInFlight.steeredEchoes ??= new Set()).add(steeredUuid);
|
|
1229
|
+
// A turn already held for background subagents has a recorded outcome the
|
|
1230
|
+
// steer supersedes: move it into the steer lane so one lane owns settlement.
|
|
1231
|
+
// The idle handler re-applies the hold through the subagent gate.
|
|
1232
|
+
if (turnInFlight.deferredSettle !== undefined) {
|
|
1233
|
+
turnInFlight.steeredSettle = turnInFlight.deferredSettle;
|
|
1234
|
+
turnInFlight.deferredSettle = undefined;
|
|
1235
|
+
}
|
|
1088
1236
|
session.input.push(userMessage);
|
|
1089
1237
|
return { outcome: "injected" };
|
|
1090
1238
|
}
|
|
@@ -1404,6 +1552,14 @@ export class ClaudeAcpAgent {
|
|
|
1404
1552
|
* calling settleActive directly bypasses the hold and re-opens the
|
|
1405
1553
|
* out-of-turn permission deadlock (issue #866) through its lane. */
|
|
1406
1554
|
const settleOrDefer = (outcome) => {
|
|
1555
|
+
// No result ends a steered turn: the steer aborted the cycle this result
|
|
1556
|
+
// may belong to, and the steered one is still to come. Record the outcome
|
|
1557
|
+
// for the idle lane (see Turn.steeredEchoes); later cycles overwrite it,
|
|
1558
|
+
// so the last result and its usage win.
|
|
1559
|
+
if (isSteering(session.activeTurn)) {
|
|
1560
|
+
session.activeTurn.steeredSettle = outcome;
|
|
1561
|
+
return;
|
|
1562
|
+
}
|
|
1407
1563
|
if (session.activeTurn &&
|
|
1408
1564
|
!session.activeTurn.settled &&
|
|
1409
1565
|
turnAwaitingSubagents(session.activeTurn)) {
|
|
@@ -1733,6 +1889,20 @@ export class ClaudeAcpAgent {
|
|
|
1733
1889
|
}
|
|
1734
1890
|
continue;
|
|
1735
1891
|
}
|
|
1892
|
+
// `active_goal` is emitted by the Claude runtime but is not currently
|
|
1893
|
+
// included in the public SDKMessage union. Handle it before the
|
|
1894
|
+
// exhaustive switch and publish only the provider-neutral ACP shape.
|
|
1895
|
+
if (message.type === "active_goal") {
|
|
1896
|
+
const activeGoal = message;
|
|
1897
|
+
await this.client.sessionUpdate({
|
|
1898
|
+
sessionId: params.sessionId,
|
|
1899
|
+
update: {
|
|
1900
|
+
sessionUpdate: "session_info_update",
|
|
1901
|
+
_meta: { goal: toGoalSnapshot(activeGoal) },
|
|
1902
|
+
},
|
|
1903
|
+
});
|
|
1904
|
+
continue;
|
|
1905
|
+
}
|
|
1736
1906
|
switch (message.type) {
|
|
1737
1907
|
case "system":
|
|
1738
1908
|
switch (message.subtype) {
|
|
@@ -1900,8 +2070,33 @@ export class ClaudeAcpAgent {
|
|
|
1900
2070
|
// this lagged idle (no active turn to settle): the idle
|
|
1901
2071
|
// still belongs to that settled turn, and skipping the
|
|
1902
2072
|
// decrement would leak the debt permanently.
|
|
2073
|
+
// Deliberately BEFORE the steer lane below: an owed idle
|
|
2074
|
+
// belongs to an earlier turn, and reading it as the steered
|
|
2075
|
+
// sequence's turn-over signal would settle a turn whose
|
|
2076
|
+
// steered cycle is still running. Steered results owe none.
|
|
1903
2077
|
session.owedTrailingIdles--;
|
|
1904
2078
|
}
|
|
2079
|
+
else if (isSteering(session.activeTurn)) {
|
|
2080
|
+
// A steered turn settles here, not at a result: this idle is
|
|
2081
|
+
// the only signal spanning the interrupted and steered cycles
|
|
2082
|
+
// (see Turn.steeredEchoes). An idle before the steered echo,
|
|
2083
|
+
// or before any result was recorded, means the answer is
|
|
2084
|
+
// still ahead — swallow it, and never let it reach the #825
|
|
2085
|
+
// fail below, which would reject a prompt about to answer.
|
|
2086
|
+
//
|
|
2087
|
+
// Plain Turn so the fields can be cleared below; isSteering
|
|
2088
|
+
// narrows steeredEchoes to non-optional.
|
|
2089
|
+
const steered = session.activeTurn;
|
|
2090
|
+
if (steered.steeredEchoes?.size === 0 && steered.steeredSettle !== undefined) {
|
|
2091
|
+
// Via the subagent gate, not settleActive: a steered turn
|
|
2092
|
+
// can also have spawned background subagents, which own it
|
|
2093
|
+
// from here (settles now if none is live, holds otherwise).
|
|
2094
|
+
steered.deferredSettle = steered.steeredSettle;
|
|
2095
|
+
steered.steeredEchoes = undefined;
|
|
2096
|
+
steered.steeredSettle = undefined;
|
|
2097
|
+
settleDeferredIfDrained();
|
|
2098
|
+
}
|
|
2099
|
+
}
|
|
1905
2100
|
else if (!session.cancelled &&
|
|
1906
2101
|
session.activeTurn &&
|
|
1907
2102
|
!session.activeTurn.settled) {
|
|
@@ -2321,7 +2516,14 @@ export class ClaudeAcpAgent {
|
|
|
2321
2516
|
// turn's OWN result — a followup result arriving inside the
|
|
2322
2517
|
// cancel window still gets its own trailer and must be counted,
|
|
2323
2518
|
// or that idle would later false-fail the next prompt.
|
|
2324
|
-
|
|
2519
|
+
// A second exclusion: a steered turn's own results (see
|
|
2520
|
+
// Turn.steeredEchoes). One idle covers the whole interrupted +
|
|
2521
|
+
// steered sequence and that idle settles the turn, so counting
|
|
2522
|
+
// either result would leave a debt that swallows it. Autonomous
|
|
2523
|
+
// results inside a steered turn keep their own trailers.
|
|
2524
|
+
const owesTrailingIdle = isAutonomousResult || !isSteering(session.activeTurn);
|
|
2525
|
+
if (owesTrailingIdle &&
|
|
2526
|
+
(isAutonomousResult || !session.cancelled || !session.activeTurn)) {
|
|
2325
2527
|
session.owedTrailingIdles++;
|
|
2326
2528
|
}
|
|
2327
2529
|
// Accumulate usage into the user turn's tally. Skip autonomous
|
|
@@ -2725,6 +2927,22 @@ export class ClaudeAcpAgent {
|
|
|
2725
2927
|
// when the drain idle eventually arrives.
|
|
2726
2928
|
settleActive(session.activeTurn.deferredSettle);
|
|
2727
2929
|
}
|
|
2930
|
+
else if (isSteering(session.activeTurn) &&
|
|
2931
|
+
session.activeTurn.steeredSettle !== undefined) {
|
|
2932
|
+
// Same for a turn with an open steer (see
|
|
2933
|
+
// Turn.steeredEchoes): the user moving on outranks the
|
|
2934
|
+
// steered continuation, but its last result's stop reason
|
|
2935
|
+
// stands. With no result yet it falls through to the
|
|
2936
|
+
// end_turn hand-off below, owing nothing there.
|
|
2937
|
+
//
|
|
2938
|
+
// The steer lane normally pays for that result's trailing
|
|
2939
|
+
// idle by settling on it; this hand-off settles instead,
|
|
2940
|
+
// so count it here or it arrives un-owed against the fresh
|
|
2941
|
+
// turn and false-fails it (issue #825). Harmless if it
|
|
2942
|
+
// never comes: the debt absorbs one future idle.
|
|
2943
|
+
session.owedTrailingIdles++;
|
|
2944
|
+
settleActive(session.activeTurn.steeredSettle);
|
|
2945
|
+
}
|
|
2728
2946
|
else {
|
|
2729
2947
|
settleActive({ stopReason: "end_turn", usage: sessionUsage(session) });
|
|
2730
2948
|
}
|
|
@@ -2741,6 +2959,13 @@ export class ClaudeAcpAgent {
|
|
|
2741
2959
|
break;
|
|
2742
2960
|
}
|
|
2743
2961
|
if ("isReplay" in message && message.isReplay) {
|
|
2962
|
+
// A steered message's echo matches no turn (steer() creates
|
|
2963
|
+
// none), but it marks the steered cycle as running — how the idle
|
|
2964
|
+
// lane tells "the answer is still ahead" from "the turn is over"
|
|
2965
|
+
// (see Turn.steeredEchoes).
|
|
2966
|
+
if (isSteering(session.activeTurn)) {
|
|
2967
|
+
session.activeTurn.steeredEchoes.delete(message.uuid);
|
|
2968
|
+
}
|
|
2744
2969
|
// Unrelated replay (e.g. the echo of an already-settled turn).
|
|
2745
2970
|
break;
|
|
2746
2971
|
}
|
|
@@ -3185,6 +3410,15 @@ export class ClaudeAcpAgent {
|
|
|
3185
3410
|
active.resolve({ stopReason: "cancelled", usage: active.deferredSettle.usage });
|
|
3186
3411
|
}
|
|
3187
3412
|
}
|
|
3413
|
+
// A steered active turn (see Turn.steeredEchoes) settles "cancelled" in the
|
|
3414
|
+
// consumer at the interrupt's trailing idle, like any live turn. But the
|
|
3415
|
+
// steer lane pays for its last result's trailer by settling on it, which
|
|
3416
|
+
// this cancel pre-empts, so count that trailer here or it arrives un-owed
|
|
3417
|
+
// against the next prompt and false-fails it (issue #825). Over-counting
|
|
3418
|
+
// when only one trailer comes absorbs a future idle.
|
|
3419
|
+
if (isSteering(session.activeTurn) && session.activeTurn.steeredSettle !== undefined) {
|
|
3420
|
+
session.owedTrailingIdles++;
|
|
3421
|
+
}
|
|
3188
3422
|
// Arm a backstop before interrupting: if a turn is actively consuming the
|
|
3189
3423
|
// query and interrupt() doesn't make the SDK yield (e.g. a wedged TaskOutput
|
|
3190
3424
|
// block — issue #680), force the consumer to settle the active turn
|
|
@@ -3616,7 +3850,6 @@ export class ClaudeAcpAgent {
|
|
|
3616
3850
|
}
|
|
3617
3851
|
canUseTool(sessionId) {
|
|
3618
3852
|
return async (toolName, toolInput, { signal, suggestions, toolUseID, agentID, matchedAskRule }) => {
|
|
3619
|
-
const alwaysAllowLabel = describeAlwaysAllow(suggestions, toolName);
|
|
3620
3853
|
const supportsTerminalOutput = this.clientCapabilities?._meta?.["terminal_output"] === true;
|
|
3621
3854
|
const session = this.sessions[sessionId];
|
|
3622
3855
|
if (!session) {
|
|
@@ -3741,13 +3974,19 @@ export class ClaudeAcpAgent {
|
|
|
3741
3974
|
}
|
|
3742
3975
|
const response = await this.requestPermissionFromClient({
|
|
3743
3976
|
options: [
|
|
3977
|
+
{ kind: "reject_once", name: "Deny", optionId: "reject" },
|
|
3978
|
+
{ kind: "allow_once", name: "Allow Once", optionId: "allow" },
|
|
3744
3979
|
{
|
|
3980
|
+
// The label discloses the scope for clients that render only the
|
|
3981
|
+
// option name; `_meta.permission` carries the same commitment in
|
|
3982
|
+
// the structured upstream form. See `describeAlwaysAllow`.
|
|
3745
3983
|
kind: "allow_always",
|
|
3746
|
-
name:
|
|
3984
|
+
name: describeAlwaysAllow(suggestions, toolName),
|
|
3747
3985
|
optionId: "allow_always",
|
|
3986
|
+
_meta: {
|
|
3987
|
+
permission: permissionMetadataForAlwaysAllow(suggestions, toolName),
|
|
3988
|
+
},
|
|
3748
3989
|
},
|
|
3749
|
-
{ kind: "allow_once", name: "Allow", optionId: "allow" },
|
|
3750
|
-
{ kind: "reject_once", name: "Reject", optionId: "reject" },
|
|
3751
3990
|
],
|
|
3752
3991
|
sessionId,
|
|
3753
3992
|
toolCall: {
|
|
@@ -6652,6 +6891,7 @@ export function runAcp() {
|
|
|
6652
6891
|
.onRequest(methods.agent.session.prompt, (ctx) => runPromptWithCancellation(agent, ctx.params, ctx.signal))
|
|
6653
6892
|
.onNotification(methods.agent.session.cancel, (ctx) => agent.cancel(ctx.params))
|
|
6654
6893
|
.onRequest(STEER_METHOD, { parse: parseSteerRequest }, (ctx) => agent.steer(ctx.params))
|
|
6894
|
+
.onRequest(GOAL_CONTROL_METHOD, { parse: parseGoalRequest }, (ctx) => agent.goal(ctx.params))
|
|
6655
6895
|
.connect(stream);
|
|
6656
6896
|
agent = new ClaudeAcpAgent(new ClientConnection(connection.client));
|
|
6657
6897
|
return { connection, agent };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { SDKActiveGoalMessage } from "@anthropic-ai/claude-agent-sdk";
|
|
2
|
+
export declare const GOAL_EXTENSION_VERSION: 1;
|
|
3
|
+
export declare const GOAL_CONTROL_METHOD = "_session/goal";
|
|
4
|
+
export declare const GOAL_ACTIONS: readonly ["clear"];
|
|
5
|
+
export type GoalAction = (typeof GOAL_ACTIONS)[number];
|
|
6
|
+
export type GoalCapability = {
|
|
7
|
+
version: typeof GOAL_EXTENSION_VERSION;
|
|
8
|
+
controlMethod: typeof GOAL_CONTROL_METHOD;
|
|
9
|
+
actions: GoalAction[];
|
|
10
|
+
};
|
|
11
|
+
export type GoalStatus = "active" | "paused" | "blocked" | "limited" | "complete";
|
|
12
|
+
export type GoalSnapshot = {
|
|
13
|
+
objective: string;
|
|
14
|
+
status: GoalStatus;
|
|
15
|
+
iterations?: number;
|
|
16
|
+
lastReason?: string | null;
|
|
17
|
+
createdAt?: number;
|
|
18
|
+
updatedAt?: number;
|
|
19
|
+
tokenBudget?: number | null;
|
|
20
|
+
tokensUsed?: number;
|
|
21
|
+
timeUsedSeconds?: number;
|
|
22
|
+
controlMethod: typeof GOAL_CONTROL_METHOD;
|
|
23
|
+
};
|
|
24
|
+
export type GoalRequest = {
|
|
25
|
+
sessionId: string;
|
|
26
|
+
action: GoalAction;
|
|
27
|
+
};
|
|
28
|
+
export type GoalControlResponse = Record<string, never>;
|
|
29
|
+
export declare function parseGoalRequest(params: unknown): GoalRequest;
|
|
30
|
+
export declare function toGoalSnapshot(message: SDKActiveGoalMessage): GoalSnapshot | null;
|
|
31
|
+
//# sourceMappingURL=goal-extension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"goal-extension.d.ts","sourceRoot":"","sources":["../src/goal-extension.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,eAAO,MAAM,sBAAsB,EAAG,CAAU,CAAC;AACjD,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AAEnD,eAAO,MAAM,YAAY,oBAAqB,CAAC;AAC/C,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,OAAO,sBAAsB,CAAC;IACvC,aAAa,EAAE,OAAO,mBAAmB,CAAC;IAC1C,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAElF,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,OAAO,mBAAmB,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAExD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,CAY7D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,YAAY,GAAG,IAAI,CAYjF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { RequestError } from "@agentclientprotocol/sdk";
|
|
2
|
+
export const GOAL_EXTENSION_VERSION = 1;
|
|
3
|
+
export const GOAL_CONTROL_METHOD = "_session/goal";
|
|
4
|
+
export const GOAL_ACTIONS = ["clear"];
|
|
5
|
+
export function parseGoalRequest(params) {
|
|
6
|
+
if (!params || typeof params !== "object") {
|
|
7
|
+
throw RequestError.invalidParams(undefined, "goal params must be an object");
|
|
8
|
+
}
|
|
9
|
+
const { sessionId, action } = params;
|
|
10
|
+
if (typeof sessionId !== "string" || sessionId.length === 0) {
|
|
11
|
+
throw RequestError.invalidParams(undefined, "goal params require a non-empty sessionId");
|
|
12
|
+
}
|
|
13
|
+
if (!GOAL_ACTIONS.includes(action)) {
|
|
14
|
+
throw RequestError.invalidParams(undefined, 'goal action must be "clear"');
|
|
15
|
+
}
|
|
16
|
+
return { sessionId, action: action };
|
|
17
|
+
}
|
|
18
|
+
export function toGoalSnapshot(message) {
|
|
19
|
+
if (message.value === null) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
objective: message.value.condition.trim(),
|
|
24
|
+
status: "active",
|
|
25
|
+
iterations: message.value.iterations,
|
|
26
|
+
lastReason: message.value.last_reason ?? null,
|
|
27
|
+
createdAt: message.value.set_at,
|
|
28
|
+
controlMethod: GOAL_CONTROL_METHOD,
|
|
29
|
+
};
|
|
30
|
+
}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.
|
|
6
|
+
"version": "0.6.0",
|
|
7
7
|
"description": "ACP adapter for the Claude Agent SDK with VS Code-parity UX for Zed and other ACP clients — checkbox multi-select questions, refusal consent dialog, dynamic agent name. Fork of claude-agent-acp.",
|
|
8
8
|
"main": "dist/lib.js",
|
|
9
9
|
"types": "dist/lib.d.ts",
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"@typescript-eslint/parser": "8.65.0",
|
|
85
85
|
"eslint": "10.8.0",
|
|
86
86
|
"eslint-config-prettier": "10.1.8",
|
|
87
|
-
"globals": "17.
|
|
87
|
+
"globals": "17.9.0",
|
|
88
88
|
"prettier": "3.9.6",
|
|
89
89
|
"ts-node": "10.9.2",
|
|
90
90
|
"typescript": "6.0.3",
|