acpx 0.19.6 → 0.21.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/{agent-registry-kHdpsK9F.js → agent-registry-Gtwn7nMp.js} +9 -1
- package/dist/agent-registry-Gtwn7nMp.js.map +1 -0
- package/dist/agent-registry.d.ts.map +1 -1
- package/dist/agent-registry.js +1 -1
- package/dist/{cli-B7jLigTF.js → cli-I6rP9FGr.js} +4 -4
- package/dist/{cli-B7jLigTF.js.map → cli-I6rP9FGr.js.map} +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +9 -9
- package/dist/{client-zT_kgYGW.d.ts → client-BaAmQKNy.d.ts} +3 -2
- package/dist/{client-zT_kgYGW.d.ts.map → client-BaAmQKNy.d.ts.map} +1 -1
- package/dist/{flows-DCYuQ4Wp.js → flows-7PaF7X66.js} +5 -5
- package/dist/{flows-DCYuQ4Wp.js.map → flows-7PaF7X66.js.map} +1 -1
- package/dist/flows.d.ts +2 -2
- package/dist/flows.js +1 -1
- package/dist/{invocation-options-BDk2PTpd.js → invocation-options-TRskRIuI.js} +13 -6
- package/dist/{invocation-options-BDk2PTpd.js.map → invocation-options-TRskRIuI.js.map} +1 -1
- package/dist/{ipc-B9IjR-45.js → ipc-D2BC99hf.js} +3 -6
- package/dist/ipc-D2BC99hf.js.map +1 -0
- package/dist/{output-BBKrvWhJ.js → output-CkfCaQfo.js} +3 -3
- package/dist/{output-BBKrvWhJ.js.map → output-CkfCaQfo.js.map} +1 -1
- package/dist/{queue-owner-runtime-DJ399xKB.js → queue-owner-runtime-CNrWkR8J.js} +123 -23
- package/dist/queue-owner-runtime-CNrWkR8J.js.map +1 -0
- package/dist/runtime.d.ts +21 -2
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +87 -31
- package/dist/runtime.js.map +1 -1
- package/dist/{session-options-CkcvthCv.d.ts → session-options-DVr_JUL7.d.ts} +11 -1
- package/dist/session-options-DVr_JUL7.d.ts.map +1 -0
- package/dist/{session-watch-Dpy75ytE.js → session-watch-BLLknspd.js} +4 -4
- package/dist/{session-watch-Dpy75ytE.js.map → session-watch-BLLknspd.js.map} +1 -1
- package/dist/{watch-BlnJqhro.js → watch-Db2D1eYN.js} +2 -2
- package/dist/{watch-BlnJqhro.js.map → watch-Db2D1eYN.js.map} +1 -1
- package/package.json +3 -3
- package/skills/acpx/SKILL.md +31 -3
- package/dist/agent-registry-kHdpsK9F.js.map +0 -1
- package/dist/ipc-B9IjR-45.js.map +0 -1
- package/dist/queue-owner-runtime-DJ399xKB.js.map +0 -1
- 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-
|
|
3
|
-
import { n as AcpControlAuthority, t as AcpClient } from "./client-
|
|
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-DVr_JUL7.js";
|
|
3
|
+
import { n as AcpControlAuthority, t as AcpClient } from "./client-BaAmQKNy.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
|
|
@@ -407,6 +407,18 @@ type AcpRuntimeOptions = {
|
|
|
407
407
|
cwd: string;
|
|
408
408
|
/** Trusted child-only environment, snapshotted at construction and never persisted. */
|
|
409
409
|
agentProcessEnv?: Record<string, string>;
|
|
410
|
+
/**
|
|
411
|
+
* Opt-in allowlist for agent children, command probes and ACP terminals: when set, they
|
|
412
|
+
* inherit only process essentials, these parent names and `ACPX_AUTH_*` grants.
|
|
413
|
+
* Snapshotted at construction. Explicit grants and overlays still apply.
|
|
414
|
+
*/
|
|
415
|
+
agentProcessEnvAllow?: readonly string[];
|
|
416
|
+
/**
|
|
417
|
+
* Parent environment names withheld from agent children, command probes and ACP
|
|
418
|
+
* terminals, applied after `agentProcessEnvAllow` and snapshotted at construction.
|
|
419
|
+
* Explicit grants and overlays still apply.
|
|
420
|
+
*/
|
|
421
|
+
agentProcessEnvBlock?: readonly string[];
|
|
410
422
|
sessionStore: AcpSessionStore;
|
|
411
423
|
agentRegistry: AcpAgentRegistry;
|
|
412
424
|
/**
|
|
@@ -469,6 +481,10 @@ type InspectAgentModelsOptions = {
|
|
|
469
481
|
timeoutMs?: number;
|
|
470
482
|
/** Trusted child-only environment overlay; never persisted. */
|
|
471
483
|
agentProcessEnv?: Record<string, string>;
|
|
484
|
+
/** Opt-in allowlist of parent environment names the inspected agent inherits. */
|
|
485
|
+
agentProcessEnvAllow?: readonly string[];
|
|
486
|
+
/** Parent environment names the inspected agent does not inherit. */
|
|
487
|
+
agentProcessEnvBlock?: readonly string[];
|
|
472
488
|
};
|
|
473
489
|
/**
|
|
474
490
|
* Inspect session model metadata without a runtime store or prompt. The agent
|
|
@@ -593,6 +609,8 @@ declare class AcpRuntimeManager {
|
|
|
593
609
|
private reuseRuntimeSession;
|
|
594
610
|
private closeConflictingPersistentSession;
|
|
595
611
|
private createOwnedRuntimeSession;
|
|
612
|
+
private abandonInitializingSessionOwner;
|
|
613
|
+
private settleRetiredSessionRecord;
|
|
596
614
|
private prepareInitialRuntimeRecord;
|
|
597
615
|
private retainInitializedSessionOwner;
|
|
598
616
|
startTurn(input: RuntimeTurnTask["input"]): AcpRuntimeTurn;
|
|
@@ -642,6 +660,7 @@ declare class AcpRuntimeManager {
|
|
|
642
660
|
discardPersistentState?: boolean;
|
|
643
661
|
}): Promise<void>;
|
|
644
662
|
private closeRuntimeSession;
|
|
663
|
+
private saveClosedRuntimeRecord;
|
|
645
664
|
private resolveRuntimeRecordForClose;
|
|
646
665
|
private markActiveRuntimeRecordClosing;
|
|
647
666
|
private closeRuntimeRecordOwnership;
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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":";;;;;;qBAea;KAED,4CAA4C;qBAE3C;KAKD,0CAA0C;qBAEzC,uCAAuC;WACzC;WACA,QAAQ;WACR;EAGP,YAAA,iBACA,QAAQ,iCACR;IAAY;;;wBAoBA,iCACd,iBACC,SAAS;;;KCtCA;EAEN;EACA;EACA,QAAQ;;EAGR;EACA;IAAS;IAAiB;IAAe;IAAqB;;;KAGxD;EAAsB;;EAC5B;EAAiB;EAA0B,SAAS;;EACpD;EAAsB;;EACtB;EAAqB;EAAmB,QAAQ;;;;;;;;;KCgB1C;KAEA;KAEA;KAaA;KAMA;EACV;EACA;EACA;EACA;EACA;EACA;EACA;;KAGU;EACV;EACA;EACA,MAAM;EACN;EACA;;;;;;;;;EASA,iBAAiB;;KAGP;;;;;EAKV;EACA;;;;;;KAOU,sBAAsB;EAChC,QAAQ;EACR;EACA,cAAc;EACd,MAAM;EACN;EACA;;;;;;EAMA,sBAAsB;;EAEtB,gBAAgB;;;KAIN;EACV,UAAU;EACV;;KAGU;EACV;EACA;;EAEA,kBAAkB;IAAQ;IAAiB;;;;;;;;KAQjC;EACV;EACA;;;;;;;KAQU;EACV;EACA;EACA;EACA;EACA;EACA;;;;;;;;KASU;EACV;EACA;;EAEA;;;;;;KAOU;EACV;EACA;EACA;;;;;;;KAQU;EACV,aAAa;;EAEb,OAAO;;EAEP,aAAa,eAAe;;KAGlB;;EAEV;EACA;EACA;EACA;EACA;EACA,SAAS;;EAET,QAAQ;;;;;;;EAOR,oBAAoB;EACpB,UAAU;;KAGA;EACV;EACA;EACA;EACA;EACA;;;;;;KAOU;EACV;EACA;EACA;;KAGU;EAEN;EACA;EACA;EACA,MAAM;;;;;;;;;EASN;;;;;;;;;;EAUA,OAAO;;EAGP;EACA;EACA,MAAM;EACN;EACA;;EAEA,OAAO;;;;;;EAMP,YAAY;;;;;;;EAOZ,oBAAoB;;;;;EAKpB,UAAU;;EAGV;EACA;EACA,MAAM;EACN;EACA;EACA;EACA,OAAO;EACP,YAAY;EACZ;EACA;EACA,UAAU;;;;;;;EAOV;EACA;EACA,QAAQ;;;;;;;EAOR;EACA;EACA;EACA;EACA;;KAGM;EACV;EACA;EACA;EACA;;KAGU;EAEN;EACA;EACA,QAAQ;;EAGR;EACA;EACA,QAAQ;;EAGR;EACA,OAAO;;UAGI;WACN;;WAEA,eAAe;WACf,QAAQ,cAAc;;;;;;WAMtB,QAAQ,QAAQ;EACzB,OAAO;IAAU;MAAoB;EACrC,YAAY;IAAU;MAAoB;;UAG3B;;EAEf,cAAc;IACZ,QAAQ;IACR;IACA,SAAS;MACP,cAAc;;EAElB,aAAa;;EAEb,aAAa;IAAS;IAAoB;MAAkB,QAAQ;EACpE,cAAc,OAAO,wBAAwB,QAAQ;EACrD,UAAU,OAAO,sBAAsB;;;;;;EAMvC,QAAQ,OAAO,sBAAsB,cAAc;EACnD,iBAAiB;IACf,SAAS;MACP,QAAQ,0BAA0B;EACtC,WAAW;IAAS,QAAQ;IAAkB,SAAS;MAAgB,QAAQ;;EAE/E,SAAS,OAAO;IAAwB,QAAQ;IAAkB;MAAiB;EACnF,UACE,OAAO;IAAwB,QAAQ;IAAkB;MACxD;EACH,iBACE,OAAO;IACL,QAAQ;IACR;IACA;MAED,QAAQ;EACX,WAAW,QAAQ;EACnB,OAAO;IAAS,QAAQ;IAAkB;MAAoB;;EAE9D,qBAAqB;IAAS,QAAQ;MAAqB;EAC3D,MAAM;IACJ,QAAQ;IACR;IACA;MACE;;KAGM,mBAAmB;UAEd;EACf,KAAK,oBAAoB,QAAQ;EACjC,KAAK,QAAQ,mBAAmB;;KAGtB;EACV;EACA;EACA;EACA;;KAGU,+BAA+B,QACzC,KACE;KAKQ;EACV;;EAEA,kBAAkB;
|
|
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-
|
|
2
|
-
import { O as normalizeAgentCommandInput, a as createAgentRegistry, i as DEFAULT_AGENT_NAME } from "./agent-registry-
|
|
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,
|
|
4
|
-
import { t as watchSession } from "./watch-
|
|
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, et as resolveRequestedConfigOption, ft as TimeoutError, h as ensureSession, ht as withTimeout, j as applyModelSelection, k as applyConfigOptionsToRecord, l as runPromptTurn, pt as assertControlAuthority, q as cloneSessionAcpxState, r as sendSession, rt as snapshotEnvNames, s as DISCARD_OUTPUT_FORMATTER, tt as resolveRequestedModelId, v as closeSession, x as setSessionConfigOptionOnOwner, z as createInitialSessionRecord } from "./queue-owner-runtime-CNrWkR8J.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";
|
|
@@ -592,6 +592,8 @@ async function inspectAgentModels(options) {
|
|
|
592
592
|
...normalizeAgentCommandInput(options.agentCommand),
|
|
593
593
|
cwd: options.cwd,
|
|
594
594
|
agentProcessEnv: options.agentProcessEnv,
|
|
595
|
+
agentProcessEnvAllow: options.agentProcessEnvAllow,
|
|
596
|
+
agentProcessEnvBlock: options.agentProcessEnvBlock,
|
|
595
597
|
permissionMode: "deny-all",
|
|
596
598
|
nonInteractivePermissions: "deny",
|
|
597
599
|
fs: false,
|
|
@@ -699,6 +701,8 @@ function createProbeClient(options, agentName, agentCommand, deps) {
|
|
|
699
701
|
...agentCommand,
|
|
700
702
|
cwd: options.cwd,
|
|
701
703
|
agentProcessEnv: options.agentProcessEnv,
|
|
704
|
+
agentProcessEnvAllow: options.agentProcessEnvAllow,
|
|
705
|
+
agentProcessEnvBlock: options.agentProcessEnvBlock,
|
|
702
706
|
mcpServers: typeof options.mcpServers === "function" ? [] : [...options.mcpServers ?? []],
|
|
703
707
|
permissionMode: options.permissionMode,
|
|
704
708
|
nonInteractivePermissions: options.nonInteractivePermissions,
|
|
@@ -1013,6 +1017,8 @@ var AcpRuntimeManager = class {
|
|
|
1013
1017
|
const clientOptions = {
|
|
1014
1018
|
...options,
|
|
1015
1019
|
agentProcessEnv: this.options.agentProcessEnv,
|
|
1020
|
+
agentProcessEnvAllow: this.options.agentProcessEnvAllow,
|
|
1021
|
+
agentProcessEnvBlock: this.options.agentProcessEnvBlock,
|
|
1016
1022
|
processLifecycle: {
|
|
1017
1023
|
...options.processLifecycle,
|
|
1018
1024
|
onBeforeSpawn: async (launch) => {
|
|
@@ -1126,7 +1132,7 @@ var AcpRuntimeManager = class {
|
|
|
1126
1132
|
return owner;
|
|
1127
1133
|
}
|
|
1128
1134
|
async saveSessionOwner(owner) {
|
|
1129
|
-
if (!owner.recordId) return;
|
|
1135
|
+
if (!owner.recordId || owner.pendingResetRecord) return;
|
|
1130
1136
|
const active = owner.activeTurn?.turn;
|
|
1131
1137
|
const target = active ?? owner.projection;
|
|
1132
1138
|
if (!target) return;
|
|
@@ -1225,11 +1231,18 @@ var AcpRuntimeManager = class {
|
|
|
1225
1231
|
const flushAttempt = await settleAttempt(async () => this.flushSessionOwner(owner));
|
|
1226
1232
|
const closeAttempt = await settleAttempt(async () => this.closeClient(owner.client));
|
|
1227
1233
|
if (!closeAttempt.ok) this.retiringSessionOwners.add(owner);
|
|
1234
|
+
const finalFlushAttempt = await settleAttempt(async () => owner.checkpoint.flush());
|
|
1235
|
+
const clearAttempt = await settleAttempt(() => owner.client.clearEventHandlers());
|
|
1236
|
+
const settleRecordAttempt = await settleAttempt(async () => {
|
|
1237
|
+
if (closeAttempt.ok) await this.settleRetiredSessionRecord(owner);
|
|
1238
|
+
});
|
|
1239
|
+
if (!settleRecordAttempt.ok) this.retiringSessionOwners.add(owner);
|
|
1228
1240
|
return firstFailedAttempt([
|
|
1229
1241
|
flushAttempt,
|
|
1230
1242
|
closeAttempt,
|
|
1231
|
-
|
|
1232
|
-
|
|
1243
|
+
finalFlushAttempt,
|
|
1244
|
+
clearAttempt,
|
|
1245
|
+
settleRecordAttempt
|
|
1233
1246
|
]);
|
|
1234
1247
|
}
|
|
1235
1248
|
async retrySessionCleanup(recordId) {
|
|
@@ -1237,7 +1250,8 @@ var AcpRuntimeManager = class {
|
|
|
1237
1250
|
owner.retirement ??= this.finalizeSessionConnection({
|
|
1238
1251
|
client: owner.client,
|
|
1239
1252
|
owner
|
|
1240
|
-
}).then(() => {
|
|
1253
|
+
}).then(async () => {
|
|
1254
|
+
await this.settleRetiredSessionRecord(owner);
|
|
1241
1255
|
this.retiringSessionOwners.delete(owner);
|
|
1242
1256
|
}).finally(() => {
|
|
1243
1257
|
owner.retirement = void 0;
|
|
@@ -1427,6 +1441,7 @@ var AcpRuntimeManager = class {
|
|
|
1427
1441
|
return await this.withManagerLock(this.runtimeOperationLocks, input.sessionKey, async () => this.acquireRuntimeSession(input, agent));
|
|
1428
1442
|
}
|
|
1429
1443
|
async reuseCompatiblePersistentSession(input, agent) {
|
|
1444
|
+
await this.retrySessionCleanup(input.sessionKey);
|
|
1430
1445
|
const controlled = this.controlSessionRecords.get(input.sessionKey);
|
|
1431
1446
|
const record = controlled ? controlled.record : await this.findSession(input.sessionKey);
|
|
1432
1447
|
if (!record || this.closingActiveRecords.has(input.sessionKey) || !shouldReuseExistingRecord(record, {
|
|
@@ -1520,7 +1535,6 @@ var AcpRuntimeManager = class {
|
|
|
1520
1535
|
sessionKey: input.sessionKey,
|
|
1521
1536
|
mode: input.mode
|
|
1522
1537
|
});
|
|
1523
|
-
let retained = false;
|
|
1524
1538
|
try {
|
|
1525
1539
|
await startRuntimeClient(client, agent, this.options.timeoutMs);
|
|
1526
1540
|
this.assertOpen();
|
|
@@ -1535,16 +1549,32 @@ var AcpRuntimeManager = class {
|
|
|
1535
1549
|
session
|
|
1536
1550
|
});
|
|
1537
1551
|
await this.retainInitializedSessionOwner(owner, record);
|
|
1538
|
-
retained = true;
|
|
1539
1552
|
return record;
|
|
1540
|
-
}
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
client.clearEventHandlers();
|
|
1544
|
-
await this.closeClient(client);
|
|
1545
|
-
}
|
|
1553
|
+
} catch (error) {
|
|
1554
|
+
await settleAttempt(async () => this.abandonInitializingSessionOwner(owner));
|
|
1555
|
+
throw error;
|
|
1546
1556
|
}
|
|
1547
1557
|
}
|
|
1558
|
+
async abandonInitializingSessionOwner(owner) {
|
|
1559
|
+
const record = owner.recordId ? owner.projection?.record : void 0;
|
|
1560
|
+
owner.pendingResetRecord = record;
|
|
1561
|
+
await settleAttempt(() => owner.client.clearEventHandlers());
|
|
1562
|
+
const closeAttempt = await settleAttempt(async () => this.closeClient(owner.client));
|
|
1563
|
+
if (!record) return;
|
|
1564
|
+
this.retiringSessionOwners.add(owner);
|
|
1565
|
+
if (closeAttempt.ok) {
|
|
1566
|
+
await this.settleRetiredSessionRecord(owner);
|
|
1567
|
+
this.retiringSessionOwners.delete(owner);
|
|
1568
|
+
}
|
|
1569
|
+
}
|
|
1570
|
+
async settleRetiredSessionRecord(owner) {
|
|
1571
|
+
const record = owner.pendingResetRecord;
|
|
1572
|
+
if (!record) return;
|
|
1573
|
+
applyLifecycleSnapshotToRecord(record, owner.client.getAgentLifecycleSnapshot());
|
|
1574
|
+
await this.saveClosedRuntimeRecord(record, true);
|
|
1575
|
+
owner.pendingResetRecord = void 0;
|
|
1576
|
+
owner.recordId = void 0;
|
|
1577
|
+
}
|
|
1548
1578
|
async prepareInitialRuntimeRecord(params) {
|
|
1549
1579
|
const { input, client, owner, agentCommand, agentArgv, cwd, session } = params;
|
|
1550
1580
|
const record = createInitialSessionRecord({
|
|
@@ -2159,9 +2189,22 @@ var AcpRuntimeManager = class {
|
|
|
2159
2189
|
const record = await this.resolveRuntimeRecordForClose(recordId);
|
|
2160
2190
|
this.markActiveRuntimeRecordClosing(record);
|
|
2161
2191
|
if (intent !== "prepare-fresh") await this.cancelSessionTasks(recordId);
|
|
2162
|
-
await this.closeRuntimeRecordOwnership(record, intent);
|
|
2192
|
+
const closeFailure = await this.closeRuntimeRecordOwnership(record, intent);
|
|
2193
|
+
if (intent === "discard") {
|
|
2194
|
+
if (closeFailure) throw closeFailure.error;
|
|
2195
|
+
return;
|
|
2196
|
+
}
|
|
2197
|
+
const saveAttempt = await settleAttempt(async () => this.saveClosedRuntimeRecord(record, intent !== "release"));
|
|
2198
|
+
const failure = closeFailure ?? firstFailedAttempt([saveAttempt]);
|
|
2199
|
+
if (failure) throw failure.error;
|
|
2200
|
+
}
|
|
2201
|
+
async saveClosedRuntimeRecord(record, reset) {
|
|
2163
2202
|
record.closed = true;
|
|
2164
2203
|
record.closedAt = isoNow();
|
|
2204
|
+
if (reset) record.acpx = {
|
|
2205
|
+
...record.acpx,
|
|
2206
|
+
reset_on_next_ensure: true
|
|
2207
|
+
};
|
|
2165
2208
|
await this.options.sessionStore.save(record);
|
|
2166
2209
|
}
|
|
2167
2210
|
async resolveRuntimeRecordForClose(recordId) {
|
|
@@ -2173,7 +2216,7 @@ var AcpRuntimeManager = class {
|
|
|
2173
2216
|
if (this.activeControllers.has(record.acpxRecordId)) this.closingActiveRecords.add(record.acpxRecordId);
|
|
2174
2217
|
}
|
|
2175
2218
|
async closeRuntimeRecordOwnership(record, intent) {
|
|
2176
|
-
if (intent === "discard") await this.closeBackendSession(record);
|
|
2219
|
+
if (intent === "discard") return await this.closeBackendSession(record);
|
|
2177
2220
|
else if (intent === "prepare-fresh") {
|
|
2178
2221
|
const owner = this.retainedSessionOwners.get(record.acpxRecordId);
|
|
2179
2222
|
if (owner) {
|
|
@@ -2182,20 +2225,29 @@ var AcpRuntimeManager = class {
|
|
|
2182
2225
|
}
|
|
2183
2226
|
await this.retrySessionCleanup(record.acpxRecordId);
|
|
2184
2227
|
} else await this.closeRetainedSessionOwner(record.acpxRecordId);
|
|
2185
|
-
if (intent !== "release") record.acpx = {
|
|
2186
|
-
...record.acpx,
|
|
2187
|
-
reset_on_next_ensure: true
|
|
2188
|
-
};
|
|
2189
2228
|
}
|
|
2190
2229
|
async closeBackendSession(record) {
|
|
2191
2230
|
const connection = await this.acquireBackendCloseConnection(record);
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
}
|
|
2231
|
+
const requestAttempt = await settleAttempt(async () => {
|
|
2232
|
+
try {
|
|
2233
|
+
await this.requestBackendSessionClose(record, connection);
|
|
2234
|
+
} catch (error) {
|
|
2235
|
+
this.handleBackendSessionCloseError(record, error);
|
|
2236
|
+
}
|
|
2237
|
+
});
|
|
2238
|
+
const owner = connection.owner ?? this.createSessionOwner({
|
|
2239
|
+
client: connection.client,
|
|
2240
|
+
sessionKey: record.acpxRecordId,
|
|
2241
|
+
mode: "persistent"
|
|
2242
|
+
});
|
|
2243
|
+
owner.recordId = record.acpxRecordId;
|
|
2244
|
+
const finalizeAttempt = await settleAttempt(async () => this.finalizeSessionConnection(connection));
|
|
2245
|
+
owner.pendingResetRecord = record;
|
|
2246
|
+
this.retiringSessionOwners.add(owner);
|
|
2247
|
+
if (!finalizeAttempt.ok) throw finalizeAttempt.error;
|
|
2248
|
+
const saveAttempt = await settleAttempt(async () => this.settleRetiredSessionRecord(owner));
|
|
2249
|
+
if (saveAttempt.ok) this.retiringSessionOwners.delete(owner);
|
|
2250
|
+
return firstFailedAttempt([requestAttempt, saveAttempt]);
|
|
2199
2251
|
}
|
|
2200
2252
|
async finalizeSessionConnection(connection) {
|
|
2201
2253
|
const failure = firstFailedAttempt([
|
|
@@ -2380,6 +2432,8 @@ var SharedAcpRuntime = class {
|
|
|
2380
2432
|
for (const name of [
|
|
2381
2433
|
"sessionStore",
|
|
2382
2434
|
"agentProcessEnv",
|
|
2435
|
+
"agentProcessEnvAllow",
|
|
2436
|
+
"agentProcessEnvBlock",
|
|
2383
2437
|
"mcpServers",
|
|
2384
2438
|
"sessionPermissions",
|
|
2385
2439
|
"processLifecycle",
|
|
@@ -2639,9 +2693,11 @@ var AcpxRuntime = class {
|
|
|
2639
2693
|
constructor(options, testOptions) {
|
|
2640
2694
|
this.options = options;
|
|
2641
2695
|
this.testOptions = testOptions;
|
|
2642
|
-
if (options.agentProcessEnv) this.options = {
|
|
2696
|
+
if (options.agentProcessEnv || options.agentProcessEnvAllow !== void 0 || options.agentProcessEnvBlock !== void 0) this.options = {
|
|
2643
2697
|
...options,
|
|
2644
|
-
agentProcessEnv: { ...options.agentProcessEnv }
|
|
2698
|
+
agentProcessEnv: options.agentProcessEnv ? { ...options.agentProcessEnv } : void 0,
|
|
2699
|
+
agentProcessEnvAllow: snapshotEnvNames("agentProcessEnvAllow", options.agentProcessEnvAllow),
|
|
2700
|
+
agentProcessEnvBlock: snapshotEnvNames("agentProcessEnvBlock", options.agentProcessEnvBlock)
|
|
2645
2701
|
};
|
|
2646
2702
|
}
|
|
2647
2703
|
isHealthy() {
|