claudish 13.0.2 → 13.1.0
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/index.js +108 -31
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -575,7 +575,7 @@ var init_onepassword_config = __esm(() => {
|
|
|
575
575
|
});
|
|
576
576
|
|
|
577
577
|
// src/version.ts
|
|
578
|
-
var VERSION = "13.0
|
|
578
|
+
var VERSION = "13.1.0";
|
|
579
579
|
|
|
580
580
|
// src/logger.ts
|
|
581
581
|
import { appendFile, existsSync as existsSync2, mkdirSync, readdirSync, unlinkSync, writeFileSync as writeFileSync2 } from "fs";
|
|
@@ -13269,7 +13269,7 @@ function createGeminiThoughtSignatureHook() {
|
|
|
13269
13269
|
description: "Sends Gemini's reasoning_details back with the assistant tool calls they were produced for",
|
|
13270
13270
|
order: "pre",
|
|
13271
13271
|
models: ["*gemini*", "*google/*"],
|
|
13272
|
-
selectByUpstream:
|
|
13272
|
+
selectByUpstream: { wireApis: ["gemini"], vendors: ["google"] },
|
|
13273
13273
|
routes: "all",
|
|
13274
13274
|
defaultSeverity: "fix",
|
|
13275
13275
|
statsName: GEMINI_THOUGHT_SIGNATURE_STATS_NAME,
|
|
@@ -18426,7 +18426,17 @@ async function prune(path) {
|
|
|
18426
18426
|
await rename(tmp, path);
|
|
18427
18427
|
log(`[behavior:journal] pruned ${lines.length - survivors.length} of ${lines.length} entries ` + `to stay under ${Math.round(MAX_JOURNAL_BYTES / 1e6)}MB`);
|
|
18428
18428
|
}
|
|
18429
|
-
|
|
18429
|
+
function recordDecision(entry, path = journalPath()) {
|
|
18430
|
+
const previous = pendingAppends.get(path) ?? Promise.resolve();
|
|
18431
|
+
const next = previous.then(() => appendDecision(entry, path));
|
|
18432
|
+
pendingAppends.set(path, next);
|
|
18433
|
+
next.then(() => {
|
|
18434
|
+
if (pendingAppends.get(path) === next)
|
|
18435
|
+
pendingAppends.delete(path);
|
|
18436
|
+
});
|
|
18437
|
+
return next;
|
|
18438
|
+
}
|
|
18439
|
+
async function appendDecision(entry, path) {
|
|
18430
18440
|
try {
|
|
18431
18441
|
const size = await stat(path).then((s) => s.size, () => 0);
|
|
18432
18442
|
if (size === 0)
|
|
@@ -18440,7 +18450,7 @@ async function recordDecision(entry, path = journalPath()) {
|
|
|
18440
18450
|
log(`[behavior:journal] could not record: ${err}`);
|
|
18441
18451
|
}
|
|
18442
18452
|
}
|
|
18443
|
-
var JOURNAL_SCHEMA_VERSION = 2, UPLOAD_SURFACES, UPLOAD_DECISIONS, MAX_DETAIL_CHARS = 200, MAX_JOURNAL_BYTES, PRUNE_TO_BYTES;
|
|
18453
|
+
var JOURNAL_SCHEMA_VERSION = 2, UPLOAD_SURFACES, UPLOAD_DECISIONS, MAX_DETAIL_CHARS = 200, MAX_JOURNAL_BYTES, PRUNE_TO_BYTES, pendingAppends;
|
|
18444
18454
|
var init_journal = __esm(() => {
|
|
18445
18455
|
init_logger();
|
|
18446
18456
|
UPLOAD_SURFACES = new Set([
|
|
@@ -18458,6 +18468,7 @@ var init_journal = __esm(() => {
|
|
|
18458
18468
|
]);
|
|
18459
18469
|
MAX_JOURNAL_BYTES = 32 * 1024 * 1024;
|
|
18460
18470
|
PRUNE_TO_BYTES = Math.floor(MAX_JOURNAL_BYTES * 0.6);
|
|
18471
|
+
pendingAppends = new Map;
|
|
18461
18472
|
});
|
|
18462
18473
|
|
|
18463
18474
|
// src/hooks/output-capture.ts
|
|
@@ -19650,6 +19661,9 @@ var init_loader = __esm(() => {
|
|
|
19650
19661
|
function isProxyEvent(event) {
|
|
19651
19662
|
return PROXY_EVENTS.has(event);
|
|
19652
19663
|
}
|
|
19664
|
+
function upstreamSelected(selector, upstream) {
|
|
19665
|
+
return upstream.wireApi !== null && selector.wireApis.includes(upstream.wireApi) || upstream.vendor !== null && selector.vendors.includes(upstream.vendor);
|
|
19666
|
+
}
|
|
19653
19667
|
function eventsOf(def) {
|
|
19654
19668
|
const events = [];
|
|
19655
19669
|
const on = def.on ?? {};
|
|
@@ -19744,7 +19758,7 @@ function routeMatches(hook, route, upstream) {
|
|
|
19744
19758
|
if (hook.routes === "foreign" && route.native)
|
|
19745
19759
|
return false;
|
|
19746
19760
|
if (upstream && hook.selectByUpstream)
|
|
19747
|
-
return hook.selectByUpstream
|
|
19761
|
+
return upstreamSelected(hook.selectByUpstream, upstream);
|
|
19748
19762
|
return hook.models.some((glob) => globMatches(glob, route.modelId));
|
|
19749
19763
|
}
|
|
19750
19764
|
var CLOSED_HANDLER_KEYS, RAW_KEYS2, PROXY_EVENTS, ORDER_RANK;
|
|
@@ -27780,7 +27794,8 @@ async function discoverEveryServedModel(providerName) {
|
|
|
27780
27794
|
detail: `no base URL resolved \u2014 check ${overrides || "the provider's baseUrl"}`
|
|
27781
27795
|
});
|
|
27782
27796
|
}
|
|
27783
|
-
const
|
|
27797
|
+
const definitionEndpoint = `${baseUrl}${descriptor.path}`;
|
|
27798
|
+
let endpoint = registryModelsEndpoint(providerName, def) ?? definitionEndpoint;
|
|
27784
27799
|
let headers = {};
|
|
27785
27800
|
if (def.isLocal) {
|
|
27786
27801
|
const key = def.apiKeyEnvVar ? process.env[def.apiKeyEnvVar] : undefined;
|
|
@@ -27807,13 +27822,14 @@ async function discoverEveryServedModel(providerName) {
|
|
|
27807
27822
|
...def.headers ?? {},
|
|
27808
27823
|
...headers
|
|
27809
27824
|
};
|
|
27825
|
+
const fetchList = (url) => fetch(url, { method: "GET", headers, signal: AbortSignal.timeout(FETCH_TIMEOUT_MS3) });
|
|
27810
27826
|
let response;
|
|
27811
27827
|
try {
|
|
27812
|
-
response = await
|
|
27813
|
-
|
|
27814
|
-
|
|
27815
|
-
|
|
27816
|
-
}
|
|
27828
|
+
response = await fetchList(endpoint);
|
|
27829
|
+
if (response.status === 404 && endpoint !== definitionEndpoint) {
|
|
27830
|
+
endpoint = definitionEndpoint;
|
|
27831
|
+
response = await fetchList(endpoint);
|
|
27832
|
+
}
|
|
27817
27833
|
} catch (e) {
|
|
27818
27834
|
return recordFailure({
|
|
27819
27835
|
kind: "unreachable",
|
|
@@ -27854,7 +27870,7 @@ async function discoverEveryServedModel(providerName) {
|
|
|
27854
27870
|
}
|
|
27855
27871
|
const models = parsed.models;
|
|
27856
27872
|
_failures.delete(providerName);
|
|
27857
|
-
log(`[model-discovery:${providerName}] discovered ${models.length} models: ` + models.map((m) => `${m.id}(${m.contextWindow ?? "?"})`).join(", "));
|
|
27873
|
+
log(`[model-discovery:${providerName}] discovered ${models.length} models from ${endpoint}: ` + models.map((m) => `${m.id}(${m.contextWindow ?? "?"})`).join(", "));
|
|
27858
27874
|
_cache2.set(providerName, { models, expiresAt: Date.now() + CACHE_TTL_MS2 });
|
|
27859
27875
|
return { kind: "served", models };
|
|
27860
27876
|
}
|
|
@@ -36448,8 +36464,8 @@ var init_provider_definitions = __esm(() => {
|
|
|
36448
36464
|
baseUrl: "https://api.kimi.com/coding/v1",
|
|
36449
36465
|
apiPath: "/messages",
|
|
36450
36466
|
apiKeyEnvVar: "KIMI_CODING_API_KEY",
|
|
36451
|
-
apiKeyDescription: "Kimi Coding API Key",
|
|
36452
|
-
apiKeyUrl: "https://kimi.com/code
|
|
36467
|
+
apiKeyDescription: "Kimi Coding API Key (membership page, or run: claudish login kimi)",
|
|
36468
|
+
apiKeyUrl: "https://www.kimi.com/code",
|
|
36453
36469
|
oauthFallback: "kimi-oauth.json",
|
|
36454
36470
|
oauthLoginSlug: "kimi",
|
|
36455
36471
|
shortcuts: ["kc"],
|
|
@@ -36502,7 +36518,7 @@ var init_provider_definitions = __esm(() => {
|
|
|
36502
36518
|
apiKeyEnvVar: "ZHIPU_API_KEY",
|
|
36503
36519
|
apiKeyAliases: ["GLM_API_KEY"],
|
|
36504
36520
|
apiKeyDescription: "GLM/Zhipu API Key",
|
|
36505
|
-
apiKeyUrl: "https://z.ai/",
|
|
36521
|
+
apiKeyUrl: "https://z.ai/manage-apikey/apikey-list",
|
|
36506
36522
|
shortcuts: ["glm", "zhipu"],
|
|
36507
36523
|
shortestPrefix: "glm",
|
|
36508
36524
|
legacyPrefixes: [
|
|
@@ -36548,7 +36564,7 @@ var init_provider_definitions = __esm(() => {
|
|
|
36548
36564
|
apiPath: "/api/anthropic/v1/messages",
|
|
36549
36565
|
apiKeyEnvVar: "ZAI_API_KEY",
|
|
36550
36566
|
apiKeyDescription: "Z.AI API Key",
|
|
36551
|
-
apiKeyUrl: "https://z.ai/",
|
|
36567
|
+
apiKeyUrl: "https://z.ai/manage-apikey/apikey-list",
|
|
36552
36568
|
shortcuts: ["z-ai", "zai"],
|
|
36553
36569
|
shortestPrefix: "z-ai",
|
|
36554
36570
|
legacyPrefixes: [{ prefix: "zai/", stripPrefix: true }],
|
|
@@ -36568,7 +36584,7 @@ var init_provider_definitions = __esm(() => {
|
|
|
36568
36584
|
apiPath: "/api/chat",
|
|
36569
36585
|
apiKeyEnvVar: "OLLAMA_API_KEY",
|
|
36570
36586
|
apiKeyDescription: "OllamaCloud API Key",
|
|
36571
|
-
apiKeyUrl: "https://ollama.com/
|
|
36587
|
+
apiKeyUrl: "https://ollama.com/settings/keys",
|
|
36572
36588
|
shortcuts: ["oc", "llama", "lc"],
|
|
36573
36589
|
shortestPrefix: "oc",
|
|
36574
36590
|
legacyPrefixes: [{ prefix: "oc/", stripPrefix: true }],
|
|
@@ -36592,8 +36608,8 @@ var init_provider_definitions = __esm(() => {
|
|
|
36592
36608
|
baseUrlEnvVars: ["OPENCODE_BASE_URL"],
|
|
36593
36609
|
apiPath: "/v1/chat/completions",
|
|
36594
36610
|
apiKeyEnvVar: "OPENCODE_API_KEY",
|
|
36595
|
-
apiKeyDescription: "OpenCode Zen API Key",
|
|
36596
|
-
apiKeyUrl: "https://opencode.ai/",
|
|
36611
|
+
apiKeyDescription: "OpenCode Zen API Key (Console > Settings > Service accounts)",
|
|
36612
|
+
apiKeyUrl: "https://opencode.ai/console",
|
|
36597
36613
|
shortcuts: ["zen"],
|
|
36598
36614
|
shortestPrefix: "zen",
|
|
36599
36615
|
legacyPrefixes: [{ prefix: "zen/", stripPrefix: true }],
|
|
@@ -36613,8 +36629,8 @@ var init_provider_definitions = __esm(() => {
|
|
|
36613
36629
|
modelDiscovery: { path: "/v1/models", format: "openai-models-list" },
|
|
36614
36630
|
apiKeyEnvVar: "OPENCODE_GO_API_KEY",
|
|
36615
36631
|
siblingKeyEnvVars: ["OPENCODE_API_KEY"],
|
|
36616
|
-
apiKeyDescription: "OpenCode Zen Go (Lite Plan) API Key",
|
|
36617
|
-
apiKeyUrl: "https://opencode.ai/",
|
|
36632
|
+
apiKeyDescription: "OpenCode Zen Go (Lite Plan) API Key (Console > Settings > Service accounts)",
|
|
36633
|
+
apiKeyUrl: "https://opencode.ai/console",
|
|
36618
36634
|
shortcuts: ["zengo", "zgo"],
|
|
36619
36635
|
shortestPrefix: "zengo",
|
|
36620
36636
|
legacyPrefixes: [
|
|
@@ -36718,7 +36734,7 @@ var init_provider_definitions = __esm(() => {
|
|
|
36718
36734
|
apiPath: "/v1/chat/completions",
|
|
36719
36735
|
apiKeyEnvVar: "LMSTUDIO_API_KEY",
|
|
36720
36736
|
apiKeyDescription: "LM Studio API Key (optional \u2014 leave blank for localhost)",
|
|
36721
|
-
apiKeyUrl: "https://lmstudio.ai/docs/
|
|
36737
|
+
apiKeyUrl: "https://lmstudio.ai/docs/developer/core/server",
|
|
36722
36738
|
shortcuts: ["lms", "lmstudio", "mlstudio"],
|
|
36723
36739
|
shortestPrefix: "lms",
|
|
36724
36740
|
legacyPrefixes: [
|
|
@@ -72083,6 +72099,7 @@ class PaneSessionImpl {
|
|
|
72083
72099
|
stderrHead = "";
|
|
72084
72100
|
paneClosed = false;
|
|
72085
72101
|
paneExited = false;
|
|
72102
|
+
exitCodeQuery = false;
|
|
72086
72103
|
reaping = false;
|
|
72087
72104
|
fastReap = false;
|
|
72088
72105
|
reapPromise = null;
|
|
@@ -72593,7 +72610,7 @@ class PaneSessionImpl {
|
|
|
72593
72610
|
}
|
|
72594
72611
|
}
|
|
72595
72612
|
checkLiveness() {
|
|
72596
|
-
if (this.client || !this.panePidValue || this.paneExited)
|
|
72613
|
+
if (this.client || !this.panePidValue || this.paneExited || this.exitCodeQuery)
|
|
72597
72614
|
return;
|
|
72598
72615
|
const now = Date.now();
|
|
72599
72616
|
if (now - this.lastLivenessAt < 1000)
|
|
@@ -72603,11 +72620,55 @@ class PaneSessionImpl {
|
|
|
72603
72620
|
process.kill(this.panePidValue, 0);
|
|
72604
72621
|
} catch (e) {
|
|
72605
72622
|
if (e.code === "ESRCH") {
|
|
72606
|
-
this.
|
|
72607
|
-
this.
|
|
72623
|
+
this.exitCodeQuery = true;
|
|
72624
|
+
this.exitCodeFromMagmux().then((code) => {
|
|
72625
|
+
this.exitCodeQuery = false;
|
|
72626
|
+
if (this.paneExited || isTerminalPhase(this.phase))
|
|
72627
|
+
return;
|
|
72628
|
+
this.paneExited = true;
|
|
72629
|
+
this.exitCode = code;
|
|
72630
|
+
this.step(() => this.applyExitPath(code));
|
|
72631
|
+
});
|
|
72632
|
+
}
|
|
72633
|
+
}
|
|
72634
|
+
}
|
|
72635
|
+
async exitCodeFromMagmux() {
|
|
72636
|
+
const deadline = Date.now() + EXIT_CODE_QUERY_MS;
|
|
72637
|
+
const left = () => deadline - Date.now();
|
|
72638
|
+
const client = await this.dialWithin(left);
|
|
72639
|
+
if (!client)
|
|
72640
|
+
return null;
|
|
72641
|
+
try {
|
|
72642
|
+
while (left() > 0) {
|
|
72643
|
+
const r = await client.request({ type: "list" }, Math.max(1, left()));
|
|
72644
|
+
if (!r.ok)
|
|
72645
|
+
return null;
|
|
72646
|
+
const p0 = r.result.panes?.find((p) => p.pane === 0);
|
|
72647
|
+
if (!p0)
|
|
72648
|
+
return null;
|
|
72649
|
+
if (p0.dead === true)
|
|
72650
|
+
return typeof p0.exitCode === "number" ? p0.exitCode : null;
|
|
72651
|
+
await Bun.sleep(Math.min(EXIT_CODE_RETRY_MS, Math.max(0, left())));
|
|
72608
72652
|
}
|
|
72653
|
+
return null;
|
|
72654
|
+
} finally {
|
|
72655
|
+
client.close();
|
|
72609
72656
|
}
|
|
72610
72657
|
}
|
|
72658
|
+
async dialWithin(left) {
|
|
72659
|
+
while (left() > 0 && !this.reaping && !isTerminalPhase(this.phase)) {
|
|
72660
|
+
try {
|
|
72661
|
+
const dial = MagmuxClient.dial(this.sockPath);
|
|
72662
|
+
const client = await Promise.race([dial, Bun.sleep(Math.max(0, left())).then(() => null)]);
|
|
72663
|
+
if (!client)
|
|
72664
|
+
dial.then((late) => late.close()).catch(() => {});
|
|
72665
|
+
return client;
|
|
72666
|
+
} catch {
|
|
72667
|
+
await Bun.sleep(Math.min(EXIT_CODE_RETRY_MS, Math.max(0, left())));
|
|
72668
|
+
}
|
|
72669
|
+
}
|
|
72670
|
+
return null;
|
|
72671
|
+
}
|
|
72611
72672
|
t(key, dflt) {
|
|
72612
72673
|
return this.o.timings?.[key] ?? dflt;
|
|
72613
72674
|
}
|
|
@@ -74556,7 +74617,7 @@ async function startPaneSession(o) {
|
|
|
74556
74617
|
await session.start({ magmuxBinary: magmux.binary, env: p.magmuxEnv, cwd: p.cwd });
|
|
74557
74618
|
return session;
|
|
74558
74619
|
}
|
|
74559
|
-
var BOOT_TIMEOUT_MS = 90000, ADMIT_TIMEOUT_MS = 30000, DEGRADED_ENTRY_MS = 1e4, SCREEN_SETTLE_QUIET_MS = 3000, PANEL_SETTLE_MS = 500, SEND_CLIENT_SLACK_MS = 2000, MIN_READY_TIMEOUT_MS = 1000, BUSY_RETRY_MS = 250, MISMATCH_SETTLE_MS = 1000, CLEAR_WAIT_MS = 1000, BOOT_STATIC_MS = 5000, TICK_MS = 250, WATCH_FPS = 4, POLL_BACKSTOP_MS = 1000, TURN_END_MISSING_FACTOR = 3, RESIZE_REPLY_MS = 1e4, RESIZE_SCREEN_MS = 1000, GATE_POLL_MS = 250, GATE_REPLY_MS = 1000, GATE_STALE_MS = 1000, GATE_GRACE_MS, GATE_DEAD_BACKSTOP_MS = 1000, GATE_KINDLESS_REASONS, RUNTIME_DIALOG_KINDS, REGISTRY_READ_MS = 250, REGISTRY_DISAGREE_MS = 2000, REGISTRY_GATE_BOOT_DISAGREE_MS = 5000, REGISTRY_MISSING_MS = 5000, MAX_ANOMALY_KEYS = 64, KEPT_ANSWERS = 4, DEFAULT_MAX_CONSECUTIVE = 3, EVENT_REASON, VERDICT_EVENT, PaneStartError;
|
|
74620
|
+
var BOOT_TIMEOUT_MS = 90000, ADMIT_TIMEOUT_MS = 30000, DEGRADED_ENTRY_MS = 1e4, SCREEN_SETTLE_QUIET_MS = 3000, PANEL_SETTLE_MS = 500, SEND_CLIENT_SLACK_MS = 2000, MIN_READY_TIMEOUT_MS = 1000, BUSY_RETRY_MS = 250, MISMATCH_SETTLE_MS = 1000, CLEAR_WAIT_MS = 1000, BOOT_STATIC_MS = 5000, TICK_MS = 250, WATCH_FPS = 4, POLL_BACKSTOP_MS = 1000, TURN_END_MISSING_FACTOR = 3, RESIZE_REPLY_MS = 1e4, RESIZE_SCREEN_MS = 1000, GATE_POLL_MS = 250, GATE_REPLY_MS = 1000, GATE_STALE_MS = 1000, GATE_GRACE_MS, GATE_DEAD_BACKSTOP_MS = 1000, EXIT_CODE_QUERY_MS = 2000, EXIT_CODE_RETRY_MS = 50, GATE_KINDLESS_REASONS, RUNTIME_DIALOG_KINDS, REGISTRY_READ_MS = 250, REGISTRY_DISAGREE_MS = 2000, REGISTRY_GATE_BOOT_DISAGREE_MS = 5000, REGISTRY_MISSING_MS = 5000, MAX_ANOMALY_KEYS = 64, KEPT_ANSWERS = 4, DEFAULT_MAX_CONSECUTIVE = 3, EVENT_REASON, VERDICT_EVENT, PaneStartError;
|
|
74560
74621
|
var init_pane_session = __esm(() => {
|
|
74561
74622
|
init_queue();
|
|
74562
74623
|
init_parent_session();
|
|
@@ -79757,10 +79818,26 @@ function hookRow(hook, severity) {
|
|
|
79757
79818
|
severity,
|
|
79758
79819
|
routes: hook.routes,
|
|
79759
79820
|
models: [...hook.models],
|
|
79821
|
+
...hook.selectByUpstream && {
|
|
79822
|
+
catalogSelection: {
|
|
79823
|
+
wireApis: [...hook.selectByUpstream.wireApis],
|
|
79824
|
+
vendors: [...hook.selectByUpstream.vendors]
|
|
79825
|
+
}
|
|
79826
|
+
},
|
|
79760
79827
|
order: hook.order,
|
|
79761
79828
|
unsafe: hook.unsafe
|
|
79762
79829
|
};
|
|
79763
79830
|
}
|
|
79831
|
+
function selectionOf(r) {
|
|
79832
|
+
const globs = r.models.join(", ");
|
|
79833
|
+
if (!r.catalogSelection)
|
|
79834
|
+
return r.models.join(",") !== "*" ? `models ${globs}` : null;
|
|
79835
|
+
const facts = [
|
|
79836
|
+
...r.catalogSelection.wireApis.map((w) => `wire ${w}`),
|
|
79837
|
+
...r.catalogSelection.vendors.map((v) => `vendor ${v}`)
|
|
79838
|
+
].join(" or ");
|
|
79839
|
+
return `catalog ${facts}; without a catalog connection, models ${globs}`;
|
|
79840
|
+
}
|
|
79764
79841
|
async function list(json) {
|
|
79765
79842
|
const set = await loadHookSet({ hostMode: "other", moduleWarn: () => {} });
|
|
79766
79843
|
const rows = set.registry.hooks.map((h) => hookRow(h, set.registry.severityOf(h)));
|
|
@@ -79787,7 +79864,7 @@ Hooks, in effective order
|
|
|
79787
79864
|
`${r.source}`,
|
|
79788
79865
|
`events ${r.events.join(", ")}`,
|
|
79789
79866
|
`routes ${r.routes}`,
|
|
79790
|
-
|
|
79867
|
+
selectionOf(r),
|
|
79791
79868
|
r.order !== "normal" ? `order ${r.order}` : null
|
|
79792
79869
|
].filter(Boolean);
|
|
79793
79870
|
console.log(` ${dim2(scope.join(" \xB7 "))}
|
|
@@ -84998,13 +85075,13 @@ function ProviderDetail({
|
|
|
84998
85075
|
fg: C.blue,
|
|
84999
85076
|
attributes: A.bold,
|
|
85000
85077
|
children: [
|
|
85001
|
-
"
|
|
85078
|
+
"API:",
|
|
85002
85079
|
" "
|
|
85003
85080
|
]
|
|
85004
85081
|
}),
|
|
85005
85082
|
/* @__PURE__ */ jsx22("span", {
|
|
85006
85083
|
fg: C.cyan,
|
|
85007
|
-
children: activeEndpoint || selectedProvider.defaultEndpoint || "default"
|
|
85084
|
+
children: (activeEndpoint || selectedProvider.defaultEndpoint || "default").replace(/^https?:\/\//, "")
|
|
85008
85085
|
})
|
|
85009
85086
|
]
|
|
85010
85087
|
}),
|
|
@@ -91109,7 +91186,7 @@ function resolveContextWindowEnv(realWindow, processEnv = process.env) {
|
|
|
91109
91186
|
if (processEnv[ENV.CLAUDE_CODE_AUTO_COMPACT_WINDOW])
|
|
91110
91187
|
return { vars };
|
|
91111
91188
|
if (realWindow >= MIN_AUTO_COMPACT_WINDOW) {
|
|
91112
|
-
vars[ENV.CLAUDE_CODE_AUTO_COMPACT_WINDOW] = String(realWindow);
|
|
91189
|
+
vars[ENV.CLAUDE_CODE_AUTO_COMPACT_WINDOW] = String(Math.min(realWindow, MAX_AUTO_COMPACT_WINDOW));
|
|
91113
91190
|
return {
|
|
91114
91191
|
vars,
|
|
91115
91192
|
notice: `[claudish] Auto-compact window: ${realWindow.toLocaleString()} tokens ` + "(Claude Code compacts before the backend's real limit)"
|
|
@@ -91616,7 +91693,7 @@ var restoreTerminal = null, macosKeychainAnthropicResult, defaultKeychainAnthrop
|
|
|
91616
91693
|
macosKeychainAnthropicResult = false;
|
|
91617
91694
|
}
|
|
91618
91695
|
return macosKeychainAnthropicResult;
|
|
91619
|
-
}, CLAUDISH_PLACEHOLDER_API_KEY = "sk-ant-api03-placeholder-not-used-proxy-handles-auth-with-openrouter-key-xxxxxxxxxxxxxxxxxxxxx", CLAUDISH_PLACEHOLDER_AUTH_TOKEN = "placeholder-token-not-used-proxy-handles-auth", STALE_TOKEN_FILE_MS, MAX_TOKEN_FILES_SCANNED = 4000, CLAUDE_CODE_DEFAULT_MAX_CONTEXT = 200000, USER_STATUS_LINE_TIMEOUT_SECONDS = 3, MIN_AUTO_COMPACT_WINDOW = 200000, ADVISOR_TOOL_ENV_VAR = "CLAUDE_CODE_ENABLE_EXPERIMENTAL_ADVISOR_TOOL", CLAUDISH_CHILD_ADVISOR_MODEL = "sonnet", CHILD_STDERR_NOISE, SIGNAL_EXIT_NUMBERS;
|
|
91696
|
+
}, CLAUDISH_PLACEHOLDER_API_KEY = "sk-ant-api03-placeholder-not-used-proxy-handles-auth-with-openrouter-key-xxxxxxxxxxxxxxxxxxxxx", CLAUDISH_PLACEHOLDER_AUTH_TOKEN = "placeholder-token-not-used-proxy-handles-auth", STALE_TOKEN_FILE_MS, MAX_TOKEN_FILES_SCANNED = 4000, CLAUDE_CODE_DEFAULT_MAX_CONTEXT = 200000, USER_STATUS_LINE_TIMEOUT_SECONDS = 3, MIN_AUTO_COMPACT_WINDOW = 200000, MAX_AUTO_COMPACT_WINDOW = 1e6, ADVISOR_TOOL_ENV_VAR = "CLAUDE_CODE_ENABLE_EXPERIMENTAL_ADVISOR_TOOL", CLAUDISH_CHILD_ADVISOR_MODEL = "sonnet", CHILD_STDERR_NOISE, SIGNAL_EXIT_NUMBERS;
|
|
91620
91697
|
var init_claude_runner = __esm(() => {
|
|
91621
91698
|
init_model_catalog();
|
|
91622
91699
|
init_config();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claudish",
|
|
3
|
-
"version": "13.0
|
|
3
|
+
"version": "13.1.0",
|
|
4
4
|
"description": "Run Claude Code with any model - OpenRouter, Ollama, LM Studio & local models",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -69,10 +69,10 @@
|
|
|
69
69
|
"ai"
|
|
70
70
|
],
|
|
71
71
|
"optionalDependencies": {
|
|
72
|
-
"@claudish/magmux-darwin-arm64": "13.0
|
|
73
|
-
"@claudish/magmux-darwin-x64": "13.0
|
|
74
|
-
"@claudish/magmux-linux-arm64": "13.0
|
|
75
|
-
"@claudish/magmux-linux-x64": "13.0
|
|
72
|
+
"@claudish/magmux-darwin-arm64": "13.1.0",
|
|
73
|
+
"@claudish/magmux-darwin-x64": "13.1.0",
|
|
74
|
+
"@claudish/magmux-linux-arm64": "13.1.0",
|
|
75
|
+
"@claudish/magmux-linux-x64": "13.1.0"
|
|
76
76
|
},
|
|
77
77
|
"author": "Jack Rudenko <i@madappgang.com>",
|
|
78
78
|
"license": "MIT",
|