claude-code-infinite 1.0.16 → 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 +9 -1
- package/dist/cli-main.js +7 -1
- package/dist/cli-main.js.map +1 -1
- package/dist/hooks.d.ts +20 -4
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +35 -8
- package/dist/hooks.js.map +1 -1
- package/dist/memtree-mcp-config.d.ts.map +1 -1
- package/dist/memtree-mcp-config.js +7 -2
- package/dist/memtree-mcp-config.js.map +1 -1
- package/dist/memtree-mcp.d.ts +21 -0
- package/dist/memtree-mcp.d.ts.map +1 -1
- package/dist/memtree-mcp.js +8 -1
- package/dist/memtree-mcp.js.map +1 -1
- package/dist/memtree.d.ts +45 -0
- package/dist/memtree.d.ts.map +1 -1
- package/dist/memtree.js +96 -11
- package/dist/memtree.js.map +1 -1
- package/dist/notices.js +2 -2
- package/dist/notices.js.map +1 -1
- package/dist/payment-notice.d.ts +47 -0
- package/dist/payment-notice.d.ts.map +1 -0
- package/dist/payment-notice.js +72 -0
- package/dist/payment-notice.js.map +1 -0
- package/dist/prefix-store.d.ts +59 -0
- package/dist/prefix-store.d.ts.map +1 -0
- package/dist/prefix-store.js +330 -0
- package/dist/prefix-store.js.map +1 -0
- package/dist/proxy.d.ts +14 -0
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +255 -45
- package/dist/proxy.js.map +1 -1
- package/dist/reqlog.d.ts +8 -0
- package/dist/reqlog.d.ts.map +1 -1
- package/dist/reqlog.js +11 -0
- package/dist/reqlog.js.map +1 -1
- package/package.json +1 -1
package/dist/notices.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notices.js","sourceRoot":"","sources":["../src/notices.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"notices.js","sourceRoot":"","sources":["../src/notices.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-session notice for an unpaid MemTree key (the server answered 402).
|
|
3
|
+
*
|
|
4
|
+
* ccc never gates the user's own Anthropic call on MemTree: on 402 the turn
|
|
5
|
+
* goes out uncompressed. Without a visible reason, users kept working for
|
|
6
|
+
* hours on uncompressed sessions and never learned why, so the notice says
|
|
7
|
+
* what stopped, how to turn it back on (the subscribe link), and that the
|
|
8
|
+
* session itself carries on.
|
|
9
|
+
*
|
|
10
|
+
* It is throttled: shown on the first 402 of a session, then at most once per
|
|
11
|
+
* PAYMENT_NOTICE_INTERVAL_MS, and again when a session is resumed. A 402
|
|
12
|
+
* typically repeats on every request, so an unthrottled notice would spam
|
|
13
|
+
* every turn.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Re-show interval. Long enough that a busy session sees it a couple of times
|
|
17
|
+
* an hour at most; short enough that someone who keeps working uncompressed
|
|
18
|
+
* is reminded why. Time-based rather than turn-based: fast tool-heavy turns
|
|
19
|
+
* would otherwise make a per-N-turns throttle fire every few minutes.
|
|
20
|
+
*/
|
|
21
|
+
export declare const PAYMENT_NOTICE_INTERVAL_MS: number;
|
|
22
|
+
export declare const PAYMENT_PAUSED_HEADLINE = "\u26A0 MemTree compression is paused: usage limit reached. Subscribe to turn it back on:";
|
|
23
|
+
export declare const PAYMENT_CONTINUES_LINE = "Your session continues uncompressed.";
|
|
24
|
+
export declare const PAYMENT_PAGE_LABEL = "Your MemTree so far:";
|
|
25
|
+
/**
|
|
26
|
+
* The notice lines. URLs sit alone on indented lines (bare, so the terminal's
|
|
27
|
+
* linkifier gets a clean link); the hook renderer styles only the text lines.
|
|
28
|
+
*/
|
|
29
|
+
export declare function paymentNoticeText(detail: string, memtreeUrl?: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* The checkout link in a 402 detail (the server's payment prompt carries a
|
|
32
|
+
* `/payment?user_id=…&user_email=…` link), tagged `source=ccc` like the
|
|
33
|
+
* startup gate's; the pricing page when the detail has none.
|
|
34
|
+
*/
|
|
35
|
+
export declare function subscribeUrlFromDetail(detail: string): string;
|
|
36
|
+
/** When the payment notice may show again (one per ccc process). */
|
|
37
|
+
export declare class PaymentNoticeThrottle {
|
|
38
|
+
private readonly intervalMs;
|
|
39
|
+
private readonly now;
|
|
40
|
+
private lastShownAt;
|
|
41
|
+
constructor(intervalMs?: number, now?: () => number);
|
|
42
|
+
/** Never shown yet, or the interval has passed since it last was. */
|
|
43
|
+
due(): boolean;
|
|
44
|
+
/** Call when a hook actually delivered the notice, not when it was queued. */
|
|
45
|
+
markShown(): void;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=payment-notice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment-notice.d.ts","sourceRoot":"","sources":["../src/payment-notice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AASH;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,QAAiB,CAAC;AAEzD,eAAO,MAAM,uBAAuB,6FACmD,CAAC;AACxF,eAAO,MAAM,sBAAsB,yCACK,CAAC;AACzC,eAAO,MAAM,kBAAkB,yBAAyB,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAO7E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED,oEAAoE;AACpE,qBAAa,qBAAqB;IAI9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG;IAJtB,OAAO,CAAC,WAAW,CAAqB;gBAGrB,UAAU,SAA6B,EACvC,GAAG,GAAE,MAAM,MAAiB;IAG/C,qEAAqE;IACrE,GAAG,IAAI,OAAO;IAId,8EAA8E;IAC9E,SAAS,IAAI,IAAI;CAGlB"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-session notice for an unpaid MemTree key (the server answered 402).
|
|
3
|
+
*
|
|
4
|
+
* ccc never gates the user's own Anthropic call on MemTree: on 402 the turn
|
|
5
|
+
* goes out uncompressed. Without a visible reason, users kept working for
|
|
6
|
+
* hours on uncompressed sessions and never learned why, so the notice says
|
|
7
|
+
* what stopped, how to turn it back on (the subscribe link), and that the
|
|
8
|
+
* session itself carries on.
|
|
9
|
+
*
|
|
10
|
+
* It is throttled: shown on the first 402 of a session, then at most once per
|
|
11
|
+
* PAYMENT_NOTICE_INTERVAL_MS, and again when a session is resumed. A 402
|
|
12
|
+
* typically repeats on every request, so an unthrottled notice would spam
|
|
13
|
+
* every turn.
|
|
14
|
+
*/
|
|
15
|
+
import { sanitizeNoticeDetail } from "./notices.js";
|
|
16
|
+
import { extractPaymentUrl, FALLBACK_SUBSCRIBE_URL, withCheckoutSource, } from "./payment-gate.js";
|
|
17
|
+
/**
|
|
18
|
+
* Re-show interval. Long enough that a busy session sees it a couple of times
|
|
19
|
+
* an hour at most; short enough that someone who keeps working uncompressed
|
|
20
|
+
* is reminded why. Time-based rather than turn-based: fast tool-heavy turns
|
|
21
|
+
* would otherwise make a per-N-turns throttle fire every few minutes.
|
|
22
|
+
*/
|
|
23
|
+
export const PAYMENT_NOTICE_INTERVAL_MS = 30 * 60 * 1000;
|
|
24
|
+
export const PAYMENT_PAUSED_HEADLINE = "⚠ MemTree compression is paused: usage limit reached. Subscribe to turn it back on:";
|
|
25
|
+
export const PAYMENT_CONTINUES_LINE = "Your session continues uncompressed.";
|
|
26
|
+
export const PAYMENT_PAGE_LABEL = "Your MemTree so far:";
|
|
27
|
+
/**
|
|
28
|
+
* The notice lines. URLs sit alone on indented lines (bare, so the terminal's
|
|
29
|
+
* linkifier gets a clean link); the hook renderer styles only the text lines.
|
|
30
|
+
*/
|
|
31
|
+
export function paymentNoticeText(detail, memtreeUrl) {
|
|
32
|
+
const lines = [PAYMENT_PAUSED_HEADLINE, ` ${subscribeUrlFromDetail(detail)}`];
|
|
33
|
+
const account = sanitizeNoticeDetail(detail.split(/[\r\n]/, 1)[0] ?? "");
|
|
34
|
+
lines.push(PAYMENT_CONTINUES_LINE);
|
|
35
|
+
if (account)
|
|
36
|
+
lines.push(account);
|
|
37
|
+
if (memtreeUrl)
|
|
38
|
+
lines.push(PAYMENT_PAGE_LABEL, ` ${memtreeUrl}`);
|
|
39
|
+
return lines.join("\n");
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The checkout link in a 402 detail (the server's payment prompt carries a
|
|
43
|
+
* `/payment?user_id=…&user_email=…` link), tagged `source=ccc` like the
|
|
44
|
+
* startup gate's; the pricing page when the detail has none.
|
|
45
|
+
*/
|
|
46
|
+
export function subscribeUrlFromDetail(detail) {
|
|
47
|
+
const url = extractPaymentUrl(detail);
|
|
48
|
+
return url ? withCheckoutSource(trimUrlPunctuation(url)) : FALLBACK_SUBSCRIBE_URL;
|
|
49
|
+
}
|
|
50
|
+
/** When the payment notice may show again (one per ccc process). */
|
|
51
|
+
export class PaymentNoticeThrottle {
|
|
52
|
+
intervalMs;
|
|
53
|
+
now;
|
|
54
|
+
lastShownAt;
|
|
55
|
+
constructor(intervalMs = PAYMENT_NOTICE_INTERVAL_MS, now = Date.now) {
|
|
56
|
+
this.intervalMs = intervalMs;
|
|
57
|
+
this.now = now;
|
|
58
|
+
}
|
|
59
|
+
/** Never shown yet, or the interval has passed since it last was. */
|
|
60
|
+
due() {
|
|
61
|
+
return this.lastShownAt === undefined || this.now() - this.lastShownAt >= this.intervalMs;
|
|
62
|
+
}
|
|
63
|
+
/** Call when a hook actually delivered the notice, not when it was queued. */
|
|
64
|
+
markShown() {
|
|
65
|
+
this.lastShownAt = this.now();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/** Prose may end a link with a period or bracket; those are not part of it. */
|
|
69
|
+
function trimUrlPunctuation(url) {
|
|
70
|
+
return url.replace(/[).,;:!?'"\]]+$/, "");
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=payment-notice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment-notice.js","sourceRoot":"","sources":["../src/payment-notice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEzD,MAAM,CAAC,MAAM,uBAAuB,GAClC,qFAAqF,CAAC;AACxF,MAAM,CAAC,MAAM,sBAAsB,GACjC,sCAAsC,CAAC;AACzC,MAAM,CAAC,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,UAAmB;IACnE,MAAM,KAAK,GAAG,CAAC,uBAAuB,EAAE,KAAK,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACzE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACnC,IAAI,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,UAAU,EAAE,CAAC,CAAC;IAClE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC;AACpF,CAAC;AAED,oEAAoE;AACpE,MAAM,OAAO,qBAAqB;IAIb;IACA;IAJX,WAAW,CAAqB;IAExC,YACmB,aAAa,0BAA0B,EACvC,MAAoB,IAAI,CAAC,GAAG;QAD5B,eAAU,GAAV,UAAU,CAA6B;QACvC,QAAG,GAAH,GAAG,CAAyB;IAC5C,CAAC;IAEJ,qEAAqE;IACrE,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC;IAC5F,CAAC;IAED,8EAA8E;IAC9E,SAAS;QACP,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAChC,CAAC;CACF;AAED,+EAA+E;AAC/E,SAAS,kBAAkB,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/** The stored fields of a stable prefix (proxy.ts StablePrefix, minus sizes). */
|
|
2
|
+
export interface PersistedPrefix {
|
|
3
|
+
originalSystemHash: string;
|
|
4
|
+
originalPrefixHashes: string[];
|
|
5
|
+
compressedMessages: any[];
|
|
6
|
+
compressedSystem: unknown;
|
|
7
|
+
hasCompressedSystem: boolean;
|
|
8
|
+
targetTokens: number;
|
|
9
|
+
explicitTarget: boolean;
|
|
10
|
+
modelContextLimit: number;
|
|
11
|
+
}
|
|
12
|
+
/** The MemTree page the prefix's memory came from (memory-source pointer). */
|
|
13
|
+
export interface PersistedSource {
|
|
14
|
+
url: string;
|
|
15
|
+
index: string;
|
|
16
|
+
compressed: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface PersistedEntry {
|
|
19
|
+
version: typeof ENTRY_VERSION;
|
|
20
|
+
sessionId: string;
|
|
21
|
+
/** MemtreeClient.storageIdentity of the backend and account that wrote it. */
|
|
22
|
+
owner: string;
|
|
23
|
+
savedAt: number;
|
|
24
|
+
prefix: PersistedPrefix;
|
|
25
|
+
source?: PersistedSource;
|
|
26
|
+
}
|
|
27
|
+
export interface StablePrefixStoreLimits {
|
|
28
|
+
/** Total bytes of all entries (and recent temporary files). */
|
|
29
|
+
maxBytes: number;
|
|
30
|
+
maxEntries: number;
|
|
31
|
+
}
|
|
32
|
+
declare const ENTRY_VERSION = 2;
|
|
33
|
+
export declare const STABLE_PREFIX_STORE_LIMITS: StablePrefixStoreLimits;
|
|
34
|
+
export declare class StablePrefixStore {
|
|
35
|
+
readonly dir: string;
|
|
36
|
+
private readonly limits;
|
|
37
|
+
constructor(dir?: string, limits?: StablePrefixStoreLimits);
|
|
38
|
+
/** The session's entry for `owner`; an unreadable or invalid one is deleted. */
|
|
39
|
+
load(sessionId: string, owner: string): PersistedEntry | undefined;
|
|
40
|
+
/** Replace the session's entry, then evict down to the limits. */
|
|
41
|
+
save(sessionId: string, owner: string, prefix: PersistedPrefix, source: PersistedSource | undefined, now?: number): void;
|
|
42
|
+
delete(sessionId: string, owner: string): void;
|
|
43
|
+
/** Where the entry for this session and owner lives. */
|
|
44
|
+
entryPath(sessionId: string, owner: string): string;
|
|
45
|
+
/**
|
|
46
|
+
* The directory exists (created when `create`), is a real directory (not a
|
|
47
|
+
* symlink) owned by this user, and is mode 700 (repaired when it is not).
|
|
48
|
+
*/
|
|
49
|
+
private privateDir;
|
|
50
|
+
/** Drop stale temporaries, then the oldest saves until the limits fit. */
|
|
51
|
+
private evict;
|
|
52
|
+
/**
|
|
53
|
+
* Entry files with size and save time. Symlinks and stale temporaries are
|
|
54
|
+
* removed; recent temporaries (writes in progress) count toward the size.
|
|
55
|
+
*/
|
|
56
|
+
private scan;
|
|
57
|
+
}
|
|
58
|
+
export {};
|
|
59
|
+
//# sourceMappingURL=prefix-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prefix-store.d.ts","sourceRoot":"","sources":["../src/prefix-store.ts"],"names":[],"mappings":"AA6BA,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,kBAAkB,EAAE,GAAG,EAAE,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,aAAa,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,aAAa,IAAI,CAAC;AACxB,eAAO,MAAM,0BAA0B,EAAE,uBAGxC,CAAC;AAKF,qBAAa,iBAAiB;IAE1B,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADd,GAAG,GAAE,MAAqD,EAClD,MAAM,GAAE,uBAAoD;IAG/E,gFAAgF;IAChF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAUlE,kEAAkE;IAClE,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,eAAe,GAAG,SAAS,EACnC,GAAG,GAAE,MAAmB,GACvB,IAAI;IAWP,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI9C,wDAAwD;IACxD,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAKnD;;;OAGG;IACH,OAAO,CAAC,UAAU;IAYlB,0EAA0E;IAC1E,OAAO,CAAC,KAAK;IAUb;;;OAGG;IACH,OAAO,CAAC,IAAI;CAoBb"}
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Each Claude Code session's adopted compressed prefix (ProxyState
|
|
3
|
+
* .stablePrefixes), kept on disk so a resumed session's first turn rides it
|
|
4
|
+
* instead of blocking on a fresh compress: a new ccc process starts with no
|
|
5
|
+
* prefix, and a large session's compress can outrun its budget.
|
|
6
|
+
*
|
|
7
|
+
* One file per session and owner under ~/.claude-code-infinite/
|
|
8
|
+
* stable-prefixes/. The owner is MemtreeClient.storageIdentity, a hash over the
|
|
9
|
+
* MemTree origin and a hash of the key (never the key): an entry, and the
|
|
10
|
+
* memory-source page in it, is only ever read back for the same backend and
|
|
11
|
+
* account, so a staging/production or key switch never adopts it.
|
|
12
|
+
*
|
|
13
|
+
* Files are mode 600 in a 700 directory owned by this user, written through an
|
|
14
|
+
* exclusive, unpredictably named temporary file and a rename, and opened
|
|
15
|
+
* without following symlinks. The total size and the number of sessions are
|
|
16
|
+
* bounded, the oldest saves are evicted first, and stale temporary files are
|
|
17
|
+
* removed. An entry holds only what reproduces the prefix byte for byte (the
|
|
18
|
+
* compressed messages and system, the identity of the raw prefix they replace)
|
|
19
|
+
* plus the target and window it was built for and its memory-source page. It
|
|
20
|
+
* is schema-checked on load and, by the proxy, validated against the request
|
|
21
|
+
* exactly like the in-memory prefix before adoption. Every failure is
|
|
22
|
+
* swallowed (a missing prefix only costs a compress); contents are never
|
|
23
|
+
* logged.
|
|
24
|
+
*/
|
|
25
|
+
import fs from "node:fs";
|
|
26
|
+
import path from "node:path";
|
|
27
|
+
import { createHash, randomBytes } from "node:crypto";
|
|
28
|
+
import { getConfigDir } from "./config.js";
|
|
29
|
+
const ENTRY_VERSION = 2;
|
|
30
|
+
export const STABLE_PREFIX_STORE_LIMITS = {
|
|
31
|
+
maxBytes: 256 * 1024 * 1024,
|
|
32
|
+
maxEntries: 64,
|
|
33
|
+
};
|
|
34
|
+
/** A temporary file this old belongs to a failed or killed write. */
|
|
35
|
+
const STALE_TEMP_MS = 60_000;
|
|
36
|
+
const NO_FOLLOW = fs.constants.O_NOFOLLOW ?? 0;
|
|
37
|
+
export class StablePrefixStore {
|
|
38
|
+
dir;
|
|
39
|
+
limits;
|
|
40
|
+
constructor(dir = path.join(getConfigDir(), "stable-prefixes"), limits = STABLE_PREFIX_STORE_LIMITS) {
|
|
41
|
+
this.dir = dir;
|
|
42
|
+
this.limits = limits;
|
|
43
|
+
}
|
|
44
|
+
/** The session's entry for `owner`; an unreadable or invalid one is deleted. */
|
|
45
|
+
load(sessionId, owner) {
|
|
46
|
+
if (!this.privateDir(false))
|
|
47
|
+
return undefined;
|
|
48
|
+
const text = readPrivateFile(this.entryPath(sessionId, owner), this.limits.maxBytes);
|
|
49
|
+
if (text === undefined)
|
|
50
|
+
return undefined;
|
|
51
|
+
const entry = parseEntry(text);
|
|
52
|
+
if (entry?.sessionId === sessionId && entry.owner === owner)
|
|
53
|
+
return entry;
|
|
54
|
+
this.delete(sessionId, owner);
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
57
|
+
/** Replace the session's entry, then evict down to the limits. */
|
|
58
|
+
save(sessionId, owner, prefix, source, now = Date.now()) {
|
|
59
|
+
if (!this.privateDir(true))
|
|
60
|
+
return;
|
|
61
|
+
const entry = {
|
|
62
|
+
version: ENTRY_VERSION, sessionId, owner, savedAt: now, prefix,
|
|
63
|
+
...(source ? { source } : {}),
|
|
64
|
+
};
|
|
65
|
+
if (!isEntry(entry))
|
|
66
|
+
return;
|
|
67
|
+
const file = this.entryPath(sessionId, owner);
|
|
68
|
+
if (writeAtomically(this.dir, file, JSON.stringify(entry)))
|
|
69
|
+
this.evict(now);
|
|
70
|
+
}
|
|
71
|
+
delete(sessionId, owner) {
|
|
72
|
+
unlinkQuietly(this.entryPath(sessionId, owner));
|
|
73
|
+
}
|
|
74
|
+
/** Where the entry for this session and owner lives. */
|
|
75
|
+
entryPath(sessionId, owner) {
|
|
76
|
+
const name = createHash("sha256").update(`${owner}\0${sessionId}`).digest("hex");
|
|
77
|
+
return path.join(this.dir, `${name.slice(0, 40)}.json`);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* The directory exists (created when `create`), is a real directory (not a
|
|
81
|
+
* symlink) owned by this user, and is mode 700 (repaired when it is not).
|
|
82
|
+
*/
|
|
83
|
+
privateDir(create) {
|
|
84
|
+
try {
|
|
85
|
+
if (create)
|
|
86
|
+
fs.mkdirSync(this.dir, { recursive: true, mode: 0o700 });
|
|
87
|
+
const stat = fs.lstatSync(this.dir);
|
|
88
|
+
if (!stat.isDirectory() || !ownedByMe(stat))
|
|
89
|
+
return false;
|
|
90
|
+
if ((stat.mode & 0o777) !== 0o700)
|
|
91
|
+
fs.chmodSync(this.dir, 0o700);
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/** Drop stale temporaries, then the oldest saves until the limits fit. */
|
|
99
|
+
evict(now) {
|
|
100
|
+
const { entries, pendingBytes } = this.scan(now);
|
|
101
|
+
entries.sort((a, b) => b.savedAt - a.savedAt);
|
|
102
|
+
let bytes = pendingBytes;
|
|
103
|
+
entries.forEach((entry, i) => {
|
|
104
|
+
bytes += entry.bytes;
|
|
105
|
+
if (i >= this.limits.maxEntries || bytes > this.limits.maxBytes)
|
|
106
|
+
unlinkQuietly(entry.file);
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Entry files with size and save time. Symlinks and stale temporaries are
|
|
111
|
+
* removed; recent temporaries (writes in progress) count toward the size.
|
|
112
|
+
*/
|
|
113
|
+
scan(now) {
|
|
114
|
+
const entries = [];
|
|
115
|
+
let pendingBytes = 0;
|
|
116
|
+
for (const name of safeReaddir(this.dir)) {
|
|
117
|
+
const file = path.join(this.dir, name);
|
|
118
|
+
const stat = safeLstat(file);
|
|
119
|
+
if (!stat)
|
|
120
|
+
continue;
|
|
121
|
+
if (stat.isSymbolicLink()) {
|
|
122
|
+
unlinkQuietly(file);
|
|
123
|
+
}
|
|
124
|
+
else if (!stat.isFile()) {
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
else if (name.endsWith(".tmp")) {
|
|
128
|
+
if (now - stat.mtimeMs >= STALE_TEMP_MS)
|
|
129
|
+
unlinkQuietly(file);
|
|
130
|
+
else
|
|
131
|
+
pendingBytes += stat.size;
|
|
132
|
+
}
|
|
133
|
+
else if (name.endsWith(".json")) {
|
|
134
|
+
entries.push({ file, bytes: stat.size, savedAt: savedAtOf(file, stat.mtimeMs) });
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return { entries, pendingBytes };
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/** Write through an exclusive, unpredictable temporary file and rename it. */
|
|
141
|
+
function writeAtomically(dir, file, text) {
|
|
142
|
+
const tmp = path.join(dir, `.${randomBytes(12).toString("hex")}.tmp`);
|
|
143
|
+
try {
|
|
144
|
+
const fd = fs.openSync(tmp, fs.constants.O_WRONLY | fs.constants.O_CREAT | fs.constants.O_EXCL | NO_FOLLOW, 0o600);
|
|
145
|
+
try {
|
|
146
|
+
fs.writeFileSync(fd, text);
|
|
147
|
+
}
|
|
148
|
+
finally {
|
|
149
|
+
fs.closeSync(fd);
|
|
150
|
+
}
|
|
151
|
+
fs.renameSync(tmp, file);
|
|
152
|
+
return true;
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
unlinkQuietly(tmp);
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
/** A regular file of ours, opened without following a symlink; mode repaired to 600. */
|
|
160
|
+
function readPrivateFile(file, maxBytes) {
|
|
161
|
+
let fd;
|
|
162
|
+
try {
|
|
163
|
+
fd = fs.openSync(file, fs.constants.O_RDONLY | NO_FOLLOW);
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
return undefined;
|
|
167
|
+
}
|
|
168
|
+
try {
|
|
169
|
+
const stat = fs.fstatSync(fd);
|
|
170
|
+
if (!stat.isFile() || !ownedByMe(stat) || stat.size > maxBytes)
|
|
171
|
+
return undefined;
|
|
172
|
+
if ((stat.mode & 0o777) !== 0o600)
|
|
173
|
+
fs.fchmodSync(fd, 0o600);
|
|
174
|
+
return fs.readFileSync(fd, "utf-8");
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
return undefined;
|
|
178
|
+
}
|
|
179
|
+
finally {
|
|
180
|
+
fs.closeSync(fd);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
function ownedByMe(stat) {
|
|
184
|
+
return typeof process.getuid !== "function" || stat.uid === process.getuid();
|
|
185
|
+
}
|
|
186
|
+
function unlinkQuietly(file) {
|
|
187
|
+
try {
|
|
188
|
+
fs.unlinkSync(file);
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
// Already gone.
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
function safeReaddir(dir) {
|
|
195
|
+
try {
|
|
196
|
+
return fs.readdirSync(dir);
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
return [];
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
function safeLstat(file) {
|
|
203
|
+
try {
|
|
204
|
+
return fs.lstatSync(file);
|
|
205
|
+
}
|
|
206
|
+
catch {
|
|
207
|
+
return undefined;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* An entry's savedAt, read from its head without parsing the whole (possibly
|
|
212
|
+
* multi-MB) file; the file mtime when the head does not say.
|
|
213
|
+
*/
|
|
214
|
+
function savedAtOf(file, mtimeMs) {
|
|
215
|
+
try {
|
|
216
|
+
const fd = fs.openSync(file, fs.constants.O_RDONLY | NO_FOLLOW);
|
|
217
|
+
try {
|
|
218
|
+
const head = Buffer.alloc(512);
|
|
219
|
+
const n = fs.readSync(fd, head, 0, head.length, 0);
|
|
220
|
+
const match = /"savedAt":(\d+)/.exec(head.subarray(0, n).toString("utf-8"));
|
|
221
|
+
return match ? Number(match[1]) : mtimeMs;
|
|
222
|
+
}
|
|
223
|
+
finally {
|
|
224
|
+
fs.closeSync(fd);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
catch {
|
|
228
|
+
return mtimeMs;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
function parseEntry(text) {
|
|
232
|
+
try {
|
|
233
|
+
const entry = JSON.parse(text);
|
|
234
|
+
return isEntry(entry) ? entry : undefined;
|
|
235
|
+
}
|
|
236
|
+
catch {
|
|
237
|
+
return undefined;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
function isEntry(v) {
|
|
241
|
+
return isObject(v) && v.version === ENTRY_VERSION &&
|
|
242
|
+
typeof v.sessionId === "string" && nonEmptyString(v.owner) &&
|
|
243
|
+
Number.isFinite(v.savedAt) && isPrefix(v.prefix) &&
|
|
244
|
+
(v.source === undefined || isPageSource(v.source));
|
|
245
|
+
}
|
|
246
|
+
/** The prefix's invariants: the identity of a covered history, and well-formed bytes. */
|
|
247
|
+
function isPrefix(p) {
|
|
248
|
+
return isObject(p) && nonEmptyString(p.originalSystemHash) &&
|
|
249
|
+
Array.isArray(p.originalPrefixHashes) && p.originalPrefixHashes.length > 0 &&
|
|
250
|
+
p.originalPrefixHashes.every(nonEmptyString) &&
|
|
251
|
+
Array.isArray(p.compressedMessages) && p.compressedMessages.length > 0 &&
|
|
252
|
+
p.compressedMessages.every(isMessage) &&
|
|
253
|
+
typeof p.hasCompressedSystem === "boolean" &&
|
|
254
|
+
(p.hasCompressedSystem ? isSystem(p.compressedSystem) : p.compressedSystem == null) &&
|
|
255
|
+
positiveNumber(p.targetTokens) && typeof p.explicitTarget === "boolean" &&
|
|
256
|
+
Number.isInteger(p.modelContextLimit) && p.modelContextLimit > 0;
|
|
257
|
+
}
|
|
258
|
+
/** An Anthropic message: user/assistant role, string or typed-block content. */
|
|
259
|
+
function isMessage(m) {
|
|
260
|
+
const message = m;
|
|
261
|
+
return isObject(message) && (message.role === "user" || message.role === "assistant") &&
|
|
262
|
+
(typeof message.content === "string" || isBlockList(message.content));
|
|
263
|
+
}
|
|
264
|
+
/** A top-level system prompt: a string or typed blocks. */
|
|
265
|
+
function isSystem(system) {
|
|
266
|
+
return typeof system === "string" || isBlockList(system);
|
|
267
|
+
}
|
|
268
|
+
function isBlockList(value) {
|
|
269
|
+
return Array.isArray(value) && value.length > 0 && value.every(isBlock);
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* A content block of a type a compressed prefix can carry, with that type's
|
|
273
|
+
* required fields. Anything else (an unknown type, a missing field) fails, so
|
|
274
|
+
* the entry is deleted and the session rebuilds instead of sending a body
|
|
275
|
+
* Anthropic rejects.
|
|
276
|
+
*/
|
|
277
|
+
function isBlock(value) {
|
|
278
|
+
if (!isObject(value))
|
|
279
|
+
return false;
|
|
280
|
+
const block = value;
|
|
281
|
+
if (block.cache_control !== undefined && !isObject(block.cache_control))
|
|
282
|
+
return false;
|
|
283
|
+
// Maps, not object literals: a type such as "toString" or "__proto__" must
|
|
284
|
+
// not find an inherited property.
|
|
285
|
+
const check = typeof block.type === "string" ? BLOCK_CHECKS.get(block.type) : undefined;
|
|
286
|
+
return check !== undefined && check(block);
|
|
287
|
+
}
|
|
288
|
+
const BLOCK_CHECKS = new Map([
|
|
289
|
+
["text", (b) => typeof b.text === "string"],
|
|
290
|
+
["image", (b) => isSource(b.source, IMAGE_SOURCES)],
|
|
291
|
+
["document", (b) => isSource(b.source, DOCUMENT_SOURCES)],
|
|
292
|
+
["tool_use", (b) => nonEmptyString(b.id) && nonEmptyString(b.name) && isObject(b.input)],
|
|
293
|
+
["tool_result", (b) => nonEmptyString(b.tool_use_id) &&
|
|
294
|
+
(b.content === undefined || typeof b.content === "string" || isBlockList(b.content)) &&
|
|
295
|
+
(b.is_error === undefined || typeof b.is_error === "boolean")],
|
|
296
|
+
["thinking", (b) => typeof b.thinking === "string" && typeof b.signature === "string"],
|
|
297
|
+
["redacted_thinking", (b) => nonEmptyString(b.data)],
|
|
298
|
+
]);
|
|
299
|
+
/** Source kinds and their required string fields. */
|
|
300
|
+
const IMAGE_SOURCES = new Map([
|
|
301
|
+
["base64", ["media_type", "data"]], ["url", ["url"]], ["file", ["file_id"]],
|
|
302
|
+
]);
|
|
303
|
+
const DOCUMENT_SOURCES = new Map([
|
|
304
|
+
...IMAGE_SOURCES, ["text", ["media_type", "data"]],
|
|
305
|
+
]);
|
|
306
|
+
function isSource(value, kinds) {
|
|
307
|
+
if (!isObject(value))
|
|
308
|
+
return false;
|
|
309
|
+
const source = value;
|
|
310
|
+
const fields = typeof source.type === "string" ? kinds.get(source.type) : undefined;
|
|
311
|
+
return fields !== undefined && fields.every((field) => ownString(source, field));
|
|
312
|
+
}
|
|
313
|
+
/** An own (not inherited) non-empty string property. */
|
|
314
|
+
function ownString(record, key) {
|
|
315
|
+
return Object.hasOwn(record, key) && nonEmptyString(record[key]);
|
|
316
|
+
}
|
|
317
|
+
function isPageSource(s) {
|
|
318
|
+
return isObject(s) && typeof s.url === "string" && /^https?:\/\//.test(s.url) &&
|
|
319
|
+
nonEmptyString(s.index) && typeof s.compressed === "boolean";
|
|
320
|
+
}
|
|
321
|
+
function isObject(value) {
|
|
322
|
+
return !!value && typeof value === "object" && !Array.isArray(value);
|
|
323
|
+
}
|
|
324
|
+
function nonEmptyString(value) {
|
|
325
|
+
return typeof value === "string" && value.length > 0;
|
|
326
|
+
}
|
|
327
|
+
function positiveNumber(value) {
|
|
328
|
+
return typeof value === "number" && Number.isFinite(value) && value > 0;
|
|
329
|
+
}
|
|
330
|
+
//# sourceMappingURL=prefix-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prefix-store.js","sourceRoot":"","sources":["../src/prefix-store.ts"],"names":[],"mappings":"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"}
|
package/dist/proxy.d.ts
CHANGED
|
@@ -43,6 +43,7 @@ import { estimateRequestTokens } from "./request-sizing.js";
|
|
|
43
43
|
import { MemtreeClient } from "./memtree.js";
|
|
44
44
|
import type { MemtreeLinkPlacement } from "./cli-args.js";
|
|
45
45
|
import { type MemtreeLinkStore } from "./memtree-links.js";
|
|
46
|
+
import type { StablePrefixStore } from "./prefix-store.js";
|
|
46
47
|
import type { NewestTreeLookup } from "./memtree-newest.js";
|
|
47
48
|
import type { TranscriptUsageSource } from "./transcript-usage.js";
|
|
48
49
|
import type { ProjectMeta } from "./project-meta.js";
|
|
@@ -55,6 +56,11 @@ export interface ProxyOptions {
|
|
|
55
56
|
* client deliberately disables native 1M context.
|
|
56
57
|
*/
|
|
57
58
|
nativeOneMillionContext?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* How often the unpaid-key (402) notice may repeat in a session; defaults
|
|
61
|
+
* to PAYMENT_NOTICE_INTERVAL_MS. Tests shorten it.
|
|
62
|
+
*/
|
|
63
|
+
paymentNoticeIntervalMs?: number;
|
|
58
64
|
/**
|
|
59
65
|
* Tool-turn compaction (default true): a tool turn on any lane whose
|
|
60
66
|
* estimated size reaches the budget compresses once to the target, like a
|
|
@@ -140,6 +146,12 @@ export interface ProxyOptions {
|
|
|
140
146
|
* the CLI passes the default store under ~/.claude-code-infinite.
|
|
141
147
|
*/
|
|
142
148
|
memtreeLinkStore?: MemtreeLinkStore;
|
|
149
|
+
/**
|
|
150
|
+
* Where each session's adopted compressed prefix is persisted so a resumed
|
|
151
|
+
* session's first turn can ride it (prefix-store.ts). Omitted means no
|
|
152
|
+
* persistence (tests); the CLI passes the store under ~/.claude-code-infinite.
|
|
153
|
+
*/
|
|
154
|
+
stablePrefixStore?: StablePrefixStore;
|
|
143
155
|
/**
|
|
144
156
|
* The session's newest completed tree, asked of the server, which the link
|
|
145
157
|
* shown to the user points at (the compress page is only the tree the memory
|
|
@@ -196,6 +208,8 @@ export declare function startProxy(opts: ProxyOptions): Promise<RunningProxy>;
|
|
|
196
208
|
/** The page id in a server-stamped link (`…/m/<id>` or `…/usage/memtree/<id>`). */
|
|
197
209
|
export declare function memtreePageId(pageUrl: string): string | undefined;
|
|
198
210
|
export declare const MEMTREE_COMPACT_MIN_TOKENS = 20000;
|
|
211
|
+
export declare const SUBAGENT_VIEW_NOTE = "(main session's page; subagent pages aren't linked yet)";
|
|
212
|
+
export declare const SUBAGENT_COMPACT_REPLY = "MemTree compact applies to the main session only.";
|
|
199
213
|
/** "50k", "50000", "1.5m" → tokens; undefined when not a positive count. */
|
|
200
214
|
export declare function parseTokenCount(text: string): number | undefined;
|
|
201
215
|
/** Test seam. */
|