@duheso/zerocli 0.9.6 → 0.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.mjs +215 -86
- package/package.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -119192,7 +119192,7 @@ function buildProviderInfoLines() {
|
|
|
119192
119192
|
const sLen = ` ● ${sL} ${sReady}`.length;
|
|
119193
119193
|
out.push(boxRow(sRow, W2, sLen));
|
|
119194
119194
|
out.push(`${rgb(...BORDER)}╚${"═".repeat(W2 - 2)}╝${RESET}`);
|
|
119195
|
-
out.push(` ${DIM}${rgb(...DIMCOL)}zero ${RESET}${rgb(...ACCENT)}v${"0.9.
|
|
119195
|
+
out.push(` ${DIM}${rgb(...DIMCOL)}zero ${RESET}${rgb(...ACCENT)}v${"0.9.7"}${RESET}`);
|
|
119196
119196
|
return out;
|
|
119197
119197
|
}
|
|
119198
119198
|
function printStartupScreen() {}
|
|
@@ -147383,7 +147383,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
147383
147383
|
if (!isAttributionHeaderEnabled()) {
|
|
147384
147384
|
return "";
|
|
147385
147385
|
}
|
|
147386
|
-
const version2 = `${"0.9.
|
|
147386
|
+
const version2 = `${"0.9.7"}.${fingerprint}`;
|
|
147387
147387
|
const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
|
|
147388
147388
|
const cch = "";
|
|
147389
147389
|
const workload = getWorkload();
|
|
@@ -190393,7 +190393,7 @@ var init_imageValidation = __esm(() => {
|
|
|
190393
190393
|
|
|
190394
190394
|
// src/utils/userAgent.ts
|
|
190395
190395
|
function getZeroCodeUserAgent() {
|
|
190396
|
-
return `claude-code/${"0.9.
|
|
190396
|
+
return `claude-code/${"0.9.7"}`;
|
|
190397
190397
|
}
|
|
190398
190398
|
|
|
190399
190399
|
// src/utils/http.ts
|
|
@@ -190402,7 +190402,7 @@ function getUserAgent() {
|
|
|
190402
190402
|
const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
|
|
190403
190403
|
const workload = getWorkload();
|
|
190404
190404
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
190405
|
-
return `claude-cli/${"0.9.
|
|
190405
|
+
return `claude-cli/${"0.9.7"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
190406
190406
|
}
|
|
190407
190407
|
function getMCPUserAgent() {
|
|
190408
190408
|
const parts = [];
|
|
@@ -190416,7 +190416,7 @@ function getMCPUserAgent() {
|
|
|
190416
190416
|
parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
|
|
190417
190417
|
}
|
|
190418
190418
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
190419
|
-
return `claude-code/${"0.9.
|
|
190419
|
+
return `claude-code/${"0.9.7"}${suffix}`;
|
|
190420
190420
|
}
|
|
190421
190421
|
function getWebFetchUserAgent() {
|
|
190422
190422
|
const supportUrl = getAPIProvider() === "firstParty" ? "https://support.anthropic.com/" : "https://github.com/Duheso/ZeroCLI";
|
|
@@ -192892,8 +192892,9 @@ async function* openaiStreamToAnthropic(response, model, signal) {
|
|
|
192892
192892
|
return;
|
|
192893
192893
|
const decoder = new TextDecoder;
|
|
192894
192894
|
let buffer = "";
|
|
192895
|
-
const STREAM_IDLE_TIMEOUT_MS =
|
|
192895
|
+
const STREAM_IDLE_TIMEOUT_MS = parseInt(process.env.OPENAI_STREAM_IDLE_TIMEOUT_MS ?? "300000", 10) || 300000;
|
|
192896
192896
|
let lastDataTime = Date.now();
|
|
192897
|
+
let lastStallWarningTime = 0;
|
|
192897
192898
|
async function readWithTimeout() {
|
|
192898
192899
|
return new Promise((resolve19, reject) => {
|
|
192899
192900
|
const timeoutId = setTimeout(() => {
|
|
@@ -192904,23 +192905,33 @@ async function* openaiStreamToAnthropic(response, model, signal) {
|
|
|
192904
192905
|
` + `[ZERO-DEBUG] ENCERRAMENTO DETECTADO: STREAM IDLE TIMEOUT
|
|
192905
192906
|
` + `========================================================================
|
|
192906
192907
|
` + `CAUSA: O stream SSE ficou ${elapsed}s sem receber dados do modelo (vLLM/OpenAI).
|
|
192907
|
-
` + `LIMITE ATUAL: ${STREAM_IDLE_TIMEOUT_MS / 1000}s (
|
|
192908
|
+
` + `LIMITE ATUAL: ${STREAM_IDLE_TIMEOUT_MS / 1000}s (configuravel via OPENAI_STREAM_IDLE_TIMEOUT_MS).
|
|
192908
192909
|
` + `EFEITO: Zero encerrou o processamento porque assumiu que a conexao caiu.
|
|
192909
|
-
` + `CORRECAO: Aumentar
|
|
192910
|
-
` + ` ou tornar configuravel via env var OPENAI_STREAM_IDLE_TIMEOUT_MS.
|
|
192910
|
+
` + `CORRECAO: Aumentar o timeout via env var OPENAI_STREAM_IDLE_TIMEOUT_MS (em ms).
|
|
192911
192911
|
` + ` Modelos locais (vLLM) podem demorar mais que 120s entre chunks.
|
|
192912
192912
|
` + `========================================================================`, { level: "error" });
|
|
192913
192913
|
reject(new Error(msg));
|
|
192914
192914
|
}, STREAM_IDLE_TIMEOUT_MS);
|
|
192915
|
+
const STALL_WARNING_INTERVAL_MS = 30000;
|
|
192916
|
+
const stallWarningId = setInterval(() => {
|
|
192917
|
+
const idleSeconds = Math.round((Date.now() - lastDataTime) / 1000);
|
|
192918
|
+
const now2 = Date.now();
|
|
192919
|
+
if (idleSeconds >= 30 && now2 - lastStallWarningTime >= STALL_WARNING_INTERVAL_MS) {
|
|
192920
|
+
lastStallWarningTime = now2;
|
|
192921
|
+
logForDebugging(`[ZERO-DEBUG] STALL WARNING: Stream sem dados há ${idleSeconds}s. ` + `Timeout em ${Math.round((STREAM_IDLE_TIMEOUT_MS - (now2 - lastDataTime)) / 1000)}s. ` + `Modelo ainda pode estar processando (vLLM/local models são lentos).`, { level: "warn" });
|
|
192922
|
+
}
|
|
192923
|
+
}, STALL_WARNING_INTERVAL_MS);
|
|
192915
192924
|
let abortCleanup;
|
|
192916
192925
|
if (signal) {
|
|
192917
192926
|
abortCleanup = () => {
|
|
192918
192927
|
clearTimeout(timeoutId);
|
|
192928
|
+
clearInterval(stallWarningId);
|
|
192919
192929
|
};
|
|
192920
192930
|
signal.addEventListener("abort", abortCleanup, { once: true });
|
|
192921
192931
|
}
|
|
192922
192932
|
reader.read().then((result) => {
|
|
192923
192933
|
clearTimeout(timeoutId);
|
|
192934
|
+
clearInterval(stallWarningId);
|
|
192924
192935
|
if (signal && abortCleanup)
|
|
192925
192936
|
signal.removeEventListener("abort", abortCleanup);
|
|
192926
192937
|
if (result.value)
|
|
@@ -192928,6 +192939,7 @@ async function* openaiStreamToAnthropic(response, model, signal) {
|
|
|
192928
192939
|
resolve19(result);
|
|
192929
192940
|
}, (err2) => {
|
|
192930
192941
|
clearTimeout(timeoutId);
|
|
192942
|
+
clearInterval(stallWarningId);
|
|
192931
192943
|
if (signal && abortCleanup)
|
|
192932
192944
|
signal.removeEventListener("abort", abortCleanup);
|
|
192933
192945
|
reject(err2);
|
|
@@ -244890,7 +244902,7 @@ function getTelemetryAttributes() {
|
|
|
244890
244902
|
attributes["session.id"] = sessionId;
|
|
244891
244903
|
}
|
|
244892
244904
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
244893
|
-
attributes["app.version"] = "0.9.
|
|
244905
|
+
attributes["app.version"] = "0.9.7";
|
|
244894
244906
|
}
|
|
244895
244907
|
const oauthAccount = getOauthAccountInfo();
|
|
244896
244908
|
if (oauthAccount) {
|
|
@@ -257129,7 +257141,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
257129
257141
|
}
|
|
257130
257142
|
function computeFingerprintFromMessages(messages) {
|
|
257131
257143
|
const firstMessageText = extractFirstMessageText(messages);
|
|
257132
|
-
return computeFingerprint(firstMessageText, "0.9.
|
|
257144
|
+
return computeFingerprint(firstMessageText, "0.9.7");
|
|
257133
257145
|
}
|
|
257134
257146
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
257135
257147
|
var init_fingerprint = () => {};
|
|
@@ -257171,7 +257183,7 @@ async function sideQuery(opts) {
|
|
|
257171
257183
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
257172
257184
|
}
|
|
257173
257185
|
const messageText = extractFirstUserMessageText(messages);
|
|
257174
|
-
const fingerprint = computeFingerprint(messageText, "0.9.
|
|
257186
|
+
const fingerprint = computeFingerprint(messageText, "0.9.7");
|
|
257175
257187
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
257176
257188
|
const systemBlocks = [
|
|
257177
257189
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -266073,7 +266085,7 @@ var init_user = __esm(() => {
|
|
|
266073
266085
|
deviceId,
|
|
266074
266086
|
sessionId: getSessionId(),
|
|
266075
266087
|
email: getEmail(),
|
|
266076
|
-
appVersion: "0.9.
|
|
266088
|
+
appVersion: "0.9.7",
|
|
266077
266089
|
platform: getHostPlatformForAnalytics(),
|
|
266078
266090
|
organizationUuid,
|
|
266079
266091
|
accountUuid,
|
|
@@ -266467,7 +266479,7 @@ async function initializeBetaTracing(resource) {
|
|
|
266467
266479
|
});
|
|
266468
266480
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
266469
266481
|
setLoggerProvider(loggerProvider);
|
|
266470
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.9.
|
|
266482
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.9.7");
|
|
266471
266483
|
setEventLogger(eventLogger);
|
|
266472
266484
|
process.on("beforeExit", async () => {
|
|
266473
266485
|
await loggerProvider?.forceFlush();
|
|
@@ -266507,7 +266519,7 @@ async function initializeTelemetry() {
|
|
|
266507
266519
|
const platform3 = getPlatform();
|
|
266508
266520
|
const baseAttributes = {
|
|
266509
266521
|
[ATTR_SERVICE_NAME3]: "claude-code",
|
|
266510
|
-
[ATTR_SERVICE_VERSION3]: "0.9.
|
|
266522
|
+
[ATTR_SERVICE_VERSION3]: "0.9.7"
|
|
266511
266523
|
};
|
|
266512
266524
|
if (platform3 === "wsl") {
|
|
266513
266525
|
const wslVersion = getWslVersion();
|
|
@@ -266552,7 +266564,7 @@ async function initializeTelemetry() {
|
|
|
266552
266564
|
} catch {}
|
|
266553
266565
|
};
|
|
266554
266566
|
registerCleanup(shutdownTelemetry2);
|
|
266555
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", "0.9.
|
|
266567
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", "0.9.7");
|
|
266556
266568
|
}
|
|
266557
266569
|
const meterProvider = new MeterProvider3({
|
|
266558
266570
|
resource,
|
|
@@ -266572,7 +266584,7 @@ async function initializeTelemetry() {
|
|
|
266572
266584
|
});
|
|
266573
266585
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
266574
266586
|
setLoggerProvider(loggerProvider);
|
|
266575
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.9.
|
|
266587
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.9.7");
|
|
266576
266588
|
setEventLogger(eventLogger);
|
|
266577
266589
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
266578
266590
|
process.on("beforeExit", async () => {
|
|
@@ -266634,7 +266646,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
266634
266646
|
}
|
|
266635
266647
|
};
|
|
266636
266648
|
registerCleanup(shutdownTelemetry);
|
|
266637
|
-
return meterProvider.getMeter("com.anthropic.claude_code", "0.9.
|
|
266649
|
+
return meterProvider.getMeter("com.anthropic.claude_code", "0.9.7");
|
|
266638
266650
|
}
|
|
266639
266651
|
async function flushTelemetry() {
|
|
266640
266652
|
const meterProvider = getMeterProvider();
|
|
@@ -267446,9 +267458,9 @@ async function assertMinVersion() {
|
|
|
267446
267458
|
}
|
|
267447
267459
|
try {
|
|
267448
267460
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
267449
|
-
if (versionConfig.minVersion && lt("0.9.
|
|
267461
|
+
if (versionConfig.minVersion && lt("0.9.7", versionConfig.minVersion)) {
|
|
267450
267462
|
console.error(`
|
|
267451
|
-
It looks like your version of ZeroCLI (${"0.9.
|
|
267463
|
+
It looks like your version of ZeroCLI (${"0.9.7"}) needs an update.
|
|
267452
267464
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
267453
267465
|
|
|
267454
267466
|
To update, please run:
|
|
@@ -267664,7 +267676,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
267664
267676
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
267665
267677
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
267666
267678
|
pid: process.pid,
|
|
267667
|
-
currentVersion: "0.9.
|
|
267679
|
+
currentVersion: "0.9.7"
|
|
267668
267680
|
});
|
|
267669
267681
|
return "in_progress";
|
|
267670
267682
|
}
|
|
@@ -267673,7 +267685,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
267673
267685
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
267674
267686
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
267675
267687
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
267676
|
-
currentVersion: "0.9.
|
|
267688
|
+
currentVersion: "0.9.7"
|
|
267677
267689
|
});
|
|
267678
267690
|
console.error(`
|
|
267679
267691
|
Error: Windows NPM detected in WSL
|
|
@@ -268227,7 +268239,7 @@ async function getDoctorDiagnostic() {
|
|
|
268227
268239
|
const installationType = await getCurrentInstallationType();
|
|
268228
268240
|
let version2;
|
|
268229
268241
|
try {
|
|
268230
|
-
version2 = "0.9.
|
|
268242
|
+
version2 = "0.9.7";
|
|
268231
268243
|
} catch {
|
|
268232
268244
|
version2 = "unknown";
|
|
268233
268245
|
}
|
|
@@ -269721,7 +269733,7 @@ function getInstallationEnv() {
|
|
|
269721
269733
|
return;
|
|
269722
269734
|
}
|
|
269723
269735
|
function getZeroCodeVersion() {
|
|
269724
|
-
return "0.9.
|
|
269736
|
+
return "0.9.7";
|
|
269725
269737
|
}
|
|
269726
269738
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
269727
269739
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -271088,8 +271100,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
271088
271100
|
const maxVersion = await getMaxVersion();
|
|
271089
271101
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
271090
271102
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
271091
|
-
if (gte("0.9.
|
|
271092
|
-
logForDebugging(`Native installer: current version ${"0.9.
|
|
271103
|
+
if (gte("0.9.7", maxVersion)) {
|
|
271104
|
+
logForDebugging(`Native installer: current version ${"0.9.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
271093
271105
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
271094
271106
|
latency_ms: Date.now() - startTime2,
|
|
271095
271107
|
max_version: maxVersion,
|
|
@@ -271100,7 +271112,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
271100
271112
|
version2 = maxVersion;
|
|
271101
271113
|
}
|
|
271102
271114
|
}
|
|
271103
|
-
if (!forceReinstall && version2 === "0.9.
|
|
271115
|
+
if (!forceReinstall && version2 === "0.9.7" && await versionIsAvailable(version2) && await isPossibleZeroBinary(executablePath)) {
|
|
271104
271116
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
271105
271117
|
logEvent("tengu_native_update_complete", {
|
|
271106
271118
|
latency_ms: Date.now() - startTime2,
|
|
@@ -372694,8 +372706,77 @@ function getSchemaValidationToolUseResult(tool, input, fallbackMessage) {
|
|
|
372694
372706
|
const override = getSchemaValidationErrorOverride(tool, input);
|
|
372695
372707
|
return `InputValidationError: ${override ?? fallbackMessage ?? ""}`;
|
|
372696
372708
|
}
|
|
372709
|
+
function tryRepairToolInput(tool, input) {
|
|
372710
|
+
const shape = tool.inputSchema.shape;
|
|
372711
|
+
if (!shape)
|
|
372712
|
+
return input;
|
|
372713
|
+
const expectedKeys = new Set(Object.keys(shape));
|
|
372714
|
+
const inputKeys = Object.keys(input);
|
|
372715
|
+
const unrecognizedKeys = inputKeys.filter((k) => !expectedKeys.has(k));
|
|
372716
|
+
if (unrecognizedKeys.length === 0)
|
|
372717
|
+
return input;
|
|
372718
|
+
const missingKeys = [...expectedKeys].filter((k) => !(k in input) || input[k] === undefined);
|
|
372719
|
+
if (missingKeys.length === 0)
|
|
372720
|
+
return input;
|
|
372721
|
+
const repaired = { ...input };
|
|
372722
|
+
let anyRepaired = false;
|
|
372723
|
+
for (const badKey of unrecognizedKeys) {
|
|
372724
|
+
let bestMatch = null;
|
|
372725
|
+
let bestScore = Infinity;
|
|
372726
|
+
for (const expectedKey of missingKeys) {
|
|
372727
|
+
if (badKey === `${expectedKey}_${expectedKey}` || badKey === `${expectedKey}_${expectedKey.split("_").pop()}` || badKey.startsWith(expectedKey + "_") && badKey.replace(expectedKey + "_", "") === expectedKey.split("_").pop()) {
|
|
372728
|
+
bestMatch = expectedKey;
|
|
372729
|
+
bestScore = 0;
|
|
372730
|
+
break;
|
|
372731
|
+
}
|
|
372732
|
+
if (badKey.startsWith(expectedKey) && badKey.length > expectedKey.length) {
|
|
372733
|
+
const suffix = badKey.slice(expectedKey.length + 1);
|
|
372734
|
+
if (expectedKey.endsWith(suffix) || expectedKey.includes(suffix)) {
|
|
372735
|
+
bestMatch = expectedKey;
|
|
372736
|
+
bestScore = 0;
|
|
372737
|
+
break;
|
|
372738
|
+
}
|
|
372739
|
+
}
|
|
372740
|
+
const dist = levenshteinDistance(badKey, expectedKey);
|
|
372741
|
+
if (dist <= 3 && dist < bestScore) {
|
|
372742
|
+
bestMatch = expectedKey;
|
|
372743
|
+
bestScore = dist;
|
|
372744
|
+
}
|
|
372745
|
+
if ((badKey.includes(expectedKey) || expectedKey.includes(badKey)) && bestScore > 1) {
|
|
372746
|
+
bestMatch = expectedKey;
|
|
372747
|
+
bestScore = 1;
|
|
372748
|
+
}
|
|
372749
|
+
}
|
|
372750
|
+
if (bestMatch) {
|
|
372751
|
+
repaired[bestMatch] = repaired[badKey];
|
|
372752
|
+
delete repaired[badKey];
|
|
372753
|
+
anyRepaired = true;
|
|
372754
|
+
const idx = missingKeys.indexOf(bestMatch);
|
|
372755
|
+
if (idx >= 0)
|
|
372756
|
+
missingKeys.splice(idx, 1);
|
|
372757
|
+
logForDebugging(`[ZERO-DEBUG] Tool param auto-repair: "${badKey}" → "${bestMatch}" (tool: ${tool.name})`);
|
|
372758
|
+
}
|
|
372759
|
+
}
|
|
372760
|
+
return anyRepaired ? repaired : input;
|
|
372761
|
+
}
|
|
372762
|
+
function levenshteinDistance(a2, b) {
|
|
372763
|
+
const m = a2.length;
|
|
372764
|
+
const n2 = b.length;
|
|
372765
|
+
const dp = Array.from({ length: m + 1 }, () => Array(n2 + 1).fill(0));
|
|
372766
|
+
for (let i3 = 0;i3 <= m; i3++)
|
|
372767
|
+
dp[i3][0] = i3;
|
|
372768
|
+
for (let j = 0;j <= n2; j++)
|
|
372769
|
+
dp[0][j] = j;
|
|
372770
|
+
for (let i3 = 1;i3 <= m; i3++) {
|
|
372771
|
+
for (let j = 1;j <= n2; j++) {
|
|
372772
|
+
dp[i3][j] = a2[i3 - 1] === b[j - 1] ? dp[i3 - 1][j - 1] : 1 + Math.min(dp[i3 - 1][j], dp[i3][j - 1], dp[i3 - 1][j - 1]);
|
|
372773
|
+
}
|
|
372774
|
+
}
|
|
372775
|
+
return dp[m][n2];
|
|
372776
|
+
}
|
|
372697
372777
|
async function checkPermissionsAndCallTool(tool, toolUseID, input, toolUseContext, canUseTool, assistantMessage, messageId, requestId, mcpServerType, mcpServerBaseUrl, onToolProgress) {
|
|
372698
|
-
const
|
|
372778
|
+
const repairedInput = tryRepairToolInput(tool, input);
|
|
372779
|
+
const parsedInput = tool.inputSchema.safeParse(repairedInput);
|
|
372699
372780
|
if (!parsedInput.success) {
|
|
372700
372781
|
const fallbackErrorContent = formatZodValidationError(tool.name, parsedInput.error);
|
|
372701
372782
|
let errorContent = getSchemaValidationErrorOverride(tool, input) ?? fallbackErrorContent;
|
|
@@ -375901,8 +375982,9 @@ async function* queryLoop(params, consumedCommandUuids) {
|
|
|
375901
375982
|
continue;
|
|
375902
375983
|
}
|
|
375903
375984
|
if (maxOutputTokensRecoveryCount < MAX_OUTPUT_TOKENS_RECOVERY_LIMIT) {
|
|
375985
|
+
logForDebugging(`[ZERO-DEBUG] MAX_TOKENS recovery attempt ${maxOutputTokensRecoveryCount + 1}/${MAX_OUTPUT_TOKENS_RECOVERY_LIMIT}. Enviando nudge para o modelo continuar de onde parou.`);
|
|
375904
375986
|
const recoveryMessage = createUserMessage({
|
|
375905
|
-
content: `Output token limit hit. Resume directly — no apology, no recap of what you were doing. ` + `Pick up mid-thought if that is where the cut happened. Break remaining work into smaller pieces.`,
|
|
375987
|
+
content: `Output token limit hit. Resume directly — no apology, no recap of what you were doing. ` + `Pick up mid-thought if that is where the cut happened. Break remaining work into smaller pieces. Use tool calls (one at a time) rather than generating large blocks of text or code inline.`,
|
|
375906
375988
|
isMeta: true
|
|
375907
375989
|
});
|
|
375908
375990
|
const next2 = {
|
|
@@ -376343,7 +376425,7 @@ function getAnthropicEnvMetadata() {
|
|
|
376343
376425
|
function getBuildAgeMinutes() {
|
|
376344
376426
|
if (false)
|
|
376345
376427
|
;
|
|
376346
|
-
const buildTime = new Date("2026-05-
|
|
376428
|
+
const buildTime = new Date("2026-05-14T00:59:01.796Z").getTime();
|
|
376347
376429
|
if (isNaN(buildTime))
|
|
376348
376430
|
return;
|
|
376349
376431
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -380295,6 +380377,29 @@ async function countMessagesTokensWithAPI(messages, tools) {
|
|
|
380295
380377
|
containsThinking
|
|
380296
380378
|
});
|
|
380297
380379
|
}
|
|
380380
|
+
const provider = getAPIProvider();
|
|
380381
|
+
const openAICompatProviders = new Set([
|
|
380382
|
+
"openai",
|
|
380383
|
+
"github",
|
|
380384
|
+
"codex",
|
|
380385
|
+
"nvidia-nim",
|
|
380386
|
+
"minimax",
|
|
380387
|
+
"mistral",
|
|
380388
|
+
"gemini"
|
|
380389
|
+
]);
|
|
380390
|
+
if (openAICompatProviders.has(provider)) {
|
|
380391
|
+
logForDebugging(`[ZERO-DEBUG] countTokens: provider="${provider}" não suporta countTokens API. Usando estimativa local.`);
|
|
380392
|
+
let total = 0;
|
|
380393
|
+
const bytesPerToken = getBytesPerTokenForModel(model);
|
|
380394
|
+
for (const msg of messages) {
|
|
380395
|
+
const content = typeof msg.content === "string" ? msg.content : Array.isArray(msg.content) ? msg.content.map((b) => typeof b === "string" ? b : JSON.stringify(b)).join("") : "";
|
|
380396
|
+
total += roughTokenCountEstimation(content, bytesPerToken);
|
|
380397
|
+
}
|
|
380398
|
+
if (tools.length > 0) {
|
|
380399
|
+
total += roughTokenCountEstimation(JSON.stringify(tools), bytesPerToken);
|
|
380400
|
+
}
|
|
380401
|
+
return total;
|
|
380402
|
+
}
|
|
380298
380403
|
const anthropic = await getAnthropicClient({
|
|
380299
380404
|
maxRetries: 1,
|
|
380300
380405
|
model,
|
|
@@ -380336,6 +380441,18 @@ function bytesPerTokenForFileType(fileExtension2) {
|
|
|
380336
380441
|
return 4;
|
|
380337
380442
|
}
|
|
380338
380443
|
}
|
|
380444
|
+
function getTokenizerConfig(model) {
|
|
380445
|
+
const lower = model.toLowerCase();
|
|
380446
|
+
for (const config2 of MODEL_TOKENIZER_CONFIGS) {
|
|
380447
|
+
if (lower.includes(config2.modelFamily)) {
|
|
380448
|
+
return config2;
|
|
380449
|
+
}
|
|
380450
|
+
}
|
|
380451
|
+
return { modelFamily: "unknown", bytesPerToken: 4, supportsJson: true, supportsCode: true };
|
|
380452
|
+
}
|
|
380453
|
+
function getBytesPerTokenForModel(model) {
|
|
380454
|
+
return getTokenizerConfig(model).bytesPerToken;
|
|
380455
|
+
}
|
|
380339
380456
|
function roughTokenCountEstimationForFileType(content, fileExtension2) {
|
|
380340
380457
|
return roughTokenCountEstimation(content, bytesPerTokenForFileType(fileExtension2));
|
|
380341
380458
|
}
|
|
@@ -380476,11 +380593,12 @@ async function countTokensWithBedrock({
|
|
|
380476
380593
|
return null;
|
|
380477
380594
|
}
|
|
380478
380595
|
}
|
|
380479
|
-
var TOKEN_COUNT_THINKING_BUDGET = 1024, TOKEN_COUNT_MAX_TOKENS = 2048;
|
|
380596
|
+
var TOKEN_COUNT_THINKING_BUDGET = 1024, TOKEN_COUNT_MAX_TOKENS = 2048, MODEL_TOKENIZER_CONFIGS;
|
|
380480
380597
|
var init_tokenEstimation = __esm(() => {
|
|
380481
380598
|
init_providers();
|
|
380482
380599
|
init_betas();
|
|
380483
380600
|
init_betas2();
|
|
380601
|
+
init_debug();
|
|
380484
380602
|
init_envUtils();
|
|
380485
380603
|
init_log3();
|
|
380486
380604
|
init_messages3();
|
|
@@ -380491,6 +380609,17 @@ var init_tokenEstimation = __esm(() => {
|
|
|
380491
380609
|
init_claude();
|
|
380492
380610
|
init_client6();
|
|
380493
380611
|
init_vcr();
|
|
380612
|
+
MODEL_TOKENIZER_CONFIGS = [
|
|
380613
|
+
{ modelFamily: "claude", bytesPerToken: 3.5, supportsJson: true, supportsCode: true },
|
|
380614
|
+
{ modelFamily: "gpt-4", bytesPerToken: 4, supportsJson: true, supportsCode: true },
|
|
380615
|
+
{ modelFamily: "gpt-3.5", bytesPerToken: 4, supportsJson: true, supportsCode: true },
|
|
380616
|
+
{ modelFamily: "gemini", bytesPerToken: 3.5, supportsJson: true, supportsCode: true },
|
|
380617
|
+
{ modelFamily: "llama", bytesPerToken: 3.8, supportsJson: true, supportsCode: true },
|
|
380618
|
+
{ modelFamily: "deepseek", bytesPerToken: 3.5, supportsJson: true, supportsCode: true },
|
|
380619
|
+
{ modelFamily: "minimax", bytesPerToken: 3.2, supportsJson: true, supportsCode: true },
|
|
380620
|
+
{ modelFamily: "qwen", bytesPerToken: 3.5, supportsJson: true, supportsCode: true },
|
|
380621
|
+
{ modelFamily: "mistral", bytesPerToken: 3.5, supportsJson: true, supportsCode: true }
|
|
380622
|
+
];
|
|
380494
380623
|
});
|
|
380495
380624
|
|
|
380496
380625
|
// src/utils/pdf.ts
|
|
@@ -403779,7 +403908,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
403779
403908
|
const client2 = new Client({
|
|
403780
403909
|
name: "claude-code",
|
|
403781
403910
|
title: "ZeroCLI",
|
|
403782
|
-
version: "0.9.
|
|
403911
|
+
version: "0.9.7",
|
|
403783
403912
|
description: "Anthropic's agentic coding tool",
|
|
403784
403913
|
websiteUrl: PRODUCT_URL
|
|
403785
403914
|
}, {
|
|
@@ -404131,7 +404260,7 @@ var init_client7 = __esm(() => {
|
|
|
404131
404260
|
const client2 = new Client({
|
|
404132
404261
|
name: "claude-code",
|
|
404133
404262
|
title: "ZeroCLI",
|
|
404134
|
-
version: "0.9.
|
|
404263
|
+
version: "0.9.7",
|
|
404135
404264
|
description: "Anthropic's agentic coding tool",
|
|
404136
404265
|
websiteUrl: PRODUCT_URL
|
|
404137
404266
|
}, {
|
|
@@ -414866,7 +414995,7 @@ function Feedback({
|
|
|
414866
414995
|
platform: env2.platform,
|
|
414867
414996
|
gitRepo: envInfo.isGit,
|
|
414868
414997
|
terminal: env2.terminal,
|
|
414869
|
-
version: "0.9.
|
|
414998
|
+
version: "0.9.7",
|
|
414870
414999
|
transcript: normalizeMessagesForAPI(messages),
|
|
414871
415000
|
errors: sanitizedErrors,
|
|
414872
415001
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -415059,7 +415188,7 @@ function Feedback({
|
|
|
415059
415188
|
", ",
|
|
415060
415189
|
env2.terminal,
|
|
415061
415190
|
", v",
|
|
415062
|
-
"0.9.
|
|
415191
|
+
"0.9.7"
|
|
415063
415192
|
]
|
|
415064
415193
|
})
|
|
415065
415194
|
]
|
|
@@ -415167,7 +415296,7 @@ ${sanitizedDescription}
|
|
|
415167
415296
|
` + `**Environment Info**
|
|
415168
415297
|
` + `- Platform: ${env2.platform}
|
|
415169
415298
|
` + `- Terminal: ${env2.terminal}
|
|
415170
|
-
` + `- Version: ${"0.9.
|
|
415299
|
+
` + `- Version: ${"0.9.7"}
|
|
415171
415300
|
` + feedbackIdLine + `
|
|
415172
415301
|
**Errors**
|
|
415173
415302
|
\`\`\`json
|
|
@@ -418320,7 +418449,7 @@ function buildPrimarySection() {
|
|
|
418320
418449
|
});
|
|
418321
418450
|
return [{
|
|
418322
418451
|
label: "Version",
|
|
418323
|
-
value: "0.9.
|
|
418452
|
+
value: "0.9.7"
|
|
418324
418453
|
}, {
|
|
418325
418454
|
label: "Session name",
|
|
418326
418455
|
value: nameValue
|
|
@@ -423090,7 +423219,7 @@ function Config({
|
|
|
423090
423219
|
}
|
|
423091
423220
|
})
|
|
423092
423221
|
}) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_runtime181.jsx(ChannelDowngradeDialog, {
|
|
423093
|
-
currentVersion: "0.9.
|
|
423222
|
+
currentVersion: "0.9.7",
|
|
423094
423223
|
onChoice: (choice) => {
|
|
423095
423224
|
setShowSubmenu(null);
|
|
423096
423225
|
setTabsHidden(false);
|
|
@@ -423102,7 +423231,7 @@ function Config({
|
|
|
423102
423231
|
autoUpdatesChannel: "stable"
|
|
423103
423232
|
};
|
|
423104
423233
|
if (choice === "stay") {
|
|
423105
|
-
newSettings.minimumVersion = "0.9.
|
|
423234
|
+
newSettings.minimumVersion = "0.9.7";
|
|
423106
423235
|
}
|
|
423107
423236
|
updateSettingsForSource("userSettings", newSettings);
|
|
423108
423237
|
setSettingsData((prev_27) => ({
|
|
@@ -430043,7 +430172,7 @@ function UpdateScreen({ onDone }) {
|
|
|
430043
430172
|
setState({ type: "dev-build" });
|
|
430044
430173
|
return;
|
|
430045
430174
|
}
|
|
430046
|
-
const currentVersion = "0.9.
|
|
430175
|
+
const currentVersion = "0.9.7";
|
|
430047
430176
|
const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
430048
430177
|
const latestVersion = await getLatestVersion(channel2);
|
|
430049
430178
|
if (!latestVersion) {
|
|
@@ -432154,7 +432283,7 @@ function HelpV2(t0) {
|
|
|
432154
432283
|
let t6;
|
|
432155
432284
|
if ($2[31] !== tabs) {
|
|
432156
432285
|
t6 = /* @__PURE__ */ jsx_runtime211.jsx(Tabs, {
|
|
432157
|
-
title: `ZeroCLI v${"0.9.
|
|
432286
|
+
title: `ZeroCLI v${"0.9.7"}`,
|
|
432158
432287
|
color: "professionalBlue",
|
|
432159
432288
|
defaultTab: "general",
|
|
432160
432289
|
children: tabs
|
|
@@ -456998,7 +457127,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
456998
457127
|
return [];
|
|
456999
457128
|
}
|
|
457000
457129
|
}
|
|
457001
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.9.
|
|
457130
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.9.7") {
|
|
457002
457131
|
if (process.env.USER_TYPE === "ant") {
|
|
457003
457132
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
457004
457133
|
if (changelog) {
|
|
@@ -486036,7 +486165,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
486036
486165
|
smapsRollup,
|
|
486037
486166
|
platform: process.platform,
|
|
486038
486167
|
nodeVersion: process.version,
|
|
486039
|
-
ccVersion: "0.9.
|
|
486168
|
+
ccVersion: "0.9.7"
|
|
486040
486169
|
};
|
|
486041
486170
|
}
|
|
486042
486171
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -486623,7 +486752,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
486623
486752
|
var call60 = async () => {
|
|
486624
486753
|
return {
|
|
486625
486754
|
type: "text",
|
|
486626
|
-
value: `${"0.9.
|
|
486755
|
+
value: `${"0.9.7"} (built ${"2026-05-14T00:59:01.796Z"})`
|
|
486627
486756
|
};
|
|
486628
486757
|
}, version2, version_default;
|
|
486629
486758
|
var init_version = __esm(() => {
|
|
@@ -496780,7 +496909,7 @@ function generateHtmlReport(data, insights) {
|
|
|
496780
496909
|
function buildExportData(data, insights, facets) {
|
|
496781
496910
|
let version3;
|
|
496782
496911
|
try {
|
|
496783
|
-
version3 = "0.9.
|
|
496912
|
+
version3 = "0.9.7";
|
|
496784
496913
|
} catch {
|
|
496785
496914
|
version3 = "unknown";
|
|
496786
496915
|
}
|
|
@@ -500976,7 +501105,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
500976
501105
|
init_slowOperations();
|
|
500977
501106
|
init_uuid();
|
|
500978
501107
|
try {
|
|
500979
|
-
VERSION7 = "0.9.
|
|
501108
|
+
VERSION7 = "0.9.7";
|
|
500980
501109
|
} catch {
|
|
500981
501110
|
VERSION7 = "unknown";
|
|
500982
501111
|
}
|
|
@@ -502297,7 +502426,7 @@ var init_filesystem = __esm(() => {
|
|
|
502297
502426
|
});
|
|
502298
502427
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
502299
502428
|
const nonce = randomBytes17(16).toString("hex");
|
|
502300
|
-
return join137(getZeroTempDir(), "bundled-skills", "0.9.
|
|
502429
|
+
return join137(getZeroTempDir(), "bundled-skills", "0.9.7", nonce);
|
|
502301
502430
|
});
|
|
502302
502431
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
502303
502432
|
});
|
|
@@ -513317,7 +513446,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
513317
513446
|
slash_commands: inputs.commands.filter((c6) => c6.userInvocable !== false).map((c6) => c6.name),
|
|
513318
513447
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
513319
513448
|
betas: getSdkBetas(),
|
|
513320
|
-
claude_code_version: "0.9.
|
|
513449
|
+
claude_code_version: "0.9.7",
|
|
513321
513450
|
output_style: outputStyle2,
|
|
513322
513451
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
513323
513452
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -528632,7 +528761,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
528632
528761
|
function getSemverPart(version3) {
|
|
528633
528762
|
return `${import_semver12.major(version3, { loose: true })}.${import_semver12.minor(version3, { loose: true })}.${import_semver12.patch(version3, { loose: true })}`;
|
|
528634
528763
|
}
|
|
528635
|
-
function useUpdateNotification(updatedVersion, initialVersion = "0.9.
|
|
528764
|
+
function useUpdateNotification(updatedVersion, initialVersion = "0.9.7") {
|
|
528636
528765
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react226.useState(() => getSemverPart(initialVersion));
|
|
528637
528766
|
if (!updatedVersion) {
|
|
528638
528767
|
return null;
|
|
@@ -528675,7 +528804,7 @@ function AutoUpdater({
|
|
|
528675
528804
|
return;
|
|
528676
528805
|
}
|
|
528677
528806
|
if (false) {}
|
|
528678
|
-
const currentVersion = "0.9.
|
|
528807
|
+
const currentVersion = "0.9.7";
|
|
528679
528808
|
const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
528680
528809
|
let latestVersion = await getLatestVersion(channel2);
|
|
528681
528810
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -528896,12 +529025,12 @@ function NativeAutoUpdater({
|
|
|
528896
529025
|
logEvent("tengu_native_auto_updater_start", {});
|
|
528897
529026
|
try {
|
|
528898
529027
|
const maxVersion = await getMaxVersion();
|
|
528899
|
-
if (maxVersion && gt("0.9.
|
|
529028
|
+
if (maxVersion && gt("0.9.7", maxVersion)) {
|
|
528900
529029
|
const msg = await getMaxVersionMessage();
|
|
528901
529030
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
528902
529031
|
}
|
|
528903
529032
|
const result = await installLatest(channel2);
|
|
528904
|
-
const currentVersion = "0.9.
|
|
529033
|
+
const currentVersion = "0.9.7";
|
|
528905
529034
|
const latencyMs = Date.now() - startTime2;
|
|
528906
529035
|
if (result.lockFailed) {
|
|
528907
529036
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -529043,17 +529172,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
529043
529172
|
const maxVersion = await getMaxVersion();
|
|
529044
529173
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
529045
529174
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
529046
|
-
if (gte("0.9.
|
|
529047
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"0.9.
|
|
529175
|
+
if (gte("0.9.7", maxVersion)) {
|
|
529176
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"0.9.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
529048
529177
|
setUpdateAvailable(false);
|
|
529049
529178
|
return;
|
|
529050
529179
|
}
|
|
529051
529180
|
latest = maxVersion;
|
|
529052
529181
|
}
|
|
529053
|
-
const hasUpdate = latest && !gte("0.9.
|
|
529182
|
+
const hasUpdate = latest && !gte("0.9.7", latest) && !shouldSkipVersion(latest);
|
|
529054
529183
|
setUpdateAvailable(!!hasUpdate);
|
|
529055
529184
|
if (hasUpdate) {
|
|
529056
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.9.
|
|
529185
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.9.7"} -> ${latest}`);
|
|
529057
529186
|
}
|
|
529058
529187
|
};
|
|
529059
529188
|
$2[0] = t1;
|
|
@@ -529087,7 +529216,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
529087
529216
|
wrap: "truncate",
|
|
529088
529217
|
children: [
|
|
529089
529218
|
"currentVersion: ",
|
|
529090
|
-
"0.9.
|
|
529219
|
+
"0.9.7"
|
|
529091
529220
|
]
|
|
529092
529221
|
});
|
|
529093
529222
|
$2[3] = verbose;
|
|
@@ -538116,7 +538245,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
538116
538245
|
project_dir: getOriginalCwd(),
|
|
538117
538246
|
added_dirs: addedDirs
|
|
538118
538247
|
},
|
|
538119
|
-
version: "0.9.
|
|
538248
|
+
version: "0.9.7",
|
|
538120
538249
|
output_style: {
|
|
538121
538250
|
name: outputStyleName
|
|
538122
538251
|
},
|
|
@@ -562619,7 +562748,7 @@ function WelcomeV2() {
|
|
|
562619
562748
|
dimColor: true,
|
|
562620
562749
|
children: [
|
|
562621
562750
|
"v",
|
|
562622
|
-
"0.9.
|
|
562751
|
+
"0.9.7",
|
|
562623
562752
|
" "
|
|
562624
562753
|
]
|
|
562625
562754
|
})
|
|
@@ -562853,7 +562982,7 @@ function WelcomeV2() {
|
|
|
562853
562982
|
dimColor: true,
|
|
562854
562983
|
children: [
|
|
562855
562984
|
"v",
|
|
562856
|
-
"0.9.
|
|
562985
|
+
"0.9.7",
|
|
562857
562986
|
" "
|
|
562858
562987
|
]
|
|
562859
562988
|
})
|
|
@@ -563100,7 +563229,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
563100
563229
|
dimColor: true,
|
|
563101
563230
|
children: [
|
|
563102
563231
|
"v",
|
|
563103
|
-
"0.9.
|
|
563232
|
+
"0.9.7",
|
|
563104
563233
|
" "
|
|
563105
563234
|
]
|
|
563106
563235
|
});
|
|
@@ -563373,7 +563502,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
563373
563502
|
dimColor: true,
|
|
563374
563503
|
children: [
|
|
563375
563504
|
"v",
|
|
563376
|
-
"0.9.
|
|
563505
|
+
"0.9.7",
|
|
563377
563506
|
" "
|
|
563378
563507
|
]
|
|
563379
563508
|
});
|
|
@@ -564885,7 +565014,7 @@ function completeOnboarding() {
|
|
|
564885
565014
|
saveGlobalConfig((current) => ({
|
|
564886
565015
|
...current,
|
|
564887
565016
|
hasCompletedOnboarding: true,
|
|
564888
|
-
lastOnboardingVersion: "0.9.
|
|
565017
|
+
lastOnboardingVersion: "0.9.7"
|
|
564889
565018
|
}));
|
|
564890
565019
|
}
|
|
564891
565020
|
function showDialog(root2, renderer) {
|
|
@@ -569136,7 +569265,7 @@ function appendToLog(path24, message) {
|
|
|
569136
569265
|
cwd: getFsImplementation().cwd(),
|
|
569137
569266
|
userType: process.env.USER_TYPE,
|
|
569138
569267
|
sessionId: getSessionId(),
|
|
569139
|
-
version: "0.9.
|
|
569268
|
+
version: "0.9.7"
|
|
569140
569269
|
};
|
|
569141
569270
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
569142
569271
|
}
|
|
@@ -569742,7 +569871,7 @@ async function startMCPServer(cwd2, debug, verbose) {
|
|
|
569742
569871
|
setCwd(cwd2);
|
|
569743
569872
|
const server = new Server({
|
|
569744
569873
|
name: "claude/tengu",
|
|
569745
|
-
version: "0.9.
|
|
569874
|
+
version: "0.9.7"
|
|
569746
569875
|
}, {
|
|
569747
569876
|
capabilities: {
|
|
569748
569877
|
tools: {}
|
|
@@ -574381,8 +574510,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
574381
574510
|
}
|
|
574382
574511
|
async function checkEnvLessBridgeMinVersion() {
|
|
574383
574512
|
const cfg = await getEnvLessBridgeConfig();
|
|
574384
|
-
if (cfg.min_version && lt("0.9.
|
|
574385
|
-
return `Your version of ZeroCLI (${"0.9.
|
|
574513
|
+
if (cfg.min_version && lt("0.9.7", cfg.min_version)) {
|
|
574514
|
+
return `Your version of ZeroCLI (${"0.9.7"}) is too old for Remote Control.
|
|
574386
574515
|
Version ${cfg.min_version} or higher is required. Run \`zero update\` to update.`;
|
|
574387
574516
|
}
|
|
574388
574517
|
return null;
|
|
@@ -574857,7 +574986,7 @@ async function initBridgeCore(params) {
|
|
|
574857
574986
|
const rawApi = createBridgeApiClient({
|
|
574858
574987
|
baseUrl,
|
|
574859
574988
|
getAccessToken,
|
|
574860
|
-
runnerVersion: "0.9.
|
|
574989
|
+
runnerVersion: "0.9.7",
|
|
574861
574990
|
onDebug: logForDebugging,
|
|
574862
574991
|
onAuth401,
|
|
574863
574992
|
getTrustedDeviceToken
|
|
@@ -581145,7 +581274,7 @@ __export(exports_update2, {
|
|
|
581145
581274
|
});
|
|
581146
581275
|
async function update2() {
|
|
581147
581276
|
logEvent("tengu_update_check", {});
|
|
581148
|
-
writeToStdout(`Current version: ${"0.9.
|
|
581277
|
+
writeToStdout(`Current version: ${"0.9.7"}
|
|
581149
581278
|
`);
|
|
581150
581279
|
const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
581151
581280
|
writeToStdout(`Checking for updates to ${channel2} version...
|
|
@@ -581220,8 +581349,8 @@ async function update2() {
|
|
|
581220
581349
|
writeToStdout(`Zero is managed by Homebrew.
|
|
581221
581350
|
`);
|
|
581222
581351
|
const latest = await getLatestVersion(channel2);
|
|
581223
|
-
if (latest && !gte("0.9.
|
|
581224
|
-
writeToStdout(`Update available: ${"0.9.
|
|
581352
|
+
if (latest && !gte("0.9.7", latest)) {
|
|
581353
|
+
writeToStdout(`Update available: ${"0.9.7"} → ${latest}
|
|
581225
581354
|
`);
|
|
581226
581355
|
writeToStdout(`
|
|
581227
581356
|
`);
|
|
@@ -581237,8 +581366,8 @@ async function update2() {
|
|
|
581237
581366
|
writeToStdout(`Zero is managed by winget.
|
|
581238
581367
|
`);
|
|
581239
581368
|
const latest = await getLatestVersion(channel2);
|
|
581240
|
-
if (latest && !gte("0.9.
|
|
581241
|
-
writeToStdout(`Update available: ${"0.9.
|
|
581369
|
+
if (latest && !gte("0.9.7", latest)) {
|
|
581370
|
+
writeToStdout(`Update available: ${"0.9.7"} → ${latest}
|
|
581242
581371
|
`);
|
|
581243
581372
|
writeToStdout(`
|
|
581244
581373
|
`);
|
|
@@ -581254,8 +581383,8 @@ async function update2() {
|
|
|
581254
581383
|
writeToStdout(`Zero is managed by apk.
|
|
581255
581384
|
`);
|
|
581256
581385
|
const latest = await getLatestVersion(channel2);
|
|
581257
|
-
if (latest && !gte("0.9.
|
|
581258
|
-
writeToStdout(`Update available: ${"0.9.
|
|
581386
|
+
if (latest && !gte("0.9.7", latest)) {
|
|
581387
|
+
writeToStdout(`Update available: ${"0.9.7"} → ${latest}
|
|
581259
581388
|
`);
|
|
581260
581389
|
writeToStdout(`
|
|
581261
581390
|
`);
|
|
@@ -581320,11 +581449,11 @@ async function update2() {
|
|
|
581320
581449
|
`);
|
|
581321
581450
|
await gracefulShutdown(1);
|
|
581322
581451
|
}
|
|
581323
|
-
if (result.latestVersion === "0.9.
|
|
581324
|
-
writeToStdout(source_default.green(`Zero CLI is up to date (${"0.9.
|
|
581452
|
+
if (result.latestVersion === "0.9.7") {
|
|
581453
|
+
writeToStdout(source_default.green(`Zero CLI is up to date (${"0.9.7"})`) + `
|
|
581325
581454
|
`);
|
|
581326
581455
|
} else {
|
|
581327
|
-
writeToStdout(source_default.green(`Successfully updated from ${"0.9.
|
|
581456
|
+
writeToStdout(source_default.green(`Successfully updated from ${"0.9.7"} to version ${result.latestVersion}`) + `
|
|
581328
581457
|
`);
|
|
581329
581458
|
await regenerateCompletionCache();
|
|
581330
581459
|
}
|
|
@@ -581384,12 +581513,12 @@ async function update2() {
|
|
|
581384
581513
|
`);
|
|
581385
581514
|
await gracefulShutdown(1);
|
|
581386
581515
|
}
|
|
581387
|
-
if (latestVersion === "0.9.
|
|
581388
|
-
writeToStdout(source_default.green(`Zero CLI is up to date (${"0.9.
|
|
581516
|
+
if (latestVersion === "0.9.7") {
|
|
581517
|
+
writeToStdout(source_default.green(`Zero CLI is up to date (${"0.9.7"})`) + `
|
|
581389
581518
|
`);
|
|
581390
581519
|
await gracefulShutdown(0);
|
|
581391
581520
|
}
|
|
581392
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"0.9.
|
|
581521
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"0.9.7"})
|
|
581393
581522
|
`);
|
|
581394
581523
|
writeToStdout(`Installing update...
|
|
581395
581524
|
`);
|
|
@@ -581434,7 +581563,7 @@ async function update2() {
|
|
|
581434
581563
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
581435
581564
|
switch (status2) {
|
|
581436
581565
|
case "success":
|
|
581437
|
-
writeToStdout(source_default.green(`Successfully updated from ${"0.9.
|
|
581566
|
+
writeToStdout(source_default.green(`Successfully updated from ${"0.9.7"} to version ${latestVersion}`) + `
|
|
581438
581567
|
`);
|
|
581439
581568
|
await regenerateCompletionCache();
|
|
581440
581569
|
break;
|
|
@@ -582735,7 +582864,7 @@ ${customInstructions}` : customInstructions;
|
|
|
582735
582864
|
}
|
|
582736
582865
|
}
|
|
582737
582866
|
logForDiagnosticsNoPII("info", "started", {
|
|
582738
|
-
version: "0.9.
|
|
582867
|
+
version: "0.9.7",
|
|
582739
582868
|
is_native_binary: isInBundledMode()
|
|
582740
582869
|
});
|
|
582741
582870
|
registerCleanup(async () => {
|
|
@@ -583618,7 +583747,7 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
583618
583747
|
pendingHookMessages
|
|
583619
583748
|
}, renderAndRun);
|
|
583620
583749
|
}
|
|
583621
|
-
}).version("0.9.
|
|
583750
|
+
}).version("0.9.7", "-v, --version", "Output the version number");
|
|
583622
583751
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
583623
583752
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
583624
583753
|
if (canUserConfigureAdvisor()) {
|
|
@@ -584284,7 +584413,7 @@ if (false) {}
|
|
|
584284
584413
|
async function main2() {
|
|
584285
584414
|
const args = process.argv.slice(2);
|
|
584286
584415
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
584287
|
-
console.log(`${"0.9.
|
|
584416
|
+
console.log(`${"0.9.7"} (ZeroCLI)`);
|
|
584288
584417
|
return;
|
|
584289
584418
|
}
|
|
584290
584419
|
if (args.includes("--provider")) {
|
|
@@ -584426,4 +584555,4 @@ async function main2() {
|
|
|
584426
584555
|
}
|
|
584427
584556
|
main2();
|
|
584428
584557
|
|
|
584429
|
-
//# debugId=
|
|
584558
|
+
//# debugId=B6F3EC808063D21764756E2164756E21
|