claude-code-infinite 1.0.17 → 1.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -173,7 +173,7 @@ Interactive `ccc` sessions also get a small MCP server, `memtree`, with four rea
173
173
 
174
174
  When you send a message, we retrieve relevant details and summaries from the prior messages in your thread. These details and summaries populate a **memory message**. Following the memory message, we append a compressed version of your recent message history. The resulting context-window is dramatically smaller, allowing Claude to process your request with much greater efficacy, lower latency, and reduced cost.
175
175
 
176
- **Compaction keeps a stable prefix.** While a conversation fits the model's budget (800k tokens for Opus 5.5), it is sent whole. When a request reaches the budget, `ccc` compresses it once, to half the budget (or your `/memtree-compact N`), and keeps those compressed bytes as the session's prefix. Every later request, human turns included, is that same prefix followed by the messages that came after it, verbatim, with no compression call (MemTree still indexes in the background). Because the prefix does not change, Anthropic reads it from the prompt cache on every turn after the one that compacted, instead of writing the whole compressed context again. `ccc` compresses again only when prefix plus newer turns reach the budget (measured from the size Anthropic reported for the previous request, plus an estimate for what was added), or when the messages the prefix stands for change (rewind, edit, fork, `/clear`). If that recompression fails, the turn is sent on the old prefix rather than the whole history. The budget is the one MemTree reports for the model; until the server reports one, `ccc` uses 80% of the model's context window. `CCC_BUDGET_TOKENS=60k` overrides it for testing. Every `requests.jsonl` line carries the `pid` of the `ccc` process that wrote it, which tells apart concurrent sessions sharing the log. The same rule holds inside a tool loop, so a long single turn (a headless `-p` run, or a long agentic loop) is compacted as it grows rather than only when you next type: each tool request under the budget goes out with no compression call, the one that reaches it is compressed once and becomes the stable prefix, and later tool requests and your next message ride that prefix until it reaches the budget again. `requests.jsonl` shows the `compaction` of each main-thread human turn and of every tool turn (budget, its source, the size estimate, and the reason for a compaction: `budget`, `prefix-mismatch`, `manual` or `target-change`); a human turn sent on the stable prefix is `turnType: "followup-prefix"`, a tool turn `tool-memory` (on its route) or `tool-prefix` (on the prefix directly), and a tool turn that compacted `tool-recompressed`.
176
+ **Compaction keeps a stable prefix.** While a conversation fits the model's budget (800k tokens for Opus 5.5), it is sent whole. When a request reaches the budget, `ccc` compresses it once, to half the budget (or your `/memtree-compact N`), and keeps those compressed bytes as the session's prefix. Every later request, human turns included, is that same prefix followed by the messages that came after it, verbatim, with no compression call (MemTree still indexes in the background). Because the prefix does not change, Anthropic reads it from the prompt cache on every turn after the one that compacted, instead of writing the whole compressed context again. `ccc` compresses again only when prefix plus newer turns reach the budget (measured from the size Anthropic reported for the previous request, plus an estimate for what was added), or when the messages the prefix stands for change (rewind, edit, fork, `/clear`). If that recompression fails, the turn is sent on the old prefix rather than the whole history. The prefix is also kept on disk, one file per session under `~/.claude-code-infinite/stable-prefixes/` (mode 600 in a private directory, at most 64 sessions and 256 MB, oldest dropped first), so the first turn after `ccc --resume` rides it instead of waiting on a fresh compression. A stored prefix belongs to the MemTree backend and key that wrote it (identified by a hash, never the key itself) and is never used with another. It is used only if the resumed history still matches what it replaced; a main-thread history that no longer matches discards it, while side requests (such as Claude Code's web-search helper) leave it alone. Only the main thread's prefix is stored, never a subagent's. The budget is the one MemTree reports for the model; until the server reports one, `ccc` uses 80% of the model's context window. `CCC_BUDGET_TOKENS=60k` overrides it for testing. Every `requests.jsonl` line carries the `pid` of the `ccc` process that wrote it, which tells apart concurrent sessions sharing the log. The same rule holds inside a tool loop, so a long single turn (a headless `-p` run, or a long agentic loop) is compacted as it grows rather than only when you next type: each tool request under the budget goes out with no compression call, the one that reaches it is compressed once and becomes the stable prefix, and later tool requests and your next message ride that prefix until it reaches the budget again. `requests.jsonl` shows the `compaction` of each main-thread human turn and of every tool turn (budget, its source, the size estimate, and the reason for a compaction: `budget`, `prefix-mismatch`, `manual` or `target-change`); a human turn sent on the stable prefix is `turnType: "followup-prefix"`, a tool turn `tool-memory` (on its route) or `tool-prefix` (on the prefix directly), and a tool turn that compacted `tool-recompressed`.
177
177
 
178
178
  That compressed context stays in force for the rest of the turn: the tool loop it kicks off, and the matching Count Tokens calls, are routed through the same compressed prefix. The Count Tokens part matters — Claude Code sizes its context from those replies, so counting the uncompressed history would make it auto-compact a conversation memory had already shrunk. A mismatched or resumed conversation shape drops the route rather than grafting one session's prefix onto another.
179
179
 
@@ -214,6 +214,14 @@ If counting an assembled compressed prefix discovers that it is over budget,
214
214
  whether to forward or refuse it. The request log records that decision under
215
215
  `lateCountRecovery.outcome` as `compressed`, `forwarded`, or `refused`.
216
216
 
217
+ A blocking compression call normally gets 15 seconds; when it fails, the request
218
+ goes out on the old prefix or whole. When there is neither (no compressed prefix
219
+ to ride, as on the first turn after `--resume`, and a whole request that delivery
220
+ would refuse as over the window), the call gets 120 seconds instead, since a timeout
221
+ could only end in a refusal. `CCC_COMPRESS_TIMEOUT_MS` overrides both. A Claude
222
+ Code retry that arrives while the same session's compression of the same history
223
+ is running waits for that call instead of starting another.
224
+
217
225
  Before publishing a release, verify Claude subscription OAuth counting in a live
218
226
  session: launch this checkout's `node dist/cli.js --resume` with the normal Claude
219
227
  subscription login and resume a large conversation. After sending a turn, inspect
package/dist/cli-main.js CHANGED
@@ -16,6 +16,7 @@ import { exec } from "node:child_process";
16
16
  import * as readline from "node:readline";
17
17
  import { MEMTREE_COMPACT_MIN_TOKENS, parseTokenCount, startProxy } from "./proxy.js";
18
18
  import { MemtreeLinkStore } from "./memtree-links.js";
19
+ import { StablePrefixStore } from "./prefix-store.js";
19
20
  import { NewestTreeLookup } from "./memtree-newest.js";
20
21
  import { ClaudeTranscriptUsage } from "./transcript-usage.js";
21
22
  import { createSessionNoticePlugin, supportsMessageDisplay, terminalSupportsColor, withSessionNoticePluginArgs, } from "./hooks.js";
@@ -298,6 +299,9 @@ async function main() {
298
299
  // link is shown while the placement is being tried out; see ProxyOptions.
299
300
  memtreeLinkPlacement,
300
301
  memtreeLinkStore: new MemtreeLinkStore(),
302
+ // Each session's adopted compressed prefix, so a resumed session's first
303
+ // turn rides it instead of blocking on a fresh compress.
304
+ stablePrefixStore: new StablePrefixStore(),
301
305
  // The link shown to the user follows the session's newest tree on the server.
302
306
  newestTrees: new NewestTreeLookup((path, signal) => memtree.fetchMemTree(path, "application/json", signal)),
303
307
  transcriptUsage,
@@ -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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"}
package/dist/memtree.d.ts CHANGED
@@ -34,6 +34,8 @@ export interface MemtreeOptions {
34
34
  baseUrl: string;
35
35
  apiKey: string;
36
36
  compressTimeoutMs?: number;
37
+ /** The long budget (see DEFAULT_LONG_COMPRESS_TIMEOUT_MS); tests set it small. */
38
+ longCompressTimeoutMs?: number;
37
39
  debug?: boolean;
38
40
  /** Always-on JSONL diagnostics; every MemTree call logs one line. */
39
41
  reqlog?: RequestLogSink;
@@ -95,6 +97,12 @@ export interface CompressRequestMeta {
95
97
  sessionId?: string;
96
98
  /** Sent as `x-client-meta`; stored on the usage row. Not part of the cache key. */
97
99
  clientMeta?: Record<string, string>;
100
+ /**
101
+ * This call's abort budget, when it is not the normal one (the proxy's long
102
+ * budget). Not part of the cache key; a call joining one in flight shares
103
+ * that call's budget.
104
+ */
105
+ timeoutMs?: number;
98
106
  }
99
107
  export interface CompressResult {
100
108
  /** Processed (compressed) messages from the server; system role may be included. */
@@ -270,11 +278,19 @@ export declare class MemtreeClient {
270
278
  private baseUrl;
271
279
  private apiKey;
272
280
  private compressTimeoutMs;
281
+ private longCompressTimeoutMs;
273
282
  private debug;
274
283
  private reqlog;
275
284
  private memtreeTools;
276
285
  /** Complete compression request key → in-flight/settled promise (retry dedupe). */
277
286
  private compressCache;
287
+ /**
288
+ * Session + history identity → its compress still in flight, with the size
289
+ * hint it sent. A Claude Code retry joins it when that call is at least as
290
+ * forcing (see joinableInFlight), even though the complete key differs; the
291
+ * entry is dropped when the call settles.
292
+ */
293
+ private readonly inFlightCompress;
278
294
  /** When a cached compress result stops answering (expireCompressResult). */
279
295
  private readonly compressExpiry;
280
296
  private readonly compressResultKeys;
@@ -308,6 +324,14 @@ export declare class MemtreeClient {
308
324
  * timeout rather than a fast server error.
309
325
  */
310
326
  get compressBudgetMs(): number;
327
+ /**
328
+ * Non-secret identity of the MemTree backend and account this client uses:
329
+ * a hash over the origin and a hash of the key. Persisted state is valid only
330
+ * for the identity that wrote it (prefix-store.ts).
331
+ */
332
+ get storageIdentity(): string;
333
+ /** The budget for a compress with nothing else to send (no fallback). */
334
+ get longCompressBudgetMs(): number;
311
335
  /** Change the `x-memtree-tools` value for later calls (undefined: none). */
312
336
  setMemtreeTools(value: string | undefined): void;
313
337
  /**
@@ -412,6 +436,27 @@ export declare class MemtreeClient {
412
436
  */
413
437
  drainBackground(timeoutMs?: number): Promise<boolean>;
414
438
  private compressKey;
439
+ /**
440
+ * Every transmitted field that can change the server's answer, except the
441
+ * size hint (clientInputTokens) and the abort budget: the complete key adds
442
+ * the hint's verdict, and the in-flight join key compares hints itself.
443
+ */
444
+ private requestIdentity;
445
+ /**
446
+ * Identity for joining an in-flight compress: the complete request identity
447
+ * minus the size hint, which a retry may measure differently (the join
448
+ * compares hints itself). Sessionless calls never join here.
449
+ */
450
+ private inFlightKey;
451
+ /**
452
+ * The same request's compress still in flight, when it is at least as
453
+ * forcing as this one: this call sends no size hint, or one no larger than
454
+ * the running call's. A newly counted hint never joins an unhinted call,
455
+ * whose server verdict may be a passthrough the hint exists to prevent.
456
+ */
457
+ private joinableInFlight;
458
+ /** Bounded like the result cache; settling removes the entry (compress). */
459
+ private rememberInFlight;
415
460
  private remember;
416
461
  private callContextMemory;
417
462
  private log;
@@ -1 +1 @@
1
- {"version":3,"file":"memtree.d.ts","sourceRoot":"","sources":["../src/memtree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memtree.d.ts","sourceRoot":"","sources":["../src/memtree.ts"],"names":[],"mappings":"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"}
package/dist/memtree.js CHANGED
@@ -29,6 +29,14 @@ export const CLIENT_VERSION = createRequire(import.meta.url)("../package.json").
29
29
  // server-side compression — so this is a circuit breaker for a hung server, not a
30
30
  // latency target. Override via CCC_COMPRESS_TIMEOUT_MS (read below).
31
31
  const DEFAULT_COMPRESS_TIMEOUT_MS = 15000;
32
+ /**
33
+ * The budget for a compress with nothing else to send: no compressed prefix to
34
+ * ride and a raw request known not to fit the window (the first turn after
35
+ * `--resume`). A timeout there can only end in a refusal, and a large
36
+ * session's compress can take 13-24 s. CCC_COMPRESS_TIMEOUT_MS overrides this
37
+ * too.
38
+ */
39
+ const DEFAULT_LONG_COMPRESS_TIMEOUT_MS = 120_000;
32
40
  /** Indexing runs off the response path; give it room. */
33
41
  const INDEX_TIMEOUT_MS = 120_000;
34
42
  const DEDUPE_CACHE_MAX = 64;
@@ -695,11 +703,19 @@ export class MemtreeClient {
695
703
  baseUrl;
696
704
  apiKey;
697
705
  compressTimeoutMs;
706
+ longCompressTimeoutMs;
698
707
  debug;
699
708
  reqlog;
700
709
  memtreeTools;
701
710
  /** Complete compression request key → in-flight/settled promise (retry dedupe). */
702
711
  compressCache = new Map();
712
+ /**
713
+ * Session + history identity → its compress still in flight, with the size
714
+ * hint it sent. A Claude Code retry joins it when that call is at least as
715
+ * forcing (see joinableInFlight), even though the complete key differs; the
716
+ * entry is dropped when the call settles.
717
+ */
718
+ inFlightCompress = new Map();
703
719
  /** When a cached compress result stops answering (expireCompressResult). */
704
720
  compressExpiry = new Map();
705
721
  compressResultKeys = new WeakMap();
@@ -737,6 +753,19 @@ export class MemtreeClient {
737
753
  get compressBudgetMs() {
738
754
  return this.compressTimeoutMs;
739
755
  }
756
+ /**
757
+ * Non-secret identity of the MemTree backend and account this client uses:
758
+ * a hash over the origin and a hash of the key. Persisted state is valid only
759
+ * for the identity that wrote it (prefix-store.ts).
760
+ */
761
+ get storageIdentity() {
762
+ const keyHash = createHash("sha256").update(this.apiKey).digest("hex");
763
+ return createHash("sha256").update(`${this.baseUrl}\n${keyHash}`).digest("hex");
764
+ }
765
+ /** The budget for a compress with nothing else to send (no fallback). */
766
+ get longCompressBudgetMs() {
767
+ return this.longCompressTimeoutMs;
768
+ }
740
769
  /** Change the `x-memtree-tools` value for later calls (undefined: none). */
741
770
  setMemtreeTools(value) {
742
771
  this.memtreeTools = value || undefined;
@@ -770,6 +799,9 @@ export class MemtreeClient {
770
799
  this.compressTimeoutMs =
771
800
  opts.compressTimeoutMs ??
772
801
  Number(process.env.CCC_COMPRESS_TIMEOUT_MS || DEFAULT_COMPRESS_TIMEOUT_MS);
802
+ this.longCompressTimeoutMs =
803
+ opts.longCompressTimeoutMs ??
804
+ Number(process.env.CCC_COMPRESS_TIMEOUT_MS || DEFAULT_LONG_COMPRESS_TIMEOUT_MS);
773
805
  this.debug = opts.debug ?? false;
774
806
  this.reqlog = opts.reqlog;
775
807
  this.memtreeTools = opts.memtreeTools || undefined;
@@ -790,7 +822,8 @@ export class MemtreeClient {
790
822
  * optimization, whereas trusting a stale one suppresses a real outage.
791
823
  */
792
824
  hasCachedCompress(hash, modelContextLimit, meta) {
793
- return this.liveCompress(this.compressKey(hash, modelContextLimit, meta)) !== undefined;
825
+ return this.liveCompress(this.compressKey(hash, modelContextLimit, meta)) !== undefined ||
826
+ this.joinableInFlight(hash, modelContextLimit, meta) !== undefined;
794
827
  }
795
828
  /**
796
829
  * Fuse classification for the most recent live compress failure of `hash`.
@@ -820,8 +853,12 @@ export class MemtreeClient {
820
853
  const cached = this.liveCompress(cacheKey);
821
854
  if (cached)
822
855
  return cached;
856
+ const joined = this.joinableInFlight(hash, modelContextLimit, meta);
857
+ if (joined)
858
+ return joined;
859
+ const inFlightKey = this.inFlightKey(hash, modelContextLimit, meta);
823
860
  const promise = this.callContextMemory(messages, modelContextLimit, {
824
- timeoutMs: this.compressTimeoutMs,
861
+ timeoutMs: meta?.timeoutMs ?? this.compressTimeoutMs,
825
862
  signal,
826
863
  model: meta?.model,
827
864
  tools: meta?.tools,
@@ -858,9 +895,13 @@ export class MemtreeClient {
858
895
  }).then((result) => {
859
896
  if (result)
860
897
  this.compressResultKeys.set(result, cacheKey);
898
+ if (this.inFlightCompress.get(inFlightKey)?.promise === promise) {
899
+ this.inFlightCompress.delete(inFlightKey);
900
+ }
861
901
  return result;
862
902
  });
863
903
  this.remember(cacheKey, promise);
904
+ this.rememberInFlight(inFlightKey, { promise, hint: meta?.clientInputTokens });
864
905
  return promise;
865
906
  }
866
907
  /**
@@ -1070,22 +1111,66 @@ export class MemtreeClient {
1070
1111
  return false;
1071
1112
  }
1072
1113
  compressKey(hash, modelContextLimit, meta) {
1073
- const model = transmittedModel(meta?.model);
1074
- const tools = transmittedTools(meta?.tools);
1075
- const toolsJson = tools === undefined ? "" : JSON.stringify(tools);
1076
- const toolsHash = createHash("sha256").update(toolsJson).digest("hex");
1077
1114
  return createHash("sha256")
1078
1115
  .update(JSON.stringify([
1116
+ ...this.requestIdentity(hash, modelContextLimit, meta),
1117
+ clientOverThreshold(meta),
1118
+ ]))
1119
+ .digest("hex");
1120
+ }
1121
+ /**
1122
+ * Every transmitted field that can change the server's answer, except the
1123
+ * size hint (clientInputTokens) and the abort budget: the complete key adds
1124
+ * the hint's verdict, and the in-flight join key compares hints itself.
1125
+ */
1126
+ requestIdentity(hash, modelContextLimit, meta) {
1127
+ const tools = transmittedTools(meta?.tools);
1128
+ const toolsJson = tools === undefined ? "" : JSON.stringify(tools);
1129
+ return [
1079
1130
  hash,
1080
1131
  meta?.sessionId ?? null,
1081
- model ?? null,
1132
+ transmittedModel(meta?.model) ?? null,
1082
1133
  modelContextLimit,
1083
- toolsHash,
1134
+ createHash("sha256").update(toolsJson).digest("hex"),
1084
1135
  meta?.compressionTargetTokens ?? null,
1085
1136
  meta?.compressionThresholdTokens ?? null,
1086
- clientOverThreshold(meta),
1087
- ]))
1088
- .digest("hex");
1137
+ ];
1138
+ }
1139
+ /**
1140
+ * Identity for joining an in-flight compress: the complete request identity
1141
+ * minus the size hint, which a retry may measure differently (the join
1142
+ * compares hints itself). Sessionless calls never join here.
1143
+ */
1144
+ inFlightKey(hash, modelContextLimit, meta) {
1145
+ if (meta?.sessionId === undefined)
1146
+ return "";
1147
+ return JSON.stringify(this.requestIdentity(hash, modelContextLimit, meta));
1148
+ }
1149
+ /**
1150
+ * The same request's compress still in flight, when it is at least as
1151
+ * forcing as this one: this call sends no size hint, or one no larger than
1152
+ * the running call's. A newly counted hint never joins an unhinted call,
1153
+ * whose server verdict may be a passthrough the hint exists to prevent.
1154
+ */
1155
+ joinableInFlight(hash, modelContextLimit, meta) {
1156
+ const entry = this.inFlightCompress.get(this.inFlightKey(hash, modelContextLimit, meta));
1157
+ const hint = meta?.clientInputTokens;
1158
+ if (!entry)
1159
+ return undefined;
1160
+ if (hint === undefined)
1161
+ return entry.promise;
1162
+ return entry.hint !== undefined && hint <= entry.hint ? entry.promise : undefined;
1163
+ }
1164
+ /** Bounded like the result cache; settling removes the entry (compress). */
1165
+ rememberInFlight(key, entry) {
1166
+ if (key === "")
1167
+ return;
1168
+ this.inFlightCompress.set(key, entry);
1169
+ if (this.inFlightCompress.size > DEDUPE_CACHE_MAX) {
1170
+ const first = this.inFlightCompress.keys().next().value;
1171
+ if (first !== undefined)
1172
+ this.inFlightCompress.delete(first);
1173
+ }
1089
1174
  }
1090
1175
  remember(cacheKey, promise) {
1091
1176
  this.compressExpiry.delete(cacheKey);
@@ -1 +1 @@
1
- {"version":3,"file":"memtree.js","sourceRoot":"","sources":["../src/memtree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memtree.js","sourceRoot":"","sources":["../src/memtree.ts"],"names":[],"mappings":"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"}