@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.
- package/LICENSE +21 -0
- package/README.md +22 -2
- package/dist/approvals.d.ts +30 -2
- package/dist/approvals.d.ts.map +1 -1
- package/dist/approvals.js +43 -12
- package/dist/approvals.js.map +1 -1
- package/dist/cli.d.ts +13 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +120 -100
- package/dist/cli.js.map +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +9 -21
- package/dist/context.js.map +1 -1
- package/dist/diff.d.ts.map +1 -1
- package/dist/diff.js +8 -21
- package/dist/diff.js.map +1 -1
- package/dist/extensions.js +4 -2
- package/dist/extensions.js.map +1 -1
- package/dist/handoffs.d.ts +5 -0
- package/dist/handoffs.d.ts.map +1 -1
- package/dist/handoffs.js +27 -0
- package/dist/handoffs.js.map +1 -1
- package/dist/host.d.ts +15 -1
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +152 -37
- package/dist/host.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/isolated.js +3 -2
- package/dist/isolated.js.map +1 -1
- package/dist/native.d.ts +29 -2
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +86 -26
- package/dist/native.js.map +1 -1
- package/dist/orchestration/dispatch.d.ts +5 -1
- package/dist/orchestration/dispatch.d.ts.map +1 -1
- package/dist/orchestration/dispatch.js +1 -1
- package/dist/orchestration/dispatch.js.map +1 -1
- package/dist/orchestration/evidence-store.d.ts.map +1 -1
- package/dist/orchestration/evidence-store.js +5 -6
- package/dist/orchestration/evidence-store.js.map +1 -1
- package/dist/orchestration/host.d.ts +14 -0
- package/dist/orchestration/host.d.ts.map +1 -1
- package/dist/orchestration/host.js +26 -0
- package/dist/orchestration/host.js.map +1 -1
- package/dist/orchestration/index.d.ts +1 -1
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/recovery.d.ts +5 -1
- package/dist/orchestration/recovery.d.ts.map +1 -1
- package/dist/orchestration/recovery.js +5 -3
- package/dist/orchestration/recovery.js.map +1 -1
- package/dist/process.d.ts +22 -1
- package/dist/process.d.ts.map +1 -1
- package/dist/process.js +75 -1
- package/dist/process.js.map +1 -1
- package/dist/rpc.d.ts +29 -0
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +205 -46
- package/dist/rpc.js.map +1 -1
- package/dist/session-migration.d.ts.map +1 -1
- package/dist/session-migration.js +30 -6
- package/dist/session-migration.js.map +1 -1
- package/dist/sessions.d.ts +13 -2
- package/dist/sessions.d.ts.map +1 -1
- package/dist/sessions.js +104 -24
- package/dist/sessions.js.map +1 -1
- package/dist/subagents.d.ts.map +1 -1
- package/dist/subagents.js +13 -2
- package/dist/subagents.js.map +1 -1
- package/dist/turn-replay.d.ts +40 -0
- package/dist/turn-replay.d.ts.map +1 -0
- package/dist/turn-replay.js +136 -0
- package/dist/turn-replay.js.map +1 -0
- package/dist/ui.js +84 -30
- package/dist/ui.js.map +1 -1
- package/dist/verification.d.ts +7 -0
- package/dist/verification.d.ts.map +1 -1
- package/dist/verification.js +66 -63
- package/dist/verification.js.map +1 -1
- package/dist/workflows.d.ts +5 -0
- package/dist/workflows.d.ts.map +1 -1
- package/dist/workflows.js +2 -1
- package/dist/workflows.js.map +1 -1
- package/package.json +6 -6
- package/src/approvals.ts +70 -16
- package/src/cli.ts +125 -93
- package/src/context.ts +12 -20
- package/src/diff.ts +11 -23
- package/src/extensions.ts +6 -2
- package/src/handoffs.ts +27 -0
- package/src/host.ts +165 -34
- package/src/index.ts +3 -0
- package/src/isolated.ts +3 -2
- package/src/native.ts +137 -34
- package/src/orchestration/dispatch.ts +6 -2
- package/src/orchestration/evidence-store.ts +5 -6
- package/src/orchestration/host.ts +44 -0
- package/src/orchestration/index.ts +1 -0
- package/src/orchestration/recovery.ts +14 -8
- package/src/process.ts +89 -0
- package/src/rpc.ts +268 -49
- package/src/session-migration.ts +29 -5
- package/src/sessions.ts +115 -29
- package/src/subagents.ts +11 -2
- package/src/turn-replay.ts +151 -0
- package/src/ui.ts +90 -32
- package/src/verification.ts +74 -60
- 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. `
|
|
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.
|
|
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
|
package/dist/approvals.d.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
package/dist/approvals.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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 ??
|
|
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 (!
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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
|
|
164
|
+
expiresAt: approvalExpiresAt(createdAt, this.options.timeoutMs),
|
|
145
165
|
});
|
|
146
166
|
const { promise: decided, resolve: settle } = Promise.withResolvers();
|
|
147
|
-
const
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
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
|
-
|
|
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
|
|
197
|
+
expiresAt: approvalExpiresAt(event.at, timeoutMs),
|
|
167
198
|
});
|
|
168
199
|
}
|
|
169
200
|
export function approvalResolvedEvent(sessionId, seq, decision, turnId) {
|
package/dist/approvals.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approvals.js","sourceRoot":"","sources":["../src/approvals.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,iBAAiB,EACjB,gBAAgB,EAEhB,iBAAiB,GAClB,MAAM,yBAAyB,CAAA;
|
|
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
|
-
|
|
277
|
-
|
|
278
|
-
const
|
|
279
|
-
if (
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
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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"}
|
package/dist/context.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|