acpx 0.19.5 → 0.20.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 (41) hide show
  1. package/dist/{agent-registry-kHdpsK9F.js → agent-registry-Gtwn7nMp.js} +9 -1
  2. package/dist/agent-registry-Gtwn7nMp.js.map +1 -0
  3. package/dist/agent-registry.d.ts +1 -0
  4. package/dist/agent-registry.d.ts.map +1 -1
  5. package/dist/agent-registry.js +1 -2
  6. package/dist/{cli-CQtZNbI4.js → cli-CnufHoAJ.js} +4 -4
  7. package/dist/{cli-CQtZNbI4.js.map → cli-CnufHoAJ.js.map} +1 -1
  8. package/dist/cli.d.ts +2 -1
  9. package/dist/cli.js +9 -9
  10. package/dist/{client-zT_kgYGW.d.ts → client-R5OmZ--S.d.ts} +2 -2
  11. package/dist/{client-zT_kgYGW.d.ts.map → client-R5OmZ--S.d.ts.map} +1 -1
  12. package/dist/{flows-Clk_mTYy.js → flows-CTRAV28u.js} +5 -5
  13. package/dist/{flows-Clk_mTYy.js.map → flows-CTRAV28u.js.map} +1 -1
  14. package/dist/flows.d.ts +2 -2
  15. package/dist/flows.d.ts.map +1 -1
  16. package/dist/flows.js +1 -2
  17. package/dist/{invocation-options-iM1Cc2A1.js → invocation-options-DE3Z_fqa.js} +5 -5
  18. package/dist/{invocation-options-iM1Cc2A1.js.map → invocation-options-DE3Z_fqa.js.map} +1 -1
  19. package/dist/{ipc-C96eDxkW.js → ipc-D2BC99hf.js} +4 -7
  20. package/dist/ipc-D2BC99hf.js.map +1 -0
  21. package/dist/{output-DnEPVCtT.js → output-B1Srnvko.js} +18 -14
  22. package/dist/output-B1Srnvko.js.map +1 -0
  23. package/dist/{queue-owner-runtime-DoijBCvt.js → queue-owner-runtime-Be8sr9L5.js} +4 -3
  24. package/dist/queue-owner-runtime-Be8sr9L5.js.map +1 -0
  25. package/dist/runtime.d.ts +5 -2
  26. package/dist/runtime.d.ts.map +1 -1
  27. package/dist/runtime.js +75 -29
  28. package/dist/runtime.js.map +1 -1
  29. package/dist/{session-options-CkcvthCv.d.ts → session-options-DQlqgFv2.d.ts} +4 -1
  30. package/dist/session-options-DQlqgFv2.d.ts.map +1 -0
  31. package/dist/{session-watch-2CKSvPIS.js → session-watch-CpYYtV62.js} +4 -4
  32. package/dist/{session-watch-2CKSvPIS.js.map → session-watch-CpYYtV62.js.map} +1 -1
  33. package/dist/{watch-pnPd9LCw.js → watch-Db2D1eYN.js} +2 -2
  34. package/dist/{watch-pnPd9LCw.js.map → watch-Db2D1eYN.js.map} +1 -1
  35. package/package.json +3 -3
  36. package/skills/acpx/SKILL.md +5 -2
  37. package/dist/agent-registry-kHdpsK9F.js.map +0 -1
  38. package/dist/ipc-C96eDxkW.js.map +0 -1
  39. package/dist/output-DnEPVCtT.js.map +0 -1
  40. package/dist/queue-owner-runtime-DoijBCvt.js.map +0 -1
  41. package/dist/session-options-CkcvthCv.d.ts.map +0 -1
package/dist/runtime.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { AcpAgentInspection, AcpAgentInspectionOptions, AcpAgentRegistry, AcpInspectableAgentRegistry, DEFAULT_AGENT_NAME, createAgentRegistry } from "./agent-registry.js";
2
- import { C as PermissionPolicy, E as PromptInput, S as PermissionMode, T as SessionRecord, _ as AcpProcessSpawnFailure, a as AcpElicitationHandler, b as McpServer$1, c as AcpElicitationResponse, d as AcpPermissionHandler, f as AcpPermissionRequest, g as AcpProcessLifecycle, h as AcpProcessLaunchScope, i as AcpElicitationContext, l as AcpJsonRpcMessage, m as AcpProcessLaunch, n as SystemPromptOption, o as AcpElicitationMode, p as AcpProcessExit, s as AcpElicitationRequest, t as SessionAgentOptions, u as AcpPermissionDecision, v as AcpProcessStarted, x as NonInteractivePermissionPolicy, y as AuthPolicy } from "./session-options-CkcvthCv.js";
3
- import { n as AcpControlAuthority, t as AcpClient } from "./client-zT_kgYGW.js";
2
+ import { C as PermissionPolicy, E as PromptInput, S as PermissionMode, T as SessionRecord, _ as AcpProcessSpawnFailure, a as AcpElicitationHandler, b as McpServer$1, c as AcpElicitationResponse, d as AcpPermissionHandler, f as AcpPermissionRequest, g as AcpProcessLifecycle, h as AcpProcessLaunchScope, i as AcpElicitationContext, l as AcpJsonRpcMessage, m as AcpProcessLaunch, n as SystemPromptOption, o as AcpElicitationMode, p as AcpProcessExit, s as AcpElicitationRequest, t as SessionAgentOptions, u as AcpPermissionDecision, v as AcpProcessStarted, x as NonInteractivePermissionPolicy, y as AuthPolicy } from "./session-options-DQlqgFv2.js";
3
+ import { n as AcpControlAuthority, t as AcpClient } from "./client-R5OmZ--S.js";
4
4
  import { z } from "zod";
5
5
  import { SetSessionConfigOptionResponse, ToolCallContent, ToolCallLocation, ToolKind } from "@agentclientprotocol/sdk";
6
6
  //#region src/acp/model-support.d.ts
@@ -593,6 +593,8 @@ declare class AcpRuntimeManager {
593
593
  private reuseRuntimeSession;
594
594
  private closeConflictingPersistentSession;
595
595
  private createOwnedRuntimeSession;
596
+ private abandonInitializingSessionOwner;
597
+ private settleRetiredSessionRecord;
596
598
  private prepareInitialRuntimeRecord;
597
599
  private retainInitializedSessionOwner;
598
600
  startTurn(input: RuntimeTurnTask["input"]): AcpRuntimeTurn;
@@ -642,6 +644,7 @@ declare class AcpRuntimeManager {
642
644
  discardPersistentState?: boolean;
643
645
  }): Promise<void>;
644
646
  private closeRuntimeSession;
647
+ private saveClosedRuntimeRecord;
645
648
  private resolveRuntimeRecordForClose;
646
649
  private markActiveRuntimeRecordClosing;
647
650
  private closeRuntimeRecordOwnership;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","names":[],"sources":["../src/acp/model-support.ts","../src/session/journal.ts","../src/runtime/public/contract.ts","../src/runtime/public/probe.ts","../src/runtime/engine/turn.ts","../src/runtime/engine/manager.ts","../src/runtime/public/file-session-store.ts","../src/runtime/public/errors.ts","../src/runtime/public/shared.ts","../src/runtime/public/handle-state.ts","../src/runtime/shared.ts","../src/runtime.ts"],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","names":["McpServer","_$__public_contract_js0.AcpRuntimeEvent","_$__public_contract_js0.AcpRuntimeStatus","_$___runtime_js0.SessionWatchEvent","_$__runtime_js0.AcpRuntimeTurnResult"],"sources":["../src/acp/model-support.ts","../src/session/journal.ts","../src/runtime/public/contract.ts","../src/runtime/public/probe.ts","../src/runtime/engine/turn.ts","../src/runtime/engine/manager.ts","../src/runtime/public/file-session-store.ts","../src/runtime/public/errors.ts","../src/runtime/public/shared.ts","../src/runtime/public/handle-state.ts","../src/runtime/shared.ts","../src/runtime.ts"],"mappings":"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"}
package/dist/runtime.js CHANGED
@@ -1,7 +1,7 @@
1
- import { A as findSession, B as assertPersistedKeyPolicy, C as textPrompt, Dt as normalizeOutputError, L as readSessionRecord, Ot as extractAcpError, R as resolveSessionRecord, U as serializeSessionRecordForDisk, V as parseSessionRecord, bt as writePrivateJsonFile, kt as isAcpResourceNotFoundError, t as tryCancelOnRunningOwner } from "./ipc-C96eDxkW.js";
2
- import { O as normalizeAgentCommandInput, a as createAgentRegistry, i as DEFAULT_AGENT_NAME } from "./agent-registry-kHdpsK9F.js";
3
- import { $ as isRequestedModelUnsupportedError, A as applyInitialModelSelection, B as reconcileAgentSessionId, C as setSessionModeOnOwner, D as connectAndLoadSession, E as withConnectedSession, F as persistSessionOptions, G as recordSessionUpdate, I as sessionOptionsFromRecord, J as advertisedModelState, K as trimConversationForRuntime, L as applyConversation, M as applyRequestedModelIfAdvertised, N as setDesiredModeId, O as applyConfigOptionSelection, P as normalizeSessionOptionShape, Q as RequestedModelUnsupportedError, R as applyLifecycleSnapshotToRecord, T as setSessionModelOnOwner, U as recordClientOperation, V as cloneSessionConversation, W as recordPromptSubmission, X as REQUESTED_MODEL_UNSUPPORTED_ERROR_CODE, Y as AcpClient, Z as REQUESTED_MODEL_UNSUPPORTED_REASONS, _ as cancelSessionPrompt, c as LiveSessionCheckpoint, dt as TimeoutError, et as resolveRequestedConfigOption, ft as assertControlAuthority, h as ensureSession, j as applyModelSelection, k as applyConfigOptionsToRecord, l as runPromptTurn, mt as withTimeout, q as cloneSessionAcpxState, r as sendSession, s as DISCARD_OUTPUT_FORMATTER, tt as resolveRequestedModelId, v as closeSession, x as setSessionConfigOptionOnOwner, z as createInitialSessionRecord } from "./queue-owner-runtime-DoijBCvt.js";
4
- import { t as watchSession } from "./watch-pnPd9LCw.js";
1
+ import { A as findSession, B as assertPersistedKeyPolicy, C as textPrompt, Dt as normalizeOutputError, L as readSessionRecord, Ot as extractAcpError, R as resolveSessionRecord, U as serializeSessionRecordForDisk, V as parseSessionRecord, bt as writePrivateJsonFile, kt as isAcpResourceNotFoundError, t as tryCancelOnRunningOwner } from "./ipc-D2BC99hf.js";
2
+ import { O as normalizeAgentCommandInput, a as createAgentRegistry, i as DEFAULT_AGENT_NAME } from "./agent-registry-Gtwn7nMp.js";
3
+ import { $ as isRequestedModelUnsupportedError, A as applyInitialModelSelection, B as reconcileAgentSessionId, C as setSessionModeOnOwner, D as connectAndLoadSession, E as withConnectedSession, F as persistSessionOptions, G as recordSessionUpdate, I as sessionOptionsFromRecord, J as advertisedModelState, K as trimConversationForRuntime, L as applyConversation, M as applyRequestedModelIfAdvertised, N as setDesiredModeId, O as applyConfigOptionSelection, P as normalizeSessionOptionShape, Q as RequestedModelUnsupportedError, R as applyLifecycleSnapshotToRecord, T as setSessionModelOnOwner, U as recordClientOperation, V as cloneSessionConversation, W as recordPromptSubmission, X as REQUESTED_MODEL_UNSUPPORTED_ERROR_CODE, Y as AcpClient, Z as REQUESTED_MODEL_UNSUPPORTED_REASONS, _ as cancelSessionPrompt, c as LiveSessionCheckpoint, dt as TimeoutError, et as resolveRequestedConfigOption, ft as assertControlAuthority, h as ensureSession, j as applyModelSelection, k as applyConfigOptionsToRecord, l as runPromptTurn, mt as withTimeout, q as cloneSessionAcpxState, r as sendSession, s as DISCARD_OUTPUT_FORMATTER, tt as resolveRequestedModelId, v as closeSession, x as setSessionConfigOptionOnOwner, z as createInitialSessionRecord } from "./queue-owner-runtime-Be8sr9L5.js";
4
+ import { t as watchSession } from "./watch-Db2D1eYN.js";
5
5
  import { fileURLToPath } from "node:url";
6
6
  import path from "node:path";
7
7
  import fs from "node:fs/promises";
@@ -1126,7 +1126,7 @@ var AcpRuntimeManager = class {
1126
1126
  return owner;
1127
1127
  }
1128
1128
  async saveSessionOwner(owner) {
1129
- if (!owner.recordId) return;
1129
+ if (!owner.recordId || owner.pendingResetRecord) return;
1130
1130
  const active = owner.activeTurn?.turn;
1131
1131
  const target = active ?? owner.projection;
1132
1132
  if (!target) return;
@@ -1225,11 +1225,18 @@ var AcpRuntimeManager = class {
1225
1225
  const flushAttempt = await settleAttempt(async () => this.flushSessionOwner(owner));
1226
1226
  const closeAttempt = await settleAttempt(async () => this.closeClient(owner.client));
1227
1227
  if (!closeAttempt.ok) this.retiringSessionOwners.add(owner);
1228
+ const finalFlushAttempt = await settleAttempt(async () => owner.checkpoint.flush());
1229
+ const clearAttempt = await settleAttempt(() => owner.client.clearEventHandlers());
1230
+ const settleRecordAttempt = await settleAttempt(async () => {
1231
+ if (closeAttempt.ok) await this.settleRetiredSessionRecord(owner);
1232
+ });
1233
+ if (!settleRecordAttempt.ok) this.retiringSessionOwners.add(owner);
1228
1234
  return firstFailedAttempt([
1229
1235
  flushAttempt,
1230
1236
  closeAttempt,
1231
- await settleAttempt(async () => owner.checkpoint.flush()),
1232
- await settleAttempt(() => owner.client.clearEventHandlers())
1237
+ finalFlushAttempt,
1238
+ clearAttempt,
1239
+ settleRecordAttempt
1233
1240
  ]);
1234
1241
  }
1235
1242
  async retrySessionCleanup(recordId) {
@@ -1237,7 +1244,8 @@ var AcpRuntimeManager = class {
1237
1244
  owner.retirement ??= this.finalizeSessionConnection({
1238
1245
  client: owner.client,
1239
1246
  owner
1240
- }).then(() => {
1247
+ }).then(async () => {
1248
+ await this.settleRetiredSessionRecord(owner);
1241
1249
  this.retiringSessionOwners.delete(owner);
1242
1250
  }).finally(() => {
1243
1251
  owner.retirement = void 0;
@@ -1427,6 +1435,7 @@ var AcpRuntimeManager = class {
1427
1435
  return await this.withManagerLock(this.runtimeOperationLocks, input.sessionKey, async () => this.acquireRuntimeSession(input, agent));
1428
1436
  }
1429
1437
  async reuseCompatiblePersistentSession(input, agent) {
1438
+ await this.retrySessionCleanup(input.sessionKey);
1430
1439
  const controlled = this.controlSessionRecords.get(input.sessionKey);
1431
1440
  const record = controlled ? controlled.record : await this.findSession(input.sessionKey);
1432
1441
  if (!record || this.closingActiveRecords.has(input.sessionKey) || !shouldReuseExistingRecord(record, {
@@ -1520,7 +1529,6 @@ var AcpRuntimeManager = class {
1520
1529
  sessionKey: input.sessionKey,
1521
1530
  mode: input.mode
1522
1531
  });
1523
- let retained = false;
1524
1532
  try {
1525
1533
  await startRuntimeClient(client, agent, this.options.timeoutMs);
1526
1534
  this.assertOpen();
@@ -1535,16 +1543,32 @@ var AcpRuntimeManager = class {
1535
1543
  session
1536
1544
  });
1537
1545
  await this.retainInitializedSessionOwner(owner, record);
1538
- retained = true;
1539
1546
  return record;
1540
- } finally {
1541
- if (!retained) {
1542
- owner.recordId = void 0;
1543
- client.clearEventHandlers();
1544
- await this.closeClient(client);
1545
- }
1547
+ } catch (error) {
1548
+ await settleAttempt(async () => this.abandonInitializingSessionOwner(owner));
1549
+ throw error;
1546
1550
  }
1547
1551
  }
1552
+ async abandonInitializingSessionOwner(owner) {
1553
+ const record = owner.recordId ? owner.projection?.record : void 0;
1554
+ owner.pendingResetRecord = record;
1555
+ await settleAttempt(() => owner.client.clearEventHandlers());
1556
+ const closeAttempt = await settleAttempt(async () => this.closeClient(owner.client));
1557
+ if (!record) return;
1558
+ this.retiringSessionOwners.add(owner);
1559
+ if (closeAttempt.ok) {
1560
+ await this.settleRetiredSessionRecord(owner);
1561
+ this.retiringSessionOwners.delete(owner);
1562
+ }
1563
+ }
1564
+ async settleRetiredSessionRecord(owner) {
1565
+ const record = owner.pendingResetRecord;
1566
+ if (!record) return;
1567
+ applyLifecycleSnapshotToRecord(record, owner.client.getAgentLifecycleSnapshot());
1568
+ await this.saveClosedRuntimeRecord(record, true);
1569
+ owner.pendingResetRecord = void 0;
1570
+ owner.recordId = void 0;
1571
+ }
1548
1572
  async prepareInitialRuntimeRecord(params) {
1549
1573
  const { input, client, owner, agentCommand, agentArgv, cwd, session } = params;
1550
1574
  const record = createInitialSessionRecord({
@@ -2159,9 +2183,22 @@ var AcpRuntimeManager = class {
2159
2183
  const record = await this.resolveRuntimeRecordForClose(recordId);
2160
2184
  this.markActiveRuntimeRecordClosing(record);
2161
2185
  if (intent !== "prepare-fresh") await this.cancelSessionTasks(recordId);
2162
- await this.closeRuntimeRecordOwnership(record, intent);
2186
+ const closeFailure = await this.closeRuntimeRecordOwnership(record, intent);
2187
+ if (intent === "discard") {
2188
+ if (closeFailure) throw closeFailure.error;
2189
+ return;
2190
+ }
2191
+ const saveAttempt = await settleAttempt(async () => this.saveClosedRuntimeRecord(record, intent !== "release"));
2192
+ const failure = closeFailure ?? firstFailedAttempt([saveAttempt]);
2193
+ if (failure) throw failure.error;
2194
+ }
2195
+ async saveClosedRuntimeRecord(record, reset) {
2163
2196
  record.closed = true;
2164
2197
  record.closedAt = isoNow();
2198
+ if (reset) record.acpx = {
2199
+ ...record.acpx,
2200
+ reset_on_next_ensure: true
2201
+ };
2165
2202
  await this.options.sessionStore.save(record);
2166
2203
  }
2167
2204
  async resolveRuntimeRecordForClose(recordId) {
@@ -2173,7 +2210,7 @@ var AcpRuntimeManager = class {
2173
2210
  if (this.activeControllers.has(record.acpxRecordId)) this.closingActiveRecords.add(record.acpxRecordId);
2174
2211
  }
2175
2212
  async closeRuntimeRecordOwnership(record, intent) {
2176
- if (intent === "discard") await this.closeBackendSession(record);
2213
+ if (intent === "discard") return await this.closeBackendSession(record);
2177
2214
  else if (intent === "prepare-fresh") {
2178
2215
  const owner = this.retainedSessionOwners.get(record.acpxRecordId);
2179
2216
  if (owner) {
@@ -2182,20 +2219,29 @@ var AcpRuntimeManager = class {
2182
2219
  }
2183
2220
  await this.retrySessionCleanup(record.acpxRecordId);
2184
2221
  } else await this.closeRetainedSessionOwner(record.acpxRecordId);
2185
- if (intent !== "release") record.acpx = {
2186
- ...record.acpx,
2187
- reset_on_next_ensure: true
2188
- };
2189
2222
  }
2190
2223
  async closeBackendSession(record) {
2191
2224
  const connection = await this.acquireBackendCloseConnection(record);
2192
- try {
2193
- await this.requestBackendSessionClose(record, connection);
2194
- } catch (error) {
2195
- this.handleBackendSessionCloseError(record, error);
2196
- } finally {
2197
- await this.finalizeSessionConnection(connection);
2198
- }
2225
+ const requestAttempt = await settleAttempt(async () => {
2226
+ try {
2227
+ await this.requestBackendSessionClose(record, connection);
2228
+ } catch (error) {
2229
+ this.handleBackendSessionCloseError(record, error);
2230
+ }
2231
+ });
2232
+ const owner = connection.owner ?? this.createSessionOwner({
2233
+ client: connection.client,
2234
+ sessionKey: record.acpxRecordId,
2235
+ mode: "persistent"
2236
+ });
2237
+ owner.recordId = record.acpxRecordId;
2238
+ const finalizeAttempt = await settleAttempt(async () => this.finalizeSessionConnection(connection));
2239
+ owner.pendingResetRecord = record;
2240
+ this.retiringSessionOwners.add(owner);
2241
+ if (!finalizeAttempt.ok) throw finalizeAttempt.error;
2242
+ const saveAttempt = await settleAttempt(async () => this.settleRetiredSessionRecord(owner));
2243
+ if (saveAttempt.ok) this.retiringSessionOwners.delete(owner);
2244
+ return firstFailedAttempt([requestAttempt, saveAttempt]);
2199
2245
  }
2200
2246
  async finalizeSessionConnection(connection) {
2201
2247
  const failure = firstFailedAttempt([