@nifrajs/agent 3.3.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/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
- const oldest = turns.keys().next().value;
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.finished = true;
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);
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
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;AAIvF,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;AAkHD,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,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"}
@@ -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) {
@@ -76,7 +86,7 @@ export function createLocalProcessAdapter(options = {}) {
76
86
  function filteredEnv(values) {
77
87
  const result = {};
78
88
  for (const name of allowlist) {
79
- const value = values[name] ?? process.env[name];
89
+ const value = Object.hasOwn(values, name) ? values[name] : process.env[name];
80
90
  if (value !== undefined)
81
91
  result[name] = value;
82
92
  }
@@ -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
- child.kill();
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
- child.kill("SIGTERM");
132
- // A child that ignores SIGTERM would otherwise leave this promise pending forever,
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(() => child.kill("SIGKILL"), SIGKILL_GRACE_MS);
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
- const timer = setTimeout(() => {
137
- timedOut = true;
138
- terminate();
139
- }, input.policy.timeMs);
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
- child.once("close", (exitCode, signal) => {
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);
@@ -1 +1 @@
1
- {"version":3,"file":"execution-policy.js","sourceRoot":"","sources":["../src/execution-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC9D,OAAO,EACL,qBAAqB,GAGtB,MAAM,gCAAgC,CAAA;AAEvC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,+CAA+C,CAAA;AAEvF,MAAM,gBAAgB,GAAG,IAAI,CAAA;AA8B7B,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC3B;IAArB,YAAqB,IAA4D;QAC/E,KAAK,CAAC,kBAAkB,IAAI,KAAK,wBAAwB,EAAE,CAAC,CAAA;QADzC,SAAI,GAAJ,IAAI,CAAwD;QAE/E,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;IACvC,CAAC;CACF;AAMD;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAAsC,EAAE;IAExC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IACxC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC7E,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,GAAG,IAAI,CAAA;IAC5D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,UAAU,CAAC,+DAA+D,CAAC,CAAA;IACvF,CAAC;IACD,MAAM,OAAO,GAAwB;QACnC,IAAI,EAAE,eAAe;QACrB,UAAU,CAAC,WAAW;YACpB,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAA;YACjD,OAAO,CACL,MAAM,CAAC,UAAU,KAAK,KAAK;gBAC3B,MAAM,CAAC,OAAO,KAAK,OAAO;gBAC1B,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CACpC,CAAA;QACH,CAAC;QACD,WAAW,CAAC,WAAW;YACrB,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAA;YACjD,MAAM,WAAW,GAAG,CAAC,wBAAwB,CAAC,CAAA;YAC9C,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK;gBAAE,WAAW,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAA;YAClF,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM;gBAAE,WAAW,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;YAC9E,WAAW,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;YACxD,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACnC,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,OAAO;YACf,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACpD,IACE,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;gBACnC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;gBAC7B,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,EACpD,CAAC;gBACD,MAAM,IAAI,uBAAuB,CAAC,iBAAiB,CAAC,CAAA;YACtD,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM,IAAI,uBAAuB,CAAC,oBAAoB,CAAC,CAAA;YACzD,IACE,OAAO,CAAC,UAAU,KAAK,SAAS;gBAChC,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EACtD,CAAC;gBACD,MAAM,IAAI,uBAAuB,CAAC,oBAAoB,CAAC,CAAA;YACzD,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI;gBAAE,MAAM,IAAI,uBAAuB,CAAC,WAAW,CAAC,CAAA;YACpF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAA;YACnD,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC;gBAC3D,MAAM,IAAI,uBAAuB,CAAC,oBAAoB,CAAC,CAAA;YACzD,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;YAC1C,OAAO,YAAY,CAAC;gBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;gBACxB,GAAG,EAAE,UAAU;gBACf,GAAG;gBACH,MAAM;gBACN,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnE,cAAc;gBACd,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;aACzC,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE7B,SAAS,WAAW,CAClB,MAAoD;QAEpD,MAAM,MAAM,GAA2B,EAAE,CAAA;QACzC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC/C,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;QAC/C,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAY;IAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IACrD,OAAO,CACL,QAAQ,KAAK,EAAE;QACf,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CACjF,CAAA;AACH,CAAC;AAaD,SAAS,YAAY,CAAC,KAAiB;IACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,KAA+B,CAAA;QACnC,IAAI,CAAC;YACH,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE;gBAC5C,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;aAClC,CAAC,CAAA;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAA;YACtD,OAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAiB,EAAE,CAAA;QAC/B,MAAM,MAAM,GAAiB,EAAE,CAAA;QAC/B,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;QAC/B,MAAM,MAAM,GAAG,CAAC,MAAoB,EAAE,KAAiB,EAAQ,EAAE;YAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC,KAAK,CAAA;YACzD,IAAI,SAAS,IAAI,CAAC;gBAAE,OAAM;YAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;YAClF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACrB,UAAU,CAAC,KAAK,IAAI,QAAQ,CAAC,UAAU,CAAA;QACzC,CAAC,CAAA;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACnD,KAAK,CAAC,IAAI,EAAE,CAAA;YACZ,MAAM,CAAC,IAAI,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAA;YACtD,OAAM;QACR,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;QACrE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;QACrE,IAAI,SAAoD,CAAA;QACxD,MAAM,SAAS,GAAG,GAAS,EAAE;YAC3B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACrB,mFAAmF;YACnF,oDAAoD;YACpD,SAAS,KAAK,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,CAAA;QACzE,CAAC,CAAA;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,QAAQ,GAAG,IAAI,CAAA;YACf,SAAS,EAAE,CAAA;QACb,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACvB,MAAM,MAAM,GAAG,GAAS,EAAE;YACxB,SAAS,GAAG,IAAI,CAAA;YAChB,SAAS,EAAE,CAAA;QACb,CAAC,CAAA;QACD,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,IAAI,SAAS,KAAK,SAAS;gBAAE,YAAY,CAAC,SAAS,CAAC,CAAA;YACpD,KAAK,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACpD,CAAC,CAAA;QACD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACvB,IAAI,OAAO;gBAAE,OAAM;YACnB,OAAO,GAAG,IAAI,CAAA;YACd,OAAO,EAAE,CAAA;YACT,MAAM,CAAC,IAAI,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;YACvC,IAAI,OAAO;gBAAE,OAAM;YACnB,OAAO,GAAG,IAAI,CAAA;YACd,OAAO,EAAE,CAAA;YACT,OAAO,CAAC;gBACN,EAAE,EAAE,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,QAAQ,KAAK,CAAC;gBAC7C,QAAQ;gBACR,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;gBACtC,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAChD,QAAQ;gBACR,SAAS;gBACT,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/D,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI;YAAE,MAAM,EAAE,CAAA,CAAC,gDAAgD;IAC/F,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,MAA6B;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;IACzE,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IACnC,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACzB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAA;IAC5B,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAGD,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
1
+ {"version":3,"file":"execution-policy.js","sourceRoot":"","sources":["../src/execution-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC9D,OAAO,EACL,qBAAqB,GAGtB,MAAM,gCAAgC,CAAA;AAEvC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,+CAA+C,CAAA;AAEvF,MAAM,gBAAgB,GAAG,IAAI,CAAA;AAC7B,oGAAoG;AACpG,MAAM,eAAe,GAAG,GAAG,CAAA;AAC3B,+EAA+E;AAC/E,MAAM,YAAY,GAAG,aAAa,CAAA;AAClC,mGAAmG;AACnG,iFAAiF;AACjF,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAA;AAC5C,MAAM,cAAc,GAAG,CAAC,OAAO,CAAA;AAC/B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;AACpC,IAAI,iBAAiB,GAAG,KAAK,CAAA;AA8B7B,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC3B;IAArB,YAAqB,IAA4D;QAC/E,KAAK,CAAC,kBAAkB,IAAI,KAAK,wBAAwB,EAAE,CAAC,CAAA;QADzC,SAAI,GAAJ,IAAI,CAAwD;QAE/E,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;IACvC,CAAC;CACF;AAMD;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAAsC,EAAE;IAExC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IACxC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC7E,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,GAAG,IAAI,CAAA;IAC5D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,UAAU,CAAC,+DAA+D,CAAC,CAAA;IACvF,CAAC;IACD,MAAM,OAAO,GAAwB;QACnC,IAAI,EAAE,eAAe;QACrB,UAAU,CAAC,WAAW;YACpB,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAA;YACjD,OAAO,CACL,MAAM,CAAC,UAAU,KAAK,KAAK;gBAC3B,MAAM,CAAC,OAAO,KAAK,OAAO;gBAC1B,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CACpC,CAAA;QACH,CAAC;QACD,WAAW,CAAC,WAAW;YACrB,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAA;YACjD,MAAM,WAAW,GAAG,CAAC,wBAAwB,CAAC,CAAA;YAC9C,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK;gBAAE,WAAW,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAA;YAClF,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM;gBAAE,WAAW,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;YAC9E,WAAW,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;YACxD,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACnC,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,OAAO;YACf,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YACpD,IACE,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;gBACnC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;gBAC7B,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,EACpD,CAAC;gBACD,MAAM,IAAI,uBAAuB,CAAC,iBAAiB,CAAC,CAAA;YACtD,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACrC,MAAM,IAAI,uBAAuB,CAAC,oBAAoB,CAAC,CAAA;YACzD,IACE,OAAO,CAAC,UAAU,KAAK,SAAS;gBAChC,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EACtD,CAAC;gBACD,MAAM,IAAI,uBAAuB,CAAC,oBAAoB,CAAC,CAAA;YACzD,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI;gBAAE,MAAM,IAAI,uBAAuB,CAAC,WAAW,CAAC,CAAA;YACpF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAA;YACnD,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC;gBAC3D,MAAM,IAAI,uBAAuB,CAAC,oBAAoB,CAAC,CAAA;YACzD,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;YAC1C,OAAO,YAAY,CAAC;gBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;gBACxB,GAAG,EAAE,UAAU;gBACf,GAAG;gBACH,MAAM;gBACN,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnE,cAAc;gBACd,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC;aACzC,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE7B,SAAS,WAAW,CAClB,MAAoD;QAEpD,MAAM,MAAM,GAA2B,EAAE,CAAA;QACzC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC5E,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;QAC/C,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAY;IAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IACrD,OAAO,CACL,QAAQ,KAAK,EAAE;QACf,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CACjF,CAAA;AACH,CAAC;AAaD,SAAS,YAAY,CAAC,KAAiB;IACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,KAA+B,CAAA;QACnC,IAAI,CAAC;YACH,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE;gBAC5C,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACjC,QAAQ,EAAE,cAAc;aACzB,CAAC,CAAA;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAA;YACtD,OAAM;QACR,CAAC;QACD,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;QACpD,IAAI,KAAK,KAAK,SAAS;YAAE,UAAU,CAAC,KAAK,CAAC,CAAA;QAC1C,MAAM,SAAS,GAAG,CAAC,MAAsB,EAAQ,EAAE;YACjD,IAAI,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;gBAAE,OAAM;YAC7D,IAAI,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;gBAAE,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;;gBACxF,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzB,CAAC,CAAA;QACD,MAAM,MAAM,GAAiB,EAAE,CAAA;QAC/B,MAAM,MAAM,GAAiB,EAAE,CAAA;QAC/B,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;QAC/B,MAAM,MAAM,GAAG,CAAC,MAAoB,EAAE,KAAiB,EAAQ,EAAE;YAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC,KAAK,CAAA;YACzD,IAAI,SAAS,IAAI,CAAC;gBAAE,OAAM;YAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;YAClF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACrB,UAAU,CAAC,KAAK,IAAI,QAAQ,CAAC,UAAU,CAAA;QACzC,CAAC,CAAA;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACnD,SAAS,CAAC,SAAS,CAAC,CAAA;YACpB,IAAI,KAAK,KAAK,SAAS;gBAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACjD,MAAM,CAAC,IAAI,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAA;YACtD,OAAM;QACR,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;QACrE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;QACrE,IAAI,SAAoD,CAAA;QACxD,IAAI,YAAuD,CAAA;QAC3D,MAAM,SAAS,GAAG,GAAS,EAAE;YAC3B,SAAS,CAAC,SAAS,CAAC,CAAA;YACpB,qFAAqF;YACrF,oDAAoD;YACpD,SAAS,KAAK,UAAU,CAAC,GAAG,EAAE;gBAC5B,SAAS,CAAC,SAAS,CAAC,CAAA;gBACpB,sFAAsF;gBACtF,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC,CAAA;YAC5F,CAAC,EAAE,gBAAgB,CAAC,CAAA;QACtB,CAAC,CAAA;QACD,IAAI,KAAgD,CAAA;QACpD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAA;QACxD,MAAM,GAAG,GAAG,GAAS,EAAE;YACrB,MAAM,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;YAC9C,KAAK;gBACH,SAAS,GAAG,YAAY;oBACtB,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC;oBAC/B,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE;wBACd,QAAQ,GAAG,IAAI,CAAA;wBACf,SAAS,EAAE,CAAA;oBACb,CAAC,EAAE,SAAS,CAAC,CAAA;QACrB,CAAC,CAAA;QACD,GAAG,EAAE,CAAA;QACL,MAAM,MAAM,GAAG,GAAS,EAAE;YACxB,SAAS,GAAG,IAAI,CAAA;YAChB,SAAS,EAAE,CAAA;QACb,CAAC,CAAA;QACD,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,IAAI,SAAS,KAAK,SAAS;gBAAE,YAAY,CAAC,SAAS,CAAC,CAAA;YACpD,IAAI,YAAY,KAAK,SAAS;gBAAE,YAAY,CAAC,YAAY,CAAC,CAAA;YAC1D,IAAI,KAAK,KAAK,SAAS;gBAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACjD,KAAK,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACpD,CAAC,CAAA;QACD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACvB,IAAI,OAAO;gBAAE,OAAM;YACnB,OAAO,GAAG,IAAI,CAAA;YACd,OAAO,EAAE,CAAA;YACT,MAAM,CAAC,IAAI,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,CAAC,QAAuB,EAAE,MAA6B,EAAQ,EAAE;YAC9E,IAAI,OAAO;gBAAE,OAAM;YACnB,OAAO,GAAG,IAAI,CAAA;YACd,kEAAkE;YAClE,IAAI,KAAK,KAAK,SAAS;gBAAE,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;YACtD,OAAO,EAAE,CAAA;YACT,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAA;YACvB,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAA;YACvB,OAAO,CAAC;gBACN,EAAE,EAAE,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,QAAQ,KAAK,CAAC;gBAC7C,QAAQ;gBACR,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;gBACtC,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAChD,QAAQ;gBACR,SAAS;gBACT,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC,CAAA;QACJ,CAAC,CAAA;QACD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC3B,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/D,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI;YAAE,MAAM,EAAE,CAAA,CAAC,gDAAgD;IAC/F,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAW,EACX,MAI6D,KAAK;IAElE,IAAI,CAAC;QACH,GAAG,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAC3F,OAAO,EACP,GAAG,EAAE,GAAE,CAAC,CACT,CAAA;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC;AAED,gFAAgF;AAChF,SAAS,WAAW,CAAC,KAAa,EAAE,MAAsB;IACxD,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACrB,IAAI,iBAAiB;QAAE,OAAM;IAC7B,iBAAiB,GAAG,IAAI,CAAA;IACxB,iGAAiG;IACjG,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,KAAK,MAAM,IAAI,IAAI,UAAU;YAAE,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,MAA6B;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;IACzE,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IACnC,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACzB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAA;IAC5B,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAGD,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
package/dist/index.d.ts CHANGED
@@ -14,6 +14,7 @@ import type { EffectCost } from "@nifrajs/core/ledger";
14
14
  import { type StandardIssue, type StandardSchemaV1 } from "@nifrajs/core/schema";
15
15
  import { type ToolCatalogEntry } from "@nifrajs/core/tool-catalog";
16
16
  import { type ToolApproval, type ToolBudget, type ToolContract, type ToolError, type ToolIdempotencyStore } from "@nifrajs/core/tool-contract";
17
+ export { approximateContextTokens, assembleContext, type ContextAssembly, type ContextAssemblyOptions, type ContextBudget, ContextBudgetError, type ContextItem, type ContextSource, type ContextTokenCounter, collectContext, } from "./context.js";
17
18
  export { AgentDeployment, type AgentDeploymentAdapter, type AgentDeploymentPlan, assertDeploymentAuthorityMonotonic, createDeploymentAuthority, type DeploymentActivationOptions, type DeploymentAuthority, type DeploymentCancellation, type DeploymentCancelRequest, type DeploymentCancelResult, type DeploymentCapabilities, type DeploymentCapabilityReport, type DeploymentDisposeRequest, type DeploymentDisposeResult, DeploymentError, type DeploymentErrorCode, type DeploymentEvidence, type DeploymentFilesystem, type DeploymentInspection, type DeploymentInspectRequest, type DeploymentNetwork, type DeploymentPrepareRequest, type DeploymentPrepareResult, type DeploymentProcess, type DeploymentRuntime, type DeploymentSecrets, type DeploymentStartRequest, type DeploymentStartResult, type DeploymentState, type HostileCodeIsolation, parseDeploymentCapabilityReport, parseDeploymentPlan, } from "./deployment.js";
18
19
  export { createLocalProcessAdapter, type ExecutionPolicy, type ExecutionPolicyAdapter, LOCAL_PROCESS_LIMITATION, type LocalProcessAdapter, type LocalProcessAdapterOptions, LocalProcessPolicyError, type LocalProcessRequest, type LocalProcessResult, } from "./execution-policy.js";
19
20
  export { createStructuredOutputParser, FakeModelGateway, type FakeModelGatewayOptions, isModelGatewayErrorCode, MODEL_GATEWAY_ERROR_CODES, type ModelGateway, type ModelGatewayAttemptRequest, type ModelGatewayBudget, type ModelGatewayEnvelope, type ModelGatewayError, type ModelGatewayErrorCode, type ModelGatewayEvidence, type ModelGatewayExecutionResult, type ModelGatewayFailure, ModelGatewayFailureError, type ModelGatewayRawResult, type ModelGatewayRequest, type ModelGatewayResult, type ModelGatewaySuccess, type ModelGatewayTerminalFailure, type ModelGatewayUsage, type ModelRoute, type ModelRoutePolicy, type ModelRouteRef, parseModelGatewayError, parseModelGatewayResult, ReplayModelGateway, type ReplayModelGatewayOptions, runModelGateway, type StructuredOutputParser, structuredOutputParser, } from "./gateway.js";
@@ -42,6 +43,8 @@ export interface AgentTurnState {
42
43
  readonly kind: AgentPendingKind;
43
44
  readonly tool?: string;
44
45
  readonly effectId: string;
46
+ /** SHA-256 of the suspended tool input, so a resume must replay that input and no other. */
47
+ readonly inputDigest?: string;
45
48
  };
46
49
  }
47
50
  export interface AgentStepEvidence {
@@ -279,6 +282,11 @@ export declare function runAgent<InputSchema extends StandardSchemaV1, OutputSch
279
282
  /** Load a saved token-only state record and continue a bounded run. */
280
283
  export declare function resumeAgent<InputSchema extends StandardSchemaV1, OutputSchema extends StandardSchemaV1>(definition: AgentDefinition<InputSchema, OutputSchema>, turnId: string, input: AgentTurnInput, ports: AgentPorts, options?: Omit<RunAgentOptions, "state">): Promise<AgentRunResult<NonNullable<OutputSchema["~standard"]["types"]>["output"]>>;
281
284
  export declare function replayAgent<InputSchema extends StandardSchemaV1, OutputSchema extends StandardSchemaV1>(definition: AgentDefinition<InputSchema, OutputSchema>, input: AgentTurnInput, ports: Omit<AgentPorts, "model">, transcript: AgentTranscript, options: RunAgentOptions): Promise<AgentRunResult<NonNullable<OutputSchema["~standard"]["types"]>["output"]>>;
285
+ /** A resume whose continuation is not the step the turn suspended on. */
286
+ export declare class AgentResumeMismatchError extends Error {
287
+ readonly name = "AgentResumeMismatchError";
288
+ constructor();
289
+ }
282
290
  export type { ApprovalClass, CapabilityDescriptor, CapabilityKind, DescriptorInput, IdempotencyClass, IsolationClass, RegistryErrorCode, RegistrySnapshot, RetryClass, ToolDescriptorOptions, } from "./registry.js";
283
291
  export { CAPABILITY_DESCRIPTOR_VERSION, composeDescriptor, composeRegistrySnapshot, descriptorFromTool, parseCapabilityDescriptor, REGISTRY_SNAPSHOT_VERSION, RegistryError, } from "./registry.js";
284
292
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -12,6 +12,7 @@ import { canAttempt } from "@nifrajs/core/budget";
12
12
  import { validateStandard } from "@nifrajs/core/schema";
13
13
  import { toCatalogEntry } from "@nifrajs/core/tool-catalog";
14
14
  import { executeTool, } from "@nifrajs/core/tool-contract";
15
+ export { approximateContextTokens, assembleContext, ContextBudgetError, collectContext, } from "./context.js";
15
16
  export { AgentDeployment, assertDeploymentAuthorityMonotonic, createDeploymentAuthority, DeploymentError, parseDeploymentCapabilityReport, parseDeploymentPlan, } from "./deployment.js";
16
17
  export { createLocalProcessAdapter, LOCAL_PROCESS_LIMITATION, LocalProcessPolicyError, } from "./execution-policy.js";
17
18
  export { createStructuredOutputParser, FakeModelGateway, isModelGatewayErrorCode, MODEL_GATEWAY_ERROR_CODES, ModelGatewayFailureError, parseModelGatewayError, parseModelGatewayResult, ReplayModelGateway, runModelGateway, structuredOutputParser, } from "./gateway.js";
@@ -222,6 +223,9 @@ export async function turn(definition, state, input, ports) {
222
223
  kind: pending.kind,
223
224
  ...(pending.tool === undefined ? {} : { tool: pending.tool }),
224
225
  effectId: pending.effectId,
226
+ ...(pending.tool !== undefined && Object.hasOwn(pending, "input")
227
+ ? { inputDigest: await inputDigestOf(pending.input) }
228
+ : {}),
225
229
  },
226
230
  evidence,
227
231
  });
@@ -480,6 +484,18 @@ async function executeToolStep(state, tool, input, ports, evidence, responses, a
480
484
  return continueWithToolError(state, evidence, responses, toolResult, save);
481
485
  }
482
486
  async function resumeTool(definition, state, ports, resume, evidence, responses, add, save, suspended) {
487
+ // A resume continues the step this turn suspended on - that tool, that effect, that input. The
488
+ // continuation travels through the caller, so anything else in it is refused, not run.
489
+ const pending = state.pending;
490
+ const continuation = resume.continuation;
491
+ if (pending?.tool === undefined ||
492
+ continuation.tool !== pending.tool ||
493
+ continuation.effectId !== pending.effectId ||
494
+ continuation.kind !== pending.kind ||
495
+ (pending.inputDigest !== undefined &&
496
+ pending.inputDigest !== (await inputDigestOf(continuation.input)))) {
497
+ throw new AgentResumeMismatchError();
498
+ }
483
499
  const tool = resume.continuation.tool === undefined
484
500
  ? undefined
485
501
  : definition.tools.find((candidate) => candidate.name === resume.continuation.tool);
@@ -489,7 +505,9 @@ async function resumeTool(definition, state, ports, resume, evidence, responses,
489
505
  ok: false,
490
506
  error: { code: "unknown_tool", stage: "execution" },
491
507
  }, save);
492
- const approvalPorts = resume.approval === undefined
508
+ // The caller's decision answers only a step that suspended to await one; a step suspended for budget
509
+ // or cancellation asks the approval port as it would have.
510
+ const approvalPorts = resume.approval === undefined || pending.kind !== "approval"
493
511
  ? ports
494
512
  : {
495
513
  ...ports,
@@ -560,6 +578,29 @@ function withTranscript(result, responses) {
560
578
  },
561
579
  };
562
580
  }
581
+ /** A resume whose continuation is not the step the turn suspended on. */
582
+ export class AgentResumeMismatchError extends Error {
583
+ name = "AgentResumeMismatchError";
584
+ constructor() {
585
+ super("agent: the resume does not continue the step this turn suspended on");
586
+ }
587
+ }
588
+ async function inputDigestOf(input) {
589
+ const bytes = new TextEncoder().encode(canonicalJson(input));
590
+ const digest = new Uint8Array(await crypto.subtle.digest("SHA-256", bytes));
591
+ return Array.from(digest, (byte) => byte.toString(16).padStart(2, "0")).join("");
592
+ }
593
+ function canonicalJson(value) {
594
+ if (Array.isArray(value))
595
+ return `[${value.map(canonicalJson).join(",")}]`;
596
+ if (value !== null && typeof value === "object") {
597
+ const entries = Object.entries(value)
598
+ .filter(([, field]) => field !== undefined)
599
+ .sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0));
600
+ return `{${entries.map(([key, field]) => `${JSON.stringify(key)}:${canonicalJson(field)}`).join(",")}}`;
601
+ }
602
+ return JSON.stringify(value) ?? "null";
603
+ }
563
604
  function freezeState(state) {
564
605
  return Object.freeze({
565
606
  ...state,