claude-code-infinite 1.0.34 → 1.0.36

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 (82) hide show
  1. package/README.md +56 -0
  2. package/dist/body-shape.d.ts +49 -0
  3. package/dist/body-shape.d.ts.map +1 -0
  4. package/dist/body-shape.js +232 -0
  5. package/dist/body-shape.js.map +1 -0
  6. package/dist/cli-main.js +19 -2
  7. package/dist/cli-main.js.map +1 -1
  8. package/dist/cli.js +23 -10
  9. package/dist/cli.js.map +1 -1
  10. package/dist/count-tokens.d.ts +15 -2
  11. package/dist/count-tokens.d.ts.map +1 -1
  12. package/dist/count-tokens.js +13 -4
  13. package/dist/count-tokens.js.map +1 -1
  14. package/dist/financial-redaction.d.ts +12 -0
  15. package/dist/financial-redaction.d.ts.map +1 -0
  16. package/dist/financial-redaction.js +509 -0
  17. package/dist/financial-redaction.js.map +1 -0
  18. package/dist/hooks.d.ts +2 -0
  19. package/dist/hooks.d.ts.map +1 -1
  20. package/dist/hooks.js +4 -0
  21. package/dist/hooks.js.map +1 -1
  22. package/dist/image-tokens.d.ts +6 -1
  23. package/dist/image-tokens.d.ts.map +1 -1
  24. package/dist/image-tokens.js +75 -14
  25. package/dist/image-tokens.js.map +1 -1
  26. package/dist/lane-activity.d.ts +42 -0
  27. package/dist/lane-activity.d.ts.map +1 -0
  28. package/dist/lane-activity.js +79 -0
  29. package/dist/lane-activity.js.map +1 -0
  30. package/dist/memtree-newest.d.ts +11 -3
  31. package/dist/memtree-newest.d.ts.map +1 -1
  32. package/dist/memtree-newest.js +24 -4
  33. package/dist/memtree-newest.js.map +1 -1
  34. package/dist/memtree.d.ts +10 -0
  35. package/dist/memtree.d.ts.map +1 -1
  36. package/dist/memtree.js +14 -0
  37. package/dist/memtree.js.map +1 -1
  38. package/dist/proxy.d.ts +21 -0
  39. package/dist/proxy.d.ts.map +1 -1
  40. package/dist/proxy.js +153 -12
  41. package/dist/proxy.js.map +1 -1
  42. package/dist/refusal-reason.d.ts +70 -0
  43. package/dist/refusal-reason.d.ts.map +1 -0
  44. package/dist/refusal-reason.js +132 -0
  45. package/dist/refusal-reason.js.map +1 -0
  46. package/dist/reqlog.d.ts +25 -2
  47. package/dist/reqlog.d.ts.map +1 -1
  48. package/dist/reqlog.js +1 -1
  49. package/dist/reqlog.js.map +1 -1
  50. package/dist/request-sizing.d.ts +38 -2
  51. package/dist/request-sizing.d.ts.map +1 -1
  52. package/dist/request-sizing.js +72 -6
  53. package/dist/request-sizing.js.map +1 -1
  54. package/dist/route-fallback.d.ts +2 -0
  55. package/dist/route-fallback.d.ts.map +1 -1
  56. package/dist/route-fallback.js +8 -8
  57. package/dist/route-fallback.js.map +1 -1
  58. package/dist/secret-redaction.d.ts +25 -0
  59. package/dist/secret-redaction.d.ts.map +1 -0
  60. package/dist/secret-redaction.js +492 -0
  61. package/dist/secret-redaction.js.map +1 -0
  62. package/dist/slow-upload.d.ts +40 -0
  63. package/dist/slow-upload.d.ts.map +1 -0
  64. package/dist/slow-upload.js +69 -0
  65. package/dist/slow-upload.js.map +1 -0
  66. package/dist/status-link.d.ts +18 -0
  67. package/dist/status-link.d.ts.map +1 -0
  68. package/dist/status-link.js +103 -0
  69. package/dist/status-link.js.map +1 -0
  70. package/dist/statusline-auto.d.ts +15 -0
  71. package/dist/statusline-auto.d.ts.map +1 -0
  72. package/dist/statusline-auto.js +125 -0
  73. package/dist/statusline-auto.js.map +1 -0
  74. package/dist/statusline.d.ts +51 -0
  75. package/dist/statusline.d.ts.map +1 -0
  76. package/dist/statusline.js +380 -0
  77. package/dist/statusline.js.map +1 -0
  78. package/dist/utf8-bytes.d.ts +10 -0
  79. package/dist/utf8-bytes.d.ts.map +1 -0
  80. package/dist/utf8-bytes.js +107 -0
  81. package/dist/utf8-bytes.js.map +1 -0
  82. package/package.json +1 -1
package/README.md CHANGED
@@ -206,6 +206,7 @@ From a shell or script (no session needed):
206
206
  | --- | --- |
207
207
  | `ccc link <session-id>` | Prints the session's newest MemTree page URL on stdout, one line and nothing else. `--json` prints `{session_id, url, tree, updated_at}` instead (`updated_at` is the session's last activity). Exit status 0 printed, 1 no saved key or the server could not be reached (5 s timeout), 2 bad invocation, 3 the session has no MemTree yet (or no session with that id on your key; stderr says which). Only your own sessions (those of your saved key) are found. `ccc staging link` / `ccc local link` use that environment's key. |
208
208
  | `ccc fetch <memtree-url>` | Prints one of your MemTree pages as JSON, using your saved key. |
209
+ | `ccc statusline install` | Adds this session's MemTree link to Claude Code's status line (on by default: [details](#memtree-link-in-the-status-line)). `ccc statusline uninstall` undoes it. |
209
210
 
210
211
  Environment variables, set when launching `ccc`:
211
212
 
@@ -223,6 +224,37 @@ Environment variables, set when launching `ccc`:
223
224
  Links are clickable in terminals that support OSC 8 hyperlinks (iTerm2, Ghostty, WezTerm,
224
225
  kitty, VS Code, JetBrains, Windows Terminal); elsewhere you get the plain URL.
225
226
 
227
+ ### MemTree link in the status line
228
+
229
+ `ccc` keeps each session's newest MemTree link in
230
+ `~/.claude-code-infinite/statusline/<session id>.url`, updated in the background as trees
231
+ finish. Claude Code's status line can show it as a clickable `🌿 tree` (the plain URL in
232
+ terminals without OSC 8 links; `CCC_STATUSLINE_LINK=url` or `osc8` forces either). The status
233
+ line only reads that file, so it never waits on the server. While the status line uses it,
234
+ `ccc` refreshes the link about once a minute; with a status-line script `ccc` can't see in
235
+ settings.json, set `CCC_STATUSLINE_REFRESH=1` (otherwise it refreshes at prompts and turn
236
+ ends).
237
+
238
+ - **On by default:** the first interactive `ccc` run (after installing or upgrading) runs
239
+ `ccc statusline install` once and says so in the session's first message. It points
240
+ `statusLine` in `~/.claude/settings.json` (or `$CLAUDE_CONFIG_DIR/settings.json`) at
241
+ `ccc statusline`, which runs your existing status-line command with the same input and
242
+ appends ` | 🌿 tree`. Your original command is saved in
243
+ `~/.claude-code-infinite/statusline-<id>.json` (one per settings file) and settings.json is
244
+ backed up first. When that can't be done safely (settings.json is not valid JSON, your
245
+ `statusLine` is not a command, or `ccc` is not on PATH) it changes nothing and tells you.
246
+ It is done once (`~/.claude-code-infinite/statusline-auto.json`), so after
247
+ `ccc statusline uninstall` it stays off; `CCC_STATUSLINE_AUTO=0` skips it. A `statusLine`
248
+ in a project's `.claude/settings*.json` overrides yours. `ccc statusline uninstall` puts the
249
+ original back; run it before uninstalling ccc. `ccc statusline install` adds it again. Not
250
+ on Windows yet (Claude Code runs status lines in Git Bash there): use the snippet.
251
+ - **Manage it yourself:** add this to the end of your own status-line command (it reads
252
+ Claude Code's JSON from `$input`, as most status lines do; needs `jq`):
253
+
254
+ ```sh
255
+ link=$(cat ~/.claude-code-infinite/statusline/"$(echo "$input" | jq -r .session_id)".url 2>/dev/null); [ -n "$link" ] && printf ' | \033]8;;%s\033\\🌿 tree\033]8;;\033\\' "$link"
256
+ ```
257
+
226
258
  ## Claude Code auto-compaction
227
259
 
228
260
  `ccc` disables Claude Code's automatic conversation compaction for the Claude process it launches. MemTree manages the context sent to the model, so letting Claude Code independently summarize the full local transcript can compact a conversation MemTree already reduced. Manual `/compact` remains available.
@@ -528,6 +560,30 @@ next launch until a request goes through. Sign in with a Claude Pro or Max plan:
528
560
  with one of them set, Claude Code bills that key even when you're signed in with a plan.
529
561
  `ccc` prints a line before Claude Code starts when that happens; unset it to use your plan.
530
562
 
563
+ ### "MemTree couldn't …" / a refused turn
564
+
565
+ When a turn can't be sent (too large for the window even after MemTree had its chance), the
566
+ error says why and what to do:
567
+
568
+ - **Still indexing:** `MemTree is still indexing ~1.2M new tokens (~3 min). Retry then.` The
569
+ time is MemTree's own estimate when it gives one, else the un-indexed size at ~40k tokens a
570
+ minute.
571
+ - **Slow upload:** `MemTree timed out after 139 s on this 51 MB request (likely a slow
572
+ upload). Retry, ideally on a faster connection.` After such a timeout the session's next
573
+ large upload (20 MB+) gets more time (twice, up to 240 s), and the message says so when the
574
+ try that failed did not have it yet. `CCC_COMPRESS_TIMEOUT_MS` raises the base budget (for
575
+ every compression, so only raise it on a slow link).
576
+ - **MemTree slow:** `MemTree didn't answer within 20 s. Retry in a minute; …` (a timeout that
577
+ was not a large upload).
578
+ - **Rebuilding:** `MemTree is rebuilding this session's compressed history (Claude Code resent
579
+ earlier messages changed). Retry in a minute.`
580
+ - **MemTree error:** `MemTree couldn't compress this turn (HTTP 500). Retry in a minute; …`
581
+ - **Over the window:** `MemTree couldn't fit this request (~3M tokens) in the model's
582
+ 1M-token context window. Run /ccc:memtree-compact or /clear.`
583
+
584
+ Each ends with the session's MemTree link. `requests.jsonl` records the cause as
585
+ `refusal.cause`.
586
+
531
587
  ### MemTree degraded / passthrough mode
532
588
 
533
589
  If you see an inline "⚠ MemTree degraded — this turn ran uncompressed" notice, the turn needed compression (over its budget, an explicit `/memtree-compact`, or a size ccc could not confirm fits) but the compression API could not be reached or answered too slowly, so the turn went out whole. Your session keeps working uncompressed. A turn still under the budget needs no compression, so a MemTree failure on it shows no notice (it is recorded in `~/.claude-code-infinite/logs/requests.jsonl`). Check your key at [polychat.co](https://polychat.co/auth?memtree=true), or delete it from `~/.claude-code-infinite/config.json` and re-run `ccc` to re-enter it.
@@ -0,0 +1,49 @@
1
+ /** Below this a body is never anchored (its plain bound is small): no parse, no hashing. */
2
+ export declare const SHAPE_MIN_BYTES: number;
3
+ export interface BodyShape {
4
+ /** Hash of the body without `messages` (system, tools, thinking, ...). */
5
+ frame: string;
6
+ /** One hash per message, in order. */
7
+ messages: string[];
8
+ /** Each message's canonical JSON length (UTF-8 bytes, as the per-model ratios assume). */
9
+ sizes: number[];
10
+ /** Each message's inline image base64 characters (within its size). */
11
+ imageChars: number[];
12
+ /**
13
+ * The body asks Anthropic to edit its input (context_management, compaction): a count or
14
+ * usage may describe the edited input, so it never anchors a size (review r2 P3).
15
+ */
16
+ serverEdits: boolean;
17
+ /** Each inline base64 image's dimensions (undefined when unreadable), in order. */
18
+ imageDims: Array<[number, number] | undefined>;
19
+ /**
20
+ * The body holds something the anchor cannot bound: a message block outside
21
+ * MESSAGE_BLOCKS (a document, a URL or file image, search results, server tool blocks, an
22
+ * upload), a request field outside FRAME_FIELDS (mcp_servers) or a tool that is not a
23
+ * custom one. Such a body never anchors a size (Codex r4-r7 P1s).
24
+ */
25
+ unanchorable: boolean;
26
+ /**
27
+ * Index of the last message holding a tool_reference (Anthropic expands it into the
28
+ * tool's definition, past its bytes); -1 when none. Fine in the sampled part, which
29
+ * Anthropic counted expanded; one appended disables the anchor.
30
+ */
31
+ lastExpanding: number;
32
+ /**
33
+ * Canonical bytes of the frame fields left out of the hash because Claude Code rewrites
34
+ * them every turn (UNHASHED_FIELDS): an anchored bound charges them in full each time, on
35
+ * top of the sample's count, which already held their earlier version (errs high).
36
+ */
37
+ unhashedBytes: number;
38
+ }
39
+ /** The body's shape; undefined when it is small or not a JSON request with messages. */
40
+ export declare function bodyShape(body: Buffer): BodyShape | undefined;
41
+ /** The shape already worked out for `body`, if any; never computes one. */
42
+ export declare function knownShape(body: Buffer): BodyShape | undefined;
43
+ /** Remember `shape` for another copy of the same bytes. */
44
+ export declare function rememberShape(body: Buffer, shape: BodyShape | undefined): void;
45
+ /** Digest of the frame and the first `count` messages; undefined past the end. */
46
+ export declare function prefixDigest(shape: BodyShape, count: number): string | undefined;
47
+ /** Canonical text bytes (images left out) of messages [from, to). */
48
+ export declare function textBytes(shape: BodyShape, from: number, to?: number): number;
49
+ //# sourceMappingURL=body-shape.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"body-shape.d.ts","sourceRoot":"","sources":["../src/body-shape.ts"],"names":[],"mappings":"AAmBA,4FAA4F;AAC5F,eAAO,MAAM,eAAe,QAAa,CAAC;AAE1C,MAAM,WAAW,SAAS;IACxB,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,0FAA0F;IAC1F,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,uEAAuE;IACvE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,mFAAmF;IACnF,SAAS,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC;IAC/C;;;;;OAKG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAID,wFAAwF;AACxF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAI7D;AAED,2EAA2E;AAC3E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAE9D;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAE9E;AAED,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKhF;AAED,qEAAqE;AACrE,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,SAAwB,GAAG,MAAM,CAM5F"}
@@ -0,0 +1,232 @@
1
+ /**
2
+ * A request body's lineage, so a size anchored on an earlier body (request-sizing.ts
3
+ * anchoredBound) is used only for a body that extends it: the same system prompt, tools
4
+ * and model fields, and the earlier body's messages unchanged at the start of this one's.
5
+ * Byte totals alone cannot say that (review r1, Codex r1 P1): Claude Code dropping old
6
+ * thinking signatures (base64, nearly free) while adding as many bytes of dense tool output
7
+ * keeps the totals and changes the tokens.
8
+ *
9
+ * Each message is hashed on its own in a canonical form: JSON.stringify of the message with
10
+ * the cache_control markers Claude Code moves every turn removed, only where the API puts
11
+ * them (a content block, a tool_result's inner block; in the frame, a system block, a tool,
12
+ * the top level), never inside tool inputs or schemas (Codex r2 P1). The canonical length
13
+ * and image characters of each message are kept too, so what was appended is sized from its
14
+ * own canonical bytes, not from a raw byte difference a re-encoded prefix could hide
15
+ * (Codex r2 P1).
16
+ */
17
+ import { createHash } from "node:crypto";
18
+ import { imageDimensions } from "./image-tokens.js";
19
+ /** Below this a body is never anchored (its plain bound is small): no parse, no hashing. */
20
+ export const SHAPE_MIN_BYTES = 256 * 1024;
21
+ const shapes = new WeakMap();
22
+ /** The body's shape; undefined when it is small or not a JSON request with messages. */
23
+ export function bodyShape(body) {
24
+ if (body.length < SHAPE_MIN_BYTES)
25
+ return undefined;
26
+ if (!shapes.has(body))
27
+ shapes.set(body, computeShape(body));
28
+ return shapes.get(body) ?? undefined;
29
+ }
30
+ /** The shape already worked out for `body`, if any; never computes one. */
31
+ export function knownShape(body) {
32
+ return shapes.get(body) ?? undefined;
33
+ }
34
+ /** Remember `shape` for another copy of the same bytes. */
35
+ export function rememberShape(body, shape) {
36
+ if (shape)
37
+ shapes.set(body, shape);
38
+ }
39
+ /** Digest of the frame and the first `count` messages; undefined past the end. */
40
+ export function prefixDigest(shape, count) {
41
+ if (!Number.isInteger(count) || count < 0 || count > shape.messages.length)
42
+ return undefined;
43
+ const hash = createHash("sha256").update(shape.frame);
44
+ for (let i = 0; i < count; i++)
45
+ hash.update(shape.messages[i]);
46
+ return hash.digest("hex");
47
+ }
48
+ /** Canonical text bytes (images left out) of messages [from, to). */
49
+ export function textBytes(shape, from, to = shape.messages.length) {
50
+ let total = 0;
51
+ for (let i = Math.max(0, from); i < Math.min(to, shape.sizes.length); i++) {
52
+ total += Math.max(0, shape.sizes[i] - shape.imageChars[i]);
53
+ }
54
+ return total;
55
+ }
56
+ function computeShape(body) {
57
+ let parsed;
58
+ try {
59
+ parsed = JSON.parse(body.toString("utf-8"));
60
+ }
61
+ catch {
62
+ return null;
63
+ }
64
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed))
65
+ return null;
66
+ const { messages, ...frame } = parsed;
67
+ if (!Array.isArray(messages))
68
+ return null;
69
+ const unhashed = UNHASHED_FIELDS.filter((key) => frame[key] !== undefined)
70
+ .map((key) => JSON.stringify(frame[key])).join("");
71
+ const shape = { frame: hash(JSON.stringify(canonicalFrame(frame))),
72
+ messages: [], sizes: [], imageChars: [],
73
+ serverEdits: !noOpEdits(frame.context_management) || frame.compaction !== undefined,
74
+ imageDims: [], unanchorable: !frameAnchorable(frame), lastExpanding: -1,
75
+ unhashedBytes: Buffer.byteLength(unhashed, "utf-8") };
76
+ for (const message of messages) {
77
+ const text = JSON.stringify(canonicalMessage(message)) ?? "";
78
+ shape.messages.push(hash(text));
79
+ shape.sizes.push(Buffer.byteLength(text, "utf-8"));
80
+ shape.imageChars.push(imageCharsOf(message, shape));
81
+ if (!message || typeof message !== "object" ||
82
+ !Object.keys(message).every((key) => MESSAGE_FIELDS.has(key)))
83
+ shape.unanchorable = true;
84
+ if (text.includes('"type":"tool_reference"'))
85
+ shape.lastExpanding = shape.messages.length - 1;
86
+ }
87
+ return shape;
88
+ }
89
+ function hash(text) {
90
+ return createHash("sha256").update(text).digest("hex");
91
+ }
92
+ /** The frame without cache_control (top level, system blocks, tools) and diagnostics. */
93
+ function canonicalFrame(frame) {
94
+ const rest = { ...frame };
95
+ delete rest.cache_control;
96
+ // Claude Code's cache-diagnosis metadata names the previous message id: it changes every
97
+ // turn and costs no prompt tokens (review r3 P1). Anything else under it stays hashed.
98
+ if (onlyPreviousMessageId(rest.diagnostics))
99
+ delete rest.diagnostics;
100
+ for (const key of UNHASHED_FIELDS)
101
+ delete rest[key];
102
+ if (Array.isArray(rest.system))
103
+ rest.system = rest.system.map(withoutMarker);
104
+ if (Array.isArray(rest.tools))
105
+ rest.tools = rest.tools.map(withoutMarker);
106
+ return rest;
107
+ }
108
+ /** A message without cache_control on its content blocks (and tool results' blocks). */
109
+ function canonicalMessage(message) {
110
+ const content = message?.content;
111
+ if (!Array.isArray(content))
112
+ return message;
113
+ return { ...message, content: content.map((block) => {
114
+ const bare = withoutMarker(block);
115
+ if (bare && bare.type === "tool_result" && Array.isArray(bare.content)) {
116
+ return { ...bare, content: bare.content.map(withoutMarker) };
117
+ }
118
+ return bare;
119
+ }) };
120
+ }
121
+ function withoutMarker(block) {
122
+ if (!block || typeof block !== "object" || Array.isArray(block))
123
+ return block;
124
+ const rest = { ...block };
125
+ delete rest.cache_control;
126
+ return rest;
127
+ }
128
+ /** Base64 characters of the message's inline images (content and tool results); each
129
+ * image's dimensions, and any image that is not inline, are noted on `shape`. */
130
+ function imageCharsOf(message, shape) {
131
+ const content = message?.content;
132
+ return Array.isArray(content) ? blockImageChars(content, shape) : 0;
133
+ }
134
+ function blockImageChars(blocks, shape, nested = false) {
135
+ let total = 0;
136
+ for (const item of blocks) {
137
+ const block = item;
138
+ if (!block || typeof block !== "object")
139
+ continue;
140
+ const source = block.source;
141
+ if (block.type === "image" && source?.type === "base64" && typeof source.data === "string") {
142
+ total += source.data.length;
143
+ shape.imageDims.push(imageDimensions(source.data));
144
+ }
145
+ else if (block.type === "tool_result" && !nested) {
146
+ if (Array.isArray(block.content))
147
+ total += blockImageChars(block.content, shape, true);
148
+ else if (block.content !== undefined && typeof block.content !== "string") {
149
+ shape.unanchorable = true;
150
+ }
151
+ }
152
+ else if (!(nested ? NESTED_BLOCKS : MESSAGE_BLOCKS).has(String(block.type))) {
153
+ shape.unanchorable = true;
154
+ }
155
+ }
156
+ return total;
157
+ }
158
+ /**
159
+ * Blocks whose cost the anchor can bound: text (by its bytes), inline base64 images (by
160
+ * their dimensions), tool calls and results, thinking, tool additions (their definition
161
+ * is inline), tool references (only where already counted: BodyShape.lastExpanding). Anything else (a document, which
162
+ * Anthropic expands into page images and text far past its bytes; a URL or file image;
163
+ * search results; server tool blocks; uploads) disables the anchor, so its size is the
164
+ * plain bound or a count as before (Codex r4-r6 P1s).
165
+ */
166
+ /**
167
+ * Request fields whose cost is in the body (or none): anything else, such as mcp_servers
168
+ * (tool definitions fetched remotely, Codex r7 P1), disables the anchor. compaction, and a
169
+ * context_management that edits anything, are refused too (serverEdits, noOpEdits).
170
+ * Fields stay in the frame hash, so whatever they cost was in the sample's count too and a
171
+ * change to them breaks the lineage, except UNHASHED_FIELDS, charged in full instead. Claude Code features that turn the anchor off (safe, just
172
+ * no anchor; a request log without compaction.anchoredBound): message `thread`s,
173
+ * `program_use_case_id`/`fallbacks`, tool-result clearing after idle, an advisor call's
174
+ * result blocks in the messages.
175
+ */
176
+ const FRAME_FIELDS = new Set(["model", "max_tokens", "stream", "system", "tools", "tool_choice",
177
+ "metadata", "thinking", "temperature", "top_p", "top_k", "stop_sequences", "output_config",
178
+ "output_format", "speed", "service_tier", "cache_control", "context_management",
179
+ "diagnostics", "safeguards", "data_flow"]);
180
+ /**
181
+ * Whether `context_management` edits nothing: absent, or only Claude Code's
182
+ * `clear_thinking_20251015` with `keep: "all"`, which it sends whenever thinking is on.
183
+ * Any other edit (clearing tool uses, or thinking past some turns) may make a count
184
+ * describe edited input (review r2 P3).
185
+ */
186
+ function noOpEdits(management) {
187
+ if (management === undefined)
188
+ return true;
189
+ const edits = management?.edits;
190
+ return Array.isArray(edits) && Object.keys(management).every((k) => k === "edits") &&
191
+ edits.every((edit) => {
192
+ const e = edit;
193
+ return !!e && e.type === "clear_thinking_20251015" && e.keep === "all" &&
194
+ Object.keys(e).every((k) => k === "type" || k === "keep");
195
+ });
196
+ }
197
+ /**
198
+ * Server tools whose definition is fixed by their versioned type (no remote content): the
199
+ * hash covers them like any field. Claude Code 2.1.32x adds an advisor tool to every request
200
+ * (review r3); its results arrive as message blocks, which MESSAGE_BLOCKS refuses.
201
+ */
202
+ const VERSIONED_TOOL = /^advisor_\d{8}$/;
203
+ /**
204
+ * Fields Claude Code rebuilds every turn from the conversation (auto mode's classifier
205
+ * context, data-flow tracking; both outside its own prompt-identity hash): hashed, they
206
+ * would break lineage on every turn (review r4 P2), so they are charged instead
207
+ * (BodyShape.unhashedBytes).
208
+ */
209
+ const UNHASHED_FIELDS = ["safeguards", "data_flow"];
210
+ function onlyPreviousMessageId(diagnostics) {
211
+ return !!diagnostics && typeof diagnostics === "object" && !Array.isArray(diagnostics) &&
212
+ Object.keys(diagnostics).every((key) => key === "previous_message_id");
213
+ }
214
+ /** Message fields an anchor can bound (Claude Code's turn-scoped system messages included). */
215
+ const MESSAGE_FIELDS = new Set(["role", "content", "clear_at", "output_config"]);
216
+ /** Whether the frame's cost is all in the body: known fields, custom or versioned tools. */
217
+ function frameAnchorable(frame) {
218
+ if (!Object.keys(frame).every((key) => FRAME_FIELDS.has(key)))
219
+ return false;
220
+ const tools = frame.tools;
221
+ if (tools === undefined)
222
+ return true;
223
+ return Array.isArray(tools) && tools.every((tool) => {
224
+ const type = tool?.type;
225
+ return tool !== null && typeof tool === "object" && (type === undefined ||
226
+ type === "custom" || (typeof type === "string" && VERSIONED_TOOL.test(type)));
227
+ });
228
+ }
229
+ const MESSAGE_BLOCKS = new Set(["text", "tool_use", "tool_result", "thinking",
230
+ "redacted_thinking", "tool_addition", "tool_reference"]);
231
+ const NESTED_BLOCKS = new Set(["text", "tool_reference"]);
232
+ //# sourceMappingURL=body-shape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"body-shape.js","sourceRoot":"","sources":["../src/body-shape.ts"],"names":[],"mappings":"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"}
package/dist/cli-main.js CHANGED
@@ -22,6 +22,9 @@ import { FirstTreeMarker } from "./first-tree.js";
22
22
  import { StablePrefixStore } from "./prefix-store.js";
23
23
  import { ToolOutputStore } from "./tool-output-store.js";
24
24
  import { NewestTreeLookup } from "./memtree-newest.js";
25
+ import { StatusLinkFiles } from "./status-link.js";
26
+ import { statusLineWantsLink, statuslinePaths } from "./statusline.js";
27
+ import { autoInstallStatusline } from "./statusline-auto.js";
25
28
  import { ClaudeTranscriptUsage } from "./transcript-usage.js";
26
29
  import { createSessionNoticePlugin, createSubagentHookPlugin, supportsMessageDisplay, terminalSupportsColor, withSessionNoticePluginArgs, } from "./hooks.js";
27
30
  import { CLIENT_NAME, CLIENT_VERSION, MemtreeClient } from "./memtree.js";
@@ -275,7 +278,7 @@ async function showSignInNotice(probe, applies, ctx) {
275
278
  return notice.sessionLine;
276
279
  }
277
280
  /** The SessionStart extra line: the update notice and the sign-in line, each once. */
278
- function sessionStartLines(autoUpdate, signIn) {
281
+ function sessionStartLines(autoUpdate, signIn, statusline = {}) {
279
282
  return () => {
280
283
  const lines = [autoUpdate?.notices.sessionStartLine()];
281
284
  if (signIn.text) {
@@ -283,6 +286,10 @@ function sessionStartLines(autoUpdate, signIn) {
283
286
  lines.push(color ? `\x1b[33m${signIn.text}\x1b[39m` : signIn.text);
284
287
  signIn.text = undefined;
285
288
  }
289
+ if (statusline.text) {
290
+ lines.push(statusline.text);
291
+ statusline.text = undefined;
292
+ }
286
293
  const shown = lines.filter((l) => typeof l === "string");
287
294
  return shown.length ? shown.join("\n") : undefined;
288
295
  };
@@ -531,6 +538,12 @@ async function main() {
531
538
  const creditMemory = new CreditRefusalMemory(getConfigDir());
532
539
  // The API-billing message again inside Claude Code, at its first SessionStart.
533
540
  const signInSessionLine = {};
541
+ // ccc's status line (the MemTree link) on by default: installed or wrapped once, before
542
+ // Claude Code reads its settings; what changed is said at the first SessionStart.
543
+ const statuslineSessionLine = {
544
+ text: interactiveUi && !mayBePrintInvocation(claudeArgs)
545
+ ? autoInstallStatusline(statuslinePaths()) : undefined,
546
+ };
534
547
  // A sign-in completed after ccc's warning, between launches or mid-session.
535
548
  const signInTracker = new SignInTracker(getConfigDir(), (event) => diagnostics.record("sign_in_completed", { ...event }));
536
549
  const observedLog = new DiagnosticsRequestSink(reqlog, diagnostics, (auth) => {
@@ -638,11 +651,15 @@ async function main() {
638
651
  toolOutputs: new ToolOutputStore(),
639
652
  // The link shown to the user follows the session's newest tree on the server.
640
653
  newestTrees: new NewestTreeLookup((path, signal) => memtree.fetchMemTree(path, "application/json", signal)),
654
+ // The link Claude Code's status line shows (`ccc statusline`), refreshed as trees finish.
655
+ statusLinks: new StatusLinkFiles(),
656
+ // Per-request refreshes (a sessions lookup a minute) only for status lines that show it.
657
+ statusLinkRefresh: process.env.CCC_STATUSLINE_REFRESH === "1" || statusLineWantsLink(),
641
658
  transcriptUsage,
642
659
  projectMeta,
643
660
  // "✔ ccc X installed · restart ccc to use it" (or the hint after a failed
644
661
  // install) on a later SessionStart of this session, once.
645
- sessionStartNotice: sessionStartLines(autoUpdate, signInSessionLine),
662
+ sessionStartNotice: sessionStartLines(autoUpdate, signInSessionLine, statuslineSessionLine),
646
663
  promptSubmitNotice: interactiveUi ? () => rateLimits.promptLine() : undefined,
647
664
  // `/memtree-view` opens its link only where a browser would appear in
648
665
  // front of the user: interactive (also not `-pc`-style print), not SSH
@@ -1 +1 @@
1
- {"version":3,"file":"cli-main.js","sourceRoot":"","sources":["../src/cli-main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-main.js","sourceRoot":"","sources":["../src/cli-main.ts"],"names":[],"mappings":"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"}