@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 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 under A2A or a public AG-UI route, so it cannot approve its own call.
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../src/mount.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;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;;;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;IACvC;;;;OAIG;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"}
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(() => render(plainError(400, "bad_request"))));
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
- const log = options.evidenceLog === undefined || options.evidenceOwner === undefined
62
- ? options.evidenceLog
63
- : scopeAgentEvidenceLog(options.evidenceLog, await options.evidenceOwner(c));
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
- return jsonResponse(409, { error: "resume_unavailable" });
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.0.0",
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.0.0"
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 under A2A or a public AG-UI route, so it cannot approve its own call.
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(() => render(plainError(400, "bad_request"))),
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
- const log =
158
- options.evidenceLog === undefined || options.evidenceOwner === undefined
159
- ? options.evidenceLog
160
- : scopeAgentEvidenceLog(options.evidenceLog, await options.evidenceOwner(c))
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
  }