@synaplink/orqlaude 0.9.1 → 0.9.3

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.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,125 @@
1
+ import { test } from "node:test";
2
+ import assert from "node:assert/strict";
3
+ import { promises as fs } from "node:fs";
4
+ import path from "node:path";
5
+ import os from "node:os";
6
+ import { snapshotSession, clearTailCache } from "../lib/jsonl_tail.js";
7
+ /**
8
+ * v0.9.2 — billed-vs-cached token accounting.
9
+ *
10
+ * Covers:
11
+ * • SessionSnapshot exposes separate billedTokens / cachedTokens / total
12
+ * • billedTokens = input + output (Plan-cost-relevant)
13
+ * • cachedTokens = cache_read + cache_creation (free on the Plan)
14
+ * • totalEffectiveTokens = sum (back-compat)
15
+ * • Plan.budgetMode defaults to "billed" via newPlan
16
+ *
17
+ * The budget-enforcement flow (status() / wait_for_status_change calling
18
+ * enforceBudget with the right bucket) is covered by integration-style
19
+ * runs against a live fleet; the unit tests here pin the snapshot maths.
20
+ */
21
+ async function mkTempDir(prefix) {
22
+ const raw = await fs.mkdtemp(path.join(os.tmpdir(), prefix));
23
+ return await fs.realpath(raw);
24
+ }
25
+ test("v0.9.2: snapshotSession exposes billed and cached buckets separately", async () => {
26
+ clearTailCache();
27
+ const dir = await mkTempDir("orq-v092-buckets-");
28
+ const stdoutPath = path.join(dir, ".orqlaude.stdout.log");
29
+ // One assistant event with usage covering all four bucket fields.
30
+ await fs.writeFile(stdoutPath, JSON.stringify({
31
+ type: "assistant",
32
+ message: {
33
+ content: [{ type: "text", text: "x" }],
34
+ usage: {
35
+ input_tokens: 100,
36
+ output_tokens: 50,
37
+ cache_read_input_tokens: 8000,
38
+ cache_creation_input_tokens: 200,
39
+ },
40
+ },
41
+ timestamp: new Date().toISOString(),
42
+ }) + "\n");
43
+ const fakeSession = "00000000-0000-4000-8000-000000000aaa";
44
+ const snap = await snapshotSession("/tmp/non-existent-cwd-v092", fakeSession, stdoutPath);
45
+ assert.equal(snap.billedTokens, 150, "input + output only");
46
+ assert.equal(snap.cachedTokens, 8200, "cache_read + cache_creation");
47
+ assert.equal(snap.totalEffectiveTokens, 8350, "sum of all four buckets");
48
+ assert.equal(snap.totalEffectiveTokens, snap.billedTokens + snap.cachedTokens, "total = billed + cached");
49
+ });
50
+ test("v0.9.2: billed bucket excludes cache reads (the user is on the Claude Plan)", async () => {
51
+ clearTailCache();
52
+ const dir = await mkTempDir("orq-v092-billed-");
53
+ const stdoutPath = path.join(dir, ".orqlaude.stdout.log");
54
+ // A typical agent turn: small fresh input, small output, huge cache read.
55
+ // This mirrors the pattern we saw in the v0.9.1 live test where Agnets
56
+ // were reading 100k+ from cache per turn.
57
+ await fs.writeFile(stdoutPath, [
58
+ JSON.stringify({
59
+ type: "assistant",
60
+ message: {
61
+ content: [],
62
+ usage: { input_tokens: 200, output_tokens: 100, cache_read_input_tokens: 100000 },
63
+ },
64
+ }),
65
+ JSON.stringify({
66
+ type: "assistant",
67
+ message: {
68
+ content: [],
69
+ usage: { input_tokens: 150, output_tokens: 80, cache_read_input_tokens: 100000 },
70
+ },
71
+ }),
72
+ ].join("\n") + "\n");
73
+ const fakeSession = "00000000-0000-4000-8000-000000000bbb";
74
+ const snap = await snapshotSession("/tmp/non-existent-cwd-v092-b", fakeSession, stdoutPath);
75
+ assert.equal(snap.billedTokens, 530, "200+100 + 150+80 = 530 - what the Plan cares about");
76
+ assert.equal(snap.cachedTokens, 200000, "two turns of 100k cache reads");
77
+ assert.equal(snap.totalEffectiveTokens, 200530);
78
+ // The KEY ratio: cache reads are 376x larger than billed. A budget cap
79
+ // applied to `totalEffectiveTokens` would fire spuriously; applied to
80
+ // `billedTokens` it reflects real Plan usage.
81
+ const inflationRatio = snap.totalEffectiveTokens / snap.billedTokens;
82
+ assert.ok(inflationRatio > 100, `cache inflates the total by ${Math.round(inflationRatio)}x`);
83
+ });
84
+ test("v0.9.2: empty snapshot has zeros for all three rollups", async () => {
85
+ clearTailCache();
86
+ const snap = await snapshotSession("/tmp/non-existent-cwd-v092-empty", "11111111-0000-4000-8000-000000000000");
87
+ assert.equal(snap.billedTokens, 0);
88
+ assert.equal(snap.cachedTokens, 0);
89
+ assert.equal(snap.totalEffectiveTokens, 0);
90
+ });
91
+ test("v0.9.2: Plan.budgetMode defaults to undefined on newPlan; consumers treat undefined as 'billed'", async () => {
92
+ const { newPlan } = await import("../lib/state.js");
93
+ const p = newPlan("test", 100000, [
94
+ { title: "a", prompt: "p", tldr: "t" },
95
+ { title: "b", prompt: "p", tldr: "t" },
96
+ ]);
97
+ // newPlan itself doesn't set budgetMode - create_plan does. Both
98
+ // semantics are valid; consumers must fallback to "billed" on undefined.
99
+ // This pins the contract.
100
+ assert.ok(p.budgetMode === undefined || p.budgetMode === "billed");
101
+ });
102
+ test("v0.9.2: total = billed + cached invariant holds across mixed events", async () => {
103
+ clearTailCache();
104
+ const dir = await mkTempDir("orq-v092-invariant-");
105
+ const stdoutPath = path.join(dir, ".orqlaude.stdout.log");
106
+ // Mix of event shapes: assistant with full usage, assistant with partial,
107
+ // user (no usage), result row.
108
+ await fs.writeFile(stdoutPath, [
109
+ JSON.stringify({
110
+ type: "assistant",
111
+ message: { content: [], usage: { input_tokens: 10, output_tokens: 5, cache_read_input_tokens: 100, cache_creation_input_tokens: 20 } },
112
+ }),
113
+ JSON.stringify({ type: "user", message: { content: "noop" } }),
114
+ JSON.stringify({
115
+ type: "assistant",
116
+ message: { content: [], usage: { input_tokens: 7, output_tokens: 3 } },
117
+ }),
118
+ JSON.stringify({ type: "result", subtype: "completed" }),
119
+ ].join("\n") + "\n");
120
+ const snap = await snapshotSession("/tmp/non-existent-cwd-v092-inv", "22222222-0000-4000-8000-000000000000", stdoutPath);
121
+ assert.equal(snap.billedTokens, 25); // 10+5 + 7+3
122
+ assert.equal(snap.cachedTokens, 120); // 100 + 20
123
+ assert.equal(snap.totalEffectiveTokens, snap.billedTokens + snap.cachedTokens);
124
+ });
125
+ //# sourceMappingURL=v092.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v092.test.js","sourceRoot":"","sources":["../../src/__tests__/v092.test.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,40 @@
1
1
  import { TAGLINES } from "./taglines.js";
2
2
  import { style } from "../lib/style.js";
3
3
  /**
4
- * Bare `orql` easter egg — a never-repeating typewriter cycling through
5
- * 149 tagline variants under the orqlaude diamond logo. Runs until Ctrl-C.
4
+ * Bare `orql` easter egg — typewriter cycling through 149 tagline variants
5
+ * beneath the orqlaude diamond. Runs until Ctrl-C / Ctrl-D.
6
6
  *
7
- * The natural terminal cursor sits at the end of each tagline while it's
8
- * displayed and blinks on its own — no explicit blink animation needed.
7
+ * v0.9.3 rewrite. Two fixes over the v0.6.1 implementation:
8
+ *
9
+ * 1. **Stdin echo no longer bleeds into the line.** Previously the
10
+ * terminal was in cooked mode with echo on, so anything the user
11
+ * typed at the keyboard while the animation ran was printed inline
12
+ * with the tagline — and the `\b \b` erase pass walked back over
13
+ * their characters too, leaving partial garbage when the next
14
+ * tagline started. Now we put stdin in raw mode and silently
15
+ * swallow every byte except Ctrl-C (0x03) and Ctrl-D (0x04).
16
+ *
17
+ * 2. **Full-screen ownership + resize-aware redraw.** Enters the
18
+ * alternate screen buffer (\x1b[?1049h, the same mode vim / less /
19
+ * htop use) so the orqlaude logo claims the entire viewport while
20
+ * running, with nothing else visible. On exit, the original shell
21
+ * contents are restored. We repaint the full frame from top-left on
22
+ * every animation tick AND on `process.stdout` resize events — so
23
+ * the watermark always lives in the top-left corner regardless of
24
+ * window size.
25
+ *
26
+ * If stdout isn't a TTY (piped, CI, redirected), we fall back to a
27
+ * single-line static print and exit immediately. Animation only happens
28
+ * when there's an interactive terminal on the other end.
9
29
  */
10
30
  const ESC = "\x1b[";
11
- const SAVE = `${ESC}s`;
12
- const RESTORE = `${ESC}u`;
13
- const CLEAR_TO_EOL = `${ESC}K`;
14
- const SAND_FG = `${ESC}38;2;185;182;171m`;
15
- const RESET = `${ESC}0m`;
31
+ const ALT_SCREEN_ENTER = `${ESC}?1049h`;
32
+ const ALT_SCREEN_LEAVE = `${ESC}?1049l`;
33
+ const HIDE_CURSOR = `${ESC}?25l`;
34
+ const SHOW_CURSOR = `${ESC}?25h`;
35
+ const CLEAR_SCREEN = `${ESC}2J`;
36
+ const MOVE_TO_HOME = `${ESC}H`;
37
+ const moveTo = (row, col) => `${ESC}${row};${col}H`;
16
38
  const TYPE_MIN_MS = 28;
17
39
  const TYPE_MAX_MS = 90;
18
40
  const HOLD_MIN_MS = 1100;
@@ -21,65 +43,131 @@ const ERASE_MIN_MS = 12;
21
43
  const ERASE_MAX_MS = 30;
22
44
  const BETWEEN_MIN_MS = 280;
23
45
  const BETWEEN_MAX_MS = 600;
46
+ // Layout: 1-based rows/cols (ANSI convention).
47
+ // Row 1: blank padding so the logo doesn't kiss the top edge.
48
+ // Row 2-4: logo + wordmark + tagline.
49
+ // The tagline starts at column 14 (after ` ◆◆◆ ` which is exactly
50
+ // 13 visible chars when the ANSI color codes are stripped: 3 spaces + 3
51
+ // glyphs + 6 spaces + 1 = column 14 for the first tagline char).
52
+ const LOGO_ROW = 2;
53
+ const WORDMARK_ROW = 3;
54
+ const TAGLINE_ROW = 4;
55
+ const TAGLINE_COL = 14;
24
56
  export async function runEasterEgg() {
57
+ // Non-TTY fallback (piped, redirected, CI). No animation, no alt screen.
58
+ if (!process.stdout.isTTY) {
59
+ process.stdout.write(`◆ orqlaude — ${TAGLINES[0]}\n`);
60
+ return 0;
61
+ }
25
62
  return new Promise((resolve) => {
26
63
  let stopped = false;
27
- const onSig = () => {
64
+ let currentText = "";
65
+ const cleanup = () => {
66
+ try {
67
+ if (process.stdin.isTTY && process.stdin.setRawMode) {
68
+ process.stdin.setRawMode(false);
69
+ }
70
+ }
71
+ catch {
72
+ /* harmless on shutdown */
73
+ }
74
+ process.stdin.removeListener("data", onData);
75
+ process.stdin.pause();
76
+ process.stdout.off("resize", onResize);
77
+ process.removeListener("SIGINT", stop);
78
+ process.stdout.write(SHOW_CURSOR + ALT_SCREEN_LEAVE);
79
+ };
80
+ const stop = () => {
81
+ if (stopped)
82
+ return;
28
83
  stopped = true;
29
- // Move cursor below the tagline line and reset, then exit.
30
- process.stdout.write(RESET + "\n\n");
84
+ cleanup();
31
85
  resolve(0);
32
86
  };
33
- process.on("SIGINT", onSig);
34
- // Static logo + wordmark. Last line ends without a newline so the
35
- // cursor sits where taglines should animate.
36
- const logo = [
37
- ` ${style.coral("◆◆◆")}`,
38
- ` ${style.coral("◆ ◆")} ${style.bold(style.coral("orqlaude"))}`,
39
- ` ${style.coral("◆◆◆")} `, // trailing spaces are the "padding" before the tagline
40
- ];
41
- process.stdout.write("\n" + logo.join("\n"));
42
- process.stdout.write(SAVE);
43
- // Animate in a loop. We do this without `await` in the main scope so
44
- // SIGINT can interrupt cleanly via the `stopped` flag check between
45
- // sleeps.
87
+ // Raw-mode keystroke capture. Every byte is swallowed; Ctrl-C / Ctrl-D
88
+ // exit. This is what stops the user's keyboard from echoing into the
89
+ // animation.
90
+ const onData = (chunk) => {
91
+ for (const byte of chunk) {
92
+ if (byte === 0x03 /* Ctrl-C */ || byte === 0x04 /* Ctrl-D */) {
93
+ stop();
94
+ return;
95
+ }
96
+ // All other input is silently discarded.
97
+ }
98
+ };
99
+ // Repaint the full frame from the top-left. Called on every animation
100
+ // tick and on terminal resize. Idempotent.
101
+ const paintFrame = () => {
102
+ const out = [
103
+ MOVE_TO_HOME,
104
+ CLEAR_SCREEN,
105
+ moveTo(LOGO_ROW, 4),
106
+ style.coral("◆◆◆"),
107
+ moveTo(WORDMARK_ROW, 3),
108
+ style.coral("◆ ◆"),
109
+ " ",
110
+ style.bold(style.coral("orqlaude")),
111
+ moveTo(TAGLINE_ROW, 4),
112
+ style.coral("◆◆◆"),
113
+ moveTo(TAGLINE_ROW, TAGLINE_COL),
114
+ style.sand(currentText),
115
+ ];
116
+ process.stdout.write(out.join(""));
117
+ };
118
+ const onResize = () => {
119
+ paintFrame();
120
+ };
121
+ // Initial setup.
122
+ process.stdout.write(ALT_SCREEN_ENTER + HIDE_CURSOR);
123
+ try {
124
+ if (process.stdin.isTTY && process.stdin.setRawMode) {
125
+ process.stdin.setRawMode(true);
126
+ }
127
+ process.stdin.resume();
128
+ process.stdin.on("data", onData);
129
+ }
130
+ catch {
131
+ /* if raw mode isn't available, we'll only react to SIGINT */
132
+ }
133
+ process.on("SIGINT", stop);
134
+ process.stdout.on("resize", onResize);
135
+ paintFrame();
136
+ // Animation loop.
46
137
  (async () => {
47
138
  let lastIdx = -1;
48
139
  while (!stopped) {
49
140
  let idx = Math.floor(Math.random() * TAGLINES.length);
50
- // Never repeat the previous tagline.
51
141
  while (idx === lastIdx) {
52
142
  idx = Math.floor(Math.random() * TAGLINES.length);
53
143
  }
54
144
  lastIdx = idx;
55
145
  const tagline = TAGLINES[idx];
56
- // Reset cursor + clear any leftover from the previous tagline.
57
- process.stdout.write(RESTORE + CLEAR_TO_EOL + SAND_FG);
58
- // Type out character by character. Each char is plain text — the
59
- // SAND_FG above persists until we reset, so a single \b backspace
60
- // erases one visible character.
61
- for (let i = 0; i < tagline.length; i++) {
146
+ // Type out character by character. Repainting the whole frame
147
+ // each tick is overkill, but it's correct under resize and
148
+ // makes the code easier to reason about than tracking partial
149
+ // updates.
150
+ for (let i = 1; i <= tagline.length; i++) {
62
151
  if (stopped)
63
152
  return;
64
- process.stdout.write(tagline[i]);
153
+ currentText = tagline.slice(0, i);
154
+ paintFrame();
65
155
  await sleep(rand(TYPE_MIN_MS, TYPE_MAX_MS));
66
156
  }
67
- // Hold while the natural terminal cursor blinks at the end.
68
157
  await sleep(rand(HOLD_MIN_MS, HOLD_MAX_MS));
69
158
  if (stopped)
70
159
  return;
71
- // Erase backwards for a satisfying "delete" feel.
72
- for (let i = tagline.length; i > 0; i--) {
160
+ for (let i = tagline.length - 1; i >= 0; i--) {
73
161
  if (stopped)
74
162
  return;
75
- process.stdout.write("\b \b");
163
+ currentText = tagline.slice(0, i);
164
+ paintFrame();
76
165
  await sleep(rand(ERASE_MIN_MS, ERASE_MAX_MS));
77
166
  }
78
- process.stdout.write(RESET);
79
167
  await sleep(rand(BETWEEN_MIN_MS, BETWEEN_MAX_MS));
80
168
  }
81
169
  })().catch(() => {
82
- /* swallow — never crash on the easter egg */
170
+ /* never crash the easter egg */
83
171
  });
84
172
  });
85
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"easter_egg.js","sourceRoot":"","sources":["../../src/cli/easter_egg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"easter_egg.js","sourceRoot":"","sources":["../../src/cli/easter_egg.ts"],"names":[],"mappings":"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"}
@@ -50,7 +50,32 @@ export interface SessionSnapshot {
50
50
  outputTokens: number;
51
51
  cacheReadTokens: number;
52
52
  cacheCreationTokens: number;
53
+ /**
54
+ * Sum of all four. Kept for back-compat with v0.8.x callers.
55
+ *
56
+ * For BUDGET ENFORCEMENT prefer `billedTokens` (Plan users) - this
57
+ * total is inflated by cache reads, which are FREE on the Claude Plan
58
+ * but counted 1:1 with output tokens here. A single Agnet turn often
59
+ * cache-reads 50-100k (system prompt + tool defs + protocol footer),
60
+ * and 20 turns can show 1-2M `totalEffectiveTokens` while only ~50k
61
+ * is plan-relevant.
62
+ */
53
63
  totalEffectiveTokens: number;
64
+ /**
65
+ * v0.9.2+: tokens that actually count against the Claude Plan limit
66
+ * (= input_tokens + output_tokens). Cache reads are excluded because
67
+ * they're free on the Plan. Use this for budget caps on Plan-user
68
+ * fleets; use `totalEffectiveTokens` if you're paying per-token via
69
+ * the API (cache reads cost ~10% there).
70
+ */
71
+ billedTokens: number;
72
+ /**
73
+ * v0.9.2+: cache reads + cache creations. Informational; reflects how
74
+ * much context Claude Code is re-loading per turn. High `cachedTokens`
75
+ * with low `billedTokens` is the normal "Agnet reading the codebase
76
+ * repeatedly" pattern and is essentially free.
77
+ */
78
+ cachedTokens: number;
54
79
  lastEventType: string | null;
55
80
  lastActivityAt: number | null;
56
81
  lastAssistantText: string | null;
@@ -21,6 +21,8 @@ function emptySnap(sessionId, jsonlPath) {
21
21
  cacheReadTokens: 0,
22
22
  cacheCreationTokens: 0,
23
23
  totalEffectiveTokens: 0,
24
+ billedTokens: 0,
25
+ cachedTokens: 0,
24
26
  lastEventType: null,
25
27
  lastActivityAt: null,
26
28
  lastAssistantText: null,
@@ -84,10 +86,20 @@ stdoutPath) {
84
86
  // v0.8.0: invalidate on inode change (file was replaced) OR mtime regression
85
87
  // (clock rewind or replace) OR file-shrank (truncate). Catches the same-size
86
88
  // truncation case the v0.2 cache missed.
89
+ //
90
+ // v0.9.3: also invalidate when the cached byteOffset already covers the
91
+ // current size AND mtime has advanced. This catches the "unlink + recreate
92
+ // with same size" case on Linux ext4/tmpfs, where the kernel readily
93
+ // reuses the freed inode number for the immediately-created replacement -
94
+ // so `entry.inode !== stat.ino` doesn't fire. macOS APFS doesn't reuse
95
+ // inodes that aggressively, which is why the v0.8.0 test passed locally
96
+ // on Mac but failed under the Linux CI runner. Append-during-growth is
97
+ // unaffected because byteOffset < stat.size in that case (the size grew).
87
98
  if (entry &&
88
99
  (entry.byteOffset > stat.size ||
89
100
  entry.inode !== stat.ino ||
90
- entry.mtimeMs > stat.mtimeMs)) {
101
+ entry.mtimeMs > stat.mtimeMs ||
102
+ (entry.byteOffset === stat.size && entry.mtimeMs !== stat.mtimeMs))) {
91
103
  cache.delete(streamPath);
92
104
  entry = undefined;
93
105
  }
@@ -151,8 +163,11 @@ function applyEvent(snap, evt) {
151
163
  if (typeof usage.cache_creation_input_tokens === "number")
152
164
  snap.cacheCreationTokens += usage.cache_creation_input_tokens;
153
165
  }
154
- snap.totalEffectiveTokens =
155
- snap.inputTokens + snap.outputTokens + snap.cacheReadTokens + snap.cacheCreationTokens;
166
+ // v0.9.2: maintain three rollups in parallel so callers can pick the
167
+ // metric appropriate to their billing model.
168
+ snap.billedTokens = snap.inputTokens + snap.outputTokens;
169
+ snap.cachedTokens = snap.cacheReadTokens + snap.cacheCreationTokens;
170
+ snap.totalEffectiveTokens = snap.billedTokens + snap.cachedTokens;
156
171
  if (typeof evt.total_cost_usd === "number") {
157
172
  snap.totalCostUsd = evt.total_cost_usd; // running total from result rows
158
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jsonl_tail.js","sourceRoot":"","sources":["../../src/lib/jsonl_tail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonl_tail.js","sourceRoot":"","sources":["../../src/lib/jsonl_tail.ts"],"names":[],"mappings":"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"}
@@ -181,11 +181,30 @@ export interface UserResponseRequest {
181
181
  respondedAt?: number;
182
182
  cancelled?: boolean;
183
183
  }
184
+ /**
185
+ * v0.9.2+: how to interpret `Plan.budgetCapTokens`.
186
+ *
187
+ * - `"billed"` (default): the cap applies to `input + output` tokens only.
188
+ * Cache reads (which are free on the Claude Plan) don't trip the kill.
189
+ * This is the right default for the vast majority of orqlaude users.
190
+ *
191
+ * - `"total"`: the cap applies to `input + output + cache_read + cache_create`.
192
+ * Pick this if you're paying per-token through the Anthropic API where
193
+ * cache reads cost ~10% of fresh input.
194
+ */
195
+ export type BudgetMode = "billed" | "total";
184
196
  export interface Plan {
185
197
  id: string;
186
198
  createdAt: number;
187
199
  rootTask: string;
188
200
  budgetCapTokens: number;
201
+ /**
202
+ * v0.9.2+: which token bucket `budgetCapTokens` constrains. Defaults to
203
+ * `"billed"` so cache reads (free on the Claude Plan) don't inflate the
204
+ * effective spend and trigger spurious overbudget kills. Set to `"total"`
205
+ * for API-cost-sensitive runs.
206
+ */
207
+ budgetMode?: BudgetMode;
189
208
  perAgentCapTokens: number;
190
209
  estimatedTokens?: number;
191
210
  budgetCapUsd?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"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"}
@@ -15,4 +15,4 @@
15
15
  * `npm run release` (or a pre-publish hook) can be wired to keep them in
16
16
  * sync automatically; for now they're updated by hand.
17
17
  */
18
- export declare const VERSION = "0.9.1";
18
+ export declare const VERSION = "0.9.3";
@@ -15,5 +15,5 @@
15
15
  * `npm run release` (or a pre-publish hook) can be wired to keep them in
16
16
  * sync automatically; for now they're updated by hand.
17
17
  */
18
- export const VERSION = "0.9.1";
18
+ export const VERSION = "0.9.3";
19
19
  //# sourceMappingURL=version.js.map
@@ -1,5 +1,5 @@
1
1
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- import { StateStore } from "../lib/state.js";
2
+ import { StateStore, type BudgetMode } from "../lib/state.js";
3
3
  import type { AuditLog } from "../lib/audit.js";
4
4
  /**
5
5
  * Dispatch-phase tools: next_task, register_spawn, status, collect.
@@ -12,3 +12,31 @@ import type { AuditLog } from "../lib/audit.js";
12
12
  * `checkin` on their first turn — register_spawn becomes a fallback.
13
13
  */
14
14
  export declare function registerDispatch(server: McpServer, store: StateStore, audit: AuditLog): void;
15
+ /**
16
+ * v0.9.2: shared budget-enforcement helper called from both `status()`
17
+ * and `wait_for_status_change`. The latter previously skipped the kill,
18
+ * meaning a fleet over budget would only get cancelled if the orchestrator
19
+ * happened to call status() (not just wait + collect).
20
+ *
21
+ * `agents` are flat token rollups extracted from snapshots; the helper
22
+ * is metric-agnostic and uses whichever bucket matches `plan.budgetMode`
23
+ * (defaults to "billed" - input + output only, ignoring free-on-the-Plan
24
+ * cache reads).
25
+ *
26
+ * Side effect: when over budget, the plan flips to `cancelled_overbudget`
27
+ * and STOP messages are queued for every still-running task. Idempotent -
28
+ * subsequent calls observe the already-cancelled state and return
29
+ * `auto_cancelled: false`.
30
+ */
31
+ export interface BudgetSnapshot {
32
+ total_billed: number;
33
+ total_cached: number;
34
+ total_all: number;
35
+ total_for_budget: number;
36
+ budget_mode: BudgetMode;
37
+ budget_cap_tokens: number;
38
+ budget_remaining_tokens: number;
39
+ budget_pct: number;
40
+ overbudget: boolean;
41
+ auto_cancelled: boolean;
42
+ }
@@ -293,9 +293,14 @@ export function registerDispatch(server, store, audit) {
293
293
  // Per-task soft budget warning: if the task has a budgetHintTokens
294
294
  // hint and we've blown past 70% of it, surface a yellow flag so the
295
295
  // orchestrator can intervene before the plan-wide hard cap fires.
296
- if (t.budgetHintTokens && snap.totalEffectiveTokens > 0.7 * t.budgetHintTokens) {
297
- const pct = Math.round((snap.totalEffectiveTokens / t.budgetHintTokens) * 100);
298
- taskWarnings.push(`task at ${pct}% of hint (${snap.totalEffectiveTokens.toLocaleString()} / ${t.budgetHintTokens.toLocaleString()} tokens). Consider request_stop if it's stalling.`);
296
+ // v0.9.2: compare against billed (not total) to match the new
297
+ // default plan-level budget mode.
298
+ const taskBudgetRelevant = (plan0.budgetMode ?? "billed") === "billed"
299
+ ? snap.billedTokens
300
+ : snap.totalEffectiveTokens;
301
+ if (t.budgetHintTokens && taskBudgetRelevant > 0.7 * t.budgetHintTokens) {
302
+ const pct = Math.round((taskBudgetRelevant / t.budgetHintTokens) * 100);
303
+ taskWarnings.push(`task at ${pct}% of hint (${taskBudgetRelevant.toLocaleString()} / ${t.budgetHintTokens.toLocaleString()} tokens, mode=${plan0.budgetMode ?? "billed"}). Consider request_stop if it's stalling.`);
299
304
  }
300
305
  return {
301
306
  task_id: t.id,
@@ -304,7 +309,12 @@ export function registerDispatch(server, store, audit) {
304
309
  session_id: t.spawnedSessionId,
305
310
  pid: t.pid ?? null,
306
311
  pid_alive: t.pid ? isProcessAlive(t.pid) : null,
312
+ // v0.9.2: `tokens_used` retained as the back-compat field
313
+ // (= totalEffectiveTokens). Prefer `billed_tokens` for
314
+ // Plan-cost decisions.
307
315
  tokens_used: snap.totalEffectiveTokens,
316
+ billed_tokens: snap.billedTokens,
317
+ cached_tokens: snap.cachedTokens,
308
318
  budget_hint_tokens: t.budgetHintTokens ?? null,
309
319
  cost_usd: snap.totalCostUsd,
310
320
  last_event_type: snap.lastEventType,
@@ -322,9 +332,11 @@ export function registerDispatch(server, store, audit) {
322
332
  stream_source: snap.source,
323
333
  exit_record: exitRecord,
324
334
  command_line: t.commandLine ?? null,
335
+ // Internal hand-off for enforceBudget below.
336
+ __billed: snap.billedTokens,
337
+ __cached: snap.cachedTokens,
325
338
  };
326
339
  }));
327
- const totalTokens = snapshots.reduce((sum, s) => sum + (s.tokens_used ?? 0), 0);
328
340
  const totalCost = snapshots.reduce((sum, s) => sum + (s.cost_usd ?? 0), 0);
329
341
  // v0.5.2: orphan detection — dispatched > 60s ago without
330
342
  // self-registering. Often means the orchestrator used a non-orqlaude
@@ -344,28 +356,21 @@ export function registerDispatch(server, store, audit) {
344
356
  remedy: "If you can identify its session id via mcp__ccd_session_mgmt__list_sessions, call register_spawn manually. Otherwise the task is invisible to orqlaude until a follow-up checkin arrives.",
345
357
  }));
346
358
  // ---- budget enforcement: kill on overbudget --------------------------
347
- const overbudget = totalTokens > plan0.budgetCapTokens;
348
- let autoCancelled = false;
349
- if (overbudget && plan0.status !== "cancelled_overbudget" && plan0.status !== "cancelled") {
350
- await store.update((state) => {
351
- const plan = findPlan(state, plan_id);
352
- plan.status = "cancelled_overbudget";
353
- for (const t of plan.tasks) {
354
- if (t.spawnedSessionId && !t.stopRequested) {
355
- t.stopRequested = { reason: "fleet overbudget", requestedAt: Date.now(), kind: "hard" };
356
- plan.messages.push({
357
- id: cryptoRandomId(),
358
- toSessionId: t.spawnedSessionId,
359
- text: `STOP: fleet exceeded token budget (used ${Math.round(totalTokens / 1000)}k of ${Math.round(plan.budgetCapTokens / 1000)}k cap). Commit what you have and exit.`,
360
- queuedAt: Date.now(),
361
- delivered: false,
362
- kind: "stop",
363
- });
364
- }
365
- }
366
- });
367
- autoCancelled = true;
359
+ // v0.9.2: shared helper, billed-vs-total aware. The helper picks
360
+ // billed (input + output, default) or total (all four buckets)
361
+ // based on `plan.budgetMode`.
362
+ const budget = await enforceBudget(store, plan_id, snapshots.map((s) => ({
363
+ billed: s.__billed ?? 0,
364
+ cached: s.__cached ?? 0,
365
+ })));
366
+ // Strip the internal hand-off keys so they don't leak into the
367
+ // public response.
368
+ for (const s of snapshots) {
369
+ delete s.__billed;
370
+ delete s.__cached;
368
371
  }
372
+ const totalTokens = budget.total_all; // for the legacy field
373
+ const autoCancelled = budget.auto_cancelled;
369
374
  // ---- aggregated hallucination warning -------------------------------
370
375
  const concerningAgents = snapshots
371
376
  .filter((s) => s.hallucination && s.hallucination.score >= 0.3)
@@ -388,10 +393,22 @@ export function registerDispatch(server, store, audit) {
388
393
  text: JSON.stringify({
389
394
  plan_id,
390
395
  plan_status: autoCancelled ? "cancelled_overbudget" : plan0.status,
391
- budget_cap_tokens: plan0.budgetCapTokens,
396
+ budget_cap_tokens: budget.budget_cap_tokens,
397
+ // v0.9.2: legacy field; sum of all four token buckets.
398
+ // For Plan-cost decisions read `tokens.billed` instead.
392
399
  total_tokens_used: totalTokens,
393
- budget_remaining_tokens: Math.max(0, plan0.budgetCapTokens - totalTokens),
400
+ budget_remaining_tokens: budget.budget_remaining_tokens,
394
401
  total_cost_usd: totalCost,
402
+ // v0.9.2: explicit token breakdown so orchestrators can
403
+ // distinguish "cost-relevant" from "cache churn".
404
+ tokens: {
405
+ billed: budget.total_billed,
406
+ cached: budget.total_cached,
407
+ total: budget.total_all,
408
+ budget_mode: budget.budget_mode,
409
+ budget_relevant: budget.total_for_budget,
410
+ budget_pct: budget.budget_pct,
411
+ },
395
412
  hallucination_alerts: concerningAgents,
396
413
  orphan_alerts: orphans,
397
414
  died_at_launch_alerts: deadAgents,
@@ -434,6 +451,8 @@ export function registerDispatch(server, store, audit) {
434
451
  title: t.title,
435
452
  status: t.status,
436
453
  tokens_used: 0,
454
+ billed_tokens: 0,
455
+ cached_tokens: 0,
437
456
  pr_url: t.prUrl ?? null,
438
457
  pid_alive: null,
439
458
  exit_record: null,
@@ -448,6 +467,8 @@ export function registerDispatch(server, store, audit) {
448
467
  title: t.title,
449
468
  status: exitRecord ? (exitRecord.success ? "done" : "failed") : t.status,
450
469
  tokens_used: snap.totalEffectiveTokens,
470
+ billed_tokens: snap.billedTokens,
471
+ cached_tokens: snap.cachedTokens,
451
472
  pr_url: t.prUrl ?? null,
452
473
  pid_alive: t.pid ? isProcessAlive(t.pid) : null,
453
474
  exit_record: exitRecord,
@@ -455,10 +476,15 @@ export function registerDispatch(server, store, audit) {
455
476
  stop_kind: t.stopRequested?.kind ?? null,
456
477
  };
457
478
  }));
479
+ // v0.9.2: enforce budget on every poll, not just from status().
480
+ // The plan-level kill needs to fire whether the orchestrator is
481
+ // calling status() or wait_for_status_change.
482
+ const budget = await enforceBudget(store, plan_id, agents.map((a) => ({ billed: a.billed_tokens, cached: a.cached_tokens })));
458
483
  return {
459
484
  plan_id,
460
- plan_status: plan.status,
485
+ plan_status: budget.auto_cancelled ? "cancelled_overbudget" : plan.status,
461
486
  agents,
487
+ budget,
462
488
  };
463
489
  };
464
490
  const computeFingerprint = (snap) => {
@@ -469,11 +495,12 @@ export function registerDispatch(server, store, audit) {
469
495
  // Also includes `stop_kind` so kill_task / request_stop transitions
470
496
  // wake the long-poll without waiting for the child to actually
471
497
  // terminate - useful when a soft-stop is in flight.
498
+ // v0.9.2: KB bucket runs off `billed_tokens` (input + output) so
499
+ // cache-read churn doesn't trip the fingerprint every 2s. The
500
+ // long-poll now fires only when something cost-relevant moves.
472
501
  const parts = [snap.plan_status];
473
502
  for (const a of snap.agents) {
474
- // Round token count to KB so per-token churn doesn't trip the
475
- // fingerprint - only material progress does.
476
- const kb = Math.floor(a.tokens_used / 1024);
503
+ const kb = Math.floor(a.billed_tokens / 1024);
477
504
  parts.push([
478
505
  a.task_id,
479
506
  a.status,
@@ -633,11 +660,22 @@ export function registerDispatch(server, store, audit) {
633
660
  }
634
661
  const taskTokens = await Promise.all(p.tasks.map(async (t) => {
635
662
  if (!t.spawnedSessionId)
636
- return 0;
663
+ return { billed: 0, cached: 0, total: 0 };
637
664
  const snap = await snapshotSession(cwd, t.spawnedSessionId, t.stdoutPath);
638
- return snap.totalEffectiveTokens;
665
+ return {
666
+ billed: snap.billedTokens,
667
+ cached: snap.cachedTokens,
668
+ total: snap.totalEffectiveTokens,
669
+ };
639
670
  }));
640
- const tokensTotal = taskTokens.reduce((s, v) => s + v, 0);
671
+ const tokensBilled = taskTokens.reduce((s, v) => s + v.billed, 0);
672
+ const tokensCached = taskTokens.reduce((s, v) => s + v.cached, 0);
673
+ const tokensTotal = taskTokens.reduce((s, v) => s + v.total, 0);
674
+ // v0.9.2: budget_pct reflects the plan's chosen mode (billed
675
+ // default). Plan users see the cost-relevant pct, not the
676
+ // cache-inflated total.
677
+ const mode = p.budgetMode ?? "billed";
678
+ const tokensForBudget = mode === "billed" ? tokensBilled : tokensTotal;
641
679
  const allDone = p.tasks.length > 0 && p.tasks.every((t) => t.status === "done" || t.status === "failed" || t.status === "cancelled");
642
680
  return {
643
681
  plan_id: p.id,
@@ -646,9 +684,16 @@ export function registerDispatch(server, store, audit) {
646
684
  root_task: p.rootTask.slice(0, 120),
647
685
  task_count: p.tasks.length,
648
686
  task_status_counts: counts,
649
- tokens_used: tokensTotal,
687
+ tokens_used: tokensTotal, // legacy field (sum of all four buckets)
688
+ tokens: {
689
+ billed: tokensBilled,
690
+ cached: tokensCached,
691
+ total: tokensTotal,
692
+ budget_mode: mode,
693
+ budget_relevant: tokensForBudget,
694
+ },
650
695
  budget_cap_tokens: p.budgetCapTokens,
651
- budget_pct: p.budgetCapTokens ? Math.round((tokensTotal / p.budgetCapTokens) * 100) : 0,
696
+ budget_pct: p.budgetCapTokens ? Math.round((tokensForBudget / p.budgetCapTokens) * 100) : 0,
652
697
  prs,
653
698
  all_terminal: allDone,
654
699
  suggested_next: p.status === "draft"
@@ -664,6 +709,8 @@ export function registerDispatch(server, store, audit) {
664
709
  }));
665
710
  const activeAgnets = planRollups.reduce((sum, r) => sum + (r.task_status_counts.running ?? 0) + (r.task_status_counts.dispatched ?? 0), 0);
666
711
  const grandTokens = planRollups.reduce((sum, r) => sum + r.tokens_used, 0);
712
+ const grandBilled = planRollups.reduce((sum, r) => sum + r.tokens.billed, 0);
713
+ const grandCached = planRollups.reduce((sum, r) => sum + r.tokens.cached, 0);
667
714
  return {
668
715
  content: [
669
716
  {
@@ -675,7 +722,9 @@ export function registerDispatch(server, store, audit) {
675
722
  totals: {
676
723
  plan_count: plans.length,
677
724
  active_agnets: activeAgnets,
678
- grand_total_tokens: grandTokens,
725
+ grand_total_tokens: grandTokens, // legacy: sum of all buckets
726
+ grand_billed_tokens: grandBilled, // v0.9.2: input + output only
727
+ grand_cached_tokens: grandCached, // v0.9.2: cache reads + creations
679
728
  },
680
729
  orphan_queue: {
681
730
  notifications: orphanNotificationCount,
@@ -744,6 +793,54 @@ task_id: ${taskId}
744
793
  ═══════════════════════════════════════════════════════════════
745
794
  `;
746
795
  }
796
+ async function enforceBudget(store, plan_id, agents) {
797
+ const plan0 = await store.read((state) => findPlan(state, plan_id));
798
+ const totalBilled = agents.reduce((s, a) => s + a.billed, 0);
799
+ const totalCached = agents.reduce((s, a) => s + a.cached, 0);
800
+ const totalAll = totalBilled + totalCached;
801
+ const budgetMode = plan0.budgetMode ?? "billed";
802
+ const totalForBudget = budgetMode === "billed" ? totalBilled : totalAll;
803
+ const cap = plan0.budgetCapTokens;
804
+ const overbudget = totalForBudget > cap;
805
+ const alreadyCancelled = plan0.status === "cancelled_overbudget" || plan0.status === "cancelled";
806
+ let autoCancelled = false;
807
+ if (overbudget && !alreadyCancelled) {
808
+ await store.update((state) => {
809
+ const plan = findPlan(state, plan_id);
810
+ // Re-check inside the lock - another concurrent call may have raced us.
811
+ if (plan.status === "cancelled_overbudget" || plan.status === "cancelled")
812
+ return;
813
+ plan.status = "cancelled_overbudget";
814
+ for (const t of plan.tasks) {
815
+ if (t.spawnedSessionId && !t.stopRequested) {
816
+ t.stopRequested = { reason: "fleet overbudget", requestedAt: Date.now(), kind: "hard" };
817
+ plan.messages.push({
818
+ id: cryptoRandomId(),
819
+ toSessionId: t.spawnedSessionId,
820
+ text: `STOP: fleet exceeded token budget (used ${Math.round(totalForBudget / 1000)}k of ` +
821
+ `${Math.round(cap / 1000)}k cap, mode=${budgetMode}). Commit what you have and exit.`,
822
+ queuedAt: Date.now(),
823
+ delivered: false,
824
+ kind: "stop",
825
+ });
826
+ }
827
+ }
828
+ });
829
+ autoCancelled = true;
830
+ }
831
+ return {
832
+ total_billed: totalBilled,
833
+ total_cached: totalCached,
834
+ total_all: totalAll,
835
+ total_for_budget: totalForBudget,
836
+ budget_mode: budgetMode,
837
+ budget_cap_tokens: cap,
838
+ budget_remaining_tokens: Math.max(0, cap - totalForBudget),
839
+ budget_pct: cap > 0 ? Math.round((totalForBudget / cap) * 100) : 0,
840
+ overbudget,
841
+ auto_cancelled: autoCancelled,
842
+ };
843
+ }
747
844
  function cryptoRandomId() {
748
845
  // small helper to avoid importing crypto in this top-of-file scope twice
749
846
  return Math.random().toString(36).slice(2) + Date.now().toString(36);
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/tools/dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/tools/dispatch.ts"],"names":[],"mappings":"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"}
@@ -25,10 +25,11 @@ export function registerPlanning(server, store, audit) {
25
25
  root_task: z.string().min(1).describe("The user's original task description, for audit and history."),
26
26
  tasks: z.array(TaskInputSchema).min(1).max(12).describe("The decomposed subtasks. Each becomes one spawned agent. Keep under ~6 unless you've discussed a larger fleet."),
27
27
  budget_cap_tokens: z.number().int().positive().default(DEFAULT_BUDGET_TOKENS).describe("Hard ceiling for the whole fleet in tokens. Per-agent cap is derived as budget_cap_tokens / tasks.length unless tasks have individual budgetHintTokens. Default 500k tokens (~5 agents × 100k each)."),
28
+ budget_mode: z.enum(["billed", "total"]).default("billed").describe("v0.9.2+: which token bucket the cap constrains. `billed` (default) counts only input + output tokens - cache reads are free on the Claude Plan so excluding them stops spurious overbudget kills. `total` counts everything including cache reads; pick this if you're paying per-token via the API."),
28
29
  model_for_estimate: z.string().default("claude-sonnet-4-6").describe("Model assumed for cost estimation (informational USD only; doesn't control what spawn_task uses)."),
29
30
  effort_multiplier: z.number().positive().default(1.0).describe("Rough difficulty multiplier. 0.5 trivial, 1 moderate, 2+ heavy refactors."),
30
31
  strict_scope: z.boolean().default(false).describe("If true, reject the plan when two tasks declare overlapping `scope` paths. Default false (warn but allow)."),
31
- }, audit.wrap("create_plan", async ({ root_task, tasks, budget_cap_tokens, model_for_estimate, effort_multiplier, strict_scope }) => {
32
+ }, audit.wrap("create_plan", async ({ root_task, tasks, budget_cap_tokens, budget_mode, model_for_estimate, effort_multiplier, strict_scope }) => {
32
33
  // Pre-check: scope overlap. Surface as warning, or reject if strict.
33
34
  const overlaps = detectScopeOverlaps(tasks);
34
35
  if (overlaps.length > 0 && strict_scope) {
@@ -40,6 +41,7 @@ export function registerPlanning(server, store, audit) {
40
41
  try {
41
42
  plan = await store.update((state) => {
42
43
  const p = newPlan(root_task, budget_cap_tokens, tasks);
44
+ p.budgetMode = budget_mode;
43
45
  // Assign Agnet names — stable per task_id, unique within plan.
44
46
  const taken = new Set();
45
47
  for (const t of p.tasks) {
@@ -73,6 +75,7 @@ export function registerPlanning(server, store, audit) {
73
75
  plan_id: plan.id,
74
76
  task_count: plan.tasks.length,
75
77
  budget_cap_tokens: plan.budgetCapTokens,
78
+ budget_mode: plan.budgetMode ?? "billed",
76
79
  per_agent_cap_tokens: plan.perAgentCapTokens,
77
80
  estimated_tokens: plan.estimatedTokens,
78
81
  estimated_cost_usd: plan.estimatedCostUsd,
@@ -1 +1 @@
1
- {"version":3,"file":"planning.js","sourceRoot":"","sources":["../../src/tools/planning.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"planning.js","sourceRoot":"","sources":["../../src/tools/planning.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synaplink/orqlaude",
3
- "version": "0.9.1",
3
+ "version": "0.9.3",
4
4
  "description": "Multi-agent orchestrator for Claude Code. One primary session decomposes a complex task, gets a single budget approval, then dispatches N parallel Agnets via the Desktop app's native spawn_task (with explicit fallbacks). Tracks cost/status via JSONL tails; brokers messages between Agnets; streams to Telegram; detects hallucination; manages PRs.",
5
5
  "type": "module",
6
6
  "bin": {