@duheso/zerocli 0.9.4 → 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 +333 -253
- 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";
|
|
@@ -191429,6 +191429,7 @@ var init_openaiSchemaSanitizer = __esm(() => {
|
|
|
191429
191429
|
});
|
|
191430
191430
|
|
|
191431
191431
|
// src/services/api/codexShim.ts
|
|
191432
|
+
import { randomUUID as randomUUID5 } from "crypto";
|
|
191432
191433
|
function makeUsage(usage) {
|
|
191433
191434
|
return {
|
|
191434
191435
|
input_tokens: usage?.input_tokens ?? 0,
|
|
@@ -191438,7 +191439,7 @@ function makeUsage(usage) {
|
|
|
191438
191439
|
};
|
|
191439
191440
|
}
|
|
191440
191441
|
function makeMessageId() {
|
|
191441
|
-
return `msg_${
|
|
191442
|
+
return `msg_${randomUUID5().replace(/-/g, "")}`;
|
|
191442
191443
|
}
|
|
191443
191444
|
function normalizeToolUseId(toolUseId) {
|
|
191444
191445
|
const value = (toolUseId || "").trim();
|
|
@@ -192346,9 +192347,9 @@ var init_toolArgumentNormalization = __esm(() => {
|
|
|
192346
192347
|
});
|
|
192347
192348
|
|
|
192348
192349
|
// src/utils/requestLogging.ts
|
|
192349
|
-
import { randomUUID as
|
|
192350
|
+
import { randomUUID as randomUUID6 } from "crypto";
|
|
192350
192351
|
function createCorrelationId() {
|
|
192351
|
-
return
|
|
192352
|
+
return randomUUID6();
|
|
192352
192353
|
}
|
|
192353
192354
|
function logApiCallStart(provider, model) {
|
|
192354
192355
|
const correlationId = createCorrelationId();
|
|
@@ -192419,6 +192420,7 @@ var exports_openaiShim = {};
|
|
|
192419
192420
|
__export(exports_openaiShim, {
|
|
192420
192421
|
createOpenAIShimClient: () => createOpenAIShimClient
|
|
192421
192422
|
});
|
|
192423
|
+
import { randomUUID as randomUUID7 } from "crypto";
|
|
192422
192424
|
function isGithubModelsMode() {
|
|
192423
192425
|
return isEnvTruthy(process.env.CLAUDE_CODE_USE_GITHUB);
|
|
192424
192426
|
}
|
|
@@ -192678,7 +192680,7 @@ function convertMessages(messages, system, options2) {
|
|
|
192678
192680
|
}
|
|
192679
192681
|
if (toolUses.length > 0) {
|
|
192680
192682
|
const mappedToolCalls = toolUses.map((tu) => {
|
|
192681
|
-
const id = tu.id ?? `call_${
|
|
192683
|
+
const id = tu.id ?? `call_${randomUUID7().replace(/-/g, "")}`;
|
|
192682
192684
|
if (!toolResultIds.has(id) && !isLastInHistory) {
|
|
192683
192685
|
return null;
|
|
192684
192686
|
}
|
|
@@ -192825,7 +192827,7 @@ function convertTools(tools) {
|
|
|
192825
192827
|
});
|
|
192826
192828
|
}
|
|
192827
192829
|
function makeMessageId2() {
|
|
192828
|
-
return `msg_${
|
|
192830
|
+
return `msg_${randomUUID7().replace(/-/g, "")}`;
|
|
192829
192831
|
}
|
|
192830
192832
|
function convertChunkUsage(usage) {
|
|
192831
192833
|
if (!usage)
|
|
@@ -192896,7 +192898,19 @@ async function* openaiStreamToAnthropic(response, model, signal) {
|
|
|
192896
192898
|
return new Promise((resolve19, reject) => {
|
|
192897
192899
|
const timeoutId = setTimeout(() => {
|
|
192898
192900
|
const elapsed = Math.round((Date.now() - lastDataTime) / 1000);
|
|
192899
|
-
|
|
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));
|
|
192900
192914
|
}, STREAM_IDLE_TIMEOUT_MS);
|
|
192901
192915
|
let abortCleanup;
|
|
192902
192916
|
if (signal) {
|
|
@@ -192956,7 +192970,19 @@ async function* openaiStreamToAnthropic(response, model, signal) {
|
|
|
192956
192970
|
let chunk;
|
|
192957
192971
|
try {
|
|
192958
192972
|
chunk = JSON.parse(trimmed.slice(6));
|
|
192959
|
-
} 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" });
|
|
192960
192986
|
continue;
|
|
192961
192987
|
}
|
|
192962
192988
|
const chunkUsage = convertChunkUsage(chunk.usage);
|
|
@@ -193131,6 +193157,20 @@ async function* openaiStreamToAnthropic(response, model, signal) {
|
|
|
193131
193157
|
yield { type: "content_block_stop", index: tc.index };
|
|
193132
193158
|
}
|
|
193133
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
|
+
}
|
|
193134
193174
|
if (choice.finish_reason === "content_filter" || choice.finish_reason === "safety") {
|
|
193135
193175
|
if (!hasEmittedContentStart) {
|
|
193136
193176
|
yield {
|
|
@@ -200954,7 +200994,7 @@ var init_bedrock_sdk = __esm(() => {
|
|
|
200954
200994
|
});
|
|
200955
200995
|
|
|
200956
200996
|
// src/services/api/client.ts
|
|
200957
|
-
import { randomUUID as
|
|
200997
|
+
import { randomUUID as randomUUID8 } from "crypto";
|
|
200958
200998
|
function createStderrLogger() {
|
|
200959
200999
|
return {
|
|
200960
201000
|
error: (msg, ...args) => console.error("[Anthropic SDK ERROR]", msg, ...args),
|
|
@@ -201160,7 +201200,7 @@ function buildFetch(fetchOverride, source) {
|
|
|
201160
201200
|
return (input, init) => {
|
|
201161
201201
|
const headers = new Headers(init?.headers);
|
|
201162
201202
|
if (injectClientRequestId && !headers.has(CLIENT_REQUEST_ID_HEADER)) {
|
|
201163
|
-
headers.set(CLIENT_REQUEST_ID_HEADER,
|
|
201203
|
+
headers.set(CLIENT_REQUEST_ID_HEADER, randomUUID8());
|
|
201164
201204
|
}
|
|
201165
201205
|
try {
|
|
201166
201206
|
const url3 = input instanceof Request ? input.url : String(input);
|
|
@@ -244850,7 +244890,7 @@ function getTelemetryAttributes() {
|
|
|
244850
244890
|
attributes["session.id"] = sessionId;
|
|
244851
244891
|
}
|
|
244852
244892
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
244853
|
-
attributes["app.version"] = "0.9.
|
|
244893
|
+
attributes["app.version"] = "0.9.6";
|
|
244854
244894
|
}
|
|
244855
244895
|
const oauthAccount = getOauthAccountInfo();
|
|
244856
244896
|
if (oauthAccount) {
|
|
@@ -253644,7 +253684,7 @@ var init_queryHelpers = __esm(() => {
|
|
|
253644
253684
|
});
|
|
253645
253685
|
|
|
253646
253686
|
// src/services/PromptSuggestion/speculation.ts
|
|
253647
|
-
import { randomUUID as
|
|
253687
|
+
import { randomUUID as randomUUID9 } from "crypto";
|
|
253648
253688
|
import { rm as rm2 } from "fs";
|
|
253649
253689
|
import { appendFile as appendFile3, copyFile, mkdir as mkdir7 } from "fs/promises";
|
|
253650
253690
|
import { dirname as dirname23, isAbsolute as isAbsolute11, join as join46, relative as relative7 } from "path";
|
|
@@ -253835,7 +253875,7 @@ async function startSpeculation(suggestionText, context3, setAppState, isPipelin
|
|
|
253835
253875
|
if (!isSpeculationEnabled())
|
|
253836
253876
|
return;
|
|
253837
253877
|
abortSpeculation(setAppState);
|
|
253838
|
-
const id =
|
|
253878
|
+
const id = randomUUID9().slice(0, 8);
|
|
253839
253879
|
const abortController = createChildAbortController(context3.toolUseContext.abortController);
|
|
253840
253880
|
if (abortController.signal.aborted)
|
|
253841
253881
|
return;
|
|
@@ -254215,7 +254255,7 @@ var init_speculation = __esm(() => {
|
|
|
254215
254255
|
});
|
|
254216
254256
|
|
|
254217
254257
|
// src/utils/sdkEventQueue.ts
|
|
254218
|
-
import { randomUUID as
|
|
254258
|
+
import { randomUUID as randomUUID10 } from "crypto";
|
|
254219
254259
|
function enqueueSdkEvent(event) {
|
|
254220
254260
|
if (!getIsNonInteractiveSession()) {
|
|
254221
254261
|
return;
|
|
@@ -254232,7 +254272,7 @@ function drainSdkEvents() {
|
|
|
254232
254272
|
const events = queue.splice(0);
|
|
254233
254273
|
return events.map((e) => ({
|
|
254234
254274
|
...e,
|
|
254235
|
-
uuid:
|
|
254275
|
+
uuid: randomUUID10(),
|
|
254236
254276
|
session_id: getSessionId()
|
|
254237
254277
|
}));
|
|
254238
254278
|
}
|
|
@@ -257089,7 +257129,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
257089
257129
|
}
|
|
257090
257130
|
function computeFingerprintFromMessages(messages) {
|
|
257091
257131
|
const firstMessageText = extractFirstMessageText(messages);
|
|
257092
|
-
return computeFingerprint(firstMessageText, "0.9.
|
|
257132
|
+
return computeFingerprint(firstMessageText, "0.9.6");
|
|
257093
257133
|
}
|
|
257094
257134
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
257095
257135
|
var init_fingerprint = () => {};
|
|
@@ -257131,7 +257171,7 @@ async function sideQuery(opts) {
|
|
|
257131
257171
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
257132
257172
|
}
|
|
257133
257173
|
const messageText = extractFirstUserMessageText(messages);
|
|
257134
|
-
const fingerprint = computeFingerprint(messageText, "0.9.
|
|
257174
|
+
const fingerprint = computeFingerprint(messageText, "0.9.6");
|
|
257135
257175
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
257136
257176
|
const systemBlocks = [
|
|
257137
257177
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -266033,7 +266073,7 @@ var init_user = __esm(() => {
|
|
|
266033
266073
|
deviceId,
|
|
266034
266074
|
sessionId: getSessionId(),
|
|
266035
266075
|
email: getEmail(),
|
|
266036
|
-
appVersion: "0.9.
|
|
266076
|
+
appVersion: "0.9.6",
|
|
266037
266077
|
platform: getHostPlatformForAnalytics(),
|
|
266038
266078
|
organizationUuid,
|
|
266039
266079
|
accountUuid,
|
|
@@ -266427,7 +266467,7 @@ async function initializeBetaTracing(resource) {
|
|
|
266427
266467
|
});
|
|
266428
266468
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
266429
266469
|
setLoggerProvider(loggerProvider);
|
|
266430
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.9.
|
|
266470
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.9.6");
|
|
266431
266471
|
setEventLogger(eventLogger);
|
|
266432
266472
|
process.on("beforeExit", async () => {
|
|
266433
266473
|
await loggerProvider?.forceFlush();
|
|
@@ -266467,7 +266507,7 @@ async function initializeTelemetry() {
|
|
|
266467
266507
|
const platform3 = getPlatform();
|
|
266468
266508
|
const baseAttributes = {
|
|
266469
266509
|
[ATTR_SERVICE_NAME3]: "claude-code",
|
|
266470
|
-
[ATTR_SERVICE_VERSION3]: "0.9.
|
|
266510
|
+
[ATTR_SERVICE_VERSION3]: "0.9.6"
|
|
266471
266511
|
};
|
|
266472
266512
|
if (platform3 === "wsl") {
|
|
266473
266513
|
const wslVersion = getWslVersion();
|
|
@@ -266512,7 +266552,7 @@ async function initializeTelemetry() {
|
|
|
266512
266552
|
} catch {}
|
|
266513
266553
|
};
|
|
266514
266554
|
registerCleanup(shutdownTelemetry2);
|
|
266515
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", "0.9.
|
|
266555
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", "0.9.6");
|
|
266516
266556
|
}
|
|
266517
266557
|
const meterProvider = new MeterProvider3({
|
|
266518
266558
|
resource,
|
|
@@ -266532,7 +266572,7 @@ async function initializeTelemetry() {
|
|
|
266532
266572
|
});
|
|
266533
266573
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
266534
266574
|
setLoggerProvider(loggerProvider);
|
|
266535
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.9.
|
|
266575
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.9.6");
|
|
266536
266576
|
setEventLogger(eventLogger);
|
|
266537
266577
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
266538
266578
|
process.on("beforeExit", async () => {
|
|
@@ -266594,7 +266634,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
266594
266634
|
}
|
|
266595
266635
|
};
|
|
266596
266636
|
registerCleanup(shutdownTelemetry);
|
|
266597
|
-
return meterProvider.getMeter("com.anthropic.claude_code", "0.9.
|
|
266637
|
+
return meterProvider.getMeter("com.anthropic.claude_code", "0.9.6");
|
|
266598
266638
|
}
|
|
266599
266639
|
async function flushTelemetry() {
|
|
266600
266640
|
const meterProvider = getMeterProvider();
|
|
@@ -267406,9 +267446,9 @@ async function assertMinVersion() {
|
|
|
267406
267446
|
}
|
|
267407
267447
|
try {
|
|
267408
267448
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
267409
|
-
if (versionConfig.minVersion && lt("0.9.
|
|
267449
|
+
if (versionConfig.minVersion && lt("0.9.6", versionConfig.minVersion)) {
|
|
267410
267450
|
console.error(`
|
|
267411
|
-
It looks like your version of ZeroCLI (${"0.9.
|
|
267451
|
+
It looks like your version of ZeroCLI (${"0.9.6"}) needs an update.
|
|
267412
267452
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
267413
267453
|
|
|
267414
267454
|
To update, please run:
|
|
@@ -267624,7 +267664,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
267624
267664
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
267625
267665
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
267626
267666
|
pid: process.pid,
|
|
267627
|
-
currentVersion: "0.9.
|
|
267667
|
+
currentVersion: "0.9.6"
|
|
267628
267668
|
});
|
|
267629
267669
|
return "in_progress";
|
|
267630
267670
|
}
|
|
@@ -267633,7 +267673,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
267633
267673
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
267634
267674
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
267635
267675
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
267636
|
-
currentVersion: "0.9.
|
|
267676
|
+
currentVersion: "0.9.6"
|
|
267637
267677
|
});
|
|
267638
267678
|
console.error(`
|
|
267639
267679
|
Error: Windows NPM detected in WSL
|
|
@@ -268187,7 +268227,7 @@ async function getDoctorDiagnostic() {
|
|
|
268187
268227
|
const installationType = await getCurrentInstallationType();
|
|
268188
268228
|
let version2;
|
|
268189
268229
|
try {
|
|
268190
|
-
version2 = "0.9.
|
|
268230
|
+
version2 = "0.9.6";
|
|
268191
268231
|
} catch {
|
|
268192
268232
|
version2 = "unknown";
|
|
268193
268233
|
}
|
|
@@ -269681,7 +269721,7 @@ function getInstallationEnv() {
|
|
|
269681
269721
|
return;
|
|
269682
269722
|
}
|
|
269683
269723
|
function getZeroCodeVersion() {
|
|
269684
|
-
return "0.9.
|
|
269724
|
+
return "0.9.6";
|
|
269685
269725
|
}
|
|
269686
269726
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
269687
269727
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -271048,8 +271088,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
271048
271088
|
const maxVersion = await getMaxVersion();
|
|
271049
271089
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
271050
271090
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
271051
|
-
if (gte("0.9.
|
|
271052
|
-
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`);
|
|
271053
271093
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
271054
271094
|
latency_ms: Date.now() - startTime2,
|
|
271055
271095
|
max_version: maxVersion,
|
|
@@ -271060,7 +271100,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
271060
271100
|
version2 = maxVersion;
|
|
271061
271101
|
}
|
|
271062
271102
|
}
|
|
271063
|
-
if (!forceReinstall && version2 === "0.9.
|
|
271103
|
+
if (!forceReinstall && version2 === "0.9.6" && await versionIsAvailable(version2) && await isPossibleZeroBinary(executablePath)) {
|
|
271064
271104
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
271065
271105
|
logEvent("tengu_native_update_complete", {
|
|
271066
271106
|
latency_ms: Date.now() - startTime2,
|
|
@@ -283871,7 +283911,7 @@ __export(exports_api, {
|
|
|
283871
283911
|
CodeSessionSchema: () => CodeSessionSchema,
|
|
283872
283912
|
CCR_BYOC_BETA: () => CCR_BYOC_BETA
|
|
283873
283913
|
});
|
|
283874
|
-
import { randomUUID as
|
|
283914
|
+
import { randomUUID as randomUUID11 } from "crypto";
|
|
283875
283915
|
function isTransientNetworkError(error42) {
|
|
283876
283916
|
if (!axios_default.isAxiosError(error42)) {
|
|
283877
283917
|
return false;
|
|
@@ -284014,7 +284054,7 @@ async function sendEventToRemoteSession(sessionId, messageContent, opts) {
|
|
|
284014
284054
|
"x-organization-uuid": orgUUID
|
|
284015
284055
|
};
|
|
284016
284056
|
const userEvent = {
|
|
284017
|
-
uuid: opts?.uuid ??
|
|
284057
|
+
uuid: opts?.uuid ?? randomUUID11(),
|
|
284018
284058
|
session_id: sessionId,
|
|
284019
284059
|
type: "user",
|
|
284020
284060
|
parent_tool_use_id: null,
|
|
@@ -294443,7 +294483,7 @@ __export(exports_processSlashCommand, {
|
|
|
294443
294483
|
looksLikeCommand: () => looksLikeCommand,
|
|
294444
294484
|
formatSkillLoadingMetadata: () => formatSkillLoadingMetadata
|
|
294445
294485
|
});
|
|
294446
|
-
import { randomUUID as
|
|
294486
|
+
import { randomUUID as randomUUID12 } from "crypto";
|
|
294447
294487
|
async function executeForkedSlashCommand(command, args, context4, precedingInputBlocks, setToolJSX, canUseTool) {
|
|
294448
294488
|
const agentId = createAgentId();
|
|
294449
294489
|
const pluginMarketplace = command.pluginInfo ? parsePluginIdentifier(command.pluginInfo.repository).marketplace : undefined;
|
|
@@ -294487,7 +294527,7 @@ async function executeForkedSlashCommand(command, args, context4, precedingInput
|
|
|
294487
294527
|
parentToolUseID,
|
|
294488
294528
|
toolUseID: `${parentToolUseID}-${toolUseCounter}`,
|
|
294489
294529
|
timestamp: new Date().toISOString(),
|
|
294490
|
-
uuid:
|
|
294530
|
+
uuid: randomUUID12()
|
|
294491
294531
|
};
|
|
294492
294532
|
};
|
|
294493
294533
|
const updateProgress = () => {
|
|
@@ -294612,7 +294652,7 @@ async function processSlashCommand(inputString, precedingInputBlocks, imageConte
|
|
|
294612
294652
|
resultText: unknownMessage
|
|
294613
294653
|
};
|
|
294614
294654
|
}
|
|
294615
|
-
const promptId =
|
|
294655
|
+
const promptId = randomUUID12();
|
|
294616
294656
|
setPromptId(promptId);
|
|
294617
294657
|
logEvent("tengu_input_prompt", {});
|
|
294618
294658
|
logOTelEvent("user_prompt", {
|
|
@@ -295124,7 +295164,7 @@ var init_MonitorMcpTask = __esm(() => {
|
|
|
295124
295164
|
});
|
|
295125
295165
|
|
|
295126
295166
|
// src/tools/AgentTool/runAgent.ts
|
|
295127
|
-
import { randomUUID as
|
|
295167
|
+
import { randomUUID as randomUUID13 } from "crypto";
|
|
295128
295168
|
async function initializeAgentMcpServers(agentDefinition, parentClients) {
|
|
295129
295169
|
if (!agentDefinition.mcpServers?.length) {
|
|
295130
295170
|
return {
|
|
@@ -295313,7 +295353,7 @@ async function* runAgent({
|
|
|
295313
295353
|
type: "hook_additional_context",
|
|
295314
295354
|
content: additionalContexts,
|
|
295315
295355
|
hookName: "SubagentStart",
|
|
295316
|
-
toolUseID:
|
|
295356
|
+
toolUseID: randomUUID13(),
|
|
295317
295357
|
hookEvent: "SubagentStart"
|
|
295318
295358
|
});
|
|
295319
295359
|
initialMessages.push(contextMessage);
|
|
@@ -298328,7 +298368,7 @@ var init_words = __esm(() => {
|
|
|
298328
298368
|
});
|
|
298329
298369
|
|
|
298330
298370
|
// src/utils/plans.ts
|
|
298331
|
-
import { randomUUID as
|
|
298371
|
+
import { randomUUID as randomUUID14 } from "crypto";
|
|
298332
298372
|
import { copyFile as copyFile4, writeFile as writeFile16 } from "fs/promises";
|
|
298333
298373
|
import { join as join69, resolve as resolve23, sep as sep14 } from "path";
|
|
298334
298374
|
function getPlanSlug(sessionId) {
|
|
@@ -298511,7 +298551,7 @@ async function persistFileSnapshotIfRemote() {
|
|
|
298511
298551
|
level: "info",
|
|
298512
298552
|
isMeta: true,
|
|
298513
298553
|
timestamp: new Date().toISOString(),
|
|
298514
|
-
uuid:
|
|
298554
|
+
uuid: randomUUID14(),
|
|
298515
298555
|
files: snapshotFiles
|
|
298516
298556
|
};
|
|
298517
298557
|
const { recordTranscript: recordTranscript2 } = await Promise.resolve().then(() => (init_sessionStorage(), exports_sessionStorage));
|
|
@@ -299472,7 +299512,7 @@ var init_conversationRecovery = __esm(() => {
|
|
|
299472
299512
|
});
|
|
299473
299513
|
|
|
299474
299514
|
// src/services/api/filesApi.ts
|
|
299475
|
-
import { randomUUID as
|
|
299515
|
+
import { randomUUID as randomUUID15 } from "crypto";
|
|
299476
299516
|
import * as fs2 from "fs/promises";
|
|
299477
299517
|
import * as path12 from "path";
|
|
299478
299518
|
function getDefaultApiBaseUrl() {
|
|
@@ -299656,7 +299696,7 @@ async function uploadFile(filePath, relativePath, config2, opts) {
|
|
|
299656
299696
|
success: false
|
|
299657
299697
|
};
|
|
299658
299698
|
}
|
|
299659
|
-
const boundary = `----FormBoundary${
|
|
299699
|
+
const boundary = `----FormBoundary${randomUUID15()}`;
|
|
299660
299700
|
const filename = path12.basename(relativePath);
|
|
299661
299701
|
const bodyParts = [];
|
|
299662
299702
|
bodyParts.push(Buffer.from(`--${boundary}\r
|
|
@@ -299960,7 +300000,7 @@ __export(exports_teleport, {
|
|
|
299960
300000
|
checkOutTeleportedSessionBranch: () => checkOutTeleportedSessionBranch,
|
|
299961
300001
|
archiveRemoteSession: () => archiveRemoteSession
|
|
299962
300002
|
});
|
|
299963
|
-
import { randomUUID as
|
|
300003
|
+
import { randomUUID as randomUUID16 } from "crypto";
|
|
299964
300004
|
function createTeleportResumeSystemMessage(branchError) {
|
|
299965
300005
|
if (branchError === null) {
|
|
299966
300006
|
return createSystemMessage("Session resumed", "info");
|
|
@@ -300677,7 +300717,7 @@ async function teleportToRemote(options2) {
|
|
|
300677
300717
|
type: "event",
|
|
300678
300718
|
data: {
|
|
300679
300719
|
type: "control_request",
|
|
300680
|
-
request_id: `set-mode-${
|
|
300720
|
+
request_id: `set-mode-${randomUUID16()}`,
|
|
300681
300721
|
request: {
|
|
300682
300722
|
subtype: "set_permission_mode",
|
|
300683
300723
|
mode: options2.permissionMode,
|
|
@@ -300690,7 +300730,7 @@ async function teleportToRemote(options2) {
|
|
|
300690
300730
|
events.push({
|
|
300691
300731
|
type: "event",
|
|
300692
300732
|
data: {
|
|
300693
|
-
uuid:
|
|
300733
|
+
uuid: randomUUID16(),
|
|
300694
300734
|
session_id: "",
|
|
300695
300735
|
type: "user",
|
|
300696
300736
|
parent_tool_use_id: null,
|
|
@@ -302009,12 +302049,12 @@ ${result.result}`
|
|
|
302009
302049
|
});
|
|
302010
302050
|
|
|
302011
302051
|
// src/services/lsp/LSPDiagnosticRegistry.ts
|
|
302012
|
-
import { randomUUID as
|
|
302052
|
+
import { randomUUID as randomUUID17 } from "crypto";
|
|
302013
302053
|
function registerPendingLSPDiagnostic({
|
|
302014
302054
|
serverName,
|
|
302015
302055
|
files
|
|
302016
302056
|
}) {
|
|
302017
|
-
const diagnosticId =
|
|
302057
|
+
const diagnosticId = randomUUID17();
|
|
302018
302058
|
logForDebugging(`LSP Diagnostics: Registering ${files.length} diagnostic file(s) from ${serverName} (ID: ${diagnosticId})`);
|
|
302019
302059
|
pendingDiagnostics.set(diagnosticId, {
|
|
302020
302060
|
serverName,
|
|
@@ -315854,7 +315894,7 @@ var init_PowerShellTool = __esm(() => {
|
|
|
315854
315894
|
});
|
|
315855
315895
|
|
|
315856
315896
|
// src/utils/promptShellExecution.ts
|
|
315857
|
-
import { randomUUID as
|
|
315897
|
+
import { randomUUID as randomUUID18 } from "crypto";
|
|
315858
315898
|
async function executeShellCommandsInPrompt(text, context4, slashCommandName, shell) {
|
|
315859
315899
|
let result = text;
|
|
315860
315900
|
const shellTool = shell === "powershell" && isPowerShellToolEnabled() ? getPowerShellTool() : BashTool;
|
|
@@ -315875,7 +315915,7 @@ async function executeShellCommandsInPrompt(text, context4, slashCommandName, sh
|
|
|
315875
315915
|
stdout: typeof data.stdout === "string" ? data.stdout : "",
|
|
315876
315916
|
stderr: typeof data.stderr === "string" ? data.stderr : ""
|
|
315877
315917
|
};
|
|
315878
|
-
const toolResultBlock = await processToolResultBlock(shellTool, normalizedData,
|
|
315918
|
+
const toolResultBlock = await processToolResultBlock(shellTool, normalizedData, randomUUID18());
|
|
315879
315919
|
const output = typeof toolResultBlock.content === "string" ? toolResultBlock.content : formatBashOutput(normalizedData.stdout, normalizedData.stderr);
|
|
315880
315920
|
result = result.replace(match[0], () => output);
|
|
315881
315921
|
} catch (e) {
|
|
@@ -375217,13 +375257,13 @@ var init_config5 = __esm(() => {
|
|
|
375217
375257
|
});
|
|
375218
375258
|
|
|
375219
375259
|
// src/query/deps.ts
|
|
375220
|
-
import { randomUUID as
|
|
375260
|
+
import { randomUUID as randomUUID19 } from "crypto";
|
|
375221
375261
|
function productionDeps() {
|
|
375222
375262
|
return {
|
|
375223
375263
|
callModel: queryModelWithStreaming,
|
|
375224
375264
|
microcompact: microcompactMessages,
|
|
375225
375265
|
autocompact: autoCompactIfNeeded,
|
|
375226
|
-
uuid:
|
|
375266
|
+
uuid: randomUUID19
|
|
375227
375267
|
};
|
|
375228
375268
|
}
|
|
375229
375269
|
var init_deps = __esm(() => {
|
|
@@ -375723,6 +375763,25 @@ async function* queryLoop(params, consumedCommandUuids) {
|
|
|
375723
375763
|
} catch (error42) {
|
|
375724
375764
|
logError2(error42);
|
|
375725
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" });
|
|
375726
375785
|
logEvent("tengu_query_error", {
|
|
375727
375786
|
assistantMessages: assistantMessages.length,
|
|
375728
375787
|
toolUses: assistantMessages.flatMap((_) => _.message.content.filter((content) => content.type === "tool_use")).length,
|
|
@@ -376284,7 +376343,7 @@ function getAnthropicEnvMetadata() {
|
|
|
376284
376343
|
function getBuildAgeMinutes() {
|
|
376285
376344
|
if (false)
|
|
376286
376345
|
;
|
|
376287
|
-
const buildTime = new Date("2026-05-
|
|
376346
|
+
const buildTime = new Date("2026-05-13T13:07:10.047Z").getTime();
|
|
376288
376347
|
if (isNaN(buildTime))
|
|
376289
376348
|
return;
|
|
376290
376349
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -376735,7 +376794,7 @@ var init_denialTracking = __esm(() => {
|
|
|
376735
376794
|
});
|
|
376736
376795
|
|
|
376737
376796
|
// src/utils/forkedAgent.ts
|
|
376738
|
-
import { randomUUID as
|
|
376797
|
+
import { randomUUID as randomUUID20 } from "crypto";
|
|
376739
376798
|
function saveCacheSafeParams(params) {
|
|
376740
376799
|
lastCacheSafeParams = params;
|
|
376741
376800
|
}
|
|
@@ -376844,7 +376903,7 @@ function createSubagentContext(parentContext, overrides) {
|
|
|
376844
376903
|
agentId: overrides?.agentId ?? createAgentId(),
|
|
376845
376904
|
agentType: overrides?.agentType,
|
|
376846
376905
|
queryTracking: {
|
|
376847
|
-
chainId:
|
|
376906
|
+
chainId: randomUUID20(),
|
|
376848
376907
|
depth: (parentContext.queryTracking?.depth ?? -1) + 1
|
|
376849
376908
|
},
|
|
376850
376909
|
fileReadingLimits: parentContext.fileReadingLimits,
|
|
@@ -379921,7 +379980,7 @@ var init_toolSearch = __esm(() => {
|
|
|
379921
379980
|
});
|
|
379922
379981
|
|
|
379923
379982
|
// src/services/vcr.ts
|
|
379924
|
-
import { createHash as createHash14, randomUUID as
|
|
379983
|
+
import { createHash as createHash14, randomUUID as randomUUID21 } from "crypto";
|
|
379925
379984
|
import { mkdir as mkdir23, readFile as readFile27, writeFile as writeFile24 } from "fs/promises";
|
|
379926
379985
|
import { dirname as dirname35, join as join88 } from "path";
|
|
379927
379986
|
function shouldUseVCR() {
|
|
@@ -379974,7 +380033,7 @@ async function withVCR(messages, f) {
|
|
|
379974
380033
|
try {
|
|
379975
380034
|
const cached3 = jsonParse(await readFile27(filename, { encoding: "utf8" }));
|
|
379976
380035
|
cached3.output.forEach(addCachedCostToTotalSessionCost);
|
|
379977
|
-
return cached3.output.map((message, index) => mapMessage(message, hydrateValue, index,
|
|
380036
|
+
return cached3.output.map((message, index) => mapMessage(message, hydrateValue, index, randomUUID21()));
|
|
379978
380037
|
} catch (e2) {
|
|
379979
380038
|
const code = getErrnoCode(e2);
|
|
379980
380039
|
if (code !== "ENOENT") {
|
|
@@ -380435,7 +380494,7 @@ var init_tokenEstimation = __esm(() => {
|
|
|
380435
380494
|
});
|
|
380436
380495
|
|
|
380437
380496
|
// src/utils/pdf.ts
|
|
380438
|
-
import { randomUUID as
|
|
380497
|
+
import { randomUUID as randomUUID22 } from "crypto";
|
|
380439
380498
|
import { mkdir as mkdir24, readdir as readdir15, readFile as readFile28 } from "fs/promises";
|
|
380440
380499
|
import { join as join89 } from "path";
|
|
380441
380500
|
async function readPDF(filePath) {
|
|
@@ -380546,7 +380605,7 @@ async function extractPDFPages(filePath, options2) {
|
|
|
380546
380605
|
}
|
|
380547
380606
|
};
|
|
380548
380607
|
}
|
|
380549
|
-
const uuid3 =
|
|
380608
|
+
const uuid3 = randomUUID22();
|
|
380550
380609
|
const outputDir = join89(getToolResultsDir(), `pdf-${uuid3}`);
|
|
380551
380610
|
await mkdir24(outputDir, { recursive: true });
|
|
380552
380611
|
const prefix = join89(outputDir, "page");
|
|
@@ -382116,7 +382175,7 @@ var init_findRelevantMemories = __esm(() => {
|
|
|
382116
382175
|
// src/utils/attachments.ts
|
|
382117
382176
|
import { readdir as readdir17, stat as stat33 } from "fs/promises";
|
|
382118
382177
|
import { dirname as dirname36, parse as parse10, relative as relative20, resolve as resolve32 } from "path";
|
|
382119
|
-
import { randomUUID as
|
|
382178
|
+
import { randomUUID as randomUUID23 } from "crypto";
|
|
382120
382179
|
async function getAttachments(input, toolUseContext, ideSelection, queuedCommands, messages, querySource, options2) {
|
|
382121
382180
|
if (isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_ATTACHMENTS) || isEnvTruthy(process.env.CLAUDE_CODE_SIMPLE)) {
|
|
382122
382181
|
return getQueuedCommandAttachments(queuedCommands);
|
|
@@ -383343,7 +383402,7 @@ function createAttachmentMessage(attachment) {
|
|
|
383343
383402
|
return {
|
|
383344
383403
|
attachment,
|
|
383345
383404
|
type: "attachment",
|
|
383346
|
-
uuid:
|
|
383405
|
+
uuid: randomUUID23(),
|
|
383347
383406
|
timestamp: new Date().toISOString()
|
|
383348
383407
|
};
|
|
383349
383408
|
}
|
|
@@ -388982,7 +389041,7 @@ ${EXPLANATORY_FEATURE_PROMPT}`
|
|
|
388982
389041
|
});
|
|
388983
389042
|
|
|
388984
389043
|
// src/utils/messages.ts
|
|
388985
|
-
import { randomUUID as
|
|
389044
|
+
import { randomUUID as randomUUID24 } from "crypto";
|
|
388986
389045
|
function getTeammateMailbox() {
|
|
388987
389046
|
return init_teammateMailbox(), __toCommonJS(exports_teammateMailbox);
|
|
388988
389047
|
}
|
|
@@ -389062,10 +389121,10 @@ function baseCreateAssistantMessage({
|
|
|
389062
389121
|
}) {
|
|
389063
389122
|
return {
|
|
389064
389123
|
type: "assistant",
|
|
389065
|
-
uuid:
|
|
389124
|
+
uuid: randomUUID24(),
|
|
389066
389125
|
timestamp: new Date().toISOString(),
|
|
389067
389126
|
message: {
|
|
389068
|
-
id:
|
|
389127
|
+
id: randomUUID24(),
|
|
389069
389128
|
container: null,
|
|
389070
389129
|
model: SYNTHETIC_MODEL,
|
|
389071
389130
|
role: "assistant",
|
|
@@ -389146,7 +389205,7 @@ function createUserMessage({
|
|
|
389146
389205
|
isVirtual,
|
|
389147
389206
|
isCompactSummary,
|
|
389148
389207
|
summarizeMetadata,
|
|
389149
|
-
uuid: uuid3 ||
|
|
389208
|
+
uuid: uuid3 || randomUUID24(),
|
|
389150
389209
|
timestamp: timestamp ?? new Date().toISOString(),
|
|
389151
389210
|
toolUseResult,
|
|
389152
389211
|
mcpMeta,
|
|
@@ -389215,7 +389274,7 @@ function createProgressMessage({
|
|
|
389215
389274
|
data,
|
|
389216
389275
|
toolUseID,
|
|
389217
389276
|
parentToolUseID,
|
|
389218
|
-
uuid:
|
|
389277
|
+
uuid: randomUUID24(),
|
|
389219
389278
|
timestamp: new Date().toISOString()
|
|
389220
389279
|
};
|
|
389221
389280
|
}
|
|
@@ -391562,7 +391621,7 @@ function createSystemMessage(content, level, toolUseID, preventContinuation) {
|
|
|
391562
391621
|
content,
|
|
391563
391622
|
isMeta: false,
|
|
391564
391623
|
timestamp: new Date().toISOString(),
|
|
391565
|
-
uuid:
|
|
391624
|
+
uuid: randomUUID24(),
|
|
391566
391625
|
toolUseID,
|
|
391567
391626
|
level,
|
|
391568
391627
|
...preventContinuation && { preventContinuation }
|
|
@@ -391577,7 +391636,7 @@ function createPermissionRetryMessage(commands) {
|
|
|
391577
391636
|
level: "info",
|
|
391578
391637
|
isMeta: false,
|
|
391579
391638
|
timestamp: new Date().toISOString(),
|
|
391580
|
-
uuid:
|
|
391639
|
+
uuid: randomUUID24()
|
|
391581
391640
|
};
|
|
391582
391641
|
}
|
|
391583
391642
|
function createScheduledTaskFireMessage(content) {
|
|
@@ -391587,7 +391646,7 @@ function createScheduledTaskFireMessage(content) {
|
|
|
391587
391646
|
content,
|
|
391588
391647
|
isMeta: false,
|
|
391589
391648
|
timestamp: new Date().toISOString(),
|
|
391590
|
-
uuid:
|
|
391649
|
+
uuid: randomUUID24()
|
|
391591
391650
|
};
|
|
391592
391651
|
}
|
|
391593
391652
|
function createStopHookSummaryMessage(hookCount, hookInfos, hookErrors, preventedContinuation, stopReason, hasOutput, level, toolUseID, hookLabel, totalDurationMs) {
|
|
@@ -391603,7 +391662,7 @@ function createStopHookSummaryMessage(hookCount, hookInfos, hookErrors, prevente
|
|
|
391603
391662
|
hasOutput,
|
|
391604
391663
|
level,
|
|
391605
391664
|
timestamp: new Date().toISOString(),
|
|
391606
|
-
uuid:
|
|
391665
|
+
uuid: randomUUID24(),
|
|
391607
391666
|
toolUseID,
|
|
391608
391667
|
hookLabel,
|
|
391609
391668
|
totalDurationMs
|
|
@@ -391619,7 +391678,7 @@ function createTurnDurationMessage(durationMs, budget, messageCount) {
|
|
|
391619
391678
|
budgetNudges: budget?.nudges,
|
|
391620
391679
|
messageCount,
|
|
391621
391680
|
timestamp: new Date().toISOString(),
|
|
391622
|
-
uuid:
|
|
391681
|
+
uuid: randomUUID24(),
|
|
391623
391682
|
isMeta: false
|
|
391624
391683
|
};
|
|
391625
391684
|
}
|
|
@@ -391629,7 +391688,7 @@ function createAwaySummaryMessage(content) {
|
|
|
391629
391688
|
subtype: "away_summary",
|
|
391630
391689
|
content,
|
|
391631
391690
|
timestamp: new Date().toISOString(),
|
|
391632
|
-
uuid:
|
|
391691
|
+
uuid: randomUUID24(),
|
|
391633
391692
|
isMeta: false
|
|
391634
391693
|
};
|
|
391635
391694
|
}
|
|
@@ -391639,7 +391698,7 @@ function createMemorySavedMessage(writtenPaths) {
|
|
|
391639
391698
|
subtype: "memory_saved",
|
|
391640
391699
|
writtenPaths,
|
|
391641
391700
|
timestamp: new Date().toISOString(),
|
|
391642
|
-
uuid:
|
|
391701
|
+
uuid: randomUUID24(),
|
|
391643
391702
|
isMeta: false
|
|
391644
391703
|
};
|
|
391645
391704
|
}
|
|
@@ -391648,7 +391707,7 @@ function createAgentsKilledMessage() {
|
|
|
391648
391707
|
type: "system",
|
|
391649
391708
|
subtype: "agents_killed",
|
|
391650
391709
|
timestamp: new Date().toISOString(),
|
|
391651
|
-
uuid:
|
|
391710
|
+
uuid: randomUUID24(),
|
|
391652
391711
|
isMeta: false
|
|
391653
391712
|
};
|
|
391654
391713
|
}
|
|
@@ -391659,7 +391718,7 @@ function createCommandInputMessage(content) {
|
|
|
391659
391718
|
content,
|
|
391660
391719
|
level: "info",
|
|
391661
391720
|
timestamp: new Date().toISOString(),
|
|
391662
|
-
uuid:
|
|
391721
|
+
uuid: randomUUID24(),
|
|
391663
391722
|
isMeta: false
|
|
391664
391723
|
};
|
|
391665
391724
|
}
|
|
@@ -391670,7 +391729,7 @@ function createCompactBoundaryMessage(trigger, preTokens, lastPreCompactMessageU
|
|
|
391670
391729
|
content: `Conversation compacted`,
|
|
391671
391730
|
isMeta: false,
|
|
391672
391731
|
timestamp: new Date().toISOString(),
|
|
391673
|
-
uuid:
|
|
391732
|
+
uuid: randomUUID24(),
|
|
391674
391733
|
level: "info",
|
|
391675
391734
|
compactMetadata: {
|
|
391676
391735
|
trigger,
|
|
@@ -391691,7 +391750,7 @@ function createMicrocompactBoundaryMessage(trigger, preTokens, tokensSaved, comp
|
|
|
391691
391750
|
content: "Context microcompacted",
|
|
391692
391751
|
isMeta: false,
|
|
391693
391752
|
timestamp: new Date().toISOString(),
|
|
391694
|
-
uuid:
|
|
391753
|
+
uuid: randomUUID24(),
|
|
391695
391754
|
level: "info",
|
|
391696
391755
|
microcompactMetadata: {
|
|
391697
391756
|
trigger,
|
|
@@ -391713,7 +391772,7 @@ function createSystemAPIErrorMessage(error42, retryInMs, retryAttempt, maxRetrie
|
|
|
391713
391772
|
retryAttempt,
|
|
391714
391773
|
maxRetries,
|
|
391715
391774
|
timestamp: new Date().toISOString(),
|
|
391716
|
-
uuid:
|
|
391775
|
+
uuid: randomUUID24()
|
|
391717
391776
|
};
|
|
391718
391777
|
}
|
|
391719
391778
|
function isCompactBoundaryMessage(message) {
|
|
@@ -391984,7 +392043,7 @@ function createToolUseSummaryMessage(summary, precedingToolUseIds) {
|
|
|
391984
392043
|
summary,
|
|
391985
392044
|
precedingToolUseIds,
|
|
391986
392045
|
toolUseIDs: precedingToolUseIds,
|
|
391987
|
-
uuid:
|
|
392046
|
+
uuid: randomUUID24(),
|
|
391988
392047
|
timestamp: new Date().toISOString()
|
|
391989
392048
|
};
|
|
391990
392049
|
}
|
|
@@ -395511,7 +395570,7 @@ var init_xaaIdpLogin = __esm(() => {
|
|
|
395511
395570
|
});
|
|
395512
395571
|
|
|
395513
395572
|
// src/services/mcp/auth.ts
|
|
395514
|
-
import { createHash as createHash16, randomBytes as randomBytes11, randomUUID as
|
|
395573
|
+
import { createHash as createHash16, randomBytes as randomBytes11, randomUUID as randomUUID25 } from "crypto";
|
|
395515
395574
|
import { mkdir as mkdir26 } from "fs/promises";
|
|
395516
395575
|
import { createServer as createServer4 } from "http";
|
|
395517
395576
|
import { join as join99 } from "path";
|
|
@@ -395965,7 +396024,7 @@ async function performMCPOAuthFlow(serverName, serverConfig, onAuthorizationUrl,
|
|
|
395965
396024
|
scope: cachedStepUpScope,
|
|
395966
396025
|
resourceMetadataUrl
|
|
395967
396026
|
};
|
|
395968
|
-
const flowAttemptId =
|
|
396027
|
+
const flowAttemptId = randomUUID25();
|
|
395969
396028
|
logEvent("tengu_mcp_oauth_flow_start", {
|
|
395970
396029
|
flowAttemptId,
|
|
395971
396030
|
isOAuthFlow: true,
|
|
@@ -403720,7 +403779,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
403720
403779
|
const client2 = new Client({
|
|
403721
403780
|
name: "claude-code",
|
|
403722
403781
|
title: "ZeroCLI",
|
|
403723
|
-
version: "0.9.
|
|
403782
|
+
version: "0.9.6",
|
|
403724
403783
|
description: "Anthropic's agentic coding tool",
|
|
403725
403784
|
websiteUrl: PRODUCT_URL
|
|
403726
403785
|
}, {
|
|
@@ -404072,7 +404131,7 @@ var init_client7 = __esm(() => {
|
|
|
404072
404131
|
const client2 = new Client({
|
|
404073
404132
|
name: "claude-code",
|
|
404074
404133
|
title: "ZeroCLI",
|
|
404075
|
-
version: "0.9.
|
|
404134
|
+
version: "0.9.6",
|
|
404076
404135
|
description: "Anthropic's agentic coding tool",
|
|
404077
404136
|
websiteUrl: PRODUCT_URL
|
|
404078
404137
|
}, {
|
|
@@ -405313,7 +405372,7 @@ function insertBlockAfterToolResults(content, block2) {
|
|
|
405313
405372
|
}
|
|
405314
405373
|
|
|
405315
405374
|
// src/services/api/claude.ts
|
|
405316
|
-
import { randomUUID as
|
|
405375
|
+
import { randomUUID as randomUUID26 } from "crypto";
|
|
405317
405376
|
function getExtraBodyParams(betaHeaders) {
|
|
405318
405377
|
const extraBodyStr = process.env.CLAUDE_CODE_EXTRA_BODY;
|
|
405319
405378
|
let result = {};
|
|
@@ -406109,7 +406168,18 @@ ${deferredToolList}
|
|
|
406109
406168
|
streamIdleTimer = setTimeout(() => {
|
|
406110
406169
|
streamIdleAborted = true;
|
|
406111
406170
|
streamWatchdogFiredAt = performance.now();
|
|
406112
|
-
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" });
|
|
406113
406183
|
logForDiagnosticsNoPII("error", "cli_streaming_idle_timeout");
|
|
406114
406184
|
logEvent("tengu_streaming_idle_timeout", {
|
|
406115
406185
|
model: options2.model,
|
|
@@ -406139,7 +406209,7 @@ ${deferredToolList}
|
|
|
406139
406209
|
if (!options2.agentId) {
|
|
406140
406210
|
headlessProfilerCheckpoint("api_request_sent");
|
|
406141
406211
|
}
|
|
406142
|
-
clientRequestId = getAPIProvider() === "firstParty" && isFirstPartyAnthropicBaseUrl() ?
|
|
406212
|
+
clientRequestId = getAPIProvider() === "firstParty" && isFirstPartyAnthropicBaseUrl() ? randomUUID26() : undefined;
|
|
406143
406213
|
const result = await anthropic.beta.messages.create({ ...params, stream: true }, {
|
|
406144
406214
|
signal,
|
|
406145
406215
|
...clientRequestId && {
|
|
@@ -406369,7 +406439,7 @@ ${deferredToolList}
|
|
|
406369
406439
|
},
|
|
406370
406440
|
requestId: streamRequestId ?? undefined,
|
|
406371
406441
|
type: "assistant",
|
|
406372
|
-
uuid:
|
|
406442
|
+
uuid: randomUUID26(),
|
|
406373
406443
|
timestamp: new Date().toISOString(),
|
|
406374
406444
|
...process.env.USER_TYPE === "ant" && research !== undefined && { research },
|
|
406375
406445
|
...advisorModel && { advisorModel }
|
|
@@ -406402,6 +406472,15 @@ ${deferredToolList}
|
|
|
406402
406472
|
logEvent("tengu_max_tokens_reached", {
|
|
406403
406473
|
max_tokens: maxOutputTokens
|
|
406404
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" });
|
|
406405
406484
|
yield createAssistantAPIErrorMessage({
|
|
406406
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.`,
|
|
406407
406486
|
apiError: "max_output_tokens",
|
|
@@ -406551,7 +406630,7 @@ ${deferredToolList}
|
|
|
406551
406630
|
},
|
|
406552
406631
|
requestId: streamRequestId ?? undefined,
|
|
406553
406632
|
type: "assistant",
|
|
406554
|
-
uuid:
|
|
406633
|
+
uuid: randomUUID26(),
|
|
406555
406634
|
timestamp: new Date().toISOString(),
|
|
406556
406635
|
...process.env.USER_TYPE === "ant" && research !== undefined && {
|
|
406557
406636
|
research
|
|
@@ -406605,7 +406684,7 @@ ${deferredToolList}
|
|
|
406605
406684
|
},
|
|
406606
406685
|
requestId: streamRequestId ?? undefined,
|
|
406607
406686
|
type: "assistant",
|
|
406608
|
-
uuid:
|
|
406687
|
+
uuid: randomUUID26(),
|
|
406609
406688
|
timestamp: new Date().toISOString(),
|
|
406610
406689
|
...process.env.USER_TYPE === "ant" && research !== undefined && { research },
|
|
406611
406690
|
...advisorModel && { advisorModel }
|
|
@@ -414787,7 +414866,7 @@ function Feedback({
|
|
|
414787
414866
|
platform: env2.platform,
|
|
414788
414867
|
gitRepo: envInfo.isGit,
|
|
414789
414868
|
terminal: env2.terminal,
|
|
414790
|
-
version: "0.9.
|
|
414869
|
+
version: "0.9.6",
|
|
414791
414870
|
transcript: normalizeMessagesForAPI(messages),
|
|
414792
414871
|
errors: sanitizedErrors,
|
|
414793
414872
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -414980,7 +415059,7 @@ function Feedback({
|
|
|
414980
415059
|
", ",
|
|
414981
415060
|
env2.terminal,
|
|
414982
415061
|
", v",
|
|
414983
|
-
"0.9.
|
|
415062
|
+
"0.9.6"
|
|
414984
415063
|
]
|
|
414985
415064
|
})
|
|
414986
415065
|
]
|
|
@@ -415088,7 +415167,7 @@ ${sanitizedDescription}
|
|
|
415088
415167
|
` + `**Environment Info**
|
|
415089
415168
|
` + `- Platform: ${env2.platform}
|
|
415090
415169
|
` + `- Terminal: ${env2.terminal}
|
|
415091
|
-
` + `- Version: ${"0.9.
|
|
415170
|
+
` + `- Version: ${"0.9.6"}
|
|
415092
415171
|
` + feedbackIdLine + `
|
|
415093
415172
|
**Errors**
|
|
415094
415173
|
\`\`\`json
|
|
@@ -416318,7 +416397,7 @@ var exports_conversation = {};
|
|
|
416318
416397
|
__export(exports_conversation, {
|
|
416319
416398
|
clearConversation: () => clearConversation
|
|
416320
416399
|
});
|
|
416321
|
-
import { randomUUID as
|
|
416400
|
+
import { randomUUID as randomUUID27 } from "crypto";
|
|
416322
416401
|
async function clearConversation({
|
|
416323
416402
|
setMessages,
|
|
416324
416403
|
readFileState,
|
|
@@ -416360,7 +416439,7 @@ async function clearConversation({
|
|
|
416360
416439
|
setMessages(() => []);
|
|
416361
416440
|
if (false) {}
|
|
416362
416441
|
if (setConversationId) {
|
|
416363
|
-
setConversationId(
|
|
416442
|
+
setConversationId(randomUUID27());
|
|
416364
416443
|
}
|
|
416365
416444
|
clearSessionCaches(preservedAgentIds);
|
|
416366
416445
|
setCwd(getOriginalCwd());
|
|
@@ -418241,7 +418320,7 @@ function buildPrimarySection() {
|
|
|
418241
418320
|
});
|
|
418242
418321
|
return [{
|
|
418243
418322
|
label: "Version",
|
|
418244
|
-
value: "0.9.
|
|
418323
|
+
value: "0.9.6"
|
|
418245
418324
|
}, {
|
|
418246
418325
|
label: "Session name",
|
|
418247
418326
|
value: nameValue
|
|
@@ -423011,7 +423090,7 @@ function Config({
|
|
|
423011
423090
|
}
|
|
423012
423091
|
})
|
|
423013
423092
|
}) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_runtime181.jsx(ChannelDowngradeDialog, {
|
|
423014
|
-
currentVersion: "0.9.
|
|
423093
|
+
currentVersion: "0.9.6",
|
|
423015
423094
|
onChoice: (choice) => {
|
|
423016
423095
|
setShowSubmenu(null);
|
|
423017
423096
|
setTabsHidden(false);
|
|
@@ -423023,7 +423102,7 @@ function Config({
|
|
|
423023
423102
|
autoUpdatesChannel: "stable"
|
|
423024
423103
|
};
|
|
423025
423104
|
if (choice === "stay") {
|
|
423026
|
-
newSettings.minimumVersion = "0.9.
|
|
423105
|
+
newSettings.minimumVersion = "0.9.6";
|
|
423027
423106
|
}
|
|
423028
423107
|
updateSettingsForSource("userSettings", newSettings);
|
|
423029
423108
|
setSettingsData((prev_27) => ({
|
|
@@ -429964,7 +430043,7 @@ function UpdateScreen({ onDone }) {
|
|
|
429964
430043
|
setState({ type: "dev-build" });
|
|
429965
430044
|
return;
|
|
429966
430045
|
}
|
|
429967
|
-
const currentVersion = "0.9.
|
|
430046
|
+
const currentVersion = "0.9.6";
|
|
429968
430047
|
const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
429969
430048
|
const latestVersion = await getLatestVersion(channel2);
|
|
429970
430049
|
if (!latestVersion) {
|
|
@@ -432075,7 +432154,7 @@ function HelpV2(t0) {
|
|
|
432075
432154
|
let t6;
|
|
432076
432155
|
if ($2[31] !== tabs) {
|
|
432077
432156
|
t6 = /* @__PURE__ */ jsx_runtime211.jsx(Tabs, {
|
|
432078
|
-
title: `ZeroCLI v${"0.9.
|
|
432157
|
+
title: `ZeroCLI v${"0.9.6"}`,
|
|
432079
432158
|
color: "professionalBlue",
|
|
432080
432159
|
defaultTab: "general",
|
|
432081
432160
|
children: tabs
|
|
@@ -456919,7 +456998,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
456919
456998
|
return [];
|
|
456920
456999
|
}
|
|
456921
457000
|
}
|
|
456922
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.9.
|
|
457001
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.9.6") {
|
|
456923
457002
|
if (process.env.USER_TYPE === "ant") {
|
|
456924
457003
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
456925
457004
|
if (changelog) {
|
|
@@ -468116,7 +468195,7 @@ var init_InProcessTeammateDetailDialog = __esm(() => {
|
|
|
468116
468195
|
});
|
|
468117
468196
|
|
|
468118
468197
|
// src/utils/messages/mappers.ts
|
|
468119
|
-
import { randomUUID as
|
|
468198
|
+
import { randomUUID as randomUUID28 } from "crypto";
|
|
468120
468199
|
function toInternalMessages(messages) {
|
|
468121
468200
|
return messages.flatMap((message) => {
|
|
468122
468201
|
switch (message.type) {
|
|
@@ -468135,7 +468214,7 @@ function toInternalMessages(messages) {
|
|
|
468135
468214
|
{
|
|
468136
468215
|
type: "user",
|
|
468137
468216
|
message: message.message,
|
|
468138
|
-
uuid: message.uuid ??
|
|
468217
|
+
uuid: message.uuid ?? randomUUID28(),
|
|
468139
468218
|
timestamp: message.timestamp ?? new Date().toISOString(),
|
|
468140
468219
|
isMeta: message.isSynthetic
|
|
468141
468220
|
}
|
|
@@ -468150,7 +468229,7 @@ function toInternalMessages(messages) {
|
|
|
468150
468229
|
level: "info",
|
|
468151
468230
|
subtype: "compact_boundary",
|
|
468152
468231
|
compactMetadata: fromSDKCompactMetadata(compactMsg.compact_metadata),
|
|
468153
|
-
uuid: message.uuid ??
|
|
468232
|
+
uuid: message.uuid ?? randomUUID28(),
|
|
468154
468233
|
timestamp: new Date().toISOString(),
|
|
468155
468234
|
isMeta: message.isSynthetic ?? false
|
|
468156
468235
|
}
|
|
@@ -479372,7 +479451,7 @@ __export(exports_branch, {
|
|
|
479372
479451
|
deriveFirstPrompt: () => deriveFirstPrompt,
|
|
479373
479452
|
call: () => call53
|
|
479374
479453
|
});
|
|
479375
|
-
import { randomUUID as
|
|
479454
|
+
import { randomUUID as randomUUID29 } from "crypto";
|
|
479376
479455
|
import { mkdir as mkdir35, readFile as readFile42, writeFile as writeFile39 } from "fs/promises";
|
|
479377
479456
|
function deriveFirstPrompt(firstUserMessage) {
|
|
479378
479457
|
const content = firstUserMessage?.message?.content;
|
|
@@ -479384,7 +479463,7 @@ function deriveFirstPrompt(firstUserMessage) {
|
|
|
479384
479463
|
return raw.replace(/\s+/g, " ").trim().slice(0, 100) || "Branched conversation";
|
|
479385
479464
|
}
|
|
479386
479465
|
async function createFork(customTitle) {
|
|
479387
|
-
const forkSessionId =
|
|
479466
|
+
const forkSessionId = randomUUID29();
|
|
479388
479467
|
const originalSessionId = getSessionId();
|
|
479389
479468
|
const projectDir = getProjectDir2(getOriginalCwd());
|
|
479390
479469
|
const forkSessionPath = getTranscriptPathForSession(forkSessionId);
|
|
@@ -485957,7 +486036,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
485957
486036
|
smapsRollup,
|
|
485958
486037
|
platform: process.platform,
|
|
485959
486038
|
nodeVersion: process.version,
|
|
485960
|
-
ccVersion: "0.9.
|
|
486039
|
+
ccVersion: "0.9.6"
|
|
485961
486040
|
};
|
|
485962
486041
|
}
|
|
485963
486042
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -486544,7 +486623,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
486544
486623
|
var call60 = async () => {
|
|
486545
486624
|
return {
|
|
486546
486625
|
type: "text",
|
|
486547
|
-
value: `${"0.9.
|
|
486626
|
+
value: `${"0.9.6"} (built ${"2026-05-13T13:07:10.047Z"})`
|
|
486548
486627
|
};
|
|
486549
486628
|
}, version2, version_default;
|
|
486550
486629
|
var init_version = __esm(() => {
|
|
@@ -496701,7 +496780,7 @@ function generateHtmlReport(data, insights) {
|
|
|
496701
496780
|
function buildExportData(data, insights, facets) {
|
|
496702
496781
|
let version3;
|
|
496703
496782
|
try {
|
|
496704
|
-
version3 = "0.9.
|
|
496783
|
+
version3 = "0.9.6";
|
|
496705
496784
|
} catch {
|
|
496706
496785
|
version3 = "unknown";
|
|
496707
496786
|
}
|
|
@@ -500897,7 +500976,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
500897
500976
|
init_slowOperations();
|
|
500898
500977
|
init_uuid();
|
|
500899
500978
|
try {
|
|
500900
|
-
VERSION7 = "0.9.
|
|
500979
|
+
VERSION7 = "0.9.6";
|
|
500901
500980
|
} catch {
|
|
500902
500981
|
VERSION7 = "unknown";
|
|
500903
500982
|
}
|
|
@@ -502218,7 +502297,7 @@ var init_filesystem = __esm(() => {
|
|
|
502218
502297
|
});
|
|
502219
502298
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
502220
502299
|
const nonce = randomBytes17(16).toString("hex");
|
|
502221
|
-
return join137(getZeroTempDir(), "bundled-skills", "0.9.
|
|
502300
|
+
return join137(getZeroTempDir(), "bundled-skills", "0.9.6", nonce);
|
|
502222
502301
|
});
|
|
502223
502302
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
502224
502303
|
});
|
|
@@ -502957,9 +503036,9 @@ var init_hookHelpers = __esm(() => {
|
|
|
502957
503036
|
});
|
|
502958
503037
|
|
|
502959
503038
|
// src/utils/hooks/execPromptHook.ts
|
|
502960
|
-
import { randomUUID as
|
|
503039
|
+
import { randomUUID as randomUUID30 } from "crypto";
|
|
502961
503040
|
async function execPromptHook(hook, hookName, hookEvent, jsonInput, signal, toolUseContext, messages, toolUseID) {
|
|
502962
|
-
const effectiveToolUseID = toolUseID || `hook-${
|
|
503041
|
+
const effectiveToolUseID = toolUseID || `hook-${randomUUID30()}`;
|
|
502963
503042
|
try {
|
|
502964
503043
|
const processedPrompt = addArgumentsToPrompt(hook.prompt, jsonInput);
|
|
502965
503044
|
logForDebugging(`Hooks: Processing prompt hook with prompt: ${processedPrompt}`);
|
|
@@ -503113,9 +503192,9 @@ var init_execPromptHook = __esm(() => {
|
|
|
503113
503192
|
});
|
|
503114
503193
|
|
|
503115
503194
|
// src/utils/hooks/execAgentHook.ts
|
|
503116
|
-
import { randomUUID as
|
|
503195
|
+
import { randomUUID as randomUUID31 } from "crypto";
|
|
503117
503196
|
async function execAgentHook(hook, hookName, hookEvent, jsonInput, signal, toolUseContext, toolUseID, _messages, agentName) {
|
|
503118
|
-
const effectiveToolUseID = toolUseID || `hook-${
|
|
503197
|
+
const effectiveToolUseID = toolUseID || `hook-${randomUUID31()}`;
|
|
503119
503198
|
const transcriptPath = toolUseContext.agentId ? getAgentTranscriptPath(toolUseContext.agentId) : getTranscriptPath();
|
|
503120
503199
|
const hookStartTime = Date.now();
|
|
503121
503200
|
try {
|
|
@@ -503150,7 +503229,7 @@ When done, return your result using the ${SYNTHETIC_OUTPUT_TOOL_NAME} tool with:
|
|
|
503150
503229
|
]);
|
|
503151
503230
|
const model = hook.model ?? getSmallFastModel();
|
|
503152
503231
|
const MAX_AGENT_TURNS = 50;
|
|
503153
|
-
const hookAgentId = asAgentId(`hook-agent-${
|
|
503232
|
+
const hookAgentId = asAgentId(`hook-agent-${randomUUID31()}`);
|
|
503154
503233
|
const agentToolUseContext = {
|
|
503155
503234
|
...toolUseContext,
|
|
503156
503235
|
agentId: hookAgentId,
|
|
@@ -504695,7 +504774,7 @@ __export(exports_hooks2, {
|
|
|
504695
504774
|
});
|
|
504696
504775
|
import { basename as basename47 } from "path";
|
|
504697
504776
|
import { spawn as spawn9 } from "child_process";
|
|
504698
|
-
import { randomUUID as
|
|
504777
|
+
import { randomUUID as randomUUID32 } from "crypto";
|
|
504699
504778
|
function isLocalSyncHook(json2) {
|
|
504700
504779
|
return !(("async" in json2) && json2.async === true);
|
|
504701
504780
|
}
|
|
@@ -505815,7 +505894,7 @@ async function* executeHooks({
|
|
|
505815
505894
|
parentToolUseID: toolUseID,
|
|
505816
505895
|
toolUseID,
|
|
505817
505896
|
timestamp: new Date().toISOString(),
|
|
505818
|
-
uuid:
|
|
505897
|
+
uuid: randomUUID32()
|
|
505819
505898
|
}
|
|
505820
505899
|
};
|
|
505821
505900
|
}
|
|
@@ -505877,7 +505956,7 @@ async function* executeHooks({
|
|
|
505877
505956
|
const { signal: abortSignal, cleanup } = createCombinedAbortSignal(signal, {
|
|
505878
505957
|
timeoutMs: commandTimeoutMs
|
|
505879
505958
|
});
|
|
505880
|
-
const hookId =
|
|
505959
|
+
const hookId = randomUUID32();
|
|
505881
505960
|
const hookStartMs = Date.now();
|
|
505882
505961
|
const hookCommand = getHookDisplayText(hook);
|
|
505883
505962
|
try {
|
|
@@ -506525,7 +506604,7 @@ async function executeHooksOutsideREPL({
|
|
|
506525
506604
|
const callbackTimeoutMs = hook.timeout ? hook.timeout * 1000 : timeoutMs;
|
|
506526
506605
|
const { signal: abortSignal2, cleanup: cleanup2 } = createCombinedAbortSignal(signal, { timeoutMs: callbackTimeoutMs });
|
|
506527
506606
|
try {
|
|
506528
|
-
const toolUseID =
|
|
506607
|
+
const toolUseID = randomUUID32();
|
|
506529
506608
|
const json2 = await hook.callback(hookInput, toolUseID, abortSignal2, hookIndex);
|
|
506530
506609
|
cleanup2?.();
|
|
506531
506610
|
if (isLocalAsyncHook(json2)) {
|
|
@@ -506636,7 +506715,7 @@ async function executeHooksOutsideREPL({
|
|
|
506636
506715
|
const commandTimeoutMs = hook.timeout ? hook.timeout * 1000 : timeoutMs;
|
|
506637
506716
|
const { signal: abortSignal, cleanup } = createCombinedAbortSignal(signal, { timeoutMs: commandTimeoutMs });
|
|
506638
506717
|
try {
|
|
506639
|
-
const result = await execCommandHook(hook, hookEvent, hookName, jsonInput, abortSignal,
|
|
506718
|
+
const result = await execCommandHook(hook, hookEvent, hookName, jsonInput, abortSignal, randomUUID32(), hookIndex, pluginRoot, pluginId);
|
|
506640
506719
|
cleanup?.();
|
|
506641
506720
|
if (result.aborted) {
|
|
506642
506721
|
logForDebugging(`${hookName} [${hook.command}] cancelled`);
|
|
@@ -506854,7 +506933,7 @@ async function* executeStopHooks(permissionMode, signal, timeoutMs = TOOL_HOOK_E
|
|
|
506854
506933
|
};
|
|
506855
506934
|
yield* executeHooks({
|
|
506856
506935
|
hookInput,
|
|
506857
|
-
toolUseID:
|
|
506936
|
+
toolUseID: randomUUID32(),
|
|
506858
506937
|
signal,
|
|
506859
506938
|
timeoutMs,
|
|
506860
506939
|
toolUseContext,
|
|
@@ -506871,7 +506950,7 @@ async function* executeTeammateIdleHooks(teammateName, teamName, permissionMode,
|
|
|
506871
506950
|
};
|
|
506872
506951
|
yield* executeHooks({
|
|
506873
506952
|
hookInput,
|
|
506874
|
-
toolUseID:
|
|
506953
|
+
toolUseID: randomUUID32(),
|
|
506875
506954
|
signal,
|
|
506876
506955
|
timeoutMs
|
|
506877
506956
|
});
|
|
@@ -506888,7 +506967,7 @@ async function* executeTaskCreatedHooks(taskId, taskSubject, taskDescription, te
|
|
|
506888
506967
|
};
|
|
506889
506968
|
yield* executeHooks({
|
|
506890
506969
|
hookInput,
|
|
506891
|
-
toolUseID:
|
|
506970
|
+
toolUseID: randomUUID32(),
|
|
506892
506971
|
signal,
|
|
506893
506972
|
timeoutMs,
|
|
506894
506973
|
toolUseContext
|
|
@@ -506908,7 +506987,7 @@ async function* executeTaskCompletedHooks(taskId, taskSubject, taskDescription,
|
|
|
506908
506987
|
let preventedContinuation = false;
|
|
506909
506988
|
for await (const result of executeHooks({
|
|
506910
506989
|
hookInput,
|
|
506911
|
-
toolUseID:
|
|
506990
|
+
toolUseID: randomUUID32(),
|
|
506912
506991
|
signal,
|
|
506913
506992
|
timeoutMs,
|
|
506914
506993
|
toolUseContext
|
|
@@ -506946,7 +507025,7 @@ async function* executeUserPromptSubmitHooks(prompt, permissionMode, toolUseCont
|
|
|
506946
507025
|
};
|
|
506947
507026
|
yield* executeHooks({
|
|
506948
507027
|
hookInput,
|
|
506949
|
-
toolUseID:
|
|
507028
|
+
toolUseID: randomUUID32(),
|
|
506950
507029
|
signal: toolUseContext.abortController.signal,
|
|
506951
507030
|
timeoutMs: TOOL_HOOK_EXECUTION_TIMEOUT_MS,
|
|
506952
507031
|
toolUseContext,
|
|
@@ -506963,7 +507042,7 @@ async function* executeSessionStartHooks(source, sessionId, agentType, model, si
|
|
|
506963
507042
|
};
|
|
506964
507043
|
yield* executeHooks({
|
|
506965
507044
|
hookInput,
|
|
506966
|
-
toolUseID:
|
|
507045
|
+
toolUseID: randomUUID32(),
|
|
506967
507046
|
matchQuery: source,
|
|
506968
507047
|
signal,
|
|
506969
507048
|
timeoutMs,
|
|
@@ -506978,7 +507057,7 @@ async function* executeSetupHooks(trigger, signal, timeoutMs = TOOL_HOOK_EXECUTI
|
|
|
506978
507057
|
};
|
|
506979
507058
|
yield* executeHooks({
|
|
506980
507059
|
hookInput,
|
|
506981
|
-
toolUseID:
|
|
507060
|
+
toolUseID: randomUUID32(),
|
|
506982
507061
|
matchQuery: trigger,
|
|
506983
507062
|
signal,
|
|
506984
507063
|
timeoutMs,
|
|
@@ -506994,7 +507073,7 @@ async function* executeSubagentStartHooks(agentId, agentType, signal, timeoutMs
|
|
|
506994
507073
|
};
|
|
506995
507074
|
yield* executeHooks({
|
|
506996
507075
|
hookInput,
|
|
506997
|
-
toolUseID:
|
|
507076
|
+
toolUseID: randomUUID32(),
|
|
506998
507077
|
matchQuery: agentType,
|
|
506999
507078
|
signal,
|
|
507000
507079
|
timeoutMs
|
|
@@ -507357,7 +507436,7 @@ async function executeStatusLineCommand(statusLineInput, signal, timeoutMs = 500
|
|
|
507357
507436
|
const abortSignal = signal || AbortSignal.timeout(timeoutMs);
|
|
507358
507437
|
try {
|
|
507359
507438
|
const jsonInput = jsonStringify(statusLineInput);
|
|
507360
|
-
const result = await execCommandHook(statusLine, "StatusLine", "statusLine", jsonInput, abortSignal,
|
|
507439
|
+
const result = await execCommandHook(statusLine, "StatusLine", "statusLine", jsonInput, abortSignal, randomUUID32());
|
|
507361
507440
|
if (result.aborted) {
|
|
507362
507441
|
return;
|
|
507363
507442
|
}
|
|
@@ -507401,7 +507480,7 @@ async function executeFileSuggestionCommand(fileSuggestionInput, signal, timeout
|
|
|
507401
507480
|
try {
|
|
507402
507481
|
const jsonInput = jsonStringify(fileSuggestionInput);
|
|
507403
507482
|
const hook = { type: "command", command: fileSuggestion.command };
|
|
507404
|
-
const result = await execCommandHook(hook, "FileSuggestion", "FileSuggestion", jsonInput, abortSignal,
|
|
507483
|
+
const result = await execCommandHook(hook, "FileSuggestion", "FileSuggestion", jsonInput, abortSignal, randomUUID32());
|
|
507405
507484
|
if (result.aborted || result.status !== 0) {
|
|
507406
507485
|
return [];
|
|
507407
507486
|
}
|
|
@@ -513216,7 +513295,7 @@ var init_inboundMessages = __esm(() => {
|
|
|
513216
513295
|
});
|
|
513217
513296
|
|
|
513218
513297
|
// src/utils/messages/systemInit.ts
|
|
513219
|
-
import { randomUUID as
|
|
513298
|
+
import { randomUUID as randomUUID33 } from "crypto";
|
|
513220
513299
|
function sdkCompatToolName(name) {
|
|
513221
513300
|
return name === AGENT_TOOL_NAME ? LEGACY_AGENT_TOOL_NAME : name;
|
|
513222
513301
|
}
|
|
@@ -513238,7 +513317,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
513238
513317
|
slash_commands: inputs.commands.filter((c6) => c6.userInvocable !== false).map((c6) => c6.name),
|
|
513239
513318
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
513240
513319
|
betas: getSdkBetas(),
|
|
513241
|
-
claude_code_version: "0.9.
|
|
513320
|
+
claude_code_version: "0.9.6",
|
|
513242
513321
|
output_style: outputStyle2,
|
|
513243
513322
|
agents: inputs.agents.map((agent2) => agent2.agentType),
|
|
513244
513323
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -513247,7 +513326,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
513247
513326
|
path: plugin2.path,
|
|
513248
513327
|
source: plugin2.source
|
|
513249
513328
|
})),
|
|
513250
|
-
uuid:
|
|
513329
|
+
uuid: randomUUID33()
|
|
513251
513330
|
};
|
|
513252
513331
|
if (false) {}
|
|
513253
513332
|
initMessage.fast_mode_state = getFastModeState(inputs.model, inputs.fastMode);
|
|
@@ -513331,7 +513410,7 @@ __export(exports_MessageSelector, {
|
|
|
513331
513410
|
messagesAfterAreOnlySynthetic: () => messagesAfterAreOnlySynthetic,
|
|
513332
513411
|
MessageSelector: () => MessageSelector
|
|
513333
513412
|
});
|
|
513334
|
-
import { randomUUID as
|
|
513413
|
+
import { randomUUID as randomUUID34 } from "crypto";
|
|
513335
513414
|
import * as path21 from "path";
|
|
513336
513415
|
function isTextBlock2(block2) {
|
|
513337
513416
|
return block2.type === "text";
|
|
@@ -513351,7 +513430,7 @@ function MessageSelector({
|
|
|
513351
513430
|
const fileHistory = useAppState((s) => s.fileHistory);
|
|
513352
513431
|
const [error42, setError] = import_react198.useState(undefined);
|
|
513353
513432
|
const isFileHistoryEnabled = fileHistoryEnabled();
|
|
513354
|
-
const currentUUID = import_react198.useMemo(
|
|
513433
|
+
const currentUUID = import_react198.useMemo(randomUUID34, []);
|
|
513355
513434
|
const messageOptions = import_react198.useMemo(() => [...messages.filter(selectableUserMessagesFilter), {
|
|
513356
513435
|
...createUserMessage({
|
|
513357
513436
|
content: ""
|
|
@@ -519194,7 +519273,7 @@ var init_FileEditToolDiff = __esm(() => {
|
|
|
519194
519273
|
});
|
|
519195
519274
|
|
|
519196
519275
|
// src/hooks/useDiffInIDE.ts
|
|
519197
|
-
import { randomUUID as
|
|
519276
|
+
import { randomUUID as randomUUID35 } from "crypto";
|
|
519198
519277
|
import { basename as basename50 } from "path";
|
|
519199
519278
|
function useDiffInIDE({
|
|
519200
519279
|
onChange,
|
|
@@ -519205,7 +519284,7 @@ function useDiffInIDE({
|
|
|
519205
519284
|
}) {
|
|
519206
519285
|
const isUnmounted = import_react209.useRef(false);
|
|
519207
519286
|
const [hasError, setHasError] = import_react209.useState(false);
|
|
519208
|
-
const sha = import_react209.useMemo(() =>
|
|
519287
|
+
const sha = import_react209.useMemo(() => randomUUID35().slice(0, 6), []);
|
|
519209
519288
|
const tabName = import_react209.useMemo(() => `⟁ [ZeroCLI] ${basename50(filePath)} (${sha}) ⧉`, [filePath, sha]);
|
|
519210
519289
|
const shouldShowDiffInIDE = hasAccessToIDEExtensionDiffFeature(toolUseContext.options.mcpClients) && getGlobalConfig().diffTool === "auto" && !filePath.endsWith(".ipynb");
|
|
519211
519290
|
const ideName = getConnectedIdeName(toolUseContext.options.mcpClients) ?? "IDE";
|
|
@@ -528553,7 +528632,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
528553
528632
|
function getSemverPart(version3) {
|
|
528554
528633
|
return `${import_semver12.major(version3, { loose: true })}.${import_semver12.minor(version3, { loose: true })}.${import_semver12.patch(version3, { loose: true })}`;
|
|
528555
528634
|
}
|
|
528556
|
-
function useUpdateNotification(updatedVersion, initialVersion = "0.9.
|
|
528635
|
+
function useUpdateNotification(updatedVersion, initialVersion = "0.9.6") {
|
|
528557
528636
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react226.useState(() => getSemverPart(initialVersion));
|
|
528558
528637
|
if (!updatedVersion) {
|
|
528559
528638
|
return null;
|
|
@@ -528596,7 +528675,7 @@ function AutoUpdater({
|
|
|
528596
528675
|
return;
|
|
528597
528676
|
}
|
|
528598
528677
|
if (false) {}
|
|
528599
|
-
const currentVersion = "0.9.
|
|
528678
|
+
const currentVersion = "0.9.6";
|
|
528600
528679
|
const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
528601
528680
|
let latestVersion = await getLatestVersion(channel2);
|
|
528602
528681
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -528817,12 +528896,12 @@ function NativeAutoUpdater({
|
|
|
528817
528896
|
logEvent("tengu_native_auto_updater_start", {});
|
|
528818
528897
|
try {
|
|
528819
528898
|
const maxVersion = await getMaxVersion();
|
|
528820
|
-
if (maxVersion && gt("0.9.
|
|
528899
|
+
if (maxVersion && gt("0.9.6", maxVersion)) {
|
|
528821
528900
|
const msg = await getMaxVersionMessage();
|
|
528822
528901
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
528823
528902
|
}
|
|
528824
528903
|
const result = await installLatest(channel2);
|
|
528825
|
-
const currentVersion = "0.9.
|
|
528904
|
+
const currentVersion = "0.9.6";
|
|
528826
528905
|
const latencyMs = Date.now() - startTime2;
|
|
528827
528906
|
if (result.lockFailed) {
|
|
528828
528907
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -528964,17 +529043,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
528964
529043
|
const maxVersion = await getMaxVersion();
|
|
528965
529044
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
528966
529045
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
528967
|
-
if (gte("0.9.
|
|
528968
|
-
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`);
|
|
528969
529048
|
setUpdateAvailable(false);
|
|
528970
529049
|
return;
|
|
528971
529050
|
}
|
|
528972
529051
|
latest = maxVersion;
|
|
528973
529052
|
}
|
|
528974
|
-
const hasUpdate = latest && !gte("0.9.
|
|
529053
|
+
const hasUpdate = latest && !gte("0.9.6", latest) && !shouldSkipVersion(latest);
|
|
528975
529054
|
setUpdateAvailable(!!hasUpdate);
|
|
528976
529055
|
if (hasUpdate) {
|
|
528977
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.9.
|
|
529056
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.9.6"} -> ${latest}`);
|
|
528978
529057
|
}
|
|
528979
529058
|
};
|
|
528980
529059
|
$2[0] = t1;
|
|
@@ -529008,7 +529087,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
529008
529087
|
wrap: "truncate",
|
|
529009
529088
|
children: [
|
|
529010
529089
|
"currentVersion: ",
|
|
529011
|
-
"0.9.
|
|
529090
|
+
"0.9.6"
|
|
529012
529091
|
]
|
|
529013
529092
|
});
|
|
529014
529093
|
$2[3] = verbose;
|
|
@@ -536007,7 +536086,7 @@ var init_teamDiscovery = __esm(() => {
|
|
|
536007
536086
|
});
|
|
536008
536087
|
|
|
536009
536088
|
// src/components/teams/TeamsDialog.tsx
|
|
536010
|
-
import { randomUUID as
|
|
536089
|
+
import { randomUUID as randomUUID36 } from "crypto";
|
|
536011
536090
|
function TeamsDialog({
|
|
536012
536091
|
initialTeams,
|
|
536013
536092
|
onDone
|
|
@@ -536635,7 +536714,7 @@ async function killTeammate(paneId, backendType, teamName, teammateId, teammateN
|
|
|
536635
536714
|
},
|
|
536636
536715
|
inbox: {
|
|
536637
536716
|
messages: [...prev.inbox.messages, {
|
|
536638
|
-
id:
|
|
536717
|
+
id: randomUUID36(),
|
|
536639
536718
|
from: "system",
|
|
536640
536719
|
text: jsonStringify({
|
|
536641
536720
|
type: "teammate_terminated",
|
|
@@ -538037,7 +538116,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
538037
538116
|
project_dir: getOriginalCwd(),
|
|
538038
538117
|
added_dirs: addedDirs
|
|
538039
538118
|
},
|
|
538040
|
-
version: "0.9.
|
|
538119
|
+
version: "0.9.6",
|
|
538041
538120
|
output_style: {
|
|
538042
538121
|
name: outputStyleName
|
|
538043
538122
|
},
|
|
@@ -542438,7 +542517,7 @@ function normalizeControlMessageKeys(obj) {
|
|
|
542438
542517
|
}
|
|
542439
542518
|
|
|
542440
542519
|
// src/bridge/bridgeMessaging.ts
|
|
542441
|
-
import { randomUUID as
|
|
542520
|
+
import { randomUUID as randomUUID37 } from "crypto";
|
|
542442
542521
|
function isSDKMessage(value) {
|
|
542443
542522
|
return value !== null && typeof value === "object" && "type" in value && typeof value.type === "string";
|
|
542444
542523
|
}
|
|
@@ -542646,7 +542725,7 @@ function makeResultMessage(sessionId) {
|
|
|
542646
542725
|
modelUsage: {},
|
|
542647
542726
|
permission_denials: [],
|
|
542648
542727
|
session_id: sessionId,
|
|
542649
|
-
uuid:
|
|
542728
|
+
uuid: randomUUID37()
|
|
542650
542729
|
};
|
|
542651
542730
|
}
|
|
542652
542731
|
|
|
@@ -542689,7 +542768,7 @@ var init_bridgeMessaging = __esm(() => {
|
|
|
542689
542768
|
});
|
|
542690
542769
|
|
|
542691
542770
|
// src/remote/SessionsWebSocket.ts
|
|
542692
|
-
import { randomUUID as
|
|
542771
|
+
import { randomUUID as randomUUID38 } from "crypto";
|
|
542693
542772
|
function isSessionsMessage(value) {
|
|
542694
542773
|
if (typeof value !== "object" || value === null || !("type" in value)) {
|
|
542695
542774
|
return false;
|
|
@@ -542873,7 +542952,7 @@ class SessionsWebSocket {
|
|
|
542873
542952
|
}
|
|
542874
542953
|
const controlRequest = {
|
|
542875
542954
|
type: "control_request",
|
|
542876
|
-
request_id:
|
|
542955
|
+
request_id: randomUUID38(),
|
|
542877
542956
|
request
|
|
542878
542957
|
};
|
|
542879
542958
|
logForDebugging(`[SessionsWebSocket] Sending control request: ${request.subtype}`);
|
|
@@ -543067,11 +543146,11 @@ var init_RemoteSessionManager = __esm(() => {
|
|
|
543067
543146
|
});
|
|
543068
543147
|
|
|
543069
543148
|
// src/remote/remotePermissionBridge.ts
|
|
543070
|
-
import { randomUUID as
|
|
543149
|
+
import { randomUUID as randomUUID39 } from "crypto";
|
|
543071
543150
|
function createSyntheticAssistantMessage(request, requestId) {
|
|
543072
543151
|
return {
|
|
543073
543152
|
type: "assistant",
|
|
543074
|
-
uuid:
|
|
543153
|
+
uuid: randomUUID39(),
|
|
543075
543154
|
message: {
|
|
543076
543155
|
id: `remote-${requestId}`,
|
|
543077
543156
|
type: "message",
|
|
@@ -543597,6 +543676,7 @@ var init_useRemoteSession = __esm(() => {
|
|
|
543597
543676
|
});
|
|
543598
543677
|
|
|
543599
543678
|
// src/server/directConnectManager.ts
|
|
543679
|
+
import { randomUUID as randomUUID40 } from "crypto";
|
|
543600
543680
|
function isStdoutMessage(value) {
|
|
543601
543681
|
return typeof value === "object" && value !== null && "type" in value && typeof value.type === "string";
|
|
543602
543682
|
}
|
|
@@ -543696,7 +543776,7 @@ class DirectConnectSessionManager {
|
|
|
543696
543776
|
}
|
|
543697
543777
|
const request = jsonStringify({
|
|
543698
543778
|
type: "control_request",
|
|
543699
|
-
request_id:
|
|
543779
|
+
request_id: randomUUID40(),
|
|
543700
543780
|
request: {
|
|
543701
543781
|
subtype: "interrupt"
|
|
543702
543782
|
}
|
|
@@ -543884,7 +543964,7 @@ var init_useDirectConnect = __esm(() => {
|
|
|
543884
543964
|
});
|
|
543885
543965
|
|
|
543886
543966
|
// src/hooks/useSSHSession.ts
|
|
543887
|
-
import { randomUUID as
|
|
543967
|
+
import { randomUUID as randomUUID41 } from "crypto";
|
|
543888
543968
|
function useSSHSession({
|
|
543889
543969
|
session: session2,
|
|
543890
543970
|
setMessages,
|
|
@@ -543984,7 +544064,7 @@ function useSSHSession({
|
|
|
543984
544064
|
subtype: "informational",
|
|
543985
544065
|
content: `SSH connection dropped — reconnecting (attempt ${attempt}/${max2})...`,
|
|
543986
544066
|
timestamp: new Date().toISOString(),
|
|
543987
|
-
uuid:
|
|
544067
|
+
uuid: randomUUID41(),
|
|
543988
544068
|
level: "warning",
|
|
543989
544069
|
isMeta: false
|
|
543990
544070
|
};
|
|
@@ -546126,7 +546206,7 @@ var init_PermissionContext = __esm(() => {
|
|
|
546126
546206
|
});
|
|
546127
546207
|
|
|
546128
546208
|
// src/hooks/toolPermission/handlers/interactiveHandler.ts
|
|
546129
|
-
import { randomUUID as
|
|
546209
|
+
import { randomUUID as randomUUID42 } from "crypto";
|
|
546130
546210
|
function handleInteractivePermission(params, resolve44) {
|
|
546131
546211
|
const {
|
|
546132
546212
|
ctx,
|
|
@@ -546140,7 +546220,7 @@ function handleInteractivePermission(params, resolve44) {
|
|
|
546140
546220
|
let userInteracted = false;
|
|
546141
546221
|
let checkmarkTransitionTimer;
|
|
546142
546222
|
let checkmarkAbortHandler;
|
|
546143
|
-
const bridgeRequestId = bridgeCallbacks ?
|
|
546223
|
+
const bridgeRequestId = bridgeCallbacks ? randomUUID42() : undefined;
|
|
546144
546224
|
let channelUnsubscribe;
|
|
546145
546225
|
const permissionPromptStartTimeMs = Date.now();
|
|
546146
546226
|
const displayInput = result.updatedInput ?? ctx.input;
|
|
@@ -546562,9 +546642,9 @@ function matchesKeepGoingKeyword(input) {
|
|
|
546562
546642
|
}
|
|
546563
546643
|
|
|
546564
546644
|
// src/utils/processUserInput/processTextPrompt.ts
|
|
546565
|
-
import { randomUUID as
|
|
546645
|
+
import { randomUUID as randomUUID43 } from "crypto";
|
|
546566
546646
|
function processTextPrompt(input, imageContentBlocks, imagePasteIds, attachmentMessages, uuid3, permissionMode, isMeta) {
|
|
546567
|
-
const promptId =
|
|
546647
|
+
const promptId = randomUUID43();
|
|
546568
546648
|
setPromptId(promptId);
|
|
546569
546649
|
const userPromptText = typeof input === "string" ? input : input.find((block2) => block2.type === "text")?.text || "";
|
|
546570
546650
|
startInteractionSpan(userPromptText);
|
|
@@ -546697,7 +546777,7 @@ var exports_processBashCommand = {};
|
|
|
546697
546777
|
__export(exports_processBashCommand, {
|
|
546698
546778
|
processBashCommand: () => processBashCommand
|
|
546699
546779
|
});
|
|
546700
|
-
import { randomUUID as
|
|
546780
|
+
import { randomUUID as randomUUID44 } from "crypto";
|
|
546701
546781
|
async function processBashCommand(inputString, precedingInputBlocks, attachmentMessages, context6, setToolJSX) {
|
|
546702
546782
|
const usePowerShell = isPowerShellToolEnabled() && resolveDefaultShell() === "powershell";
|
|
546703
546783
|
logEvent("tengu_input_bash", {
|
|
@@ -546763,7 +546843,7 @@ async function processBashCommand(inputString, precedingInputBlocks, attachmentM
|
|
|
546763
546843
|
const mapped = await processToolResultBlock(shellTool, {
|
|
546764
546844
|
...data,
|
|
546765
546845
|
stderr: ""
|
|
546766
|
-
},
|
|
546846
|
+
}, randomUUID44());
|
|
546767
546847
|
const stdout = typeof mapped.content === "string" ? mapped.content : escapeXml(data.stdout);
|
|
546768
546848
|
return {
|
|
546769
546849
|
messages: [createSyntheticUserCaveatMessage(), userMessage, ...attachmentMessages, createUserMessage({
|
|
@@ -546811,7 +546891,7 @@ var init_processBashCommand = __esm(() => {
|
|
|
546811
546891
|
});
|
|
546812
546892
|
|
|
546813
546893
|
// src/utils/processUserInput/processUserInput.ts
|
|
546814
|
-
import { randomUUID as
|
|
546894
|
+
import { randomUUID as randomUUID45 } from "crypto";
|
|
546815
546895
|
async function processUserInput({
|
|
546816
546896
|
input,
|
|
546817
546897
|
preExpansionInput,
|
|
@@ -546873,7 +546953,7 @@ Original prompt: ${input}`, "warning")
|
|
|
546873
546953
|
type: "hook_additional_context",
|
|
546874
546954
|
content: hookResult.additionalContexts.map(applyTruncation),
|
|
546875
546955
|
hookName: "UserPromptSubmit",
|
|
546876
|
-
toolUseID: `hook-${
|
|
546956
|
+
toolUseID: `hook-${randomUUID45()}`,
|
|
546877
546957
|
hookEvent: "UserPromptSubmit"
|
|
546878
546958
|
}));
|
|
546879
546959
|
}
|
|
@@ -548392,7 +548472,7 @@ var init_sessionRestore = __esm(() => {
|
|
|
548392
548472
|
});
|
|
548393
548473
|
|
|
548394
548474
|
// src/hooks/useInboxPoller.ts
|
|
548395
|
-
import { randomUUID as
|
|
548475
|
+
import { randomUUID as randomUUID46 } from "crypto";
|
|
548396
548476
|
function getAgentNameToPoll(appState) {
|
|
548397
548477
|
if (isInProcessTeammate()) {
|
|
548398
548478
|
return;
|
|
@@ -548809,7 +548889,7 @@ function useInboxPoller({
|
|
|
548809
548889
|
messages: [
|
|
548810
548890
|
...prev.inbox.messages,
|
|
548811
548891
|
{
|
|
548812
|
-
id:
|
|
548892
|
+
id: randomUUID46(),
|
|
548813
548893
|
from: "system",
|
|
548814
548894
|
text: jsonStringify({
|
|
548815
548895
|
type: "teammate_terminated",
|
|
@@ -548849,7 +548929,7 @@ ${messageContent}
|
|
|
548849
548929
|
messages: [
|
|
548850
548930
|
...prev.inbox.messages,
|
|
548851
548931
|
...regularMessages.map((m) => ({
|
|
548852
|
-
id:
|
|
548932
|
+
id: randomUUID46(),
|
|
548853
548933
|
from: m.from,
|
|
548854
548934
|
text: m.text,
|
|
548855
548935
|
timestamp: m.timestamp,
|
|
@@ -549688,7 +549768,7 @@ async function submitTranscriptShare() {
|
|
|
549688
549768
|
}
|
|
549689
549769
|
|
|
549690
549770
|
// src/components/FeedbackSurvey/useSurveyState.tsx
|
|
549691
|
-
import { randomUUID as
|
|
549771
|
+
import { randomUUID as randomUUID47 } from "crypto";
|
|
549692
549772
|
function useSurveyState({
|
|
549693
549773
|
hideThanksAfterMs,
|
|
549694
549774
|
onOpen,
|
|
@@ -549699,7 +549779,7 @@ function useSurveyState({
|
|
|
549699
549779
|
}) {
|
|
549700
549780
|
const [state2, setState] = import_react291.useState("closed");
|
|
549701
549781
|
const [lastResponse, setLastResponse] = import_react291.useState(null);
|
|
549702
|
-
const appearanceId = import_react291.useRef(
|
|
549782
|
+
const appearanceId = import_react291.useRef(randomUUID47());
|
|
549703
549783
|
const lastResponseRef = import_react291.useRef(null);
|
|
549704
549784
|
const showThanksThenClose = import_react291.useCallback(() => {
|
|
549705
549785
|
setState("thanks");
|
|
@@ -549717,7 +549797,7 @@ function useSurveyState({
|
|
|
549717
549797
|
return;
|
|
549718
549798
|
}
|
|
549719
549799
|
setState("open");
|
|
549720
|
-
appearanceId.current =
|
|
549800
|
+
appearanceId.current = randomUUID47();
|
|
549721
549801
|
onOpen(appearanceId.current);
|
|
549722
549802
|
}, [state2, onOpen]);
|
|
549723
549803
|
const handleSelect = import_react291.useCallback((selected) => {
|
|
@@ -552624,7 +552704,7 @@ var init_ndjsonSafeStringify = __esm(() => {
|
|
|
552624
552704
|
});
|
|
552625
552705
|
|
|
552626
552706
|
// src/cli/structuredIO.ts
|
|
552627
|
-
import { randomUUID as
|
|
552707
|
+
import { randomUUID as randomUUID48 } from "crypto";
|
|
552628
552708
|
function serializeDecisionReason(reason) {
|
|
552629
552709
|
if (!reason) {
|
|
552630
552710
|
return;
|
|
@@ -552877,7 +552957,7 @@ class StructuredIO {
|
|
|
552877
552957
|
writeToStdout(ndjsonSafeStringify(message) + `
|
|
552878
552958
|
`);
|
|
552879
552959
|
}
|
|
552880
|
-
async sendRequest(request, schema, signal, requestId =
|
|
552960
|
+
async sendRequest(request, schema, signal, requestId = randomUUID48()) {
|
|
552881
552961
|
const message = {
|
|
552882
552962
|
type: "control_request",
|
|
552883
552963
|
request_id: requestId,
|
|
@@ -552943,7 +553023,7 @@ class StructuredIO {
|
|
|
552943
553023
|
parentSignal.addEventListener("abort", onParentAbort, { once: true });
|
|
552944
553024
|
try {
|
|
552945
553025
|
const hookPromise = executePermissionRequestHooksForSDK(tool.name, toolUseID, input, toolUseContext, mainPermissionResult.suggestions).then((decision) => ({ source: "hook", decision }));
|
|
552946
|
-
const requestId =
|
|
553026
|
+
const requestId = randomUUID48();
|
|
552947
553027
|
onPermissionPrompt?.(buildRequiresActionDetails(tool, input, toolUseID, requestId));
|
|
552948
553028
|
const sdkPromise = this.sendRequest({
|
|
552949
553029
|
subtype: "can_use_tool",
|
|
@@ -553023,7 +553103,7 @@ class StructuredIO {
|
|
|
553023
553103
|
subtype: "can_use_tool",
|
|
553024
553104
|
tool_name: SANDBOX_NETWORK_ACCESS_TOOL_NAME,
|
|
553025
553105
|
input: { host: hostPattern.host },
|
|
553026
|
-
tool_use_id:
|
|
553106
|
+
tool_use_id: randomUUID48(),
|
|
553027
553107
|
description: `Allow network connection to ${hostPattern.host}?`
|
|
553028
553108
|
}, outputSchema35());
|
|
553029
553109
|
return result.behavior === "allow";
|
|
@@ -557621,7 +557701,7 @@ __export(exports_REPL, {
|
|
|
557621
557701
|
import { dirname as dirname59, join as join149 } from "path";
|
|
557622
557702
|
import { tmpdir as tmpdir10 } from "os";
|
|
557623
557703
|
import { writeFile as writeFile51 } from "fs/promises";
|
|
557624
|
-
import { randomUUID as
|
|
557704
|
+
import { randomUUID as randomUUID49 } from "crypto";
|
|
557625
557705
|
function TranscriptModeFooter(t0) {
|
|
557626
557706
|
const $2 = import_react_compiler_runtime351.c(9);
|
|
557627
557707
|
const {
|
|
@@ -558386,7 +558466,7 @@ function REPL({
|
|
|
558386
558466
|
const [isMessageSelectorVisible, setIsMessageSelectorVisible] = import_react318.useState(false);
|
|
558387
558467
|
const [messageSelectorPreselect, setMessageSelectorPreselect] = import_react318.useState(undefined);
|
|
558388
558468
|
const [showCostDialog, setShowCostDialog] = import_react318.useState(false);
|
|
558389
|
-
const [conversationId, setConversationId] = import_react318.useState(
|
|
558469
|
+
const [conversationId, setConversationId] = import_react318.useState(randomUUID49());
|
|
558390
558470
|
const [idleReturnPending, setIdleReturnPending] = import_react318.useState(null);
|
|
558391
558471
|
const skipIdleCheckRef = import_react318.useRef(false);
|
|
558392
558472
|
const lastQueryCompletionTimeRef = import_react318.useRef(lastQueryCompletionTime);
|
|
@@ -559144,7 +559224,7 @@ Error: sandbox required but unavailable: ${reason}
|
|
|
559144
559224
|
} else {
|
|
559145
559225
|
setMessages(() => [newMessage]);
|
|
559146
559226
|
}
|
|
559147
|
-
setConversationId(
|
|
559227
|
+
setConversationId(randomUUID49());
|
|
559148
559228
|
if (false) {}
|
|
559149
559229
|
} else if (newMessage.type === "progress" && isEphemeralToolProgress(newMessage.data.type)) {
|
|
559150
559230
|
setMessages((oldMessages) => {
|
|
@@ -559220,7 +559300,7 @@ Error: sandbox required but unavailable: ${reason}
|
|
|
559220
559300
|
});
|
|
559221
559301
|
if (!shouldQuery) {
|
|
559222
559302
|
if (newMessages.some(isCompactBoundaryMessage)) {
|
|
559223
|
-
setConversationId(
|
|
559303
|
+
setConversationId(randomUUID49());
|
|
559224
559304
|
if (false) {}
|
|
559225
559305
|
}
|
|
559226
559306
|
resetLoadingState();
|
|
@@ -559853,7 +559933,7 @@ Error: sandbox required but unavailable: ${reason}
|
|
|
559853
559933
|
rewindToMessageIndex: messageIndex
|
|
559854
559934
|
});
|
|
559855
559935
|
setMessages(prev.slice(0, messageIndex));
|
|
559856
|
-
setConversationId(
|
|
559936
|
+
setConversationId(randomUUID49());
|
|
559857
559937
|
resetMicrocompactState();
|
|
559858
559938
|
if (false) {}
|
|
559859
559939
|
setAppState((prev2) => ({
|
|
@@ -561030,7 +561110,7 @@ Note: ctrl + z now suspends ZeroCLI, ctrl + _ undoes input.
|
|
|
561030
561110
|
setMessages(postCompact);
|
|
561031
561111
|
}
|
|
561032
561112
|
if (false) {}
|
|
561033
|
-
setConversationId(
|
|
561113
|
+
setConversationId(randomUUID49());
|
|
561034
561114
|
runPostCompactCleanup(context6.options.querySource);
|
|
561035
561115
|
if (direction === "from") {
|
|
561036
561116
|
const r = textForResubmit(message);
|
|
@@ -562539,7 +562619,7 @@ function WelcomeV2() {
|
|
|
562539
562619
|
dimColor: true,
|
|
562540
562620
|
children: [
|
|
562541
562621
|
"v",
|
|
562542
|
-
"0.9.
|
|
562622
|
+
"0.9.6",
|
|
562543
562623
|
" "
|
|
562544
562624
|
]
|
|
562545
562625
|
})
|
|
@@ -562773,7 +562853,7 @@ function WelcomeV2() {
|
|
|
562773
562853
|
dimColor: true,
|
|
562774
562854
|
children: [
|
|
562775
562855
|
"v",
|
|
562776
|
-
"0.9.
|
|
562856
|
+
"0.9.6",
|
|
562777
562857
|
" "
|
|
562778
562858
|
]
|
|
562779
562859
|
})
|
|
@@ -563020,7 +563100,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
563020
563100
|
dimColor: true,
|
|
563021
563101
|
children: [
|
|
563022
563102
|
"v",
|
|
563023
|
-
"0.9.
|
|
563103
|
+
"0.9.6",
|
|
563024
563104
|
" "
|
|
563025
563105
|
]
|
|
563026
563106
|
});
|
|
@@ -563293,7 +563373,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
563293
563373
|
dimColor: true,
|
|
563294
563374
|
children: [
|
|
563295
563375
|
"v",
|
|
563296
|
-
"0.9.
|
|
563376
|
+
"0.9.6",
|
|
563297
563377
|
" "
|
|
563298
563378
|
]
|
|
563299
563379
|
});
|
|
@@ -564805,7 +564885,7 @@ function completeOnboarding() {
|
|
|
564805
564885
|
saveGlobalConfig((current) => ({
|
|
564806
564886
|
...current,
|
|
564807
564887
|
hasCompletedOnboarding: true,
|
|
564808
|
-
lastOnboardingVersion: "0.9.
|
|
564888
|
+
lastOnboardingVersion: "0.9.6"
|
|
564809
564889
|
}));
|
|
564810
564890
|
}
|
|
564811
564891
|
function showDialog(root2, renderer) {
|
|
@@ -569056,7 +569136,7 @@ function appendToLog(path24, message) {
|
|
|
569056
569136
|
cwd: getFsImplementation().cwd(),
|
|
569057
569137
|
userType: process.env.USER_TYPE,
|
|
569058
569138
|
sessionId: getSessionId(),
|
|
569059
|
-
version: "0.9.
|
|
569139
|
+
version: "0.9.6"
|
|
569060
569140
|
};
|
|
569061
569141
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
569062
569142
|
}
|
|
@@ -569662,7 +569742,7 @@ async function startMCPServer(cwd2, debug, verbose) {
|
|
|
569662
569742
|
setCwd(cwd2);
|
|
569663
569743
|
const server = new Server({
|
|
569664
569744
|
name: "claude/tengu",
|
|
569665
|
-
version: "0.9.
|
|
569745
|
+
version: "0.9.6"
|
|
569666
569746
|
}, {
|
|
569667
569747
|
capabilities: {
|
|
569668
569748
|
tools: {}
|
|
@@ -571272,7 +571352,7 @@ function coalescePatches(base2, overlay) {
|
|
|
571272
571352
|
var init_WorkerStateUploader = () => {};
|
|
571273
571353
|
|
|
571274
571354
|
// src/cli/transports/ccrClient.ts
|
|
571275
|
-
import { randomUUID as
|
|
571355
|
+
import { randomUUID as randomUUID50 } from "crypto";
|
|
571276
571356
|
function alwaysValidStatus() {
|
|
571277
571357
|
return true;
|
|
571278
571358
|
}
|
|
@@ -571633,7 +571713,7 @@ class CCRClient {
|
|
|
571633
571713
|
return {
|
|
571634
571714
|
payload: {
|
|
571635
571715
|
...msg,
|
|
571636
|
-
uuid: typeof msg.uuid === "string" ? msg.uuid :
|
|
571716
|
+
uuid: typeof msg.uuid === "string" ? msg.uuid : randomUUID50()
|
|
571637
571717
|
}
|
|
571638
571718
|
};
|
|
571639
571719
|
}
|
|
@@ -571657,7 +571737,7 @@ class CCRClient {
|
|
|
571657
571737
|
payload: {
|
|
571658
571738
|
type: eventType,
|
|
571659
571739
|
...payload,
|
|
571660
|
-
uuid: typeof payload.uuid === "string" ? payload.uuid :
|
|
571740
|
+
uuid: typeof payload.uuid === "string" ? payload.uuid : randomUUID50()
|
|
571661
571741
|
},
|
|
571662
571742
|
...isCompaction && { is_compaction: true },
|
|
571663
571743
|
...agentId && { agent_id: agentId }
|
|
@@ -573166,7 +573246,7 @@ var init_queryContext = __esm(() => {
|
|
|
573166
573246
|
});
|
|
573167
573247
|
|
|
573168
573248
|
// src/QueryEngine.ts
|
|
573169
|
-
import { randomUUID as
|
|
573249
|
+
import { randomUUID as randomUUID51 } from "crypto";
|
|
573170
573250
|
|
|
573171
573251
|
class QueryEngine {
|
|
573172
573252
|
config;
|
|
@@ -573468,7 +573548,7 @@ class QueryEngine {
|
|
|
573468
573548
|
modelUsage: getModelUsage(),
|
|
573469
573549
|
permission_denials: this.permissionDenials,
|
|
573470
573550
|
fast_mode_state: getFastModeState(mainLoopModel, initialAppState.fastMode),
|
|
573471
|
-
uuid:
|
|
573551
|
+
uuid: randomUUID51()
|
|
573472
573552
|
};
|
|
573473
573553
|
return;
|
|
573474
573554
|
}
|
|
@@ -573591,7 +573671,7 @@ class QueryEngine {
|
|
|
573591
573671
|
event: message.event,
|
|
573592
573672
|
session_id: getSessionId(),
|
|
573593
573673
|
parent_tool_use_id: null,
|
|
573594
|
-
uuid:
|
|
573674
|
+
uuid: randomUUID51()
|
|
573595
573675
|
};
|
|
573596
573676
|
}
|
|
573597
573677
|
break;
|
|
@@ -573623,7 +573703,7 @@ class QueryEngine {
|
|
|
573623
573703
|
modelUsage: getModelUsage(),
|
|
573624
573704
|
permission_denials: this.permissionDenials,
|
|
573625
573705
|
fast_mode_state: getFastModeState(mainLoopModel, initialAppState.fastMode),
|
|
573626
|
-
uuid:
|
|
573706
|
+
uuid: randomUUID51(),
|
|
573627
573707
|
errors: [
|
|
573628
573708
|
`Reached maximum number of turns (${message.attachment.maxTurns})`
|
|
573629
573709
|
]
|
|
@@ -573718,7 +573798,7 @@ class QueryEngine {
|
|
|
573718
573798
|
modelUsage: getModelUsage(),
|
|
573719
573799
|
permission_denials: this.permissionDenials,
|
|
573720
573800
|
fast_mode_state: getFastModeState(mainLoopModel, initialAppState.fastMode),
|
|
573721
|
-
uuid:
|
|
573801
|
+
uuid: randomUUID51(),
|
|
573722
573802
|
errors: [`Reached maximum budget ($${maxBudgetUsd})`]
|
|
573723
573803
|
};
|
|
573724
573804
|
return;
|
|
@@ -573747,7 +573827,7 @@ class QueryEngine {
|
|
|
573747
573827
|
modelUsage: getModelUsage(),
|
|
573748
573828
|
permission_denials: this.permissionDenials,
|
|
573749
573829
|
fast_mode_state: getFastModeState(mainLoopModel, initialAppState.fastMode),
|
|
573750
|
-
uuid:
|
|
573830
|
+
uuid: randomUUID51(),
|
|
573751
573831
|
errors: [
|
|
573752
573832
|
`Failed to provide valid structured output after ${maxRetries} attempts`
|
|
573753
573833
|
]
|
|
@@ -573779,7 +573859,7 @@ class QueryEngine {
|
|
|
573779
573859
|
modelUsage: getModelUsage(),
|
|
573780
573860
|
permission_denials: this.permissionDenials,
|
|
573781
573861
|
fast_mode_state: getFastModeState(mainLoopModel, initialAppState.fastMode),
|
|
573782
|
-
uuid:
|
|
573862
|
+
uuid: randomUUID51(),
|
|
573783
573863
|
errors: (() => {
|
|
573784
573864
|
const all6 = getInMemoryErrors();
|
|
573785
573865
|
const start = errorLogWatermark ? all6.lastIndexOf(errorLogWatermark) + 1 : 0;
|
|
@@ -573816,7 +573896,7 @@ class QueryEngine {
|
|
|
573816
573896
|
permission_denials: this.permissionDenials,
|
|
573817
573897
|
structured_output: structuredOutputFromTool,
|
|
573818
573898
|
fast_mode_state: getFastModeState(mainLoopModel, initialAppState.fastMode),
|
|
573819
|
-
uuid:
|
|
573899
|
+
uuid: randomUUID51()
|
|
573820
573900
|
};
|
|
573821
573901
|
}
|
|
573822
573902
|
interrupt() {
|
|
@@ -573994,7 +574074,7 @@ var init_idleTimeout = __esm(() => {
|
|
|
573994
574074
|
});
|
|
573995
574075
|
|
|
573996
574076
|
// src/bridge/inboundAttachments.ts
|
|
573997
|
-
import { randomUUID as
|
|
574077
|
+
import { randomUUID as randomUUID52 } from "crypto";
|
|
573998
574078
|
import { mkdir as mkdir48, writeFile as writeFile53 } from "fs/promises";
|
|
573999
574079
|
import { basename as basename61, join as join153 } from "path";
|
|
574000
574080
|
function debug(msg) {
|
|
@@ -574039,7 +574119,7 @@ async function resolveOne(att) {
|
|
|
574039
574119
|
return;
|
|
574040
574120
|
}
|
|
574041
574121
|
const safeName = sanitizeFileName(att.file_name);
|
|
574042
|
-
const prefix = (att.file_uuid.slice(0, 8) ||
|
|
574122
|
+
const prefix = (att.file_uuid.slice(0, 8) || randomUUID52().slice(0, 8)).replace(/[^a-zA-Z0-9_-]/g, "_");
|
|
574043
574123
|
const dir = uploadsDir();
|
|
574044
574124
|
const outPath = join153(dir, `${prefix}-${safeName}`);
|
|
574045
574125
|
try {
|
|
@@ -574103,11 +574183,11 @@ var init_inboundAttachments = __esm(() => {
|
|
|
574103
574183
|
});
|
|
574104
574184
|
|
|
574105
574185
|
// src/utils/sessionUrl.ts
|
|
574106
|
-
import { randomUUID as
|
|
574186
|
+
import { randomUUID as randomUUID53 } from "crypto";
|
|
574107
574187
|
function parseSessionIdentifier(resumeIdentifier) {
|
|
574108
574188
|
if (resumeIdentifier.toLowerCase().endsWith(".jsonl")) {
|
|
574109
574189
|
return {
|
|
574110
|
-
sessionId:
|
|
574190
|
+
sessionId: randomUUID53(),
|
|
574111
574191
|
ingressUrl: null,
|
|
574112
574192
|
isUrl: false,
|
|
574113
574193
|
jsonlFile: resumeIdentifier,
|
|
@@ -574126,7 +574206,7 @@ function parseSessionIdentifier(resumeIdentifier) {
|
|
|
574126
574206
|
try {
|
|
574127
574207
|
const url4 = new URL(resumeIdentifier);
|
|
574128
574208
|
return {
|
|
574129
|
-
sessionId:
|
|
574209
|
+
sessionId: randomUUID53(),
|
|
574130
574210
|
ingressUrl: url4.href,
|
|
574131
574211
|
isUrl: true,
|
|
574132
574212
|
jsonlFile: null,
|
|
@@ -574301,8 +574381,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
574301
574381
|
}
|
|
574302
574382
|
async function checkEnvLessBridgeMinVersion() {
|
|
574303
574383
|
const cfg = await getEnvLessBridgeConfig();
|
|
574304
|
-
if (cfg.min_version && lt("0.9.
|
|
574305
|
-
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.
|
|
574306
574386
|
Version ${cfg.min_version} or higher is required. Run \`zero update\` to update.`;
|
|
574307
574387
|
}
|
|
574308
574388
|
return null;
|
|
@@ -574735,7 +574815,7 @@ var init_bridgePointer = __esm(() => {
|
|
|
574735
574815
|
});
|
|
574736
574816
|
|
|
574737
574817
|
// src/bridge/replBridge.ts
|
|
574738
|
-
import { randomUUID as
|
|
574818
|
+
import { randomUUID as randomUUID54 } from "crypto";
|
|
574739
574819
|
async function initBridgeCore(params) {
|
|
574740
574820
|
const {
|
|
574741
574821
|
dir,
|
|
@@ -574777,7 +574857,7 @@ async function initBridgeCore(params) {
|
|
|
574777
574857
|
const rawApi = createBridgeApiClient({
|
|
574778
574858
|
baseUrl,
|
|
574779
574859
|
getAccessToken,
|
|
574780
|
-
runnerVersion: "0.9.
|
|
574860
|
+
runnerVersion: "0.9.6",
|
|
574781
574861
|
onDebug: logForDebugging,
|
|
574782
574862
|
onAuth401,
|
|
574783
574863
|
getTrustedDeviceToken
|
|
@@ -574792,9 +574872,9 @@ async function initBridgeCore(params) {
|
|
|
574792
574872
|
spawnMode: "single-session",
|
|
574793
574873
|
verbose: false,
|
|
574794
574874
|
sandbox: false,
|
|
574795
|
-
bridgeId:
|
|
574875
|
+
bridgeId: randomUUID54(),
|
|
574796
574876
|
workerType,
|
|
574797
|
-
environmentId:
|
|
574877
|
+
environmentId: randomUUID54(),
|
|
574798
574878
|
reuseEnvironmentId: prior?.environmentId,
|
|
574799
574879
|
apiBaseUrl: baseUrl,
|
|
574800
574880
|
sessionIngressUrl
|
|
@@ -576642,7 +576722,7 @@ __export(exports_print, {
|
|
|
576642
576722
|
import { readFile as readFile55, stat as stat55 } from "fs/promises";
|
|
576643
576723
|
import { dirname as dirname63 } from "path";
|
|
576644
576724
|
import { cwd as cwd3 } from "process";
|
|
576645
|
-
import { randomUUID as
|
|
576725
|
+
import { randomUUID as randomUUID55 } from "crypto";
|
|
576646
576726
|
function trackReceivedMessageUuid(uuid3) {
|
|
576647
576727
|
if (receivedMessageUuids.has(uuid3)) {
|
|
576648
576728
|
return false;
|
|
@@ -576762,7 +576842,7 @@ Error: sandbox required but unavailable: ${sandboxUnavailableReason}
|
|
|
576762
576842
|
hook_id: event.hookId,
|
|
576763
576843
|
hook_name: event.hookName,
|
|
576764
576844
|
hook_event: event.hookEvent,
|
|
576765
|
-
uuid:
|
|
576845
|
+
uuid: randomUUID55(),
|
|
576766
576846
|
session_id: getSessionId()
|
|
576767
576847
|
};
|
|
576768
576848
|
case "progress":
|
|
@@ -576775,7 +576855,7 @@ Error: sandbox required but unavailable: ${sandboxUnavailableReason}
|
|
|
576775
576855
|
stdout: event.stdout,
|
|
576776
576856
|
stderr: event.stderr,
|
|
576777
576857
|
output: event.output,
|
|
576778
|
-
uuid:
|
|
576858
|
+
uuid: randomUUID55(),
|
|
576779
576859
|
session_id: getSessionId()
|
|
576780
576860
|
};
|
|
576781
576861
|
case "response":
|
|
@@ -576790,7 +576870,7 @@ Error: sandbox required but unavailable: ${sandboxUnavailableReason}
|
|
|
576790
576870
|
stderr: event.stderr,
|
|
576791
576871
|
exit_code: event.exitCode,
|
|
576792
576872
|
outcome: event.outcome,
|
|
576793
|
-
uuid:
|
|
576873
|
+
uuid: randomUUID55(),
|
|
576794
576874
|
session_id: getSessionId()
|
|
576795
576875
|
};
|
|
576796
576876
|
}
|
|
@@ -576990,7 +577070,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
|
|
|
576990
577070
|
subtype: "status",
|
|
576991
577071
|
status: null,
|
|
576992
577072
|
permissionMode: newMode,
|
|
576993
|
-
uuid:
|
|
577073
|
+
uuid: randomUUID55(),
|
|
576994
577074
|
session_id: getSessionId()
|
|
576995
577075
|
});
|
|
576996
577076
|
}
|
|
@@ -577011,7 +577091,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
|
|
|
577011
577091
|
isAuthenticating: status2.isAuthenticating,
|
|
577012
577092
|
output: status2.output,
|
|
577013
577093
|
error: status2.error,
|
|
577014
|
-
uuid:
|
|
577094
|
+
uuid: randomUUID55(),
|
|
577015
577095
|
session_id: getSessionId()
|
|
577016
577096
|
});
|
|
577017
577097
|
});
|
|
@@ -577022,7 +577102,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
|
|
|
577022
577102
|
output.enqueue({
|
|
577023
577103
|
type: "rate_limit_event",
|
|
577024
577104
|
rate_limit_info: rateLimitInfo,
|
|
577025
|
-
uuid:
|
|
577105
|
+
uuid: randomUUID55(),
|
|
577026
577106
|
session_id: getSessionId()
|
|
577027
577107
|
});
|
|
577028
577108
|
}
|
|
@@ -577038,7 +577118,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
|
|
|
577038
577118
|
enqueue({
|
|
577039
577119
|
mode: "prompt",
|
|
577040
577120
|
value: turnInterruptionState.message.message.content,
|
|
577041
|
-
uuid:
|
|
577121
|
+
uuid: randomUUID55()
|
|
577042
577122
|
});
|
|
577043
577123
|
}
|
|
577044
577124
|
const modelOptions = getModelOptions();
|
|
@@ -577131,7 +577211,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
|
|
|
577131
577211
|
subtype: "elicitation_complete",
|
|
577132
577212
|
mcp_server_name: serverName,
|
|
577133
577213
|
elicitation_id: elicitationId,
|
|
577134
|
-
uuid:
|
|
577214
|
+
uuid: randomUUID55(),
|
|
577135
577215
|
session_id: getSessionId()
|
|
577136
577216
|
});
|
|
577137
577217
|
});
|
|
@@ -577477,7 +577557,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
|
|
|
577477
577557
|
duration_ms: durationMsMatch ? parseInt(durationMsMatch[1], 10) : 0
|
|
577478
577558
|
} : undefined,
|
|
577479
577559
|
session_id: getSessionId(),
|
|
577480
|
-
uuid:
|
|
577560
|
+
uuid: randomUUID55()
|
|
577481
577561
|
});
|
|
577482
577562
|
}
|
|
577483
577563
|
}
|
|
@@ -577551,7 +577631,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
|
|
|
577551
577631
|
subtype: "status",
|
|
577552
577632
|
status: status2,
|
|
577553
577633
|
session_id: getSessionId(),
|
|
577554
|
-
uuid:
|
|
577634
|
+
uuid: randomUUID55()
|
|
577555
577635
|
});
|
|
577556
577636
|
}
|
|
577557
577637
|
})) {
|
|
@@ -577599,7 +577679,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
|
|
|
577599
577679
|
const suggestionMsg = {
|
|
577600
577680
|
type: "prompt_suggestion",
|
|
577601
577681
|
suggestion: result.suggestion,
|
|
577602
|
-
uuid:
|
|
577682
|
+
uuid: randomUUID55(),
|
|
577603
577683
|
session_id: getSessionId()
|
|
577604
577684
|
};
|
|
577605
577685
|
const lastEmittedEntry = {
|
|
@@ -577689,7 +577769,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
|
|
|
577689
577769
|
usage: EMPTY_USAGE,
|
|
577690
577770
|
modelUsage: {},
|
|
577691
577771
|
permission_denials: [],
|
|
577692
|
-
uuid:
|
|
577772
|
+
uuid: randomUUID55(),
|
|
577693
577773
|
errors: [
|
|
577694
577774
|
errorMessage(error42),
|
|
577695
577775
|
...getInMemoryErrors().map((_) => _.error)
|
|
@@ -577773,7 +577853,7 @@ ${m.text}
|
|
|
577773
577853
|
enqueue({
|
|
577774
577854
|
mode: "prompt",
|
|
577775
577855
|
value: formatted,
|
|
577776
|
-
uuid:
|
|
577856
|
+
uuid: randomUUID55()
|
|
577777
577857
|
});
|
|
577778
577858
|
run();
|
|
577779
577859
|
return;
|
|
@@ -577784,7 +577864,7 @@ ${m.text}
|
|
|
577784
577864
|
enqueue({
|
|
577785
577865
|
mode: "prompt",
|
|
577786
577866
|
value: SHUTDOWN_TEAM_PROMPT,
|
|
577787
|
-
uuid:
|
|
577867
|
+
uuid: randomUUID55()
|
|
577788
577868
|
});
|
|
577789
577869
|
run();
|
|
577790
577870
|
return;
|
|
@@ -577808,7 +577888,7 @@ ${m.text}
|
|
|
577808
577888
|
enqueue({
|
|
577809
577889
|
mode: "prompt",
|
|
577810
577890
|
value: SHUTDOWN_TEAM_PROMPT,
|
|
577811
|
-
uuid:
|
|
577891
|
+
uuid: randomUUID55()
|
|
577812
577892
|
});
|
|
577813
577893
|
run();
|
|
577814
577894
|
} else {
|
|
@@ -577835,7 +577915,7 @@ ${m.text}
|
|
|
577835
577915
|
enqueue({
|
|
577836
577916
|
mode: "prompt",
|
|
577837
577917
|
value: prompt,
|
|
577838
|
-
uuid:
|
|
577918
|
+
uuid: randomUUID55(),
|
|
577839
577919
|
priority: "later",
|
|
577840
577920
|
isMeta: true,
|
|
577841
577921
|
workload: WORKLOAD_CRON
|
|
@@ -578580,7 +578660,7 @@ ${m.text}
|
|
|
578580
578660
|
subtype: "bridge_state",
|
|
578581
578661
|
state: state2,
|
|
578582
578662
|
detail,
|
|
578583
|
-
uuid:
|
|
578663
|
+
uuid: randomUUID55(),
|
|
578584
578664
|
session_id: getSessionId()
|
|
578585
578665
|
});
|
|
578586
578666
|
},
|
|
@@ -578892,7 +578972,7 @@ async function handleInitializeRequest(request, requestId, initialized5, output,
|
|
|
578892
578972
|
isAuthenticating: status2.isAuthenticating,
|
|
578893
578973
|
output: status2.output,
|
|
578894
578974
|
error: status2.error,
|
|
578895
|
-
uuid:
|
|
578975
|
+
uuid: randomUUID55(),
|
|
578896
578976
|
session_id: getSessionId()
|
|
578897
578977
|
});
|
|
578898
578978
|
}
|
|
@@ -579100,7 +579180,7 @@ function emitLoadError(message, outputFormat) {
|
|
|
579100
579180
|
usage: EMPTY_USAGE,
|
|
579101
579181
|
modelUsage: {},
|
|
579102
579182
|
permission_denials: [],
|
|
579103
|
-
uuid:
|
|
579183
|
+
uuid: randomUUID55(),
|
|
579104
579184
|
errors: [message]
|
|
579105
579185
|
};
|
|
579106
579186
|
process.stdout.write(jsonStringify(errorResult) + `
|
|
@@ -581065,7 +581145,7 @@ __export(exports_update2, {
|
|
|
581065
581145
|
});
|
|
581066
581146
|
async function update2() {
|
|
581067
581147
|
logEvent("tengu_update_check", {});
|
|
581068
|
-
writeToStdout(`Current version: ${"0.9.
|
|
581148
|
+
writeToStdout(`Current version: ${"0.9.6"}
|
|
581069
581149
|
`);
|
|
581070
581150
|
const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
581071
581151
|
writeToStdout(`Checking for updates to ${channel2} version...
|
|
@@ -581140,8 +581220,8 @@ async function update2() {
|
|
|
581140
581220
|
writeToStdout(`Zero is managed by Homebrew.
|
|
581141
581221
|
`);
|
|
581142
581222
|
const latest = await getLatestVersion(channel2);
|
|
581143
|
-
if (latest && !gte("0.9.
|
|
581144
|
-
writeToStdout(`Update available: ${"0.9.
|
|
581223
|
+
if (latest && !gte("0.9.6", latest)) {
|
|
581224
|
+
writeToStdout(`Update available: ${"0.9.6"} → ${latest}
|
|
581145
581225
|
`);
|
|
581146
581226
|
writeToStdout(`
|
|
581147
581227
|
`);
|
|
@@ -581157,8 +581237,8 @@ async function update2() {
|
|
|
581157
581237
|
writeToStdout(`Zero is managed by winget.
|
|
581158
581238
|
`);
|
|
581159
581239
|
const latest = await getLatestVersion(channel2);
|
|
581160
|
-
if (latest && !gte("0.9.
|
|
581161
|
-
writeToStdout(`Update available: ${"0.9.
|
|
581240
|
+
if (latest && !gte("0.9.6", latest)) {
|
|
581241
|
+
writeToStdout(`Update available: ${"0.9.6"} → ${latest}
|
|
581162
581242
|
`);
|
|
581163
581243
|
writeToStdout(`
|
|
581164
581244
|
`);
|
|
@@ -581174,8 +581254,8 @@ async function update2() {
|
|
|
581174
581254
|
writeToStdout(`Zero is managed by apk.
|
|
581175
581255
|
`);
|
|
581176
581256
|
const latest = await getLatestVersion(channel2);
|
|
581177
|
-
if (latest && !gte("0.9.
|
|
581178
|
-
writeToStdout(`Update available: ${"0.9.
|
|
581257
|
+
if (latest && !gte("0.9.6", latest)) {
|
|
581258
|
+
writeToStdout(`Update available: ${"0.9.6"} → ${latest}
|
|
581179
581259
|
`);
|
|
581180
581260
|
writeToStdout(`
|
|
581181
581261
|
`);
|
|
@@ -581240,11 +581320,11 @@ async function update2() {
|
|
|
581240
581320
|
`);
|
|
581241
581321
|
await gracefulShutdown(1);
|
|
581242
581322
|
}
|
|
581243
|
-
if (result.latestVersion === "0.9.
|
|
581244
|
-
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"})`) + `
|
|
581245
581325
|
`);
|
|
581246
581326
|
} else {
|
|
581247
|
-
writeToStdout(source_default.green(`Successfully updated from ${"0.9.
|
|
581327
|
+
writeToStdout(source_default.green(`Successfully updated from ${"0.9.6"} to version ${result.latestVersion}`) + `
|
|
581248
581328
|
`);
|
|
581249
581329
|
await regenerateCompletionCache();
|
|
581250
581330
|
}
|
|
@@ -581304,12 +581384,12 @@ async function update2() {
|
|
|
581304
581384
|
`);
|
|
581305
581385
|
await gracefulShutdown(1);
|
|
581306
581386
|
}
|
|
581307
|
-
if (latestVersion === "0.9.
|
|
581308
|
-
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"})`) + `
|
|
581309
581389
|
`);
|
|
581310
581390
|
await gracefulShutdown(0);
|
|
581311
581391
|
}
|
|
581312
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"0.9.
|
|
581392
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"0.9.6"})
|
|
581313
581393
|
`);
|
|
581314
581394
|
writeToStdout(`Installing update...
|
|
581315
581395
|
`);
|
|
@@ -581354,7 +581434,7 @@ async function update2() {
|
|
|
581354
581434
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
581355
581435
|
switch (status2) {
|
|
581356
581436
|
case "success":
|
|
581357
|
-
writeToStdout(source_default.green(`Successfully updated from ${"0.9.
|
|
581437
|
+
writeToStdout(source_default.green(`Successfully updated from ${"0.9.6"} to version ${latestVersion}`) + `
|
|
581358
581438
|
`);
|
|
581359
581439
|
await regenerateCompletionCache();
|
|
581360
581440
|
break;
|
|
@@ -582655,7 +582735,7 @@ ${customInstructions}` : customInstructions;
|
|
|
582655
582735
|
}
|
|
582656
582736
|
}
|
|
582657
582737
|
logForDiagnosticsNoPII("info", "started", {
|
|
582658
|
-
version: "0.9.
|
|
582738
|
+
version: "0.9.6",
|
|
582659
582739
|
is_native_binary: isInBundledMode()
|
|
582660
582740
|
});
|
|
582661
582741
|
registerCleanup(async () => {
|
|
@@ -583538,7 +583618,7 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
583538
583618
|
pendingHookMessages
|
|
583539
583619
|
}, renderAndRun);
|
|
583540
583620
|
}
|
|
583541
|
-
}).version("0.9.
|
|
583621
|
+
}).version("0.9.6", "-v, --version", "Output the version number");
|
|
583542
583622
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
583543
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.");
|
|
583544
583624
|
if (canUserConfigureAdvisor()) {
|
|
@@ -584204,7 +584284,7 @@ if (false) {}
|
|
|
584204
584284
|
async function main2() {
|
|
584205
584285
|
const args = process.argv.slice(2);
|
|
584206
584286
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
584207
|
-
console.log(`${"0.9.
|
|
584287
|
+
console.log(`${"0.9.6"} (ZeroCLI)`);
|
|
584208
584288
|
return;
|
|
584209
584289
|
}
|
|
584210
584290
|
if (args.includes("--provider")) {
|
|
@@ -584346,4 +584426,4 @@ async function main2() {
|
|
|
584346
584426
|
}
|
|
584347
584427
|
main2();
|
|
584348
584428
|
|
|
584349
|
-
//# debugId=
|
|
584429
|
+
//# debugId=E7574CB9448447CE64756E2164756E21
|