@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/README.md +30 -2
- package/dist/context.d.ts +68 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +166 -0
- package/dist/context.js.map +1 -0
- 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 +90 -11
- package/dist/execution-policy.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +42 -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 +10 -2
- package/src/context.ts +245 -0
- package/src/deployment.ts +58 -9
- package/src/events.ts +44 -10
- package/src/execution-policy.ts +91 -11
- package/src/index.ts +59 -1
- package/src/mount.ts +50 -7
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) {
|
|
@@ -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]
|
|
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
|
-
|
|
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);
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"execution-policy.js","sourceRoot":"","sources":["../src/execution-policy.ts"],"names":[],"mappings":"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"}
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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
|
-
|
|
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,
|