@duheso/zerocli 0.7.7 → 0.7.8
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/bin/zero +103 -96
- package/dist/cli.mjs +74 -74
- package/package.json +1 -1
package/bin/zero
CHANGED
|
@@ -1,96 +1,103 @@
|
|
|
1
|
-
#!/usr/bin/env
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
if
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// Zero CLI — Cross-platform wrapper for env var mapping and V8 heap configuration
|
|
4
|
+
//
|
|
5
|
+
// Maps COPILOT_PROVIDER_* / COPILOT_MODEL vars to the native OpenAI-shim
|
|
6
|
+
// vars, then boots the app.
|
|
7
|
+
//
|
|
8
|
+
// Internal (localhost):
|
|
9
|
+
// export COPILOT_PROVIDER_BASE_URL=http://localhost:3052/v1
|
|
10
|
+
// export COPILOT_PROVIDER_TYPE=openai
|
|
11
|
+
// export COPILOT_PROVIDER_API_KEY=not-required
|
|
12
|
+
// export COPILOT_MODEL=gemma4:code
|
|
13
|
+
// zero
|
|
14
|
+
//
|
|
15
|
+
// External (remote server):
|
|
16
|
+
// export COPILOT_PROVIDER_BASE_URL=http://10.11.36.131:3052/v1
|
|
17
|
+
// export COPILOT_PROVIDER_TYPE=openai
|
|
18
|
+
// export COPILOT_PROVIDER_API_KEY=not-required
|
|
19
|
+
// export COPILOT_MODEL=gemma4:code
|
|
20
|
+
// zero
|
|
21
|
+
|
|
22
|
+
import { spawn } from 'child_process';
|
|
23
|
+
import { existsSync } from 'fs';
|
|
24
|
+
import { fileURLToPath } from 'url';
|
|
25
|
+
import { dirname, join } from 'path';
|
|
26
|
+
import os from 'os';
|
|
27
|
+
|
|
28
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
29
|
+
const env = { ...process.env };
|
|
30
|
+
|
|
31
|
+
// ── COPILOT_* → native env var mapping ──────────────────────────────────────
|
|
32
|
+
|
|
33
|
+
const providerType = (env.COPILOT_PROVIDER_TYPE ?? '').toLowerCase();
|
|
34
|
+
|
|
35
|
+
if (providerType === 'openai' && env.COPILOT_PROVIDER_BASE_URL) {
|
|
36
|
+
env.CLAUDE_CODE_USE_OPENAI = '1';
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (env.COPILOT_PROVIDER_BASE_URL && !env.OPENAI_BASE_URL) {
|
|
40
|
+
env.OPENAI_BASE_URL = env.COPILOT_PROVIDER_BASE_URL;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (env.COPILOT_PROVIDER_API_KEY && !env.OPENAI_API_KEY) {
|
|
44
|
+
env.OPENAI_API_KEY = env.COPILOT_PROVIDER_API_KEY;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (env.COPILOT_MODEL && !env.OPENAI_MODEL) {
|
|
48
|
+
env.OPENAI_MODEL = env.COPILOT_MODEL;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// COPILOT_TOOLLESS=1 → disable tool calling (text-only mode).
|
|
52
|
+
if (env.COPILOT_TOOLLESS && !env.OPENAI_TOOLLESS) {
|
|
53
|
+
env.OPENAI_TOOLLESS = env.COPILOT_TOOLLESS;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// ── V8 heap configuration ────────────────────────────────────────────────────
|
|
57
|
+
//
|
|
58
|
+
// Prevent "JavaScript heap out of memory" crashes during long-running
|
|
59
|
+
// sessions (large context windows, agent waves, file editing). The default
|
|
60
|
+
// V8 heap limit (~4GB) is insufficient for the Zero CLI's context buildup.
|
|
61
|
+
//
|
|
62
|
+
// When running in CCR (remote containers), use 8GB. Otherwise, allocate
|
|
63
|
+
// 8GB on machines with enough RAM, falling back to 6GB as minimum.
|
|
64
|
+
|
|
65
|
+
let heapSize;
|
|
66
|
+
if (env.CLAUDE_CODE_REMOTE === 'true') {
|
|
67
|
+
heapSize = 8192;
|
|
68
|
+
} else {
|
|
69
|
+
const totalMemMB = os.totalmem() / (1024 * 1024);
|
|
70
|
+
heapSize = totalMemMB > 16384 ? 8192 : 6144;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Preserve existing NODE_OPTIONS (user may set --inspect, etc.)
|
|
74
|
+
env.NODE_OPTIONS = env.NODE_OPTIONS
|
|
75
|
+
? `${env.NODE_OPTIONS} --max-old-space-size=${heapSize}`
|
|
76
|
+
: `--max-old-space-size=${heapSize}`;
|
|
77
|
+
|
|
78
|
+
// ── Boot the compiled bundle ─────────────────────────────────────────────────
|
|
79
|
+
|
|
80
|
+
const distPath = join(__dirname, '..', 'dist', 'cli.mjs');
|
|
81
|
+
|
|
82
|
+
if (!existsSync(distPath)) {
|
|
83
|
+
process.stderr.write(
|
|
84
|
+
' zero: dist/cli.mjs not found.\n\n' +
|
|
85
|
+
' Build first:\n bun run build\n\n' +
|
|
86
|
+
' Or run directly with Bun:\n bun run dev\n\n' +
|
|
87
|
+
' See README.md for setup instructions.\n'
|
|
88
|
+
);
|
|
89
|
+
process.exit(1);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
const child = spawn(process.execPath, [distPath, ...process.argv.slice(2)], {
|
|
93
|
+
stdio: 'inherit',
|
|
94
|
+
env,
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
child.on('exit', (code, signal) => {
|
|
98
|
+
if (signal) {
|
|
99
|
+
process.kill(process.pid, signal);
|
|
100
|
+
} else {
|
|
101
|
+
process.exit(code ?? 0);
|
|
102
|
+
}
|
|
103
|
+
});
|
package/dist/cli.mjs
CHANGED
|
@@ -119193,7 +119193,7 @@ function buildProviderInfoLines() {
|
|
|
119193
119193
|
const sLen = ` ● ${sL} ${sReady}`.length;
|
|
119194
119194
|
out.push(boxRow(sRow, W2, sLen));
|
|
119195
119195
|
out.push(`${rgb(...BORDER)}╚${"═".repeat(W2 - 2)}╝${RESET}`);
|
|
119196
|
-
out.push(` ${DIM}${rgb(...DIMCOL)}zero ${RESET}${rgb(...ACCENT)}v${"0.7.
|
|
119196
|
+
out.push(` ${DIM}${rgb(...DIMCOL)}zero ${RESET}${rgb(...ACCENT)}v${"0.7.8"}${RESET}`);
|
|
119197
119197
|
return out;
|
|
119198
119198
|
}
|
|
119199
119199
|
function printStartupScreen() {}
|
|
@@ -151704,7 +151704,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
151704
151704
|
if (!isAttributionHeaderEnabled()) {
|
|
151705
151705
|
return "";
|
|
151706
151706
|
}
|
|
151707
|
-
const version2 = `${"0.7.
|
|
151707
|
+
const version2 = `${"0.7.8"}.${fingerprint}`;
|
|
151708
151708
|
const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
|
|
151709
151709
|
const cch = "";
|
|
151710
151710
|
const workload = getWorkload();
|
|
@@ -194519,7 +194519,7 @@ var init_imageValidation = __esm(() => {
|
|
|
194519
194519
|
|
|
194520
194520
|
// src/utils/userAgent.ts
|
|
194521
194521
|
function getClaudeCodeUserAgent() {
|
|
194522
|
-
return `claude-code/${"0.7.
|
|
194522
|
+
return `claude-code/${"0.7.8"}`;
|
|
194523
194523
|
}
|
|
194524
194524
|
|
|
194525
194525
|
// src/utils/http.ts
|
|
@@ -194528,7 +194528,7 @@ function getUserAgent() {
|
|
|
194528
194528
|
const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
|
|
194529
194529
|
const workload = getWorkload();
|
|
194530
194530
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
194531
|
-
return `claude-cli/${"0.7.
|
|
194531
|
+
return `claude-cli/${"0.7.8"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
194532
194532
|
}
|
|
194533
194533
|
function getMCPUserAgent() {
|
|
194534
194534
|
const parts = [];
|
|
@@ -194542,7 +194542,7 @@ function getMCPUserAgent() {
|
|
|
194542
194542
|
parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
|
|
194543
194543
|
}
|
|
194544
194544
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
194545
|
-
return `claude-code/${"0.7.
|
|
194545
|
+
return `claude-code/${"0.7.8"}${suffix}`;
|
|
194546
194546
|
}
|
|
194547
194547
|
function getWebFetchUserAgent() {
|
|
194548
194548
|
const supportUrl = getAPIProvider() === "firstParty" ? "https://support.anthropic.com/" : "https://github.com/Duheso/ZeroCLI";
|
|
@@ -248971,7 +248971,7 @@ function getTelemetryAttributes() {
|
|
|
248971
248971
|
attributes["session.id"] = sessionId;
|
|
248972
248972
|
}
|
|
248973
248973
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
248974
|
-
attributes["app.version"] = "0.7.
|
|
248974
|
+
attributes["app.version"] = "0.7.8";
|
|
248975
248975
|
}
|
|
248976
248976
|
const oauthAccount = getOauthAccountInfo();
|
|
248977
248977
|
if (oauthAccount) {
|
|
@@ -261210,7 +261210,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
261210
261210
|
}
|
|
261211
261211
|
function computeFingerprintFromMessages(messages) {
|
|
261212
261212
|
const firstMessageText = extractFirstMessageText(messages);
|
|
261213
|
-
return computeFingerprint(firstMessageText, "0.7.
|
|
261213
|
+
return computeFingerprint(firstMessageText, "0.7.8");
|
|
261214
261214
|
}
|
|
261215
261215
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
261216
261216
|
var init_fingerprint = () => {};
|
|
@@ -261252,7 +261252,7 @@ async function sideQuery(opts) {
|
|
|
261252
261252
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
261253
261253
|
}
|
|
261254
261254
|
const messageText = extractFirstUserMessageText(messages);
|
|
261255
|
-
const fingerprint = computeFingerprint(messageText, "0.7.
|
|
261255
|
+
const fingerprint = computeFingerprint(messageText, "0.7.8");
|
|
261256
261256
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
261257
261257
|
const systemBlocks = [
|
|
261258
261258
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -270154,7 +270154,7 @@ var init_user = __esm(() => {
|
|
|
270154
270154
|
deviceId,
|
|
270155
270155
|
sessionId: getSessionId(),
|
|
270156
270156
|
email: getEmail(),
|
|
270157
|
-
appVersion: "0.7.
|
|
270157
|
+
appVersion: "0.7.8",
|
|
270158
270158
|
platform: getHostPlatformForAnalytics(),
|
|
270159
270159
|
organizationUuid,
|
|
270160
270160
|
accountUuid,
|
|
@@ -270548,7 +270548,7 @@ async function initializeBetaTracing(resource) {
|
|
|
270548
270548
|
});
|
|
270549
270549
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
270550
270550
|
setLoggerProvider(loggerProvider);
|
|
270551
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.7.
|
|
270551
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.7.8");
|
|
270552
270552
|
setEventLogger(eventLogger);
|
|
270553
270553
|
process.on("beforeExit", async () => {
|
|
270554
270554
|
await loggerProvider?.forceFlush();
|
|
@@ -270588,7 +270588,7 @@ async function initializeTelemetry() {
|
|
|
270588
270588
|
const platform3 = getPlatform();
|
|
270589
270589
|
const baseAttributes = {
|
|
270590
270590
|
[ATTR_SERVICE_NAME3]: "claude-code",
|
|
270591
|
-
[ATTR_SERVICE_VERSION3]: "0.7.
|
|
270591
|
+
[ATTR_SERVICE_VERSION3]: "0.7.8"
|
|
270592
270592
|
};
|
|
270593
270593
|
if (platform3 === "wsl") {
|
|
270594
270594
|
const wslVersion = getWslVersion();
|
|
@@ -270633,7 +270633,7 @@ async function initializeTelemetry() {
|
|
|
270633
270633
|
} catch {}
|
|
270634
270634
|
};
|
|
270635
270635
|
registerCleanup(shutdownTelemetry2);
|
|
270636
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", "0.7.
|
|
270636
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", "0.7.8");
|
|
270637
270637
|
}
|
|
270638
270638
|
const meterProvider = new MeterProvider3({
|
|
270639
270639
|
resource,
|
|
@@ -270653,7 +270653,7 @@ async function initializeTelemetry() {
|
|
|
270653
270653
|
});
|
|
270654
270654
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
270655
270655
|
setLoggerProvider(loggerProvider);
|
|
270656
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.7.
|
|
270656
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.7.8");
|
|
270657
270657
|
setEventLogger(eventLogger);
|
|
270658
270658
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
270659
270659
|
process.on("beforeExit", async () => {
|
|
@@ -270715,7 +270715,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
270715
270715
|
}
|
|
270716
270716
|
};
|
|
270717
270717
|
registerCleanup(shutdownTelemetry);
|
|
270718
|
-
return meterProvider.getMeter("com.anthropic.claude_code", "0.7.
|
|
270718
|
+
return meterProvider.getMeter("com.anthropic.claude_code", "0.7.8");
|
|
270719
270719
|
}
|
|
270720
270720
|
async function flushTelemetry() {
|
|
270721
270721
|
const meterProvider = getMeterProvider();
|
|
@@ -272007,7 +272007,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
272007
272007
|
}
|
|
272008
272008
|
async function getDoctorDiagnostic() {
|
|
272009
272009
|
const installationType = await getCurrentInstallationType();
|
|
272010
|
-
const version2 = typeof MACRO !== "undefined" ? "0.7.
|
|
272010
|
+
const version2 = typeof MACRO !== "undefined" ? "0.7.8" : "unknown";
|
|
272011
272011
|
const installationPath = await getInstallationPath();
|
|
272012
272012
|
const invokedBinary = getInvokedBinary();
|
|
272013
272013
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -273492,7 +273492,7 @@ function getInstallationEnv() {
|
|
|
273492
273492
|
return;
|
|
273493
273493
|
}
|
|
273494
273494
|
function getClaudeCodeVersion() {
|
|
273495
|
-
return "0.7.
|
|
273495
|
+
return "0.7.8";
|
|
273496
273496
|
}
|
|
273497
273497
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
273498
273498
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -274859,8 +274859,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
274859
274859
|
const maxVersion = await getMaxVersion();
|
|
274860
274860
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
274861
274861
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
274862
|
-
if (gte("0.7.
|
|
274863
|
-
logForDebugging(`Native installer: current version ${"0.7.
|
|
274862
|
+
if (gte("0.7.8", maxVersion)) {
|
|
274863
|
+
logForDebugging(`Native installer: current version ${"0.7.8"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
274864
274864
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
274865
274865
|
latency_ms: Date.now() - startTime,
|
|
274866
274866
|
max_version: maxVersion,
|
|
@@ -274871,7 +274871,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
274871
274871
|
version2 = maxVersion;
|
|
274872
274872
|
}
|
|
274873
274873
|
}
|
|
274874
|
-
if (!forceReinstall && version2 === "0.7.
|
|
274874
|
+
if (!forceReinstall && version2 === "0.7.8" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
|
|
274875
274875
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
274876
274876
|
logEvent("tengu_native_update_complete", {
|
|
274877
274877
|
latency_ms: Date.now() - startTime,
|
|
@@ -380077,7 +380077,7 @@ function getAnthropicEnvMetadata() {
|
|
|
380077
380077
|
function getBuildAgeMinutes() {
|
|
380078
380078
|
if (false)
|
|
380079
380079
|
;
|
|
380080
|
-
const buildTime = new Date("2026-05-
|
|
380080
|
+
const buildTime = new Date("2026-05-04T18:54:06.580Z").getTime();
|
|
380081
380081
|
if (isNaN(buildTime))
|
|
380082
380082
|
return;
|
|
380083
380083
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -406195,7 +406195,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
406195
406195
|
const client2 = new Client({
|
|
406196
406196
|
name: "claude-code",
|
|
406197
406197
|
title: "ZeroCLI",
|
|
406198
|
-
version: "0.7.
|
|
406198
|
+
version: "0.7.8",
|
|
406199
406199
|
description: "Anthropic's agentic coding tool",
|
|
406200
406200
|
websiteUrl: PRODUCT_URL
|
|
406201
406201
|
}, {
|
|
@@ -406549,7 +406549,7 @@ var init_client7 = __esm(() => {
|
|
|
406549
406549
|
const client2 = new Client({
|
|
406550
406550
|
name: "claude-code",
|
|
406551
406551
|
title: "ZeroCLI",
|
|
406552
|
-
version: "0.7.
|
|
406552
|
+
version: "0.7.8",
|
|
406553
406553
|
description: "Anthropic's agentic coding tool",
|
|
406554
406554
|
websiteUrl: PRODUCT_URL
|
|
406555
406555
|
}, {
|
|
@@ -417212,7 +417212,7 @@ function Feedback({
|
|
|
417212
417212
|
platform: env2.platform,
|
|
417213
417213
|
gitRepo: envInfo.isGit,
|
|
417214
417214
|
terminal: env2.terminal,
|
|
417215
|
-
version: "0.7.
|
|
417215
|
+
version: "0.7.8",
|
|
417216
417216
|
transcript: normalizeMessagesForAPI(messages),
|
|
417217
417217
|
errors: sanitizedErrors,
|
|
417218
417218
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -417405,7 +417405,7 @@ function Feedback({
|
|
|
417405
417405
|
", ",
|
|
417406
417406
|
env2.terminal,
|
|
417407
417407
|
", v",
|
|
417408
|
-
"0.7.
|
|
417408
|
+
"0.7.8"
|
|
417409
417409
|
]
|
|
417410
417410
|
}, undefined, true, undefined, this)
|
|
417411
417411
|
]
|
|
@@ -417513,7 +417513,7 @@ ${sanitizedDescription}
|
|
|
417513
417513
|
` + `**Environment Info**
|
|
417514
417514
|
` + `- Platform: ${env2.platform}
|
|
417515
417515
|
` + `- Terminal: ${env2.terminal}
|
|
417516
|
-
` + `- Version: ${"0.7.
|
|
417516
|
+
` + `- Version: ${"0.7.8"}
|
|
417517
417517
|
` + feedbackIdLine + `
|
|
417518
417518
|
**Errors**
|
|
417519
417519
|
\`\`\`json
|
|
@@ -420668,7 +420668,7 @@ function buildPrimarySection() {
|
|
|
420668
420668
|
}, undefined, false, undefined, this);
|
|
420669
420669
|
return [{
|
|
420670
420670
|
label: "Version",
|
|
420671
|
-
value: "0.7.
|
|
420671
|
+
value: "0.7.8"
|
|
420672
420672
|
}, {
|
|
420673
420673
|
label: "Session name",
|
|
420674
420674
|
value: nameValue
|
|
@@ -425438,7 +425438,7 @@ function Config({
|
|
|
425438
425438
|
}
|
|
425439
425439
|
}, undefined, false, undefined, this)
|
|
425440
425440
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime181.jsxDEV(ChannelDowngradeDialog, {
|
|
425441
|
-
currentVersion: "0.7.
|
|
425441
|
+
currentVersion: "0.7.8",
|
|
425442
425442
|
onChoice: (choice) => {
|
|
425443
425443
|
setShowSubmenu(null);
|
|
425444
425444
|
setTabsHidden(false);
|
|
@@ -425450,7 +425450,7 @@ function Config({
|
|
|
425450
425450
|
autoUpdatesChannel: "stable"
|
|
425451
425451
|
};
|
|
425452
425452
|
if (choice === "stay") {
|
|
425453
|
-
newSettings.minimumVersion = "0.7.
|
|
425453
|
+
newSettings.minimumVersion = "0.7.8";
|
|
425454
425454
|
}
|
|
425455
425455
|
updateSettingsForSource("userSettings", newSettings);
|
|
425456
425456
|
setSettingsData((prev_27) => ({
|
|
@@ -434346,7 +434346,7 @@ function HelpV2(t0) {
|
|
|
434346
434346
|
let t6;
|
|
434347
434347
|
if ($2[31] !== tabs) {
|
|
434348
434348
|
t6 = /* @__PURE__ */ jsx_dev_runtime210.jsxDEV(Tabs, {
|
|
434349
|
-
title: `ZeroCLI v${"0.7.
|
|
434349
|
+
title: `ZeroCLI v${"0.7.8"}`,
|
|
434350
434350
|
color: "professionalBlue",
|
|
434351
434351
|
defaultTab: "general",
|
|
434352
434352
|
children: tabs
|
|
@@ -459190,7 +459190,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
459190
459190
|
return [];
|
|
459191
459191
|
}
|
|
459192
459192
|
}
|
|
459193
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.7.
|
|
459193
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.7.8") {
|
|
459194
459194
|
if (process.env.USER_TYPE === "ant") {
|
|
459195
459195
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
459196
459196
|
if (changelog) {
|
|
@@ -488228,7 +488228,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
488228
488228
|
smapsRollup,
|
|
488229
488229
|
platform: process.platform,
|
|
488230
488230
|
nodeVersion: process.version,
|
|
488231
|
-
ccVersion: "0.7.
|
|
488231
|
+
ccVersion: "0.7.8"
|
|
488232
488232
|
};
|
|
488233
488233
|
}
|
|
488234
488234
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -488815,7 +488815,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
488815
488815
|
var call59 = async () => {
|
|
488816
488816
|
return {
|
|
488817
488817
|
type: "text",
|
|
488818
|
-
value: `${"0.7.
|
|
488818
|
+
value: `${"0.7.8"} (built ${"2026-05-04T18:54:06.580Z"})`
|
|
488819
488819
|
};
|
|
488820
488820
|
}, version2, version_default;
|
|
488821
488821
|
var init_version = __esm(() => {
|
|
@@ -498981,7 +498981,7 @@ function generateHtmlReport(data, insights) {
|
|
|
498981
498981
|
</html>`;
|
|
498982
498982
|
}
|
|
498983
498983
|
function buildExportData(data, insights, facets) {
|
|
498984
|
-
const version3 = typeof MACRO !== "undefined" ? "0.7.
|
|
498984
|
+
const version3 = typeof MACRO !== "undefined" ? "0.7.8" : "unknown";
|
|
498985
498985
|
const facets_summary = {
|
|
498986
498986
|
total: facets.size,
|
|
498987
498987
|
goal_categories: {},
|
|
@@ -503171,7 +503171,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
503171
503171
|
init_settings2();
|
|
503172
503172
|
init_slowOperations();
|
|
503173
503173
|
init_uuid();
|
|
503174
|
-
VERSION7 = typeof MACRO !== "undefined" ? "0.7.
|
|
503174
|
+
VERSION7 = typeof MACRO !== "undefined" ? "0.7.8" : "unknown";
|
|
503175
503175
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
503176
503176
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
503177
503177
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -504481,7 +504481,7 @@ var init_filesystem = __esm(() => {
|
|
|
504481
504481
|
});
|
|
504482
504482
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
504483
504483
|
const nonce = randomBytes17(16).toString("hex");
|
|
504484
|
-
return join136(getClaudeTempDir(), "bundled-skills", "0.7.
|
|
504484
|
+
return join136(getClaudeTempDir(), "bundled-skills", "0.7.8", nonce);
|
|
504485
504485
|
});
|
|
504486
504486
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
504487
504487
|
});
|
|
@@ -515484,7 +515484,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
515484
515484
|
slash_commands: inputs.commands.filter((c6) => c6.userInvocable !== false).map((c6) => c6.name),
|
|
515485
515485
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
515486
515486
|
betas: getSdkBetas(),
|
|
515487
|
-
claude_code_version: "0.7.
|
|
515487
|
+
claude_code_version: "0.7.8",
|
|
515488
515488
|
output_style: outputStyle2,
|
|
515489
515489
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
515490
515490
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -530799,7 +530799,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
530799
530799
|
function getSemverPart(version3) {
|
|
530800
530800
|
return `${import_semver10.major(version3, { loose: true })}.${import_semver10.minor(version3, { loose: true })}.${import_semver10.patch(version3, { loose: true })}`;
|
|
530801
530801
|
}
|
|
530802
|
-
function useUpdateNotification(updatedVersion, initialVersion = "0.7.
|
|
530802
|
+
function useUpdateNotification(updatedVersion, initialVersion = "0.7.8") {
|
|
530803
530803
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react225.useState(() => getSemverPart(initialVersion));
|
|
530804
530804
|
if (!updatedVersion) {
|
|
530805
530805
|
return null;
|
|
@@ -530839,7 +530839,7 @@ function AutoUpdater({
|
|
|
530839
530839
|
return;
|
|
530840
530840
|
}
|
|
530841
530841
|
if (false) {}
|
|
530842
|
-
const currentVersion = "0.7.
|
|
530842
|
+
const currentVersion = "0.7.8";
|
|
530843
530843
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
530844
530844
|
let latestVersion = await getLatestVersion(channel);
|
|
530845
530845
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -531053,12 +531053,12 @@ function NativeAutoUpdater({
|
|
|
531053
531053
|
logEvent("tengu_native_auto_updater_start", {});
|
|
531054
531054
|
try {
|
|
531055
531055
|
const maxVersion = await getMaxVersion();
|
|
531056
|
-
if (maxVersion && gt("0.7.
|
|
531056
|
+
if (maxVersion && gt("0.7.8", maxVersion)) {
|
|
531057
531057
|
const msg = await getMaxVersionMessage();
|
|
531058
531058
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
531059
531059
|
}
|
|
531060
531060
|
const result = await installLatest(channel);
|
|
531061
|
-
const currentVersion = "0.7.
|
|
531061
|
+
const currentVersion = "0.7.8";
|
|
531062
531062
|
const latencyMs = Date.now() - startTime;
|
|
531063
531063
|
if (result.lockFailed) {
|
|
531064
531064
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -531192,17 +531192,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
531192
531192
|
const maxVersion = await getMaxVersion();
|
|
531193
531193
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
531194
531194
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
531195
|
-
if (gte("0.7.
|
|
531196
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"0.7.
|
|
531195
|
+
if (gte("0.7.8", maxVersion)) {
|
|
531196
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"0.7.8"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
531197
531197
|
setUpdateAvailable(false);
|
|
531198
531198
|
return;
|
|
531199
531199
|
}
|
|
531200
531200
|
latest = maxVersion;
|
|
531201
531201
|
}
|
|
531202
|
-
const hasUpdate = latest && !gte("0.7.
|
|
531202
|
+
const hasUpdate = latest && !gte("0.7.8", latest) && !shouldSkipVersion(latest);
|
|
531203
531203
|
setUpdateAvailable(!!hasUpdate);
|
|
531204
531204
|
if (hasUpdate) {
|
|
531205
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.7.
|
|
531205
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.7.8"} -> ${latest}`);
|
|
531206
531206
|
}
|
|
531207
531207
|
};
|
|
531208
531208
|
$2[0] = t1;
|
|
@@ -531236,7 +531236,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
531236
531236
|
wrap: "truncate",
|
|
531237
531237
|
children: [
|
|
531238
531238
|
"currentVersion: ",
|
|
531239
|
-
"0.7.
|
|
531239
|
+
"0.7.8"
|
|
531240
531240
|
]
|
|
531241
531241
|
}, undefined, true, undefined, this);
|
|
531242
531242
|
$2[3] = verbose;
|
|
@@ -540266,7 +540266,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
540266
540266
|
project_dir: getOriginalCwd(),
|
|
540267
540267
|
added_dirs: addedDirs
|
|
540268
540268
|
},
|
|
540269
|
-
version: "0.7.
|
|
540269
|
+
version: "0.7.8",
|
|
540270
540270
|
output_style: {
|
|
540271
540271
|
name: outputStyleName
|
|
540272
540272
|
},
|
|
@@ -564793,7 +564793,7 @@ function WelcomeV2() {
|
|
|
564793
564793
|
dimColor: true,
|
|
564794
564794
|
children: [
|
|
564795
564795
|
"v",
|
|
564796
|
-
"0.7.
|
|
564796
|
+
"0.7.8",
|
|
564797
564797
|
" "
|
|
564798
564798
|
]
|
|
564799
564799
|
}, undefined, true, undefined, this)
|
|
@@ -564993,7 +564993,7 @@ function WelcomeV2() {
|
|
|
564993
564993
|
dimColor: true,
|
|
564994
564994
|
children: [
|
|
564995
564995
|
"v",
|
|
564996
|
-
"0.7.
|
|
564996
|
+
"0.7.8",
|
|
564997
564997
|
" "
|
|
564998
564998
|
]
|
|
564999
564999
|
}, undefined, true, undefined, this)
|
|
@@ -565219,7 +565219,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
565219
565219
|
dimColor: true,
|
|
565220
565220
|
children: [
|
|
565221
565221
|
"v",
|
|
565222
|
-
"0.7.
|
|
565222
|
+
"0.7.8",
|
|
565223
565223
|
" "
|
|
565224
565224
|
]
|
|
565225
565225
|
}, undefined, true, undefined, this);
|
|
@@ -565473,7 +565473,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
565473
565473
|
dimColor: true,
|
|
565474
565474
|
children: [
|
|
565475
565475
|
"v",
|
|
565476
|
-
"0.7.
|
|
565476
|
+
"0.7.8",
|
|
565477
565477
|
" "
|
|
565478
565478
|
]
|
|
565479
565479
|
}, undefined, true, undefined, this);
|
|
@@ -566979,7 +566979,7 @@ function completeOnboarding() {
|
|
|
566979
566979
|
saveGlobalConfig((current) => ({
|
|
566980
566980
|
...current,
|
|
566981
566981
|
hasCompletedOnboarding: true,
|
|
566982
|
-
lastOnboardingVersion: "0.7.
|
|
566982
|
+
lastOnboardingVersion: "0.7.8"
|
|
566983
566983
|
}));
|
|
566984
566984
|
}
|
|
566985
566985
|
function showDialog(root2, renderer) {
|
|
@@ -571230,7 +571230,7 @@ function appendToLog(path24, message) {
|
|
|
571230
571230
|
cwd: getFsImplementation().cwd(),
|
|
571231
571231
|
userType: process.env.USER_TYPE,
|
|
571232
571232
|
sessionId: getSessionId(),
|
|
571233
|
-
version: "0.7.
|
|
571233
|
+
version: "0.7.8"
|
|
571234
571234
|
};
|
|
571235
571235
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
571236
571236
|
}
|
|
@@ -572258,7 +572258,7 @@ async function startMCPServer(cwd2, debug, verbose) {
|
|
|
572258
572258
|
setCwd(cwd2);
|
|
572259
572259
|
const server = new Server({
|
|
572260
572260
|
name: "claude/tengu",
|
|
572261
|
-
version: "0.7.
|
|
572261
|
+
version: "0.7.8"
|
|
572262
572262
|
}, {
|
|
572263
572263
|
capabilities: {
|
|
572264
572264
|
tools: {}
|
|
@@ -576897,8 +576897,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
576897
576897
|
}
|
|
576898
576898
|
async function checkEnvLessBridgeMinVersion() {
|
|
576899
576899
|
const cfg = await getEnvLessBridgeConfig();
|
|
576900
|
-
if (cfg.min_version && lt("0.7.
|
|
576901
|
-
return `Your version of ZeroCLI (${"0.7.
|
|
576900
|
+
if (cfg.min_version && lt("0.7.8", cfg.min_version)) {
|
|
576901
|
+
return `Your version of ZeroCLI (${"0.7.8"}) is too old for Remote Control.
|
|
576902
576902
|
Version ${cfg.min_version} or higher is required. Run \`claude update\` to update.`;
|
|
576903
576903
|
}
|
|
576904
576904
|
return null;
|
|
@@ -577373,7 +577373,7 @@ async function initBridgeCore(params) {
|
|
|
577373
577373
|
const rawApi = createBridgeApiClient({
|
|
577374
577374
|
baseUrl,
|
|
577375
577375
|
getAccessToken,
|
|
577376
|
-
runnerVersion: "0.7.
|
|
577376
|
+
runnerVersion: "0.7.8",
|
|
577377
577377
|
onDebug: logForDebugging,
|
|
577378
577378
|
onAuth401,
|
|
577379
577379
|
getTrustedDeviceToken
|
|
@@ -583661,7 +583661,7 @@ __export(exports_update, {
|
|
|
583661
583661
|
});
|
|
583662
583662
|
async function update() {
|
|
583663
583663
|
logEvent("tengu_update_check", {});
|
|
583664
|
-
writeToStdout(`Current version: ${"0.7.
|
|
583664
|
+
writeToStdout(`Current version: ${"0.7.8"}
|
|
583665
583665
|
`);
|
|
583666
583666
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
583667
583667
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -583736,8 +583736,8 @@ async function update() {
|
|
|
583736
583736
|
writeToStdout(`Claude is managed by Homebrew.
|
|
583737
583737
|
`);
|
|
583738
583738
|
const latest = await getLatestVersion(channel);
|
|
583739
|
-
if (latest && !gte("0.7.
|
|
583740
|
-
writeToStdout(`Update available: ${"0.7.
|
|
583739
|
+
if (latest && !gte("0.7.8", latest)) {
|
|
583740
|
+
writeToStdout(`Update available: ${"0.7.8"} → ${latest}
|
|
583741
583741
|
`);
|
|
583742
583742
|
writeToStdout(`
|
|
583743
583743
|
`);
|
|
@@ -583753,8 +583753,8 @@ async function update() {
|
|
|
583753
583753
|
writeToStdout(`Claude is managed by winget.
|
|
583754
583754
|
`);
|
|
583755
583755
|
const latest = await getLatestVersion(channel);
|
|
583756
|
-
if (latest && !gte("0.7.
|
|
583757
|
-
writeToStdout(`Update available: ${"0.7.
|
|
583756
|
+
if (latest && !gte("0.7.8", latest)) {
|
|
583757
|
+
writeToStdout(`Update available: ${"0.7.8"} → ${latest}
|
|
583758
583758
|
`);
|
|
583759
583759
|
writeToStdout(`
|
|
583760
583760
|
`);
|
|
@@ -583770,8 +583770,8 @@ async function update() {
|
|
|
583770
583770
|
writeToStdout(`Claude is managed by apk.
|
|
583771
583771
|
`);
|
|
583772
583772
|
const latest = await getLatestVersion(channel);
|
|
583773
|
-
if (latest && !gte("0.7.
|
|
583774
|
-
writeToStdout(`Update available: ${"0.7.
|
|
583773
|
+
if (latest && !gte("0.7.8", latest)) {
|
|
583774
|
+
writeToStdout(`Update available: ${"0.7.8"} → ${latest}
|
|
583775
583775
|
`);
|
|
583776
583776
|
writeToStdout(`
|
|
583777
583777
|
`);
|
|
@@ -583836,11 +583836,11 @@ async function update() {
|
|
|
583836
583836
|
`);
|
|
583837
583837
|
await gracefulShutdown(1);
|
|
583838
583838
|
}
|
|
583839
|
-
if (result.latestVersion === "0.7.
|
|
583840
|
-
writeToStdout(source_default.green(`Zero CLI is up to date (${"0.7.
|
|
583839
|
+
if (result.latestVersion === "0.7.8") {
|
|
583840
|
+
writeToStdout(source_default.green(`Zero CLI is up to date (${"0.7.8"})`) + `
|
|
583841
583841
|
`);
|
|
583842
583842
|
} else {
|
|
583843
|
-
writeToStdout(source_default.green(`Successfully updated from ${"0.7.
|
|
583843
|
+
writeToStdout(source_default.green(`Successfully updated from ${"0.7.8"} to version ${result.latestVersion}`) + `
|
|
583844
583844
|
`);
|
|
583845
583845
|
await regenerateCompletionCache();
|
|
583846
583846
|
}
|
|
@@ -583900,12 +583900,12 @@ async function update() {
|
|
|
583900
583900
|
`);
|
|
583901
583901
|
await gracefulShutdown(1);
|
|
583902
583902
|
}
|
|
583903
|
-
if (latestVersion === "0.7.
|
|
583904
|
-
writeToStdout(source_default.green(`Zero CLI is up to date (${"0.7.
|
|
583903
|
+
if (latestVersion === "0.7.8") {
|
|
583904
|
+
writeToStdout(source_default.green(`Zero CLI is up to date (${"0.7.8"})`) + `
|
|
583905
583905
|
`);
|
|
583906
583906
|
await gracefulShutdown(0);
|
|
583907
583907
|
}
|
|
583908
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"0.7.
|
|
583908
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"0.7.8"})
|
|
583909
583909
|
`);
|
|
583910
583910
|
writeToStdout(`Installing update...
|
|
583911
583911
|
`);
|
|
@@ -583950,7 +583950,7 @@ async function update() {
|
|
|
583950
583950
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
583951
583951
|
switch (status2) {
|
|
583952
583952
|
case "success":
|
|
583953
|
-
writeToStdout(source_default.green(`Successfully updated from ${"0.7.
|
|
583953
|
+
writeToStdout(source_default.green(`Successfully updated from ${"0.7.8"} to version ${latestVersion}`) + `
|
|
583954
583954
|
`);
|
|
583955
583955
|
await regenerateCompletionCache();
|
|
583956
583956
|
break;
|
|
@@ -585250,7 +585250,7 @@ ${customInstructions}` : customInstructions;
|
|
|
585250
585250
|
}
|
|
585251
585251
|
}
|
|
585252
585252
|
logForDiagnosticsNoPII("info", "started", {
|
|
585253
|
-
version: "0.7.
|
|
585253
|
+
version: "0.7.8",
|
|
585254
585254
|
is_native_binary: isInBundledMode()
|
|
585255
585255
|
});
|
|
585256
585256
|
registerCleanup(async () => {
|
|
@@ -586133,7 +586133,7 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
586133
586133
|
pendingHookMessages
|
|
586134
586134
|
}, renderAndRun);
|
|
586135
586135
|
}
|
|
586136
|
-
}).version("0.7.
|
|
586136
|
+
}).version("0.7.8", "-v, --version", "Output the version number");
|
|
586137
586137
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
586138
586138
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
586139
586139
|
if (canUserConfigureAdvisor()) {
|
|
@@ -586798,7 +586798,7 @@ if (false) {}
|
|
|
586798
586798
|
async function main2() {
|
|
586799
586799
|
const args = process.argv.slice(2);
|
|
586800
586800
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
586801
|
-
console.log(`${"0.7.
|
|
586801
|
+
console.log(`${"0.7.8"} (ZeroCLI)`);
|
|
586802
586802
|
return;
|
|
586803
586803
|
}
|
|
586804
586804
|
if (args.includes("--provider")) {
|
|
@@ -586940,4 +586940,4 @@ async function main2() {
|
|
|
586940
586940
|
}
|
|
586941
586941
|
main2();
|
|
586942
586942
|
|
|
586943
|
-
//# debugId=
|
|
586943
|
+
//# debugId=E2E07FBA0C12396E64756E2164756E21
|