zelari-code 2.52.0 → 2.54.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 (69) hide show
  1. package/dist/cli/acp/command.js +5 -3
  2. package/dist/cli/acp/command.js.map +1 -1
  3. package/dist/cli/acp/framing.js +151 -19
  4. package/dist/cli/acp/framing.js.map +1 -1
  5. package/dist/cli/acp/invariants.js +183 -0
  6. package/dist/cli/acp/invariants.js.map +1 -0
  7. package/dist/cli/acp/protocol.js +40 -5
  8. package/dist/cli/acp/protocol.js.map +1 -1
  9. package/dist/cli/acp/server.js +57 -17
  10. package/dist/cli/acp/server.js.map +1 -1
  11. package/dist/cli/acp/turnAdapter.js +2 -1
  12. package/dist/cli/acp/turnAdapter.js.map +1 -1
  13. package/dist/cli/app.js +2 -2
  14. package/dist/cli/app.js.map +1 -1
  15. package/dist/cli/budget/cacheHitReport.js +94 -0
  16. package/dist/cli/budget/cacheHitReport.js.map +1 -0
  17. package/dist/cli/budget/messageUsage.js +77 -0
  18. package/dist/cli/budget/messageUsage.js.map +1 -0
  19. package/dist/cli/companion/framePolicy.js +116 -0
  20. package/dist/cli/companion/framePolicy.js.map +1 -0
  21. package/dist/cli/components/SelectList.js +51 -14
  22. package/dist/cli/components/SelectList.js.map +1 -1
  23. package/dist/cli/components/StatusBar.js +6 -2
  24. package/dist/cli/components/StatusBar.js.map +1 -1
  25. package/dist/cli/components/fuzzyMatch.js +108 -0
  26. package/dist/cli/components/fuzzyMatch.js.map +1 -0
  27. package/dist/cli/components/statusChips.js +47 -0
  28. package/dist/cli/components/statusChips.js.map +1 -1
  29. package/dist/cli/headless/protocol.js +39 -2
  30. package/dist/cli/headless/protocol.js.map +1 -1
  31. package/dist/cli/headless/runOneTurn.js +68 -18
  32. package/dist/cli/headless/runOneTurn.js.map +1 -1
  33. package/dist/cli/hooks/useChatTurn.js +76 -16
  34. package/dist/cli/hooks/useChatTurn.js.map +1 -1
  35. package/dist/cli/hooks/useSlashDispatch.js +5 -2
  36. package/dist/cli/hooks/useSlashDispatch.js.map +1 -1
  37. package/dist/cli/inbox.js +220 -0
  38. package/dist/cli/inbox.js.map +1 -0
  39. package/dist/cli/main.bundled.js +3959 -2560
  40. package/dist/cli/main.bundled.js.map +4 -4
  41. package/dist/cli/main.js +22 -0
  42. package/dist/cli/main.js.map +1 -1
  43. package/dist/cli/metrics.js.map +1 -1
  44. package/dist/cli/provider/anthropic.js +42 -6
  45. package/dist/cli/provider/anthropic.js.map +1 -1
  46. package/dist/cli/provider/chatgpt.js +4 -0
  47. package/dist/cli/provider/chatgpt.js.map +1 -1
  48. package/dist/cli/provider/openai-compatible.js +25 -3
  49. package/dist/cli/provider/openai-compatible.js.map +1 -1
  50. package/dist/cli/provider/responsesApi.js +4 -0
  51. package/dist/cli/provider/responsesApi.js.map +1 -1
  52. package/dist/cli/serve/harnessServer.js +7 -0
  53. package/dist/cli/serve/harnessServer.js.map +1 -1
  54. package/dist/cli/sessionManager.js +9 -2
  55. package/dist/cli/sessionManager.js.map +1 -1
  56. package/dist/cli/skillsCheck.js +209 -0
  57. package/dist/cli/skillsCheck.js.map +1 -0
  58. package/dist/cli/slashCommands.js +9 -0
  59. package/dist/cli/slashCommands.js.map +1 -1
  60. package/dist/cli/slashHandlers/provider.js.map +1 -1
  61. package/dist/cli/slashHandlers/sessions.js +131 -0
  62. package/dist/cli/slashHandlers/sessions.js.map +1 -0
  63. package/dist/cli/statusline/statuslineItems.js +22 -3
  64. package/dist/cli/statusline/statuslineItems.js.map +1 -1
  65. package/dist/cli/statusline/verdictFeed.js +245 -0
  66. package/dist/cli/statusline/verdictFeed.js.map +1 -0
  67. package/dist/cli/utils/doctor.js +30 -0
  68. package/dist/cli/utils/doctor.js.map +1 -1
  69. package/package.json +2 -2
@@ -18,8 +18,9 @@
18
18
  * Protocol subset + explicit non-goals: see the header of protocol.ts.
19
19
  */
20
20
  import { randomUUID } from 'node:crypto';
21
- import { attachFrameReader, createFrameWriter } from './framing.js';
22
- import { AcpError, JSON_RPC_ERRORS, parseJsonRpcMessage, readInitializeParams, readPromptParams, readSessionIdParams, readSessionNewParams, sessionUpdateNotification, } from './protocol.js';
21
+ import { attachFrameReader, createFrameWriter, } from './framing.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
- function errorResponse(id, code, message) {
32
- return { jsonrpc: '2.0', id, error: { code, message } };
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
  }
@@ -43,11 +54,15 @@ export function startAcpServer(deps) {
43
54
  const log = deps.log ?? ((line) => process.stderr.write(`${line}\n`));
44
55
  const sessions = new Map();
45
56
  let closed = false;
57
+ // Shared wire format: NDJSON per the ACP stdio spec (what Zed speaks);
58
+ // LSP-style frames are auto-detected on input and mirrored on output.
59
+ const format = { mode: 'ndjson' };
46
60
  // The frame writer binds sink.write NOW (framing.ts): a turn's stdout
47
61
  // capture (turnAdapter.ts) can never swallow a JSON-RPC frame.
48
- const writer = createFrameWriter(deps.output ?? process.stdout, (message) => log(`[zelari-code acp] stdout write failed: ${message}`));
62
+ const writer = createFrameWriter(deps.output ?? process.stdout, (message) => log(`[zelari-code acp] stdout write failed: ${message}`), format);
49
63
  const shutdownWaiters = [];
50
64
  const reader = attachFrameReader(input, {
65
+ format,
51
66
  onMessage: (raw) => {
52
67
  void handleMessage(raw);
53
68
  },
@@ -86,7 +101,7 @@ export function startAcpServer(deps) {
86
101
  async function handleMessage(raw) {
87
102
  const parsed = parseJsonRpcMessage(raw);
88
103
  if (parsed.kind === 'invalid') {
89
- writer.write(errorResponse(parsed.id, JSON_RPC_ERRORS.INVALID_REQUEST, parsed.reason));
104
+ writer.write(errorResponse(parsed.id, JSON_RPC_ERRORS.INVALID_REQUEST, parsed.reason, ACP_ERROR_CODES.INVALID_REQUEST));
90
105
  return;
91
106
  }
92
107
  if (parsed.kind === 'notification') {
@@ -99,7 +114,7 @@ export function startAcpServer(deps) {
99
114
  outcome = handleRequest(method, params);
100
115
  }
101
116
  catch (err) {
102
- writer.write(errorResponse(id, errorCodeOf(err), errorMessageOf(err)));
117
+ writer.write(errorResponse(id, errorCodeOf(err), errorMessageOf(err), stringErrorCodeOf(err)));
103
118
  return;
104
119
  }
105
120
  if (outcome.kind === 'result') {
@@ -108,7 +123,7 @@ export function startAcpServer(deps) {
108
123
  }
109
124
  // Pending (a turn is running): the loop keeps reading stdin while the
110
125
  // 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))));
126
+ outcome.promise.then((value) => writer.write(resultResponse(id, value)), (err) => writer.write(errorResponse(id, errorCodeOf(err), errorMessageOf(err), stringErrorCodeOf(err))));
112
127
  }
113
128
  /** Inbound notifications are never answered (JSON-RPC 2.0). */
114
129
  function handleNotification(method, params) {
@@ -177,10 +192,14 @@ export function startAcpServer(deps) {
177
192
  }
178
193
  }
179
194
  function startPrompt(session, text) {
195
+ // One stream per turn (invariants.ts): every frame and the single terminal
196
+ // frame go through it, so a late or over-cap frame is dropped loudly.
197
+ const stream = createTurnStream(session.id, log);
180
198
  const record = {
181
199
  cancelled: false,
182
200
  settled: false,
183
201
  abort: new AbortController(),
202
+ stream,
184
203
  settle: () => { },
185
204
  };
186
205
  const promise = new Promise((resolve) => {
@@ -188,6 +207,10 @@ export function startAcpServer(deps) {
188
207
  if (record.settled)
189
208
  return;
190
209
  record.settled = true;
210
+ // INVARIANT 1: the `session/prompt` response IS this turn's terminal
211
+ // frame — recorded here, once, on every path that ends the turn
212
+ // (dispatcher result, dispatcher rejection, cancel, EOF shutdown).
213
+ stream.terminate(result.stopReason);
191
214
  resolve(result);
192
215
  };
193
216
  });
@@ -196,23 +219,40 @@ export function startAcpServer(deps) {
196
219
  // A cancelled turn stops streaming: the client was already told so.
197
220
  if (record.cancelled)
198
221
  return;
222
+ // INVARIANTS 1+2: nothing is emitted after the terminal frame, and a
223
+ // payload that was clamped without saying so never reaches the wire.
224
+ if (!stream.push(update))
225
+ return;
199
226
  writer.write(sessionUpdateNotification(session.id, update));
200
227
  };
201
- void deps
202
- .dispatcher({
203
- sessionId: session.id,
204
- cwd: session.cwd,
205
- prompt: text,
206
- onUpdate,
207
- signal: record.abort.signal,
208
- })
228
+ // A dispatcher that throws SYNCHRONOUSLY must still terminate this turn:
229
+ // otherwise `session.inflight` would stay set forever (the session could
230
+ // never be prompted again) with no terminal frame on the wire.
231
+ let running;
232
+ try {
233
+ running = deps.dispatcher({
234
+ sessionId: session.id,
235
+ cwd: session.cwd,
236
+ prompt: text,
237
+ onUpdate,
238
+ signal: record.abort.signal,
239
+ });
240
+ }
241
+ catch (err) {
242
+ running = Promise.reject(err);
243
+ }
244
+ void running
209
245
  .then((result) => record.settle({ stopReason: record.cancelled ? 'cancelled' : result.stopReason }), (err) => {
210
- log(`[zelari-code acp] turn failed: ${errorMessageOf(err)}`);
246
+ log(`[zelari-code acp] ${ACP_ERROR_CODES.TURN_FAILED}: ${errorMessageOf(err)}`);
211
247
  record.settle({ stopReason: record.cancelled ? 'cancelled' : 'refusal' });
212
248
  })
213
249
  .finally(() => {
214
250
  if (session.inflight === record)
215
251
  session.inflight = undefined;
252
+ // The turn is over: exactly one terminal frame must have been
253
+ // recorded (unreachable today — `settle` above always terminates —
254
+ // this is the guard that keeps it unreachable).
255
+ stream.close();
216
256
  });
217
257
  return promise;
218
258
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/cli/acp/server.ts"],"names":[],"mappings":"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"}
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] turn failed: ${err instanceof Error ? err.message : String(err)}\n`));
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":"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"}
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';
@@ -298,7 +298,7 @@ export function App() {
298
298
  React.createElement(Box, { flexDirection: "column", flexGrow: 1, paddingX: 1 },
299
299
  React.createElement(LiveRegion, { live: session.live, busy: busy, elapsedMs: timer.elapsedMs, waitingForUser: picker !== null, waitingSinceMs: pickerSince }),
300
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 })),
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() })),
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 })),
302
302
  sidebarOpen && (React.createElement(Sidebar, { version: VERSION, changes: gitChanges, rows: size.rows })))));
303
303
  }
304
304
  // Re-export so legacy imports keep working (Task v0.4.2 audit split).
@@ -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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"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * cacheHitReport — offline prompt-cache aggregation over `metrics.jsonl` (M1.2).
3
+ *
4
+ * Cache-hit-rate plan (`.zelari/docs/2026-09-18-cache-hit-rate-piano-implementazione.md`):
5
+ * folds the provider-verified `kind: 'message'` rows written by
6
+ * `recordMessageUsage` into the number the plan is measured against —
7
+ *
8
+ * hit% = cachedPromptTokens / promptTokens (overall + per provider/model)
9
+ *
10
+ * Pure functions (no fs, no clock) so the aggregation is unit-testable;
11
+ * `utils/doctor.ts` reads the shared metrics file and wires them in — same
12
+ * shape as `utils/contextGrowthSummary.ts`, which does this for `kind: 'run'`.
13
+ */
14
+ /** A row is usable only when we know how many prompt tokens were billed. */
15
+ function billable(record) {
16
+ return typeof record.promptTokens === 'number' && record.promptTokens > 0;
17
+ }
18
+ function num(value) {
19
+ return typeof value === 'number' && Number.isFinite(value) && value > 0 ? value : 0;
20
+ }
21
+ /**
22
+ * Fold the last `window` usable `kind: 'message'` rows into a summary.
23
+ *
24
+ * Returns `null` when NO row carries a prompt-token count — i.e. no session
25
+ * has produced the M1.1 telemetry yet (fresh install, or every session
26
+ * predates it). Callers must surface that as "no data", never as 0%: a fake
27
+ * zero would read as "the cache is useless" instead of "not measured".
28
+ */
29
+ export function summarizeCacheHits(records, window = 500) {
30
+ const usable = records.filter(billable);
31
+ if (usable.length === 0)
32
+ return null;
33
+ const tail = usable.slice(-window);
34
+ const rows = new Map();
35
+ let promptTokens = 0;
36
+ let cachedPromptTokens = 0;
37
+ for (const record of tail) {
38
+ const provider = record.provider ?? 'unknown';
39
+ const model = record.model ?? 'unknown';
40
+ const prompt = num(record.promptTokens);
41
+ // Clamp: cached is a subset of prompt, so a bad row can't push hit% > 100.
42
+ const cached = Math.min(num(record.cachedPromptTokens), prompt);
43
+ promptTokens += prompt;
44
+ cachedPromptTokens += cached;
45
+ const key = `${provider}::${model}`;
46
+ const row = rows.get(key) ?? {
47
+ provider,
48
+ model,
49
+ messages: 0,
50
+ promptTokens: 0,
51
+ cachedPromptTokens: 0,
52
+ hitRate: 0,
53
+ };
54
+ row.messages += 1;
55
+ row.promptTokens += prompt;
56
+ row.cachedPromptTokens += cached;
57
+ row.hitRate = row.promptTokens > 0 ? row.cachedPromptTokens / row.promptTokens : 0;
58
+ rows.set(key, row);
59
+ }
60
+ return {
61
+ messages: tail.length,
62
+ promptTokens,
63
+ cachedPromptTokens,
64
+ hitRate: promptTokens > 0 ? cachedPromptTokens / promptTokens : 0,
65
+ byModel: [...rows.values()].sort((a, b) => b.promptTokens - a.promptTokens),
66
+ };
67
+ }
68
+ function fmtTokens(n) {
69
+ return n.toLocaleString('en-US');
70
+ }
71
+ function fmtRate(rate) {
72
+ return `${(rate * 100).toFixed(1)}%`;
73
+ }
74
+ /**
75
+ * Human-readable doctor lines: one summary line + a top-models line.
76
+ * The plan's target (`hit% >= 60%` from turn 2 on DeepSeek) is a
77
+ * post-M2 expectation, so it is stated as context, not as a gate.
78
+ */
79
+ export function formatCacheHitSummary(summary, top = 3) {
80
+ const lines = [
81
+ `messages ${summary.messages} · prompt ${fmtTokens(summary.promptTokens)} tokens · ` +
82
+ `cached ${fmtTokens(summary.cachedPromptTokens)} · hit ${fmtRate(summary.hitRate)}`,
83
+ ];
84
+ const rows = summary.byModel.slice(0, top);
85
+ if (rows.length > 0) {
86
+ lines.push('top models: ' +
87
+ rows
88
+ .map((r) => `${r.provider}/${r.model} ${fmtRate(r.hitRate)} ` +
89
+ `(${r.messages} msg · ${fmtTokens(r.promptTokens)} prompt)`)
90
+ .join(' · '));
91
+ }
92
+ return lines;
93
+ }
94
+ //# sourceMappingURL=cacheHitReport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cacheHitReport.js","sourceRoot":"","sources":["../../../src/cli/budget/cacheHitReport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * messageUsage — provider-verified usage on the process metrics log (M1.1).
3
+ *
4
+ * Cache-hit-rate plan (`.zelari/docs/2026-09-18-cache-hit-rate-piano-implementazione.md`):
5
+ * every LLM call appends ONE `kind: 'message'` row carrying the numbers the
6
+ * provider actually returned — never the ~4-char/token approximation:
7
+ *
8
+ * { kind: 'message', ts, sessionId, provider, model,
9
+ * promptTokens, completionTokens, cachedPromptTokens, costUsd }
10
+ *
11
+ * Why a dedicated record instead of enriching `kind: 'run'`: a run folds a
12
+ * whole turn (every tool-loop iteration) into a single row, so the per-call
13
+ * cache trajectory inside a turn — the thing the plan optimizes — is
14
+ * unrecoverable. Usage inside `assistant.message` on the session spine stays
15
+ * backlog (M4, needs an ADR-0021 contract check).
16
+ *
17
+ * The row rides the shared `MetricsLogger` singleton: same file
18
+ * (`~/.zelari-code/metrics.jsonl`, override `ANATHEMA_METRICS_FILE`), same
19
+ * rotation, same fire-and-forget queue. Short-lived processes (headless runs)
20
+ * must await {@link flushMessageUsage} before returning so the last row lands.
21
+ *
22
+ * Best-effort by contract: telemetry never breaks a turn.
23
+ */
24
+ import { getMetricsLogger } from '../metrics.js';
25
+ import { calculateCost } from '../modelPricing.js';
26
+ /** Coerce a provider counter (possibly absent/NaN/negative) to a safe >= 0 int. */
27
+ function counter(value) {
28
+ return typeof value === 'number' && Number.isFinite(value) && value > 0
29
+ ? Math.round(value)
30
+ : 0;
31
+ }
32
+ /**
33
+ * Persist one `kind: 'message'` row computed from provider-reported usage.
34
+ *
35
+ * `cachedPromptTokens` is a SUBSET of `promptTokens` by definition: we clamp
36
+ * it so a chatty gateway can never produce a hit rate above 100%.
37
+ */
38
+ export function recordMessageUsage(input) {
39
+ try {
40
+ const promptTokens = counter(input.promptTokens);
41
+ const completionTokens = counter(input.completionTokens);
42
+ const cachedPromptTokens = Math.min(counter(input.cachedPromptTokens), promptTokens);
43
+ const model = input.model ?? '';
44
+ const record = {
45
+ kind: 'message',
46
+ ts: input.ts ?? Date.now(),
47
+ ...(input.sessionId ? { sessionId: input.sessionId } : {}),
48
+ ...(input.provider ? { provider: input.provider } : {}),
49
+ ...(model ? { model } : {}),
50
+ promptTokens,
51
+ completionTokens,
52
+ cachedPromptTokens,
53
+ costUsd: calculateCost(model, promptTokens, completionTokens, cachedPromptTokens),
54
+ };
55
+ // Bound to a typed local (not an inline literal) on purpose: the persisted
56
+ // row stays pinned to `MessageUsageRecord` — the subset of `MetricsRecord`
57
+ // (`kind: 'message'`) that `--doctor` aggregates in M1.2.
58
+ getMetricsLogger().record(record);
59
+ }
60
+ catch {
61
+ // Fire-and-forget telemetry — a metrics failure must never fail a turn.
62
+ }
63
+ }
64
+ /**
65
+ * Drain the metrics write queue so the rows emitted by
66
+ * {@link recordMessageUsage} reach disk before this process exits.
67
+ * Never throws: a failed flush degrades to "no data" in `--doctor`.
68
+ */
69
+ export async function flushMessageUsage() {
70
+ try {
71
+ await getMetricsLogger().flush();
72
+ }
73
+ catch {
74
+ // Best-effort: see doc comment above.
75
+ }
76
+ }
77
+ //# sourceMappingURL=messageUsage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageUsage.js","sourceRoot":"","sources":["../../../src/cli/budget/messageUsage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAqCnD,mFAAmF;AACnF,SAAS,OAAO,CAAC,KAAyB;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QACrE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACnB,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAwB;IACzD,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACzD,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,YAAY,CAAC,CAAC;QACrF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,MAAM,GAAuB;YACjC,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE;YAC1B,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,YAAY;YACZ,gBAAgB;YAChB,kBAAkB;YAClB,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,CAAC;SAClF,CAAC;QACF,2EAA2E;QAC3E,2EAA2E;QAC3E,0DAA0D;QAC1D,gBAAgB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;IAC1E,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI,CAAC;QACH,MAAM,gBAAgB,EAAE,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;AACH,CAAC"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * companion/framePolicy — fail-loudly frame-type policy for the serve +
3
+ * companion display pipeline (OpenHarness post-mortem).
4
+ *
5
+ * The failure mode this closes: an emitter starts producing a frame `type`
6
+ * that nobody added to the display allowlist. Nothing crashes — the clients
7
+ * quietly drop the frame (or render it raw), and the feature looks "shipped"
8
+ * while the phone/desktop never sees it. Silent loss is the worst outcome, so
9
+ * the mismatch is made FATAL at serve startup instead: a process that cannot
10
+ * display what it emits must not accept clients.
11
+ *
12
+ * Two lists, deliberately separate:
13
+ *
14
+ * EMITTED_FRAME_TYPES — what the code can actually put on the
15
+ * wire (grounded in the emitters: the
16
+ * harness protocol frames, the permission /
17
+ * ask-user bridges, the companion run
18
+ * manager, and the BrainEvents forwarded
19
+ * verbatim to companion clients).
20
+ * COMPANION_DISPLAY_FRAME_TYPES — the display policy: every frame type the
21
+ * companion surface is allowed to consume.
22
+ *
23
+ * `assertFramePolicyComplete` is the gate. Extending the emitted vocabulary
24
+ * therefore requires a deliberate second edit (the allowlist); forgetting it
25
+ * fails the boot with the exact type names, never a silent drop.
26
+ *
27
+ * Zero runtime deps: the emitters own the writes, this module only mirrors
28
+ * their vocabulary as literals (each group names the file it came from).
29
+ */
30
+ /**
31
+ * Every frame `type` the serve/ and companion/ emitters can produce.
32
+ *
33
+ * Keep this honest: it is the code's claim about its own output. When an
34
+ * emitter gains a new literal, add it here AND to
35
+ * COMPANION_DISPLAY_FRAME_TYPES in the same commit — the startup assert
36
+ * enforces the rest.
37
+ */
38
+ export const EMITTED_FRAME_TYPES = [
39
+ // -- harness stdio protocol (serve/harnessServer.ts + headless/protocol.ts)
40
+ 'protocol_info',
41
+ 'control_accepted',
42
+ 'control_applied',
43
+ 'control_rejected',
44
+ // -- interactive bridges (serve/permissionBridge.ts, serve/askUserBridge.ts):
45
+ // the `type` written on the wire for each request/settlement pair.
46
+ 'permission.request',
47
+ 'permission.settled',
48
+ 'ask_user.request',
49
+ 'ask_user.settled',
50
+ // -- companion run wrapper (companion/runManager.ts + companion/serve.ts)
51
+ 'trust.pending',
52
+ 'trust.settled',
53
+ 'log',
54
+ 'error',
55
+ 'run_finished',
56
+ // -- BrainEvents forwarded verbatim to companion clients (runManager.ts
57
+ // re-emits whatever the harness transport hands it; the companion SSE
58
+ // pipes those frames straight to the phone/desktop).
59
+ 'agent_start',
60
+ 'agent_end',
61
+ 'agent_spawned',
62
+ 'agent_status',
63
+ 'agent_tool',
64
+ 'agent_ended',
65
+ 'message_start',
66
+ 'message_delta',
67
+ 'message_end',
68
+ 'thinking_delta',
69
+ 'tool_execution_start',
70
+ 'tool_execution_update',
71
+ 'tool_execution_end',
72
+ 'queue_update',
73
+ 'session_compacted',
74
+ 'member_cost',
75
+ 'council_mode',
76
+ 'task_update',
77
+ 'task_snapshot',
78
+ 'kraken_progress',
79
+ 'kraken_metrics',
80
+ 'context_metrics',
81
+ ];
82
+ /**
83
+ * Display policy: the frame types companion clients render. Today it mirrors
84
+ * the emitted vocabulary one-for-one (that is why the boot gate passes); it is
85
+ * a SEPARATE list on purpose so that adding an emitted frame stays a conscious
86
+ * policy decision, and so that dropping a policy entry fails the boot too
87
+ * instead of silently blinding the display.
88
+ */
89
+ export const COMPANION_DISPLAY_FRAME_TYPES = [
90
+ ...EMITTED_FRAME_TYPES,
91
+ ];
92
+ /** Same policy as a set (the shape the assert consumes). */
93
+ export const COMPANION_DISPLAY_FRAME_ALLOWLIST = new Set(COMPANION_DISPLAY_FRAME_TYPES);
94
+ /**
95
+ * Throw when any emitted frame type is missing from the display allowlist.
96
+ * The message names EVERY offending type (de-duplicated, sorted) plus the file
97
+ * that owns the policy, so the fix is mechanical.
98
+ */
99
+ export function assertFramePolicyComplete(emittedTypes, allowlist) {
100
+ const missing = [...new Set(emittedTypes)].filter((t) => !allowlist.has(t)).sort();
101
+ if (missing.length === 0)
102
+ return;
103
+ throw new Error(`[frame-policy] ${missing.length} emitted frame type(s) missing from the companion ` +
104
+ `display allowlist: ${missing.join(', ')}. Add them to ` +
105
+ `COMPANION_DISPLAY_FRAME_TYPES in src/cli/companion/framePolicy.ts (or stop ` +
106
+ `emitting them) — a frame outside the allowlist is silently dropped by ` +
107
+ `companion clients (OpenHarness post-mortem).`);
108
+ }
109
+ /**
110
+ * Gate the REAL pair. Called by the serve entry before any client can connect,
111
+ * so drift is fatal at startup rather than invisible at runtime.
112
+ */
113
+ export function assertCompanionFramePolicy() {
114
+ assertFramePolicyComplete(EMITTED_FRAME_TYPES, COMPANION_DISPLAY_FRAME_ALLOWLIST);
115
+ }
116
+ //# sourceMappingURL=framePolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"framePolicy.js","sourceRoot":"","sources":["../../../src/cli/companion/framePolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,4EAA4E;IAC5E,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;IAClB,8EAA8E;IAC9E,sEAAsE;IACtE,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,0EAA0E;IAC1E,eAAe;IACf,eAAe;IACf,KAAK;IACL,OAAO;IACP,cAAc;IACd,wEAAwE;IACxE,yEAAyE;IACzE,wDAAwD;IACxD,aAAa;IACb,WAAW;IACX,eAAe;IACf,cAAc;IACd,YAAY;IACZ,aAAa;IACb,eAAe;IACf,eAAe;IACf,aAAa;IACb,gBAAgB;IAChB,sBAAsB;IACtB,uBAAuB;IACvB,oBAAoB;IACpB,cAAc;IACd,mBAAmB;IACnB,aAAa;IACb,cAAc;IACd,aAAa;IACb,eAAe;IACf,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAsB;IAC9D,GAAG,mBAAmB;CACvB,CAAC;AAEF,4DAA4D;AAC5D,MAAM,CAAC,MAAM,iCAAiC,GAAwB,IAAI,GAAG,CAC3E,6BAA6B,CAC9B,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,YAA+B,EAC/B,SAA8B;IAE9B,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACnF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACjC,MAAM,IAAI,KAAK,CACb,kBAAkB,OAAO,CAAC,MAAM,oDAAoD;QAClF,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB;QACxD,6EAA6E;QAC7E,wEAAwE;QACxE,8CAA8C,CACjD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B;IACxC,yBAAyB,CAAC,mBAAmB,EAAE,iCAAiC,CAAC,CAAC;AACpF,CAAC"}