zelari-code 2.51.0 → 2.53.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/dist/cli/acp/invariants.js +183 -0
- package/dist/cli/acp/invariants.js.map +1 -0
- package/dist/cli/acp/protocol.js +36 -3
- package/dist/cli/acp/protocol.js.map +1 -1
- package/dist/cli/acp/server.js +51 -15
- package/dist/cli/acp/server.js.map +1 -1
- package/dist/cli/acp/turnAdapter.js +2 -1
- package/dist/cli/acp/turnAdapter.js.map +1 -1
- package/dist/cli/app.js +17 -4
- package/dist/cli/app.js.map +1 -1
- package/dist/cli/companion/framePolicy.js +116 -0
- package/dist/cli/companion/framePolicy.js.map +1 -0
- package/dist/cli/components/ChatStream.js +2 -2
- package/dist/cli/components/ChatStream.js.map +1 -1
- package/dist/cli/components/SelectList.js +51 -14
- package/dist/cli/components/SelectList.js.map +1 -1
- package/dist/cli/components/StatusBar.js +6 -2
- package/dist/cli/components/StatusBar.js.map +1 -1
- package/dist/cli/components/ToolOutput.js +2 -2
- package/dist/cli/components/ToolOutput.js.map +1 -1
- package/dist/cli/components/fuzzyMatch.js +108 -0
- package/dist/cli/components/fuzzyMatch.js.map +1 -0
- package/dist/cli/components/statusChips.js +47 -0
- package/dist/cli/components/statusChips.js.map +1 -1
- package/dist/cli/components/toolFormat.js +19 -7
- package/dist/cli/components/toolFormat.js.map +1 -1
- package/dist/cli/headless/protocol.js +39 -2
- package/dist/cli/headless/protocol.js.map +1 -1
- package/dist/cli/hooks/useSlashDispatch.js +5 -2
- package/dist/cli/hooks/useSlashDispatch.js.map +1 -1
- package/dist/cli/inbox.js +220 -0
- package/dist/cli/inbox.js.map +1 -0
- package/dist/cli/main.bundled.js +3551 -2528
- package/dist/cli/main.bundled.js.map +4 -4
- package/dist/cli/main.js +22 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/serve/harnessServer.js +7 -0
- package/dist/cli/serve/harnessServer.js.map +1 -1
- package/dist/cli/sessionManager.js +9 -2
- package/dist/cli/sessionManager.js.map +1 -1
- package/dist/cli/skillsCheck.js +209 -0
- package/dist/cli/skillsCheck.js.map +1 -0
- package/dist/cli/slashCommands.js +9 -0
- package/dist/cli/slashCommands.js.map +1 -1
- package/dist/cli/slashHandlers/provider.js.map +1 -1
- package/dist/cli/slashHandlers/sessions.js +131 -0
- package/dist/cli/slashHandlers/sessions.js.map +1 -0
- package/dist/cli/statusline/statuslineItems.js +22 -3
- package/dist/cli/statusline/statuslineItems.js.map +1 -1
- package/dist/cli/statusline/verdictFeed.js +245 -0
- package/dist/cli/statusline/verdictFeed.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Invariant 3 — stable STRING error codes (the single source of truth)
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
/**
|
|
5
|
+
* The machine vocabulary of the ACP error surface. `protocol.ts` keeps the
|
|
6
|
+
* numeric JSON-RPC envelope the spec requires and re-exports THESE constants,
|
|
7
|
+
* so a code exists once and every emit site uses it: never a number where a
|
|
8
|
+
* code belongs, never an ad-hoc message used as a code (see server.ts, which
|
|
9
|
+
* puts the string in `error.data.code`, next to the numeric `error.code`).
|
|
10
|
+
*/
|
|
11
|
+
export const ACP_ERROR_CODES = {
|
|
12
|
+
PARSE_ERROR: 'parse_error',
|
|
13
|
+
INVALID_REQUEST: 'invalid_request',
|
|
14
|
+
METHOD_NOT_FOUND: 'method_not_found',
|
|
15
|
+
INVALID_PARAMS: 'invalid_params',
|
|
16
|
+
INTERNAL_ERROR: 'internal_error',
|
|
17
|
+
/** A turn ended without delivering (dispatcher rejected, or exit != 0). */
|
|
18
|
+
TURN_FAILED: 'turn_failed',
|
|
19
|
+
/** A stream invariant was violated (this module's guards). */
|
|
20
|
+
PROTOCOL_ERROR: 'protocol_error',
|
|
21
|
+
/** A payload was clamped, or claims to be complete while over the cap. */
|
|
22
|
+
TRUNCATED_PAYLOAD: 'truncated_payload',
|
|
23
|
+
};
|
|
24
|
+
/** `sessionUpdate` values that ARE a terminal frame (reserved, see header). */
|
|
25
|
+
export const ACP_TERMINAL_UPDATE_KINDS = ['input_required'];
|
|
26
|
+
/**
|
|
27
|
+
* A broken stream invariant. `errorCode` is one of the protocol's stable
|
|
28
|
+
* string codes (invariant 3), so a violation reads the same in a log line and
|
|
29
|
+
* in an error frame.
|
|
30
|
+
*/
|
|
31
|
+
export class AcpInvariantViolation extends Error {
|
|
32
|
+
invariant;
|
|
33
|
+
errorCode;
|
|
34
|
+
constructor(invariant, errorCode, detail) {
|
|
35
|
+
super(`${errorCode} ${invariant}: ${detail}`);
|
|
36
|
+
this.invariant = invariant;
|
|
37
|
+
this.errorCode = errorCode;
|
|
38
|
+
this.name = 'AcpInvariantViolation';
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/** Terminal kind of one update frame, or null when the frame is not terminal. */
|
|
42
|
+
export function terminalUpdateKind(frame) {
|
|
43
|
+
const kind = frame?.sessionUpdate;
|
|
44
|
+
if (typeof kind !== 'string')
|
|
45
|
+
return null;
|
|
46
|
+
return ACP_TERMINAL_UPDATE_KINDS.includes(kind)
|
|
47
|
+
? kind
|
|
48
|
+
: null;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Per-turn stream state: the one place that decides whether a frame may still
|
|
52
|
+
* be emitted. One instance per turn (never reused across turns).
|
|
53
|
+
*/
|
|
54
|
+
export class TurnStreamTracker {
|
|
55
|
+
sessionId;
|
|
56
|
+
#frames = 0;
|
|
57
|
+
#terminalKind = null;
|
|
58
|
+
constructor(sessionId) {
|
|
59
|
+
this.sessionId = sessionId;
|
|
60
|
+
}
|
|
61
|
+
/** Non-terminal frames emitted so far (diagnostics/tests). */
|
|
62
|
+
get frames() {
|
|
63
|
+
return this.#frames;
|
|
64
|
+
}
|
|
65
|
+
/** True once a terminal frame was recorded (the stream is closed). */
|
|
66
|
+
get terminated() {
|
|
67
|
+
return this.#terminalKind !== null;
|
|
68
|
+
}
|
|
69
|
+
/** The single terminal kind, or null while the stream is still open. */
|
|
70
|
+
get terminalKind() {
|
|
71
|
+
return this.#terminalKind;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Record one update frame. Throws `post_terminal_frame` when the stream is
|
|
75
|
+
* already closed — a closed stream never reopens and never emits again.
|
|
76
|
+
*/
|
|
77
|
+
push(frame) {
|
|
78
|
+
if (this.#terminalKind !== null) {
|
|
79
|
+
throw new AcpInvariantViolation('post_terminal_frame', 'protocol_error', `session ${this.sessionId}: frame after the terminal '${this.#terminalKind}' frame`);
|
|
80
|
+
}
|
|
81
|
+
this.#frames += 1;
|
|
82
|
+
const terminal = terminalUpdateKind(frame);
|
|
83
|
+
if (terminal !== null)
|
|
84
|
+
this.#terminalKind = terminal;
|
|
85
|
+
return terminal;
|
|
86
|
+
}
|
|
87
|
+
/** Record the ONE terminal frame. Throws `double_terminal` on a second one. */
|
|
88
|
+
terminate(kind) {
|
|
89
|
+
if (this.#terminalKind !== null) {
|
|
90
|
+
throw new AcpInvariantViolation('double_terminal', 'protocol_error', `session ${this.sessionId}: terminal '${kind}' after '${this.#terminalKind}'`);
|
|
91
|
+
}
|
|
92
|
+
this.#terminalKind = kind;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* A turn that ends must have terminated exactly once. Returns the kind, or
|
|
96
|
+
* throws `missing_terminal` — call this when the turn is over to make a
|
|
97
|
+
* dropped terminal loud instead of a hung stream.
|
|
98
|
+
*/
|
|
99
|
+
assertTerminated() {
|
|
100
|
+
if (this.#terminalKind === null) {
|
|
101
|
+
throw new AcpInvariantViolation('missing_terminal', 'protocol_error', `session ${this.sessionId}: stream closed after ${this.#frames} frame(s) with no terminal frame`);
|
|
102
|
+
}
|
|
103
|
+
return this.#terminalKind;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// ---------------------------------------------------------------------------
|
|
107
|
+
// Invariant 2 — no silent truncation
|
|
108
|
+
// ---------------------------------------------------------------------------
|
|
109
|
+
/**
|
|
110
|
+
* Payload cap for ONE outbound text payload. Deliberately generous: it is a
|
|
111
|
+
* wire-safety bound (a runaway provider/error message must not produce a
|
|
112
|
+
* multi-megabyte frame), not a display policy — so it does not fire on normal
|
|
113
|
+
* traffic and never changes what an existing client sees.
|
|
114
|
+
*/
|
|
115
|
+
export const ACP_PAYLOAD_MAX_CHARS = 64 * 1024;
|
|
116
|
+
/** Clamp to the cap, REPORTING whether it bit (never silently). */
|
|
117
|
+
export function clampMessageText(text, cap = ACP_PAYLOAD_MAX_CHARS) {
|
|
118
|
+
return text.length <= cap ? { text, truncated: false } : { text: text.slice(0, cap), truncated: true };
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Invariant 2 guard for hand-built frames (a factory call cannot fail this):
|
|
122
|
+
* a text payload over the cap without `truncated: true` throws
|
|
123
|
+
* `truncated_payload`.
|
|
124
|
+
*/
|
|
125
|
+
export function assertTruncationDisclosed(update) {
|
|
126
|
+
const text = update?.content?.text;
|
|
127
|
+
if (typeof text !== 'string' || text.length <= ACP_PAYLOAD_MAX_CHARS)
|
|
128
|
+
return;
|
|
129
|
+
if (update.truncated === true)
|
|
130
|
+
return;
|
|
131
|
+
throw new AcpInvariantViolation('truncated_payload', 'truncated_payload', `a ${text.length}-char payload exceeds the ${ACP_PAYLOAD_MAX_CHARS}-char cap without a truncated:true flag`);
|
|
132
|
+
}
|
|
133
|
+
/** One log line for any thrown violation (stable code first, detail after). */
|
|
134
|
+
export function violationSummary(err) {
|
|
135
|
+
if (err instanceof Error)
|
|
136
|
+
return err.message;
|
|
137
|
+
return String(err);
|
|
138
|
+
}
|
|
139
|
+
/** Build the guarded stream for one turn (`log` receives `[zelari-code acp] …`). */
|
|
140
|
+
export function createTurnStream(sessionId, log) {
|
|
141
|
+
const tracker = new TurnStreamTracker(sessionId);
|
|
142
|
+
const report = (err) => {
|
|
143
|
+
try {
|
|
144
|
+
log(`[zelari-code acp] dropped frame — ${violationSummary(err)}`);
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
/* diagnostics must never throw into the transport */
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
return {
|
|
151
|
+
tracker,
|
|
152
|
+
push(frame) {
|
|
153
|
+
try {
|
|
154
|
+
assertTruncationDisclosed(frame);
|
|
155
|
+
tracker.push(frame);
|
|
156
|
+
return true;
|
|
157
|
+
}
|
|
158
|
+
catch (err) {
|
|
159
|
+
report(err);
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
terminate(kind) {
|
|
164
|
+
try {
|
|
165
|
+
tracker.terminate(kind);
|
|
166
|
+
return true;
|
|
167
|
+
}
|
|
168
|
+
catch (err) {
|
|
169
|
+
report(err);
|
|
170
|
+
return false;
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
close() {
|
|
174
|
+
try {
|
|
175
|
+
tracker.assertTerminated();
|
|
176
|
+
}
|
|
177
|
+
catch (err) {
|
|
178
|
+
report(err);
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=invariants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invariants.js","sourceRoot":"","sources":["../../../src/cli/acp/invariants.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/acp/protocol.js
CHANGED
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
* (dispatchHeadlessTurn exposes no abort seam). Bounded by the CLI's own
|
|
51
51
|
* turn/tool budgets.
|
|
52
52
|
*/
|
|
53
|
+
import { ACP_ERROR_CODES, clampMessageText } from './invariants.js';
|
|
53
54
|
/** ACP protocol version this agent implements (echoed back on initialize). */
|
|
54
55
|
export const ACP_PROTOCOL_VERSION = 1;
|
|
55
56
|
/** JSON-RPC 2.0 error codes used by this server. */
|
|
@@ -60,12 +61,34 @@ export const JSON_RPC_ERRORS = {
|
|
|
60
61
|
INVALID_PARAMS: -32602,
|
|
61
62
|
INTERNAL_ERROR: -32603,
|
|
62
63
|
};
|
|
63
|
-
/**
|
|
64
|
+
/**
|
|
65
|
+
* STABLE STRING error codes — re-exported from invariants.ts, which owns the
|
|
66
|
+
* single definition (invariant 3). `JSON_RPC_ERRORS` stays the numeric
|
|
67
|
+
* envelope the spec requires; the string code travels next to it in
|
|
68
|
+
* `error.data.code`, so a client never parses a message and never sees a
|
|
69
|
+
* number where a code belongs.
|
|
70
|
+
*/
|
|
71
|
+
export { ACP_ERROR_CODES } from './invariants.js';
|
|
72
|
+
const JSON_RPC_TO_ERROR_CODE = {
|
|
73
|
+
[JSON_RPC_ERRORS.PARSE_ERROR]: ACP_ERROR_CODES.PARSE_ERROR,
|
|
74
|
+
[JSON_RPC_ERRORS.INVALID_REQUEST]: ACP_ERROR_CODES.INVALID_REQUEST,
|
|
75
|
+
[JSON_RPC_ERRORS.METHOD_NOT_FOUND]: ACP_ERROR_CODES.METHOD_NOT_FOUND,
|
|
76
|
+
[JSON_RPC_ERRORS.INVALID_PARAMS]: ACP_ERROR_CODES.INVALID_PARAMS,
|
|
77
|
+
[JSON_RPC_ERRORS.INTERNAL_ERROR]: ACP_ERROR_CODES.INTERNAL_ERROR,
|
|
78
|
+
};
|
|
79
|
+
/** Numeric JSON-RPC code -> its stable string code (default: internal). */
|
|
80
|
+
export function errorCodeForJsonRpc(code) {
|
|
81
|
+
return JSON_RPC_TO_ERROR_CODE[code] ?? ACP_ERROR_CODES.INTERNAL_ERROR;
|
|
82
|
+
}
|
|
83
|
+
/** Typed JSON-RPC error, mapped 1:1 onto the wire by the server loop. Both
|
|
84
|
+
* codes travel: the numeric one for the spec, `errorCode` for machines. */
|
|
64
85
|
export class AcpError extends Error {
|
|
65
86
|
code;
|
|
66
|
-
|
|
87
|
+
errorCode;
|
|
88
|
+
constructor(code, message, errorCode = errorCodeForJsonRpc(code)) {
|
|
67
89
|
super(message);
|
|
68
90
|
this.code = code;
|
|
91
|
+
this.errorCode = errorCode;
|
|
69
92
|
this.name = 'AcpError';
|
|
70
93
|
}
|
|
71
94
|
}
|
|
@@ -170,8 +193,18 @@ export function readSessionIdParams(params, method) {
|
|
|
170
193
|
}
|
|
171
194
|
return { sessionId };
|
|
172
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* One assistant text chunk. The ONLY cap on the outbound payload path lives
|
|
198
|
+
* here (invariants.ts `clampMessageText`), so no emit site can truncate
|
|
199
|
+
* silently: when the text does not fit, the frame says so (`truncated: true`).
|
|
200
|
+
*/
|
|
173
201
|
export function agentMessageChunk(text) {
|
|
174
|
-
|
|
202
|
+
const { text: body, truncated } = clampMessageText(text);
|
|
203
|
+
return {
|
|
204
|
+
sessionUpdate: 'agent_message_chunk',
|
|
205
|
+
content: { type: 'text', text: body },
|
|
206
|
+
...(truncated ? { truncated: true } : {}),
|
|
207
|
+
};
|
|
175
208
|
}
|
|
176
209
|
export function toolCallStart(input) {
|
|
177
210
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/cli/acp/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/cli/acp/protocol.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/acp/server.js
CHANGED
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
*/
|
|
20
20
|
import { randomUUID } from 'node:crypto';
|
|
21
21
|
import { attachFrameReader, createFrameWriter } from './framing.js';
|
|
22
|
-
import { AcpError, JSON_RPC_ERRORS, parseJsonRpcMessage, readInitializeParams, readPromptParams, readSessionIdParams, readSessionNewParams, sessionUpdateNotification, } from './protocol.js';
|
|
22
|
+
import { ACP_ERROR_CODES, AcpError, JSON_RPC_ERRORS, parseJsonRpcMessage, readInitializeParams, readPromptParams, readSessionIdParams, readSessionNewParams, sessionUpdateNotification, } from './protocol.js';
|
|
23
|
+
import { createTurnStream } from './invariants.js';
|
|
23
24
|
/** Agent capabilities advertised on `initialize` (no reverse requests). */
|
|
24
25
|
export const ACP_AGENT_CAPABILITIES = {
|
|
25
26
|
loadSession: false,
|
|
@@ -28,12 +29,22 @@ export const ACP_AGENT_CAPABILITIES = {
|
|
|
28
29
|
function resultResponse(id, result) {
|
|
29
30
|
return { jsonrpc: '2.0', id, result };
|
|
30
31
|
}
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Invariant 3 at the emit site: every error frame carries the numeric code the
|
|
34
|
+
* spec requires AND the stable string code from ACP_ERROR_CODES (in
|
|
35
|
+
* `error.data.code`), so a client never parses a message to branch on a
|
|
36
|
+
* failure. The two are built from the same error object (`errorCodeOf` below).
|
|
37
|
+
*/
|
|
38
|
+
function errorResponse(id, code, message, errorCode) {
|
|
39
|
+
return { jsonrpc: '2.0', id, error: { code, message, data: { code: errorCode } } };
|
|
33
40
|
}
|
|
34
41
|
function errorCodeOf(err) {
|
|
35
42
|
return err instanceof AcpError ? err.code : JSON_RPC_ERRORS.INTERNAL_ERROR;
|
|
36
43
|
}
|
|
44
|
+
/** Stable string code for the same error (invariant 3; never a message). */
|
|
45
|
+
function stringErrorCodeOf(err) {
|
|
46
|
+
return err instanceof AcpError ? err.errorCode : ACP_ERROR_CODES.INTERNAL_ERROR;
|
|
47
|
+
}
|
|
37
48
|
function errorMessageOf(err) {
|
|
38
49
|
return err instanceof Error ? err.message : String(err);
|
|
39
50
|
}
|
|
@@ -86,7 +97,7 @@ export function startAcpServer(deps) {
|
|
|
86
97
|
async function handleMessage(raw) {
|
|
87
98
|
const parsed = parseJsonRpcMessage(raw);
|
|
88
99
|
if (parsed.kind === 'invalid') {
|
|
89
|
-
writer.write(errorResponse(parsed.id, JSON_RPC_ERRORS.INVALID_REQUEST, parsed.reason));
|
|
100
|
+
writer.write(errorResponse(parsed.id, JSON_RPC_ERRORS.INVALID_REQUEST, parsed.reason, ACP_ERROR_CODES.INVALID_REQUEST));
|
|
90
101
|
return;
|
|
91
102
|
}
|
|
92
103
|
if (parsed.kind === 'notification') {
|
|
@@ -99,7 +110,7 @@ export function startAcpServer(deps) {
|
|
|
99
110
|
outcome = handleRequest(method, params);
|
|
100
111
|
}
|
|
101
112
|
catch (err) {
|
|
102
|
-
writer.write(errorResponse(id, errorCodeOf(err), errorMessageOf(err)));
|
|
113
|
+
writer.write(errorResponse(id, errorCodeOf(err), errorMessageOf(err), stringErrorCodeOf(err)));
|
|
103
114
|
return;
|
|
104
115
|
}
|
|
105
116
|
if (outcome.kind === 'result') {
|
|
@@ -108,7 +119,7 @@ export function startAcpServer(deps) {
|
|
|
108
119
|
}
|
|
109
120
|
// Pending (a turn is running): the loop keeps reading stdin while the
|
|
110
121
|
// response is written when the dispatcher settles.
|
|
111
|
-
outcome.promise.then((value) => writer.write(resultResponse(id, value)), (err) => writer.write(errorResponse(id, errorCodeOf(err), errorMessageOf(err))));
|
|
122
|
+
outcome.promise.then((value) => writer.write(resultResponse(id, value)), (err) => writer.write(errorResponse(id, errorCodeOf(err), errorMessageOf(err), stringErrorCodeOf(err))));
|
|
112
123
|
}
|
|
113
124
|
/** Inbound notifications are never answered (JSON-RPC 2.0). */
|
|
114
125
|
function handleNotification(method, params) {
|
|
@@ -177,10 +188,14 @@ export function startAcpServer(deps) {
|
|
|
177
188
|
}
|
|
178
189
|
}
|
|
179
190
|
function startPrompt(session, text) {
|
|
191
|
+
// One stream per turn (invariants.ts): every frame and the single terminal
|
|
192
|
+
// frame go through it, so a late or over-cap frame is dropped loudly.
|
|
193
|
+
const stream = createTurnStream(session.id, log);
|
|
180
194
|
const record = {
|
|
181
195
|
cancelled: false,
|
|
182
196
|
settled: false,
|
|
183
197
|
abort: new AbortController(),
|
|
198
|
+
stream,
|
|
184
199
|
settle: () => { },
|
|
185
200
|
};
|
|
186
201
|
const promise = new Promise((resolve) => {
|
|
@@ -188,6 +203,10 @@ export function startAcpServer(deps) {
|
|
|
188
203
|
if (record.settled)
|
|
189
204
|
return;
|
|
190
205
|
record.settled = true;
|
|
206
|
+
// INVARIANT 1: the `session/prompt` response IS this turn's terminal
|
|
207
|
+
// frame — recorded here, once, on every path that ends the turn
|
|
208
|
+
// (dispatcher result, dispatcher rejection, cancel, EOF shutdown).
|
|
209
|
+
stream.terminate(result.stopReason);
|
|
191
210
|
resolve(result);
|
|
192
211
|
};
|
|
193
212
|
});
|
|
@@ -196,23 +215,40 @@ export function startAcpServer(deps) {
|
|
|
196
215
|
// A cancelled turn stops streaming: the client was already told so.
|
|
197
216
|
if (record.cancelled)
|
|
198
217
|
return;
|
|
218
|
+
// INVARIANTS 1+2: nothing is emitted after the terminal frame, and a
|
|
219
|
+
// payload that was clamped without saying so never reaches the wire.
|
|
220
|
+
if (!stream.push(update))
|
|
221
|
+
return;
|
|
199
222
|
writer.write(sessionUpdateNotification(session.id, update));
|
|
200
223
|
};
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
224
|
+
// A dispatcher that throws SYNCHRONOUSLY must still terminate this turn:
|
|
225
|
+
// otherwise `session.inflight` would stay set forever (the session could
|
|
226
|
+
// never be prompted again) with no terminal frame on the wire.
|
|
227
|
+
let running;
|
|
228
|
+
try {
|
|
229
|
+
running = deps.dispatcher({
|
|
230
|
+
sessionId: session.id,
|
|
231
|
+
cwd: session.cwd,
|
|
232
|
+
prompt: text,
|
|
233
|
+
onUpdate,
|
|
234
|
+
signal: record.abort.signal,
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
catch (err) {
|
|
238
|
+
running = Promise.reject(err);
|
|
239
|
+
}
|
|
240
|
+
void running
|
|
209
241
|
.then((result) => record.settle({ stopReason: record.cancelled ? 'cancelled' : result.stopReason }), (err) => {
|
|
210
|
-
log(`[zelari-code acp]
|
|
242
|
+
log(`[zelari-code acp] ${ACP_ERROR_CODES.TURN_FAILED}: ${errorMessageOf(err)}`);
|
|
211
243
|
record.settle({ stopReason: record.cancelled ? 'cancelled' : 'refusal' });
|
|
212
244
|
})
|
|
213
245
|
.finally(() => {
|
|
214
246
|
if (session.inflight === record)
|
|
215
247
|
session.inflight = undefined;
|
|
248
|
+
// The turn is over: exactly one terminal frame must have been
|
|
249
|
+
// recorded (unreachable today — `settle` above always terminates —
|
|
250
|
+
// this is the guard that keeps it unreachable).
|
|
251
|
+
stream.close();
|
|
216
252
|
});
|
|
217
253
|
return promise;
|
|
218
254
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/cli/acp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAkB,MAAM,cAAc,CAAC;AACpF,OAAO,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/cli/acp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { drainLines, mapCapturedLine, } from './eventMap.js';
|
|
2
2
|
import { agentMessageChunk } from './protocol.js';
|
|
3
|
+
import { ACP_ERROR_CODES } from './invariants.js';
|
|
3
4
|
/** Swap `process.stdout.write` for the duration of a turn. Returns restore. */
|
|
4
5
|
export function captureStdout(onChunk) {
|
|
5
6
|
const original = process.stdout.write;
|
|
@@ -109,7 +110,7 @@ export function createHeadlessTurnDispatcher(deps = {}) {
|
|
|
109
110
|
exitCode = await runTurn(opts, provider, model, stream);
|
|
110
111
|
}
|
|
111
112
|
catch (err) {
|
|
112
|
-
request.onUpdate(agentMessageChunk(`\n[zelari-code acp]
|
|
113
|
+
request.onUpdate(agentMessageChunk(`\n[zelari-code acp] ${ACP_ERROR_CODES.TURN_FAILED}: ${err instanceof Error ? err.message : String(err)}\n`));
|
|
113
114
|
exitCode = 2;
|
|
114
115
|
}
|
|
115
116
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turnAdapter.js","sourceRoot":"","sources":["../../../src/cli/acp/turnAdapter.ts"],"names":[],"mappings":"AA8BA,OAAO,EACL,UAAU,EACV,eAAe,GAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAuC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"turnAdapter.js","sourceRoot":"","sources":["../../../src/cli/acp/turnAdapter.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/app.js
CHANGED
|
@@ -21,7 +21,7 @@ import { formatKrakenLiveSummary } from './tools/krakenLive.js';
|
|
|
21
21
|
import { getVerifyChip, permissionsChip } from './kraken/verifyStatus.js';
|
|
22
22
|
// v2.33 (slice 5): the jail honesty chip is resolved ONCE per env/platform
|
|
23
23
|
// (components/statusChips) — the TUI no longer probes the backend on a paint.
|
|
24
|
-
import { cachedJailStatusChip } from './components/statusChips.js';
|
|
24
|
+
import { cachedJailStatusChip, cachedVerdictStatusChip } from './components/statusChips.js';
|
|
25
25
|
import { createInputDraftStore } from './components/inputDraft.js';
|
|
26
26
|
import { formatKrakenGraphSummary } from './kraken/graphStatus.js';
|
|
27
27
|
import '@zelari/core/skills/builtin/debugging';
|
|
@@ -46,6 +46,7 @@ import { useSlashDispatch } from './hooks/useSlashDispatch.js';
|
|
|
46
46
|
import { nextMode } from './mode.js';
|
|
47
47
|
import { useBatchedMessages } from './hooks/useBatchedMessages.js';
|
|
48
48
|
import { useTerminalSize } from './hooks/useTerminalSize.js';
|
|
49
|
+
import { appendSystem } from './hooks/messageHelpers.js';
|
|
49
50
|
const MODEL = process.env.OPENAI_MODEL ?? 'grok-4.5';
|
|
50
51
|
const PROVIDER = 'openai-compatible';
|
|
51
52
|
/**
|
|
@@ -131,13 +132,25 @@ export function App() {
|
|
|
131
132
|
// v0.7.9: execution timer — elapsed time of the in-flight turn (shown in
|
|
132
133
|
// the StatusBar as `⏱ 12s`, then frozen as `last 34s` when the run ends).
|
|
133
134
|
const timer = useExecutionTimer(busy);
|
|
135
|
+
// v2.51 ctrl+O (mcode steal): toggle verbose tool output. <Static>
|
|
136
|
+
// scrollback is immutable, so the flip affects only tool messages
|
|
137
|
+
// finalized AFTER it — the appendSystem ack makes the change visible.
|
|
138
|
+
const [verboseTools, setVerboseTools] = useState(false);
|
|
134
139
|
// shift+tab → cycle agent → council → zelari. ink-text-input ignores tab
|
|
135
140
|
// keys, so this never fights the InputBar. Guarded: useInput needs raw mode.
|
|
136
141
|
const { isRawModeSupported } = useStdin();
|
|
137
|
-
useInput((
|
|
142
|
+
useInput((input, key) => {
|
|
138
143
|
if (key.tab && key.shift) {
|
|
139
144
|
setMode(nextMode);
|
|
140
145
|
}
|
|
146
|
+
// ctrl+O → verbose tool output toggle (see comment above).
|
|
147
|
+
if (key.ctrl && input === 'o') {
|
|
148
|
+
const next = !verboseTools;
|
|
149
|
+
setVerboseTools(next);
|
|
150
|
+
appendSystem(session.setMessages, next
|
|
151
|
+
? '⤢ verbose tool output ON — new tool results print untruncated (ctrl+O to toggle)'
|
|
152
|
+
: '⤢ verbose tool output OFF — new tool results print truncated (ctrl+O to toggle)');
|
|
153
|
+
}
|
|
141
154
|
}, { isActive: isRawModeSupported === true });
|
|
142
155
|
// v0.7.10: startup model discovery — refresh the /v1/models cache in the
|
|
143
156
|
// background when it's missing or older than 6h, so the /model picker and
|
|
@@ -280,12 +293,12 @@ export function App() {
|
|
|
280
293
|
? [banner, ...session.messages]
|
|
281
294
|
: [];
|
|
282
295
|
return (React.createElement(React.Fragment, null,
|
|
283
|
-
React.createElement(Static, { key: staticKey, items: staticItems }, (item) => item.id === 'banner-once' ? (React.createElement(StartupBanner, { key: item.id, version: VERSION, providerId: activeProviderSpec.id, model: activeModel, cwd: cwd, columns: size.columns || 80, rows: size.rows || 24 })) : (renderMessage(item))),
|
|
296
|
+
React.createElement(Static, { key: staticKey, items: staticItems }, (item) => item.id === 'banner-once' ? (React.createElement(StartupBanner, { key: item.id, version: VERSION, providerId: activeProviderSpec.id, model: activeModel, cwd: cwd, columns: size.columns || 80, rows: size.rows || 24 })) : (renderMessage(item, false, verboseTools))),
|
|
284
297
|
React.createElement(Box, { flexDirection: "row" },
|
|
285
298
|
React.createElement(Box, { flexDirection: "column", flexGrow: 1, paddingX: 1 },
|
|
286
299
|
React.createElement(LiveRegion, { live: session.live, busy: busy, elapsedMs: timer.elapsedMs, waitingForUser: picker !== null, waitingSinceMs: pickerSince }),
|
|
287
300
|
picker ? (React.createElement(SelectList, { title: picker.title, items: picker.items, onSelect: onPickerSelect, onCancel: onPickerCancel, maxVisible: Math.max(4, Math.min(10, size.rows - 10)) })) : (React.createElement(InputBar, { draft: inputDraft, onSubmit: handleSubmit, disabled: busy })),
|
|
288
|
-
React.createElement(StatusBar, { model: activeModel, provider: activeProviderSpec.id, sessionId: session.sessionId ? session.sessionId.slice(0, 8) : '...', sessionActive: session.sessionActive, queueCount: chatTurn.queueCount, busy: busy, mode: mode, phase: phase, cwd: cwd, elapsedMs: timer.elapsedMs, lastMs: timer.lastMs, costUsd: sessionStats.totalCostUsd, cachedTokens: sessionStats.cachedTokens, cacheHitRate: sessionStats.cacheHitRate || 0, contextUsed: sessionStats.contextTokens || 0, contextLimit: Number(process.env.ZELARI_CONTEXT_LIMIT) || 200_000, todoSummary: formatTodoStatusSummary(), krakenLive: formatKrakenLiveSummary() ?? undefined, krakenGraph: formatKrakenGraphSummary() ?? undefined, verify: getVerifyChip() ?? undefined, permissions: permissionsChip(phase), jail: cachedJailStatusChip() })),
|
|
301
|
+
React.createElement(StatusBar, { model: activeModel, provider: activeProviderSpec.id, sessionId: session.sessionId ? session.sessionId.slice(0, 8) : '...', sessionActive: session.sessionActive, queueCount: chatTurn.queueCount, busy: busy, mode: mode, phase: phase, cwd: cwd, elapsedMs: timer.elapsedMs, lastMs: timer.lastMs, costUsd: sessionStats.totalCostUsd, cachedTokens: sessionStats.cachedTokens, cacheHitRate: sessionStats.cacheHitRate || 0, contextUsed: sessionStats.contextTokens || 0, contextLimit: Number(process.env.ZELARI_CONTEXT_LIMIT) || 200_000, todoSummary: formatTodoStatusSummary(), krakenLive: formatKrakenLiveSummary() ?? undefined, krakenGraph: formatKrakenGraphSummary() ?? undefined, verify: getVerifyChip() ?? undefined, permissions: permissionsChip(phase), jail: cachedJailStatusChip(), verdict: cachedVerdictStatusChip() ?? undefined })),
|
|
289
302
|
sidebarOpen && (React.createElement(Sidebar, { version: VERSION, changes: gitChanges, rows: size.rows })))));
|
|
290
303
|
}
|
|
291
304
|
// Re-export so legacy imports keep working (Task v0.4.2 audit split).
|
package/dist/cli/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/cli/app.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/cli/app.tsx"],"names":[],"mappings":"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"}
|