@nifrajs/coding-agent 4.0.2 → 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.
Files changed (111) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +22 -2
  3. package/dist/approvals.d.ts +30 -2
  4. package/dist/approvals.d.ts.map +1 -1
  5. package/dist/approvals.js +43 -12
  6. package/dist/approvals.js.map +1 -1
  7. package/dist/cli.d.ts +13 -0
  8. package/dist/cli.d.ts.map +1 -1
  9. package/dist/cli.js +120 -100
  10. package/dist/cli.js.map +1 -1
  11. package/dist/context.d.ts.map +1 -1
  12. package/dist/context.js +9 -21
  13. package/dist/context.js.map +1 -1
  14. package/dist/diff.d.ts.map +1 -1
  15. package/dist/diff.js +8 -21
  16. package/dist/diff.js.map +1 -1
  17. package/dist/extensions.js +4 -2
  18. package/dist/extensions.js.map +1 -1
  19. package/dist/handoffs.d.ts +5 -0
  20. package/dist/handoffs.d.ts.map +1 -1
  21. package/dist/handoffs.js +27 -0
  22. package/dist/handoffs.js.map +1 -1
  23. package/dist/host.d.ts +15 -1
  24. package/dist/host.d.ts.map +1 -1
  25. package/dist/host.js +152 -37
  26. package/dist/host.js.map +1 -1
  27. package/dist/index.d.ts +2 -2
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +2 -2
  30. package/dist/index.js.map +1 -1
  31. package/dist/isolated.js +3 -2
  32. package/dist/isolated.js.map +1 -1
  33. package/dist/native.d.ts +29 -2
  34. package/dist/native.d.ts.map +1 -1
  35. package/dist/native.js +86 -26
  36. package/dist/native.js.map +1 -1
  37. package/dist/orchestration/dispatch.d.ts +5 -1
  38. package/dist/orchestration/dispatch.d.ts.map +1 -1
  39. package/dist/orchestration/dispatch.js +1 -1
  40. package/dist/orchestration/dispatch.js.map +1 -1
  41. package/dist/orchestration/evidence-store.d.ts.map +1 -1
  42. package/dist/orchestration/evidence-store.js +5 -6
  43. package/dist/orchestration/evidence-store.js.map +1 -1
  44. package/dist/orchestration/host.d.ts +14 -0
  45. package/dist/orchestration/host.d.ts.map +1 -1
  46. package/dist/orchestration/host.js +26 -0
  47. package/dist/orchestration/host.js.map +1 -1
  48. package/dist/orchestration/index.d.ts +1 -1
  49. package/dist/orchestration/index.d.ts.map +1 -1
  50. package/dist/orchestration/index.js.map +1 -1
  51. package/dist/orchestration/recovery.d.ts +5 -1
  52. package/dist/orchestration/recovery.d.ts.map +1 -1
  53. package/dist/orchestration/recovery.js +5 -3
  54. package/dist/orchestration/recovery.js.map +1 -1
  55. package/dist/process.d.ts +22 -1
  56. package/dist/process.d.ts.map +1 -1
  57. package/dist/process.js +75 -1
  58. package/dist/process.js.map +1 -1
  59. package/dist/rpc.d.ts +29 -0
  60. package/dist/rpc.d.ts.map +1 -1
  61. package/dist/rpc.js +205 -46
  62. package/dist/rpc.js.map +1 -1
  63. package/dist/session-migration.d.ts.map +1 -1
  64. package/dist/session-migration.js +30 -6
  65. package/dist/session-migration.js.map +1 -1
  66. package/dist/sessions.d.ts +13 -2
  67. package/dist/sessions.d.ts.map +1 -1
  68. package/dist/sessions.js +104 -24
  69. package/dist/sessions.js.map +1 -1
  70. package/dist/subagents.d.ts.map +1 -1
  71. package/dist/subagents.js +13 -2
  72. package/dist/subagents.js.map +1 -1
  73. package/dist/turn-replay.d.ts +40 -0
  74. package/dist/turn-replay.d.ts.map +1 -0
  75. package/dist/turn-replay.js +136 -0
  76. package/dist/turn-replay.js.map +1 -0
  77. package/dist/ui.js +84 -30
  78. package/dist/ui.js.map +1 -1
  79. package/dist/verification.d.ts +7 -0
  80. package/dist/verification.d.ts.map +1 -1
  81. package/dist/verification.js +66 -63
  82. package/dist/verification.js.map +1 -1
  83. package/dist/workflows.d.ts +5 -0
  84. package/dist/workflows.d.ts.map +1 -1
  85. package/dist/workflows.js +2 -1
  86. package/dist/workflows.js.map +1 -1
  87. package/package.json +6 -6
  88. package/src/approvals.ts +70 -16
  89. package/src/cli.ts +125 -93
  90. package/src/context.ts +12 -20
  91. package/src/diff.ts +11 -23
  92. package/src/extensions.ts +6 -2
  93. package/src/handoffs.ts +27 -0
  94. package/src/host.ts +165 -34
  95. package/src/index.ts +3 -0
  96. package/src/isolated.ts +3 -2
  97. package/src/native.ts +137 -34
  98. package/src/orchestration/dispatch.ts +6 -2
  99. package/src/orchestration/evidence-store.ts +5 -6
  100. package/src/orchestration/host.ts +44 -0
  101. package/src/orchestration/index.ts +1 -0
  102. package/src/orchestration/recovery.ts +14 -8
  103. package/src/process.ts +89 -0
  104. package/src/rpc.ts +268 -49
  105. package/src/session-migration.ts +29 -5
  106. package/src/sessions.ts +115 -29
  107. package/src/subagents.ts +11 -2
  108. package/src/turn-replay.ts +151 -0
  109. package/src/ui.ts +90 -32
  110. package/src/verification.ts +74 -60
  111. package/src/workflows.ts +7 -1
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
@@ -34,6 +34,22 @@ 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
+ Each `turn.send` SSE frame carries `id: <seq>`. By default a client that disconnects cancels its
38
+ turn. With `resumableTurns: true` the turn keeps running: a client that comes back calls
39
+ `turn.attach` with `{ afterSeq }` (or a `Last-Event-ID` header) to read the frames it missed and
40
+ follow the rest. A cursor older than the held frames (`replayEvents`, default 1024; `replayBytes`,
41
+ default 8 MiB) answers `409 resync_required`, so read `session.events` instead; a second
42
+ `turn.send` while one runs answers `409 turn_running`; and a turn no client has followed for
43
+ `detachedTimeoutMs` (default 2 minutes) is cancelled.
44
+
45
+ An approval, or a coding tool's question to the person, is denied once it has waited 5 minutes.
46
+ Pass `approvals: { timeoutMs }` to `CodingAgentHost` or `CodingAgentRpcServer` for up to 24 h, or
47
+ `timeoutMs: "never"` to keep it until it is answered, cancelled, its turn ends, or the session
48
+ closes; `maxPending` (default 32) still bounds how many can wait. `NifraBackend` has its own
49
+ `approvalTimeoutMs`, taking the same values, and the host denies in the backend whatever its broker
50
+ denies, so the shorter of the two applies. A never-expiring approval reports `expiresAt` as
51
+ `APPROVAL_NEVER_EXPIRES_AT`, which survives JSON and stays later than any `Date.now()`.
52
+
37
53
  `nifra-agent` loads `.nifra/extensions/**` from `--cwd` only when started with
38
54
  `--extensions`. An extension module's top-level code runs as soon as it is
39
55
  imported, before its declared `capabilities` are checked, so pass the flag only
@@ -47,7 +63,10 @@ loading code you do not trust.
47
63
  an injected model implementation and bounded tools without importing a provider
48
64
  SDK. The conversation it sends the model is capped by `maxHistoryChars` (default
49
65
  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
66
+ turn is always sent in full. `maxMessageChars` (default 64 KiB) caps the message `send` accepts and
67
+ `maxReplyChars` (default 1 MiB) the model's reply; a reply longer than one event's text arrives as
68
+ consecutive `assistant.message` events, and a tool's event shows a bounded copy of its input while
69
+ the tool runs with all of it. `ReplayBackend` and `readReplayEvents` provide deterministic protocol
51
70
  replays for CI and Workbench regression tests.
52
71
 
53
72
  ## At-least-once run dispatch
@@ -69,7 +88,8 @@ Legacy `FileSessionStore` files remain supported for explicit local compatibilit
69
88
  `nifra-agent --migrate-session <id> --migrate-from <legacy-dir> --migrate-to <evidence-dir>` to
70
89
  create a separately validated, evidence-only target. The source is left untouched and the command
71
90
  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
91
+ new directory yourself. `FileSessionStore` reads the migrated rows as content-free entries whose
92
+ type is the stable event code, and new appends continue the sequence. To roll back, point it at the legacy directory again and remove the new
73
93
  target; a failed or interrupted migration leaves the active choice unchanged.
74
94
 
75
95
  For AI agents, see [`LLM.md`](./LLM.md) and the full corpus
@@ -13,8 +13,25 @@ export interface ApprovalRequest {
13
13
  */
14
14
  readonly coordinate?: DecisionCoordinate;
15
15
  readonly createdAt: number;
16
+ /**
17
+ * Absolute epoch-ms after which the approval is denied as timed out. An approval opened with a
18
+ * `"never"` timeout reports {@link APPROVAL_NEVER_EXPIRES_AT}, so `now < expiresAt` keeps treating
19
+ * it as live.
20
+ */
16
21
  readonly expiresAt: number;
17
22
  }
23
+ /**
24
+ * How long an approval may wait: whole milliseconds from 1 ms to 24 h, or `"never"` for no timer. A
25
+ * `"never"` approval still settles on an answer, a cancel, the end of its turn, and close.
26
+ */
27
+ export type ApprovalTimeout = number | "never";
28
+ /**
29
+ * The `expiresAt` of an approval that never times out: the largest epoch-ms a `Date` holds
30
+ * (+275760-09-13). It survives JSON, unlike `Infinity`, and `new Date(expiresAt)` stays valid.
31
+ */
32
+ export declare const APPROVAL_NEVER_EXPIRES_AT = 8640000000000000;
33
+ /** True for `"never"` or a whole number of milliseconds from 1 ms to 24 h. */
34
+ export declare function isApprovalTimeout(value: unknown): value is ApprovalTimeout;
18
35
  /** Stable, content-free reasons a coordinate-matched resolution is refused. */
19
36
  export type ApprovalMatchRejection = "unknown_boundary" | "identity_mismatch" | "stale_vector" | "expired" | "illegal_transition";
20
37
  export type ApprovalMatchResult = {
@@ -32,7 +49,11 @@ export interface ApprovalDecision {
32
49
  }
33
50
  export interface ApprovalManagerOptions {
34
51
  readonly maxPending?: number;
35
- readonly timeoutMs?: number;
52
+ /**
53
+ * How long an approval waits before it is denied as timed out (default 5 minutes, at most 24 h).
54
+ * `"never"` removes the timer; `maxPending` still bounds how many approvals can wait.
55
+ */
56
+ readonly timeoutMs?: ApprovalTimeout;
36
57
  readonly onRequired?: (request: ApprovalRequest) => void | PromiseLike<void>;
37
58
  readonly onResolved?: (decision: ApprovalDecision) => void | PromiseLike<void>;
38
59
  }
@@ -46,6 +67,8 @@ export declare class ApprovalManager {
46
67
  private readonly options;
47
68
  private readonly pendingApprovals;
48
69
  constructor(options?: ApprovalManagerOptions);
70
+ /** The configured timeout, for {@link approvalRequestFromEvent}. */
71
+ get timeoutMs(): ApprovalTimeout;
49
72
  get pending(): readonly ApprovalRequest[];
50
73
  /** Convert a streamed backend approval event into a resolvable pending request. */
51
74
  observe(event: AgentApprovalRequiredEvent): Promise<ApprovalRequest | undefined>;
@@ -77,6 +100,11 @@ export declare class ApprovalManager {
77
100
  private settle;
78
101
  private create;
79
102
  }
80
- export declare function approvalRequestFromEvent(event: AgentApprovalRequiredEvent): ApprovalRequest;
103
+ /**
104
+ * Project a backend approval event into a request. Pass the broker's timeout
105
+ * (`ApprovalManager.timeoutMs`) so `expiresAt` matches when it will actually be denied; the default
106
+ * is the broker's default of 5 minutes.
107
+ */
108
+ export declare function approvalRequestFromEvent(event: AgentApprovalRequiredEvent, timeoutMs?: ApprovalTimeout): ApprovalRequest;
81
109
  export declare function approvalResolvedEvent(sessionId: string, seq: number, decision: ApprovalDecision, turnId?: string): AgentApprovalResolvedEvent;
82
110
  //# sourceMappingURL=approvals.d.ts.map
@@ -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":"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"}
package/dist/approvals.js CHANGED
@@ -1,4 +1,22 @@
1
1
  import { coordinateIsFresh, coordinatesMatch, nextApprovalState, } from "@nifrajs/agent-protocol";
2
+ /**
3
+ * The `expiresAt` of an approval that never times out: the largest epoch-ms a `Date` holds
4
+ * (+275760-09-13). It survives JSON, unlike `Infinity`, and `new Date(expiresAt)` stays valid.
5
+ */
6
+ export const APPROVAL_NEVER_EXPIRES_AT = 8_640_000_000_000_000;
7
+ const DEFAULT_APPROVAL_TIMEOUT_MS = 5 * 60_000;
8
+ const MAX_APPROVAL_TIMEOUT_MS = 24 * 60 * 60_000;
9
+ /** True for `"never"` or a whole number of milliseconds from 1 ms to 24 h. */
10
+ export function isApprovalTimeout(value) {
11
+ return (value === "never" ||
12
+ (typeof value === "number" &&
13
+ Number.isSafeInteger(value) &&
14
+ value >= 1 &&
15
+ value <= MAX_APPROVAL_TIMEOUT_MS));
16
+ }
17
+ function approvalExpiresAt(createdAt, timeoutMs) {
18
+ return timeoutMs === "never" ? APPROVAL_NEVER_EXPIRES_AT : createdAt + timeoutMs;
19
+ }
2
20
  /** The agent protocol's token alphabet, so every protocol-valid id is accepted here too. */
3
21
  const ID_TOKEN = /^[A-Za-z0-9._:/-]{1,128}$/;
4
22
  const MAX_ACTION_LENGTH = 512;
@@ -15,14 +33,16 @@ export class ApprovalManager {
15
33
  this.options = {
16
34
  ...options,
17
35
  maxPending: options.maxPending ?? 32,
18
- timeoutMs: options.timeoutMs ?? 5 * 60_000,
36
+ timeoutMs: options.timeoutMs ?? DEFAULT_APPROVAL_TIMEOUT_MS,
19
37
  };
20
38
  if (!Number.isSafeInteger(this.options.maxPending) || this.options.maxPending < 1)
21
39
  throw new RangeError("approvals: maxPending must be positive");
22
- if (!Number.isSafeInteger(this.options.timeoutMs) ||
23
- this.options.timeoutMs < 1 ||
24
- this.options.timeoutMs > 24 * 60 * 60_000)
25
- throw new RangeError("approvals: timeoutMs must be between 1ms and 24h");
40
+ if (!isApprovalTimeout(this.options.timeoutMs))
41
+ throw new RangeError('approvals: timeoutMs must be between 1ms and 24h, or "never"');
42
+ }
43
+ /** The configured timeout, for {@link approvalRequestFromEvent}. */
44
+ get timeoutMs() {
45
+ return this.options.timeoutMs;
26
46
  }
27
47
  get pending() {
28
48
  return Object.freeze([...this.pendingApprovals.values()].map(({ request }) => request));
@@ -141,20 +161,31 @@ export class ApprovalManager {
141
161
  ...(input.reason === undefined ? {} : { reason: input.reason.slice(0, 512) }),
142
162
  ...(input.coordinate === undefined ? {} : { coordinate: input.coordinate }),
143
163
  createdAt,
144
- expiresAt: createdAt + this.options.timeoutMs,
164
+ expiresAt: approvalExpiresAt(createdAt, this.options.timeoutMs),
145
165
  });
146
166
  const { promise: decided, resolve: settle } = Promise.withResolvers();
147
- const timer = setTimeout(() => {
148
- this.settle(request.id, false, "approval timed out");
149
- }, this.options.timeoutMs);
150
- timer.unref?.();
167
+ const timeoutMs = this.options.timeoutMs;
168
+ let timer;
169
+ if (timeoutMs !== "never") {
170
+ timer = setTimeout(() => {
171
+ this.settle(request.id, false, "approval timed out");
172
+ }, timeoutMs);
173
+ timer.unref?.();
174
+ }
151
175
  const pending = { request, decided, settle, timer };
152
176
  this.pendingApprovals.set(request.id, pending);
153
177
  await this.options.onRequired?.(request);
154
178
  return pending;
155
179
  }
156
180
  }
157
- export function approvalRequestFromEvent(event) {
181
+ /**
182
+ * Project a backend approval event into a request. Pass the broker's timeout
183
+ * (`ApprovalManager.timeoutMs`) so `expiresAt` matches when it will actually be denied; the default
184
+ * is the broker's default of 5 minutes.
185
+ */
186
+ export function approvalRequestFromEvent(event, timeoutMs = DEFAULT_APPROVAL_TIMEOUT_MS) {
187
+ if (!isApprovalTimeout(timeoutMs))
188
+ throw new RangeError('approvals: timeoutMs must be between 1ms and 24h, or "never"');
158
189
  return Object.freeze({
159
190
  id: event.approvalId,
160
191
  sessionId: event.sessionId,
@@ -163,7 +194,7 @@ export function approvalRequestFromEvent(event) {
163
194
  capability: event.capability,
164
195
  ...(event.reason === undefined ? {} : { reason: event.reason }),
165
196
  createdAt: event.at,
166
- expiresAt: event.at + 5 * 60_000,
197
+ expiresAt: approvalExpiresAt(event.at, timeoutMs),
167
198
  });
168
199
  }
169
200
  export function approvalResolvedEvent(sessionId, seq, decision, turnId) {
@@ -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
@@ -22,4 +22,17 @@ export interface CliOptions {
22
22
  readonly extensions: boolean;
23
23
  }
24
24
  export declare function parseArgs(args: readonly string[]): CliOptions;
25
+ export interface LineHandlers {
26
+ /** Answers an approval command and returns true; returns false for any other line. */
27
+ readonly answerApproval: (message: string) => Promise<boolean>;
28
+ readonly run: (message: string) => Promise<void>;
29
+ readonly stopReading: () => void;
30
+ }
31
+ /**
32
+ * Route interactive input. A running turn can be waiting on an approval, so approval commands answer
33
+ * at once; every other line runs in order behind the turn in flight. Reading ends at `/quit`, `/exit`
34
+ * or end of input, and settles once the queued lines have run. The first failure stops reading and
35
+ * is rethrown.
36
+ */
37
+ export declare function dispatchLines(lines: AsyncIterable<string>, handlers: LineHandlers): Promise<void>;
25
38
  //# 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":";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"}
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;AAeD,MAAM,WAAW,YAAY;IAC3B,sFAAsF;IACtF,QAAQ,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9D,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChD,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAA;CACjC;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAC5B,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,IAAI,CAAC,CAWf"}
package/dist/cli.js CHANGED
@@ -151,6 +151,27 @@ function parseVerificationNames(value) {
151
151
  throw new Error("--verify-after-turn must contain only check, assure, or test");
152
152
  return Object.freeze([...new Set(names)]);
153
153
  }
154
+ /**
155
+ * Route interactive input. A running turn can be waiting on an approval, so approval commands answer
156
+ * at once; every other line runs in order behind the turn in flight. Reading ends at `/quit`, `/exit`
157
+ * or end of input, and settles once the queued lines have run. The first failure stops reading and
158
+ * is rethrown.
159
+ */
160
+ export async function dispatchLines(lines, handlers) {
161
+ let queue = Promise.resolve();
162
+ for await (const line of lines) {
163
+ const message = line.trim();
164
+ if (message.length === 0)
165
+ continue;
166
+ if (message === "/quit" || message === "/exit")
167
+ break;
168
+ if (await handlers.answerApproval(message))
169
+ continue;
170
+ queue = queue.then(() => handlers.run(message));
171
+ queue.catch(handlers.stopReading);
172
+ }
173
+ await queue;
174
+ }
154
175
  function printEvent(event, json) {
155
176
  if (json) {
156
177
  console.log(JSON.stringify(event));
@@ -273,107 +294,106 @@ async function main() {
273
294
  input: process.stdin,
274
295
  output: options.json ? undefined : process.stdout,
275
296
  });
276
- try {
277
- for await (const line of readline) {
278
- const message = line.trim();
279
- if (message.length === 0)
280
- continue;
281
- if (message === "/quit" || message === "/exit")
282
- break;
283
- if (message === "/reload") {
284
- const result = await host.reload();
285
- if (options.json)
286
- console.log(JSON.stringify({ type: "extension.reloaded", ...result }));
287
- else
288
- console.error(`[reload] ${result.rolledBack ? "rolled back" : result.revision}`);
289
- continue;
290
- }
291
- if (message === "/compact") {
292
- const result = await host.compact("manual");
293
- if (options.json)
294
- console.log(JSON.stringify({ type: "memory.compacted", ...result }));
295
- else
296
- console.error(`[memory] compacted ${result.before} -> ${result.after}`);
297
- continue;
298
- }
299
- if (message === "/checkpoint") {
300
- await host.checkpoint();
301
- if (options.json)
302
- console.log(JSON.stringify({ type: "session.checkpoint", ok: true }));
303
- else
304
- console.error("[session] checkpoint saved");
305
- continue;
306
- }
307
- const forkCommand = /^\/fork(?:\s+([^\s]+))?$/.exec(message);
308
- if (forkCommand !== null) {
309
- const result = await host.fork(forkCommand[1]);
310
- if (options.json)
311
- console.log(JSON.stringify({ type: "session.forked", ...result }));
312
- else
313
- console.log(`[session] forked ${result.sessionId}`);
314
- continue;
315
- }
316
- const historyCommand = /^\/history(?:\s+(\d+))?$/.exec(message);
317
- if (historyCommand !== null) {
318
- const result = await host.history(historyCommand[1] === undefined ? 20 : Number(historyCommand[1]));
319
- if (options.json)
320
- console.log(JSON.stringify({ type: "session.history", entries: result }));
321
- else
322
- for (const entry of result)
323
- console.log(`${entry.seq} · ${entry.type}`);
324
- continue;
325
- }
326
- if (message === "/check") {
327
- const result = await runNifraVerification("check", { cwd: options.cwd });
328
- if (options.json)
329
- console.log(JSON.stringify({ type: "verification.completed", ...result }));
330
- else
331
- console.error(`[check] ${result.ok ? "passed" : "failed"}${result.status === null ? "" : ` (exit ${result.status})`}`);
332
- continue;
333
- }
334
- if (message === "/assure") {
335
- const result = await runNifraVerification("assure", { cwd: options.cwd });
336
- if (options.json)
337
- console.log(JSON.stringify({ type: "verification.completed", ...result }));
338
- else
339
- console.error(`[assure] ${result.ok ? "passed" : "failed"}${result.status === null ? "" : ` (exit ${result.status})`}`);
340
- continue;
341
- }
342
- if (message === "/context") {
343
- const result = await runNifraContext({ cwd: options.cwd });
344
- if (options.json)
345
- console.log(JSON.stringify({ type: "context.completed", ...result }));
346
- else
347
- console.log(result.output ?? JSON.stringify(result.report ?? result));
348
- continue;
349
- }
350
- if (message === "/approvals") {
351
- const result = host.pendingApprovals;
352
- if (options.json)
353
- console.log(JSON.stringify({ type: "approval.list", pending: result }));
354
- else if (result.length === 0)
355
- console.log("No pending approvals");
356
- else
357
- for (const approval of result)
358
- console.log(`${approval.id} · ${approval.capability} · ${approval.action}`);
359
- continue;
360
- }
361
- const approvalCommand = /^(\/approve|\/deny)\s+([^\s]+)$/.exec(message);
362
- if (approvalCommand !== null) {
363
- const result = await host.resolveApproval(approvalCommand[2], approvalCommand[1] === "/approve", "CLI decision");
364
- if (options.json)
365
- console.log(JSON.stringify({
366
- type: "approval.resolved",
367
- ...(result ?? { error: "approval not found" }),
368
- }));
369
- else
370
- console.log(result === undefined
371
- ? "Approval not found"
372
- : `${result.approved ? "Approved" : "Denied"} ${result.approvalId}`);
373
- continue;
374
- }
375
- await send(message);
297
+ const run = async (message) => {
298
+ if (message === "/reload") {
299
+ const result = await host.reload();
300
+ if (options.json)
301
+ console.log(JSON.stringify({ type: "extension.reloaded", ...result }));
302
+ else
303
+ console.error(`[reload] ${result.rolledBack ? "rolled back" : result.revision}`);
304
+ return;
305
+ }
306
+ if (message === "/compact") {
307
+ const result = await host.compact("manual");
308
+ if (options.json)
309
+ console.log(JSON.stringify({ type: "memory.compacted", ...result }));
310
+ else
311
+ console.error(`[memory] compacted ${result.before} -> ${result.after}`);
312
+ return;
313
+ }
314
+ if (message === "/checkpoint") {
315
+ await host.checkpoint();
316
+ if (options.json)
317
+ console.log(JSON.stringify({ type: "session.checkpoint", ok: true }));
318
+ else
319
+ console.error("[session] checkpoint saved");
320
+ return;
321
+ }
322
+ const forkCommand = /^\/fork(?:\s+([^\s]+))?$/.exec(message);
323
+ if (forkCommand !== null) {
324
+ const result = await host.fork(forkCommand[1]);
325
+ if (options.json)
326
+ console.log(JSON.stringify({ type: "session.forked", ...result }));
327
+ else
328
+ console.log(`[session] forked ${result.sessionId}`);
329
+ return;
330
+ }
331
+ const historyCommand = /^\/history(?:\s+(\d+))?$/.exec(message);
332
+ if (historyCommand !== null) {
333
+ const result = await host.history(historyCommand[1] === undefined ? 20 : Number(historyCommand[1]));
334
+ if (options.json)
335
+ console.log(JSON.stringify({ type: "session.history", entries: result }));
336
+ else
337
+ for (const entry of result)
338
+ console.log(`${entry.seq} · ${entry.type}`);
339
+ return;
340
+ }
341
+ if (message === "/check") {
342
+ const result = await runNifraVerification("check", { cwd: options.cwd });
343
+ if (options.json)
344
+ console.log(JSON.stringify({ type: "verification.completed", ...result }));
345
+ else
346
+ console.error(`[check] ${result.ok ? "passed" : "failed"}${result.status === null ? "" : ` (exit ${result.status})`}`);
347
+ return;
376
348
  }
349
+ if (message === "/assure") {
350
+ const result = await runNifraVerification("assure", { cwd: options.cwd });
351
+ if (options.json)
352
+ console.log(JSON.stringify({ type: "verification.completed", ...result }));
353
+ else
354
+ console.error(`[assure] ${result.ok ? "passed" : "failed"}${result.status === null ? "" : ` (exit ${result.status})`}`);
355
+ return;
356
+ }
357
+ if (message === "/context") {
358
+ const result = await runNifraContext({ cwd: options.cwd });
359
+ if (options.json)
360
+ console.log(JSON.stringify({ type: "context.completed", ...result }));
361
+ else
362
+ console.log(result.output ?? JSON.stringify(result.report ?? result));
363
+ return;
364
+ }
365
+ await send(message);
366
+ };
367
+ const answerApproval = async (message) => {
368
+ if (message === "/approvals") {
369
+ const result = host.pendingApprovals;
370
+ if (options.json)
371
+ console.log(JSON.stringify({ type: "approval.list", pending: result }));
372
+ else if (result.length === 0)
373
+ console.log("No pending approvals");
374
+ else
375
+ for (const approval of result)
376
+ console.log(`${approval.id} · ${approval.capability} · ${approval.action}`);
377
+ return true;
378
+ }
379
+ const approvalCommand = /^(\/approve|\/deny)\s+([^\s]+)$/.exec(message);
380
+ if (approvalCommand !== null) {
381
+ const result = await host.resolveApproval(approvalCommand[2], approvalCommand[1] === "/approve", "CLI decision");
382
+ if (options.json)
383
+ console.log(JSON.stringify({
384
+ type: "approval.resolved",
385
+ ...(result ?? { error: "approval not found" }),
386
+ }));
387
+ else
388
+ console.log(result === undefined
389
+ ? "Approval not found"
390
+ : `${result.approved ? "Approved" : "Denied"} ${result.approvalId}`);
391
+ return true;
392
+ }
393
+ return false;
394
+ };
395
+ try {
396
+ await dispatchLines(readline, { answerApproval, run, stopReading: () => readline.close() });
377
397
  }
378
398
  finally {
379
399
  readline.close();
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":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAA;CAC5D;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,0GAA0G;AAC1G,wBAAsB,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA0C/F"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAA;CAC5D;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,0GAA0G;AAC1G,wBAAsB,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkC/F"}