@duheso/zerocli 0.9.5 → 0.9.6
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 +159 -82
- 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.6"}${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.6"}.${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.6"}`;
|
|
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.6"} (${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.6"}${suffix}`;
|
|
190420
190420
|
}
|
|
190421
190421
|
function getWebFetchUserAgent() {
|
|
190422
190422
|
const supportUrl = getAPIProvider() === "firstParty" ? "https://support.anthropic.com/" : "https://github.com/Duheso/ZeroCLI";
|
|
@@ -192898,7 +192898,19 @@ async function* openaiStreamToAnthropic(response, model, signal) {
|
|
|
192898
192898
|
return new Promise((resolve19, reject) => {
|
|
192899
192899
|
const timeoutId = setTimeout(() => {
|
|
192900
192900
|
const elapsed = Math.round((Date.now() - lastDataTime) / 1000);
|
|
192901
|
-
|
|
192901
|
+
const msg = `OpenAI/Gemini SSE stream idle for ${elapsed}s (limit: ${STREAM_IDLE_TIMEOUT_MS / 1000}s). Connection likely dropped.`;
|
|
192902
|
+
logForDebugging(`
|
|
192903
|
+
` + `========================================================================
|
|
192904
|
+
` + `[ZERO-DEBUG] ENCERRAMENTO DETECTADO: STREAM IDLE TIMEOUT
|
|
192905
|
+
` + `========================================================================
|
|
192906
|
+
` + `CAUSA: O stream SSE ficou ${elapsed}s sem receber dados do modelo (vLLM/OpenAI).
|
|
192907
|
+
` + `LIMITE ATUAL: ${STREAM_IDLE_TIMEOUT_MS / 1000}s (HARDCODED em openaiShim.ts:916).
|
|
192908
|
+
` + `EFEITO: Zero encerrou o processamento porque assumiu que a conexao caiu.
|
|
192909
|
+
` + `CORRECAO: Aumentar STREAM_IDLE_TIMEOUT_MS em src/services/api/openaiShim.ts
|
|
192910
|
+
` + ` ou tornar configuravel via env var OPENAI_STREAM_IDLE_TIMEOUT_MS.
|
|
192911
|
+
` + ` Modelos locais (vLLM) podem demorar mais que 120s entre chunks.
|
|
192912
|
+
` + `========================================================================`, { level: "error" });
|
|
192913
|
+
reject(new Error(msg));
|
|
192902
192914
|
}, STREAM_IDLE_TIMEOUT_MS);
|
|
192903
192915
|
let abortCleanup;
|
|
192904
192916
|
if (signal) {
|
|
@@ -192958,7 +192970,19 @@ async function* openaiStreamToAnthropic(response, model, signal) {
|
|
|
192958
192970
|
let chunk;
|
|
192959
192971
|
try {
|
|
192960
192972
|
chunk = JSON.parse(trimmed.slice(6));
|
|
192961
|
-
} catch {
|
|
192973
|
+
} catch (parseError) {
|
|
192974
|
+
logForDebugging(`
|
|
192975
|
+
` + `========================================================================
|
|
192976
|
+
` + `[ZERO-DEBUG] ALERTA: ERRO DE PARSE JSON NO STREAM SSE
|
|
192977
|
+
` + `========================================================================
|
|
192978
|
+
` + `CAUSA: Chunk recebido do modelo nao e JSON valido.
|
|
192979
|
+
` + `DADOS RECEBIDOS: ${trimmed.slice(0, 500)}
|
|
192980
|
+
` + `ERRO: ${parseError instanceof Error ? parseError.message : String(parseError)}
|
|
192981
|
+
` + `EFEITO: Este chunk foi IGNORADO silenciosamente. Se muitos chunks falharem,
|
|
192982
|
+
` + ` o modelo pode parecer encerrar sem completar a resposta.
|
|
192983
|
+
` + `CORRECAO: Verificar se o vLLM esta retornando respostas validas.
|
|
192984
|
+
` + ` Pode indicar incompatibilidade de formato entre vLLM e ZeroCLI.
|
|
192985
|
+
` + `========================================================================`, { level: "warn" });
|
|
192962
192986
|
continue;
|
|
192963
192987
|
}
|
|
192964
192988
|
const chunkUsage = convertChunkUsage(chunk.usage);
|
|
@@ -193133,6 +193157,20 @@ async function* openaiStreamToAnthropic(response, model, signal) {
|
|
|
193133
193157
|
yield { type: "content_block_stop", index: tc.index };
|
|
193134
193158
|
}
|
|
193135
193159
|
const stopReason = choice.finish_reason === "tool_calls" ? "tool_use" : choice.finish_reason === "length" ? "max_tokens" : "end_turn";
|
|
193160
|
+
if (choice.finish_reason === "length") {
|
|
193161
|
+
logForDebugging(`
|
|
193162
|
+
` + `========================================================================
|
|
193163
|
+
` + `[ZERO-DEBUG] ENCERRAMENTO DETECTADO: MAX_TOKENS ATINGIDO (finish_reason=length)
|
|
193164
|
+
` + `========================================================================
|
|
193165
|
+
` + `CAUSA: O modelo atingiu o limite de tokens de saida e parou de gerar.
|
|
193166
|
+
` + `FINISH_REASON: "length" (convertido para "max_tokens" internamente).
|
|
193167
|
+
` + `EFEITO: Zero encerrou o processamento porque o modelo foi cortado no meio.
|
|
193168
|
+
` + ` A resposta pode estar incompleta ou cortada abruptamente.
|
|
193169
|
+
` + `CORRECAO: Aumentar max_tokens via env var CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000
|
|
193170
|
+
` + ` ou CLAUDE_CODE_OPENAI_MAX_OUTPUT_TOKENS='{"seu-modelo": 64000}'
|
|
193171
|
+
` + ` Default atual: CAPPED_DEFAULT_MAX_TOKENS = 8000 tokens.
|
|
193172
|
+
` + `========================================================================`, { level: "error" });
|
|
193173
|
+
}
|
|
193136
193174
|
if (choice.finish_reason === "content_filter" || choice.finish_reason === "safety") {
|
|
193137
193175
|
if (!hasEmittedContentStart) {
|
|
193138
193176
|
yield {
|
|
@@ -244852,7 +244890,7 @@ function getTelemetryAttributes() {
|
|
|
244852
244890
|
attributes["session.id"] = sessionId;
|
|
244853
244891
|
}
|
|
244854
244892
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
244855
|
-
attributes["app.version"] = "0.9.
|
|
244893
|
+
attributes["app.version"] = "0.9.6";
|
|
244856
244894
|
}
|
|
244857
244895
|
const oauthAccount = getOauthAccountInfo();
|
|
244858
244896
|
if (oauthAccount) {
|
|
@@ -257091,7 +257129,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
257091
257129
|
}
|
|
257092
257130
|
function computeFingerprintFromMessages(messages) {
|
|
257093
257131
|
const firstMessageText = extractFirstMessageText(messages);
|
|
257094
|
-
return computeFingerprint(firstMessageText, "0.9.
|
|
257132
|
+
return computeFingerprint(firstMessageText, "0.9.6");
|
|
257095
257133
|
}
|
|
257096
257134
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
257097
257135
|
var init_fingerprint = () => {};
|
|
@@ -257133,7 +257171,7 @@ async function sideQuery(opts) {
|
|
|
257133
257171
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
257134
257172
|
}
|
|
257135
257173
|
const messageText = extractFirstUserMessageText(messages);
|
|
257136
|
-
const fingerprint = computeFingerprint(messageText, "0.9.
|
|
257174
|
+
const fingerprint = computeFingerprint(messageText, "0.9.6");
|
|
257137
257175
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
257138
257176
|
const systemBlocks = [
|
|
257139
257177
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -266035,7 +266073,7 @@ var init_user = __esm(() => {
|
|
|
266035
266073
|
deviceId,
|
|
266036
266074
|
sessionId: getSessionId(),
|
|
266037
266075
|
email: getEmail(),
|
|
266038
|
-
appVersion: "0.9.
|
|
266076
|
+
appVersion: "0.9.6",
|
|
266039
266077
|
platform: getHostPlatformForAnalytics(),
|
|
266040
266078
|
organizationUuid,
|
|
266041
266079
|
accountUuid,
|
|
@@ -266429,7 +266467,7 @@ async function initializeBetaTracing(resource) {
|
|
|
266429
266467
|
});
|
|
266430
266468
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
266431
266469
|
setLoggerProvider(loggerProvider);
|
|
266432
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.9.
|
|
266470
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.9.6");
|
|
266433
266471
|
setEventLogger(eventLogger);
|
|
266434
266472
|
process.on("beforeExit", async () => {
|
|
266435
266473
|
await loggerProvider?.forceFlush();
|
|
@@ -266469,7 +266507,7 @@ async function initializeTelemetry() {
|
|
|
266469
266507
|
const platform3 = getPlatform();
|
|
266470
266508
|
const baseAttributes = {
|
|
266471
266509
|
[ATTR_SERVICE_NAME3]: "claude-code",
|
|
266472
|
-
[ATTR_SERVICE_VERSION3]: "0.9.
|
|
266510
|
+
[ATTR_SERVICE_VERSION3]: "0.9.6"
|
|
266473
266511
|
};
|
|
266474
266512
|
if (platform3 === "wsl") {
|
|
266475
266513
|
const wslVersion = getWslVersion();
|
|
@@ -266514,7 +266552,7 @@ async function initializeTelemetry() {
|
|
|
266514
266552
|
} catch {}
|
|
266515
266553
|
};
|
|
266516
266554
|
registerCleanup(shutdownTelemetry2);
|
|
266517
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", "0.9.
|
|
266555
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", "0.9.6");
|
|
266518
266556
|
}
|
|
266519
266557
|
const meterProvider = new MeterProvider3({
|
|
266520
266558
|
resource,
|
|
@@ -266534,7 +266572,7 @@ async function initializeTelemetry() {
|
|
|
266534
266572
|
});
|
|
266535
266573
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
266536
266574
|
setLoggerProvider(loggerProvider);
|
|
266537
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.9.
|
|
266575
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.9.6");
|
|
266538
266576
|
setEventLogger(eventLogger);
|
|
266539
266577
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
266540
266578
|
process.on("beforeExit", async () => {
|
|
@@ -266596,7 +266634,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
266596
266634
|
}
|
|
266597
266635
|
};
|
|
266598
266636
|
registerCleanup(shutdownTelemetry);
|
|
266599
|
-
return meterProvider.getMeter("com.anthropic.claude_code", "0.9.
|
|
266637
|
+
return meterProvider.getMeter("com.anthropic.claude_code", "0.9.6");
|
|
266600
266638
|
}
|
|
266601
266639
|
async function flushTelemetry() {
|
|
266602
266640
|
const meterProvider = getMeterProvider();
|
|
@@ -267408,9 +267446,9 @@ async function assertMinVersion() {
|
|
|
267408
267446
|
}
|
|
267409
267447
|
try {
|
|
267410
267448
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
267411
|
-
if (versionConfig.minVersion && lt("0.9.
|
|
267449
|
+
if (versionConfig.minVersion && lt("0.9.6", versionConfig.minVersion)) {
|
|
267412
267450
|
console.error(`
|
|
267413
|
-
It looks like your version of ZeroCLI (${"0.9.
|
|
267451
|
+
It looks like your version of ZeroCLI (${"0.9.6"}) needs an update.
|
|
267414
267452
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
267415
267453
|
|
|
267416
267454
|
To update, please run:
|
|
@@ -267626,7 +267664,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
267626
267664
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
267627
267665
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
267628
267666
|
pid: process.pid,
|
|
267629
|
-
currentVersion: "0.9.
|
|
267667
|
+
currentVersion: "0.9.6"
|
|
267630
267668
|
});
|
|
267631
267669
|
return "in_progress";
|
|
267632
267670
|
}
|
|
@@ -267635,7 +267673,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
267635
267673
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
267636
267674
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
267637
267675
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
267638
|
-
currentVersion: "0.9.
|
|
267676
|
+
currentVersion: "0.9.6"
|
|
267639
267677
|
});
|
|
267640
267678
|
console.error(`
|
|
267641
267679
|
Error: Windows NPM detected in WSL
|
|
@@ -268189,7 +268227,7 @@ async function getDoctorDiagnostic() {
|
|
|
268189
268227
|
const installationType = await getCurrentInstallationType();
|
|
268190
268228
|
let version2;
|
|
268191
268229
|
try {
|
|
268192
|
-
version2 = "0.9.
|
|
268230
|
+
version2 = "0.9.6";
|
|
268193
268231
|
} catch {
|
|
268194
268232
|
version2 = "unknown";
|
|
268195
268233
|
}
|
|
@@ -269683,7 +269721,7 @@ function getInstallationEnv() {
|
|
|
269683
269721
|
return;
|
|
269684
269722
|
}
|
|
269685
269723
|
function getZeroCodeVersion() {
|
|
269686
|
-
return "0.9.
|
|
269724
|
+
return "0.9.6";
|
|
269687
269725
|
}
|
|
269688
269726
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
269689
269727
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -271050,8 +271088,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
271050
271088
|
const maxVersion = await getMaxVersion();
|
|
271051
271089
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
271052
271090
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
271053
|
-
if (gte("0.9.
|
|
271054
|
-
logForDebugging(`Native installer: current version ${"0.9.
|
|
271091
|
+
if (gte("0.9.6", maxVersion)) {
|
|
271092
|
+
logForDebugging(`Native installer: current version ${"0.9.6"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
271055
271093
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
271056
271094
|
latency_ms: Date.now() - startTime2,
|
|
271057
271095
|
max_version: maxVersion,
|
|
@@ -271062,7 +271100,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
271062
271100
|
version2 = maxVersion;
|
|
271063
271101
|
}
|
|
271064
271102
|
}
|
|
271065
|
-
if (!forceReinstall && version2 === "0.9.
|
|
271103
|
+
if (!forceReinstall && version2 === "0.9.6" && await versionIsAvailable(version2) && await isPossibleZeroBinary(executablePath)) {
|
|
271066
271104
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
271067
271105
|
logEvent("tengu_native_update_complete", {
|
|
271068
271106
|
latency_ms: Date.now() - startTime2,
|
|
@@ -375725,6 +375763,25 @@ async function* queryLoop(params, consumedCommandUuids) {
|
|
|
375725
375763
|
} catch (error42) {
|
|
375726
375764
|
logError2(error42);
|
|
375727
375765
|
const errorMessage2 = error42 instanceof Error ? error42.message : String(error42);
|
|
375766
|
+
const isIdleTimeout = errorMessage2.includes("idle") && errorMessage2.includes("timeout");
|
|
375767
|
+
const isMaxTokens = errorMessage2.includes("max_tokens") || errorMessage2.includes("max_output_tokens");
|
|
375768
|
+
const isStreamDrop = errorMessage2.includes("stream") || errorMessage2.includes("SSE") || errorMessage2.includes("Connection");
|
|
375769
|
+
logForDebugging(`
|
|
375770
|
+
` + `========================================================================
|
|
375771
|
+
` + `[ZERO-DEBUG] QUERY ENCERROU COM ERRO
|
|
375772
|
+
` + `========================================================================
|
|
375773
|
+
` + `ERRO: ${errorMessage2}
|
|
375774
|
+
` + `TIPO: ${error42 instanceof Error ? error42.constructor.name : typeof error42}
|
|
375775
|
+
` + `MENSAGENS DO ASSISTENTE: ${assistantMessages.length}
|
|
375776
|
+
` + `TOOL USES: ${assistantMessages.flatMap((_) => _.message.content.filter((content) => content.type === "tool_use")).length}
|
|
375777
|
+
` + (isIdleTimeout ? `DIAGNOSTICO: >>> STREAM IDLE TIMEOUT - modelo demorou demais para responder <<<
|
|
375778
|
+
` + `CORRECAO: Aumentar STREAM_IDLE_TIMEOUT_MS ou CLAUDE_STREAM_IDLE_TIMEOUT_MS
|
|
375779
|
+
` : isMaxTokens ? `DIAGNOSTICO: >>> MAX TOKENS ATINGIDO - resposta cortada pelo limite <<<
|
|
375780
|
+
` + `CORRECAO: export CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000
|
|
375781
|
+
` : isStreamDrop ? `DIAGNOSTICO: >>> CONEXAO COM MODELO CAIU - stream interrompido <<<
|
|
375782
|
+
` + `CORRECAO: Verificar estabilidade do vLLM e conexao de rede
|
|
375783
|
+
` : `DIAGNOSTICO: Erro nao mapeado nas causas conhecidas de encerramento silencioso.
|
|
375784
|
+
`) + `========================================================================`, { level: "error" });
|
|
375728
375785
|
logEvent("tengu_query_error", {
|
|
375729
375786
|
assistantMessages: assistantMessages.length,
|
|
375730
375787
|
toolUses: assistantMessages.flatMap((_) => _.message.content.filter((content) => content.type === "tool_use")).length,
|
|
@@ -376286,7 +376343,7 @@ function getAnthropicEnvMetadata() {
|
|
|
376286
376343
|
function getBuildAgeMinutes() {
|
|
376287
376344
|
if (false)
|
|
376288
376345
|
;
|
|
376289
|
-
const buildTime = new Date("2026-05-
|
|
376346
|
+
const buildTime = new Date("2026-05-13T13:07:10.047Z").getTime();
|
|
376290
376347
|
if (isNaN(buildTime))
|
|
376291
376348
|
return;
|
|
376292
376349
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -403722,7 +403779,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
403722
403779
|
const client2 = new Client({
|
|
403723
403780
|
name: "claude-code",
|
|
403724
403781
|
title: "ZeroCLI",
|
|
403725
|
-
version: "0.9.
|
|
403782
|
+
version: "0.9.6",
|
|
403726
403783
|
description: "Anthropic's agentic coding tool",
|
|
403727
403784
|
websiteUrl: PRODUCT_URL
|
|
403728
403785
|
}, {
|
|
@@ -404074,7 +404131,7 @@ var init_client7 = __esm(() => {
|
|
|
404074
404131
|
const client2 = new Client({
|
|
404075
404132
|
name: "claude-code",
|
|
404076
404133
|
title: "ZeroCLI",
|
|
404077
|
-
version: "0.9.
|
|
404134
|
+
version: "0.9.6",
|
|
404078
404135
|
description: "Anthropic's agentic coding tool",
|
|
404079
404136
|
websiteUrl: PRODUCT_URL
|
|
404080
404137
|
}, {
|
|
@@ -406111,7 +406168,18 @@ ${deferredToolList}
|
|
|
406111
406168
|
streamIdleTimer = setTimeout(() => {
|
|
406112
406169
|
streamIdleAborted = true;
|
|
406113
406170
|
streamWatchdogFiredAt = performance.now();
|
|
406114
|
-
logForDebugging(`
|
|
406171
|
+
logForDebugging(`
|
|
406172
|
+
========================================================================
|
|
406173
|
+
[ZERO-DEBUG] ENCERRAMENTO DETECTADO: STREAM WATCHDOG TIMEOUT
|
|
406174
|
+
========================================================================
|
|
406175
|
+
CAUSA: O stream ficou ${STREAM_IDLE_TIMEOUT_MS / 1000}s sem receber chunks do modelo.
|
|
406176
|
+
LIMITE ATUAL: ${STREAM_IDLE_TIMEOUT_MS / 1000}s (configuravel via CLAUDE_STREAM_IDLE_TIMEOUT_MS).
|
|
406177
|
+
MODELO: ${options2.model}
|
|
406178
|
+
EFEITO: Zero abortou o stream e vai tentar fallback para modo nao-streaming.
|
|
406179
|
+
Se o fallback tambem falhar, o processamento encerra silenciosamente.
|
|
406180
|
+
CORRECAO: export CLAUDE_STREAM_IDLE_TIMEOUT_MS=600000 (10 min)
|
|
406181
|
+
export CLAUDE_ENABLE_STREAM_WATCHDOG=1
|
|
406182
|
+
========================================================================`, { level: "error" });
|
|
406115
406183
|
logForDiagnosticsNoPII("error", "cli_streaming_idle_timeout");
|
|
406116
406184
|
logEvent("tengu_streaming_idle_timeout", {
|
|
406117
406185
|
model: options2.model,
|
|
@@ -406404,6 +406472,15 @@ ${deferredToolList}
|
|
|
406404
406472
|
logEvent("tengu_max_tokens_reached", {
|
|
406405
406473
|
max_tokens: maxOutputTokens
|
|
406406
406474
|
});
|
|
406475
|
+
logForDebugging(`
|
|
406476
|
+
========================================================================
|
|
406477
|
+
[ZERO-DEBUG] ENCERRAMENTO DETECTADO: MAX_TOKENS ATINGIDO (Anthropic API)
|
|
406478
|
+
========================================================================
|
|
406479
|
+
CAUSA: O modelo atingiu o limite de ${maxOutputTokens} tokens de saida.
|
|
406480
|
+
EFEITO: A resposta foi cortada. Recovery sera tentado ate 3x.
|
|
406481
|
+
Se recovery falhar, o processamento encerra abruptamente.
|
|
406482
|
+
CORRECAO: export CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000
|
|
406483
|
+
========================================================================`, { level: "error" });
|
|
406407
406484
|
yield createAssistantAPIErrorMessage({
|
|
406408
406485
|
content: `${API_ERROR_MESSAGE_PREFIX}: Zero's response exceeded the ${maxOutputTokens} output token maximum. To configure this behavior, set the CLAUDE_CODE_MAX_OUTPUT_TOKENS environment variable.`,
|
|
406409
406486
|
apiError: "max_output_tokens",
|
|
@@ -414789,7 +414866,7 @@ function Feedback({
|
|
|
414789
414866
|
platform: env2.platform,
|
|
414790
414867
|
gitRepo: envInfo.isGit,
|
|
414791
414868
|
terminal: env2.terminal,
|
|
414792
|
-
version: "0.9.
|
|
414869
|
+
version: "0.9.6",
|
|
414793
414870
|
transcript: normalizeMessagesForAPI(messages),
|
|
414794
414871
|
errors: sanitizedErrors,
|
|
414795
414872
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -414982,7 +415059,7 @@ function Feedback({
|
|
|
414982
415059
|
", ",
|
|
414983
415060
|
env2.terminal,
|
|
414984
415061
|
", v",
|
|
414985
|
-
"0.9.
|
|
415062
|
+
"0.9.6"
|
|
414986
415063
|
]
|
|
414987
415064
|
})
|
|
414988
415065
|
]
|
|
@@ -415090,7 +415167,7 @@ ${sanitizedDescription}
|
|
|
415090
415167
|
` + `**Environment Info**
|
|
415091
415168
|
` + `- Platform: ${env2.platform}
|
|
415092
415169
|
` + `- Terminal: ${env2.terminal}
|
|
415093
|
-
` + `- Version: ${"0.9.
|
|
415170
|
+
` + `- Version: ${"0.9.6"}
|
|
415094
415171
|
` + feedbackIdLine + `
|
|
415095
415172
|
**Errors**
|
|
415096
415173
|
\`\`\`json
|
|
@@ -418243,7 +418320,7 @@ function buildPrimarySection() {
|
|
|
418243
418320
|
});
|
|
418244
418321
|
return [{
|
|
418245
418322
|
label: "Version",
|
|
418246
|
-
value: "0.9.
|
|
418323
|
+
value: "0.9.6"
|
|
418247
418324
|
}, {
|
|
418248
418325
|
label: "Session name",
|
|
418249
418326
|
value: nameValue
|
|
@@ -423013,7 +423090,7 @@ function Config({
|
|
|
423013
423090
|
}
|
|
423014
423091
|
})
|
|
423015
423092
|
}) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_runtime181.jsx(ChannelDowngradeDialog, {
|
|
423016
|
-
currentVersion: "0.9.
|
|
423093
|
+
currentVersion: "0.9.6",
|
|
423017
423094
|
onChoice: (choice) => {
|
|
423018
423095
|
setShowSubmenu(null);
|
|
423019
423096
|
setTabsHidden(false);
|
|
@@ -423025,7 +423102,7 @@ function Config({
|
|
|
423025
423102
|
autoUpdatesChannel: "stable"
|
|
423026
423103
|
};
|
|
423027
423104
|
if (choice === "stay") {
|
|
423028
|
-
newSettings.minimumVersion = "0.9.
|
|
423105
|
+
newSettings.minimumVersion = "0.9.6";
|
|
423029
423106
|
}
|
|
423030
423107
|
updateSettingsForSource("userSettings", newSettings);
|
|
423031
423108
|
setSettingsData((prev_27) => ({
|
|
@@ -429966,7 +430043,7 @@ function UpdateScreen({ onDone }) {
|
|
|
429966
430043
|
setState({ type: "dev-build" });
|
|
429967
430044
|
return;
|
|
429968
430045
|
}
|
|
429969
|
-
const currentVersion = "0.9.
|
|
430046
|
+
const currentVersion = "0.9.6";
|
|
429970
430047
|
const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
429971
430048
|
const latestVersion = await getLatestVersion(channel2);
|
|
429972
430049
|
if (!latestVersion) {
|
|
@@ -432077,7 +432154,7 @@ function HelpV2(t0) {
|
|
|
432077
432154
|
let t6;
|
|
432078
432155
|
if ($2[31] !== tabs) {
|
|
432079
432156
|
t6 = /* @__PURE__ */ jsx_runtime211.jsx(Tabs, {
|
|
432080
|
-
title: `ZeroCLI v${"0.9.
|
|
432157
|
+
title: `ZeroCLI v${"0.9.6"}`,
|
|
432081
432158
|
color: "professionalBlue",
|
|
432082
432159
|
defaultTab: "general",
|
|
432083
432160
|
children: tabs
|
|
@@ -456921,7 +456998,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
456921
456998
|
return [];
|
|
456922
456999
|
}
|
|
456923
457000
|
}
|
|
456924
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.9.
|
|
457001
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.9.6") {
|
|
456925
457002
|
if (process.env.USER_TYPE === "ant") {
|
|
456926
457003
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
456927
457004
|
if (changelog) {
|
|
@@ -485959,7 +486036,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
485959
486036
|
smapsRollup,
|
|
485960
486037
|
platform: process.platform,
|
|
485961
486038
|
nodeVersion: process.version,
|
|
485962
|
-
ccVersion: "0.9.
|
|
486039
|
+
ccVersion: "0.9.6"
|
|
485963
486040
|
};
|
|
485964
486041
|
}
|
|
485965
486042
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -486546,7 +486623,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
486546
486623
|
var call60 = async () => {
|
|
486547
486624
|
return {
|
|
486548
486625
|
type: "text",
|
|
486549
|
-
value: `${"0.9.
|
|
486626
|
+
value: `${"0.9.6"} (built ${"2026-05-13T13:07:10.047Z"})`
|
|
486550
486627
|
};
|
|
486551
486628
|
}, version2, version_default;
|
|
486552
486629
|
var init_version = __esm(() => {
|
|
@@ -496703,7 +496780,7 @@ function generateHtmlReport(data, insights) {
|
|
|
496703
496780
|
function buildExportData(data, insights, facets) {
|
|
496704
496781
|
let version3;
|
|
496705
496782
|
try {
|
|
496706
|
-
version3 = "0.9.
|
|
496783
|
+
version3 = "0.9.6";
|
|
496707
496784
|
} catch {
|
|
496708
496785
|
version3 = "unknown";
|
|
496709
496786
|
}
|
|
@@ -500899,7 +500976,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
500899
500976
|
init_slowOperations();
|
|
500900
500977
|
init_uuid();
|
|
500901
500978
|
try {
|
|
500902
|
-
VERSION7 = "0.9.
|
|
500979
|
+
VERSION7 = "0.9.6";
|
|
500903
500980
|
} catch {
|
|
500904
500981
|
VERSION7 = "unknown";
|
|
500905
500982
|
}
|
|
@@ -502220,7 +502297,7 @@ var init_filesystem = __esm(() => {
|
|
|
502220
502297
|
});
|
|
502221
502298
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
502222
502299
|
const nonce = randomBytes17(16).toString("hex");
|
|
502223
|
-
return join137(getZeroTempDir(), "bundled-skills", "0.9.
|
|
502300
|
+
return join137(getZeroTempDir(), "bundled-skills", "0.9.6", nonce);
|
|
502224
502301
|
});
|
|
502225
502302
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
502226
502303
|
});
|
|
@@ -513240,7 +513317,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
513240
513317
|
slash_commands: inputs.commands.filter((c6) => c6.userInvocable !== false).map((c6) => c6.name),
|
|
513241
513318
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
513242
513319
|
betas: getSdkBetas(),
|
|
513243
|
-
claude_code_version: "0.9.
|
|
513320
|
+
claude_code_version: "0.9.6",
|
|
513244
513321
|
output_style: outputStyle2,
|
|
513245
513322
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
513246
513323
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -528555,7 +528632,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
528555
528632
|
function getSemverPart(version3) {
|
|
528556
528633
|
return `${import_semver12.major(version3, { loose: true })}.${import_semver12.minor(version3, { loose: true })}.${import_semver12.patch(version3, { loose: true })}`;
|
|
528557
528634
|
}
|
|
528558
|
-
function useUpdateNotification(updatedVersion, initialVersion = "0.9.
|
|
528635
|
+
function useUpdateNotification(updatedVersion, initialVersion = "0.9.6") {
|
|
528559
528636
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react226.useState(() => getSemverPart(initialVersion));
|
|
528560
528637
|
if (!updatedVersion) {
|
|
528561
528638
|
return null;
|
|
@@ -528598,7 +528675,7 @@ function AutoUpdater({
|
|
|
528598
528675
|
return;
|
|
528599
528676
|
}
|
|
528600
528677
|
if (false) {}
|
|
528601
|
-
const currentVersion = "0.9.
|
|
528678
|
+
const currentVersion = "0.9.6";
|
|
528602
528679
|
const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
528603
528680
|
let latestVersion = await getLatestVersion(channel2);
|
|
528604
528681
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -528819,12 +528896,12 @@ function NativeAutoUpdater({
|
|
|
528819
528896
|
logEvent("tengu_native_auto_updater_start", {});
|
|
528820
528897
|
try {
|
|
528821
528898
|
const maxVersion = await getMaxVersion();
|
|
528822
|
-
if (maxVersion && gt("0.9.
|
|
528899
|
+
if (maxVersion && gt("0.9.6", maxVersion)) {
|
|
528823
528900
|
const msg = await getMaxVersionMessage();
|
|
528824
528901
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
528825
528902
|
}
|
|
528826
528903
|
const result = await installLatest(channel2);
|
|
528827
|
-
const currentVersion = "0.9.
|
|
528904
|
+
const currentVersion = "0.9.6";
|
|
528828
528905
|
const latencyMs = Date.now() - startTime2;
|
|
528829
528906
|
if (result.lockFailed) {
|
|
528830
528907
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -528966,17 +529043,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
528966
529043
|
const maxVersion = await getMaxVersion();
|
|
528967
529044
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
528968
529045
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
528969
|
-
if (gte("0.9.
|
|
528970
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"0.9.
|
|
529046
|
+
if (gte("0.9.6", maxVersion)) {
|
|
529047
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"0.9.6"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
528971
529048
|
setUpdateAvailable(false);
|
|
528972
529049
|
return;
|
|
528973
529050
|
}
|
|
528974
529051
|
latest = maxVersion;
|
|
528975
529052
|
}
|
|
528976
|
-
const hasUpdate = latest && !gte("0.9.
|
|
529053
|
+
const hasUpdate = latest && !gte("0.9.6", latest) && !shouldSkipVersion(latest);
|
|
528977
529054
|
setUpdateAvailable(!!hasUpdate);
|
|
528978
529055
|
if (hasUpdate) {
|
|
528979
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.9.
|
|
529056
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.9.6"} -> ${latest}`);
|
|
528980
529057
|
}
|
|
528981
529058
|
};
|
|
528982
529059
|
$2[0] = t1;
|
|
@@ -529010,7 +529087,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
529010
529087
|
wrap: "truncate",
|
|
529011
529088
|
children: [
|
|
529012
529089
|
"currentVersion: ",
|
|
529013
|
-
"0.9.
|
|
529090
|
+
"0.9.6"
|
|
529014
529091
|
]
|
|
529015
529092
|
});
|
|
529016
529093
|
$2[3] = verbose;
|
|
@@ -538039,7 +538116,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
538039
538116
|
project_dir: getOriginalCwd(),
|
|
538040
538117
|
added_dirs: addedDirs
|
|
538041
538118
|
},
|
|
538042
|
-
version: "0.9.
|
|
538119
|
+
version: "0.9.6",
|
|
538043
538120
|
output_style: {
|
|
538044
538121
|
name: outputStyleName
|
|
538045
538122
|
},
|
|
@@ -562542,7 +562619,7 @@ function WelcomeV2() {
|
|
|
562542
562619
|
dimColor: true,
|
|
562543
562620
|
children: [
|
|
562544
562621
|
"v",
|
|
562545
|
-
"0.9.
|
|
562622
|
+
"0.9.6",
|
|
562546
562623
|
" "
|
|
562547
562624
|
]
|
|
562548
562625
|
})
|
|
@@ -562776,7 +562853,7 @@ function WelcomeV2() {
|
|
|
562776
562853
|
dimColor: true,
|
|
562777
562854
|
children: [
|
|
562778
562855
|
"v",
|
|
562779
|
-
"0.9.
|
|
562856
|
+
"0.9.6",
|
|
562780
562857
|
" "
|
|
562781
562858
|
]
|
|
562782
562859
|
})
|
|
@@ -563023,7 +563100,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
563023
563100
|
dimColor: true,
|
|
563024
563101
|
children: [
|
|
563025
563102
|
"v",
|
|
563026
|
-
"0.9.
|
|
563103
|
+
"0.9.6",
|
|
563027
563104
|
" "
|
|
563028
563105
|
]
|
|
563029
563106
|
});
|
|
@@ -563296,7 +563373,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
563296
563373
|
dimColor: true,
|
|
563297
563374
|
children: [
|
|
563298
563375
|
"v",
|
|
563299
|
-
"0.9.
|
|
563376
|
+
"0.9.6",
|
|
563300
563377
|
" "
|
|
563301
563378
|
]
|
|
563302
563379
|
});
|
|
@@ -564808,7 +564885,7 @@ function completeOnboarding() {
|
|
|
564808
564885
|
saveGlobalConfig((current) => ({
|
|
564809
564886
|
...current,
|
|
564810
564887
|
hasCompletedOnboarding: true,
|
|
564811
|
-
lastOnboardingVersion: "0.9.
|
|
564888
|
+
lastOnboardingVersion: "0.9.6"
|
|
564812
564889
|
}));
|
|
564813
564890
|
}
|
|
564814
564891
|
function showDialog(root2, renderer) {
|
|
@@ -569059,7 +569136,7 @@ function appendToLog(path24, message) {
|
|
|
569059
569136
|
cwd: getFsImplementation().cwd(),
|
|
569060
569137
|
userType: process.env.USER_TYPE,
|
|
569061
569138
|
sessionId: getSessionId(),
|
|
569062
|
-
version: "0.9.
|
|
569139
|
+
version: "0.9.6"
|
|
569063
569140
|
};
|
|
569064
569141
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
569065
569142
|
}
|
|
@@ -569665,7 +569742,7 @@ async function startMCPServer(cwd2, debug, verbose) {
|
|
|
569665
569742
|
setCwd(cwd2);
|
|
569666
569743
|
const server = new Server({
|
|
569667
569744
|
name: "claude/tengu",
|
|
569668
|
-
version: "0.9.
|
|
569745
|
+
version: "0.9.6"
|
|
569669
569746
|
}, {
|
|
569670
569747
|
capabilities: {
|
|
569671
569748
|
tools: {}
|
|
@@ -574304,8 +574381,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
574304
574381
|
}
|
|
574305
574382
|
async function checkEnvLessBridgeMinVersion() {
|
|
574306
574383
|
const cfg = await getEnvLessBridgeConfig();
|
|
574307
|
-
if (cfg.min_version && lt("0.9.
|
|
574308
|
-
return `Your version of ZeroCLI (${"0.9.
|
|
574384
|
+
if (cfg.min_version && lt("0.9.6", cfg.min_version)) {
|
|
574385
|
+
return `Your version of ZeroCLI (${"0.9.6"}) is too old for Remote Control.
|
|
574309
574386
|
Version ${cfg.min_version} or higher is required. Run \`zero update\` to update.`;
|
|
574310
574387
|
}
|
|
574311
574388
|
return null;
|
|
@@ -574780,7 +574857,7 @@ async function initBridgeCore(params) {
|
|
|
574780
574857
|
const rawApi = createBridgeApiClient({
|
|
574781
574858
|
baseUrl,
|
|
574782
574859
|
getAccessToken,
|
|
574783
|
-
runnerVersion: "0.9.
|
|
574860
|
+
runnerVersion: "0.9.6",
|
|
574784
574861
|
onDebug: logForDebugging,
|
|
574785
574862
|
onAuth401,
|
|
574786
574863
|
getTrustedDeviceToken
|
|
@@ -581068,7 +581145,7 @@ __export(exports_update2, {
|
|
|
581068
581145
|
});
|
|
581069
581146
|
async function update2() {
|
|
581070
581147
|
logEvent("tengu_update_check", {});
|
|
581071
|
-
writeToStdout(`Current version: ${"0.9.
|
|
581148
|
+
writeToStdout(`Current version: ${"0.9.6"}
|
|
581072
581149
|
`);
|
|
581073
581150
|
const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
581074
581151
|
writeToStdout(`Checking for updates to ${channel2} version...
|
|
@@ -581143,8 +581220,8 @@ async function update2() {
|
|
|
581143
581220
|
writeToStdout(`Zero is managed by Homebrew.
|
|
581144
581221
|
`);
|
|
581145
581222
|
const latest = await getLatestVersion(channel2);
|
|
581146
|
-
if (latest && !gte("0.9.
|
|
581147
|
-
writeToStdout(`Update available: ${"0.9.
|
|
581223
|
+
if (latest && !gte("0.9.6", latest)) {
|
|
581224
|
+
writeToStdout(`Update available: ${"0.9.6"} → ${latest}
|
|
581148
581225
|
`);
|
|
581149
581226
|
writeToStdout(`
|
|
581150
581227
|
`);
|
|
@@ -581160,8 +581237,8 @@ async function update2() {
|
|
|
581160
581237
|
writeToStdout(`Zero is managed by winget.
|
|
581161
581238
|
`);
|
|
581162
581239
|
const latest = await getLatestVersion(channel2);
|
|
581163
|
-
if (latest && !gte("0.9.
|
|
581164
|
-
writeToStdout(`Update available: ${"0.9.
|
|
581240
|
+
if (latest && !gte("0.9.6", latest)) {
|
|
581241
|
+
writeToStdout(`Update available: ${"0.9.6"} → ${latest}
|
|
581165
581242
|
`);
|
|
581166
581243
|
writeToStdout(`
|
|
581167
581244
|
`);
|
|
@@ -581177,8 +581254,8 @@ async function update2() {
|
|
|
581177
581254
|
writeToStdout(`Zero is managed by apk.
|
|
581178
581255
|
`);
|
|
581179
581256
|
const latest = await getLatestVersion(channel2);
|
|
581180
|
-
if (latest && !gte("0.9.
|
|
581181
|
-
writeToStdout(`Update available: ${"0.9.
|
|
581257
|
+
if (latest && !gte("0.9.6", latest)) {
|
|
581258
|
+
writeToStdout(`Update available: ${"0.9.6"} → ${latest}
|
|
581182
581259
|
`);
|
|
581183
581260
|
writeToStdout(`
|
|
581184
581261
|
`);
|
|
@@ -581243,11 +581320,11 @@ async function update2() {
|
|
|
581243
581320
|
`);
|
|
581244
581321
|
await gracefulShutdown(1);
|
|
581245
581322
|
}
|
|
581246
|
-
if (result.latestVersion === "0.9.
|
|
581247
|
-
writeToStdout(source_default.green(`Zero CLI is up to date (${"0.9.
|
|
581323
|
+
if (result.latestVersion === "0.9.6") {
|
|
581324
|
+
writeToStdout(source_default.green(`Zero CLI is up to date (${"0.9.6"})`) + `
|
|
581248
581325
|
`);
|
|
581249
581326
|
} else {
|
|
581250
|
-
writeToStdout(source_default.green(`Successfully updated from ${"0.9.
|
|
581327
|
+
writeToStdout(source_default.green(`Successfully updated from ${"0.9.6"} to version ${result.latestVersion}`) + `
|
|
581251
581328
|
`);
|
|
581252
581329
|
await regenerateCompletionCache();
|
|
581253
581330
|
}
|
|
@@ -581307,12 +581384,12 @@ async function update2() {
|
|
|
581307
581384
|
`);
|
|
581308
581385
|
await gracefulShutdown(1);
|
|
581309
581386
|
}
|
|
581310
|
-
if (latestVersion === "0.9.
|
|
581311
|
-
writeToStdout(source_default.green(`Zero CLI is up to date (${"0.9.
|
|
581387
|
+
if (latestVersion === "0.9.6") {
|
|
581388
|
+
writeToStdout(source_default.green(`Zero CLI is up to date (${"0.9.6"})`) + `
|
|
581312
581389
|
`);
|
|
581313
581390
|
await gracefulShutdown(0);
|
|
581314
581391
|
}
|
|
581315
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"0.9.
|
|
581392
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"0.9.6"})
|
|
581316
581393
|
`);
|
|
581317
581394
|
writeToStdout(`Installing update...
|
|
581318
581395
|
`);
|
|
@@ -581357,7 +581434,7 @@ async function update2() {
|
|
|
581357
581434
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
581358
581435
|
switch (status2) {
|
|
581359
581436
|
case "success":
|
|
581360
|
-
writeToStdout(source_default.green(`Successfully updated from ${"0.9.
|
|
581437
|
+
writeToStdout(source_default.green(`Successfully updated from ${"0.9.6"} to version ${latestVersion}`) + `
|
|
581361
581438
|
`);
|
|
581362
581439
|
await regenerateCompletionCache();
|
|
581363
581440
|
break;
|
|
@@ -582658,7 +582735,7 @@ ${customInstructions}` : customInstructions;
|
|
|
582658
582735
|
}
|
|
582659
582736
|
}
|
|
582660
582737
|
logForDiagnosticsNoPII("info", "started", {
|
|
582661
|
-
version: "0.9.
|
|
582738
|
+
version: "0.9.6",
|
|
582662
582739
|
is_native_binary: isInBundledMode()
|
|
582663
582740
|
});
|
|
582664
582741
|
registerCleanup(async () => {
|
|
@@ -583541,7 +583618,7 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
583541
583618
|
pendingHookMessages
|
|
583542
583619
|
}, renderAndRun);
|
|
583543
583620
|
}
|
|
583544
|
-
}).version("0.9.
|
|
583621
|
+
}).version("0.9.6", "-v, --version", "Output the version number");
|
|
583545
583622
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
583546
583623
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
583547
583624
|
if (canUserConfigureAdvisor()) {
|
|
@@ -584207,7 +584284,7 @@ if (false) {}
|
|
|
584207
584284
|
async function main2() {
|
|
584208
584285
|
const args = process.argv.slice(2);
|
|
584209
584286
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
584210
|
-
console.log(`${"0.9.
|
|
584287
|
+
console.log(`${"0.9.6"} (ZeroCLI)`);
|
|
584211
584288
|
return;
|
|
584212
584289
|
}
|
|
584213
584290
|
if (args.includes("--provider")) {
|
|
@@ -584349,4 +584426,4 @@ async function main2() {
|
|
|
584349
584426
|
}
|
|
584350
584427
|
main2();
|
|
584351
584428
|
|
|
584352
|
-
//# debugId=
|
|
584429
|
+
//# debugId=E7574CB9448447CE64756E2164756E21
|