claude-code-infinite 1.0.33 → 1.0.35
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 +60 -2
- package/dist/cli-main.js +24 -9
- package/dist/cli-main.js.map +1 -1
- package/dist/cli.js +23 -10
- package/dist/cli.js.map +1 -1
- package/dist/hooks.d.ts +20 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +34 -4
- package/dist/hooks.js.map +1 -1
- package/dist/host-session.d.ts +12 -0
- package/dist/host-session.d.ts.map +1 -0
- package/dist/host-session.js +12 -0
- package/dist/host-session.js.map +1 -0
- package/dist/image-refs.d.ts +24 -2
- package/dist/image-refs.d.ts.map +1 -1
- package/dist/image-refs.js +67 -20
- package/dist/image-refs.js.map +1 -1
- package/dist/index-wait-413.d.ts +26 -0
- package/dist/index-wait-413.d.ts.map +1 -0
- package/dist/index-wait-413.js +113 -0
- package/dist/index-wait-413.js.map +1 -0
- package/dist/memtree-finder.d.ts +70 -6
- package/dist/memtree-finder.d.ts.map +1 -1
- package/dist/memtree-finder.js +150 -20
- package/dist/memtree-finder.js.map +1 -1
- package/dist/memtree-handover.d.ts +13 -0
- package/dist/memtree-handover.d.ts.map +1 -0
- package/dist/memtree-handover.js +231 -0
- package/dist/memtree-handover.js.map +1 -0
- package/dist/memtree-mcp-config.d.ts +2 -2
- package/dist/memtree-mcp-config.d.ts.map +1 -1
- package/dist/memtree-mcp-config.js +8 -5
- package/dist/memtree-mcp-config.js.map +1 -1
- package/dist/memtree-mcp.d.ts +182 -2
- package/dist/memtree-mcp.d.ts.map +1 -1
- package/dist/memtree-mcp.js +357 -38
- package/dist/memtree-mcp.js.map +1 -1
- package/dist/memtree-newest.d.ts +31 -5
- package/dist/memtree-newest.d.ts.map +1 -1
- package/dist/memtree-newest.js +65 -13
- package/dist/memtree-newest.js.map +1 -1
- package/dist/memtree-times.d.ts +33 -0
- package/dist/memtree-times.d.ts.map +1 -1
- package/dist/memtree-times.js +77 -0
- package/dist/memtree-times.js.map +1 -1
- package/dist/memtree-tools.d.ts +19 -5
- package/dist/memtree-tools.d.ts.map +1 -1
- package/dist/memtree-tools.js +97 -23
- package/dist/memtree-tools.js.map +1 -1
- package/dist/memtree.d.ts +33 -0
- package/dist/memtree.d.ts.map +1 -1
- package/dist/memtree.js +92 -4
- package/dist/memtree.js.map +1 -1
- package/dist/network-failure.d.ts +28 -0
- package/dist/network-failure.d.ts.map +1 -0
- package/dist/network-failure.js +67 -0
- package/dist/network-failure.js.map +1 -0
- package/dist/prefix-store.d.ts +4 -0
- package/dist/prefix-store.d.ts.map +1 -1
- package/dist/prefix-store.js +8 -4
- package/dist/prefix-store.js.map +1 -1
- package/dist/project-trees.d.ts +15 -7
- package/dist/project-trees.d.ts.map +1 -1
- package/dist/project-trees.js +20 -9
- package/dist/project-trees.js.map +1 -1
- package/dist/proxy.d.ts +85 -1
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +552 -44
- package/dist/proxy.js.map +1 -1
- package/dist/refusal-reason.d.ts +69 -0
- package/dist/refusal-reason.d.ts.map +1 -0
- package/dist/refusal-reason.js +131 -0
- package/dist/refusal-reason.js.map +1 -0
- package/dist/reqlog.d.ts +43 -0
- package/dist/reqlog.d.ts.map +1 -1
- package/dist/reqlog.js.map +1 -1
- package/dist/resume-guidance.d.ts +9 -3
- package/dist/resume-guidance.d.ts.map +1 -1
- package/dist/resume-guidance.js +9 -3
- package/dist/resume-guidance.js.map +1 -1
- package/dist/route-fallback.d.ts +79 -11
- package/dist/route-fallback.d.ts.map +1 -1
- package/dist/route-fallback.js +162 -38
- package/dist/route-fallback.js.map +1 -1
- package/dist/route-identity.d.ts +6 -2
- package/dist/route-identity.d.ts.map +1 -1
- package/dist/route-identity.js +209 -16
- package/dist/route-identity.js.map +1 -1
- package/dist/slow-upload.d.ts +40 -0
- package/dist/slow-upload.d.ts.map +1 -0
- package/dist/slow-upload.js +69 -0
- package/dist/slow-upload.js.map +1 -0
- package/dist/status-link.d.ts +18 -0
- package/dist/status-link.d.ts.map +1 -0
- package/dist/status-link.js +103 -0
- package/dist/status-link.js.map +1 -0
- package/dist/statusline.d.ts +51 -0
- package/dist/statusline.d.ts.map +1 -0
- package/dist/statusline.js +379 -0
- package/dist/statusline.js.map +1 -0
- package/dist/subagent-hint.d.ts +28 -0
- package/dist/subagent-hint.d.ts.map +1 -1
- package/dist/subagent-hint.js +37 -0
- package/dist/subagent-hint.js.map +1 -1
- package/package.json +1 -1
package/dist/memtree.js
CHANGED
|
@@ -23,6 +23,8 @@ import { usageDashboardUrl } from "./usage-link.js";
|
|
|
23
23
|
import { extendsHistory, mediaFreeMessageHash } from "./route-identity.js";
|
|
24
24
|
import { withShortPaymentUrl } from "./payment-gate.js";
|
|
25
25
|
import { isKeyRejected, keyPageUrl } from "./key-page.js";
|
|
26
|
+
import { indexWaitFrom413 } from "./index-wait-413.js";
|
|
27
|
+
import { networkFailureOf } from "./network-failure.js";
|
|
26
28
|
import { IMAGE_REFS_FEATURE, ImageRefs, MISSING_IMAGES_STATUS, missingImageShas, refusesImageRefs, } from "./image-refs.js";
|
|
27
29
|
import { planMemtreeBody } from "./memtree-body.js";
|
|
28
30
|
import { stripCcSystemReminders, } from "./turns.js";
|
|
@@ -197,6 +199,20 @@ export function indexLagEvidence(result) {
|
|
|
197
199
|
return !didMemtreeCompress(result) && !(cachedPromptTokenCount(result) ?? 0) &&
|
|
198
200
|
typeof result.memtreeUrl === "string" && result.memtreeUrl.length > 0;
|
|
199
201
|
}
|
|
202
|
+
/** The server's `memory_ready_in_seconds`, when it is a positive number. */
|
|
203
|
+
export function memoryReadySeconds(result) {
|
|
204
|
+
const seconds = result.memory_ready_in_seconds;
|
|
205
|
+
return typeof seconds === "number" && Number.isFinite(seconds) && seconds > 0
|
|
206
|
+
? seconds : undefined;
|
|
207
|
+
}
|
|
208
|
+
/** Tokens of this request MemTree has not indexed yet (raw prompt less indexed), if known. */
|
|
209
|
+
export function unindexedTokenCount(result) {
|
|
210
|
+
const raw = rawPromptTokenCount(result);
|
|
211
|
+
const indexed = cachedPromptTokenCount(result);
|
|
212
|
+
if (raw === undefined || indexed === undefined)
|
|
213
|
+
return undefined;
|
|
214
|
+
return Math.max(0, raw - indexed);
|
|
215
|
+
}
|
|
200
216
|
function nonNegativeCount(value) {
|
|
201
217
|
return typeof value === "number" && Number.isFinite(value) && value >= 0
|
|
202
218
|
? value
|
|
@@ -819,10 +835,14 @@ export class MemtreeClient {
|
|
|
819
835
|
lastAnswerKeyInvalid = false;
|
|
820
836
|
/** Whether the latest such call succeeded; undefined before any answer. */
|
|
821
837
|
lastAnswerOk;
|
|
838
|
+
/** The latest call's connection failure, until a later call gets any answer. */
|
|
839
|
+
lastUnreachable;
|
|
822
840
|
/** Complete compression request key → whether its latest failure arms fuse. */
|
|
823
841
|
compressFailureArming = new Map();
|
|
824
842
|
/** HTTP status of each key's latest failed compress (absent: no response). */
|
|
825
843
|
compressFailureStatus = new Map();
|
|
844
|
+
/** Seconds of indexing left, per compress call that MemTree answered with an indexing 413. */
|
|
845
|
+
compressIndexWaits = new WeakMap();
|
|
826
846
|
/**
|
|
827
847
|
* Non-null when the server last answered 402 (unpaid MemTree key): the
|
|
828
848
|
* server's human-readable detail text. Set by both compression and
|
|
@@ -871,6 +891,13 @@ export class MemtreeClient {
|
|
|
871
891
|
get answering() {
|
|
872
892
|
return this.lastAnswerOk;
|
|
873
893
|
}
|
|
894
|
+
/**
|
|
895
|
+
* The connection failure (DNS or connect) of the latest compress or prepare call that got
|
|
896
|
+
* no answer, while no later call got one; undefined once MemTree answers any call.
|
|
897
|
+
*/
|
|
898
|
+
get unreachable() {
|
|
899
|
+
return this.lastUnreachable;
|
|
900
|
+
}
|
|
874
901
|
/** Where to get a new key for this client's environment (its base URL). */
|
|
875
902
|
get keyPageUrl() {
|
|
876
903
|
return keyPageUrl(this.baseUrl);
|
|
@@ -998,6 +1025,14 @@ export class MemtreeClient {
|
|
|
998
1025
|
lastCompressFailureStatus(hash, modelContextLimit, meta) {
|
|
999
1026
|
return this.compressFailureStatus.get(this.compressKey(hash, modelContextLimit, meta));
|
|
1000
1027
|
}
|
|
1028
|
+
/**
|
|
1029
|
+
* When the compress call `call` (as compress() returned it, joined or not) failed with
|
|
1030
|
+
* MemTree's 413 for an index still catching up (index-wait-413.ts): the seconds of
|
|
1031
|
+
* indexing it said were left. Undefined for any other outcome, or before it settles.
|
|
1032
|
+
*/
|
|
1033
|
+
compressIndexWait(call) {
|
|
1034
|
+
return this.compressIndexWaits.get(call);
|
|
1035
|
+
}
|
|
1001
1036
|
/**
|
|
1002
1037
|
* Blocking user-turn compression. Returns null on ANY failure (timeout,
|
|
1003
1038
|
* network, 4xx/5xx including 402) — the caller must degrade to passthrough.
|
|
@@ -1058,6 +1093,9 @@ export class MemtreeClient {
|
|
|
1058
1093
|
if (first !== undefined)
|
|
1059
1094
|
this.compressFailureStatus.delete(first);
|
|
1060
1095
|
}
|
|
1096
|
+
if (typeof err?.indexWaitSeconds === "number") {
|
|
1097
|
+
this.compressIndexWaits.set(promise, err.indexWaitSeconds);
|
|
1098
|
+
}
|
|
1061
1099
|
// Don't cache failures — drop the entry so retries (e.g. Claude Code's
|
|
1062
1100
|
// automatic retry of an identical request) hit the server again.
|
|
1063
1101
|
if (this.compressCache.get(cacheKey) === promise) {
|
|
@@ -1582,7 +1620,13 @@ export class MemtreeClient {
|
|
|
1582
1620
|
? { value: opts.serializedMessages, refs: opts.serializedImageRefs ?? [] } : undefined,
|
|
1583
1621
|
imageRefs: refs ? this.imageRefs : undefined,
|
|
1584
1622
|
});
|
|
1585
|
-
|
|
1623
|
+
let planned = plan(opts.imageRefs !== false);
|
|
1624
|
+
// A compress over the limit is not sent at all: before that, try it with images
|
|
1625
|
+
// the server has not listed as references too (a resumed session's first call).
|
|
1626
|
+
const unconfirmed = planned.payload === undefined && !opts.indexOnly &&
|
|
1627
|
+
opts.imageRefs !== false ? this.planUnconfirmed(body, messages) : undefined;
|
|
1628
|
+
if (unconfirmed)
|
|
1629
|
+
planned = unconfirmed;
|
|
1586
1630
|
if (planned.payload === undefined)
|
|
1587
1631
|
throw this.oversized(planned.limit, opts);
|
|
1588
1632
|
const payload = planned.payload;
|
|
@@ -1608,8 +1652,16 @@ export class MemtreeClient {
|
|
|
1608
1652
|
if (opts.signal?.aborted)
|
|
1609
1653
|
abort();
|
|
1610
1654
|
try {
|
|
1611
|
-
const response = await this.postRetryingDrop(payload, opts, controller.signal)
|
|
1655
|
+
const response = await this.postRetryingDrop(payload, opts, controller.signal)
|
|
1656
|
+
.catch((err) => {
|
|
1657
|
+
// A background index call is no request's own evidence (review r1): it may clear
|
|
1658
|
+
// the state by an answer, never set it.
|
|
1659
|
+
if (!opts.indexOnly)
|
|
1660
|
+
this.noteUnreachable(err);
|
|
1661
|
+
throw err;
|
|
1662
|
+
});
|
|
1612
1663
|
status = response.status;
|
|
1664
|
+
this.lastUnreachable = undefined;
|
|
1613
1665
|
if (planned.refs.length && !response.ok) {
|
|
1614
1666
|
refusalText = await readUnlessAborted(response, controller.signal);
|
|
1615
1667
|
if (this.refusedRefs(response.status, refusalText, planned.refs)) {
|
|
@@ -1619,8 +1671,12 @@ export class MemtreeClient {
|
|
|
1619
1671
|
// budget adds its allowance to what is left, however negative.
|
|
1620
1672
|
resent = true;
|
|
1621
1673
|
const budget = opts.timeoutMs;
|
|
1674
|
+
// Unconfirmed references the server named as missing: only those go as bytes
|
|
1675
|
+
// (all bytes would be over the limit again), once.
|
|
1676
|
+
const keepRefs = unconfirmed !== undefined && !opts.unconfirmedRetry &&
|
|
1677
|
+
namesMissingImages(response.status, refusalText);
|
|
1622
1678
|
return await this.callContextMemory(messages, modelContextLimit, {
|
|
1623
|
-
...opts, imageRefs: false,
|
|
1679
|
+
...opts, ...(keepRefs ? { unconfirmedRetry: true } : { imageRefs: false }),
|
|
1624
1680
|
get timeoutMs() { return budget - (Date.now() - started); },
|
|
1625
1681
|
});
|
|
1626
1682
|
}
|
|
@@ -1635,9 +1691,15 @@ export class MemtreeClient {
|
|
|
1635
1691
|
keyRefused = isKeyRejected(response.status, text);
|
|
1636
1692
|
// The status rides on the error so compress() can classify the
|
|
1637
1693
|
// failure for the fuse without parsing message text.
|
|
1638
|
-
throw Object.assign(new Error(`context_memory ${response.status}: ${text.slice(0, 300)}`), { status: response.status
|
|
1694
|
+
throw Object.assign(new Error(`context_memory ${response.status}: ${text.slice(0, 300)}`), { status: response.status,
|
|
1695
|
+
indexWaitSeconds: indexWaitFrom413(response.status, text, response.headers.get("retry-after"), Date.now(), response.headers.get("x-polychat-index-pending")) });
|
|
1639
1696
|
}
|
|
1640
1697
|
const json = (await response.json());
|
|
1698
|
+
if (unconfirmed && !ImageRefs.resolvedBy(json)) {
|
|
1699
|
+
// No proof the server put the images back: its result may hold references.
|
|
1700
|
+
this.imageRefs.disable();
|
|
1701
|
+
throw new Error("context_memory answer does not show it resolves image references");
|
|
1702
|
+
}
|
|
1641
1703
|
this.imageRefs.noteAnswer(json);
|
|
1642
1704
|
// An index-only ack is `{ messages: [], usage: {...zeros}, index_only:
|
|
1643
1705
|
// true }` by contract: the server skips compression and returns no
|
|
@@ -1706,6 +1768,7 @@ export class MemtreeClient {
|
|
|
1706
1768
|
status,
|
|
1707
1769
|
requestBytes: Buffer.byteLength(payload),
|
|
1708
1770
|
...(planned.limit ? { bodyLimit: planned.limit } : {}),
|
|
1771
|
+
...(unconfirmed ? { unconfirmedImageRefs: unconfirmed.refs.length } : {}),
|
|
1709
1772
|
// Aborted by an exit drain that ran out: a known cut, not a server failure.
|
|
1710
1773
|
...(!ok && this.drainCutting && controller.signal.aborted
|
|
1711
1774
|
? { exitCut: true, finalIndex: opts.finalIndex === true }
|
|
@@ -1718,6 +1781,13 @@ export class MemtreeClient {
|
|
|
1718
1781
|
});
|
|
1719
1782
|
}
|
|
1720
1783
|
}
|
|
1784
|
+
/** Remember a call's connection failure (memtree.unreachable); other errors are no news. */
|
|
1785
|
+
noteUnreachable(err) {
|
|
1786
|
+
const failure = networkFailureOf(err, URL.canParse(this.baseUrl)
|
|
1787
|
+
? new URL(this.baseUrl).host : this.baseUrl);
|
|
1788
|
+
if (failure)
|
|
1789
|
+
this.lastUnreachable = failure;
|
|
1790
|
+
}
|
|
1721
1791
|
/**
|
|
1722
1792
|
* A compress or prepare call's POST, sent once more (within the same budget) when its
|
|
1723
1793
|
* connection dropped while the body was still uploading: a Wi-Fi switch cut a 24 MB
|
|
@@ -1788,6 +1858,7 @@ export class MemtreeClient {
|
|
|
1788
1858
|
const refused = refusesImageRefs(status, text);
|
|
1789
1859
|
if (missing !== undefined) {
|
|
1790
1860
|
this.imageRefs.forget(missing.length ? missing : refs);
|
|
1861
|
+
this.imageRefs.noteMissing(missing);
|
|
1791
1862
|
}
|
|
1792
1863
|
else if (refused === "never") {
|
|
1793
1864
|
this.imageRefs.disable();
|
|
@@ -1801,6 +1872,19 @@ export class MemtreeClient {
|
|
|
1801
1872
|
this.log(`context_memory ${status} on image references: sending their bytes`);
|
|
1802
1873
|
return true;
|
|
1803
1874
|
}
|
|
1875
|
+
/**
|
|
1876
|
+
* `body` with every image the server has not said it lacks as a reference, when
|
|
1877
|
+
* that fits the limit (image-refs.ts: referenceUnconfirmed); undefined otherwise.
|
|
1878
|
+
*/
|
|
1879
|
+
planUnconfirmed(body, messages) {
|
|
1880
|
+
const referenced = this.imageRefs.referenceUnconfirmed(messages);
|
|
1881
|
+
const planned = referenced.refs.length
|
|
1882
|
+
? planMemtreeBody({ body, messages: referenced.value, indexOnly: false }) : undefined;
|
|
1883
|
+
if (planned?.payload !== undefined)
|
|
1884
|
+
return { ...planned, refs: referenced.refs };
|
|
1885
|
+
this.imageRefs.retryMissing();
|
|
1886
|
+
return undefined;
|
|
1887
|
+
}
|
|
1804
1888
|
/**
|
|
1805
1889
|
* A body over the limit that nothing could shrink (memtree-body.ts): never sent.
|
|
1806
1890
|
* Logged like any call, with `bodyLimit` (memtree_body_limit, not memtree_error); the
|
|
@@ -1819,6 +1903,10 @@ export class MemtreeClient {
|
|
|
1819
1903
|
console.error(`[ccc proxy] ${msg}`);
|
|
1820
1904
|
}
|
|
1821
1905
|
}
|
|
1906
|
+
/** A 409 that names the references it could not serve (not one refusing them all). */
|
|
1907
|
+
function namesMissingImages(status, text) {
|
|
1908
|
+
return status === MISSING_IMAGES_STATUS && (missingImageShas(text)?.length ?? 0) > 0;
|
|
1909
|
+
}
|
|
1822
1910
|
/** A failed answer's body; an abort while reading it is thrown, never read as "". */
|
|
1823
1911
|
async function readUnlessAborted(response, signal) {
|
|
1824
1912
|
const text = await response.text().catch(() => "");
|
package/dist/memtree.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memtree.js","sourceRoot":"","sources":["../src/memtree.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memtree.js","sourceRoot":"","sources":["../src/memtree.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Connection failures (no answer at all) to MemTree or Anthropic, and the refusal a turn
|
|
3
|
+
* gets while one can't be reached. 2026-11-09: with the network down, compression failed
|
|
4
|
+
* with getaddrinfo ENOTFOUND and over-budget turns were refused as "MemTree couldn't fit
|
|
5
|
+
* this request ... run /ccc:memtree-compact or /clear", blaming the fit for the network.
|
|
6
|
+
*
|
|
7
|
+
* Limit: a call aborted by its own deadline before the connect error arrives (undici gives
|
|
8
|
+
* up connecting after 10 s; a caller's budget can be shorter) carries no code, so it is not
|
|
9
|
+
* counted here and its refusal runs the usual strikes. Neither is a captive portal's TLS error.
|
|
10
|
+
*/
|
|
11
|
+
/** A failure this recent still explains a refusal (outlasts the 60 s outage cooldown). */
|
|
12
|
+
export declare const NETWORK_FAILURE_FRESH_MS: number;
|
|
13
|
+
/** A call that got no answer because its host could not be reached. */
|
|
14
|
+
export interface NetworkFailure {
|
|
15
|
+
code: string;
|
|
16
|
+
host: string;
|
|
17
|
+
at: number;
|
|
18
|
+
}
|
|
19
|
+
/** The network failure `err` describes (its own code or its cause's), else undefined. */
|
|
20
|
+
export declare function networkFailureOf(err: unknown, host: string, now?: number): NetworkFailure | undefined;
|
|
21
|
+
/** `failure` when it is recent enough to explain what happens now. */
|
|
22
|
+
export declare function freshFailure(failure: NetworkFailure | undefined, now?: number): NetworkFailure | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* What a turn is told while MemTree (and maybe Anthropic too) can't be reached: the
|
|
25
|
+
* internet when neither answers, else the one that doesn't. Never the fit, /compact or /clear.
|
|
26
|
+
*/
|
|
27
|
+
export declare function unreachableMessage(memtree: NetworkFailure | undefined, anthropic: NetworkFailure | undefined): string;
|
|
28
|
+
//# sourceMappingURL=network-failure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network-failure.d.ts","sourceRoot":"","sources":["../src/network-failure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAeH,0FAA0F;AAC1F,eAAO,MAAM,wBAAwB,QAAa,CAAC;AAEnD,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,yFAAyF;AACzF,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,SAAa,GAC3C,cAAc,GAAG,SAAS,CAO5B;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAC1B,OAAO,EAAE,cAAc,GAAG,SAAS,EAAE,GAAG,SAAa,GACpD,cAAc,GAAG,SAAS,CAE5B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,cAAc,GAAG,SAAS,EAAE,SAAS,EAAE,cAAc,GAAG,SAAS,GACzE,MAAM,CAQR"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Connection failures (no answer at all) to MemTree or Anthropic, and the refusal a turn
|
|
3
|
+
* gets while one can't be reached. 2026-11-09: with the network down, compression failed
|
|
4
|
+
* with getaddrinfo ENOTFOUND and over-budget turns were refused as "MemTree couldn't fit
|
|
5
|
+
* this request ... run /ccc:memtree-compact or /clear", blaming the fit for the network.
|
|
6
|
+
*
|
|
7
|
+
* Limit: a call aborted by its own deadline before the connect error arrives (undici gives
|
|
8
|
+
* up connecting after 10 s; a caller's budget can be shorter) carries no code, so it is not
|
|
9
|
+
* counted here and its refusal runs the usual strikes. Neither is a captive portal's TLS error.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Error codes that mean no connection could be made: DNS, or the connect itself. A reset or
|
|
13
|
+
* a broken pipe on a connection that was up (a server restart, a proxy cutting a long call,
|
|
14
|
+
* a stale keep-alive socket) is not one: the server may have taken the call, so those keep
|
|
15
|
+
* the bounded strike episode (review r1).
|
|
16
|
+
*/
|
|
17
|
+
const UNREACHABLE_CODES = new Set([
|
|
18
|
+
"ENOTFOUND", "EAI_AGAIN", "EAI_FAIL", "ECONNREFUSED", "EHOSTUNREACH", "EHOSTDOWN",
|
|
19
|
+
"ENETUNREACH", "ENETDOWN", "UND_ERR_CONNECT_TIMEOUT",
|
|
20
|
+
]);
|
|
21
|
+
/** Codes that mean "unreachable" only when the connect itself failed (syscall "connect"). */
|
|
22
|
+
const CONNECT_ONLY_CODES = new Set(["ETIMEDOUT", "ECONNRESET"]);
|
|
23
|
+
/** A failure this recent still explains a refusal (outlasts the 60 s outage cooldown). */
|
|
24
|
+
export const NETWORK_FAILURE_FRESH_MS = 2 * 60_000;
|
|
25
|
+
/** The network failure `err` describes (its own code or its cause's), else undefined. */
|
|
26
|
+
export function networkFailureOf(err, host, now = Date.now()) {
|
|
27
|
+
const source = errorCode(err) !== undefined ? err : err?.cause;
|
|
28
|
+
const code = errorCode(source);
|
|
29
|
+
if (code === undefined)
|
|
30
|
+
return undefined;
|
|
31
|
+
const connecting = connectFailed(source);
|
|
32
|
+
return UNREACHABLE_CODES.has(code) || (connecting && CONNECT_ONLY_CODES.has(code))
|
|
33
|
+
? { code, host, at: now } : undefined;
|
|
34
|
+
}
|
|
35
|
+
/** `failure` when it is recent enough to explain what happens now. */
|
|
36
|
+
export function freshFailure(failure, now = Date.now()) {
|
|
37
|
+
return failure && now - failure.at <= NETWORK_FAILURE_FRESH_MS ? failure : undefined;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* What a turn is told while MemTree (and maybe Anthropic too) can't be reached: the
|
|
41
|
+
* internet when neither answers, else the one that doesn't. Never the fit, /compact or /clear.
|
|
42
|
+
*/
|
|
43
|
+
export function unreachableMessage(memtree, anthropic) {
|
|
44
|
+
if (memtree && anthropic) {
|
|
45
|
+
return "ccc can't reach the internet (MemTree at " + `${memtree.host}: ${memtree.code}; ` +
|
|
46
|
+
`Anthropic at ${anthropic.host}: ${anthropic.code}). Check your connection and retry.`;
|
|
47
|
+
}
|
|
48
|
+
const [name, failure] = memtree ? ["MemTree", memtree] : ["Anthropic", anthropic];
|
|
49
|
+
return `ccc can't reach ${name} (${failure.host}: ${failure.code}). ` +
|
|
50
|
+
"Check your internet connection and retry.";
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Whether the connect itself failed: its syscall, or every attempt's (Node's happy-eyeballs
|
|
54
|
+
* AggregateError carries the syscall only on its `errors`: review r2).
|
|
55
|
+
*/
|
|
56
|
+
function connectFailed(err) {
|
|
57
|
+
const { syscall, errors } = err;
|
|
58
|
+
if (syscall === "connect")
|
|
59
|
+
return true;
|
|
60
|
+
return Array.isArray(errors) && errors.length > 0 &&
|
|
61
|
+
errors.every((each) => each?.syscall === "connect");
|
|
62
|
+
}
|
|
63
|
+
function errorCode(err) {
|
|
64
|
+
const code = err?.code;
|
|
65
|
+
return typeof code === "string" ? code : undefined;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=network-failure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network-failure.js","sourceRoot":"","sources":["../src/network-failure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;GAKG;AACH,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IACrD,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW;IACjF,aAAa,EAAE,UAAU,EAAE,yBAAyB;CACrD,CAAC,CAAC;AACH,6FAA6F;AAC7F,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AAErF,0FAA0F;AAC1F,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAG,MAAM,CAAC;AASnD,yFAAyF;AACzF,MAAM,UAAU,gBAAgB,CAC9B,GAAY,EAAE,IAAY,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAE5C,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAE,GAAuC,EAAE,KAAK,CAAC;IACpG,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChF,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,YAAY,CAC1B,OAAmC,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAErD,OAAO,OAAO,IAAI,GAAG,GAAG,OAAO,CAAC,EAAE,IAAI,wBAAwB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACvF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAmC,EAAE,SAAqC;IAE1E,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;QACzB,OAAO,2CAA2C,GAAG,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,IAAI;YACvF,gBAAgB,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,qCAAqC,CAAC;IAC3F,CAAC;IACD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,SAAU,CAAC,CAAC;IACnF,OAAO,mBAAmB,IAAI,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,KAAK;QACnE,2CAA2C,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,GAAY;IACjC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAA8C,CAAC;IAC3E,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAC/C,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAE,IAAqC,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,SAAS,CAAC,GAAY;IAC7B,MAAM,IAAI,GAAI,GAAsC,EAAE,IAAI,CAAC;IAC3D,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC"}
|
package/dist/prefix-store.d.ts
CHANGED
|
@@ -4,6 +4,10 @@ export interface PersistedPrefix {
|
|
|
4
4
|
originalPrefixHashes: string[];
|
|
5
5
|
/** Media-free identities of the same messages; absent in entries stored before them. */
|
|
6
6
|
originalMediaFreeHashes?: string[];
|
|
7
|
+
/** Rendering-independent identities (route-identity portableHash); absent before them. */
|
|
8
|
+
originalPortableHashes?: string[];
|
|
9
|
+
/** The same without media (Claude Code's eviction beside a re-render); absent before them. */
|
|
10
|
+
originalPortableMediaFreeHashes?: string[];
|
|
7
11
|
compressedMessages: any[];
|
|
8
12
|
compressedSystem: unknown;
|
|
9
13
|
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,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"}
|
|
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,0FAA0F;IAC1F,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,8FAA8F;IAC9F,+BAA+B,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3C,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"}
|