@nifrajs/agent 3.1.0 → 3.2.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 +36 -0
- package/dist/deployment.d.ts +157 -0
- package/dist/deployment.d.ts.map +1 -0
- package/dist/deployment.js +374 -0
- package/dist/deployment.js.map +1 -0
- package/dist/events.d.ts +41 -0
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +75 -0
- package/dist/events.js.map +1 -1
- package/dist/execution-policy.d.ts.map +1 -1
- package/dist/execution-policy.js +11 -7
- package/dist/execution-policy.js.map +1 -1
- package/dist/gateway.d.ts +153 -0
- package/dist/gateway.d.ts.map +1 -0
- package/dist/gateway.js +409 -0
- package/dist/gateway.js.map +1 -0
- package/dist/index.d.ts +86 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +163 -1
- package/dist/index.js.map +1 -1
- package/dist/mount.d.ts +59 -0
- package/dist/mount.d.ts.map +1 -0
- package/dist/mount.js +247 -0
- package/dist/mount.js.map +1 -0
- package/dist/registry.d.ts +112 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +326 -0
- package/dist/registry.js.map +1 -0
- package/package.json +12 -2
- package/src/deployment.ts +621 -0
- package/src/events.ts +125 -0
- package/src/execution-policy.ts +9 -5
- package/src/gateway.ts +607 -0
- package/src/index.ts +303 -1
- package/src/mount.ts +344 -0
- package/src/registry.ts +444 -0
package/dist/index.js
CHANGED
|
@@ -3,13 +3,42 @@
|
|
|
3
3
|
*
|
|
4
4
|
* One turn makes one model decision and may execute one {@link ToolContract}. The multi-turn runner
|
|
5
5
|
* is intentionally bounded. The state adapter stores token-only evidence and cursor metadata; model
|
|
6
|
-
* input, tool input, and tool output remain transient caller data.
|
|
6
|
+
* input, tool input, and tool output remain transient caller data. A model port may additionally
|
|
7
|
+
* stream progressive output (text, reasoning, tool-call arguments) through the request's optional
|
|
8
|
+
* `onDelta` callback when the caller wires an {@link AgentDeltaSink} into the ports - deltas are
|
|
9
|
+
* transient observer data for live UIs, never evidence, and are never persisted by the runtime.
|
|
7
10
|
*/
|
|
8
11
|
import { canAttempt } from "@nifrajs/core/budget";
|
|
9
12
|
import { validateStandard } from "@nifrajs/core/schema";
|
|
10
13
|
import { toCatalogEntry } from "@nifrajs/core/tool-catalog";
|
|
11
14
|
import { executeTool, } from "@nifrajs/core/tool-contract";
|
|
15
|
+
export { AgentDeployment, assertDeploymentAuthorityMonotonic, createDeploymentAuthority, DeploymentError, parseDeploymentCapabilityReport, parseDeploymentPlan, } from "./deployment.js";
|
|
12
16
|
export { createLocalProcessAdapter, LOCAL_PROCESS_LIMITATION, LocalProcessPolicyError, } from "./execution-policy.js";
|
|
17
|
+
export { createStructuredOutputParser, FakeModelGateway, isModelGatewayErrorCode, MODEL_GATEWAY_ERROR_CODES, ModelGatewayFailureError, parseModelGatewayError, parseModelGatewayResult, ReplayModelGateway, runModelGateway, structuredOutputParser, } from "./gateway.js";
|
|
18
|
+
/**
|
|
19
|
+
* Fan model deltas out to several sinks - a protocol bridge and a logger can watch the same run.
|
|
20
|
+
* `undefined` entries are skipped, and the combined sink is `undefined` when none remain. Each
|
|
21
|
+
* sink is isolated: one sink throwing never starves the others.
|
|
22
|
+
*/
|
|
23
|
+
export function combineAgentDeltaSinks(...sinks) {
|
|
24
|
+
const live = sinks.filter((sink) => sink !== undefined);
|
|
25
|
+
if (live.length === 0)
|
|
26
|
+
return undefined;
|
|
27
|
+
if (live.length === 1)
|
|
28
|
+
return live[0];
|
|
29
|
+
return {
|
|
30
|
+
delta(delta) {
|
|
31
|
+
for (const sink of live) {
|
|
32
|
+
try {
|
|
33
|
+
sink.delta(delta);
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
// Deltas are best-effort observability; a failing sink must not affect its peers.
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
13
42
|
export class MemoryAgentStateStore {
|
|
14
43
|
states = new Map();
|
|
15
44
|
load(turnId) {
|
|
@@ -19,6 +48,137 @@ export class MemoryAgentStateStore {
|
|
|
19
48
|
this.states.set(state.turnId, freezeState(state));
|
|
20
49
|
}
|
|
21
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Fan one run's step evidence out to several telemetry ports - an SSE evidence stream and an
|
|
53
|
+
* exporter can observe the same turn. Ports are awaited in argument order; `undefined` entries are
|
|
54
|
+
* skipped, and the combined port is `undefined` when none remain.
|
|
55
|
+
*/
|
|
56
|
+
export function combineAgentTelemetry(...ports) {
|
|
57
|
+
const live = ports.filter((port) => port !== undefined);
|
|
58
|
+
if (live.length === 0)
|
|
59
|
+
return undefined;
|
|
60
|
+
if (live.length === 1)
|
|
61
|
+
return live[0];
|
|
62
|
+
return {
|
|
63
|
+
async step(evidence) {
|
|
64
|
+
for (const port of live)
|
|
65
|
+
await port.step(evidence);
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
export function createAgentSharedState(initial) {
|
|
70
|
+
let document = structuredClone(initial);
|
|
71
|
+
const listeners = new Set();
|
|
72
|
+
return {
|
|
73
|
+
snapshot() {
|
|
74
|
+
return structuredClone(document);
|
|
75
|
+
},
|
|
76
|
+
patch(ops) {
|
|
77
|
+
// Validate-then-apply on a copy so a mid-batch failure never leaves a half-patched document.
|
|
78
|
+
let next = structuredClone(document);
|
|
79
|
+
for (const op of ops)
|
|
80
|
+
next = applyStatePatchOp(next, op);
|
|
81
|
+
document = next;
|
|
82
|
+
const applied = Object.freeze([...ops]);
|
|
83
|
+
for (const listener of listeners) {
|
|
84
|
+
try {
|
|
85
|
+
listener(applied);
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
// Observer failures must not affect the document or the other observers.
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
subscribe(listener) {
|
|
93
|
+
listeners.add(listener);
|
|
94
|
+
return () => {
|
|
95
|
+
listeners.delete(listener);
|
|
96
|
+
};
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
/** JSON Pointer segments that would graft onto the prototype chain are rejected outright. */
|
|
101
|
+
const FORBIDDEN_STATE_KEYS = new Set(["__proto__", "constructor", "prototype"]);
|
|
102
|
+
function applyStatePatchOp(document, op) {
|
|
103
|
+
if (op === null || typeof op !== "object" || typeof op.path !== "string")
|
|
104
|
+
throw new TypeError("agent: invalid patch op");
|
|
105
|
+
if (op.op !== "add" && op.op !== "replace" && op.op !== "remove")
|
|
106
|
+
throw new TypeError("agent: unsupported patch op");
|
|
107
|
+
if (op.path === "") {
|
|
108
|
+
if (op.op === "remove")
|
|
109
|
+
throw new TypeError("agent: cannot remove the document root");
|
|
110
|
+
return op.value;
|
|
111
|
+
}
|
|
112
|
+
if (!op.path.startsWith("/"))
|
|
113
|
+
throw new TypeError("agent: patch path must be a JSON Pointer");
|
|
114
|
+
const segments = op.path
|
|
115
|
+
.slice(1)
|
|
116
|
+
.split("/")
|
|
117
|
+
.map((segment) => segment.replaceAll("~1", "/").replaceAll("~0", "~"));
|
|
118
|
+
let parent = document;
|
|
119
|
+
for (let index = 0; index < segments.length - 1; index += 1)
|
|
120
|
+
parent = stateChild(parent, segments[index]);
|
|
121
|
+
const key = segments[segments.length - 1];
|
|
122
|
+
if (Array.isArray(parent)) {
|
|
123
|
+
if (op.op === "add" && key === "-") {
|
|
124
|
+
parent.push(op.value);
|
|
125
|
+
return document;
|
|
126
|
+
}
|
|
127
|
+
const index = asStateIndex(key, parent.length + (op.op === "add" ? 1 : 0));
|
|
128
|
+
if (op.op === "add")
|
|
129
|
+
parent.splice(index, 0, op.value);
|
|
130
|
+
else if (op.op === "replace")
|
|
131
|
+
parent[index] = op.value;
|
|
132
|
+
else
|
|
133
|
+
parent.splice(index, 1);
|
|
134
|
+
return document;
|
|
135
|
+
}
|
|
136
|
+
const record = asStateRecord(parent);
|
|
137
|
+
if (FORBIDDEN_STATE_KEYS.has(key))
|
|
138
|
+
throw new TypeError("agent: forbidden patch path segment");
|
|
139
|
+
if (op.op === "remove") {
|
|
140
|
+
if (!Object.hasOwn(record, key))
|
|
141
|
+
throw new TypeError("agent: patch path does not exist");
|
|
142
|
+
delete record[key];
|
|
143
|
+
return document;
|
|
144
|
+
}
|
|
145
|
+
if (op.op === "replace" && !Object.hasOwn(record, key))
|
|
146
|
+
throw new TypeError("agent: patch path does not exist");
|
|
147
|
+
record[key] = op.value;
|
|
148
|
+
return document;
|
|
149
|
+
}
|
|
150
|
+
function stateChild(parent, segment) {
|
|
151
|
+
if (Array.isArray(parent))
|
|
152
|
+
return parent[asStateIndex(segment, parent.length)];
|
|
153
|
+
const record = asStateRecord(parent);
|
|
154
|
+
if (FORBIDDEN_STATE_KEYS.has(segment) || !Object.hasOwn(record, segment))
|
|
155
|
+
throw new TypeError("agent: patch path does not exist");
|
|
156
|
+
return record[segment];
|
|
157
|
+
}
|
|
158
|
+
function asStateIndex(segment, bound) {
|
|
159
|
+
if (!/^(0|[1-9]\d{0,9})$/.test(segment))
|
|
160
|
+
throw new TypeError("agent: invalid array index");
|
|
161
|
+
const index = Number(segment);
|
|
162
|
+
if (index >= bound)
|
|
163
|
+
throw new TypeError("agent: array index out of bounds");
|
|
164
|
+
return index;
|
|
165
|
+
}
|
|
166
|
+
function asStateRecord(value) {
|
|
167
|
+
if (value === null || typeof value !== "object" || Array.isArray(value))
|
|
168
|
+
throw new TypeError("agent: patch path does not exist");
|
|
169
|
+
return value;
|
|
170
|
+
}
|
|
171
|
+
/** A sink failure must surface as neither a model failure nor a dropped run. */
|
|
172
|
+
function guardedDelta(sink) {
|
|
173
|
+
return (delta) => {
|
|
174
|
+
try {
|
|
175
|
+
sink.delta(delta);
|
|
176
|
+
}
|
|
177
|
+
catch {
|
|
178
|
+
// Deltas are best-effort observability.
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
}
|
|
22
182
|
export function createAgentState(turnId) {
|
|
23
183
|
if (!/^[a-zA-Z0-9._:-]{1,128}$/.test(turnId))
|
|
24
184
|
throw new TypeError("agent: turnId must be a bounded token");
|
|
@@ -130,6 +290,7 @@ export async function turn(definition, state, input, ports) {
|
|
|
130
290
|
...(ports.deadline === undefined
|
|
131
291
|
? {}
|
|
132
292
|
: { deadline: ports.deadline.child(AGENT_SETTLE_RESERVE_MS) }),
|
|
293
|
+
...(ports.deltas === undefined ? {} : { onDelta: guardedDelta(ports.deltas) }),
|
|
133
294
|
});
|
|
134
295
|
response = parseModelResponse(rawResponse);
|
|
135
296
|
}
|
|
@@ -406,4 +567,5 @@ function freezeState(state) {
|
|
|
406
567
|
...(state.pending === undefined ? {} : { pending: Object.freeze({ ...state.pending }) }),
|
|
407
568
|
});
|
|
408
569
|
}
|
|
570
|
+
export { CAPABILITY_DESCRIPTOR_VERSION, composeDescriptor, composeRegistrySnapshot, descriptorFromTool, parseCapabilityDescriptor, REGISTRY_SNAPSHOT_VERSION, RegistryError, } from "./registry.js";
|
|
409
571
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAsB,MAAM,sBAAsB,CAAA;AAGrE,OAAO,EAA6C,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAClG,OAAO,EAAyB,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAClF,OAAO,EACL,WAAW,GAOZ,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EACL,eAAe,EAGf,kCAAkC,EAClC,yBAAyB,EAUzB,eAAe,EAgBf,+BAA+B,EAC/B,mBAAmB,GACpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,yBAAyB,EAGzB,wBAAwB,EAGxB,uBAAuB,GAGxB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,EAEhB,uBAAuB,EACvB,yBAAyB,EAUzB,wBAAwB,EAUxB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAElB,eAAe,EAEf,sBAAsB,GACvB,MAAM,cAAc,CAAA;AA0GrB;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,GAAG,KAA8C;IAEjD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAA0B,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;IAC/E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IACvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;IACrC,OAAO;QACL,KAAK,CAAC,KAAK;YACT,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACH,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBACnB,CAAC;gBAAC,MAAM,CAAC;oBACP,kFAAkF;gBACpF,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAwCD,MAAM,OAAO,qBAAqB;IACf,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAA;IAE3D,IAAI,CAAC,MAAc;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;IAED,IAAI,CAAC,KAAqB;QACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;IACnD,CAAC;CACF;AAMD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,GAAG,KAAkD;IAErD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAA8B,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;IACnF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IACvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;IACrC,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,QAAQ;YACjB,KAAK,MAAM,IAAI,IAAI,IAAI;gBAAE,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACpD,CAAC;KACF,CAAA;AACH,CAAC;AAuBD,MAAM,UAAU,sBAAsB,CAAQ,OAAc;IAC1D,IAAI,QAAQ,GAAY,eAAe,CAAC,OAAO,CAAC,CAAA;IAChD,MAAM,SAAS,GAAG,IAAI,GAAG,EAA+C,CAAA;IACxE,OAAO;QACL,QAAQ;YACN,OAAO,eAAe,CAAC,QAAQ,CAAU,CAAA;QAC3C,CAAC;QACD,KAAK,CAAC,GAAG;YACP,6FAA6F;YAC7F,IAAI,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;YACpC,KAAK,MAAM,EAAE,IAAI,GAAG;gBAAE,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACxD,QAAQ,GAAG,IAAI,CAAA;YACf,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;YACvC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,QAAQ,CAAC,OAAO,CAAC,CAAA;gBACnB,CAAC;gBAAC,MAAM,CAAC;oBACP,yEAAyE;gBAC3E,CAAC;YACH,CAAC;QACH,CAAC;QACD,SAAS,CAAC,QAAQ;YAChB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACvB,OAAO,GAAG,EAAE;gBACV,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC5B,CAAC,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAED,6FAA6F;AAC7F,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAA;AAE/E,SAAS,iBAAiB,CAAC,QAAiB,EAAE,EAAqB;IACjE,IAAI,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ;QACtE,MAAM,IAAI,SAAS,CAAC,yBAAyB,CAAC,CAAA;IAChD,IAAI,EAAE,CAAC,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,EAAE,KAAK,QAAQ;QAC9D,MAAM,IAAI,SAAS,CAAC,6BAA6B,CAAC,CAAA;IACpD,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QACnB,IAAI,EAAE,CAAC,EAAE,KAAK,QAAQ;YAAE,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAA;QACrF,OAAO,EAAE,CAAC,KAAK,CAAA;IACjB,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAA;IAC7F,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI;SACrB,KAAK,CAAC,CAAC,CAAC;SACR,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;IACxE,IAAI,MAAM,GAAY,QAAQ,CAAA;IAC9B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC;QACzD,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAW,CAAC,CAAA;IACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAW,CAAA;IACnD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,IAAI,EAAE,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;YACrB,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1E,IAAI,EAAE,CAAC,EAAE,KAAK,KAAK;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;aACjD,IAAI,EAAE,CAAC,EAAE,KAAK,SAAS;YAAE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAA;;YACjD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAC5B,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,IAAI,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAA;IAC7F,IAAI,EAAE,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAA;QACxF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;QAClB,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,IAAI,EAAE,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACpD,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAA;IACzD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAA;IACtB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,MAAe,EAAE,OAAe;IAClD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9E,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,IAAI,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;QACtE,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAA;IACzD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;AACxB,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,KAAa;IAClD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,4BAA4B,CAAC,CAAA;IAC1F,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAC7B,IAAI,KAAK,IAAI,KAAK;QAAE,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAA;IAC3E,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrE,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAA;IACzD,OAAO,KAAgC,CAAA;AACzC,CAAC;AAED,gFAAgF;AAChF,SAAS,YAAY,CAAC,IAAoB;IACxC,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,wCAAwC;QAC1C,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAoFD,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1C,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAA;IAC9D,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,CAAC;QACV,MAAM;QACN,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;KAC5B,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,uBAAuB,GAAG,CAAC,CAAA;AAEjC,SAAS,gBAAgB,CAAC,IAA4B;IACpD,MAAM,KAAK,GAAG,IAAI,EAAE,EAAE,CAAA;IACtB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACtF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAIxB,UAAsD,EACtD,KAAqB,EACrB,KAAqB,EACrB,KAAiB;IAEjB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC,MAAM,CAAA;IAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAA;IACtD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAA;IAC5D,MAAM,QAAQ,GAAwB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;IACzD,MAAM,SAAS,GAAyB,EAAE,CAAA;IAC1C,MAAM,GAAG,GAAG,KAAK,EACf,IAA+B,EAC/B,OAAqC,EACrC,SAAqE,EAAE,EAC3C,EAAE;QAC9B,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;QAClB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;YAChC,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAA;QAC9E,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;QAClF,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,MAAM,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACjC,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IACD,MAAM,IAAI,GAAG,KAAK,EAAE,IAAoB,EAAiB,EAAE;QACzD,MAAM,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC,CAAA;IACD,MAAM,SAAS,GAAG,KAAK,EACrB,IAAoB,EACpB,OAAiC,EACjC,MAAqD,EACgC,EAAE;QACvF,MAAM,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QAC7E,MAAM,KAAK,GAAG,WAAW,CAAC;YACxB,GAAG,IAAI;YACP,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE;gBACP,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC7D,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B;YACD,QAAQ;SACT,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;QACjB,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,KAAK;YACZ,OAAO;YACP,MAAM;YACN,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,UAAU,EAAE;gBACV,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;gBACxC,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB;SACF,CAAA;IACH,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACzE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QACpB,MAAM,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAA;QACvD,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC5F,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;QACjB,OAAO,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACxF,CAAC;IACD,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,CAAC,CAAA;IAElG,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,UAAU,CACf,UAAU,EACV,KAAK,EACL,KAAK,EACL,KAAK,CAAC,MAAM,EACZ,QAAQ,EACR,SAAS,EACT,GAAG,EACH,IAAI,EACJ,SAAS,CACV,CAAA;QACH,CAAC;QACD,sFAAsF;QACtF,8FAA8F;QAC9F,kGAAkG;QAClG,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,SAAS;YAAE,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;;YAE9D,OAAO,SAAS,CACd,KAAK,EACL;gBACE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,IAAI,WAAW;gBACxC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC1E,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,IAAI,KAAK,EAAE;aAC7C,EACD,KAAK,CAAC,OAAO,EAAE,IAAI,IAAI,WAAW,CACnC,CAAA;IACL,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IACtD,IACE,KAAK,CAAC,QAAQ,KAAK,SAAS;QAC5B,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,uBAAuB,CAAC,EAC7D,CAAC;QACD,MAAM,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAA;QAC5D,OAAO,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;IAC1E,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9E,MAAM,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAA;QAC1D,OAAO,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;IAC1E,CAAC;IACD,MAAM,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAC7B,IAAI,QAAwC,CAAA;IAC5C,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC7C,KAAK,EAAE,UAAU,CAAC,IAAI;YACtB,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,KAAK;YACL,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC3D,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;YAC3E,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;YACvF,MAAM;YACN,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS;gBAC9B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;SAC/E,CAAC,CAAA;QACF,QAAQ,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAA;QACrF,OAAO,SAAS,CACd,KAAK,EACL,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EACnE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CACvC,CAAA;IACH,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,uBAAuB,CAAC,EAAE,CAAC;QAC5F,MAAM,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAA;QAC5D,OAAO,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;IAC1E,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAA;QAChE,OAAO,qBAAqB,CAC1B,KAAK,EACL,QAAQ,EACR,SAAS,EACT,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAC3F,IAAI,CACL,CAAA;IACH,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACxB,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC9E,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;YACrB,MAAM,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAA;YACxD,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC5F,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;YACjB,OAAO,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;QAC1F,CAAC;QACD,MAAM,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC5F,MAAM,IAAI,CAAC,KAAK,CAAC,CAAA;QACjB,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,YAAY,CAAC,KAAK;YAC1B,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,UAAU,EAAE;gBACV,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;gBACxC,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB;SACF,CAAA;IACH,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAA;IACnF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAA;QAC1E,OAAO,qBAAqB,CAC1B,KAAK,EACL,QAAQ,EACR,SAAS,EACT,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EACvF,IAAI,CACL,CAAA;IACH,CAAC;IACD,OAAO,eAAe,CACpB,KAAK,EACL,IAAI,EACJ,QAAQ,CAAC,KAAK,EACd,KAAK,EACL,QAAQ,EACR,SAAS,EACT,GAAG,EACH,IAAI,EACJ,SAAS,CACV,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAI5B,UAAsD,EACtD,KAAqB,EACrB,KAAiB,EACjB,OAAwB;IAExB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAA;IACtC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;QACjD,MAAM,IAAI,UAAU,CAAC,iDAAiD,CAAC,CAAA;IACzE,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IACzB,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,IAAI,IAA4F,CAAA;IAChG,MAAM,iBAAiB,GAAyB,EAAE,CAAA;IAClD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9C,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;QACtD,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QACpD,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxF,OAAO,cAAc,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;YAChD,CAAC;YACD,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC9B,SAAS,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;YAC/D,SAAQ;QACV,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW;YAAE,OAAO,cAAc,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;QAC/E,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QAClB,SAAS,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAA;IACjE,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAA;IACrB,IAAI,QAAQ,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAC1E,OAAO;QACL,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;QAC5F,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,UAAU,EAAE;YACV,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;YAC7B,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC;YAChD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B;KACF,CAAA;AACH,CAAC;AAED,uEAAuE;AACvE,MAAM,CAAC,KAAK,UAAU,WAAW,CAI/B,UAAsD,EACtD,MAAc,EACd,KAAqB,EACrB,KAAiB,EACjB,UAA0C,EAAE;IAE5C,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACtF,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC5C,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IAC1E,OAAO,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAI/B,UAAsD,EACtD,KAAqB,EACrB,KAAgC,EAChC,UAA2B,EAC3B,OAAwB;IAExB,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,MAAM,KAAK,GAAmB;QAC5B,QAAQ,EAAE,GAAG,EAAE;YACb,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;YAC9C,IAAI,QAAQ,KAAK,SAAS;gBACxB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;YAC7E,OAAO,QAAQ,CAAA;QACjB,CAAC;KACF,CAAA;IACD,OAAO,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;AAChF,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,KAAqB,EACrB,IAAuB,EACvB,KAAc,EACd,KAAiB,EACjB,QAA6B,EAC7B,SAA+B,EAC/B,GAI+B,EAC/B,IAA8C,EAC9C,SAIwF,EACxF,gBAAyB;IAEzB,MAAM,QAAQ,GAAG,gBAAgB,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAA;IACvF,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1C,IACE,KAAK,CAAC,QAAQ,KAAK,SAAS;QAC5B,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,uBAAuB,CAAC,EAC5D,CAAC;QACD,MAAM,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ;YACR,IAAI,EAAE,mBAAmB;SAC1B,CAAC,CAAA;QACF,OAAO,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAA;IACzF,CAAC;IACD,IAAI,QAAkC,CAAA;IACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAC9B,OAAO,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAA;QAC7F,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC1C,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ;YACR,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC,MAAM;YACpD,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS;gBAC9B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,uBAAuB,CAAC;iBACjE,CAAC;SACP,CAAC,CAAA;QACF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAC7B,OAAO,SAAS,CACd,KAAK,EACL,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EACvE,UAAU,CACX,CAAA;QACH,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;YAC5B,QAAQ,GAAG;gBACT,OAAO,EAAE,KAAK;gBACd,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;aAClE,CAAA;;YACE,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,MAAM,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;YACxE,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ;YACR,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC,CAAA;IACJ,CAAC;IACD,IACE,KAAK,CAAC,QAAQ,KAAK,SAAS;QAC5B,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,uBAAuB,CAAC,EAC5D,CAAC;QACD,MAAM,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ;YACR,IAAI,EAAE,mBAAmB;SAC1B,CAAC,CAAA;QACF,OAAO,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAA;IACzF,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE;QAC5C,QAAQ;QACR,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/D,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,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1F,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/D,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS;YAC9B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/D,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;KAC7D,CAAC,CAAA;IACF,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAClD,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;QACpD,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ;QACR,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACjD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KAC7F,CAAC,CAAA;IACF,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC1D,MAAM,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAA;QACrF,OAAO,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAA;IACzF,CAAC;IACD,OAAO,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;AAC5E,CAAC;AAED,KAAK,UAAU,UAAU,CAIvB,UAAsD,EACtD,KAAqB,EACrB,KAAiB,EACjB,MAA6C,EAC7C,QAA6B,EAC7B,SAA+B,EAC/B,GAI+B,EAC/B,IAA8C,EAC9C,SAIwF;IAExF,MAAM,IAAI,GACR,MAAM,CAAC,YAAY,CAAC,IAAI,KAAK,SAAS;QACpC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IACvF,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC;QACpE,OAAO,qBAAqB,CAC1B,KAAK,EACL,QAAQ,EACR,SAAS,EACT;YACE,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,IAAI,SAAS;YAC3C,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE;SACpD,EACD,IAAI,CACL,CAAA;IACH,MAAM,aAAa,GACjB,MAAM,CAAC,QAAQ,KAAK,SAAS;QAC3B,CAAC,CAAC,KAAK;QACP,CAAC,CAAC;YACE,GAAG,KAAK;YACR,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAS,EAAE,CAAC,EAAE;SAClF,CAAA;IACP,OAAO,eAAe,CACpB,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAC7B,IAAI,EACJ,MAAM,CAAC,YAAY,CAAC,KAAK,EACzB,aAAa,EACb,QAAQ,EACR,SAAS,EACT,GAAG,EACH,IAAI,EACJ,SAAS,EACT,MAAM,CAAC,YAAY,CAAC,QAAQ,CAC7B,CAAA;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,KAAqB,EACrB,QAAsC,EACtC,SAAwC,EACxC,UAA2B,EAC3B,IAA8C;IAE9C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE,GAAG,KAAK,CAAA;IACtD,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,GAAG,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAChG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAA;IAChB,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,IAAI;QACX,UAAU;QACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE;YACV,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;KACF,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,MAA+B;IACjE,OAAO,MAAM,CAAC,EAAE;QACd,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;QACvF,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAA;AAC9C,CAAC;AAED,SAAS,cAAc,CACrB,KAAqB,EACrB,SAAwC,EACxC,QAAsC,EACtC,IAAwC,EACxC,MAAgC;IAMhC,OAAO;QACL,MAAM,EAAE,WAAW;QACnB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACvB,KAAK;QACL,QAAQ;QACR,UAAU,EAAE;YACV,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;YACxC,QAAQ;SACT;KACF,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IACzF,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;IACxD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QAC/D,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;IAC/D,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QAChG,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;IAChF,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,UAAU,CAAC,KAAqB;IACvC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE,GAAG,KAAK,CAAA;IACtD,OAAO,WAAW,CAAC,EAAE,GAAG,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;AAC5D,CAAC;AAED,SAAS,cAAc,CACrB,MAA+B,EAC/B,SAAwC;IAExC,OAAO;QACL,GAAG,MAAM;QACT,UAAU,EAAE;YACV,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;YAC3B,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;YACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B;KACF,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAqB;IACxC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,KAAK;QACR,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5C,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;KACzF,CAAC,CAAA;AACJ,CAAC;AAgBD,OAAO,EACL,6BAA6B,EAC7B,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,aAAa,GACd,MAAM,eAAe,CAAA"}
|
package/dist/mount.d.ts
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mountAgent` - the one-call HTTP + SSE seam for a {@link AgentDefinition}.
|
|
3
|
+
*
|
|
4
|
+
* It translates HTTP to the bounded runner and back, nothing more. The request body is read through
|
|
5
|
+
* core's single bounded, proto-guarded framing lane (`@nifrajs/core/edge-kit`); the run itself is
|
|
6
|
+
* driven by {@link runAgent}/{@link resumeAgent}. The caller supplies the ports through a per-request
|
|
7
|
+
* factory, so the model, durable state store, and approval transport - the operated, credentialed, or
|
|
8
|
+
* tenant-scoped pieces - are injected here and never live in this package.
|
|
9
|
+
*
|
|
10
|
+
* Wire contract (default path `/agent`):
|
|
11
|
+
* - `POST {path}` body `{ input, turnId?, resume? }`:
|
|
12
|
+
* - `Accept: text/event-stream` -> SSE: one `event: step` per {@link AgentStepEvidence}, then a final
|
|
13
|
+
* `event: result` carrying the projected run result, then the stream closes.
|
|
14
|
+
* - otherwise -> a single JSON body: the projected run result.
|
|
15
|
+
* - `resume` is `{ continuation, approval? }` (see {@link AgentTurnInput}); the runtime keeps state
|
|
16
|
+
* token-only, so a suspended tool's input must be replayed by the caller in `continuation.input`.
|
|
17
|
+
* - With an `evidenceLog` configured, `step` frames carry `id: <seq>` and a dropped SSE connection
|
|
18
|
+
* is resumable: re-POST the same `turnId` with a `Last-Event-ID` header to replay the missed
|
|
19
|
+
* evidence and rejoin the still-running turn (or receive the stored terminal frame) - the run is
|
|
20
|
+
* never re-executed. Without the log the header is ignored and every POST starts a run.
|
|
21
|
+
* - The seam performs no authentication or authorization. Wrap it with the app's own route guards, and
|
|
22
|
+
* scope the store/model returned by `ports` to the caller (RLS born in at the data layer).
|
|
23
|
+
*/
|
|
24
|
+
import { type ProtoPoisoning } from "@nifrajs/core/edge-kit";
|
|
25
|
+
import type { StandardSchemaV1 } from "@nifrajs/core/schema";
|
|
26
|
+
import { type AgentEvidenceLog } from "./events.js";
|
|
27
|
+
import { type AgentDefinition, type AgentPorts } from "./index.js";
|
|
28
|
+
/** The structural slice of a route context the seam needs. Kept loose so core stays a peer dependency. */
|
|
29
|
+
export interface AgentRouteContext {
|
|
30
|
+
readonly req: Request;
|
|
31
|
+
}
|
|
32
|
+
/** The structural slice of a nifra server `mountAgent` needs. */
|
|
33
|
+
export interface AgentMountableApp {
|
|
34
|
+
post(path: string, handler: (c: AgentRouteContext) => Response | Promise<Response>): unknown;
|
|
35
|
+
}
|
|
36
|
+
export interface MountAgentOptions<InputSchema extends StandardSchemaV1, OutputSchema extends StandardSchemaV1> {
|
|
37
|
+
readonly agent: AgentDefinition<InputSchema, OutputSchema>;
|
|
38
|
+
/** Endpoint path. Default `/agent`. */
|
|
39
|
+
readonly path?: string;
|
|
40
|
+
/** Bounded run length passed to {@link runAgent}. */
|
|
41
|
+
readonly maxTurns?: number;
|
|
42
|
+
/** Maximum request body size in bytes. Default 1_000_000. */
|
|
43
|
+
readonly maxBodyBytes?: number;
|
|
44
|
+
/** Prototype-poisoning policy for the framing lane. Default `"reject"`. */
|
|
45
|
+
readonly protoPoisoning?: ProtoPoisoning;
|
|
46
|
+
/**
|
|
47
|
+
* Build the ports for one request - the model, durable state store, approval transport, capabilities,
|
|
48
|
+
* and budgets. Receives the route context so the caller can scope every port to the request subject.
|
|
49
|
+
*/
|
|
50
|
+
readonly ports: (c: AgentRouteContext) => AgentPorts | Promise<AgentPorts>;
|
|
51
|
+
/**
|
|
52
|
+
* Evidence log making the SSE stream resumable via `Last-Event-ID`. The in-memory reference
|
|
53
|
+
* (`createMemoryAgentEvidenceLog`) is single-process; a durable log is an adapter concern.
|
|
54
|
+
*/
|
|
55
|
+
readonly evidenceLog?: AgentEvidenceLog;
|
|
56
|
+
}
|
|
57
|
+
/** Mount a single agent as `POST {path}`, negotiating an SSE evidence stream on `Accept`. */
|
|
58
|
+
export declare function mountAgent<InputSchema extends StandardSchemaV1, OutputSchema extends StandardSchemaV1>(app: AgentMountableApp, options: MountAgentOptions<InputSchema, OutputSchema>): void;
|
|
59
|
+
//# sourceMappingURL=mount.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAEL,KAAK,cAAc,EAKpB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,UAAU,EAOhB,MAAM,YAAY,CAAA;AAOnB,0GAA0G;AAC1G,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;CACtB;AAED,iEAAiE;AACjE,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAA;CAC7F;AAED,MAAM,WAAW,iBAAiB,CAChC,WAAW,SAAS,gBAAgB,EACpC,YAAY,SAAS,gBAAgB;IAErC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IAC1D,uCAAuC;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAA;IACxC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAC1E;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAA;CACxC;AAED,6FAA6F;AAC7F,wBAAgB,UAAU,CACxB,WAAW,SAAS,gBAAgB,EACpC,YAAY,SAAS,gBAAgB,EACrC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,IAAI,CAgBrF"}
|
package/dist/mount.js
ADDED
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mountAgent` - the one-call HTTP + SSE seam for a {@link AgentDefinition}.
|
|
3
|
+
*
|
|
4
|
+
* It translates HTTP to the bounded runner and back, nothing more. The request body is read through
|
|
5
|
+
* core's single bounded, proto-guarded framing lane (`@nifrajs/core/edge-kit`); the run itself is
|
|
6
|
+
* driven by {@link runAgent}/{@link resumeAgent}. The caller supplies the ports through a per-request
|
|
7
|
+
* factory, so the model, durable state store, and approval transport - the operated, credentialed, or
|
|
8
|
+
* tenant-scoped pieces - are injected here and never live in this package.
|
|
9
|
+
*
|
|
10
|
+
* Wire contract (default path `/agent`):
|
|
11
|
+
* - `POST {path}` body `{ input, turnId?, resume? }`:
|
|
12
|
+
* - `Accept: text/event-stream` -> SSE: one `event: step` per {@link AgentStepEvidence}, then a final
|
|
13
|
+
* `event: result` carrying the projected run result, then the stream closes.
|
|
14
|
+
* - otherwise -> a single JSON body: the projected run result.
|
|
15
|
+
* - `resume` is `{ continuation, approval? }` (see {@link AgentTurnInput}); the runtime keeps state
|
|
16
|
+
* token-only, so a suspended tool's input must be replayed by the caller in `continuation.input`.
|
|
17
|
+
* - With an `evidenceLog` configured, `step` frames carry `id: <seq>` and a dropped SSE connection
|
|
18
|
+
* is resumable: re-POST the same `turnId` with a `Last-Event-ID` header to replay the missed
|
|
19
|
+
* evidence and rejoin the still-running turn (or receive the stored terminal frame) - the run is
|
|
20
|
+
* never re-executed. Without the log the header is ignored and every POST starts a run.
|
|
21
|
+
* - The seam performs no authentication or authorization. Wrap it with the app's own route guards, and
|
|
22
|
+
* scope the store/model returned by `ports` to the caller (RLS born in at the data layer).
|
|
23
|
+
*/
|
|
24
|
+
import { EMPTY_RESPONSE_CONTROLS, plainError, readBodyFramed, toResponse, } from "@nifrajs/core/edge-kit";
|
|
25
|
+
import { createAgentEvidenceStream, } from "./events.js";
|
|
26
|
+
import { combineAgentTelemetry, createAgentState, resumeAgent, runAgent, } from "./index.js";
|
|
27
|
+
const DEFAULT_PATH = "/agent";
|
|
28
|
+
const DEFAULT_MAX_BODY_BYTES = 1_000_000;
|
|
29
|
+
const PENDING_KINDS = ["approval", "budget", "model", "cancelled"];
|
|
30
|
+
const LAST_EVENT_ID_PATTERN = /^\d{1,15}$/;
|
|
31
|
+
/** Mount a single agent as `POST {path}`, negotiating an SSE evidence stream on `Accept`. */
|
|
32
|
+
export function mountAgent(app, options) {
|
|
33
|
+
const path = options.path ?? DEFAULT_PATH;
|
|
34
|
+
const maxBytes = options.maxBodyBytes ?? DEFAULT_MAX_BODY_BYTES;
|
|
35
|
+
const proto = options.protoPoisoning ?? "reject";
|
|
36
|
+
const runOptions = options.maxTurns === undefined ? {} : { maxTurns: options.maxTurns };
|
|
37
|
+
app.post(path, (c) => readBodyFramed(c.req, maxBytes, proto, (parsed) => execute(c, parsed, options, runOptions), (rejection) => render(rejection), () => render(plainError(400, "bad_request"))).catch(() => render(plainError(400, "bad_request"))));
|
|
38
|
+
}
|
|
39
|
+
async function execute(c, parsed, options, runOptions) {
|
|
40
|
+
const body = asRecord(parsed);
|
|
41
|
+
if (body === undefined)
|
|
42
|
+
return jsonResponse(400, { error: "body_must_be_object" });
|
|
43
|
+
const turnIdRaw = typeof body.turnId === "string" ? body.turnId : undefined;
|
|
44
|
+
const turnId = turnIdRaw ?? crypto.randomUUID();
|
|
45
|
+
const resume = parseResume(body.resume);
|
|
46
|
+
const log = options.evidenceLog;
|
|
47
|
+
const wantsSse = (c.req.headers.get("accept") ?? "").includes("text/event-stream");
|
|
48
|
+
// A reconnect replays recorded evidence and rejoins the turn; it never starts a second run.
|
|
49
|
+
const lastEventId = c.req.headers.get("last-event-id");
|
|
50
|
+
if (wantsSse && log !== undefined && lastEventId !== null) {
|
|
51
|
+
if (!LAST_EVENT_ID_PATTERN.test(lastEventId))
|
|
52
|
+
return jsonResponse(400, { error: "invalid_last_event_id" });
|
|
53
|
+
const replay = await log.replay(turnId, Number(lastEventId));
|
|
54
|
+
if (replay === undefined)
|
|
55
|
+
return jsonResponse(409, { error: "replay_unavailable" });
|
|
56
|
+
return sseReplayResponse(turnId, replay);
|
|
57
|
+
}
|
|
58
|
+
const basePorts = await options.ports(c);
|
|
59
|
+
const start = (telemetry) => {
|
|
60
|
+
// Compose rather than replace: an SSE evidence stream must not displace a telemetry port the
|
|
61
|
+
// caller injected through `ports` (an exporter, a durable evidence log).
|
|
62
|
+
const combined = combineAgentTelemetry(basePorts.telemetry, log?.open(turnId), telemetry);
|
|
63
|
+
const ports = combined === undefined ? basePorts : { ...basePorts, telemetry: combined };
|
|
64
|
+
if (resume !== undefined) {
|
|
65
|
+
return resumeAgent(options.agent, turnId, { value: body.input, resume }, ports, runOptions);
|
|
66
|
+
}
|
|
67
|
+
let state;
|
|
68
|
+
try {
|
|
69
|
+
state = createAgentState(turnId);
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return Promise.reject(new BadTurnId());
|
|
73
|
+
}
|
|
74
|
+
return runAgent(options.agent, { value: body.input }, ports, { ...runOptions, state });
|
|
75
|
+
};
|
|
76
|
+
if (!wantsSse) {
|
|
77
|
+
try {
|
|
78
|
+
const result = await start();
|
|
79
|
+
const projected = projectResult(turnId, result);
|
|
80
|
+
await finishQuietly(log, turnId, { event: "result", data: projected });
|
|
81
|
+
return jsonResponse(200, projected);
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
await finishQuietly(log, turnId, { event: "error", data: { turnId, error: "run_failed" } });
|
|
85
|
+
if (err instanceof BadTurnId)
|
|
86
|
+
return jsonResponse(400, { error: "invalid_turn_id" });
|
|
87
|
+
return jsonResponse(409, { error: "resume_unavailable" });
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return sseResponse(turnId, start, log);
|
|
91
|
+
}
|
|
92
|
+
function sseResponse(turnId, start, log) {
|
|
93
|
+
const stream = createAgentEvidenceStream();
|
|
94
|
+
// `id:` frames are only meaningful when a log can serve the reconnect they invite.
|
|
95
|
+
const withIds = log !== undefined;
|
|
96
|
+
const body = new ReadableStream({
|
|
97
|
+
async start(controller) {
|
|
98
|
+
const send = sseSender(controller);
|
|
99
|
+
const run = start(stream);
|
|
100
|
+
// The evidence stream must terminate whether the run resolves or throws, or the `for await`
|
|
101
|
+
// below would hang; the run result (or the error) is still reported in-band after it drains.
|
|
102
|
+
run
|
|
103
|
+
.then(() => { }, () => { })
|
|
104
|
+
.finally(() => stream.complete());
|
|
105
|
+
try {
|
|
106
|
+
for await (const evidence of stream)
|
|
107
|
+
send("step", evidence, withIds ? evidence.seq : undefined);
|
|
108
|
+
const frame = { event: "result", data: projectResult(turnId, await run) };
|
|
109
|
+
// Store the terminal frame before delivering it, so a client that misses it can replay.
|
|
110
|
+
await finishQuietly(log, turnId, frame);
|
|
111
|
+
send(frame.event, frame.data);
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
const frame = { event: "error", data: { turnId, error: "run_failed" } };
|
|
115
|
+
await finishQuietly(log, turnId, frame);
|
|
116
|
+
send(frame.event, frame.data);
|
|
117
|
+
}
|
|
118
|
+
finally {
|
|
119
|
+
controller.close();
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
});
|
|
123
|
+
return sseHeaders(body);
|
|
124
|
+
}
|
|
125
|
+
function sseReplayResponse(turnId, replay) {
|
|
126
|
+
const body = new ReadableStream({
|
|
127
|
+
async start(controller) {
|
|
128
|
+
const send = sseSender(controller);
|
|
129
|
+
try {
|
|
130
|
+
for (const evidence of replay.evidence)
|
|
131
|
+
send("step", evidence, evidence.seq);
|
|
132
|
+
if (replay.live !== undefined)
|
|
133
|
+
for await (const evidence of replay.live)
|
|
134
|
+
send("step", evidence, evidence.seq);
|
|
135
|
+
const frame = asTerminalFrame(await replay.result);
|
|
136
|
+
if (frame === undefined)
|
|
137
|
+
send("error", { turnId, error: "run_failed" });
|
|
138
|
+
else
|
|
139
|
+
send(frame.event, frame.data);
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
send("error", { turnId, error: "run_failed" });
|
|
143
|
+
}
|
|
144
|
+
finally {
|
|
145
|
+
controller.close();
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
});
|
|
149
|
+
return sseHeaders(body);
|
|
150
|
+
}
|
|
151
|
+
function sseSender(controller) {
|
|
152
|
+
const encoder = new TextEncoder();
|
|
153
|
+
return (event, data, id) => {
|
|
154
|
+
const head = id === undefined ? "" : `id: ${id}\n`;
|
|
155
|
+
controller.enqueue(encoder.encode(`${head}event: ${event}\ndata: ${JSON.stringify(data)}\n\n`));
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
function sseHeaders(body) {
|
|
159
|
+
return new Response(body, {
|
|
160
|
+
status: 200,
|
|
161
|
+
headers: {
|
|
162
|
+
"content-type": "text/event-stream; charset=utf-8",
|
|
163
|
+
"cache-control": "no-cache, no-transform",
|
|
164
|
+
connection: "keep-alive",
|
|
165
|
+
},
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
/** Parse the stored terminal value - a durable log adapter may hand back anything. */
|
|
169
|
+
function asTerminalFrame(value) {
|
|
170
|
+
const record = asRecord(value);
|
|
171
|
+
if (record === undefined || typeof record.event !== "string")
|
|
172
|
+
return undefined;
|
|
173
|
+
return { event: record.event, data: record.data };
|
|
174
|
+
}
|
|
175
|
+
/** Telemetry-grade storage: a failing log must not fail the turn or mask its result. */
|
|
176
|
+
async function finishQuietly(log, turnId, frame) {
|
|
177
|
+
if (log === undefined)
|
|
178
|
+
return;
|
|
179
|
+
try {
|
|
180
|
+
await log.finish(turnId, frame);
|
|
181
|
+
}
|
|
182
|
+
catch {
|
|
183
|
+
// Replay degrades to unavailable; the in-band response is unaffected.
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/** Project a run result onto the wire. State evidence is token-only by design, so it passes through. */
|
|
187
|
+
function projectResult(turnId, result) {
|
|
188
|
+
const base = { turnId, status: result.status, evidence: result.evidence };
|
|
189
|
+
if (result.status === "completed") {
|
|
190
|
+
return result.error !== undefined
|
|
191
|
+
? { ...base, ok: false, error: result.error }
|
|
192
|
+
: { ...base, ok: true, output: result.output };
|
|
193
|
+
}
|
|
194
|
+
if (result.status === "suspended") {
|
|
195
|
+
return { ...base, reason: result.reason, pending: result.pending };
|
|
196
|
+
}
|
|
197
|
+
return base;
|
|
198
|
+
}
|
|
199
|
+
function parseResume(raw) {
|
|
200
|
+
const record = asRecord(raw);
|
|
201
|
+
if (record === undefined)
|
|
202
|
+
return undefined;
|
|
203
|
+
const continuation = asRecord(record.continuation);
|
|
204
|
+
if (continuation === undefined)
|
|
205
|
+
return undefined;
|
|
206
|
+
const kind = continuation.kind;
|
|
207
|
+
if (typeof kind !== "string" || !PENDING_KINDS.includes(kind))
|
|
208
|
+
return undefined;
|
|
209
|
+
if (typeof continuation.effectId !== "string")
|
|
210
|
+
return undefined;
|
|
211
|
+
if (continuation.tool !== undefined && typeof continuation.tool !== "string")
|
|
212
|
+
return undefined;
|
|
213
|
+
const approval = asRecord(record.approval);
|
|
214
|
+
return {
|
|
215
|
+
continuation: {
|
|
216
|
+
kind: kind,
|
|
217
|
+
...(continuation.tool === undefined ? {} : { tool: continuation.tool }),
|
|
218
|
+
...(Object.hasOwn(continuation, "input") ? { input: continuation.input } : {}),
|
|
219
|
+
effectId: continuation.effectId,
|
|
220
|
+
},
|
|
221
|
+
...(approval !== undefined && typeof approval.granted === "boolean"
|
|
222
|
+
? {
|
|
223
|
+
approval: {
|
|
224
|
+
granted: approval.granted,
|
|
225
|
+
...(typeof approval.reason === "string" ? { reason: approval.reason } : {}),
|
|
226
|
+
},
|
|
227
|
+
}
|
|
228
|
+
: {}),
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
function asRecord(value) {
|
|
232
|
+
if (value === null || typeof value !== "object" || Array.isArray(value))
|
|
233
|
+
return undefined;
|
|
234
|
+
return value;
|
|
235
|
+
}
|
|
236
|
+
function jsonResponse(status, body) {
|
|
237
|
+
return new Response(JSON.stringify(body), {
|
|
238
|
+
status,
|
|
239
|
+
headers: { "content-type": "application/json; charset=utf-8" },
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
function render(response) {
|
|
243
|
+
return response instanceof Response ? response : toResponse(response, EMPTY_RESPONSE_CONTROLS);
|
|
244
|
+
}
|
|
245
|
+
class BadTurnId extends Error {
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=mount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mount.js","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":"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"}
|