@nifrajs/coding-agent 3.5.0 → 4.0.2

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.
Files changed (68) hide show
  1. package/README.md +11 -4
  2. package/SECURITY.md +2 -1
  3. package/dist/approvals.d.ts +14 -2
  4. package/dist/approvals.d.ts.map +1 -1
  5. package/dist/approvals.js +51 -43
  6. package/dist/approvals.js.map +1 -1
  7. package/dist/cli.d.ts +1 -0
  8. package/dist/cli.d.ts.map +1 -1
  9. package/dist/cli.js +11 -2
  10. package/dist/cli.js.map +1 -1
  11. package/dist/handoffs.d.ts.map +1 -1
  12. package/dist/handoffs.js +12 -4
  13. package/dist/handoffs.js.map +1 -1
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/native.d.ts +7 -0
  18. package/dist/native.d.ts.map +1 -1
  19. package/dist/native.js +28 -7
  20. package/dist/native.js.map +1 -1
  21. package/dist/orchestration/compile.d.ts +7 -0
  22. package/dist/orchestration/compile.d.ts.map +1 -1
  23. package/dist/orchestration/compile.js +16 -2
  24. package/dist/orchestration/compile.js.map +1 -1
  25. package/dist/orchestration/evidence-store.d.ts.map +1 -1
  26. package/dist/orchestration/evidence-store.js +9 -4
  27. package/dist/orchestration/evidence-store.js.map +1 -1
  28. package/dist/orchestration/host.d.ts +10 -0
  29. package/dist/orchestration/host.d.ts.map +1 -1
  30. package/dist/orchestration/host.js +9 -0
  31. package/dist/orchestration/host.js.map +1 -1
  32. package/dist/rpc.d.ts +1 -1
  33. package/dist/rpc.d.ts.map +1 -1
  34. package/dist/rpc.js +10 -9
  35. package/dist/rpc.js.map +1 -1
  36. package/dist/session-migration.d.ts.map +1 -1
  37. package/dist/session-migration.js +3 -2
  38. package/dist/session-migration.js.map +1 -1
  39. package/dist/sessions.d.ts +6 -0
  40. package/dist/sessions.d.ts.map +1 -1
  41. package/dist/sessions.js +17 -2
  42. package/dist/sessions.js.map +1 -1
  43. package/dist/subagents.d.ts +30 -0
  44. package/dist/subagents.d.ts.map +1 -1
  45. package/dist/subagents.js +118 -15
  46. package/dist/subagents.js.map +1 -1
  47. package/dist/verification.d.ts +5 -1
  48. package/dist/verification.d.ts.map +1 -1
  49. package/dist/verification.js +6 -2
  50. package/dist/verification.js.map +1 -1
  51. package/dist/workflows.d.ts.map +1 -1
  52. package/dist/workflows.js +12 -2
  53. package/dist/workflows.js.map +1 -1
  54. package/package.json +9 -6
  55. package/src/approvals.ts +62 -45
  56. package/src/cli.ts +11 -2
  57. package/src/handoffs.ts +20 -8
  58. package/src/index.ts +2 -0
  59. package/src/native.ts +41 -8
  60. package/src/orchestration/compile.ts +28 -2
  61. package/src/orchestration/evidence-store.ts +9 -3
  62. package/src/orchestration/host.ts +17 -0
  63. package/src/rpc.ts +14 -13
  64. package/src/session-migration.ts +3 -2
  65. package/src/sessions.ts +18 -2
  66. package/src/subagents.ts +147 -17
  67. package/src/verification.ts +6 -2
  68. package/src/workflows.ts +10 -2
package/README.md CHANGED
@@ -34,13 +34,20 @@ loopback debugger, set `exposeErrorStacks: true` (or pass
34
34
  `--expose-error-stacks` to `nifra-agent --rpc`) to include bounded exception
35
35
  stacks. This option is rejected for remote binding.
36
36
 
37
+ `nifra-agent` loads `.nifra/extensions/**` from `--cwd` only when started with
38
+ `--extensions`. An extension module's top-level code runs as soon as it is
39
+ imported, before its declared `capabilities` are checked, so pass the flag only
40
+ for a repository you trust.
41
+
37
42
  `IsolatedExtensionWorker` is an opt-in process-backed crash-containment seam for
38
43
  extensions. It is not a hostile-code sandbox; use OS-level isolation before
39
44
  loading code you do not trust.
40
45
 
41
46
  `NifraBackend` is a small provider port for a future native backend. It accepts
42
47
  an injected model implementation and bounded tools without importing a provider
43
- SDK. `ReplayBackend` and `readReplayEvents` provide deterministic protocol
48
+ SDK. The conversation it sends the model is capped by `maxHistoryChars` (default
49
+ 1 MiB): past it, whole earlier turns are dropped, oldest first, and the current
50
+ turn is always sent in full. `ReplayBackend` and `readReplayEvents` provide deterministic protocol
44
51
  replays for CI and Workbench regression tests.
45
52
 
46
53
  ## At-least-once run dispatch
@@ -61,9 +68,9 @@ its dispatch evidence.
61
68
  Legacy `FileSessionStore` files remain supported for explicit local compatibility. Use
62
69
  `nifra-agent --migrate-session <id> --migrate-from <legacy-dir> --migrate-to <evidence-dir>` to
63
70
  create a separately validated, evidence-only target. The source is left untouched and the command
64
- does not switch an active configuration pointer; see
65
- [`docs/agent-platform/protocol-and-session-migration.md`](../../docs/agent-platform/protocol-and-session-migration.md)
66
- for rollback and protocol compatibility details.
71
+ does not switch an active configuration pointer: after reviewing its report, point the host at the
72
+ new directory yourself. To roll back, point it at the legacy directory again and remove the new
73
+ target; a failed or interrupted migration leaves the active choice unchanged.
67
74
 
68
75
  For AI agents, see [`LLM.md`](./LLM.md) and the full corpus
69
76
  [`../../llms-full.txt`](../../llms-full.txt).
package/SECURITY.md CHANGED
@@ -9,7 +9,8 @@ The preview is local-first and fail-closed:
9
9
  transactionally reloaded.
10
10
  - Session evidence is bounded, redacted for secret-shaped keys, and written as append-only JSONL.
11
11
  - Tool approvals are host-owned and auditable. A workflow or subagent cannot raise its own limits.
12
- - Subagents can be restricted to project roots or a caller-provided isolated-worktree lease.
12
+ - Subagents can be restricted to project roots or a caller-provided isolated-worktree lease. The executor receives the cwd that was checked, with its symlinks resolved. A lease is released only after its executor settles, even when the run itself timed out.
13
+ - A run that returns while its executor ignores the abort reports it through `onAbandoned` (`onSubagentAbandoned` on the orchestration host), which can stop it some other way. `maxAbandoned` (`limits.maxAbandonedSubagents` for orchestration) refuses new children while that many still run.
13
14
  - The isolated extension worker contains crashes but is not a hostile-code sandbox. Use OS-level
14
15
  isolation before loading code that is not trusted.
15
16
  - No telemetry, hosted state, remote credentials, or model-provider SDK is required by the
@@ -49,9 +49,15 @@ export declare class ApprovalManager {
49
49
  get pending(): readonly ApprovalRequest[];
50
50
  /** Convert a streamed backend approval event into a resolvable pending request. */
51
51
  observe(event: AgentApprovalRequiredEvent): Promise<ApprovalRequest | undefined>;
52
- /** Publish a pending approval without waiting for its decision (useful for transports). */
52
+ /**
53
+ * Publish a pending approval without waiting for its decision (useful for transports). Returns
54
+ * `undefined` when the broker is full or an approval with the same id is still pending.
55
+ */
53
56
  offer(input: Omit<ApprovalRequest, "createdAt" | "expiresAt">): Promise<ApprovalRequest | undefined>;
54
- /** Create a host-owned approval that can be awaited by a workflow or extension. */
57
+ /**
58
+ * Create a host-owned approval that can be awaited by a workflow or extension. Resolves `false`
59
+ * when the broker is full or an approval with the same id is still pending.
60
+ */
55
61
  request(input: Omit<ApprovalRequest, "createdAt" | "expiresAt">): Promise<boolean>;
56
62
  /**
57
63
  * Resolve an approval that was opened with a {@link DecisionCoordinate}, admitting the decision only
@@ -61,8 +67,14 @@ export declare class ApprovalManager {
61
67
  * never loosens it.
62
68
  */
63
69
  resolveMatched(coordinate: DecisionCoordinate, approved: boolean, now?: number): ApprovalMatchResult;
70
+ /**
71
+ * Settle a pending approval by id. An approval opened with a coordinate is approved only through
72
+ * {@link resolveMatched}; this untyped path can still deny it, and returns `undefined` for an
73
+ * approve.
74
+ */
64
75
  resolve(approvalId: string, approved: boolean, reason?: string): ApprovalDecision | undefined;
65
76
  close(): void;
77
+ private settle;
66
78
  private create;
67
79
  }
68
80
  export declare function approvalRequestFromEvent(event: AgentApprovalRequiredEvent): ApprovalRequest;
@@ -1 +1 @@
1
- {"version":3,"file":"approvals.d.ts","sourceRoot":"","sources":["../src/approvals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approvals.d.ts","sourceRoot":"","sources":["../src/approvals.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAG/B,KAAK,kBAAkB,EAExB,MAAM,yBAAyB,CAAA;AAEhC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,+EAA+E;AAC/E,MAAM,MAAM,sBAAsB,GAC9B,kBAAkB,GAClB,mBAAmB,GACnB,cAAc,GACd,SAAS,GACT,oBAAoB,CAAA;AAExB,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAA;CAAE,CAAA;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IAC5E,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;CAC/E;AAcD;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CACA;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqC;gBAE1D,OAAO,GAAE,sBAA2B;IAgBhD,IAAI,OAAO,IAAI,SAAS,eAAe,EAAE,CAExC;IAED,mFAAmF;IAC7E,OAAO,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAetF;;;OAGG;IACG,KAAK,CACT,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,WAAW,CAAC,GACtD,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAIvC;;;OAGG;IACG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxF;;;;;;OAMG;IACH,cAAc,CACZ,UAAU,EAAE,kBAAkB,EAC9B,QAAQ,EAAE,OAAO,EACjB,GAAG,GAAE,MAAmB,GACvB,mBAAmB;IAqBtB;;;;OAIG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAS7F,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,MAAM;YAqBA,MAAM;CA+BrB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,0BAA0B,GAAG,eAAe,CAW3F;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,CAAC,EAAE,MAAM,GACd,0BAA0B,CAY5B"}
package/dist/approvals.js CHANGED
@@ -1,4 +1,7 @@
1
1
  import { coordinateIsFresh, coordinatesMatch, nextApprovalState, } from "@nifrajs/agent-protocol";
2
+ /** The agent protocol's token alphabet, so every protocol-valid id is accepted here too. */
3
+ const ID_TOKEN = /^[A-Za-z0-9._:/-]{1,128}$/;
4
+ const MAX_ACTION_LENGTH = 512;
2
5
  /**
3
6
  * Small approval broker shared by RPC, Workbench, and workflow extensions.
4
7
  *
@@ -26,37 +29,34 @@ export class ApprovalManager {
26
29
  }
27
30
  /** Convert a streamed backend approval event into a resolvable pending request. */
28
31
  async observe(event) {
29
- if (this.pendingApprovals.has(event.approvalId))
30
- return this.pendingApprovals.get(event.approvalId)?.request;
31
- return this.create({
32
+ const existing = this.pendingApprovals.get(event.approvalId);
33
+ if (existing !== undefined)
34
+ return existing.request;
35
+ const pending = await this.create({
32
36
  id: event.approvalId,
33
37
  sessionId: event.sessionId,
34
38
  turnId: event.turnId,
35
- action: event.action,
39
+ // The protocol bounds text more loosely; a long label must not fail the backend's turn.
40
+ action: event.action.slice(0, MAX_ACTION_LENGTH),
36
41
  capability: event.capability,
37
42
  ...(event.reason === undefined ? {} : { reason: event.reason }),
38
43
  });
44
+ return pending?.request;
39
45
  }
40
- /** Publish a pending approval without waiting for its decision (useful for transports). */
46
+ /**
47
+ * Publish a pending approval without waiting for its decision (useful for transports). Returns
48
+ * `undefined` when the broker is full or an approval with the same id is still pending.
49
+ */
41
50
  async offer(input) {
42
- return this.create(input);
51
+ return (await this.create(input))?.request;
43
52
  }
44
- /** Create a host-owned approval that can be awaited by a workflow or extension. */
53
+ /**
54
+ * Create a host-owned approval that can be awaited by a workflow or extension. Resolves `false`
55
+ * when the broker is full or an approval with the same id is still pending.
56
+ */
45
57
  async request(input) {
46
- const request = await this.offer(input);
47
- if (request === undefined)
48
- return false;
49
- const pending = this.pendingApprovals.get(request.id);
50
- if (pending === undefined)
51
- return false;
52
- return new Promise((resolve) => {
53
- // Replace the resolver only for this host-owned request; observed backend requests are
54
- // intentionally notification-only and are resolved through `resolve`.
55
- const current = this.pendingApprovals.get(request.id);
56
- if (current === undefined)
57
- return resolve(false);
58
- this.pendingApprovals.set(request.id, { ...current, resolve });
59
- });
58
+ const pending = await this.create(input);
59
+ return pending === undefined ? false : pending.decided;
60
60
  }
61
61
  /**
62
62
  * Resolve an approval that was opened with a {@link DecisionCoordinate}, admitting the decision only
@@ -78,47 +78,62 @@ export class ApprovalManager {
78
78
  code: bound.vector !== coordinate.vector ? "stale_vector" : "identity_mismatch",
79
79
  };
80
80
  if (!coordinateIsFresh(bound, now)) {
81
- this.resolve(coordinate.requestId, false, "approval expired");
81
+ this.settle(coordinate.requestId, false, "approval expired");
82
82
  return { ok: false, code: "expired" };
83
83
  }
84
84
  if (nextApprovalState("pending", approved ? "approve" : "deny") === undefined)
85
85
  return { ok: false, code: "illegal_transition" };
86
- const decision = this.resolve(coordinate.requestId, approved);
86
+ const decision = this.settle(coordinate.requestId, approved);
87
87
  if (decision === undefined)
88
88
  return { ok: false, code: "unknown_boundary" };
89
89
  return { ok: true, decision };
90
90
  }
91
+ /**
92
+ * Settle a pending approval by id. An approval opened with a coordinate is approved only through
93
+ * {@link resolveMatched}; this untyped path can still deny it, and returns `undefined` for an
94
+ * approve.
95
+ */
91
96
  resolve(approvalId, approved, reason) {
97
+ if (approved === true &&
98
+ this.pendingApprovals.get(approvalId)?.request.coordinate !== undefined)
99
+ return undefined;
100
+ return this.settle(approvalId, approved, reason);
101
+ }
102
+ close() {
103
+ for (const approvalId of this.pendingApprovals.keys())
104
+ this.settle(approvalId, false, "approval manager closed");
105
+ }
106
+ settle(approvalId, approved, reason) {
92
107
  const pending = this.pendingApprovals.get(approvalId);
93
108
  if (pending === undefined)
94
109
  return undefined;
95
110
  clearTimeout(pending.timer);
96
111
  this.pendingApprovals.delete(approvalId);
97
- pending.resolve(approved === true);
112
+ pending.settle(approved === true);
98
113
  const decision = {
99
114
  approvalId,
100
115
  approved: approved === true,
101
116
  ...(reason === undefined ? {} : { reason: reason.slice(0, 512) }),
102
117
  at: Date.now(),
103
118
  };
104
- void this.options.onResolved?.(decision);
119
+ // A failing broadcast must not become an unhandled rejection in the host.
120
+ Promise.resolve(this.options.onResolved?.(decision)).catch(() => { });
105
121
  return decision;
106
122
  }
107
- close() {
108
- for (const approvalId of this.pendingApprovals.keys())
109
- this.resolve(approvalId, false, "approval manager closed");
110
- }
111
123
  async create(input) {
112
124
  if (this.pendingApprovals.size >= this.options.maxPending)
113
125
  return undefined;
114
- if (!/^[A-Za-z0-9._:-]{1,128}$/.test(input.id))
126
+ if (!ID_TOKEN.test(input.id))
115
127
  throw new TypeError("approvals: approval id is invalid");
116
- if (!/^[A-Za-z0-9._:-]{1,128}$/.test(input.sessionId))
128
+ if (!ID_TOKEN.test(input.sessionId))
117
129
  throw new TypeError("approvals: session id is invalid");
118
- if (!input.action || input.action.length > 512)
130
+ if (!input.action || input.action.length > MAX_ACTION_LENGTH)
119
131
  throw new TypeError("approvals: action is empty or too long");
120
132
  if (!input.capability || input.capability.length > 128)
121
133
  throw new TypeError("approvals: capability is empty or too long");
134
+ // Replacing a pending id would orphan the waiter of the request already holding it.
135
+ if (this.pendingApprovals.has(input.id))
136
+ return undefined;
122
137
  const createdAt = Date.now();
123
138
  const request = Object.freeze({
124
139
  ...input,
@@ -128,22 +143,15 @@ export class ApprovalManager {
128
143
  createdAt,
129
144
  expiresAt: createdAt + this.options.timeoutMs,
130
145
  });
131
- let resolveApproval = (_approved) => { };
146
+ const { promise: decided, resolve: settle } = Promise.withResolvers();
132
147
  const timer = setTimeout(() => {
133
- this.resolve(request.id, false, "approval timed out");
148
+ this.settle(request.id, false, "approval timed out");
134
149
  }, this.options.timeoutMs);
135
150
  timer.unref?.();
136
- const pending = {
137
- request,
138
- resolve: (approved) => resolveApproval(approved),
139
- timer,
140
- };
151
+ const pending = { request, decided, settle, timer };
141
152
  this.pendingApprovals.set(request.id, pending);
142
153
  await this.options.onRequired?.(request);
143
- // A backend-observed request is resolved through `resolve`; a host request swaps this closure
144
- // from the promise below before returning to the workflow.
145
- resolveApproval = (_approved) => { };
146
- return request;
154
+ return pending;
147
155
  }
148
156
  }
149
157
  export function approvalRequestFromEvent(event) {
@@ -1 +1 @@
1
- {"version":3,"file":"approvals.js","sourceRoot":"","sources":["../src/approvals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approvals.js","sourceRoot":"","sources":["../src/approvals.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -19,6 +19,7 @@ export interface CliOptions {
19
19
  readonly migrationTarget?: string;
20
20
  readonly verifyAfterTurn: readonly ("check" | "assure" | "test")[];
21
21
  readonly maxRepairAttempts: number;
22
+ readonly extensions: boolean;
22
23
  }
23
24
  export declare function parseArgs(args: readonly string[]): CliOptions;
24
25
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AA8CA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAA;IAClE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;CACnC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CA2F7D"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAiDA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAA;IAClE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;CAC7B;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CA8F7D"}
package/dist/cli.js CHANGED
@@ -9,10 +9,13 @@ Usage:
9
9
  nifra-agent [--backend pi|replay] [--cwd <dir>] [--once <prompt>]
10
10
  [--json] [--no-session] [--session-dir <dir>] [--session-id <id>]
11
11
  [--verify-after-turn check,assure] [--max-repair-attempts <n>]
12
- [--pi <command>] [--replay <file>]
12
+ [--pi <command>] [--replay <file>] [--extensions]
13
13
  nifra-agent --migrate-session <id> --migrate-from <dir> --migrate-to <dir> [--json]
14
14
  nifra-agent --rpc [--cwd <dir>] [--host 127.0.0.1] [--port 0] [--expose-error-stacks]
15
15
 
16
+ --extensions loads and runs .nifra/extensions/** from --cwd. That is the project's own code: pass it
17
+ only for a repository you trust. Without it no extension is loaded.
18
+
16
19
  Commands in interactive mode:
17
20
  /reload reload Pi or Nifra extensions
18
21
  /compact compact the bounded prompt window
@@ -33,6 +36,7 @@ export function parseArgs(args) {
33
36
  let once;
34
37
  let json = false;
35
38
  let noSession = false;
39
+ let extensions = false;
36
40
  let piCommand = "pi";
37
41
  let replayFile;
38
42
  let sessionDir;
@@ -59,6 +63,8 @@ export function parseArgs(args) {
59
63
  json = true;
60
64
  else if (arg === "--no-session")
61
65
  noSession = true;
66
+ else if (arg === "--extensions")
67
+ extensions = true;
62
68
  else if (arg === "--session-dir")
63
69
  sessionDir = resolve(args[++index] ?? "");
64
70
  else if (arg === "--session-id")
@@ -118,6 +124,7 @@ export function parseArgs(args) {
118
124
  ...(once === undefined ? {} : { once }),
119
125
  json,
120
126
  noSession,
127
+ extensions,
121
128
  piCommand,
122
129
  ...(replayFile === undefined ? {} : { replayFile }),
123
130
  ...(sessionDir === undefined ? {} : { sessionDir }),
@@ -187,7 +194,9 @@ async function main() {
187
194
  enableNifraTools: true,
188
195
  ...(options.sessionDir === undefined ? {} : { sessionDir: options.sessionDir }),
189
196
  });
190
- const extensionRoots = await discoverExtensions(options.cwd);
197
+ // A module's top-level code runs as soon as it is imported, before any capability check can refuse
198
+ // it, so a cloned repository's extensions load only when the user asks.
199
+ const extensionRoots = options.extensions ? await discoverExtensions(options.cwd) : [];
191
200
  const extensions = new ExtensionHost({
192
201
  cwd: options.cwd,
193
202
  roots: extensionRoots,
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handoffs.d.ts","sourceRoot":"","sources":["../src/handoffs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handoffs.d.ts","sourceRoot":"","sources":["../src/handoffs.ts"],"names":[],"mappings":"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"}
package/dist/handoffs.js CHANGED
@@ -18,6 +18,8 @@
18
18
  import { coordinateIsFresh, coordinatesMatch, nextHandoffState, } from "@nifrajs/agent-protocol";
19
19
  import { ChildVectorTracker } from "./orchestration/policy.js";
20
20
  const ID_TOKEN = /^[A-Za-z0-9._:-]{1,128}$/;
21
+ /** The agent protocol's token alphabet, which the approval broker accepts for session ids. */
22
+ const SESSION_TOKEN = /^[A-Za-z0-9._:/-]{1,128}$/;
21
23
  /** Thrown on any refused handoff operation. `code` is the machine-addressable reason. */
22
24
  export class HandoffError extends Error {
23
25
  code;
@@ -55,7 +57,8 @@ export class HandoffCoordinator {
55
57
  !input.capability ||
56
58
  input.capability.length > 128 ||
57
59
  !input.from ||
58
- input.from.length > 128)
60
+ input.from.length > 128 ||
61
+ (input.sessionId !== undefined && !SESSION_TOKEN.test(input.sessionId)))
59
62
  throw new HandoffError("invalid_handoff");
60
63
  if (this.records.has(input.requestId))
61
64
  throw new HandoffError("duplicate");
@@ -81,13 +84,18 @@ export class HandoffCoordinator {
81
84
  requireApproval: input.requireApproval === true,
82
85
  };
83
86
  this.records.set(input.requestId, record);
87
+ // The mirror carries the boundary's coordinate, so only a matched decision approves it. It is a
88
+ // notification: a broker that is full or fails to broadcast leaves the handoff itself intact.
84
89
  if (record.requireApproval && this.approvals !== undefined)
85
- void this.approvals.offer({
90
+ this.approvals
91
+ .offer({
86
92
  id: input.requestId,
87
93
  sessionId: input.sessionId ?? input.runId,
88
94
  action: "handoff",
89
95
  capability: input.capability,
90
- });
96
+ coordinate,
97
+ })
98
+ .catch(() => { });
91
99
  return this.view(record);
92
100
  }
93
101
  /** Every boundary, or - with `activeOnly` - just those still awaiting a decision. */
@@ -166,7 +174,7 @@ export class HandoffCoordinator {
166
174
  settleApproval(record, op) {
167
175
  if (!record.requireApproval || this.approvals === undefined)
168
176
  return;
169
- this.approvals.resolve(record.coordinate.requestId, op === "accept" || op === "resolve");
177
+ this.approvals.resolveMatched(record.coordinate, op === "accept" || op === "resolve", this.now());
170
178
  }
171
179
  isTerminal(state) {
172
180
  return (state === "accepted" ||
@@ -1 +1 @@
1
- {"version":3,"file":"handoffs.js","sourceRoot":"","sources":["../src/handoffs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handoffs.js","sourceRoot":"","sources":["../src/handoffs.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -18,7 +18,7 @@ export { ReplayBackend, type ReplayBackendOptions, readReplayEvents } from "./re
18
18
  export { CodingAgentRpcServer, type CodingAgentRpcServerHandle, type CodingAgentRpcServerOptions, } from "./rpc.js";
19
19
  export { type MigrateLegacySessionOptions, migrateLegacySession, parseSessionEvidenceRecord, SESSION_EVIDENCE_VERSION, type SessionEvidenceRecord, SessionMigrationError, type SessionMigrationReport, stableSessionEventCode, } from "./session-migration.js";
20
20
  export { type CompactionReport, type ContextRecord, ContextWindow, type ContextWindowOptions, FileSessionStore, type FileSessionStoreOptions, type SessionLogEntry, type SessionStore, } from "./sessions.js";
21
- export { BoundedSubagentRunner, type SubagentExecutor, type SubagentResult, type SubagentRunnerOptions, type SubagentSpec, } from "./subagents.js";
21
+ export { BoundedSubagentRunner, type SubagentAbandonment, type SubagentAbandonmentLedger, type SubagentExecutor, type SubagentResult, type SubagentRunnerOptions, type SubagentSpec, } from "./subagents.js";
22
22
  export { createNifraTools, NIFRA_AGENT_INSTRUCTIONS, type NifraAgentTool } from "./tools.js";
23
23
  export { UiExtensionHost, type UiExtensionHostOptions, type UiExtensionManifest, type UiExtensionSlot, type UiReloadResult, type UiStatusWidget, type UiThemeDescriptor, } from "./ui.js";
24
24
  export { createVerificationRepairTask, isSafeReviewDiff, type ReviewExecutionErrorCode, type ReviewExecutionResult, type ReviewOptions, runNifraReview, runNifraVerification, type VerificationOptions, type VerificationRepairTask, type VerificationResult, } from "./verification.js";
@@ -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.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyB,MAAM,aAAa,CAAA;AAC9D,OAAO,EAEL,eAAe,EAKf,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,iCAAiC,EAGjC,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAGL,eAAe,GAChB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,mCAAmC,EACnC,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAmD,eAAe,EAAE,MAAM,WAAW,CAAA;AAC5F,OAAO,EAEL,kBAAkB,EAIlB,aAAa,EAMb,uBAAuB,GACxB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,kBAAkB,EAGlB,YAAY,GAIb,MAAM,eAAe,CAAA;AACtB,OAAO,EAKL,qBAAqB,GACtB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,eAAe,EAA+B,MAAM,WAAW,CAAA;AACxE,OAAO,EAGL,uBAAuB,GAExB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,4BAA4B,EAS5B,YAAY,GAEb,MAAM,aAAa,CAAA;AACpB,OAAO,EAKL,UAAU,GAEX,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,aAAa,EAGb,gBAAgB,EAChB,cAAc,GACf,MAAM,cAAc,CAAA;AACrB,OAAO,EAAoB,eAAe,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,EAIL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAA6B,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACxF,OAAO,EACL,oBAAoB,GAGrB,MAAM,UAAU,CAAA;AACjB,OAAO,EAEL,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,EAExB,qBAAqB,EAErB,sBAAsB,GACvB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAGL,aAAa,EAEb,gBAAgB,GAIjB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,qBAAqB,GAKtB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAuB,MAAM,YAAY,CAAA;AAC5F,OAAO,EACL,eAAe,GAOhB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,EAIhB,cAAc,EACd,oBAAoB,GAIrB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAIL,cAAc,GAGf,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyB,MAAM,aAAa,CAAA;AAC9D,OAAO,EAEL,eAAe,EAKf,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,iCAAiC,EAGjC,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAGL,eAAe,GAChB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,mCAAmC,EACnC,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAmD,eAAe,EAAE,MAAM,WAAW,CAAA;AAC5F,OAAO,EAEL,kBAAkB,EAIlB,aAAa,EAMb,uBAAuB,GACxB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,kBAAkB,EAGlB,YAAY,GAIb,MAAM,eAAe,CAAA;AACtB,OAAO,EAKL,qBAAqB,GACtB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,eAAe,EAA+B,MAAM,WAAW,CAAA;AACxE,OAAO,EAGL,uBAAuB,GAExB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,4BAA4B,EAS5B,YAAY,GAEb,MAAM,aAAa,CAAA;AACpB,OAAO,EAKL,UAAU,GAEX,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,aAAa,EAGb,gBAAgB,EAChB,cAAc,GACf,MAAM,cAAc,CAAA;AACrB,OAAO,EAAoB,eAAe,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,EAIL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAA6B,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACxF,OAAO,EACL,oBAAoB,GAGrB,MAAM,UAAU,CAAA;AACjB,OAAO,EAEL,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,EAExB,qBAAqB,EAErB,sBAAsB,GACvB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAGL,aAAa,EAEb,gBAAgB,GAIjB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,qBAAqB,GAOtB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAuB,MAAM,YAAY,CAAA;AAC5F,OAAO,EACL,eAAe,GAOhB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,EAIhB,cAAc,EACd,oBAAoB,GAIrB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAIL,cAAc,GAGf,MAAM,gBAAgB,CAAA"}
package/dist/native.d.ts CHANGED
@@ -69,6 +69,11 @@ export interface NifraBackendOptions {
69
69
  readonly approvalTimeoutMs?: number;
70
70
  readonly maxSteps?: number;
71
71
  readonly maxMessageChars?: number;
72
+ /**
73
+ * Character budget for the conversation a session sends to the model (default 1 MiB). Past it,
74
+ * whole earlier turns are dropped, oldest first; the current turn is always sent in full.
75
+ */
76
+ readonly maxHistoryChars?: number;
72
77
  readonly now?: () => number;
73
78
  }
74
79
  /**
@@ -105,5 +110,7 @@ export declare class NifraBackend implements AgentBackend {
105
110
  private update;
106
111
  private requireSession;
107
112
  private now;
113
+ private remember;
114
+ private trimHistory;
108
115
  }
109
116
  //# sourceMappingURL=native.d.ts.map