@nifrajs/agent 3.5.0 → 4.0.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/README.md +12 -2
- package/dist/deployment.d.ts +14 -0
- package/dist/deployment.d.ts.map +1 -1
- package/dist/deployment.js +56 -9
- package/dist/deployment.js.map +1 -1
- package/dist/events.d.ts +10 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +43 -11
- package/dist/events.js.map +1 -1
- package/dist/execution-policy.d.ts +10 -0
- package/dist/execution-policy.d.ts.map +1 -1
- package/dist/execution-policy.js +89 -10
- package/dist/execution-policy.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +41 -1
- package/dist/index.js.map +1 -1
- package/dist/mount.d.ts +9 -1
- package/dist/mount.d.ts.map +1 -1
- package/dist/mount.js +38 -8
- package/dist/mount.js.map +1 -1
- package/package.json +5 -2
- package/src/deployment.ts +58 -9
- package/src/events.ts +44 -10
- package/src/execution-policy.ts +90 -10
- package/src/index.ts +47 -1
- package/src/mount.ts +50 -7
package/README.md
CHANGED
|
@@ -67,13 +67,23 @@ AG-UI `STATE_SNAPSHOT`/`STATE_DELTA` events.
|
|
|
67
67
|
SSE streams are resumable: give `mountAgent` (or `@nifrajs/ag-ui`'s `mountAgUI`) an `evidenceLog`
|
|
68
68
|
and `step` frames carry `id: <seq>`. A client that loses the connection re-POSTs the same `turnId`
|
|
69
69
|
with a `Last-Event-ID` header and receives the missed evidence, rejoining a still-running turn live
|
|
70
|
-
or replaying the stored terminal frame - the run is never re-executed.
|
|
70
|
+
or replaying the stored terminal frame - the run is never re-executed. A disconnected run keeps
|
|
71
|
+
going and records its real result for that reconnect. Without an `evidenceLog` nothing can rejoin a
|
|
72
|
+
dropped stream, so the disconnect aborts `ports.signal` and the turn suspends as `cancelled`.
|
|
71
73
|
`createMemoryAgentEvidenceLog` (from `@nifrajs/agent/events`) is the single-process dev/test
|
|
72
74
|
reference; a durable, multi-process log is an adapter implementing the same `AgentEvidenceLog`
|
|
73
75
|
interface.
|
|
76
|
+
When more than one caller shares the route, also pass `evidenceOwner: (c) => <the caller's user or
|
|
77
|
+
tenant id>`: turns are recorded and replayed under that owner, so another caller's reconnect or
|
|
78
|
+
reused `turnId` finds none of them. Without it a turn id works as a bearer capability. The owner
|
|
79
|
+
function runs before any replay; throwing from it refuses the request.
|
|
74
80
|
|
|
75
81
|
Execution policies can be required by a tool contract. `createLocalProcessAdapter` applies cwd and
|
|
76
|
-
environment filtering, timeouts, and cancellation to child processes.
|
|
82
|
+
environment filtering, timeouts, and cancellation to child processes. On POSIX each run leads its
|
|
83
|
+
own process group: a timeout, a cancel, or the run's own end stops every process the command
|
|
84
|
+
started, background ones included, and runs still in flight end when the host exits. On Windows a
|
|
85
|
+
timeout or cancel ends the command's whole process tree (`taskkill /T /F`), but a background process
|
|
86
|
+
still running after the command exits normally is not tracked. The local adapter is NOT a
|
|
77
87
|
security boundary. Without OS-level sandboxing it contains crashes and accidents, not hostile code.
|
|
78
88
|
|
|
79
89
|
For the compact agent contract, see [`LLM.md`](./LLM.md). The full machine-readable corpus is
|
package/dist/deployment.d.ts
CHANGED
|
@@ -141,6 +141,8 @@ export declare class AgentDeployment {
|
|
|
141
141
|
private handleRef;
|
|
142
142
|
private report;
|
|
143
143
|
private readonly evidence;
|
|
144
|
+
private queue;
|
|
145
|
+
private starting;
|
|
144
146
|
constructor(adapter: AgentDeploymentAdapter, authority: DeploymentAuthority, signal?: AbortSignal, options?: DeploymentActivationOptions);
|
|
145
147
|
private readonly authority;
|
|
146
148
|
private readonly approved;
|
|
@@ -148,10 +150,22 @@ export declare class AgentDeployment {
|
|
|
148
150
|
get evidenceRecords(): readonly DeploymentEvidence[];
|
|
149
151
|
capabilityReport(): Promise<DeploymentCapabilityReport>;
|
|
150
152
|
prepare(planInput: AgentDeploymentPlan | unknown): Promise<DeploymentPrepareResult>;
|
|
153
|
+
private prepareNow;
|
|
151
154
|
start(): Promise<DeploymentStartResult>;
|
|
155
|
+
private startNow;
|
|
152
156
|
inspect(): Promise<DeploymentInspection>;
|
|
157
|
+
private inspectNow;
|
|
158
|
+
/**
|
|
159
|
+
* Cancel the deployment. A start still in flight is asked to stop through its signal, and the
|
|
160
|
+
* cancel runs once it settles, against the workload it left running, if any.
|
|
161
|
+
*/
|
|
153
162
|
cancel(): Promise<DeploymentCancelResult>;
|
|
163
|
+
private cancelNow;
|
|
164
|
+
/** Dispose of the deployment; like {@link cancel}, it first asks a start in flight to stop. */
|
|
154
165
|
dispose(): Promise<DeploymentDisposeResult>;
|
|
166
|
+
private disposeNow;
|
|
167
|
+
/** Lifecycle calls run one at a time, so each one sees the state the previous one left. */
|
|
168
|
+
private serial;
|
|
155
169
|
private fail;
|
|
156
170
|
}
|
|
157
171
|
//# sourceMappingURL=deployment.d.ts.map
|
package/dist/deployment.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment.d.ts","sourceRoot":"","sources":["../src/deployment.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"deployment.d.ts","sourceRoot":"","sources":["../src/deployment.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,IAAI,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;AAChF,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,cAAc,CAAA;AAChF,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAA;AAChE,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,CAAA;AAChD,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,CAAA;AACjD,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,aAAa,GAAG,QAAQ,CAAA;AACtE,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,IAAI,CAAA;AAEhD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;IACnC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;IACnC,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;QAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAC1B,CAAA;IACD,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAA;IAC7C,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAA;CACpD;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAA;IAC7C,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAA;IAC7C,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAA;CACpD;AAED,MAAM,WAAW,2BAA2B;IAC1C,4FAA4F;IAC5F,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAC7B;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAA;AAE/E,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,gBAAgB,IAAI,0BAA0B,GAAG,WAAW,CAAC,0BAA0B,CAAC,CAAA;IACxF,OAAO,CACL,OAAO,EAAE,wBAAwB,GAChC,uBAAuB,GAAG,WAAW,CAAC,uBAAuB,CAAC,CAAA;IACjE,KAAK,CAAC,OAAO,EAAE,sBAAsB,GAAG,qBAAqB,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAA;IAClG,OAAO,CACL,OAAO,EAAE,wBAAwB,GAChC,oBAAoB,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAA;IAC3D,MAAM,CACJ,OAAO,EAAE,uBAAuB,GAC/B,sBAAsB,GAAG,WAAW,CAAC,sBAAsB,CAAC,CAAA;IAC/D,OAAO,CACL,OAAO,EAAE,wBAAwB,GAChC,uBAAuB,GAAG,WAAW,CAAC,uBAAuB,CAAC,CAAA;CAClE;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAA;IACzF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAAA;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,mBAAmB,GAC3B,sBAAsB,GACtB,mBAAmB,GACnB,iCAAiC,GACjC,oBAAoB,GACpB,cAAc,GACd,oBAAoB,GACpB,oBAAoB,GACpB,eAAe,GACf,WAAW,CAAA;AAEf,qBAAa,eAAgB,SAAQ,KAAK;IAC5B,QAAQ,CAAC,IAAI,EAAE,mBAAmB;gBAAzB,IAAI,EAAE,mBAAmB;CAI/C;AA+CD,8EAA8E;AAC9E,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,0BAA0B,CA8D1F;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAgCvE;AA2ED,gFAAgF;AAChF,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,mBAAmB,GACzB,IAAI,CAYN;AAiCD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,sBAAsB,CAAA;IAC9C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;CACrD,GAAG,mBAAmB,CAOtB;AAED,iEAAiE;AACjE,qBAAa,eAAe;IAYxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAbzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,QAAQ,CAA6B;gBAG1B,OAAO,EAAE,sBAAsB,EAChD,SAAS,EAAE,mBAAmB,EACb,MAAM,GAAE,WAA0C,EACnE,OAAO,GAAE,2BAAgC;IAO3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,IAAI,cAAc,IAAI,KAAK,GAAG,eAAe,CAE5C;IAED,IAAI,eAAe,IAAI,SAAS,kBAAkB,EAAE,CAEnD;IAEK,gBAAgB,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAW7D,OAAO,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,GAAG,OAAO,CAAC,uBAAuB,CAAC;YAIrE,UAAU;IA6BxB,KAAK,IAAI,OAAO,CAAC,qBAAqB,CAAC;YAIzB,QAAQ;IAgCtB,OAAO,IAAI,OAAO,CAAC,oBAAoB,CAAC;YAI1B,UAAU;IAuBxB;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,sBAAsB,CAAC;YAK3B,SAAS;IAsBvB,+FAA+F;IAC/F,OAAO,IAAI,OAAO,CAAC,uBAAuB,CAAC;YAK7B,UAAU;IA0BxB,2FAA2F;IAC3F,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,IAAI;CASb"}
|
package/dist/deployment.js
CHANGED
|
@@ -227,6 +227,8 @@ export class AgentDeployment {
|
|
|
227
227
|
handleRef;
|
|
228
228
|
report;
|
|
229
229
|
evidence = [];
|
|
230
|
+
queue = Promise.resolve();
|
|
231
|
+
starting;
|
|
230
232
|
constructor(adapter, authority, signal = new AbortController().signal, options = {}) {
|
|
231
233
|
this.adapter = adapter;
|
|
232
234
|
this.signal = signal;
|
|
@@ -255,15 +257,28 @@ export class AgentDeployment {
|
|
|
255
257
|
throw asDeploymentError(error, "invalid_capabilities");
|
|
256
258
|
}
|
|
257
259
|
}
|
|
258
|
-
|
|
260
|
+
prepare(planInput) {
|
|
261
|
+
return this.serial(() => this.prepareNow(planInput));
|
|
262
|
+
}
|
|
263
|
+
async prepareNow(planInput) {
|
|
259
264
|
if (this.state !== "new")
|
|
260
265
|
return this.fail("invalid_transition");
|
|
261
|
-
|
|
266
|
+
let plan;
|
|
267
|
+
try {
|
|
268
|
+
plan = parseDeploymentPlan(planInput);
|
|
269
|
+
}
|
|
270
|
+
catch (error) {
|
|
271
|
+
return this.fail(asDeploymentError(error, "invalid_plan").code);
|
|
272
|
+
}
|
|
262
273
|
this.deploymentId = plan.deploymentId;
|
|
263
274
|
if (this.signal.aborted)
|
|
264
275
|
return this.fail("cancelled");
|
|
265
|
-
|
|
266
|
-
|
|
276
|
+
try {
|
|
277
|
+
assertCapabilityPlan(await this.capabilityReport(), plan, this.authority, this.approved);
|
|
278
|
+
}
|
|
279
|
+
catch (error) {
|
|
280
|
+
return this.fail(asDeploymentError(error, "invalid_capabilities").code);
|
|
281
|
+
}
|
|
267
282
|
try {
|
|
268
283
|
const result = parsePrepare(await this.adapter.prepare({ plan, authority: this.authority, signal: this.signal }), plan.deploymentId);
|
|
269
284
|
this.preparedRef = result.preparedRef;
|
|
@@ -275,19 +290,24 @@ export class AgentDeployment {
|
|
|
275
290
|
return this.fail(asDeploymentError(error, "adapter_error").code);
|
|
276
291
|
}
|
|
277
292
|
}
|
|
278
|
-
|
|
293
|
+
start() {
|
|
294
|
+
return this.serial(() => this.startNow());
|
|
295
|
+
}
|
|
296
|
+
async startNow() {
|
|
279
297
|
if (this.state !== "prepared" ||
|
|
280
298
|
this.preparedRef === undefined ||
|
|
281
299
|
this.deploymentId === undefined)
|
|
282
300
|
return this.fail("invalid_transition");
|
|
283
301
|
if (this.signal.aborted)
|
|
284
302
|
return this.fail("cancelled");
|
|
303
|
+
const starting = new AbortController();
|
|
304
|
+
this.starting = starting;
|
|
285
305
|
try {
|
|
286
306
|
const result = parseStart(await this.adapter.start({
|
|
287
307
|
deploymentId: this.deploymentId,
|
|
288
308
|
preparedRef: this.preparedRef,
|
|
289
309
|
authority: this.authority,
|
|
290
|
-
signal: this.signal,
|
|
310
|
+
signal: AbortSignal.any([this.signal, starting.signal]),
|
|
291
311
|
}), this.deploymentId);
|
|
292
312
|
this.handleRef = result.handleRef;
|
|
293
313
|
this.state = "running";
|
|
@@ -295,10 +315,18 @@ export class AgentDeployment {
|
|
|
295
315
|
return result;
|
|
296
316
|
}
|
|
297
317
|
catch (error) {
|
|
318
|
+
if (starting.signal.aborted)
|
|
319
|
+
return this.fail("cancelled");
|
|
298
320
|
return this.fail(asDeploymentError(error, "adapter_error").code);
|
|
299
321
|
}
|
|
322
|
+
finally {
|
|
323
|
+
this.starting = undefined;
|
|
324
|
+
}
|
|
300
325
|
}
|
|
301
|
-
|
|
326
|
+
inspect() {
|
|
327
|
+
return this.serial(() => this.inspectNow());
|
|
328
|
+
}
|
|
329
|
+
async inspectNow() {
|
|
302
330
|
if (this.state === "new" || this.state === "disposed" || this.deploymentId === undefined)
|
|
303
331
|
return this.fail("invalid_transition");
|
|
304
332
|
try {
|
|
@@ -318,7 +346,15 @@ export class AgentDeployment {
|
|
|
318
346
|
return this.fail(asDeploymentError(error, "adapter_error").code);
|
|
319
347
|
}
|
|
320
348
|
}
|
|
321
|
-
|
|
349
|
+
/**
|
|
350
|
+
* Cancel the deployment. A start still in flight is asked to stop through its signal, and the
|
|
351
|
+
* cancel runs once it settles, against the workload it left running, if any.
|
|
352
|
+
*/
|
|
353
|
+
cancel() {
|
|
354
|
+
this.starting?.abort();
|
|
355
|
+
return this.serial(() => this.cancelNow());
|
|
356
|
+
}
|
|
357
|
+
async cancelNow() {
|
|
322
358
|
if ((this.state !== "prepared" && this.state !== "running") || this.deploymentId === undefined)
|
|
323
359
|
return this.fail("invalid_transition");
|
|
324
360
|
try {
|
|
@@ -336,7 +372,12 @@ export class AgentDeployment {
|
|
|
336
372
|
return this.fail(asDeploymentError(error, "adapter_error").code);
|
|
337
373
|
}
|
|
338
374
|
}
|
|
339
|
-
|
|
375
|
+
/** Dispose of the deployment; like {@link cancel}, it first asks a start in flight to stop. */
|
|
376
|
+
dispose() {
|
|
377
|
+
this.starting?.abort();
|
|
378
|
+
return this.serial(() => this.disposeNow());
|
|
379
|
+
}
|
|
380
|
+
async disposeNow() {
|
|
340
381
|
if (this.state === "disposed")
|
|
341
382
|
return { deploymentId: this.deploymentId ?? this.id, state: "disposed" };
|
|
342
383
|
try {
|
|
@@ -358,6 +399,12 @@ export class AgentDeployment {
|
|
|
358
399
|
return this.fail(asDeploymentError(error, "adapter_error").code);
|
|
359
400
|
}
|
|
360
401
|
}
|
|
402
|
+
/** Lifecycle calls run one at a time, so each one sees the state the previous one left. */
|
|
403
|
+
serial(operation) {
|
|
404
|
+
const run = this.queue.then(operation);
|
|
405
|
+
this.queue = run.catch(() => { });
|
|
406
|
+
return run;
|
|
407
|
+
}
|
|
361
408
|
fail(code) {
|
|
362
409
|
this.evidence.push({
|
|
363
410
|
kind: "failed",
|
package/dist/deployment.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment.js","sourceRoot":"","sources":["../src/deployment.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deployment.js","sourceRoot":"","sources":["../src/deployment.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,KAAK,GAAG,qCAAqC,CAAA;AACnD,MAAM,SAAS,GAAG,cAAc,CAAA;AAqJhC,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACnB;IAArB,YAAqB,IAAyB;QAC5C,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC,CAAA;QADR,SAAI,GAAJ,IAAI,CAAqB;QAE5C,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC;AAED,SAAS,YAAY,CACnB,KAAc,EACd,MAAc,EACd,OAA4B,cAAc;IAE1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,CAAA;IACpF,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,YAAY,CACnB,KAAc,EACd,MAAc,EACd,OAA4B,cAAc;IAE1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,SAAS;QAC7F,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,CAAA;IACjC,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,SAAS,CAChB,KAA8B,EAC9B,IAAyB,EACzB,IAAyB;IAEzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,CAAA;AAC3F,CAAC;AAED,MAAM,QAAQ,GAAwB,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;AAC7F,MAAM,QAAQ,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAA;AAC9F,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;AAC/E,MAAM,SAAS,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AACjE,MAAM,OAAO,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;AAChE,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAA;AACrF,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;AAE/D,SAAS,MAAM,CAAmB,KAAc,EAAE,MAA2B;IAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QACjD,MAAM,IAAI,eAAe,CAAC,sBAAsB,CAAC,CAAA;IACnD,OAAO,KAAU,CAAA;AACnB,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,+BAA+B,CAAC,KAAc;IAC5D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,sBAAsB,CAAC,CAAA;IACvE,SAAS,CACP,KAAK,EACL,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC,EACtE,sBAAsB,CACvB,CAAA;IACD,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,sBAAsB,CAAC,CAAA;IAChF,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,sBAAsB,CAAC,CAAA;IACpF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,sBAAsB,CAAC,CAAA;IACpF,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAA;IACvC,SAAS,CACP,YAAY,EACZ,IAAI,GAAG,CAAC;QACN,SAAS;QACT,SAAS;QACT,YAAY;QACZ,SAAS;QACT,SAAS;QACT,WAAW;QACX,cAAc;QACd,sBAAsB;KACvB,CAAC,EACF,sBAAsB,CACvB,CAAA;IACD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,sBAAsB,CAAC,CAAA;IACxF,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAA;IACxF,MAAM,aAAa,GAAG,MAAM,CAC1B,YAAY,CAAC,SAAS,CAAC,IAAI,EAC3B,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAC5B,CAAA;IACD,MAAM,QAAQ,GAAG,YAAY,CAC3B,YAAY,CAAC,SAAS,CAAC,QAAQ,EAC/B,oBAAoB,EACpB,sBAAsB,CACvB,CAAA;IACD,IAAI,aAAa,KAAK,MAAM,IAAI,QAAQ,KAAK,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,sBAAsB,CAAC,CAAA;IACjG,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;IACrC,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAC3B,WAAW,CAAC,MAAM,GAAG,EAAE;QACvB,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzE,MAAM,IAAI,eAAe,CAAC,sBAAsB,CAAC,CAAA;IACnD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,aAAa,EAAE,CAAC;QAChB,SAAS;QACT,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC;YAC1B,OAAO,EAAE,MAAM,CAAoB,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC;YAClE,OAAO,EAAE,MAAM,CAAoB,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC;YAClE,UAAU,EAAE,MAAM,CAAuB,YAAY,CAAC,UAAU,EAAE,WAAW,CAAC;YAC9E,OAAO,EAAE,MAAM,CAAoB,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC;YACnE,OAAO,EAAE,MAAM,CAAoB,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC;YACjE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;YAC3D,YAAY,EAAE,MAAM,CAAyB,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC;YACtF,oBAAoB,EAAE,MAAM,CAC1B,YAAY,CAAC,oBAAoB,EACjC,UAAU,CACX;SACF,CAAC;QACF,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;KAC7C,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,cAAc,CAAC,CAAA;IAC/D,SAAS,CACP,KAAK,EACL,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAC,EAC3E,cAAc,CACf,CAAA;IACD,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,CAAA;IACrE,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,SAAS;QAC3E,MAAM,IAAI,eAAe,CAAC,cAAc,CAAC,CAAA;IAC3C,MAAM,iBAAiB,GACrB,KAAK,CAAC,iBAAiB,KAAK,SAAS;QACnC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAAA;IAChF,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAA;IACtC,MAAM,UAAU,GACd,aAAa,KAAK,SAAS;QACzB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,OAAO,aAAa,KAAK,QAAQ;YACjC,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,IAAI,CAAA;IACZ,IACE,UAAU,KAAK,IAAI;QACnB,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,CAAC;QAEpF,MAAM,IAAI,eAAe,CAAC,cAAc,CAAC,CAAA;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,YAAY;QACZ,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9E,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC;QACjE,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;KACpD,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QACjD,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAA;IACjD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc,EAAE,QAAyB;IACnE,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAA;AACpD,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,YAAoB;IACxD,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChB,KAAK,CAAC,YAAY,KAAK,YAAY;QACnC,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC;QAEtC,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAA;IACjD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,YAAY;QACZ,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;KACzC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAc,EAAE,YAAoB;IACtD,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChB,KAAK,CAAC,YAAY,KAAK,YAAY;QACnC,CAAC,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC;QAErC,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAA;IACjD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AAChG,CAAC;AAED,SAAS,eAAe,CAAC,KAAc,EAAE,YAAoB;IAC3D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,YAAY,KAAK,YAAY,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC5F,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAA;IACjD,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QACzE,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAA;IACjD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACvF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,YAAY;QACZ,KAAK,EAAE,KAAK,CAAC,KAAwB;QACrC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;KAClD,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,KAAc,EACd,YAAoB,EACpB,KAAY;IAEZ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,YAAY,KAAK,YAAY,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC;QAC9F,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAA;IACjD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,iBAAiB,CAAC,SAA8B;IACvD,MAAM,iBAAiB,GAAG,YAAY,CACpC,SAAS,CAAC,iBAAiB,EAC3B,6BAA6B,EAC7B,oBAAoB,CACrB,CAAA;IACD,IACE,SAAS,CAAC,UAAU,KAAK,SAAS;QAClC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,UAAU,IAAI,CAAC,CAAC;QAE1E,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAA;IACjD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC;QAC/F,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAA;IACjD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAA;AAC3D,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,kCAAkC,CAChD,MAA2B,EAC3B,KAA0B;IAE1B,MAAM,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB;QAAE,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAA;IAC9F,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;QAC3F,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAA;IACjD,IAAI,CAAC,CAAC,YAAY,KAAK,MAAM,IAAI,CAAC,CAAC,YAAY,KAAK,MAAM;QACxD,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAA;IACjD,IAAI,CAAC,CAAC,YAAY,KAAK,aAAa,IAAI,CAAC,CAAC,YAAY,KAAK,QAAQ;QACjE,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAA;IACjD,IAAI,CAAC,CAAC,oBAAoB,KAAK,MAAM,IAAI,CAAC,CAAC,oBAAoB,KAAK,MAAM;QACxE,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAA;AACnD,CAAC;AAED,SAAS,oBAAoB,CAC3B,MAAkC,EAClC,IAAyB,EACzB,SAA8B,EAC9B,QAAiB;IAEjB,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;IACxC,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,YAAY,CAAC,oBAAoB,KAAK,IAAI;QACzE,MAAM,IAAI,eAAe,CAAC,iCAAiC,CAAC,CAAA;IAC9D,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,SAAS,CAAC,oBAAoB,KAAK,IAAI;QACtE,MAAM,IAAI,eAAe,CAAC,iCAAiC,CAAC,CAAA;IAC9D,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,QAAQ;QACxC,MAAM,IAAI,eAAe,CAAC,iCAAiC,CAAC,CAAA;IAC9D,IACE,IAAI,CAAC,iBAAiB,KAAK,SAAS;QACpC,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ;YACvC,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC;QAE3D,MAAM,IAAI,eAAe,CAAC,mBAAmB,CAAC,CAAA;IAChD,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,IAAI,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,iBAAiB;QAC9F,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAA;IACjD,IAAI,SAAS,CAAC,YAAY,KAAK,MAAM,IAAI,YAAY,CAAC,YAAY,KAAK,MAAM;QAC3E,MAAM,IAAI,eAAe,CAAC,mBAAmB,CAAC,CAAA;IAChD,IACE,IAAI,CAAC,UAAU,KAAK,SAAS;QAC7B,SAAS,CAAC,UAAU,KAAK,SAAS;QAClC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU;QAEtC,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAKzC;IACC,OAAO,iBAAiB,CAAC;QACvB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QAC3E,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,aAAa;QACjD,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,IAAI,MAAM;KAC3D,CAAC,CAAA;AACJ,CAAC;AAED,iEAAiE;AACjE,MAAM,OAAO,eAAe;IAYP;IAEA;IAbV,EAAE,CAAQ;IACX,YAAY,CAAoB;IAChC,KAAK,GAA4B,KAAK,CAAA;IACtC,WAAW,CAAoB;IAC/B,SAAS,CAAoB;IAC7B,MAAM,CAAwC;IACrC,QAAQ,GAAyB,EAAE,CAAA;IAC5C,KAAK,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAA;IAC3C,QAAQ,CAA6B;IAE7C,YACmB,OAA+B,EAChD,SAA8B,EACb,SAAsB,IAAI,eAAe,EAAE,CAAC,MAAM,EACnE,UAAuC,EAAE;QAHxB,YAAO,GAAP,OAAO,CAAwB;QAE/B,WAAM,GAAN,MAAM,CAA4C;QAGnE,IAAI,CAAC,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;QAChD,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAA;QAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAA;IAC3C,CAAC;IAEgB,SAAS,CAAqB;IAC9B,QAAQ,CAAS;IAElC,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,MAAM,CAAA;QACjD,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,+BAA+B,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;YACpF,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,eAAe,CAAC,sBAAsB,CAAC,CAAA;YACxF,OAAO,IAAI,CAAC,MAAM,CAAA;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,SAAwC;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;IACtD,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,SAAkB;QACzC,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QAChE,IAAI,IAAyB,CAAA;QAC7B,IAAI,CAAC;YACH,IAAI,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAA;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAA;QACjE,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;QACrC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACtD,IAAI,CAAC;YACH,oBAAoB,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAA;QACzE,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,CACzB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EACpF,IAAI,CAAC,YAAY,CAClB,CAAA;YACD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;YACrC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAA;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;YAC5F,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC3C,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IACE,IAAI,CAAC,KAAK,KAAK,UAAU;YACzB,IAAI,CAAC,WAAW,KAAK,SAAS;YAC9B,IAAI,CAAC,YAAY,KAAK,SAAS;YAE/B,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACxC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAA;QACtC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,UAAU,CACvB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBACvB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;aACxD,CAAC,EACF,IAAI,CAAC,YAAY,CAClB,CAAA;YACD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;YACjC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;YACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;YAC1F,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,CAAA;QAClE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;QAC3B,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;IAC7C,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;YACtF,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACxC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,eAAe,CAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBACzB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtE,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,EACF,IAAI,CAAC,YAAY,CAClB,CAAA;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,WAAW;gBACjB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAA;YACF,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAA;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;IAC5C,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;YAC5F,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACxC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,aAAa,CAC1B,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBACxB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC5E,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtE,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,EACF,IAAI,CAAC,YAAY,EACjB,WAAW,CACZ,CAAA;YACD,IAAI,CAAC,KAAK,GAAG,WAAW,CAAA;YACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;YAC9F,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;IAED,+FAA+F;IAC/F,OAAO;QACL,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAA;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;IAC7C,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU;YAC3B,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAA;QAC1E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,aAAa,CAC1B,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;gBACzB,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE;gBAC1C,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC5E,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtE,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,EACF,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE,EAC5B,UAAU,CACX,CAAA;YACD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAA;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,UAAU;gBAChB,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE;gBAC1C,KAAK,EAAE,UAAU;aAClB,CAAC,CAAA;YACF,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;IAED,2FAA2F;IACnF,MAAM,CAAI,SAA2B;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACtC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAChC,OAAO,GAAG,CAAA;IACZ,CAAC;IAEO,IAAI,CAAC,IAAyB;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE;YAC1C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI;SACL,CAAC,CAAA;QACF,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,QAA6B;IACtE,OAAO,KAAK,YAAY,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAA;AACjF,CAAC"}
|
package/dist/events.d.ts
CHANGED
|
@@ -50,8 +50,17 @@ export interface AgentEvidenceLog {
|
|
|
50
50
|
/** The turn's evidence after `afterSeq`, or `undefined` for an unknown turn. */
|
|
51
51
|
replay(turnId: string, afterSeq: number): AgentEvidenceReplay | undefined | Promise<AgentEvidenceReplay | undefined>;
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* A view of `log` holding one owner's turns: every turn id is recorded and replayed under `owner`
|
|
55
|
+
* (the caller's user or tenant id), so another owner's reconnect or reused turn id finds none of
|
|
56
|
+
* them. The HTTP seams apply it per request through their `evidenceOwner` option.
|
|
57
|
+
*/
|
|
58
|
+
export declare function scopeAgentEvidenceLog(log: AgentEvidenceLog, owner: string): AgentEvidenceLog;
|
|
53
59
|
export interface MemoryAgentEvidenceLogOptions {
|
|
54
|
-
/**
|
|
60
|
+
/**
|
|
61
|
+
* Maximum retained turns. Opening one more evicts the oldest finished turn, or the oldest turn when
|
|
62
|
+
* none has finished; an evicted running turn ends its rejoined replays with no result. Default 256.
|
|
63
|
+
*/
|
|
55
64
|
readonly maxTurns?: number;
|
|
56
65
|
}
|
|
57
66
|
/**
|
package/dist/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEvE,iDAAiD;AACjD,MAAM,WAAW,0BAA0B;IACzC,sFAAsF;IACtF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBACf,SAAQ,kBAAkB,EACxB,qBAAqB,CAAC,iBAAiB,CAAC;IAC1C,QAAQ,IAAI,IAAI,CAAA;IAChB;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,yFAAyF;AACzF,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,0BAA+B,GACvC,mBAAmB,CAwDrB;AAMD,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAClC,wFAAwF;IACxF,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC/C,2FAA2F;IAC3F,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,SAAS,CAAA;IAC9C,4FAA4F;IAC5F,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;CAClC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAAA;IACxC,gGAAgG;IAChG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,gFAAgF;IAChF,MAAM,CACJ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAA;CAC9E;AAED,MAAM,WAAW,6BAA6B;IAC5C
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEvE,iDAAiD;AACjD,MAAM,WAAW,0BAA0B;IACzC,sFAAsF;IACtF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBACf,SAAQ,kBAAkB,EACxB,qBAAqB,CAAC,iBAAiB,CAAC;IAC1C,QAAQ,IAAI,IAAI,CAAA;IAChB;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,yFAAyF;AACzF,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,0BAA+B,GACvC,mBAAmB,CAwDrB;AAMD,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAClC,wFAAwF;IACxF,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC/C,2FAA2F;IAC3F,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,SAAS,CAAA;IAC9C,4FAA4F;IAC5F,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;CAClC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,CAAA;IACxC,gGAAgG;IAChG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,gFAAgF;IAChF,MAAM,CACJ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAA;CAC9E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAU5F;AAED,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAUD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,6BAAkC,GAC1C,gBAAgB,CA6ElB"}
|
package/dist/events.js
CHANGED
|
@@ -58,6 +58,22 @@ export function createAgentEvidenceStream(options = {}) {
|
|
|
58
58
|
};
|
|
59
59
|
return stream;
|
|
60
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* A view of `log` holding one owner's turns: every turn id is recorded and replayed under `owner`
|
|
63
|
+
* (the caller's user or tenant id), so another owner's reconnect or reused turn id finds none of
|
|
64
|
+
* them. The HTTP seams apply it per request through their `evidenceOwner` option.
|
|
65
|
+
*/
|
|
66
|
+
export function scopeAgentEvidenceLog(log, owner) {
|
|
67
|
+
if (typeof owner !== "string" || owner === "")
|
|
68
|
+
throw new TypeError("agent evidence log: owner must be a non-empty string");
|
|
69
|
+
// Turn ids never contain "/", and the encoded owner never does either, so keys cannot collide.
|
|
70
|
+
const prefix = `${encodeURIComponent(owner)}/`;
|
|
71
|
+
return {
|
|
72
|
+
open: (turnId) => log.open(prefix + turnId),
|
|
73
|
+
finish: (turnId, result) => log.finish(prefix + turnId, result),
|
|
74
|
+
replay: (turnId, afterSeq) => log.replay(prefix + turnId, afterSeq),
|
|
75
|
+
};
|
|
76
|
+
}
|
|
61
77
|
/**
|
|
62
78
|
* In-memory {@link AgentEvidenceLog} reference for local development and tests. Single-process by
|
|
63
79
|
* construction: replay only sees runs recorded by this instance. Retention is bounded by
|
|
@@ -74,16 +90,36 @@ export function createMemoryAgentEvidenceLog(options = {}) {
|
|
|
74
90
|
record.resolveResult = resolve;
|
|
75
91
|
});
|
|
76
92
|
};
|
|
93
|
+
const settle = (turn, result) => {
|
|
94
|
+
turn.finished = true;
|
|
95
|
+
turn.resolveResult(result);
|
|
96
|
+
for (const subscriber of turn.subscribers)
|
|
97
|
+
subscriber.complete();
|
|
98
|
+
turn.subscribers.clear();
|
|
99
|
+
};
|
|
100
|
+
const evictOne = () => {
|
|
101
|
+
let victim;
|
|
102
|
+
for (const [id, turn] of turns) {
|
|
103
|
+
if (turn.finished) {
|
|
104
|
+
victim = id;
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
victim ??= turns.keys().next().value;
|
|
109
|
+
if (victim === undefined)
|
|
110
|
+
return;
|
|
111
|
+
const turn = turns.get(victim);
|
|
112
|
+
turns.delete(victim);
|
|
113
|
+
// Its finish() can no longer find it by id, so a rejoined replay would wait forever.
|
|
114
|
+
if (turn !== undefined && !turn.finished)
|
|
115
|
+
settle(turn, undefined);
|
|
116
|
+
};
|
|
77
117
|
return {
|
|
78
118
|
open(turnId) {
|
|
79
119
|
let turn = turns.get(turnId);
|
|
80
120
|
if (turn === undefined) {
|
|
81
|
-
while (turns.size >= maxTurns)
|
|
82
|
-
|
|
83
|
-
if (oldest === undefined)
|
|
84
|
-
break;
|
|
85
|
-
turns.delete(oldest);
|
|
86
|
-
}
|
|
121
|
+
while (turns.size >= maxTurns)
|
|
122
|
+
evictOne();
|
|
87
123
|
turn = {
|
|
88
124
|
evidence: [],
|
|
89
125
|
finished: false,
|
|
@@ -112,11 +148,7 @@ export function createMemoryAgentEvidenceLog(options = {}) {
|
|
|
112
148
|
const turn = turns.get(turnId);
|
|
113
149
|
if (turn === undefined || turn.finished)
|
|
114
150
|
return;
|
|
115
|
-
turn
|
|
116
|
-
turn.resolveResult(result);
|
|
117
|
-
for (const subscriber of turn.subscribers)
|
|
118
|
-
subscriber.complete();
|
|
119
|
-
turn.subscribers.clear();
|
|
151
|
+
settle(turn, result);
|
|
120
152
|
},
|
|
121
153
|
replay(turnId, afterSeq) {
|
|
122
154
|
const turn = turns.get(turnId);
|
package/dist/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAyBA,yFAAyF;AACzF,MAAM,UAAU,yBAAyB,CACvC,UAAsC,EAAE;IAExC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAA;IACjD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC;QACzD,MAAM,IAAI,UAAU,CAAC,qEAAqE,CAAC,CAAA;IAE7F,MAAM,KAAK,GAAwB,EAAE,CAAA;IACrC,MAAM,OAAO,GAA+D,EAAE,CAAA;IAC9E,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,MAAM,aAAa,GAAG,GAAS,EAAE;QAC/B,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,OAAM;QAC1C,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IAChF,CAAC,CAAA;IAED,MAAM,MAAM,GAAwB;QAClC,IAAI,OAAO;YACT,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,IAAI,CAAC,QAAQ;YACX,IAAI,SAAS;gBAAE,OAAM;YACrB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAA;YAC9B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;gBACxC,OAAM;YACR,CAAC;YACD,8FAA8F;YAC9F,gGAAgG;YAChG,wFAAwF;YACxF,IAAI,KAAK,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;gBACjC,KAAK,CAAC,KAAK,EAAE,CAAA;gBACb,OAAO,IAAI,CAAC,CAAA;YACd,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtB,CAAC;QACD,QAAQ;YACN,SAAS,GAAG,IAAI,CAAA;YAChB,aAAa,EAAE,CAAA;QACjB,CAAC;QACD,IAAI;YACF,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;YAC9B,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;YACpF,IAAI,SAAS;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;YACvE,OAAO,IAAI,OAAO,CAAoC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;QAC3F,CAAC;QACD,MAAM;YACJ,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;YAChB,SAAS,GAAG,IAAI,CAAA;YAChB,aAAa,EAAE,CAAA;YACf,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QAC1D,CAAC;QACD,CAAC,MAAM,CAAC,aAAa,CAAC;YACpB,OAAO,IAAI,CAAA;QACb,CAAC;KACF,CAAA;IACD,OAAO,MAAM,CAAA;AACf,CAAC;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,16 @@ export interface LocalProcessAdapter extends ExecutionPolicyAdapter {
|
|
|
38
38
|
* a security boundary. Without OS-level sandboxing it contains crashes and accidents, not hostile code.
|
|
39
39
|
*/
|
|
40
40
|
export declare function createLocalProcessAdapter(options?: LocalProcessAdapterOptions): LocalProcessAdapter;
|
|
41
|
+
/**
|
|
42
|
+
* End a Windows process and its descendants. Windows has no process groups, and a console child
|
|
43
|
+
* cannot be asked to stop, so the tree is terminated outright.
|
|
44
|
+
*/
|
|
45
|
+
export declare function windowsTreeKill(pid: number, run?: (command: string, args: readonly string[], options: {
|
|
46
|
+
stdio: "ignore";
|
|
47
|
+
windowsHide: boolean;
|
|
48
|
+
}) => {
|
|
49
|
+
on(event: "error", listener: () => void): unknown;
|
|
50
|
+
}): void;
|
|
41
51
|
export type { ExecutionPolicy, ExecutionPolicyAdapter };
|
|
42
52
|
export { defineExecutionPolicy };
|
|
43
53
|
//# sourceMappingURL=execution-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-policy.d.ts","sourceRoot":"","sources":["../src/execution-policy.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC5B,MAAM,gCAAgC,CAAA;AAEvC,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,kDAAkD,CAAA;
|
|
1
|
+
{"version":3,"file":"execution-policy.d.ts","sourceRoot":"","sources":["../src/execution-policy.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC5B,MAAM,gCAAgC,CAAA;AAEvC,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,kDAAkD,CAAA;AAcvF,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,0FAA0F;IAC1F,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAA;IAC3D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;CACxC;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,GAAG,iBAAiB,GAAG,WAAW;gBAA5D,IAAI,EAAE,oBAAoB,GAAG,iBAAiB,GAAG,WAAW;CAIlF;AAED,MAAM,WAAW,mBAAoB,SAAQ,sBAAsB;IACjE,GAAG,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;CAC/D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,0BAA+B,GACvC,mBAAmB,CAuErB;AAqID;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,CACH,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,KAC/C;IAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAA;CAAU,GACjE,IAAI,CAON;AAiCD,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
|
package/dist/execution-policy.js
CHANGED
|
@@ -4,6 +4,16 @@ import { defineExecutionPolicy, } from "@nifrajs/core/execution-policy";
|
|
|
4
4
|
/** This statement is intentionally repeated in the API and runtime result. */
|
|
5
5
|
export const LOCAL_PROCESS_LIMITATION = "The local adapter is NOT a security boundary.";
|
|
6
6
|
const SIGKILL_GRACE_MS = 2000;
|
|
7
|
+
/** How long the pipes may stay open after the escalation kill before the run stops reading them. */
|
|
8
|
+
const PIPE_RELEASE_MS = 200;
|
|
9
|
+
/** The longest delay setTimeout honors; past it the callback fires at once. */
|
|
10
|
+
const MAX_TIMER_MS = 2_147_483_647;
|
|
11
|
+
// On POSIX each run leads its own process group, so a timeout, a cancel, the run's own end, or the
|
|
12
|
+
// host's exit ends every process the command started, not only the direct child.
|
|
13
|
+
const WINDOWS = process.platform === "win32";
|
|
14
|
+
const PROCESS_GROUPS = !WINDOWS;
|
|
15
|
+
const liveGroups = new Set();
|
|
16
|
+
let exitHookInstalled = false;
|
|
7
17
|
export class LocalProcessPolicyError extends Error {
|
|
8
18
|
code;
|
|
9
19
|
constructor(code) {
|
|
@@ -99,12 +109,24 @@ function spawnProcess(input) {
|
|
|
99
109
|
env: input.env,
|
|
100
110
|
shell: false,
|
|
101
111
|
stdio: ["ignore", "pipe", "pipe"],
|
|
112
|
+
detached: PROCESS_GROUPS,
|
|
102
113
|
});
|
|
103
114
|
}
|
|
104
115
|
catch {
|
|
105
116
|
reject(new LocalProcessPolicyError("invalid_request"));
|
|
106
117
|
return;
|
|
107
118
|
}
|
|
119
|
+
const group = PROCESS_GROUPS ? child.pid : undefined;
|
|
120
|
+
if (group !== undefined)
|
|
121
|
+
trackGroup(group);
|
|
122
|
+
const signalAll = (signal) => {
|
|
123
|
+
if (group !== undefined && signalGroup(group, signal))
|
|
124
|
+
return;
|
|
125
|
+
if (WINDOWS && child.pid !== undefined && child.exitCode === null)
|
|
126
|
+
windowsTreeKill(child.pid);
|
|
127
|
+
else
|
|
128
|
+
child.kill(signal);
|
|
129
|
+
};
|
|
108
130
|
const stdout = [];
|
|
109
131
|
const stderr = [];
|
|
110
132
|
let timedOut = false;
|
|
@@ -120,23 +142,39 @@ function spawnProcess(input) {
|
|
|
120
142
|
outputUsed.value += selected.byteLength;
|
|
121
143
|
};
|
|
122
144
|
if (child.stdout === null || child.stderr === null) {
|
|
123
|
-
|
|
145
|
+
signalAll("SIGKILL");
|
|
146
|
+
if (group !== undefined)
|
|
147
|
+
liveGroups.delete(group);
|
|
124
148
|
reject(new LocalProcessPolicyError("invalid_request"));
|
|
125
149
|
return;
|
|
126
150
|
}
|
|
127
151
|
child.stdout.on("data", (chunk) => append(stdout, chunk));
|
|
128
152
|
child.stderr.on("data", (chunk) => append(stderr, chunk));
|
|
129
153
|
let killTimer;
|
|
154
|
+
let releaseTimer;
|
|
130
155
|
const terminate = () => {
|
|
131
|
-
|
|
132
|
-
// A
|
|
156
|
+
signalAll("SIGTERM");
|
|
157
|
+
// A process that ignores SIGTERM would otherwise leave this promise pending forever,
|
|
133
158
|
// making policy.timeMs advisory instead of a bound.
|
|
134
|
-
killTimer ??= setTimeout(() =>
|
|
159
|
+
killTimer ??= setTimeout(() => {
|
|
160
|
+
signalAll("SIGKILL");
|
|
161
|
+
// A process that left the group (setsid) can still hold the pipes open; stop waiting.
|
|
162
|
+
releaseTimer = setTimeout(() => settle(child.exitCode, child.signalCode), PIPE_RELEASE_MS);
|
|
163
|
+
}, SIGKILL_GRACE_MS);
|
|
135
164
|
};
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
165
|
+
let timer;
|
|
166
|
+
const deadline = performance.now() + input.policy.timeMs;
|
|
167
|
+
const arm = () => {
|
|
168
|
+
const remaining = deadline - performance.now();
|
|
169
|
+
timer =
|
|
170
|
+
remaining > MAX_TIMER_MS
|
|
171
|
+
? setTimeout(arm, MAX_TIMER_MS)
|
|
172
|
+
: setTimeout(() => {
|
|
173
|
+
timedOut = true;
|
|
174
|
+
terminate();
|
|
175
|
+
}, remaining);
|
|
176
|
+
};
|
|
177
|
+
arm();
|
|
140
178
|
const cancel = () => {
|
|
141
179
|
cancelled = true;
|
|
142
180
|
terminate();
|
|
@@ -145,6 +183,10 @@ function spawnProcess(input) {
|
|
|
145
183
|
clearTimeout(timer);
|
|
146
184
|
if (killTimer !== undefined)
|
|
147
185
|
clearTimeout(killTimer);
|
|
186
|
+
if (releaseTimer !== undefined)
|
|
187
|
+
clearTimeout(releaseTimer);
|
|
188
|
+
if (group !== undefined)
|
|
189
|
+
liveGroups.delete(group);
|
|
148
190
|
input.signal?.removeEventListener("abort", cancel);
|
|
149
191
|
};
|
|
150
192
|
child.once("error", () => {
|
|
@@ -154,11 +196,16 @@ function spawnProcess(input) {
|
|
|
154
196
|
cleanup();
|
|
155
197
|
reject(new LocalProcessPolicyError("invalid_request"));
|
|
156
198
|
});
|
|
157
|
-
|
|
199
|
+
const settle = (exitCode, signal) => {
|
|
158
200
|
if (settled)
|
|
159
201
|
return;
|
|
160
202
|
settled = true;
|
|
203
|
+
// A background process the command left behind ends with the run.
|
|
204
|
+
if (group !== undefined)
|
|
205
|
+
signalGroup(group, "SIGKILL");
|
|
161
206
|
cleanup();
|
|
207
|
+
child.stdout?.destroy();
|
|
208
|
+
child.stderr?.destroy();
|
|
162
209
|
resolve({
|
|
163
210
|
ok: !timedOut && !cancelled && exitCode === 0,
|
|
164
211
|
exitCode,
|
|
@@ -169,12 +216,44 @@ function spawnProcess(input) {
|
|
|
169
216
|
cancelled,
|
|
170
217
|
limitations: input.limitations,
|
|
171
218
|
});
|
|
172
|
-
}
|
|
219
|
+
};
|
|
220
|
+
child.once("close", settle);
|
|
173
221
|
input.signal?.addEventListener("abort", cancel, { once: true });
|
|
174
222
|
if (input.signal?.aborted === true)
|
|
175
223
|
cancel(); // close the precheck/listener-registration race
|
|
176
224
|
});
|
|
177
225
|
}
|
|
226
|
+
/**
|
|
227
|
+
* End a Windows process and its descendants. Windows has no process groups, and a console child
|
|
228
|
+
* cannot be asked to stop, so the tree is terminated outright.
|
|
229
|
+
*/
|
|
230
|
+
export function windowsTreeKill(pid, run = spawn) {
|
|
231
|
+
try {
|
|
232
|
+
run("taskkill", ["/pid", String(pid), "/T", "/F"], { stdio: "ignore", windowsHide: true }).on("error", () => { });
|
|
233
|
+
}
|
|
234
|
+
catch { }
|
|
235
|
+
}
|
|
236
|
+
/** Signal a run's whole process group; false when the group is already gone. */
|
|
237
|
+
function signalGroup(group, signal) {
|
|
238
|
+
try {
|
|
239
|
+
process.kill(-group, signal);
|
|
240
|
+
return true;
|
|
241
|
+
}
|
|
242
|
+
catch {
|
|
243
|
+
return false;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
function trackGroup(group) {
|
|
247
|
+
liveGroups.add(group);
|
|
248
|
+
if (exitHookInstalled)
|
|
249
|
+
return;
|
|
250
|
+
exitHookInstalled = true;
|
|
251
|
+
// A detached group outlives the host unless something ends it; runs still in flight end with it.
|
|
252
|
+
process.on("exit", () => {
|
|
253
|
+
for (const live of liveGroups)
|
|
254
|
+
signalGroup(live, "SIGKILL");
|
|
255
|
+
});
|
|
256
|
+
}
|
|
178
257
|
function concat(chunks) {
|
|
179
258
|
const size = chunks.reduce((total, chunk) => total + chunk.byteLength, 0);
|
|
180
259
|
const result = new Uint8Array(size);
|