claude-code-infinite 1.0.29 → 1.0.31
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 +65 -7
- package/dist/cli-args.d.ts +10 -0
- package/dist/cli-args.d.ts.map +1 -1
- package/dist/cli-args.js +30 -0
- package/dist/cli-args.js.map +1 -1
- package/dist/cli-lifecycle.d.ts +45 -1
- package/dist/cli-lifecycle.d.ts.map +1 -1
- package/dist/cli-lifecycle.js +59 -0
- package/dist/cli-lifecycle.js.map +1 -1
- package/dist/cli-main.js +61 -16
- package/dist/cli-main.js.map +1 -1
- package/dist/count-tokens.d.ts +15 -0
- package/dist/count-tokens.d.ts.map +1 -1
- package/dist/count-tokens.js +23 -1
- package/dist/count-tokens.js.map +1 -1
- package/dist/diagnostics-schema.d.ts.map +1 -1
- package/dist/diagnostics-schema.js +5 -0
- package/dist/diagnostics-schema.js.map +1 -1
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +18 -1
- package/dist/diagnostics.js.map +1 -1
- package/dist/final-index.d.ts +7 -1
- package/dist/final-index.d.ts.map +1 -1
- package/dist/final-index.js +10 -3
- package/dist/final-index.js.map +1 -1
- package/dist/hooks.d.ts +24 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +24 -2
- package/dist/hooks.js.map +1 -1
- package/dist/image-refs.d.ts +51 -0
- package/dist/image-refs.d.ts.map +1 -0
- package/dist/image-refs.js +169 -0
- package/dist/image-refs.js.map +1 -0
- package/dist/image-tokens.d.ts +37 -0
- package/dist/image-tokens.d.ts.map +1 -0
- package/dist/image-tokens.js +158 -0
- package/dist/image-tokens.js.map +1 -0
- package/dist/memtree-body.d.ts +52 -0
- package/dist/memtree-body.d.ts.map +1 -0
- package/dist/memtree-body.js +99 -0
- package/dist/memtree-body.js.map +1 -0
- package/dist/memtree-mcp.d.ts.map +1 -1
- package/dist/memtree-mcp.js +4 -0
- package/dist/memtree-mcp.js.map +1 -1
- package/dist/memtree.d.ts +86 -3
- package/dist/memtree.d.ts.map +1 -1
- package/dist/memtree.js +283 -53
- package/dist/memtree.js.map +1 -1
- package/dist/model-context.d.ts +80 -0
- package/dist/model-context.d.ts.map +1 -0
- package/dist/model-context.js +192 -0
- package/dist/model-context.js.map +1 -0
- package/dist/paused-session.d.ts.map +1 -1
- package/dist/paused-session.js +11 -8
- package/dist/paused-session.js.map +1 -1
- package/dist/payment-gate.d.ts +2 -0
- package/dist/payment-gate.d.ts.map +1 -1
- package/dist/payment-gate.js +1 -1
- package/dist/payment-gate.js.map +1 -1
- package/dist/prefix-store.d.ts +2 -0
- package/dist/prefix-store.d.ts.map +1 -1
- package/dist/prefix-store.js +4 -0
- package/dist/prefix-store.js.map +1 -1
- package/dist/prepared-compression.d.ts +78 -0
- package/dist/prepared-compression.d.ts.map +1 -0
- package/dist/prepared-compression.js +127 -0
- package/dist/prepared-compression.js.map +1 -0
- package/dist/proxy.d.ts +370 -14
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +797 -94
- package/dist/proxy.js.map +1 -1
- package/dist/reqlog.d.ts +55 -0
- package/dist/reqlog.d.ts.map +1 -1
- package/dist/reqlog.js.map +1 -1
- package/dist/request-sizing.d.ts +21 -2
- package/dist/request-sizing.d.ts.map +1 -1
- package/dist/request-sizing.js +57 -11
- package/dist/request-sizing.js.map +1 -1
- package/dist/route-identity.d.ts +27 -0
- package/dist/route-identity.d.ts.map +1 -1
- package/dist/route-identity.js +88 -8
- package/dist/route-identity.js.map +1 -1
- package/dist/token-estimate.d.ts +3 -20
- package/dist/token-estimate.d.ts.map +1 -1
- package/dist/token-estimate.js +9 -50
- package/dist/token-estimate.js.map +1 -1
- package/dist/tool-output-store.d.ts +12 -0
- package/dist/tool-output-store.d.ts.map +1 -0
- package/dist/tool-output-store.js +146 -0
- package/dist/tool-output-store.js.map +1 -0
- package/dist/tool-result-truncation.d.ts +32 -0
- package/dist/tool-result-truncation.d.ts.map +1 -0
- package/dist/tool-result-truncation.js +135 -0
- package/dist/tool-result-truncation.js.map +1 -0
- package/package.json +1 -1
package/dist/prefix-store.d.ts
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
export interface PersistedPrefix {
|
|
3
3
|
originalSystemHash: string;
|
|
4
4
|
originalPrefixHashes: string[];
|
|
5
|
+
/** Media-free identities of the same messages; absent in entries stored before them. */
|
|
6
|
+
originalMediaFreeHashes?: string[];
|
|
5
7
|
compressedMessages: any[];
|
|
6
8
|
compressedSystem: unknown;
|
|
7
9
|
hasCompressedSystem: boolean;
|
|
@@ -1 +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"}
|
|
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,wFAAwF;IACxF,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,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"}
|
package/dist/prefix-store.js
CHANGED
|
@@ -251,6 +251,10 @@ function isPrefix(p) {
|
|
|
251
251
|
return isObject(p) && nonEmptyString(p.originalSystemHash) &&
|
|
252
252
|
Array.isArray(p.originalPrefixHashes) && p.originalPrefixHashes.length > 0 &&
|
|
253
253
|
p.originalPrefixHashes.every(nonEmptyString) &&
|
|
254
|
+
(p.originalMediaFreeHashes === undefined ||
|
|
255
|
+
(Array.isArray(p.originalMediaFreeHashes) &&
|
|
256
|
+
p.originalMediaFreeHashes.length === p.originalPrefixHashes.length &&
|
|
257
|
+
p.originalMediaFreeHashes.every(nonEmptyString))) &&
|
|
254
258
|
Array.isArray(p.compressedMessages) && p.compressedMessages.length > 0 &&
|
|
255
259
|
p.compressedMessages.every(isMessage) &&
|
|
256
260
|
typeof p.hasCompressedSystem === "boolean" &&
|
package/dist/prefix-store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefix-store.js","sourceRoot":"","sources":["../src/prefix-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prefix-store.js","sourceRoot":"","sources":["../src/prefix-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prepared compression (polychat docs/context_memory_request_pipeline.md,
|
|
3
|
+
* "Prepared compression").
|
|
4
|
+
*
|
|
5
|
+
* On the 1M-window models MemTree compresses a session at 960k, just under
|
|
6
|
+
* where plain Claude Code would auto-compact. A tool result that lands near
|
|
7
|
+
* that line (100k at 940k) used to wait on a blocking compress call. Instead,
|
|
8
|
+
* once a session's main-thread request passes PREPARE_START (~850k), the proxy
|
|
9
|
+
* asks MemTree in the background (`prepare: true`, fire and forget, one call
|
|
10
|
+
* per session at a time) for the compressed prefix of the conversation so
|
|
11
|
+
* far, and asks again every ~50k of growth. The turn that would cross the
|
|
12
|
+
* trigger then sends that prefix plus the messages after it, with no compress
|
|
13
|
+
* call; without a usable prepared prefix it compresses as before.
|
|
14
|
+
*
|
|
15
|
+
* This module holds the policy and the per-session bookkeeping; the proxy
|
|
16
|
+
* owns the prefixes (their shape is its StablePrefix).
|
|
17
|
+
*/
|
|
18
|
+
/** Room left below the window for the reply (output and thinking). */
|
|
19
|
+
export declare const COMPRESSION_RESERVE_TOKENS = 40000;
|
|
20
|
+
/** Preparing starts at this share of the trigger: 850k of 960k. */
|
|
21
|
+
export declare const PREPARE_START_RATIO: number;
|
|
22
|
+
/** And refreshes after this much growth (share of the trigger): 50k of 960k. */
|
|
23
|
+
export declare const PREPARE_REFRESH_RATIO: number;
|
|
24
|
+
/**
|
|
25
|
+
* The size at which a request is compressed: the budget, or the window less
|
|
26
|
+
* the reply's room when that is lower ("compress when the projected request
|
|
27
|
+
* plus the reserve would exceed the window or the trigger").
|
|
28
|
+
*/
|
|
29
|
+
export declare function compressionTrigger(budgetTokens: number, contextTokens: number): number;
|
|
30
|
+
/** Where preparing starts for a trigger. */
|
|
31
|
+
export declare function prepareStartTokens(triggerTokens: number): number;
|
|
32
|
+
/** Growth after which a prepared prefix is refreshed. */
|
|
33
|
+
export declare function prepareRefreshTokens(triggerTokens: number): number;
|
|
34
|
+
/** A prepared prefix and the size of the request it was prepared at. */
|
|
35
|
+
export interface Prepared<P> {
|
|
36
|
+
prefix: P;
|
|
37
|
+
/** The planned size of the request that asked for it. */
|
|
38
|
+
atTokens: number;
|
|
39
|
+
/** The trigger it was prepared against; a change discards it. */
|
|
40
|
+
triggerTokens: number;
|
|
41
|
+
/** Its MemTree page, the session's memory source once it is adopted. */
|
|
42
|
+
source?: {
|
|
43
|
+
url: string;
|
|
44
|
+
index: string;
|
|
45
|
+
seq: number;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/** What the planner's size says about preparing for a session. */
|
|
49
|
+
export type PrepareDecision = "prepare" | "too-small" | "in-flight" | "fresh" | "unsupported";
|
|
50
|
+
/** Per-session prepared prefixes and the background calls making them. */
|
|
51
|
+
export declare class PreparedCompressions<P> {
|
|
52
|
+
private readonly ready;
|
|
53
|
+
private readonly inFlight;
|
|
54
|
+
/** The size and trigger of each session's last call, answered or not. */
|
|
55
|
+
private readonly lastAttempt;
|
|
56
|
+
/** Consecutive answers without `prepared: true` (an older server, or a blocked request). */
|
|
57
|
+
private misses;
|
|
58
|
+
/** Whether a request of `tokens` (under `triggerTokens`) should prepare now. */
|
|
59
|
+
decide(sessionId: string, tokens: number, triggerTokens: number): PrepareDecision;
|
|
60
|
+
/** Mark a call in flight for `sessionId`; false when one already is. */
|
|
61
|
+
begin(sessionId: string, tokens: number, triggerTokens: number): boolean;
|
|
62
|
+
/** End the session's call, storing what it prepared (undefined: nothing usable). */
|
|
63
|
+
finish(sessionId: string, prepared: Prepared<P> | undefined): void;
|
|
64
|
+
/**
|
|
65
|
+
* A prepare call's answer: `prepared: true` or not. A server that never says
|
|
66
|
+
* so (one that predates preparing) is not asked again after a few answers.
|
|
67
|
+
*/
|
|
68
|
+
noteServerAnswer(prepared: boolean): void;
|
|
69
|
+
get(sessionId: string): Prepared<P> | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* Forget the session's prepared prefix and its refresh point (used,
|
|
72
|
+
* superseded by a new stable prefix, or no longer a prefix of the history):
|
|
73
|
+
* the next request past the start prepares afresh.
|
|
74
|
+
*/
|
|
75
|
+
discard(sessionId: string): void;
|
|
76
|
+
isInFlight(sessionId: string): boolean;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=prepared-compression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepared-compression.d.ts","sourceRoot":"","sources":["../src/prepared-compression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,sEAAsE;AACtE,eAAO,MAAM,0BAA0B,QAAS,CAAC;AACjD,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,QAAY,CAAC;AAC7C,gFAAgF;AAChF,eAAO,MAAM,qBAAqB,QAAW,CAAC;AAI9C;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAMtF;AAMD,4CAA4C;AAC5C,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,yDAAyD;AACzD,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wEAAwE;AACxE,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,MAAM,EAAE,CAAC,CAAC;IACV,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD;AAED,kEAAkE;AAClE,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,OAAO,GAAG,aAAa,CAAC;AAE9F,0EAA0E;AAC1E,qBAAa,oBAAoB,CAAC,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,yEAAyE;IACzE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgE;IAC5F,4FAA4F;IAC5F,OAAO,CAAC,MAAM,CAAK;IAEnB,gFAAgF;IAChF,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,eAAe;IAgBjF,wEAAwE;IACxE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO;IAaxE,oFAAoF;IACpF,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI;IAYlE;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAIzC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS;IAI/C;;;;OAIG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKhC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;CAGvC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prepared compression (polychat docs/context_memory_request_pipeline.md,
|
|
3
|
+
* "Prepared compression").
|
|
4
|
+
*
|
|
5
|
+
* On the 1M-window models MemTree compresses a session at 960k, just under
|
|
6
|
+
* where plain Claude Code would auto-compact. A tool result that lands near
|
|
7
|
+
* that line (100k at 940k) used to wait on a blocking compress call. Instead,
|
|
8
|
+
* once a session's main-thread request passes PREPARE_START (~850k), the proxy
|
|
9
|
+
* asks MemTree in the background (`prepare: true`, fire and forget, one call
|
|
10
|
+
* per session at a time) for the compressed prefix of the conversation so
|
|
11
|
+
* far, and asks again every ~50k of growth. The turn that would cross the
|
|
12
|
+
* trigger then sends that prefix plus the messages after it, with no compress
|
|
13
|
+
* call; without a usable prepared prefix it compresses as before.
|
|
14
|
+
*
|
|
15
|
+
* This module holds the policy and the per-session bookkeeping; the proxy
|
|
16
|
+
* owns the prefixes (their shape is its StablePrefix).
|
|
17
|
+
*/
|
|
18
|
+
/** Room left below the window for the reply (output and thinking). */
|
|
19
|
+
export const COMPRESSION_RESERVE_TOKENS = 40_000;
|
|
20
|
+
/** Preparing starts at this share of the trigger: 850k of 960k. */
|
|
21
|
+
export const PREPARE_START_RATIO = 850 / 960;
|
|
22
|
+
/** And refreshes after this much growth (share of the trigger): 50k of 960k. */
|
|
23
|
+
export const PREPARE_REFRESH_RATIO = 50 / 960;
|
|
24
|
+
/** Sessions whose prepared prefix is kept (LRU). */
|
|
25
|
+
const PREPARED_MAX_SESSIONS = 16;
|
|
26
|
+
/**
|
|
27
|
+
* The size at which a request is compressed: the budget, or the window less
|
|
28
|
+
* the reply's room when that is lower ("compress when the projected request
|
|
29
|
+
* plus the reserve would exceed the window or the trigger").
|
|
30
|
+
*/
|
|
31
|
+
export function compressionTrigger(budgetTokens, contextTokens) {
|
|
32
|
+
// Never below the 0.8 share the server keeps on a small window (polychat
|
|
33
|
+
// near_window_budget_tokens), where the window less 40k would be lower.
|
|
34
|
+
const windowTrigger = Math.max(contextTokens - COMPRESSION_RESERVE_TOKENS, Math.floor(contextTokens * SMALL_WINDOW_RATIO));
|
|
35
|
+
return Math.min(budgetTokens, windowTrigger);
|
|
36
|
+
}
|
|
37
|
+
/** The share of a small window kept for compression (polychat NEAR_WINDOW_RATIO). */
|
|
38
|
+
const SMALL_WINDOW_RATIO = 0.8;
|
|
39
|
+
/** Answers without `prepared: true` after which a server is taken not to prepare. */
|
|
40
|
+
const UNSUPPORTED_AFTER_MISSES = 3;
|
|
41
|
+
/** Where preparing starts for a trigger. */
|
|
42
|
+
export function prepareStartTokens(triggerTokens) {
|
|
43
|
+
return Math.floor(triggerTokens * PREPARE_START_RATIO);
|
|
44
|
+
}
|
|
45
|
+
/** Growth after which a prepared prefix is refreshed. */
|
|
46
|
+
export function prepareRefreshTokens(triggerTokens) {
|
|
47
|
+
return Math.floor(triggerTokens * PREPARE_REFRESH_RATIO);
|
|
48
|
+
}
|
|
49
|
+
/** Per-session prepared prefixes and the background calls making them. */
|
|
50
|
+
export class PreparedCompressions {
|
|
51
|
+
ready = new Map();
|
|
52
|
+
inFlight = new Map();
|
|
53
|
+
/** The size and trigger of each session's last call, answered or not. */
|
|
54
|
+
lastAttempt = new Map();
|
|
55
|
+
/** Consecutive answers without `prepared: true` (an older server, or a blocked request). */
|
|
56
|
+
misses = 0;
|
|
57
|
+
/** Whether a request of `tokens` (under `triggerTokens`) should prepare now. */
|
|
58
|
+
decide(sessionId, tokens, triggerTokens) {
|
|
59
|
+
if (this.misses >= UNSUPPORTED_AFTER_MISSES)
|
|
60
|
+
return "unsupported";
|
|
61
|
+
if (!(tokens >= prepareStartTokens(triggerTokens)) || tokens >= triggerTokens) {
|
|
62
|
+
return "too-small";
|
|
63
|
+
}
|
|
64
|
+
if (this.inFlight.has(sessionId))
|
|
65
|
+
return "in-flight";
|
|
66
|
+
// A failed call waits for the same growth as a successful one: a MemTree
|
|
67
|
+
// outage costs one background call per refresh step, not one per turn.
|
|
68
|
+
const last = this.lastAttempt.get(sessionId);
|
|
69
|
+
if (last && last.triggerTokens === triggerTokens &&
|
|
70
|
+
tokens >= last.tokens && tokens < last.tokens + prepareRefreshTokens(triggerTokens)) {
|
|
71
|
+
return "fresh";
|
|
72
|
+
}
|
|
73
|
+
return "prepare";
|
|
74
|
+
}
|
|
75
|
+
/** Mark a call in flight for `sessionId`; false when one already is. */
|
|
76
|
+
begin(sessionId, tokens, triggerTokens) {
|
|
77
|
+
if (this.inFlight.has(sessionId))
|
|
78
|
+
return false;
|
|
79
|
+
this.inFlight.set(sessionId, tokens);
|
|
80
|
+
this.lastAttempt.delete(sessionId);
|
|
81
|
+
this.lastAttempt.set(sessionId, { tokens, triggerTokens });
|
|
82
|
+
while (this.lastAttempt.size > PREPARED_MAX_SESSIONS) {
|
|
83
|
+
const oldest = this.lastAttempt.keys().next().value;
|
|
84
|
+
if (oldest === undefined)
|
|
85
|
+
break;
|
|
86
|
+
this.lastAttempt.delete(oldest);
|
|
87
|
+
}
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
/** End the session's call, storing what it prepared (undefined: nothing usable). */
|
|
91
|
+
finish(sessionId, prepared) {
|
|
92
|
+
this.inFlight.delete(sessionId);
|
|
93
|
+
if (!prepared)
|
|
94
|
+
return;
|
|
95
|
+
this.ready.delete(sessionId);
|
|
96
|
+
this.ready.set(sessionId, prepared);
|
|
97
|
+
while (this.ready.size > PREPARED_MAX_SESSIONS) {
|
|
98
|
+
const oldest = this.ready.keys().next().value;
|
|
99
|
+
if (oldest === undefined)
|
|
100
|
+
break;
|
|
101
|
+
this.ready.delete(oldest);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* A prepare call's answer: `prepared: true` or not. A server that never says
|
|
106
|
+
* so (one that predates preparing) is not asked again after a few answers.
|
|
107
|
+
*/
|
|
108
|
+
noteServerAnswer(prepared) {
|
|
109
|
+
this.misses = prepared ? 0 : this.misses + 1;
|
|
110
|
+
}
|
|
111
|
+
get(sessionId) {
|
|
112
|
+
return this.ready.get(sessionId);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Forget the session's prepared prefix and its refresh point (used,
|
|
116
|
+
* superseded by a new stable prefix, or no longer a prefix of the history):
|
|
117
|
+
* the next request past the start prepares afresh.
|
|
118
|
+
*/
|
|
119
|
+
discard(sessionId) {
|
|
120
|
+
this.ready.delete(sessionId);
|
|
121
|
+
this.lastAttempt.delete(sessionId);
|
|
122
|
+
}
|
|
123
|
+
isInFlight(sessionId) {
|
|
124
|
+
return this.inFlight.has(sessionId);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=prepared-compression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepared-compression.js","sourceRoot":"","sources":["../src/prepared-compression.ts"],"names":[],"mappings":"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"}
|