@nifrajs/agent 5.0.0 → 5.1.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/LICENSE +21 -0
- package/README.md +3 -1
- package/dist/index.d.ts +1 -1
- package/dist/mount.d.ts +6 -2
- package/dist/mount.d.ts.map +1 -1
- package/dist/mount.js +25 -6
- package/dist/mount.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +1 -1
- package/src/mount.ts +26 -8
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Nifra Authors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -81,7 +81,9 @@ on from where the response stopped; without one the run is cancelled.
|
|
|
81
81
|
When more than one caller shares the route, also pass `evidenceOwner: (c) => <the caller's user or
|
|
82
82
|
tenant id>`: turns are recorded and replayed under that owner, so another caller's reconnect or
|
|
83
83
|
reused `turnId` finds none of them. Without it a turn id works as a bearer capability. The owner
|
|
84
|
-
function runs before any replay; throwing from it refuses the request
|
|
84
|
+
function runs before any replay; throwing from it refuses the request with `403`, and a thrown
|
|
85
|
+
`Response` answers the request as built, as one thrown from `ports` does. A JSON-mode run that
|
|
86
|
+
throws answers `500 run_failed`, or `409 resume_unavailable` when the POST resumed a turn.
|
|
85
87
|
|
|
86
88
|
Execution policies can be required by a tool contract. `createLocalProcessAdapter` applies cwd and
|
|
87
89
|
environment filtering, timeouts, and cancellation to child processes. On POSIX each run leads its
|
package/dist/index.d.ts
CHANGED
|
@@ -220,7 +220,7 @@ export interface AgentPorts {
|
|
|
220
220
|
* Who decides a step that suspended for approval when the run resumes. `"caller"` (the default)
|
|
221
221
|
* takes `resume.approval` as the decision. `"port"` asks `approval` again and hands it the caller's
|
|
222
222
|
* decision as `callerDecision`; set it when the resuming caller is the party asking for the tool,
|
|
223
|
-
* as
|
|
223
|
+
* as on a public AG-UI route, so it cannot approve its own call. `mountA2A` defaults to `"port"`.
|
|
224
224
|
*/
|
|
225
225
|
readonly resumeApproval?: "caller" | "port";
|
|
226
226
|
readonly telemetry?: AgentTelemetryPort;
|
package/dist/mount.d.ts
CHANGED
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
* - `POST {path}` body `{ input, turnId?, resume? }`:
|
|
12
12
|
* - `Accept: text/event-stream` -> SSE: one `event: step` per {@link AgentStepEvidence}, then a final
|
|
13
13
|
* `event: result` carrying the projected run result, then the stream closes.
|
|
14
|
-
* - otherwise -> a single JSON body: the projected run result.
|
|
14
|
+
* - otherwise -> a single JSON body: the projected run result. A run that throws answers
|
|
15
|
+
* `500 { error: "run_failed" }`, or `409 { error: "resume_unavailable" }` when the POST resumed a turn.
|
|
15
16
|
* - `resume` is `{ continuation, approval? }` (see {@link AgentTurnInput}); the runtime keeps state
|
|
16
17
|
* token-only, so a suspended tool's input must be replayed by the caller in `continuation.input`.
|
|
17
18
|
* Return `resumeApproval: "port"` from `ports` when the caller must not approve its own tool calls.
|
|
@@ -57,6 +58,8 @@ export interface MountAgentOptions<InputSchema extends StandardSchemaV1, OutputS
|
|
|
57
58
|
/**
|
|
58
59
|
* Build the ports for one request - the model, durable state store, approval transport, capabilities,
|
|
59
60
|
* and budgets. Receives the route context so the caller can scope every port to the request subject.
|
|
61
|
+
* Throw a `Response` (a 401 with its challenge, a 403) to answer the request with it; any other throw
|
|
62
|
+
* is a fault and reaches the app's error handling.
|
|
60
63
|
*/
|
|
61
64
|
readonly ports: (c: AgentRouteContext) => AgentPorts | Promise<AgentPorts>;
|
|
62
65
|
/**
|
|
@@ -67,7 +70,8 @@ export interface MountAgentOptions<InputSchema extends StandardSchemaV1, OutputS
|
|
|
67
70
|
/**
|
|
68
71
|
* Who a turn's recorded evidence belongs to - the caller's user or tenant id. Turns are recorded and
|
|
69
72
|
* replayed under it, so a reconnect or a reused `turnId` from another caller finds nothing of this
|
|
70
|
-
* caller's turns. It runs before a replay is served; throw to refuse the request
|
|
73
|
+
* caller's turns. It runs before a replay is served; throw to refuse the request with
|
|
74
|
+
* `403 { error: "forbidden" }`, or throw a `Response` to answer with it instead.
|
|
71
75
|
*/
|
|
72
76
|
readonly evidenceOwner?: (c: AgentRouteContext) => string | Promise<string>;
|
|
73
77
|
}
|
package/dist/mount.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAEL,KAAK,cAAc,EAKpB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EACL,KAAK,gBAAgB,EAItB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,UAAU,EAOhB,MAAM,YAAY,CAAA;AAUnB,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;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC;;;;;OAKG;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;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAC5E;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,CAuBrF"}
|
package/dist/mount.js
CHANGED
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
* - `POST {path}` body `{ input, turnId?, resume? }`:
|
|
12
12
|
* - `Accept: text/event-stream` -> SSE: one `event: step` per {@link AgentStepEvidence}, then a final
|
|
13
13
|
* `event: result` carrying the projected run result, then the stream closes.
|
|
14
|
-
* - otherwise -> a single JSON body: the projected run result.
|
|
14
|
+
* - otherwise -> a single JSON body: the projected run result. A run that throws answers
|
|
15
|
+
* `500 { error: "run_failed" }`, or `409 { error: "resume_unavailable" }` when the POST resumed a turn.
|
|
15
16
|
* - `resume` is `{ continuation, approval? }` (see {@link AgentTurnInput}); the runtime keeps state
|
|
16
17
|
* token-only, so a suspended tool's input must be replayed by the caller in `continuation.input`.
|
|
17
18
|
* Return `resumeApproval: "port"` from `ports` when the caller must not approve its own tool calls.
|
|
@@ -47,7 +48,7 @@ export function mountAgent(app, options) {
|
|
|
47
48
|
maxOutputBytes < 1024 ||
|
|
48
49
|
maxOutputBytes > MAX_OUTPUT_BYTES)
|
|
49
50
|
throw new RangeError(`mountAgent maxOutputBytes must be between 1024 and ${MAX_OUTPUT_BYTES}`);
|
|
50
|
-
app.post(path, (c) => readBodyFramed(c.req, maxBytes, proto, (parsed) => execute(c, parsed, options, runOptions, maxOutputBytes), (rejection) => render(rejection), () => render(plainError(400, "bad_request"))).catch(
|
|
51
|
+
app.post(path, (c) => readBodyFramed(c.req, maxBytes, proto, (parsed) => execute(c, parsed, options, runOptions, maxOutputBytes), (rejection) => render(rejection), () => render(plainError(400, "bad_request"))).catch(passThrownResponse));
|
|
51
52
|
}
|
|
52
53
|
async function execute(c, parsed, options, runOptions, maxOutputBytes) {
|
|
53
54
|
const body = asRecord(parsed);
|
|
@@ -58,9 +59,19 @@ async function execute(c, parsed, options, runOptions, maxOutputBytes) {
|
|
|
58
59
|
return jsonResponse(400, { error: "invalid_turn_id" });
|
|
59
60
|
const turnId = turnIdRaw ?? crypto.randomUUID();
|
|
60
61
|
const resume = parseResume(body.resume);
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
let log = options.evidenceLog;
|
|
63
|
+
if (log !== undefined && options.evidenceOwner !== undefined) {
|
|
64
|
+
let owner;
|
|
65
|
+
try {
|
|
66
|
+
owner = await options.evidenceOwner(c);
|
|
67
|
+
}
|
|
68
|
+
catch (err) {
|
|
69
|
+
if (err instanceof Response)
|
|
70
|
+
return err;
|
|
71
|
+
return jsonResponse(403, { error: "forbidden" });
|
|
72
|
+
}
|
|
73
|
+
log = scopeAgentEvidenceLog(log, owner);
|
|
74
|
+
}
|
|
64
75
|
const wantsSse = (c.req.headers.get("accept") ?? "").includes("text/event-stream");
|
|
65
76
|
// A reconnect replays recorded evidence and rejoins the turn; it never starts a second run.
|
|
66
77
|
const lastEventId = c.req.headers.get("last-event-id");
|
|
@@ -106,7 +117,9 @@ async function execute(c, parsed, options, runOptions, maxOutputBytes) {
|
|
|
106
117
|
await finishQuietly(log, turnId, { event: "error", data: { turnId, error: "run_failed" } });
|
|
107
118
|
if (err instanceof BadTurnId)
|
|
108
119
|
return jsonResponse(400, { error: "invalid_turn_id" });
|
|
109
|
-
|
|
120
|
+
if (resume !== undefined)
|
|
121
|
+
return jsonResponse(409, { error: "resume_unavailable" });
|
|
122
|
+
return jsonResponse(500, { error: "run_failed" });
|
|
110
123
|
}
|
|
111
124
|
}
|
|
112
125
|
return sseResponse(turnId, start, log, maxOutputBytes);
|
|
@@ -327,6 +340,12 @@ function jsonResponse(status, body) {
|
|
|
327
340
|
headers: { "content-type": "application/json; charset=utf-8" },
|
|
328
341
|
});
|
|
329
342
|
}
|
|
343
|
+
/** A thrown `Response` is the app answering for itself; anything else is a fault for its error lane. */
|
|
344
|
+
function passThrownResponse(err) {
|
|
345
|
+
if (err instanceof Response)
|
|
346
|
+
return err;
|
|
347
|
+
throw err;
|
|
348
|
+
}
|
|
330
349
|
function render(response) {
|
|
331
350
|
return response instanceof Response ? response : toResponse(response, EMPTY_RESPONSE_CONTROLS);
|
|
332
351
|
}
|
package/dist/mount.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount.js","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mount.js","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nifrajs/agent",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"description": "Provider-neutral, typed, resumable agent turns built on Nifra tool contracts.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bun",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"access": "public"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@nifrajs/core": "5.
|
|
61
|
+
"@nifrajs/core": "5.1.0"
|
|
62
62
|
},
|
|
63
63
|
"repository": {
|
|
64
64
|
"type": "git",
|
package/src/index.ts
CHANGED
|
@@ -460,7 +460,7 @@ export interface AgentPorts {
|
|
|
460
460
|
* Who decides a step that suspended for approval when the run resumes. `"caller"` (the default)
|
|
461
461
|
* takes `resume.approval` as the decision. `"port"` asks `approval` again and hands it the caller's
|
|
462
462
|
* decision as `callerDecision`; set it when the resuming caller is the party asking for the tool,
|
|
463
|
-
* as
|
|
463
|
+
* as on a public AG-UI route, so it cannot approve its own call. `mountA2A` defaults to `"port"`.
|
|
464
464
|
*/
|
|
465
465
|
readonly resumeApproval?: "caller" | "port"
|
|
466
466
|
readonly telemetry?: AgentTelemetryPort
|
package/src/mount.ts
CHANGED
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
* - `POST {path}` body `{ input, turnId?, resume? }`:
|
|
12
12
|
* - `Accept: text/event-stream` -> SSE: one `event: step` per {@link AgentStepEvidence}, then a final
|
|
13
13
|
* `event: result` carrying the projected run result, then the stream closes.
|
|
14
|
-
* - otherwise -> a single JSON body: the projected run result.
|
|
14
|
+
* - otherwise -> a single JSON body: the projected run result. A run that throws answers
|
|
15
|
+
* `500 { error: "run_failed" }`, or `409 { error: "resume_unavailable" }` when the POST resumed a turn.
|
|
15
16
|
* - `resume` is `{ continuation, approval? }` (see {@link AgentTurnInput}); the runtime keeps state
|
|
16
17
|
* token-only, so a suspended tool's input must be replayed by the caller in `continuation.input`.
|
|
17
18
|
* Return `resumeApproval: "port"` from `ports` when the caller must not approve its own tool calls.
|
|
@@ -94,6 +95,8 @@ export interface MountAgentOptions<
|
|
|
94
95
|
/**
|
|
95
96
|
* Build the ports for one request - the model, durable state store, approval transport, capabilities,
|
|
96
97
|
* and budgets. Receives the route context so the caller can scope every port to the request subject.
|
|
98
|
+
* Throw a `Response` (a 401 with its challenge, a 403) to answer the request with it; any other throw
|
|
99
|
+
* is a fault and reaches the app's error handling.
|
|
97
100
|
*/
|
|
98
101
|
readonly ports: (c: AgentRouteContext) => AgentPorts | Promise<AgentPorts>
|
|
99
102
|
/**
|
|
@@ -104,7 +107,8 @@ export interface MountAgentOptions<
|
|
|
104
107
|
/**
|
|
105
108
|
* Who a turn's recorded evidence belongs to - the caller's user or tenant id. Turns are recorded and
|
|
106
109
|
* replayed under it, so a reconnect or a reused `turnId` from another caller finds nothing of this
|
|
107
|
-
* caller's turns. It runs before a replay is served; throw to refuse the request
|
|
110
|
+
* caller's turns. It runs before a replay is served; throw to refuse the request with
|
|
111
|
+
* `403 { error: "forbidden" }`, or throw a `Response` to answer with it instead.
|
|
108
112
|
*/
|
|
109
113
|
readonly evidenceOwner?: (c: AgentRouteContext) => string | Promise<string>
|
|
110
114
|
}
|
|
@@ -134,7 +138,7 @@ export function mountAgent<
|
|
|
134
138
|
(parsed) => execute(c, parsed, options, runOptions, maxOutputBytes),
|
|
135
139
|
(rejection) => render(rejection),
|
|
136
140
|
() => render(plainError(400, "bad_request")),
|
|
137
|
-
).catch(
|
|
141
|
+
).catch(passThrownResponse),
|
|
138
142
|
)
|
|
139
143
|
}
|
|
140
144
|
|
|
@@ -154,10 +158,17 @@ async function execute<InputSchema extends StandardSchemaV1, OutputSchema extend
|
|
|
154
158
|
const turnId = turnIdRaw ?? crypto.randomUUID()
|
|
155
159
|
|
|
156
160
|
const resume = parseResume(body.resume)
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
+
let log = options.evidenceLog
|
|
162
|
+
if (log !== undefined && options.evidenceOwner !== undefined) {
|
|
163
|
+
let owner: string
|
|
164
|
+
try {
|
|
165
|
+
owner = await options.evidenceOwner(c)
|
|
166
|
+
} catch (err) {
|
|
167
|
+
if (err instanceof Response) return err
|
|
168
|
+
return jsonResponse(403, { error: "forbidden" })
|
|
169
|
+
}
|
|
170
|
+
log = scopeAgentEvidenceLog(log, owner)
|
|
171
|
+
}
|
|
161
172
|
const wantsSse = (c.req.headers.get("accept") ?? "").includes("text/event-stream")
|
|
162
173
|
|
|
163
174
|
// A reconnect replays recorded evidence and rejoins the turn; it never starts a second run.
|
|
@@ -206,7 +217,8 @@ async function execute<InputSchema extends StandardSchemaV1, OutputSchema extend
|
|
|
206
217
|
} catch (err) {
|
|
207
218
|
await finishQuietly(log, turnId, { event: "error", data: { turnId, error: "run_failed" } })
|
|
208
219
|
if (err instanceof BadTurnId) return jsonResponse(400, { error: "invalid_turn_id" })
|
|
209
|
-
return jsonResponse(409, { error: "resume_unavailable" })
|
|
220
|
+
if (resume !== undefined) return jsonResponse(409, { error: "resume_unavailable" })
|
|
221
|
+
return jsonResponse(500, { error: "run_failed" })
|
|
210
222
|
}
|
|
211
223
|
}
|
|
212
224
|
return sseResponse(turnId, start, log, maxOutputBytes)
|
|
@@ -453,6 +465,12 @@ function jsonResponse(status: number, body: unknown): Response {
|
|
|
453
465
|
})
|
|
454
466
|
}
|
|
455
467
|
|
|
468
|
+
/** A thrown `Response` is the app answering for itself; anything else is a fault for its error lane. */
|
|
469
|
+
function passThrownResponse(err: unknown): Response {
|
|
470
|
+
if (err instanceof Response) return err
|
|
471
|
+
throw err
|
|
472
|
+
}
|
|
473
|
+
|
|
456
474
|
function render(response: Response | ResponseResult): Response {
|
|
457
475
|
return response instanceof Response ? response : toResponse(response, EMPTY_RESPONSE_CONTROLS)
|
|
458
476
|
}
|