acpx 0.17.0 → 0.18.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.
Files changed (37) hide show
  1. package/dist/{agent-registry-DU6mhZBL.js → agent-registry-DdKB-zia.js} +20 -17
  2. package/dist/agent-registry-DdKB-zia.js.map +1 -0
  3. package/dist/agent-registry.d.ts.map +1 -1
  4. package/dist/agent-registry.js +1 -1
  5. package/dist/{cli-CiyfEC7L.js → cli-8mVHeUXh.js} +5 -5
  6. package/dist/{cli-CiyfEC7L.js.map → cli-8mVHeUXh.js.map} +1 -1
  7. package/dist/cli.js +122 -94
  8. package/dist/cli.js.map +1 -1
  9. package/dist/{client-C6NUFqr-.d.ts → client-DeNKZZcu.d.ts} +19 -13
  10. package/dist/client-DeNKZZcu.d.ts.map +1 -0
  11. package/dist/{flows-CTOdIk-m.js → flows-WOQNzCMC.js} +5 -5
  12. package/dist/{flows-CTOdIk-m.js.map → flows-WOQNzCMC.js.map} +1 -1
  13. package/dist/flows.d.ts +1 -1
  14. package/dist/flows.js +1 -1
  15. package/dist/{invocation-options-DbCcOAzM.js → invocation-options-B6d7TI-y.js} +7 -6
  16. package/dist/{invocation-options-DbCcOAzM.js.map → invocation-options-B6d7TI-y.js.map} +1 -1
  17. package/dist/{ipc-D3akHMEq.js → ipc-BJrvfNXr.js} +307 -90
  18. package/dist/ipc-BJrvfNXr.js.map +1 -0
  19. package/dist/{output-BPPjvJTI.js → output-CL18YmsG.js} +9 -6
  20. package/dist/output-CL18YmsG.js.map +1 -0
  21. package/dist/{queue-owner-runtime--IbbndGz.js → queue-owner-runtime-Cr0dWJuL.js} +1008 -463
  22. package/dist/queue-owner-runtime-Cr0dWJuL.js.map +1 -0
  23. package/dist/runtime.d.ts +129 -39
  24. package/dist/runtime.d.ts.map +1 -1
  25. package/dist/runtime.js +378 -176
  26. package/dist/runtime.js.map +1 -1
  27. package/dist/{session-watch--UX5dh00.js → session-watch-B8Q_TsGf.js} +4 -4
  28. package/dist/{session-watch--UX5dh00.js.map → session-watch-B8Q_TsGf.js.map} +1 -1
  29. package/dist/{watch-BbBxO-kb.js → watch-Dp73ph8h.js} +2 -2
  30. package/dist/{watch-BbBxO-kb.js.map → watch-Dp73ph8h.js.map} +1 -1
  31. package/package.json +3 -3
  32. package/skills/acpx/SKILL.md +27 -7
  33. package/dist/agent-registry-DU6mhZBL.js.map +0 -1
  34. package/dist/client-C6NUFqr-.d.ts.map +0 -1
  35. package/dist/ipc-D3akHMEq.js.map +0 -1
  36. package/dist/output-BPPjvJTI.js.map +0 -1
  37. package/dist/queue-owner-runtime--IbbndGz.js.map +0 -1
@@ -22,7 +22,10 @@ type RequestedModelUnsupportedReason = (typeof REQUESTED_MODEL_UNSUPPORTED_REASO
22
22
  declare class RequestedModelUnsupportedError extends Error {
23
23
  readonly code: "ACP_MODEL_UNSUPPORTED";
24
24
  readonly reason: RequestedModelUnsupportedReason;
25
- constructor(message: string, reason: RequestedModelUnsupportedReason);
25
+ readonly ambiguous?: true;
26
+ constructor(message: string, reason: RequestedModelUnsupportedReason, details?: {
27
+ ambiguous?: true;
28
+ });
26
29
  }
27
30
  declare function isRequestedModelUnsupportedError(value: unknown): value is RequestedModelUnsupportedError;
28
31
  //#endregion
@@ -49,7 +52,6 @@ type SessionLoadResult = {
49
52
  };
50
53
  type SessionResumeResult = SessionLoadResult;
51
54
  type AgentDisconnectReason = "process_exit" | "process_close" | "pipe_close" | "connection_close";
52
- type ModelControlOverride = Pick<SessionModelState, "configId"> & Partial<Pick<SessionModelState, "availableModels">>;
53
55
  type AgentExitInfo = {
54
56
  exitCode: number | null;
55
57
  signal: NodeJS.Signals | null;
@@ -85,13 +87,12 @@ declare class AcpClient {
85
87
  private readonly cancellingSessionIds;
86
88
  private readonly permissionAbortControllers;
87
89
  private closing;
90
+ private closeEpoch;
88
91
  private agentStartedAt?;
89
92
  private lastAgentExit?;
90
93
  private lastKnownPid?;
91
94
  private readonly promptPermissionFailures;
92
95
  private readonly pendingConnectionRequests;
93
- private readonly modelConfigIds;
94
- private readonly legacyModelSessionIds;
95
96
  constructor(options: AcpClientOptions);
96
97
  get initializeResult(): InitializeResponse | undefined;
97
98
  getAgentPid(): number | undefined;
@@ -114,10 +115,11 @@ declare class AcpClient {
114
115
  }): void;
115
116
  private updateClientCapabilityPreferences;
116
117
  private refreshRuntimePermissionPolicy;
118
+ private hasLiveConnection;
117
119
  hasReusableSession(sessionId: string): boolean;
118
120
  hasActivePrompt(sessionId?: string): boolean;
119
121
  hasUnresolvedPrompt(): boolean;
120
- endPromptElicitation(sessionId: string): void;
122
+ private abortSessionRequests;
121
123
  start(): Promise<void>;
122
124
  private resolveAgentLaunchPlan;
123
125
  private logAgentLaunch;
@@ -135,29 +137,29 @@ declare class AcpClient {
135
137
  resumeSession(sessionId: string, cwd?: string): Promise<SessionResumeResult>;
136
138
  private applySessionUpdateSuppression;
137
139
  private restoreSessionUpdateSuppression;
138
- prompt(sessionId: string, prompt: PromptInput | string, onRequestWritten?: () => Promise<void> | void, onElicitation?: AcpElicitationHandler, onPermissionRequest?: AcpPermissionHandler): Promise<PromptResponse>;
140
+ prompt(sessionId: string, prompt: PromptInput | string, onRequestWritten?: () => Promise<void> | void, onElicitation?: AcpElicitationHandler, onPermissionRequest?: AcpPermissionHandler, authority?: AcpControlAuthority): Promise<PromptResponse>;
139
141
  private beginActivePrompt;
140
142
  private bindPromptOwner;
143
+ private assertPromptActive;
141
144
  private onPromptRequestWritten;
142
145
  private clearActivePrompt;
143
146
  private normalizePromptForAgent;
144
147
  private returnPromptResponseOrPermissionFailure;
145
148
  private throwPromptPermissionFailureIfPresent;
146
149
  setSessionMode(sessionId: string, modeId: string, authority?: AcpControlAuthority): Promise<void>;
147
- setSessionConfigOption(sessionId: string, configId: string, value: string, authority?: AcpControlAuthority): Promise<SetSessionConfigOptionResponse>;
148
- setSessionModel(sessionId: string, modelId: string, controlOverride?: ModelControlOverride, authority?: AcpControlAuthority): Promise<SetSessionConfigOptionResponse | undefined>;
150
+ setSessionConfigOption(sessionId: string, configId: string, value: string, models: SessionModelState | undefined, authority?: AcpControlAuthority): Promise<SetSessionConfigOptionResponse>;
151
+ setSessionModel(sessionId: string, modelId: string, models: SessionModelState | undefined, authority?: AcpControlAuthority): Promise<SetSessionConfigOptionResponse | undefined>;
152
+ private resolveSessionModelId;
149
153
  private setSessionModelThroughConfig;
150
154
  private setSessionModelThroughLegacyMethod;
151
155
  private throwSessionModelError;
152
- private resolveModelControl;
153
- private rememberSessionModels;
154
- private updateRememberedSessionModels;
155
156
  cancel(sessionId: string): Promise<void>;
156
157
  closeSession(sessionId: string): Promise<void>;
157
158
  listSessions(params?: ListSessionsRequest): Promise<ListSessionsResponse>;
158
159
  requestCancelActivePrompt(): Promise<boolean>;
159
160
  cancelActivePrompt(waitMs?: number): Promise<PromptResponse | undefined>;
160
161
  close(): Promise<void>;
162
+ private stopIfClosedDuringLaunch;
161
163
  private abortActiveElicitation;
162
164
  private closeConnection;
163
165
  private captureAgentDescendants;
@@ -178,11 +180,14 @@ declare class AcpClient {
178
180
  private isGrokBuildAcpCommand;
179
181
  private authenticateIfRequired;
180
182
  private handlePermissionRequest;
183
+ private finishPermissionRequest;
184
+ private hasPermissionOwner;
181
185
  private handleElicitationRequest;
182
186
  private resolveElicitationOwner;
183
187
  private resolveElicitationScope;
184
188
  private isElicitationSessionCancelling;
185
- private resolvePermissionOwner;
189
+ private captureDelegatedRequestOwner;
190
+ private isDelegatedRequestActive;
186
191
  private tryHandlePermissionRequestWithHost;
187
192
  private hostPermissionDecisionResponse;
188
193
  private hostPermissionErrorResponse;
@@ -202,6 +207,7 @@ declare class AcpClient {
202
207
  private handleReadTextFile;
203
208
  private handleWriteTextFile;
204
209
  private handleCreateTerminal;
210
+ private runDelegatedOperation;
205
211
  private cancellationSignalForSession;
206
212
  private takePermissionAbortController;
207
213
  private recordPermissionDecision;
@@ -215,4 +221,4 @@ declare class AcpClient {
215
221
  }
216
222
  //#endregion
217
223
  export { RequestedModelUnsupportedErrorCode as a, AcpControlAuthority as c, RequestedModelUnsupportedError as i, REQUESTED_MODEL_UNSUPPORTED_ERROR_CODE as n, RequestedModelUnsupportedReason as o, REQUESTED_MODEL_UNSUPPORTED_REASONS as r, isRequestedModelUnsupportedError as s, AcpClient as t };
218
- //# sourceMappingURL=client-C6NUFqr-.d.ts.map
224
+ //# sourceMappingURL=client-DeNKZZcu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-DeNKZZcu.d.ts","names":[],"sources":["../src/async-control.ts","../src/acp/model-support.ts","../src/acp/client.ts"],"mappings":";;;KAcY;EACV,SAAS;EACT;;;;KCbU;EACV;EACA;EACA,iBAAiB;IACf;IACA;;;cAaS;KAED,4CAA4C;cAE3C;KAKD,0CAA0C;cAEzC,uCAAuC;WACzC;WACA,QAAQ;WACR;EAGP,YAAA,iBACA,QAAQ,iCACR;IAAY;;;iBAoBA,iCACd,iBACC,SAAS;;;KCmJP;EACH;EACA;EACA;;KAGU;EACV;EACA;EACA,gBAAgB;EAChB,SAAS;EACT;EACA;;KAGU;EACV;EACA,gBAAgB;EAChB,SAAS;EACT;EACA;;KAGU,sBAAsB;KA8B7B;KAqFO;EACV;EACA,QAAQ,OAAO;EACf;EACA,QAAQ;EACR;;KAGU;EACV;EACA;EACA;EACA,WAAW;;cA0CA;UACH;UACA;UACA;mBACS;mBACA;UACT;UACA;UACA;mBAQS;mBAMA;mBACA;UACT;UACA;UACA;UACA;UACA;UACA;mBACS;mBACA;mBACA;UACT;UAEA;UACA;UACA;UACA;mBACS;mBACA;EAEL,YAAA,SAAS;MAmCjB,oBAAoB;EAIxB;EAIA,sBAAsB;EAItB,6BAA6B;EAW7B;EAIA;EAIA;EAIA;EAIA,iBACE,UAAU,KACR;EAWJ;EAIA,qBAAqB;IACnB,iBAAiB;IACjB,4BAA4B;IAC5B,mBAAmB;IACnB;IACA;IACA;IACA;;UAuBM;UASA;UAcA;EASR,mBAAmB;EAInB,gBAAgB;EAUhB;UAIQ;EAWF,SAAS;UAwFD;UA6BN;UAiBM;UAcA;UAsDA;UAmBN;UAgEM;UAwBA;UAoBA;UA4BN;EAgBF,cAAc,eAAyB,QAAQ;EA8C/C,YAAY,mBAAmB,eAAyB,QAAQ;EAKhE,uBACJ,mBACA,cACA,UAAS,qBACR,QAAQ;EAgCL,cAAc,mBAAmB,eAAyB,QAAQ;UAiBhE;UAWA;EAKF,OACJ,mBACA,QAAQ,sBACR,yBAAyB,sBACzB,gBAAgB,uBAChB,sBAAsB,sBACtB,YAAY,sBACX,QAAQ;UA+CH;UAsBA;UAaA;UAUA;UAcA;UAwBA;UAYA;UAQA;EAOF,eACJ,mBACA,gBACA,YAAY,sBACX;EAaG,uBACJ,mBACA,kBACA,eACA,QAAQ,+BACR,YAAY,sBACX,QAAQ;EAsBL,gBACJ,mBACA,iBACA,QAAQ,+BACR,YAAY,sBACX,QAAQ;UAmBH;UAUM;UAoBA;UAqBN;EAoBF,OAAO,oBAAoB;EA8B3B,aAAa,oBAAoB;EAcjC,aAAa,SAAQ,sBAA2B,QAAQ;EAOxD,6BAA6B;EAS7B,mBAAmB,kBAAiB,QAAQ;EAyC5C,SAAS;UA0DD;UAaN;UAIA;UAIM;UAON;UAWM;UAgCN;UAYM;UAyBN;UAkBA;UAOA;UAOA;UAcA;UASA;UAqEM;UA0BN;UA2CA;UAQA;UAUA;UAcM;UA6BA;UAiCN;UAUA;UAQM;UAuCN;UAuBA;UAqBA;UAIA;UAwBA;UASM;UA8BN;UAoBA;UAiBM;UAwBN;UAqBA;UAQA;UAQA;UA+BA;UAmBA;UAyBA;UAKA;UAwBA;UASA;UAUM;UAqDN;UAYM;UAmBA;UASA;UASA;UAoBN;UASA;UAMA;UAaA;UAWM;UAkBA;EAgCR,0BAA0B;IAC9B;IACA;MACE"}
@@ -1,7 +1,7 @@
1
- import { t as createOutputFormatter } from "./output-BPPjvJTI.js";
2
- import { C as textPrompt, Dt as SESSION_RECORD_SCHEMA, F as resolveSessionRecord, S as promptToDisplayText, Tt as PERMISSION_MODES, ct as defaultSessionEventLog, mt as writePrivateJsonFile, pt as writePrivateFile } from "./ipc-D3akHMEq.js";
3
- import { B as recordClientOperation, H as recordSessionUpdate, L as cloneSessionAcpxState, V as recordPromptSubmission, _ as cancelSessionPrompt, at as withInterrupt, i as runOnce, m as createSessionWithClient, nt as InterruptedError, o as sendSessionDirect, ot as withTimeout, rt as TimeoutError, z as createSessionConversation } from "./queue-owner-runtime--IbbndGz.js";
4
- import { M as runTimedExecFile } from "./agent-registry-DU6mhZBL.js";
1
+ import { t as createOutputFormatter } from "./output-CL18YmsG.js";
2
+ import { C as promptToDisplayText, Dt as PERMISSION_MODES, I as resolveSessionRecord, ht as writePrivateJsonFile, kt as SESSION_RECORD_SCHEMA, lt as defaultSessionEventLog, mt as writePrivateFile, w as textPrompt } from "./ipc-BJrvfNXr.js";
3
+ import { B as cloneSessionAcpxState, G as recordSessionUpdate, H as createSessionConversation, U as recordClientOperation, W as recordPromptSubmission, _ as cancelSessionPrompt, at as InterruptedError, ct as withInterrupt, i as runOnce, lt as withTimeout, m as createSessionWithClient, o as sendSessionDirect, ot as TimeoutError } from "./queue-owner-runtime-Cr0dWJuL.js";
4
+ import { M as runTimedExecFile } from "./agent-registry-DdKB-zia.js";
5
5
  import path from "node:path";
6
6
  import { spawn } from "node:child_process";
7
7
  import fs from "node:fs/promises";
@@ -2229,4 +2229,4 @@ function formatDecisionPrompt(question, choices, field) {
2229
2229
  //#endregion
2230
2230
  export { parseStrictJsonObject as a, validateFlowDefinition as c, checkpoint as d, compute as f, isDefinedFlow as h, parseJsonObject as i, acp as l, shell as m, decisionEdge as n, FlowRunner as o, defineFlow as p, extractJsonObject as r, flowRunsBaseDir as s, decision as t, action as u };
2231
2231
 
2232
- //# sourceMappingURL=flows-CTOdIk-m.js.map
2232
+ //# sourceMappingURL=flows-WOQNzCMC.js.map