claude-code-infinite 1.0.16 → 1.0.17
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/dist/cli-main.js +3 -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/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/proxy.d.ts +7 -0
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +100 -30
- package/dist/proxy.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"}
|
package/dist/proxy.d.ts
CHANGED
|
@@ -55,6 +55,11 @@ export interface ProxyOptions {
|
|
|
55
55
|
* client deliberately disables native 1M context.
|
|
56
56
|
*/
|
|
57
57
|
nativeOneMillionContext?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* How often the unpaid-key (402) notice may repeat in a session; defaults
|
|
60
|
+
* to PAYMENT_NOTICE_INTERVAL_MS. Tests shorten it.
|
|
61
|
+
*/
|
|
62
|
+
paymentNoticeIntervalMs?: number;
|
|
58
63
|
/**
|
|
59
64
|
* Tool-turn compaction (default true): a tool turn on any lane whose
|
|
60
65
|
* estimated size reaches the budget compresses once to the target, like a
|
|
@@ -196,6 +201,8 @@ export declare function startProxy(opts: ProxyOptions): Promise<RunningProxy>;
|
|
|
196
201
|
/** The page id in a server-stamped link (`…/m/<id>` or `…/usage/memtree/<id>`). */
|
|
197
202
|
export declare function memtreePageId(pageUrl: string): string | undefined;
|
|
198
203
|
export declare const MEMTREE_COMPACT_MIN_TOKENS = 20000;
|
|
204
|
+
export declare const SUBAGENT_VIEW_NOTE = "(main session's page; subagent pages aren't linked yet)";
|
|
205
|
+
export declare const SUBAGENT_COMPACT_REPLY = "MemTree compact applies to the main session only.";
|
|
199
206
|
/** "50k", "50000", "1.5m" → tokens; undefined when not a positive count. */
|
|
200
207
|
export declare function parseTokenCount(text: string): number | undefined;
|
|
201
208
|
/** Test seam. */
|
package/dist/proxy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AASvD,OAAO,EAAiB,qBAAqB,EACD,MAAM,qBAAqB,CAAC;AAiBxE,OAAO,EAKL,aAAa,EAMd,MAAM,cAAc,CAAC;AAyCtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAA8B,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAS5D,OAAO,KAAK,EAAgB,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAOL,KAAK,cAAc,EAGpB,MAAM,aAAa,CAAC;AAgCrB,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;OASG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,8EAA8E;IAC9E,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,oFAAoF;IACpF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB;;;;;;;;;;;;;;OAcG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B;;;;OAIG;IACH,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC;;;;OAIG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB;;;;OAIG;IACH,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACjD;
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"}
|
package/dist/proxy.js
CHANGED
|
@@ -52,9 +52,10 @@ import { chmodSync, mkdirSync, writeFileSync } from "node:fs";
|
|
|
52
52
|
import { join } from "node:path";
|
|
53
53
|
import { cachedPromptTokenCount, checkCompressedHistory, didMemtreeCompress, indexLagEvidence, MemtreeClient, modelBudgetTokens, normalizeMessagesForMemtree, serverFlattenedMessages, rawPromptTokenCount, } from "./memtree.js";
|
|
54
54
|
import { contextLimitForModel, hasEarlierNonToolUserMessage, isAwaySummaryUserMessage, isLocalBashCommandTurn, isNonToolUserMessage, isToolResultUserMessage, lastNonSystemMessage, messagesWithSystem, modelForMemtree, stripSystemReminderText, } from "./turns.js";
|
|
55
|
-
import { COMPRESSED_NOTICE, compressedTotalsText, DEGRADED_NOTICE, NOT_COMPRESSED_NOTE, recapLinkText,
|
|
56
|
-
import { NoticeDeliveryQueue, MEMTREE_COMPACT_COMMAND, MEMTREE_HELP_COMMAND, TRAILER_LABEL, LINK_LABEL, linkLines, terminalSupportsHyperlinks, isMemtreeViewCommand, sessionCommandArgs, parseNoticeHookInput, } from "./hooks.js";
|
|
55
|
+
import { COMPRESSED_NOTICE, compressedTotalsText, DEGRADED_NOTICE, NOT_COMPRESSED_NOTE, recapLinkText, SseNoticeRewriter, stripNoticeBlocks, stripNoticeSystem, } from "./notices.js";
|
|
56
|
+
import { NoticeDeliveryQueue, MEMTREE_COMPACT_COMMAND, MEMTREE_HELP_COMMAND, TRAILER_LABEL, LINK_LABEL, linkLines, urlLine, terminalSupportsHyperlinks, isMemtreeViewCommand, sessionCommandArgs, parseNoticeHookInput, } from "./hooks.js";
|
|
57
57
|
import { hyperlink } from "./payment-gate.js";
|
|
58
|
+
import { PaymentNoticeThrottle, paymentNoticeText } from "./payment-notice.js";
|
|
58
59
|
import { MEMTREE_LINKS_MAX_SESSIONS } from "./memtree-links.js";
|
|
59
60
|
import { describeClaudeCodeRequest, inspectMonitorTranscript, isClaudeCodeSideRequest, memtreeClientMeta, sessionTag, } from "./cc-request.js";
|
|
60
61
|
import { approxTokensFromBytes, mergeUsageFromJsonBody, mergeUsageFromSseEvent, } from "./reqlog.js";
|
|
@@ -260,7 +261,8 @@ export function startProxy(opts) {
|
|
|
260
261
|
const acceptedRequests = new Set();
|
|
261
262
|
const shutdownAbort = new AbortController();
|
|
262
263
|
const state = {
|
|
263
|
-
|
|
264
|
+
paymentNotice: new PaymentNoticeThrottle(opts.paymentNoticeIntervalMs),
|
|
265
|
+
unpaidDetail: () => opts.memtree.paymentRequiredDetail,
|
|
264
266
|
notices: new NoticeDeliveryQueue(),
|
|
265
267
|
mainNoticePending: false,
|
|
266
268
|
mainPromptGeneration: 0,
|
|
@@ -277,6 +279,7 @@ export function startProxy(opts) {
|
|
|
277
279
|
shutdownSignal: shutdownAbort.signal,
|
|
278
280
|
routeInstallFault: opts.routeInstallFault,
|
|
279
281
|
memtreePages: new Map(),
|
|
282
|
+
memorySourcePages: new Map(),
|
|
280
283
|
memtreeCallSeq: 0,
|
|
281
284
|
memtreeLinkStore: opts.memtreeLinkStore,
|
|
282
285
|
newestTrees: opts.newestTrees,
|
|
@@ -547,7 +550,7 @@ async function handleMemTreeFinder(req, res, opts, upstreamPath, url) {
|
|
|
547
550
|
*/
|
|
548
551
|
async function handleMemTreeCurrent(req, res, opts, state, url) {
|
|
549
552
|
const sessionId = url.searchParams.get("session") || undefined;
|
|
550
|
-
const page =
|
|
553
|
+
const page = currentMemorySourcePage(state, sessionId);
|
|
551
554
|
const id = page ? memtreePageId(page.url) : undefined;
|
|
552
555
|
if (!page || !id) {
|
|
553
556
|
res.writeHead(404, { "content-type": "application/json" });
|
|
@@ -579,6 +582,12 @@ async function handleMemTreeCurrent(req, res, opts, state, url) {
|
|
|
579
582
|
}
|
|
580
583
|
}
|
|
581
584
|
const MEMTREE_CURRENT_PATH = `${MEMTREE_PASSTHROUGH_PREFIX}current`;
|
|
585
|
+
/** The page whose memory is in the prompt, else (none adopted yet) the newest page. */
|
|
586
|
+
function currentMemorySourcePage(state, sessionId) {
|
|
587
|
+
if (!sessionId)
|
|
588
|
+
return undefined;
|
|
589
|
+
return state.memorySourcePages.get(sessionId) ?? currentMemtreePage(state, sessionId);
|
|
590
|
+
}
|
|
582
591
|
function currentMemtreePage(state, sessionId) {
|
|
583
592
|
if (!sessionId)
|
|
584
593
|
return undefined;
|
|
@@ -640,7 +649,7 @@ onMainStop) {
|
|
|
640
649
|
if (parsed.agent_id === undefined && parsed.source === "resume") {
|
|
641
650
|
await state.newestTrees?.settle(parsed.session_id);
|
|
642
651
|
}
|
|
643
|
-
const line = resumeLinkLine(state, parsed);
|
|
652
|
+
const line = joinNoticeLines(resumeLinkLine(state, parsed), resumePaymentNotice(state, parsed));
|
|
644
653
|
if (!line) {
|
|
645
654
|
res.writeHead(204);
|
|
646
655
|
res.end();
|
|
@@ -659,16 +668,16 @@ onMainStop) {
|
|
|
659
668
|
// `/memtree-view`: answered here and blocked, so no model turn runs and
|
|
660
669
|
// the prompt never enters the conversation. Not a human turn either, so
|
|
661
670
|
// none of the turn state below is touched.
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
671
|
+
// `/memtree-view` waits briefly for the newest tree; a prompt only warms it.
|
|
672
|
+
// In a subagent's view the command is answered too (with the main
|
|
673
|
+
// session's page): unanswered, the plugin's fallback body would run.
|
|
674
|
+
if (isMemtreeViewCommand(parsed.prompt))
|
|
675
|
+
await state.newestTrees?.settle(parsed.session_id);
|
|
676
|
+
else if (parsed.agent_id === undefined)
|
|
677
|
+
state.newestTrees?.peek(parsed.session_id);
|
|
669
678
|
const commandReply = parsed.agent_id === undefined
|
|
670
679
|
? sessionCommandReply(state, parsed.session_id, parsed.prompt)
|
|
671
|
-
:
|
|
680
|
+
: subagentCommandReply(state, parsed.session_id, parsed.prompt);
|
|
672
681
|
if (commandReply !== undefined) {
|
|
673
682
|
const body = Buffer.from(JSON.stringify({
|
|
674
683
|
decision: "block",
|
|
@@ -1390,6 +1399,11 @@ async function handleMessages(req, res, opts, upstream, state) {
|
|
|
1390
1399
|
return;
|
|
1391
1400
|
}
|
|
1392
1401
|
const installed = installMemoryRoute(state, requestRouteKey, req, body, messages, compressedBody, routeEpoch, routeDecisionGeneration, stable);
|
|
1402
|
+
// The answer's memory is now what future requests reuse; a ride keeps
|
|
1403
|
+
// the prior source, and a failed or stale forward adopts nothing.
|
|
1404
|
+
if (installed && result && linkSeq !== undefined) {
|
|
1405
|
+
noteMemorySource(state, linkSeq, sessionId, result);
|
|
1406
|
+
}
|
|
1393
1407
|
commitRouteDecision();
|
|
1394
1408
|
// Leave this false if installMemoryRoute unexpectedly throws: the
|
|
1395
1409
|
// delivery-complete fallback then gets one safe retry.
|
|
@@ -1596,21 +1610,17 @@ async function handleMessages(req, res, opts, upstream, state) {
|
|
|
1596
1610
|
// it. Degrade to passthrough and queue a display-only hook notice for a
|
|
1597
1611
|
// visible turn. The hidden away-summary request deliberately stays quiet.
|
|
1598
1612
|
// Unpaid key (402, from this compress OR an earlier background index) gets
|
|
1599
|
-
// a payment-specific notice instead of the generic
|
|
1600
|
-
//
|
|
1613
|
+
// a payment-specific notice with the subscribe link instead of the generic
|
|
1614
|
+
// degraded one: on the first 402, then at most once per throttle interval
|
|
1615
|
+
// (counted from actual delivery). In between, unpaid turns stay quiet.
|
|
1601
1616
|
recordTurn(rec, "followup-degraded", forwardBody);
|
|
1602
1617
|
releaseForOriginalFallback();
|
|
1603
1618
|
sendingWhole();
|
|
1604
1619
|
capture(opts, "anthropic-request", forwardBody);
|
|
1605
1620
|
const paymentDetail = opts.memtree.paymentRequiredDetail;
|
|
1606
1621
|
const mayQueueNotice = displayForThisTurn && state.mainPromptGeneration === noticePromptGeneration;
|
|
1607
|
-
if (mayQueueNotice && paymentDetail !== null &&
|
|
1608
|
-
|
|
1609
|
-
state.notices.queueSuffix(detailFirstLine
|
|
1610
|
-
? `${PAYMENT_REQUIRED_NOTICE}\n${detailFirstLine}`
|
|
1611
|
-
: PAYMENT_REQUIRED_NOTICE, () => {
|
|
1612
|
-
state.paymentNoticeShown = true;
|
|
1613
|
-
}, noticePromptId);
|
|
1622
|
+
if (mayQueueNotice && paymentDetail !== null && state.paymentNotice.due()) {
|
|
1623
|
+
state.notices.queueSuffix(paymentNoticeText(paymentDetail, recapLink(state, sessionId)?.link), () => state.paymentNotice.markShown(), noticePromptId);
|
|
1614
1624
|
}
|
|
1615
1625
|
else if (mayQueueNotice && paymentDetail === null) {
|
|
1616
1626
|
state.notices.queueSuffix(DEGRADED_NOTICE, undefined, noticePromptId);
|
|
@@ -1831,6 +1841,25 @@ function resumeLinkLine(state, input) {
|
|
|
1831
1841
|
}
|
|
1832
1842
|
return state.notices.resumeLine(link, sessionId);
|
|
1833
1843
|
}
|
|
1844
|
+
/**
|
|
1845
|
+
* The unpaid-key notice for a resumed main session whose key the server has
|
|
1846
|
+
* already answered 402 for: a resume is a fresh look at the session, so it
|
|
1847
|
+
* says again why it runs uncompressed, regardless of the throttle. The link
|
|
1848
|
+
* line above it already names the session's MemTree page.
|
|
1849
|
+
*/
|
|
1850
|
+
function resumePaymentNotice(state, input) {
|
|
1851
|
+
if (input.agent_id !== undefined || input.source !== "resume")
|
|
1852
|
+
return undefined;
|
|
1853
|
+
const detail = state.unpaidDetail();
|
|
1854
|
+
if (detail === null)
|
|
1855
|
+
return undefined;
|
|
1856
|
+
state.paymentNotice.markShown();
|
|
1857
|
+
return state.notices.warningText(paymentNoticeText(detail));
|
|
1858
|
+
}
|
|
1859
|
+
function joinNoticeLines(...parts) {
|
|
1860
|
+
const present = parts.filter((part) => !!part);
|
|
1861
|
+
return present.length ? present.join("\n") : undefined;
|
|
1862
|
+
}
|
|
1834
1863
|
export const MEMTREE_COMPACT_MIN_TOKENS = 20_000;
|
|
1835
1864
|
/** The reply to a ccc slash command, or undefined for an ordinary prompt. */
|
|
1836
1865
|
function sessionCommandReply(state, sessionId, prompt) {
|
|
@@ -1872,6 +1901,22 @@ function sessionCommandReply(state, sessionId, prompt) {
|
|
|
1872
1901
|
state.compactNow.add(sessionId);
|
|
1873
1902
|
return `${TRAILER_LABEL} compacting: your next message is sent compressed to about ${Math.round(target / 1000)}k tokens, ${keep}`;
|
|
1874
1903
|
}
|
|
1904
|
+
export const SUBAGENT_VIEW_NOTE = "(main session's page; subagent pages aren't linked yet)";
|
|
1905
|
+
export const SUBAGENT_COMPACT_REPLY = "MemTree compact applies to the main session only.";
|
|
1906
|
+
/**
|
|
1907
|
+
* The reply to a ccc slash command typed in a subagent's view. `sessionId` is
|
|
1908
|
+
* the parent session's: the view shows its page, and compaction (per session)
|
|
1909
|
+
* is refused rather than applied to the main conversation from here.
|
|
1910
|
+
*/
|
|
1911
|
+
function subagentCommandReply(state, sessionId, prompt) {
|
|
1912
|
+
if (isMemtreeViewCommand(prompt)) {
|
|
1913
|
+
return `${memtreeViewLine(state, sessionId)}\n${SUBAGENT_VIEW_NOTE}`;
|
|
1914
|
+
}
|
|
1915
|
+
if (sessionCommandArgs(prompt, MEMTREE_COMPACT_COMMAND) !== undefined) {
|
|
1916
|
+
return `${TRAILER_LABEL} ${SUBAGENT_COMPACT_REPLY}`;
|
|
1917
|
+
}
|
|
1918
|
+
return sessionCommandReply(state, sessionId, prompt);
|
|
1919
|
+
}
|
|
1875
1920
|
/** "50k", "50000", "1.5m" → tokens; undefined when not a positive count. */
|
|
1876
1921
|
export function parseTokenCount(text) {
|
|
1877
1922
|
const match = /^(\d+(?:\.\d+)?)\s*([km])?$/i.exec(text.trim());
|
|
@@ -1892,13 +1937,16 @@ function memtreeViewLine(state, sessionId) {
|
|
|
1892
1937
|
return `${TRAILER_LABEL} no page yet: this session has not been indexed. The link appears once it has.`;
|
|
1893
1938
|
}
|
|
1894
1939
|
// Blocked-prompt reasons need an explicit hyperlink in styled terminals.
|
|
1895
|
-
const
|
|
1896
|
-
const lines = linkLines(LINK_LABEL, url, link.note);
|
|
1940
|
+
const lines = linkLines(LINK_LABEL, viewUrl(link.link), link.note);
|
|
1897
1941
|
// The memory the agent works from can be an older tree than the newest one.
|
|
1898
1942
|
return page?.compressed && page.url !== link.link
|
|
1899
|
-
? `${lines}\n
|
|
1943
|
+
? `${lines}\n${urlLine(viewUrl(page.url), "memory from ")}`
|
|
1900
1944
|
: lines;
|
|
1901
1945
|
}
|
|
1946
|
+
/** A `/memtree-view` URL: an explicit OSC 8 link where the terminal has them. */
|
|
1947
|
+
function viewUrl(url) {
|
|
1948
|
+
return terminalSupportsHyperlinks() ? hyperlink(url, url) : url;
|
|
1949
|
+
}
|
|
1902
1950
|
/**
|
|
1903
1951
|
* The link shown for a session: its newest completed tree when the server
|
|
1904
1952
|
* named one (newestTrees), else `source`, the page its memory came from. The
|
|
@@ -1947,12 +1995,30 @@ function noteMemtreePage(state, seq, sessionId, result) {
|
|
|
1947
1995
|
// A cached newest tree may predate this page; ask again.
|
|
1948
1996
|
state.newestTrees?.invalidate(sessionId);
|
|
1949
1997
|
}
|
|
1950
|
-
/**
|
|
1998
|
+
/**
|
|
1999
|
+
* Record a compress answer's page as the source of the memory now forwarded
|
|
2000
|
+
* (memorySourcePages), unless a later-submitted call's memory already is.
|
|
2001
|
+
*/
|
|
2002
|
+
function noteMemorySource(state, seq, sessionId, result) {
|
|
2003
|
+
const url = result.memtreeUrl;
|
|
2004
|
+
const index = result.memtreeIndex;
|
|
2005
|
+
if (!sessionId || !url || !index)
|
|
2006
|
+
return;
|
|
2007
|
+
const latest = state.memorySourcePages.get(sessionId);
|
|
2008
|
+
if (latest && latest.seq >= seq)
|
|
2009
|
+
return;
|
|
2010
|
+
const page = { sessionId, url, index, compressed: didMemtreeCompress(result), seq };
|
|
2011
|
+
rememberPage(state.memorySourcePages, sessionId, page);
|
|
2012
|
+
}
|
|
1951
2013
|
function rememberMemtreePage(state, sessionId, page) {
|
|
1952
|
-
state.memtreePages
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
2014
|
+
rememberPage(state.memtreePages, sessionId, page);
|
|
2015
|
+
}
|
|
2016
|
+
/** Bound optional page state independently of how many sessions use the proxy. */
|
|
2017
|
+
function rememberPage(pages, sessionId, page) {
|
|
2018
|
+
pages.delete(sessionId);
|
|
2019
|
+
pages.set(sessionId, page);
|
|
2020
|
+
while (pages.size > MEMTREE_LINKS_MAX_SESSIONS) {
|
|
2021
|
+
pages.delete(pages.keys().next().value);
|
|
1956
2022
|
}
|
|
1957
2023
|
}
|
|
1958
2024
|
/**
|
|
@@ -3275,6 +3341,10 @@ async function recoverToolRouteMiss(args) {
|
|
|
3275
3341
|
activationAttempted = true;
|
|
3276
3342
|
installedRoute = installed;
|
|
3277
3343
|
installFate = installed ? "installed" : "stale";
|
|
3344
|
+
// Only an installed route makes this answer's memory the reused one.
|
|
3345
|
+
if (installed && linkSeq !== undefined) {
|
|
3346
|
+
noteMemorySource(state, linkSeq, requestSessionId(req), result);
|
|
3347
|
+
}
|
|
3278
3348
|
// A tool continuation can arrive after message_stop while this HTTP
|
|
3279
3349
|
// stream is still draining. Its route is already complete, so a smaller
|
|
3280
3350
|
// window may buy recovery now. Mutate only this attempt's object: a late
|