claude-code-infinite 1.0.21 → 1.0.24
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 +129 -44
- package/dist/claude-env.d.ts +14 -1
- package/dist/claude-env.d.ts.map +1 -1
- package/dist/claude-env.js +17 -1
- package/dist/claude-env.js.map +1 -1
- package/dist/cli-args.d.ts +15 -0
- package/dist/cli-args.d.ts.map +1 -1
- package/dist/cli-args.js +17 -0
- package/dist/cli-args.js.map +1 -1
- package/dist/cli-lifecycle.d.ts +4 -0
- package/dist/cli-lifecycle.d.ts.map +1 -1
- package/dist/cli-lifecycle.js +18 -0
- package/dist/cli-lifecycle.js.map +1 -1
- package/dist/cli-main.js +174 -51
- package/dist/cli-main.js.map +1 -1
- package/dist/cli-output.d.ts +15 -0
- package/dist/cli-output.d.ts.map +1 -0
- package/dist/cli-output.js +26 -0
- package/dist/cli-output.js.map +1 -0
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/count-tokens.d.ts.map +1 -1
- package/dist/count-tokens.js +7 -1
- package/dist/count-tokens.js.map +1 -1
- package/dist/diagnostics-schema.d.ts +44 -0
- package/dist/diagnostics-schema.d.ts.map +1 -0
- package/dist/diagnostics-schema.js +162 -0
- package/dist/diagnostics-schema.js.map +1 -0
- package/dist/diagnostics.d.ts +116 -0
- package/dist/diagnostics.d.ts.map +1 -0
- package/dist/diagnostics.js +316 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/first-tree.d.ts +11 -0
- package/dist/first-tree.d.ts.map +1 -0
- package/dist/first-tree.js +45 -0
- package/dist/first-tree.js.map +1 -0
- package/dist/hooks.d.ts +37 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +69 -9
- package/dist/hooks.js.map +1 -1
- package/dist/link-command.d.ts +50 -0
- package/dist/link-command.d.ts.map +1 -0
- package/dist/link-command.js +168 -0
- package/dist/link-command.js.map +1 -0
- package/dist/memtree-links.d.ts +2 -0
- package/dist/memtree-links.d.ts.map +1 -1
- package/dist/memtree-links.js +4 -0
- package/dist/memtree-links.js.map +1 -1
- package/dist/memtree-mcp-config.d.ts +28 -5
- package/dist/memtree-mcp-config.d.ts.map +1 -1
- package/dist/memtree-mcp-config.js +116 -47
- package/dist/memtree-mcp-config.js.map +1 -1
- package/dist/memtree-mcp.js +1 -1
- package/dist/memtree-newest.d.ts +1 -0
- package/dist/memtree-newest.d.ts.map +1 -1
- package/dist/memtree-newest.js +1 -1
- package/dist/memtree-newest.js.map +1 -1
- package/dist/memtree.d.ts +7 -0
- package/dist/memtree.d.ts.map +1 -1
- package/dist/memtree.js +8 -0
- package/dist/memtree.js.map +1 -1
- package/dist/prefix-store.js +3 -0
- package/dist/prefix-store.js.map +1 -1
- package/dist/proxy.d.ts +28 -2
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +88 -9
- package/dist/proxy.js.map +1 -1
- package/dist/reqlog.d.ts +17 -1
- package/dist/reqlog.d.ts.map +1 -1
- package/dist/reqlog.js.map +1 -1
- package/dist/resume-hint.d.ts +25 -0
- package/dist/resume-hint.d.ts.map +1 -0
- package/dist/resume-hint.js +36 -0
- package/dist/resume-hint.js.map +1 -0
- package/package.json +3 -3
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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"}
|
package/dist/proxy.d.ts
CHANGED
|
@@ -41,12 +41,14 @@
|
|
|
41
41
|
import { capCacheBreakpoints } from "./route-cache.js";
|
|
42
42
|
import { estimateRequestTokens } from "./request-sizing.js";
|
|
43
43
|
import { MemtreeClient } from "./memtree.js";
|
|
44
|
+
import { type FirstTreeIntro } from "./hooks.js";
|
|
44
45
|
import type { MemtreeLinkPlacement } from "./cli-args.js";
|
|
45
46
|
import { type MemtreeLinkStore } from "./memtree-links.js";
|
|
46
47
|
import type { StablePrefixStore } from "./prefix-store.js";
|
|
47
48
|
import type { NewestTreeLookup } from "./memtree-newest.js";
|
|
48
49
|
import type { TranscriptUsageSource } from "./transcript-usage.js";
|
|
49
50
|
import type { ProjectMeta } from "./project-meta.js";
|
|
51
|
+
import type { DiagnosticsRecorder } from "./diagnostics.js";
|
|
50
52
|
import { type MessagesRecord, type RequestLogSink } from "./reqlog.js";
|
|
51
53
|
export interface ProxyOptions {
|
|
52
54
|
memtree: MemtreeClient;
|
|
@@ -146,6 +148,12 @@ export interface ProxyOptions {
|
|
|
146
148
|
* the CLI passes the default store under ~/.claude-code-infinite.
|
|
147
149
|
*/
|
|
148
150
|
memtreeLinkStore?: MemtreeLinkStore;
|
|
151
|
+
/**
|
|
152
|
+
* Announces each session's first tree with a one-time notice (and, for the
|
|
153
|
+
* user's first tree ever, what to do with it) instead of the routine link.
|
|
154
|
+
* Omitted means no intro (tests); the CLI passes the on-disk FirstTreeMarker.
|
|
155
|
+
*/
|
|
156
|
+
firstTreeIntro?: FirstTreeIntro;
|
|
149
157
|
/**
|
|
150
158
|
* Where each session's adopted compressed prefix is persisted so a resumed
|
|
151
159
|
* session's first turn can ride it (prefix-store.ts). Omitted means no
|
|
@@ -177,6 +185,11 @@ export interface ProxyOptions {
|
|
|
177
185
|
* provider decides how often it has something to say.
|
|
178
186
|
*/
|
|
179
187
|
sessionStartNotice?: () => string | undefined;
|
|
188
|
+
/**
|
|
189
|
+
* Client diagnostics (diagnostics.ts): session starts, paused notices shown,
|
|
190
|
+
* and refusals, as allowlisted enums and numbers. Never content.
|
|
191
|
+
*/
|
|
192
|
+
diagnostics?: DiagnosticsRecorder;
|
|
180
193
|
/** Test-only: forward to this origin instead of api.anthropic.com. */
|
|
181
194
|
upstreamOrigin?: string;
|
|
182
195
|
/** Test-only: dump each forwarded /v1/messages body to this directory. */
|
|
@@ -203,13 +216,26 @@ export interface RunningProxy {
|
|
|
203
216
|
* finalizers are awaited; false reports that forced cancellation was needed.
|
|
204
217
|
*/
|
|
205
218
|
drain: (timeoutMs?: number) => Promise<boolean>;
|
|
219
|
+
/**
|
|
220
|
+
* The main session a user could resume now (`ccc --resume <id>`): the last
|
|
221
|
+
* one resumed or forked, or that sent a main-lane turn. Undefined until
|
|
222
|
+
* then, and again after /clear until its first turn.
|
|
223
|
+
*/
|
|
224
|
+
mainSessionId: () => string | undefined;
|
|
206
225
|
}
|
|
207
226
|
/**
|
|
208
227
|
* Budget fallback until the server reports `model_budget_tokens`: this share
|
|
209
|
-
* of the model's context window
|
|
210
|
-
*
|
|
228
|
+
* of the model's context window. 0.8 by default; NEAR_WINDOW_FALLBACK_RATIO
|
|
229
|
+
* (900k of 1M) for the 1M-window models the server budgets at 900k for ccc
|
|
230
|
+
* (NEAR_WINDOW_MODEL_RE). Plain Claude Code 2.1.302 auto-compacts a 1M window
|
|
231
|
+
* at 967k, so MemTree compresses no earlier than ~70k before it would; ccc
|
|
232
|
+
* lifts Claude Code's own 977k refusal (claude-env.ts) so a tool turn that
|
|
233
|
+
* jumps past the budget reaches the proxy and is compressed here.
|
|
211
234
|
*/
|
|
212
235
|
export declare const FALLBACK_BUDGET_WINDOW_RATIO = 0.8;
|
|
236
|
+
export declare const NEAR_WINDOW_FALLBACK_RATIO = 0.9;
|
|
237
|
+
/** The fallback share of the window for `model` (see FALLBACK_BUDGET_WINDOW_RATIO). */
|
|
238
|
+
export declare function fallbackBudgetRatio(model: unknown, modelContextLimit: number): number;
|
|
213
239
|
export declare function startProxy(opts: ProxyOptions): Promise<RunningProxy>;
|
|
214
240
|
/** The page id in a server-stamped link (`…/m/<id>` or `…/usage/memtree/<id>`). */
|
|
215
241
|
export declare function memtreePageId(pageUrl: string): string | undefined;
|
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;
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"}
|
package/dist/proxy.js
CHANGED
|
@@ -59,6 +59,7 @@ import { hyperlink } from "./payment-gate.js";
|
|
|
59
59
|
import { PaymentNoticeThrottle, paymentNoticeText } from "./payment-notice.js";
|
|
60
60
|
import { MEMTREE_LINKS_MAX_SESSIONS } from "./memtree-links.js";
|
|
61
61
|
import { describeClaudeCodeRequest, inspectMonitorTranscript, knownSideRequestKind, transcriptWarning, isClaudeCodeSideRequest, memtreeClientMeta, sessionTag, } from "./cc-request.js";
|
|
62
|
+
import { isResumableSessionId } from "./resume-hint.js";
|
|
62
63
|
import { conservativeBodyTokens } from "./token-estimate.js";
|
|
63
64
|
import { approxTokensFromBytes, mergeUsageFromJsonBody, mergeUsageFromSseEvent, } from "./reqlog.js";
|
|
64
65
|
const DEFAULT_UPSTREAM = "https://api.anthropic.com";
|
|
@@ -92,10 +93,23 @@ const SKIP_RESPONSE_HEADERS = new Set([
|
|
|
92
93
|
]);
|
|
93
94
|
/**
|
|
94
95
|
* Budget fallback until the server reports `model_budget_tokens`: this share
|
|
95
|
-
* of the model's context window
|
|
96
|
-
*
|
|
96
|
+
* of the model's context window. 0.8 by default; NEAR_WINDOW_FALLBACK_RATIO
|
|
97
|
+
* (900k of 1M) for the 1M-window models the server budgets at 900k for ccc
|
|
98
|
+
* (NEAR_WINDOW_MODEL_RE). Plain Claude Code 2.1.302 auto-compacts a 1M window
|
|
99
|
+
* at 967k, so MemTree compresses no earlier than ~70k before it would; ccc
|
|
100
|
+
* lifts Claude Code's own 977k refusal (claude-env.ts) so a tool turn that
|
|
101
|
+
* jumps past the budget reaches the proxy and is compressed here.
|
|
97
102
|
*/
|
|
98
103
|
export const FALLBACK_BUDGET_WINDOW_RATIO = 0.8;
|
|
104
|
+
export const NEAR_WINDOW_FALLBACK_RATIO = 0.9;
|
|
105
|
+
/** Opus 5.5, Opus 5, Opus 4.8 and Fable 5 / 5.1 (polychat LARGE_CONTEXT_MODELS). */
|
|
106
|
+
const NEAR_WINDOW_MODEL_RE = /claude-(?:opus-(?:4-8|5-5|5)|fable-5(?:-1)?)(?![0-9])/i;
|
|
107
|
+
const ONE_MILLION_TOKENS = 1_000_000;
|
|
108
|
+
/** The fallback share of the window for `model` (see FALLBACK_BUDGET_WINDOW_RATIO). */
|
|
109
|
+
export function fallbackBudgetRatio(model, modelContextLimit) {
|
|
110
|
+
return typeof model === "string" && modelContextLimit >= ONE_MILLION_TOKENS &&
|
|
111
|
+
NEAR_WINDOW_MODEL_RE.test(model) ? NEAR_WINDOW_FALLBACK_RATIO : FALLBACK_BUDGET_WINDOW_RATIO;
|
|
112
|
+
}
|
|
99
113
|
/**
|
|
100
114
|
* An explicit target is capped at this share of the budget: a compaction to
|
|
101
115
|
* the budget itself would be over budget again on the next turn and
|
|
@@ -120,9 +134,9 @@ function checkAwaitedIndex(opts, attempt, shutdownSignal) {
|
|
|
120
134
|
// Bound both the individual body read and repeated 202 responses. A page
|
|
121
135
|
// that never completes must eventually return the lane to growth backoff.
|
|
122
136
|
const timeoutMs = Math.max(1, Math.min(opts.awaitedIndexProbeTimeoutMs ?? 5_000, waiting.deadline - Date.now()));
|
|
123
|
-
const
|
|
137
|
+
const probe = abortOnTimeoutOrShutdown(timeoutMs, shutdownSignal);
|
|
124
138
|
opts.memtree
|
|
125
|
-
.fetchMemTree(`/usage/memtree/${waiting.pageId}.json`, "application/json", signal)
|
|
139
|
+
.fetchMemTree(`/usage/memtree/${waiting.pageId}.json`, "application/json", probe.signal)
|
|
126
140
|
.then((page) => {
|
|
127
141
|
if (page.status === 202 && Date.now() < waiting.deadline)
|
|
128
142
|
return;
|
|
@@ -137,9 +151,32 @@ function checkAwaitedIndex(opts, attempt, shutdownSignal) {
|
|
|
137
151
|
attempt.awaitingIndex = undefined;
|
|
138
152
|
})
|
|
139
153
|
.finally(() => {
|
|
154
|
+
probe.dispose();
|
|
140
155
|
waiting.checking = false;
|
|
141
156
|
});
|
|
142
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* A signal that aborts after `timeoutMs` or when `shutdownSignal` aborts.
|
|
160
|
+
* Not AbortSignal.any([shutdown, AbortSignal.timeout(ms)]): on Node 20 the
|
|
161
|
+
* composite holds its sources weakly, so a GC can collect the timeout signal
|
|
162
|
+
* and its abort never fires, leaving a hung probe open for good. Here the
|
|
163
|
+
* timer and the shutdown listener hold the controller until dispose().
|
|
164
|
+
*/
|
|
165
|
+
function abortOnTimeoutOrShutdown(timeoutMs, shutdownSignal) {
|
|
166
|
+
const controller = new AbortController();
|
|
167
|
+
const abort = () => controller.abort();
|
|
168
|
+
// Unreferenced like AbortSignal.timeout: a probe never holds the process open.
|
|
169
|
+
const timer = setTimeout(abort, timeoutMs);
|
|
170
|
+
timer.unref();
|
|
171
|
+
shutdownSignal.addEventListener("abort", abort, { once: true });
|
|
172
|
+
return {
|
|
173
|
+
signal: controller.signal,
|
|
174
|
+
dispose: () => {
|
|
175
|
+
clearTimeout(timer);
|
|
176
|
+
shutdownSignal.removeEventListener("abort", abort);
|
|
177
|
+
},
|
|
178
|
+
};
|
|
179
|
+
}
|
|
143
180
|
/**
|
|
144
181
|
* Record lag evidence from `result` (indexLagEvidence): a refusal of this
|
|
145
182
|
* request then waits for the index, and the cached answer expires after the
|
|
@@ -269,6 +306,7 @@ export function startProxy(opts) {
|
|
|
269
306
|
unpaidDetail: () => opts.memtree.paymentRequiredDetail,
|
|
270
307
|
usageUrl: opts.memtree.usageDashboardUrl,
|
|
271
308
|
sessionStartNotice: opts.sessionStartNotice,
|
|
309
|
+
diagnostics: opts.diagnostics,
|
|
272
310
|
notices: new NoticeDeliveryQueue(),
|
|
273
311
|
mainNoticePending: false,
|
|
274
312
|
mainPromptGeneration: 0,
|
|
@@ -305,6 +343,7 @@ export function startProxy(opts) {
|
|
|
305
343
|
laneSizes: new Map(),
|
|
306
344
|
};
|
|
307
345
|
installMemtreeLink(state, state.memtreeLinkPlacement);
|
|
346
|
+
state.notices.setFirstTreeIntro(opts.firstTreeIntro ?? null);
|
|
308
347
|
const server = http.createServer((req, res) => {
|
|
309
348
|
const accepted = { req, res };
|
|
310
349
|
acceptedRequests.add(accepted);
|
|
@@ -387,6 +426,7 @@ export function startProxy(opts) {
|
|
|
387
426
|
void beginClose();
|
|
388
427
|
},
|
|
389
428
|
drain,
|
|
429
|
+
mainSessionId: () => state.resumableMainSession,
|
|
390
430
|
});
|
|
391
431
|
});
|
|
392
432
|
});
|
|
@@ -617,6 +657,30 @@ export function memtreePageId(pageUrl) {
|
|
|
617
657
|
return undefined;
|
|
618
658
|
}
|
|
619
659
|
}
|
|
660
|
+
const SESSION_START_SOURCES = new Set(["startup", "resume", "clear", "compact"]);
|
|
661
|
+
/** A main-agent SessionStart, for diagnostics; never fails the hook. */
|
|
662
|
+
function recordSessionStart(state, source) {
|
|
663
|
+
try {
|
|
664
|
+
const known = source !== undefined && SESSION_START_SOURCES.has(source);
|
|
665
|
+
state.diagnostics?.record("session_start", { source: known ? source : "other" });
|
|
666
|
+
}
|
|
667
|
+
catch {
|
|
668
|
+
// Diagnostics are best effort.
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
/**
|
|
672
|
+
* A resumed or forked session can be resumed again at once; a fresh or
|
|
673
|
+
* cleared one has nothing to resume until its first turn. Compaction keeps
|
|
674
|
+
* the same session.
|
|
675
|
+
*/
|
|
676
|
+
function noteMainSessionStart(state, source, sessionId) {
|
|
677
|
+
if (source === "resume" || source === "fork") {
|
|
678
|
+
state.resumableMainSession = isResumableSessionId(sessionId) ? sessionId : undefined;
|
|
679
|
+
}
|
|
680
|
+
else if (source === "startup" || source === "clear") {
|
|
681
|
+
state.resumableMainSession = undefined;
|
|
682
|
+
}
|
|
683
|
+
}
|
|
620
684
|
/** Serve only validated Claude hook POSTs on the randomized localhost path. */
|
|
621
685
|
async function handleNoticeHook(req, res, state, reqlog,
|
|
622
686
|
/** A main-lane turn ended: the session may be over (its final index). */
|
|
@@ -655,6 +719,10 @@ onMainStop) {
|
|
|
655
719
|
return;
|
|
656
720
|
}
|
|
657
721
|
if (parsed.hook_event_name === "SessionStart") {
|
|
722
|
+
if (parsed.agent_id === undefined) {
|
|
723
|
+
recordSessionStart(state, parsed.source);
|
|
724
|
+
noteMainSessionStart(state, parsed.source, parsed.session_id);
|
|
725
|
+
}
|
|
658
726
|
// A resume waits briefly for the newest tree; a fresh session has none to wait for.
|
|
659
727
|
if (parsed.agent_id === undefined && parsed.source === "resume") {
|
|
660
728
|
await state.newestTrees?.settle(parsed.session_id);
|
|
@@ -1055,6 +1123,8 @@ async function handleMessages(req, res, opts, upstream, state) {
|
|
|
1055
1123
|
// reply the session ends with (scheduleFinalIndex, on Stop).
|
|
1056
1124
|
const mainSessionId = isMainRequest ? requestSessionId(req) : undefined;
|
|
1057
1125
|
if (mainSessionId !== undefined) {
|
|
1126
|
+
if (isResumableSessionId(mainSessionId))
|
|
1127
|
+
state.resumableMainSession = mainSessionId;
|
|
1058
1128
|
opts.memtree.noteMainConversation(mainSessionId, {
|
|
1059
1129
|
messages: msgsForMemtree,
|
|
1060
1130
|
modelContextLimit,
|
|
@@ -1648,7 +1718,10 @@ async function handleMessages(req, res, opts, upstream, state) {
|
|
|
1648
1718
|
const paymentDetail = opts.memtree.paymentRequiredDetail;
|
|
1649
1719
|
const mayQueueNotice = displayForThisTurn && state.mainPromptGeneration === noticePromptGeneration;
|
|
1650
1720
|
if (mayQueueNotice && paymentDetail !== null && state.paymentNotice.due()) {
|
|
1651
|
-
state.notices.queueSuffix(paymentNoticeText(paymentDetail, recapLink(state, sessionId)?.link), () =>
|
|
1721
|
+
state.notices.queueSuffix(paymentNoticeText(paymentDetail, recapLink(state, sessionId)?.link), () => {
|
|
1722
|
+
state.paymentNotice.markShown();
|
|
1723
|
+
state.diagnostics?.record("paused_notice", { trigger: "turn" });
|
|
1724
|
+
}, noticePromptId);
|
|
1652
1725
|
}
|
|
1653
1726
|
else if (mayQueueNotice && paymentDetail === null) {
|
|
1654
1727
|
state.notices.queueSuffix(DEGRADED_NOTICE, undefined, noticePromptId);
|
|
@@ -1882,6 +1955,7 @@ function resumePaymentNotice(state, input) {
|
|
|
1882
1955
|
if (detail === null)
|
|
1883
1956
|
return undefined;
|
|
1884
1957
|
state.paymentNotice.markShown();
|
|
1958
|
+
state.diagnostics?.record("paused_notice", { trigger: "resume" });
|
|
1885
1959
|
return state.notices.warningText(paymentNoticeText(detail));
|
|
1886
1960
|
}
|
|
1887
1961
|
/** The caller's extra SessionStart line; a throwing provider shows nothing. */
|
|
@@ -2399,7 +2473,7 @@ function serverBudgetKey(model, modelContextLimit) {
|
|
|
2399
2473
|
/**
|
|
2400
2474
|
* The session's whole-request budget: CCC_BUDGET_TOKENS when set (tests),
|
|
2401
2475
|
* else the model budget the server last reported for this model and window,
|
|
2402
|
-
* else the window times
|
|
2476
|
+
* else the window times fallbackBudgetRatio (servers that predate
|
|
2403
2477
|
* `model_budget_tokens`, and the first request before any response).
|
|
2404
2478
|
*/
|
|
2405
2479
|
function resolveBudget(opts, state, model, modelContextLimit) {
|
|
@@ -2410,7 +2484,7 @@ function resolveBudget(opts, state, model, modelContextLimit) {
|
|
|
2410
2484
|
if (reported !== undefined)
|
|
2411
2485
|
return { tokens: reported, source: "server" };
|
|
2412
2486
|
return {
|
|
2413
|
-
tokens: Math.floor(modelContextLimit *
|
|
2487
|
+
tokens: Math.floor(modelContextLimit * fallbackBudgetRatio(model, modelContextLimit)),
|
|
2414
2488
|
source: "window-ratio",
|
|
2415
2489
|
};
|
|
2416
2490
|
}
|
|
@@ -3863,12 +3937,17 @@ function refuseWholeRequest(args, inputTokens, budgetTokens) {
|
|
|
3863
3937
|
const failure = args.state.fallbackFailures.fail(args.routeKey, { awaitingIndex: args.rec.indexBehind === true });
|
|
3864
3938
|
args.rec.forwardedBytes = 0;
|
|
3865
3939
|
args.rec.approxInputTokens = 0;
|
|
3866
|
-
|
|
3940
|
+
args.state.diagnostics?.record("refusal", {
|
|
3941
|
+
status: failure.status, attempt: failure.attempt,
|
|
3942
|
+
input_ktokens: Math.round(inputTokens / 1000), budget_ktokens: Math.round(budgetTokens / 1000),
|
|
3943
|
+
});
|
|
3944
|
+
// To requests.jsonl, never the console: Claude Code's TUI shows stderr inline.
|
|
3945
|
+
args.rec.refusal = {
|
|
3867
3946
|
lane: args.routeKey, attempt: failure.attempt, status: failure.status,
|
|
3868
3947
|
inputTokens, outputTokens: args.body.max_tokens ?? 0,
|
|
3869
3948
|
outputReservation: bodyOutputReservation(args.body), indexBehind: args.rec.indexBehind === true,
|
|
3870
3949
|
budgetTokens, modelContextLimit: args.modelContextLimit,
|
|
3871
|
-
}
|
|
3950
|
+
};
|
|
3872
3951
|
if (args.res.headersSent || args.res.destroyed)
|
|
3873
3952
|
return false;
|
|
3874
3953
|
args.res.writeHead(failure.status, { "content-type": "application/json", ...failure.headers });
|