@duheso/zerocli 0.9.4 → 0.9.5

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.
Files changed (2) hide show
  1. package/dist/cli.mjs +253 -250
  2. 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.4"}${RESET}`);
119195
+ out.push(` ${DIM}${rgb(...DIMCOL)}zero ${RESET}${rgb(...ACCENT)}v${"0.9.5"}${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.4"}.${fingerprint}`;
147386
+ const version2 = `${"0.9.5"}.${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.4"}`;
190396
+ return `claude-code/${"0.9.5"}`;
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.4"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
190405
+ return `claude-cli/${"0.9.5"} (${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.4"}${suffix}`;
190419
+ return `claude-code/${"0.9.5"}${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_${crypto.randomUUID().replace(/-/g, "")}`;
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 randomUUID5 } from "crypto";
192350
+ import { randomUUID as randomUUID6 } from "crypto";
192350
192351
  function createCorrelationId() {
192351
- return randomUUID5();
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_${crypto.randomUUID().replace(/-/g, "")}`;
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_${crypto.randomUUID().replace(/-/g, "")}`;
192830
+ return `msg_${randomUUID7().replace(/-/g, "")}`;
192829
192831
  }
192830
192832
  function convertChunkUsage(usage) {
192831
192833
  if (!usage)
@@ -200954,7 +200956,7 @@ var init_bedrock_sdk = __esm(() => {
200954
200956
  });
200955
200957
 
200956
200958
  // src/services/api/client.ts
200957
- import { randomUUID as randomUUID6 } from "crypto";
200959
+ import { randomUUID as randomUUID8 } from "crypto";
200958
200960
  function createStderrLogger() {
200959
200961
  return {
200960
200962
  error: (msg, ...args) => console.error("[Anthropic SDK ERROR]", msg, ...args),
@@ -201160,7 +201162,7 @@ function buildFetch(fetchOverride, source) {
201160
201162
  return (input, init) => {
201161
201163
  const headers = new Headers(init?.headers);
201162
201164
  if (injectClientRequestId && !headers.has(CLIENT_REQUEST_ID_HEADER)) {
201163
- headers.set(CLIENT_REQUEST_ID_HEADER, randomUUID6());
201165
+ headers.set(CLIENT_REQUEST_ID_HEADER, randomUUID8());
201164
201166
  }
201165
201167
  try {
201166
201168
  const url3 = input instanceof Request ? input.url : String(input);
@@ -244850,7 +244852,7 @@ function getTelemetryAttributes() {
244850
244852
  attributes["session.id"] = sessionId;
244851
244853
  }
244852
244854
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
244853
- attributes["app.version"] = "0.9.4";
244855
+ attributes["app.version"] = "0.9.5";
244854
244856
  }
244855
244857
  const oauthAccount = getOauthAccountInfo();
244856
244858
  if (oauthAccount) {
@@ -253644,7 +253646,7 @@ var init_queryHelpers = __esm(() => {
253644
253646
  });
253645
253647
 
253646
253648
  // src/services/PromptSuggestion/speculation.ts
253647
- import { randomUUID as randomUUID7 } from "crypto";
253649
+ import { randomUUID as randomUUID9 } from "crypto";
253648
253650
  import { rm as rm2 } from "fs";
253649
253651
  import { appendFile as appendFile3, copyFile, mkdir as mkdir7 } from "fs/promises";
253650
253652
  import { dirname as dirname23, isAbsolute as isAbsolute11, join as join46, relative as relative7 } from "path";
@@ -253835,7 +253837,7 @@ async function startSpeculation(suggestionText, context3, setAppState, isPipelin
253835
253837
  if (!isSpeculationEnabled())
253836
253838
  return;
253837
253839
  abortSpeculation(setAppState);
253838
- const id = randomUUID7().slice(0, 8);
253840
+ const id = randomUUID9().slice(0, 8);
253839
253841
  const abortController = createChildAbortController(context3.toolUseContext.abortController);
253840
253842
  if (abortController.signal.aborted)
253841
253843
  return;
@@ -254215,7 +254217,7 @@ var init_speculation = __esm(() => {
254215
254217
  });
254216
254218
 
254217
254219
  // src/utils/sdkEventQueue.ts
254218
- import { randomUUID as randomUUID8 } from "crypto";
254220
+ import { randomUUID as randomUUID10 } from "crypto";
254219
254221
  function enqueueSdkEvent(event) {
254220
254222
  if (!getIsNonInteractiveSession()) {
254221
254223
  return;
@@ -254232,7 +254234,7 @@ function drainSdkEvents() {
254232
254234
  const events = queue.splice(0);
254233
254235
  return events.map((e) => ({
254234
254236
  ...e,
254235
- uuid: randomUUID8(),
254237
+ uuid: randomUUID10(),
254236
254238
  session_id: getSessionId()
254237
254239
  }));
254238
254240
  }
@@ -257089,7 +257091,7 @@ function computeFingerprint(messageText, version2) {
257089
257091
  }
257090
257092
  function computeFingerprintFromMessages(messages) {
257091
257093
  const firstMessageText = extractFirstMessageText(messages);
257092
- return computeFingerprint(firstMessageText, "0.9.4");
257094
+ return computeFingerprint(firstMessageText, "0.9.5");
257093
257095
  }
257094
257096
  var FINGERPRINT_SALT = "59cf53e54c78";
257095
257097
  var init_fingerprint = () => {};
@@ -257131,7 +257133,7 @@ async function sideQuery(opts) {
257131
257133
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
257132
257134
  }
257133
257135
  const messageText = extractFirstUserMessageText(messages);
257134
- const fingerprint = computeFingerprint(messageText, "0.9.4");
257136
+ const fingerprint = computeFingerprint(messageText, "0.9.5");
257135
257137
  const attributionHeader = getAttributionHeader(fingerprint);
257136
257138
  const systemBlocks = [
257137
257139
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -266033,7 +266035,7 @@ var init_user = __esm(() => {
266033
266035
  deviceId,
266034
266036
  sessionId: getSessionId(),
266035
266037
  email: getEmail(),
266036
- appVersion: "0.9.4",
266038
+ appVersion: "0.9.5",
266037
266039
  platform: getHostPlatformForAnalytics(),
266038
266040
  organizationUuid,
266039
266041
  accountUuid,
@@ -266427,7 +266429,7 @@ async function initializeBetaTracing(resource) {
266427
266429
  });
266428
266430
  logs.setGlobalLoggerProvider(loggerProvider);
266429
266431
  setLoggerProvider(loggerProvider);
266430
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.9.4");
266432
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.9.5");
266431
266433
  setEventLogger(eventLogger);
266432
266434
  process.on("beforeExit", async () => {
266433
266435
  await loggerProvider?.forceFlush();
@@ -266467,7 +266469,7 @@ async function initializeTelemetry() {
266467
266469
  const platform3 = getPlatform();
266468
266470
  const baseAttributes = {
266469
266471
  [ATTR_SERVICE_NAME3]: "claude-code",
266470
- [ATTR_SERVICE_VERSION3]: "0.9.4"
266472
+ [ATTR_SERVICE_VERSION3]: "0.9.5"
266471
266473
  };
266472
266474
  if (platform3 === "wsl") {
266473
266475
  const wslVersion = getWslVersion();
@@ -266512,7 +266514,7 @@ async function initializeTelemetry() {
266512
266514
  } catch {}
266513
266515
  };
266514
266516
  registerCleanup(shutdownTelemetry2);
266515
- return meterProvider2.getMeter("com.anthropic.claude_code", "0.9.4");
266517
+ return meterProvider2.getMeter("com.anthropic.claude_code", "0.9.5");
266516
266518
  }
266517
266519
  const meterProvider = new MeterProvider3({
266518
266520
  resource,
@@ -266532,7 +266534,7 @@ async function initializeTelemetry() {
266532
266534
  });
266533
266535
  logs.setGlobalLoggerProvider(loggerProvider);
266534
266536
  setLoggerProvider(loggerProvider);
266535
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.9.4");
266537
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "0.9.5");
266536
266538
  setEventLogger(eventLogger);
266537
266539
  logForDebugging("[3P telemetry] Event logger set successfully");
266538
266540
  process.on("beforeExit", async () => {
@@ -266594,7 +266596,7 @@ Current timeout: ${timeoutMs}ms
266594
266596
  }
266595
266597
  };
266596
266598
  registerCleanup(shutdownTelemetry);
266597
- return meterProvider.getMeter("com.anthropic.claude_code", "0.9.4");
266599
+ return meterProvider.getMeter("com.anthropic.claude_code", "0.9.5");
266598
266600
  }
266599
266601
  async function flushTelemetry() {
266600
266602
  const meterProvider = getMeterProvider();
@@ -267406,9 +267408,9 @@ async function assertMinVersion() {
267406
267408
  }
267407
267409
  try {
267408
267410
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
267409
- if (versionConfig.minVersion && lt("0.9.4", versionConfig.minVersion)) {
267411
+ if (versionConfig.minVersion && lt("0.9.5", versionConfig.minVersion)) {
267410
267412
  console.error(`
267411
- It looks like your version of ZeroCLI (${"0.9.4"}) needs an update.
267413
+ It looks like your version of ZeroCLI (${"0.9.5"}) needs an update.
267412
267414
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
267413
267415
 
267414
267416
  To update, please run:
@@ -267624,7 +267626,7 @@ async function installGlobalPackage(specificVersion) {
267624
267626
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
267625
267627
  logEvent("tengu_auto_updater_lock_contention", {
267626
267628
  pid: process.pid,
267627
- currentVersion: "0.9.4"
267629
+ currentVersion: "0.9.5"
267628
267630
  });
267629
267631
  return "in_progress";
267630
267632
  }
@@ -267633,7 +267635,7 @@ async function installGlobalPackage(specificVersion) {
267633
267635
  if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
267634
267636
  logError2(new Error("Windows NPM detected in WSL environment"));
267635
267637
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
267636
- currentVersion: "0.9.4"
267638
+ currentVersion: "0.9.5"
267637
267639
  });
267638
267640
  console.error(`
267639
267641
  Error: Windows NPM detected in WSL
@@ -268187,7 +268189,7 @@ async function getDoctorDiagnostic() {
268187
268189
  const installationType = await getCurrentInstallationType();
268188
268190
  let version2;
268189
268191
  try {
268190
- version2 = "0.9.4";
268192
+ version2 = "0.9.5";
268191
268193
  } catch {
268192
268194
  version2 = "unknown";
268193
268195
  }
@@ -269681,7 +269683,7 @@ function getInstallationEnv() {
269681
269683
  return;
269682
269684
  }
269683
269685
  function getZeroCodeVersion() {
269684
- return "0.9.4";
269686
+ return "0.9.5";
269685
269687
  }
269686
269688
  async function getInstalledVSCodeExtensionVersion(command) {
269687
269689
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -271048,8 +271050,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
271048
271050
  const maxVersion = await getMaxVersion();
271049
271051
  if (maxVersion && gt(version2, maxVersion)) {
271050
271052
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
271051
- if (gte("0.9.4", maxVersion)) {
271052
- logForDebugging(`Native installer: current version ${"0.9.4"} is already at or above maxVersion ${maxVersion}, skipping update`);
271053
+ if (gte("0.9.5", maxVersion)) {
271054
+ logForDebugging(`Native installer: current version ${"0.9.5"} is already at or above maxVersion ${maxVersion}, skipping update`);
271053
271055
  logEvent("tengu_native_update_skipped_max_version", {
271054
271056
  latency_ms: Date.now() - startTime2,
271055
271057
  max_version: maxVersion,
@@ -271060,7 +271062,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
271060
271062
  version2 = maxVersion;
271061
271063
  }
271062
271064
  }
271063
- if (!forceReinstall && version2 === "0.9.4" && await versionIsAvailable(version2) && await isPossibleZeroBinary(executablePath)) {
271065
+ if (!forceReinstall && version2 === "0.9.5" && await versionIsAvailable(version2) && await isPossibleZeroBinary(executablePath)) {
271064
271066
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
271065
271067
  logEvent("tengu_native_update_complete", {
271066
271068
  latency_ms: Date.now() - startTime2,
@@ -283871,7 +283873,7 @@ __export(exports_api, {
283871
283873
  CodeSessionSchema: () => CodeSessionSchema,
283872
283874
  CCR_BYOC_BETA: () => CCR_BYOC_BETA
283873
283875
  });
283874
- import { randomUUID as randomUUID9 } from "crypto";
283876
+ import { randomUUID as randomUUID11 } from "crypto";
283875
283877
  function isTransientNetworkError(error42) {
283876
283878
  if (!axios_default.isAxiosError(error42)) {
283877
283879
  return false;
@@ -284014,7 +284016,7 @@ async function sendEventToRemoteSession(sessionId, messageContent, opts) {
284014
284016
  "x-organization-uuid": orgUUID
284015
284017
  };
284016
284018
  const userEvent = {
284017
- uuid: opts?.uuid ?? randomUUID9(),
284019
+ uuid: opts?.uuid ?? randomUUID11(),
284018
284020
  session_id: sessionId,
284019
284021
  type: "user",
284020
284022
  parent_tool_use_id: null,
@@ -294443,7 +294445,7 @@ __export(exports_processSlashCommand, {
294443
294445
  looksLikeCommand: () => looksLikeCommand,
294444
294446
  formatSkillLoadingMetadata: () => formatSkillLoadingMetadata
294445
294447
  });
294446
- import { randomUUID as randomUUID10 } from "crypto";
294448
+ import { randomUUID as randomUUID12 } from "crypto";
294447
294449
  async function executeForkedSlashCommand(command, args, context4, precedingInputBlocks, setToolJSX, canUseTool) {
294448
294450
  const agentId = createAgentId();
294449
294451
  const pluginMarketplace = command.pluginInfo ? parsePluginIdentifier(command.pluginInfo.repository).marketplace : undefined;
@@ -294487,7 +294489,7 @@ async function executeForkedSlashCommand(command, args, context4, precedingInput
294487
294489
  parentToolUseID,
294488
294490
  toolUseID: `${parentToolUseID}-${toolUseCounter}`,
294489
294491
  timestamp: new Date().toISOString(),
294490
- uuid: randomUUID10()
294492
+ uuid: randomUUID12()
294491
294493
  };
294492
294494
  };
294493
294495
  const updateProgress = () => {
@@ -294612,7 +294614,7 @@ async function processSlashCommand(inputString, precedingInputBlocks, imageConte
294612
294614
  resultText: unknownMessage
294613
294615
  };
294614
294616
  }
294615
- const promptId = randomUUID10();
294617
+ const promptId = randomUUID12();
294616
294618
  setPromptId(promptId);
294617
294619
  logEvent("tengu_input_prompt", {});
294618
294620
  logOTelEvent("user_prompt", {
@@ -295124,7 +295126,7 @@ var init_MonitorMcpTask = __esm(() => {
295124
295126
  });
295125
295127
 
295126
295128
  // src/tools/AgentTool/runAgent.ts
295127
- import { randomUUID as randomUUID11 } from "crypto";
295129
+ import { randomUUID as randomUUID13 } from "crypto";
295128
295130
  async function initializeAgentMcpServers(agentDefinition, parentClients) {
295129
295131
  if (!agentDefinition.mcpServers?.length) {
295130
295132
  return {
@@ -295313,7 +295315,7 @@ async function* runAgent({
295313
295315
  type: "hook_additional_context",
295314
295316
  content: additionalContexts,
295315
295317
  hookName: "SubagentStart",
295316
- toolUseID: randomUUID11(),
295318
+ toolUseID: randomUUID13(),
295317
295319
  hookEvent: "SubagentStart"
295318
295320
  });
295319
295321
  initialMessages.push(contextMessage);
@@ -298328,7 +298330,7 @@ var init_words = __esm(() => {
298328
298330
  });
298329
298331
 
298330
298332
  // src/utils/plans.ts
298331
- import { randomUUID as randomUUID12 } from "crypto";
298333
+ import { randomUUID as randomUUID14 } from "crypto";
298332
298334
  import { copyFile as copyFile4, writeFile as writeFile16 } from "fs/promises";
298333
298335
  import { join as join69, resolve as resolve23, sep as sep14 } from "path";
298334
298336
  function getPlanSlug(sessionId) {
@@ -298511,7 +298513,7 @@ async function persistFileSnapshotIfRemote() {
298511
298513
  level: "info",
298512
298514
  isMeta: true,
298513
298515
  timestamp: new Date().toISOString(),
298514
- uuid: randomUUID12(),
298516
+ uuid: randomUUID14(),
298515
298517
  files: snapshotFiles
298516
298518
  };
298517
298519
  const { recordTranscript: recordTranscript2 } = await Promise.resolve().then(() => (init_sessionStorage(), exports_sessionStorage));
@@ -299472,7 +299474,7 @@ var init_conversationRecovery = __esm(() => {
299472
299474
  });
299473
299475
 
299474
299476
  // src/services/api/filesApi.ts
299475
- import { randomUUID as randomUUID13 } from "crypto";
299477
+ import { randomUUID as randomUUID15 } from "crypto";
299476
299478
  import * as fs2 from "fs/promises";
299477
299479
  import * as path12 from "path";
299478
299480
  function getDefaultApiBaseUrl() {
@@ -299656,7 +299658,7 @@ async function uploadFile(filePath, relativePath, config2, opts) {
299656
299658
  success: false
299657
299659
  };
299658
299660
  }
299659
- const boundary = `----FormBoundary${randomUUID13()}`;
299661
+ const boundary = `----FormBoundary${randomUUID15()}`;
299660
299662
  const filename = path12.basename(relativePath);
299661
299663
  const bodyParts = [];
299662
299664
  bodyParts.push(Buffer.from(`--${boundary}\r
@@ -299960,7 +299962,7 @@ __export(exports_teleport, {
299960
299962
  checkOutTeleportedSessionBranch: () => checkOutTeleportedSessionBranch,
299961
299963
  archiveRemoteSession: () => archiveRemoteSession
299962
299964
  });
299963
- import { randomUUID as randomUUID14 } from "crypto";
299965
+ import { randomUUID as randomUUID16 } from "crypto";
299964
299966
  function createTeleportResumeSystemMessage(branchError) {
299965
299967
  if (branchError === null) {
299966
299968
  return createSystemMessage("Session resumed", "info");
@@ -300677,7 +300679,7 @@ async function teleportToRemote(options2) {
300677
300679
  type: "event",
300678
300680
  data: {
300679
300681
  type: "control_request",
300680
- request_id: `set-mode-${randomUUID14()}`,
300682
+ request_id: `set-mode-${randomUUID16()}`,
300681
300683
  request: {
300682
300684
  subtype: "set_permission_mode",
300683
300685
  mode: options2.permissionMode,
@@ -300690,7 +300692,7 @@ async function teleportToRemote(options2) {
300690
300692
  events.push({
300691
300693
  type: "event",
300692
300694
  data: {
300693
- uuid: randomUUID14(),
300695
+ uuid: randomUUID16(),
300694
300696
  session_id: "",
300695
300697
  type: "user",
300696
300698
  parent_tool_use_id: null,
@@ -302009,12 +302011,12 @@ ${result.result}`
302009
302011
  });
302010
302012
 
302011
302013
  // src/services/lsp/LSPDiagnosticRegistry.ts
302012
- import { randomUUID as randomUUID15 } from "crypto";
302014
+ import { randomUUID as randomUUID17 } from "crypto";
302013
302015
  function registerPendingLSPDiagnostic({
302014
302016
  serverName,
302015
302017
  files
302016
302018
  }) {
302017
- const diagnosticId = randomUUID15();
302019
+ const diagnosticId = randomUUID17();
302018
302020
  logForDebugging(`LSP Diagnostics: Registering ${files.length} diagnostic file(s) from ${serverName} (ID: ${diagnosticId})`);
302019
302021
  pendingDiagnostics.set(diagnosticId, {
302020
302022
  serverName,
@@ -315854,7 +315856,7 @@ var init_PowerShellTool = __esm(() => {
315854
315856
  });
315855
315857
 
315856
315858
  // src/utils/promptShellExecution.ts
315857
- import { randomUUID as randomUUID16 } from "crypto";
315859
+ import { randomUUID as randomUUID18 } from "crypto";
315858
315860
  async function executeShellCommandsInPrompt(text, context4, slashCommandName, shell) {
315859
315861
  let result = text;
315860
315862
  const shellTool = shell === "powershell" && isPowerShellToolEnabled() ? getPowerShellTool() : BashTool;
@@ -315875,7 +315877,7 @@ async function executeShellCommandsInPrompt(text, context4, slashCommandName, sh
315875
315877
  stdout: typeof data.stdout === "string" ? data.stdout : "",
315876
315878
  stderr: typeof data.stderr === "string" ? data.stderr : ""
315877
315879
  };
315878
- const toolResultBlock = await processToolResultBlock(shellTool, normalizedData, randomUUID16());
315880
+ const toolResultBlock = await processToolResultBlock(shellTool, normalizedData, randomUUID18());
315879
315881
  const output = typeof toolResultBlock.content === "string" ? toolResultBlock.content : formatBashOutput(normalizedData.stdout, normalizedData.stderr);
315880
315882
  result = result.replace(match[0], () => output);
315881
315883
  } catch (e) {
@@ -375217,13 +375219,13 @@ var init_config5 = __esm(() => {
375217
375219
  });
375218
375220
 
375219
375221
  // src/query/deps.ts
375220
- import { randomUUID as randomUUID17 } from "crypto";
375222
+ import { randomUUID as randomUUID19 } from "crypto";
375221
375223
  function productionDeps() {
375222
375224
  return {
375223
375225
  callModel: queryModelWithStreaming,
375224
375226
  microcompact: microcompactMessages,
375225
375227
  autocompact: autoCompactIfNeeded,
375226
- uuid: randomUUID17
375228
+ uuid: randomUUID19
375227
375229
  };
375228
375230
  }
375229
375231
  var init_deps = __esm(() => {
@@ -376284,7 +376286,7 @@ function getAnthropicEnvMetadata() {
376284
376286
  function getBuildAgeMinutes() {
376285
376287
  if (false)
376286
376288
  ;
376287
- const buildTime = new Date("2026-05-11T01:40:36.001Z").getTime();
376289
+ const buildTime = new Date("2026-05-11T18:46:47.195Z").getTime();
376288
376290
  if (isNaN(buildTime))
376289
376291
  return;
376290
376292
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -376735,7 +376737,7 @@ var init_denialTracking = __esm(() => {
376735
376737
  });
376736
376738
 
376737
376739
  // src/utils/forkedAgent.ts
376738
- import { randomUUID as randomUUID18 } from "crypto";
376740
+ import { randomUUID as randomUUID20 } from "crypto";
376739
376741
  function saveCacheSafeParams(params) {
376740
376742
  lastCacheSafeParams = params;
376741
376743
  }
@@ -376844,7 +376846,7 @@ function createSubagentContext(parentContext, overrides) {
376844
376846
  agentId: overrides?.agentId ?? createAgentId(),
376845
376847
  agentType: overrides?.agentType,
376846
376848
  queryTracking: {
376847
- chainId: randomUUID18(),
376849
+ chainId: randomUUID20(),
376848
376850
  depth: (parentContext.queryTracking?.depth ?? -1) + 1
376849
376851
  },
376850
376852
  fileReadingLimits: parentContext.fileReadingLimits,
@@ -379921,7 +379923,7 @@ var init_toolSearch = __esm(() => {
379921
379923
  });
379922
379924
 
379923
379925
  // src/services/vcr.ts
379924
- import { createHash as createHash14, randomUUID as randomUUID19 } from "crypto";
379926
+ import { createHash as createHash14, randomUUID as randomUUID21 } from "crypto";
379925
379927
  import { mkdir as mkdir23, readFile as readFile27, writeFile as writeFile24 } from "fs/promises";
379926
379928
  import { dirname as dirname35, join as join88 } from "path";
379927
379929
  function shouldUseVCR() {
@@ -379974,7 +379976,7 @@ async function withVCR(messages, f) {
379974
379976
  try {
379975
379977
  const cached3 = jsonParse(await readFile27(filename, { encoding: "utf8" }));
379976
379978
  cached3.output.forEach(addCachedCostToTotalSessionCost);
379977
- return cached3.output.map((message, index) => mapMessage(message, hydrateValue, index, randomUUID19()));
379979
+ return cached3.output.map((message, index) => mapMessage(message, hydrateValue, index, randomUUID21()));
379978
379980
  } catch (e2) {
379979
379981
  const code = getErrnoCode(e2);
379980
379982
  if (code !== "ENOENT") {
@@ -380435,7 +380437,7 @@ var init_tokenEstimation = __esm(() => {
380435
380437
  });
380436
380438
 
380437
380439
  // src/utils/pdf.ts
380438
- import { randomUUID as randomUUID20 } from "crypto";
380440
+ import { randomUUID as randomUUID22 } from "crypto";
380439
380441
  import { mkdir as mkdir24, readdir as readdir15, readFile as readFile28 } from "fs/promises";
380440
380442
  import { join as join89 } from "path";
380441
380443
  async function readPDF(filePath) {
@@ -380546,7 +380548,7 @@ async function extractPDFPages(filePath, options2) {
380546
380548
  }
380547
380549
  };
380548
380550
  }
380549
- const uuid3 = randomUUID20();
380551
+ const uuid3 = randomUUID22();
380550
380552
  const outputDir = join89(getToolResultsDir(), `pdf-${uuid3}`);
380551
380553
  await mkdir24(outputDir, { recursive: true });
380552
380554
  const prefix = join89(outputDir, "page");
@@ -382116,7 +382118,7 @@ var init_findRelevantMemories = __esm(() => {
382116
382118
  // src/utils/attachments.ts
382117
382119
  import { readdir as readdir17, stat as stat33 } from "fs/promises";
382118
382120
  import { dirname as dirname36, parse as parse10, relative as relative20, resolve as resolve32 } from "path";
382119
- import { randomUUID as randomUUID21 } from "crypto";
382121
+ import { randomUUID as randomUUID23 } from "crypto";
382120
382122
  async function getAttachments(input, toolUseContext, ideSelection, queuedCommands, messages, querySource, options2) {
382121
382123
  if (isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_ATTACHMENTS) || isEnvTruthy(process.env.CLAUDE_CODE_SIMPLE)) {
382122
382124
  return getQueuedCommandAttachments(queuedCommands);
@@ -383343,7 +383345,7 @@ function createAttachmentMessage(attachment) {
383343
383345
  return {
383344
383346
  attachment,
383345
383347
  type: "attachment",
383346
- uuid: randomUUID21(),
383348
+ uuid: randomUUID23(),
383347
383349
  timestamp: new Date().toISOString()
383348
383350
  };
383349
383351
  }
@@ -388982,7 +388984,7 @@ ${EXPLANATORY_FEATURE_PROMPT}`
388982
388984
  });
388983
388985
 
388984
388986
  // src/utils/messages.ts
388985
- import { randomUUID as randomUUID22 } from "crypto";
388987
+ import { randomUUID as randomUUID24 } from "crypto";
388986
388988
  function getTeammateMailbox() {
388987
388989
  return init_teammateMailbox(), __toCommonJS(exports_teammateMailbox);
388988
388990
  }
@@ -389062,10 +389064,10 @@ function baseCreateAssistantMessage({
389062
389064
  }) {
389063
389065
  return {
389064
389066
  type: "assistant",
389065
- uuid: randomUUID22(),
389067
+ uuid: randomUUID24(),
389066
389068
  timestamp: new Date().toISOString(),
389067
389069
  message: {
389068
- id: randomUUID22(),
389070
+ id: randomUUID24(),
389069
389071
  container: null,
389070
389072
  model: SYNTHETIC_MODEL,
389071
389073
  role: "assistant",
@@ -389146,7 +389148,7 @@ function createUserMessage({
389146
389148
  isVirtual,
389147
389149
  isCompactSummary,
389148
389150
  summarizeMetadata,
389149
- uuid: uuid3 || randomUUID22(),
389151
+ uuid: uuid3 || randomUUID24(),
389150
389152
  timestamp: timestamp ?? new Date().toISOString(),
389151
389153
  toolUseResult,
389152
389154
  mcpMeta,
@@ -389215,7 +389217,7 @@ function createProgressMessage({
389215
389217
  data,
389216
389218
  toolUseID,
389217
389219
  parentToolUseID,
389218
- uuid: randomUUID22(),
389220
+ uuid: randomUUID24(),
389219
389221
  timestamp: new Date().toISOString()
389220
389222
  };
389221
389223
  }
@@ -391562,7 +391564,7 @@ function createSystemMessage(content, level, toolUseID, preventContinuation) {
391562
391564
  content,
391563
391565
  isMeta: false,
391564
391566
  timestamp: new Date().toISOString(),
391565
- uuid: randomUUID22(),
391567
+ uuid: randomUUID24(),
391566
391568
  toolUseID,
391567
391569
  level,
391568
391570
  ...preventContinuation && { preventContinuation }
@@ -391577,7 +391579,7 @@ function createPermissionRetryMessage(commands) {
391577
391579
  level: "info",
391578
391580
  isMeta: false,
391579
391581
  timestamp: new Date().toISOString(),
391580
- uuid: randomUUID22()
391582
+ uuid: randomUUID24()
391581
391583
  };
391582
391584
  }
391583
391585
  function createScheduledTaskFireMessage(content) {
@@ -391587,7 +391589,7 @@ function createScheduledTaskFireMessage(content) {
391587
391589
  content,
391588
391590
  isMeta: false,
391589
391591
  timestamp: new Date().toISOString(),
391590
- uuid: randomUUID22()
391592
+ uuid: randomUUID24()
391591
391593
  };
391592
391594
  }
391593
391595
  function createStopHookSummaryMessage(hookCount, hookInfos, hookErrors, preventedContinuation, stopReason, hasOutput, level, toolUseID, hookLabel, totalDurationMs) {
@@ -391603,7 +391605,7 @@ function createStopHookSummaryMessage(hookCount, hookInfos, hookErrors, prevente
391603
391605
  hasOutput,
391604
391606
  level,
391605
391607
  timestamp: new Date().toISOString(),
391606
- uuid: randomUUID22(),
391608
+ uuid: randomUUID24(),
391607
391609
  toolUseID,
391608
391610
  hookLabel,
391609
391611
  totalDurationMs
@@ -391619,7 +391621,7 @@ function createTurnDurationMessage(durationMs, budget, messageCount) {
391619
391621
  budgetNudges: budget?.nudges,
391620
391622
  messageCount,
391621
391623
  timestamp: new Date().toISOString(),
391622
- uuid: randomUUID22(),
391624
+ uuid: randomUUID24(),
391623
391625
  isMeta: false
391624
391626
  };
391625
391627
  }
@@ -391629,7 +391631,7 @@ function createAwaySummaryMessage(content) {
391629
391631
  subtype: "away_summary",
391630
391632
  content,
391631
391633
  timestamp: new Date().toISOString(),
391632
- uuid: randomUUID22(),
391634
+ uuid: randomUUID24(),
391633
391635
  isMeta: false
391634
391636
  };
391635
391637
  }
@@ -391639,7 +391641,7 @@ function createMemorySavedMessage(writtenPaths) {
391639
391641
  subtype: "memory_saved",
391640
391642
  writtenPaths,
391641
391643
  timestamp: new Date().toISOString(),
391642
- uuid: randomUUID22(),
391644
+ uuid: randomUUID24(),
391643
391645
  isMeta: false
391644
391646
  };
391645
391647
  }
@@ -391648,7 +391650,7 @@ function createAgentsKilledMessage() {
391648
391650
  type: "system",
391649
391651
  subtype: "agents_killed",
391650
391652
  timestamp: new Date().toISOString(),
391651
- uuid: randomUUID22(),
391653
+ uuid: randomUUID24(),
391652
391654
  isMeta: false
391653
391655
  };
391654
391656
  }
@@ -391659,7 +391661,7 @@ function createCommandInputMessage(content) {
391659
391661
  content,
391660
391662
  level: "info",
391661
391663
  timestamp: new Date().toISOString(),
391662
- uuid: randomUUID22(),
391664
+ uuid: randomUUID24(),
391663
391665
  isMeta: false
391664
391666
  };
391665
391667
  }
@@ -391670,7 +391672,7 @@ function createCompactBoundaryMessage(trigger, preTokens, lastPreCompactMessageU
391670
391672
  content: `Conversation compacted`,
391671
391673
  isMeta: false,
391672
391674
  timestamp: new Date().toISOString(),
391673
- uuid: randomUUID22(),
391675
+ uuid: randomUUID24(),
391674
391676
  level: "info",
391675
391677
  compactMetadata: {
391676
391678
  trigger,
@@ -391691,7 +391693,7 @@ function createMicrocompactBoundaryMessage(trigger, preTokens, tokensSaved, comp
391691
391693
  content: "Context microcompacted",
391692
391694
  isMeta: false,
391693
391695
  timestamp: new Date().toISOString(),
391694
- uuid: randomUUID22(),
391696
+ uuid: randomUUID24(),
391695
391697
  level: "info",
391696
391698
  microcompactMetadata: {
391697
391699
  trigger,
@@ -391713,7 +391715,7 @@ function createSystemAPIErrorMessage(error42, retryInMs, retryAttempt, maxRetrie
391713
391715
  retryAttempt,
391714
391716
  maxRetries,
391715
391717
  timestamp: new Date().toISOString(),
391716
- uuid: randomUUID22()
391718
+ uuid: randomUUID24()
391717
391719
  };
391718
391720
  }
391719
391721
  function isCompactBoundaryMessage(message) {
@@ -391984,7 +391986,7 @@ function createToolUseSummaryMessage(summary, precedingToolUseIds) {
391984
391986
  summary,
391985
391987
  precedingToolUseIds,
391986
391988
  toolUseIDs: precedingToolUseIds,
391987
- uuid: randomUUID22(),
391989
+ uuid: randomUUID24(),
391988
391990
  timestamp: new Date().toISOString()
391989
391991
  };
391990
391992
  }
@@ -395511,7 +395513,7 @@ var init_xaaIdpLogin = __esm(() => {
395511
395513
  });
395512
395514
 
395513
395515
  // src/services/mcp/auth.ts
395514
- import { createHash as createHash16, randomBytes as randomBytes11, randomUUID as randomUUID23 } from "crypto";
395516
+ import { createHash as createHash16, randomBytes as randomBytes11, randomUUID as randomUUID25 } from "crypto";
395515
395517
  import { mkdir as mkdir26 } from "fs/promises";
395516
395518
  import { createServer as createServer4 } from "http";
395517
395519
  import { join as join99 } from "path";
@@ -395965,7 +395967,7 @@ async function performMCPOAuthFlow(serverName, serverConfig, onAuthorizationUrl,
395965
395967
  scope: cachedStepUpScope,
395966
395968
  resourceMetadataUrl
395967
395969
  };
395968
- const flowAttemptId = randomUUID23();
395970
+ const flowAttemptId = randomUUID25();
395969
395971
  logEvent("tengu_mcp_oauth_flow_start", {
395970
395972
  flowAttemptId,
395971
395973
  isOAuthFlow: true,
@@ -403720,7 +403722,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
403720
403722
  const client2 = new Client({
403721
403723
  name: "claude-code",
403722
403724
  title: "ZeroCLI",
403723
- version: "0.9.4",
403725
+ version: "0.9.5",
403724
403726
  description: "Anthropic's agentic coding tool",
403725
403727
  websiteUrl: PRODUCT_URL
403726
403728
  }, {
@@ -404072,7 +404074,7 @@ var init_client7 = __esm(() => {
404072
404074
  const client2 = new Client({
404073
404075
  name: "claude-code",
404074
404076
  title: "ZeroCLI",
404075
- version: "0.9.4",
404077
+ version: "0.9.5",
404076
404078
  description: "Anthropic's agentic coding tool",
404077
404079
  websiteUrl: PRODUCT_URL
404078
404080
  }, {
@@ -405313,7 +405315,7 @@ function insertBlockAfterToolResults(content, block2) {
405313
405315
  }
405314
405316
 
405315
405317
  // src/services/api/claude.ts
405316
- import { randomUUID as randomUUID24 } from "crypto";
405318
+ import { randomUUID as randomUUID26 } from "crypto";
405317
405319
  function getExtraBodyParams(betaHeaders) {
405318
405320
  const extraBodyStr = process.env.CLAUDE_CODE_EXTRA_BODY;
405319
405321
  let result = {};
@@ -406139,7 +406141,7 @@ ${deferredToolList}
406139
406141
  if (!options2.agentId) {
406140
406142
  headlessProfilerCheckpoint("api_request_sent");
406141
406143
  }
406142
- clientRequestId = getAPIProvider() === "firstParty" && isFirstPartyAnthropicBaseUrl() ? randomUUID24() : undefined;
406144
+ clientRequestId = getAPIProvider() === "firstParty" && isFirstPartyAnthropicBaseUrl() ? randomUUID26() : undefined;
406143
406145
  const result = await anthropic.beta.messages.create({ ...params, stream: true }, {
406144
406146
  signal,
406145
406147
  ...clientRequestId && {
@@ -406369,7 +406371,7 @@ ${deferredToolList}
406369
406371
  },
406370
406372
  requestId: streamRequestId ?? undefined,
406371
406373
  type: "assistant",
406372
- uuid: randomUUID24(),
406374
+ uuid: randomUUID26(),
406373
406375
  timestamp: new Date().toISOString(),
406374
406376
  ...process.env.USER_TYPE === "ant" && research !== undefined && { research },
406375
406377
  ...advisorModel && { advisorModel }
@@ -406551,7 +406553,7 @@ ${deferredToolList}
406551
406553
  },
406552
406554
  requestId: streamRequestId ?? undefined,
406553
406555
  type: "assistant",
406554
- uuid: randomUUID24(),
406556
+ uuid: randomUUID26(),
406555
406557
  timestamp: new Date().toISOString(),
406556
406558
  ...process.env.USER_TYPE === "ant" && research !== undefined && {
406557
406559
  research
@@ -406605,7 +406607,7 @@ ${deferredToolList}
406605
406607
  },
406606
406608
  requestId: streamRequestId ?? undefined,
406607
406609
  type: "assistant",
406608
- uuid: randomUUID24(),
406610
+ uuid: randomUUID26(),
406609
406611
  timestamp: new Date().toISOString(),
406610
406612
  ...process.env.USER_TYPE === "ant" && research !== undefined && { research },
406611
406613
  ...advisorModel && { advisorModel }
@@ -414787,7 +414789,7 @@ function Feedback({
414787
414789
  platform: env2.platform,
414788
414790
  gitRepo: envInfo.isGit,
414789
414791
  terminal: env2.terminal,
414790
- version: "0.9.4",
414792
+ version: "0.9.5",
414791
414793
  transcript: normalizeMessagesForAPI(messages),
414792
414794
  errors: sanitizedErrors,
414793
414795
  lastApiRequest: getLastAPIRequest(),
@@ -414980,7 +414982,7 @@ function Feedback({
414980
414982
  ", ",
414981
414983
  env2.terminal,
414982
414984
  ", v",
414983
- "0.9.4"
414985
+ "0.9.5"
414984
414986
  ]
414985
414987
  })
414986
414988
  ]
@@ -415088,7 +415090,7 @@ ${sanitizedDescription}
415088
415090
  ` + `**Environment Info**
415089
415091
  ` + `- Platform: ${env2.platform}
415090
415092
  ` + `- Terminal: ${env2.terminal}
415091
- ` + `- Version: ${"0.9.4"}
415093
+ ` + `- Version: ${"0.9.5"}
415092
415094
  ` + feedbackIdLine + `
415093
415095
  **Errors**
415094
415096
  \`\`\`json
@@ -416318,7 +416320,7 @@ var exports_conversation = {};
416318
416320
  __export(exports_conversation, {
416319
416321
  clearConversation: () => clearConversation
416320
416322
  });
416321
- import { randomUUID as randomUUID25 } from "crypto";
416323
+ import { randomUUID as randomUUID27 } from "crypto";
416322
416324
  async function clearConversation({
416323
416325
  setMessages,
416324
416326
  readFileState,
@@ -416360,7 +416362,7 @@ async function clearConversation({
416360
416362
  setMessages(() => []);
416361
416363
  if (false) {}
416362
416364
  if (setConversationId) {
416363
- setConversationId(randomUUID25());
416365
+ setConversationId(randomUUID27());
416364
416366
  }
416365
416367
  clearSessionCaches(preservedAgentIds);
416366
416368
  setCwd(getOriginalCwd());
@@ -418241,7 +418243,7 @@ function buildPrimarySection() {
418241
418243
  });
418242
418244
  return [{
418243
418245
  label: "Version",
418244
- value: "0.9.4"
418246
+ value: "0.9.5"
418245
418247
  }, {
418246
418248
  label: "Session name",
418247
418249
  value: nameValue
@@ -423011,7 +423013,7 @@ function Config({
423011
423013
  }
423012
423014
  })
423013
423015
  }) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_runtime181.jsx(ChannelDowngradeDialog, {
423014
- currentVersion: "0.9.4",
423016
+ currentVersion: "0.9.5",
423015
423017
  onChoice: (choice) => {
423016
423018
  setShowSubmenu(null);
423017
423019
  setTabsHidden(false);
@@ -423023,7 +423025,7 @@ function Config({
423023
423025
  autoUpdatesChannel: "stable"
423024
423026
  };
423025
423027
  if (choice === "stay") {
423026
- newSettings.minimumVersion = "0.9.4";
423028
+ newSettings.minimumVersion = "0.9.5";
423027
423029
  }
423028
423030
  updateSettingsForSource("userSettings", newSettings);
423029
423031
  setSettingsData((prev_27) => ({
@@ -429964,7 +429966,7 @@ function UpdateScreen({ onDone }) {
429964
429966
  setState({ type: "dev-build" });
429965
429967
  return;
429966
429968
  }
429967
- const currentVersion = "0.9.4";
429969
+ const currentVersion = "0.9.5";
429968
429970
  const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
429969
429971
  const latestVersion = await getLatestVersion(channel2);
429970
429972
  if (!latestVersion) {
@@ -432075,7 +432077,7 @@ function HelpV2(t0) {
432075
432077
  let t6;
432076
432078
  if ($2[31] !== tabs) {
432077
432079
  t6 = /* @__PURE__ */ jsx_runtime211.jsx(Tabs, {
432078
- title: `ZeroCLI v${"0.9.4"}`,
432080
+ title: `ZeroCLI v${"0.9.5"}`,
432079
432081
  color: "professionalBlue",
432080
432082
  defaultTab: "general",
432081
432083
  children: tabs
@@ -456919,7 +456921,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
456919
456921
  return [];
456920
456922
  }
456921
456923
  }
456922
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.9.4") {
456924
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.9.5") {
456923
456925
  if (process.env.USER_TYPE === "ant") {
456924
456926
  const changelog = MACRO.VERSION_CHANGELOG;
456925
456927
  if (changelog) {
@@ -468116,7 +468118,7 @@ var init_InProcessTeammateDetailDialog = __esm(() => {
468116
468118
  });
468117
468119
 
468118
468120
  // src/utils/messages/mappers.ts
468119
- import { randomUUID as randomUUID26 } from "crypto";
468121
+ import { randomUUID as randomUUID28 } from "crypto";
468120
468122
  function toInternalMessages(messages) {
468121
468123
  return messages.flatMap((message) => {
468122
468124
  switch (message.type) {
@@ -468135,7 +468137,7 @@ function toInternalMessages(messages) {
468135
468137
  {
468136
468138
  type: "user",
468137
468139
  message: message.message,
468138
- uuid: message.uuid ?? randomUUID26(),
468140
+ uuid: message.uuid ?? randomUUID28(),
468139
468141
  timestamp: message.timestamp ?? new Date().toISOString(),
468140
468142
  isMeta: message.isSynthetic
468141
468143
  }
@@ -468150,7 +468152,7 @@ function toInternalMessages(messages) {
468150
468152
  level: "info",
468151
468153
  subtype: "compact_boundary",
468152
468154
  compactMetadata: fromSDKCompactMetadata(compactMsg.compact_metadata),
468153
- uuid: message.uuid ?? randomUUID26(),
468155
+ uuid: message.uuid ?? randomUUID28(),
468154
468156
  timestamp: new Date().toISOString(),
468155
468157
  isMeta: message.isSynthetic ?? false
468156
468158
  }
@@ -479372,7 +479374,7 @@ __export(exports_branch, {
479372
479374
  deriveFirstPrompt: () => deriveFirstPrompt,
479373
479375
  call: () => call53
479374
479376
  });
479375
- import { randomUUID as randomUUID27 } from "crypto";
479377
+ import { randomUUID as randomUUID29 } from "crypto";
479376
479378
  import { mkdir as mkdir35, readFile as readFile42, writeFile as writeFile39 } from "fs/promises";
479377
479379
  function deriveFirstPrompt(firstUserMessage) {
479378
479380
  const content = firstUserMessage?.message?.content;
@@ -479384,7 +479386,7 @@ function deriveFirstPrompt(firstUserMessage) {
479384
479386
  return raw.replace(/\s+/g, " ").trim().slice(0, 100) || "Branched conversation";
479385
479387
  }
479386
479388
  async function createFork(customTitle) {
479387
- const forkSessionId = randomUUID27();
479389
+ const forkSessionId = randomUUID29();
479388
479390
  const originalSessionId = getSessionId();
479389
479391
  const projectDir = getProjectDir2(getOriginalCwd());
479390
479392
  const forkSessionPath = getTranscriptPathForSession(forkSessionId);
@@ -485957,7 +485959,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
485957
485959
  smapsRollup,
485958
485960
  platform: process.platform,
485959
485961
  nodeVersion: process.version,
485960
- ccVersion: "0.9.4"
485962
+ ccVersion: "0.9.5"
485961
485963
  };
485962
485964
  }
485963
485965
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -486544,7 +486546,7 @@ var init_bridge_kick = __esm(() => {
486544
486546
  var call60 = async () => {
486545
486547
  return {
486546
486548
  type: "text",
486547
- value: `${"0.9.4"} (built ${"2026-05-11T01:40:36.001Z"})`
486549
+ value: `${"0.9.5"} (built ${"2026-05-11T18:46:47.195Z"})`
486548
486550
  };
486549
486551
  }, version2, version_default;
486550
486552
  var init_version = __esm(() => {
@@ -496701,7 +496703,7 @@ function generateHtmlReport(data, insights) {
496701
496703
  function buildExportData(data, insights, facets) {
496702
496704
  let version3;
496703
496705
  try {
496704
- version3 = "0.9.4";
496706
+ version3 = "0.9.5";
496705
496707
  } catch {
496706
496708
  version3 = "unknown";
496707
496709
  }
@@ -500897,7 +500899,7 @@ var init_sessionStorage = __esm(() => {
500897
500899
  init_slowOperations();
500898
500900
  init_uuid();
500899
500901
  try {
500900
- VERSION7 = "0.9.4";
500902
+ VERSION7 = "0.9.5";
500901
500903
  } catch {
500902
500904
  VERSION7 = "unknown";
500903
500905
  }
@@ -502218,7 +502220,7 @@ var init_filesystem = __esm(() => {
502218
502220
  });
502219
502221
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
502220
502222
  const nonce = randomBytes17(16).toString("hex");
502221
- return join137(getZeroTempDir(), "bundled-skills", "0.9.4", nonce);
502223
+ return join137(getZeroTempDir(), "bundled-skills", "0.9.5", nonce);
502222
502224
  });
502223
502225
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
502224
502226
  });
@@ -502957,9 +502959,9 @@ var init_hookHelpers = __esm(() => {
502957
502959
  });
502958
502960
 
502959
502961
  // src/utils/hooks/execPromptHook.ts
502960
- import { randomUUID as randomUUID28 } from "crypto";
502962
+ import { randomUUID as randomUUID30 } from "crypto";
502961
502963
  async function execPromptHook(hook, hookName, hookEvent, jsonInput, signal, toolUseContext, messages, toolUseID) {
502962
- const effectiveToolUseID = toolUseID || `hook-${randomUUID28()}`;
502964
+ const effectiveToolUseID = toolUseID || `hook-${randomUUID30()}`;
502963
502965
  try {
502964
502966
  const processedPrompt = addArgumentsToPrompt(hook.prompt, jsonInput);
502965
502967
  logForDebugging(`Hooks: Processing prompt hook with prompt: ${processedPrompt}`);
@@ -503113,9 +503115,9 @@ var init_execPromptHook = __esm(() => {
503113
503115
  });
503114
503116
 
503115
503117
  // src/utils/hooks/execAgentHook.ts
503116
- import { randomUUID as randomUUID29 } from "crypto";
503118
+ import { randomUUID as randomUUID31 } from "crypto";
503117
503119
  async function execAgentHook(hook, hookName, hookEvent, jsonInput, signal, toolUseContext, toolUseID, _messages, agentName) {
503118
- const effectiveToolUseID = toolUseID || `hook-${randomUUID29()}`;
503120
+ const effectiveToolUseID = toolUseID || `hook-${randomUUID31()}`;
503119
503121
  const transcriptPath = toolUseContext.agentId ? getAgentTranscriptPath(toolUseContext.agentId) : getTranscriptPath();
503120
503122
  const hookStartTime = Date.now();
503121
503123
  try {
@@ -503150,7 +503152,7 @@ When done, return your result using the ${SYNTHETIC_OUTPUT_TOOL_NAME} tool with:
503150
503152
  ]);
503151
503153
  const model = hook.model ?? getSmallFastModel();
503152
503154
  const MAX_AGENT_TURNS = 50;
503153
- const hookAgentId = asAgentId(`hook-agent-${randomUUID29()}`);
503155
+ const hookAgentId = asAgentId(`hook-agent-${randomUUID31()}`);
503154
503156
  const agentToolUseContext = {
503155
503157
  ...toolUseContext,
503156
503158
  agentId: hookAgentId,
@@ -504695,7 +504697,7 @@ __export(exports_hooks2, {
504695
504697
  });
504696
504698
  import { basename as basename47 } from "path";
504697
504699
  import { spawn as spawn9 } from "child_process";
504698
- import { randomUUID as randomUUID30 } from "crypto";
504700
+ import { randomUUID as randomUUID32 } from "crypto";
504699
504701
  function isLocalSyncHook(json2) {
504700
504702
  return !(("async" in json2) && json2.async === true);
504701
504703
  }
@@ -505815,7 +505817,7 @@ async function* executeHooks({
505815
505817
  parentToolUseID: toolUseID,
505816
505818
  toolUseID,
505817
505819
  timestamp: new Date().toISOString(),
505818
- uuid: randomUUID30()
505820
+ uuid: randomUUID32()
505819
505821
  }
505820
505822
  };
505821
505823
  }
@@ -505877,7 +505879,7 @@ async function* executeHooks({
505877
505879
  const { signal: abortSignal, cleanup } = createCombinedAbortSignal(signal, {
505878
505880
  timeoutMs: commandTimeoutMs
505879
505881
  });
505880
- const hookId = randomUUID30();
505882
+ const hookId = randomUUID32();
505881
505883
  const hookStartMs = Date.now();
505882
505884
  const hookCommand = getHookDisplayText(hook);
505883
505885
  try {
@@ -506525,7 +506527,7 @@ async function executeHooksOutsideREPL({
506525
506527
  const callbackTimeoutMs = hook.timeout ? hook.timeout * 1000 : timeoutMs;
506526
506528
  const { signal: abortSignal2, cleanup: cleanup2 } = createCombinedAbortSignal(signal, { timeoutMs: callbackTimeoutMs });
506527
506529
  try {
506528
- const toolUseID = randomUUID30();
506530
+ const toolUseID = randomUUID32();
506529
506531
  const json2 = await hook.callback(hookInput, toolUseID, abortSignal2, hookIndex);
506530
506532
  cleanup2?.();
506531
506533
  if (isLocalAsyncHook(json2)) {
@@ -506636,7 +506638,7 @@ async function executeHooksOutsideREPL({
506636
506638
  const commandTimeoutMs = hook.timeout ? hook.timeout * 1000 : timeoutMs;
506637
506639
  const { signal: abortSignal, cleanup } = createCombinedAbortSignal(signal, { timeoutMs: commandTimeoutMs });
506638
506640
  try {
506639
- const result = await execCommandHook(hook, hookEvent, hookName, jsonInput, abortSignal, randomUUID30(), hookIndex, pluginRoot, pluginId);
506641
+ const result = await execCommandHook(hook, hookEvent, hookName, jsonInput, abortSignal, randomUUID32(), hookIndex, pluginRoot, pluginId);
506640
506642
  cleanup?.();
506641
506643
  if (result.aborted) {
506642
506644
  logForDebugging(`${hookName} [${hook.command}] cancelled`);
@@ -506854,7 +506856,7 @@ async function* executeStopHooks(permissionMode, signal, timeoutMs = TOOL_HOOK_E
506854
506856
  };
506855
506857
  yield* executeHooks({
506856
506858
  hookInput,
506857
- toolUseID: randomUUID30(),
506859
+ toolUseID: randomUUID32(),
506858
506860
  signal,
506859
506861
  timeoutMs,
506860
506862
  toolUseContext,
@@ -506871,7 +506873,7 @@ async function* executeTeammateIdleHooks(teammateName, teamName, permissionMode,
506871
506873
  };
506872
506874
  yield* executeHooks({
506873
506875
  hookInput,
506874
- toolUseID: randomUUID30(),
506876
+ toolUseID: randomUUID32(),
506875
506877
  signal,
506876
506878
  timeoutMs
506877
506879
  });
@@ -506888,7 +506890,7 @@ async function* executeTaskCreatedHooks(taskId, taskSubject, taskDescription, te
506888
506890
  };
506889
506891
  yield* executeHooks({
506890
506892
  hookInput,
506891
- toolUseID: randomUUID30(),
506893
+ toolUseID: randomUUID32(),
506892
506894
  signal,
506893
506895
  timeoutMs,
506894
506896
  toolUseContext
@@ -506908,7 +506910,7 @@ async function* executeTaskCompletedHooks(taskId, taskSubject, taskDescription,
506908
506910
  let preventedContinuation = false;
506909
506911
  for await (const result of executeHooks({
506910
506912
  hookInput,
506911
- toolUseID: randomUUID30(),
506913
+ toolUseID: randomUUID32(),
506912
506914
  signal,
506913
506915
  timeoutMs,
506914
506916
  toolUseContext
@@ -506946,7 +506948,7 @@ async function* executeUserPromptSubmitHooks(prompt, permissionMode, toolUseCont
506946
506948
  };
506947
506949
  yield* executeHooks({
506948
506950
  hookInput,
506949
- toolUseID: randomUUID30(),
506951
+ toolUseID: randomUUID32(),
506950
506952
  signal: toolUseContext.abortController.signal,
506951
506953
  timeoutMs: TOOL_HOOK_EXECUTION_TIMEOUT_MS,
506952
506954
  toolUseContext,
@@ -506963,7 +506965,7 @@ async function* executeSessionStartHooks(source, sessionId, agentType, model, si
506963
506965
  };
506964
506966
  yield* executeHooks({
506965
506967
  hookInput,
506966
- toolUseID: randomUUID30(),
506968
+ toolUseID: randomUUID32(),
506967
506969
  matchQuery: source,
506968
506970
  signal,
506969
506971
  timeoutMs,
@@ -506978,7 +506980,7 @@ async function* executeSetupHooks(trigger, signal, timeoutMs = TOOL_HOOK_EXECUTI
506978
506980
  };
506979
506981
  yield* executeHooks({
506980
506982
  hookInput,
506981
- toolUseID: randomUUID30(),
506983
+ toolUseID: randomUUID32(),
506982
506984
  matchQuery: trigger,
506983
506985
  signal,
506984
506986
  timeoutMs,
@@ -506994,7 +506996,7 @@ async function* executeSubagentStartHooks(agentId, agentType, signal, timeoutMs
506994
506996
  };
506995
506997
  yield* executeHooks({
506996
506998
  hookInput,
506997
- toolUseID: randomUUID30(),
506999
+ toolUseID: randomUUID32(),
506998
507000
  matchQuery: agentType,
506999
507001
  signal,
507000
507002
  timeoutMs
@@ -507357,7 +507359,7 @@ async function executeStatusLineCommand(statusLineInput, signal, timeoutMs = 500
507357
507359
  const abortSignal = signal || AbortSignal.timeout(timeoutMs);
507358
507360
  try {
507359
507361
  const jsonInput = jsonStringify(statusLineInput);
507360
- const result = await execCommandHook(statusLine, "StatusLine", "statusLine", jsonInput, abortSignal, randomUUID30());
507362
+ const result = await execCommandHook(statusLine, "StatusLine", "statusLine", jsonInput, abortSignal, randomUUID32());
507361
507363
  if (result.aborted) {
507362
507364
  return;
507363
507365
  }
@@ -507401,7 +507403,7 @@ async function executeFileSuggestionCommand(fileSuggestionInput, signal, timeout
507401
507403
  try {
507402
507404
  const jsonInput = jsonStringify(fileSuggestionInput);
507403
507405
  const hook = { type: "command", command: fileSuggestion.command };
507404
- const result = await execCommandHook(hook, "FileSuggestion", "FileSuggestion", jsonInput, abortSignal, randomUUID30());
507406
+ const result = await execCommandHook(hook, "FileSuggestion", "FileSuggestion", jsonInput, abortSignal, randomUUID32());
507405
507407
  if (result.aborted || result.status !== 0) {
507406
507408
  return [];
507407
507409
  }
@@ -513216,7 +513218,7 @@ var init_inboundMessages = __esm(() => {
513216
513218
  });
513217
513219
 
513218
513220
  // src/utils/messages/systemInit.ts
513219
- import { randomUUID as randomUUID31 } from "crypto";
513221
+ import { randomUUID as randomUUID33 } from "crypto";
513220
513222
  function sdkCompatToolName(name) {
513221
513223
  return name === AGENT_TOOL_NAME ? LEGACY_AGENT_TOOL_NAME : name;
513222
513224
  }
@@ -513238,7 +513240,7 @@ function buildSystemInitMessage(inputs) {
513238
513240
  slash_commands: inputs.commands.filter((c6) => c6.userInvocable !== false).map((c6) => c6.name),
513239
513241
  apiKeySource: getAnthropicApiKeyWithSource().source,
513240
513242
  betas: getSdkBetas(),
513241
- claude_code_version: "0.9.4",
513243
+ claude_code_version: "0.9.5",
513242
513244
  output_style: outputStyle2,
513243
513245
  agents: inputs.agents.map((agent2) => agent2.agentType),
513244
513246
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -513247,7 +513249,7 @@ function buildSystemInitMessage(inputs) {
513247
513249
  path: plugin2.path,
513248
513250
  source: plugin2.source
513249
513251
  })),
513250
- uuid: randomUUID31()
513252
+ uuid: randomUUID33()
513251
513253
  };
513252
513254
  if (false) {}
513253
513255
  initMessage.fast_mode_state = getFastModeState(inputs.model, inputs.fastMode);
@@ -513331,7 +513333,7 @@ __export(exports_MessageSelector, {
513331
513333
  messagesAfterAreOnlySynthetic: () => messagesAfterAreOnlySynthetic,
513332
513334
  MessageSelector: () => MessageSelector
513333
513335
  });
513334
- import { randomUUID as randomUUID32 } from "crypto";
513336
+ import { randomUUID as randomUUID34 } from "crypto";
513335
513337
  import * as path21 from "path";
513336
513338
  function isTextBlock2(block2) {
513337
513339
  return block2.type === "text";
@@ -513351,7 +513353,7 @@ function MessageSelector({
513351
513353
  const fileHistory = useAppState((s) => s.fileHistory);
513352
513354
  const [error42, setError] = import_react198.useState(undefined);
513353
513355
  const isFileHistoryEnabled = fileHistoryEnabled();
513354
- const currentUUID = import_react198.useMemo(randomUUID32, []);
513356
+ const currentUUID = import_react198.useMemo(randomUUID34, []);
513355
513357
  const messageOptions = import_react198.useMemo(() => [...messages.filter(selectableUserMessagesFilter), {
513356
513358
  ...createUserMessage({
513357
513359
  content: ""
@@ -519194,7 +519196,7 @@ var init_FileEditToolDiff = __esm(() => {
519194
519196
  });
519195
519197
 
519196
519198
  // src/hooks/useDiffInIDE.ts
519197
- import { randomUUID as randomUUID33 } from "crypto";
519199
+ import { randomUUID as randomUUID35 } from "crypto";
519198
519200
  import { basename as basename50 } from "path";
519199
519201
  function useDiffInIDE({
519200
519202
  onChange,
@@ -519205,7 +519207,7 @@ function useDiffInIDE({
519205
519207
  }) {
519206
519208
  const isUnmounted = import_react209.useRef(false);
519207
519209
  const [hasError, setHasError] = import_react209.useState(false);
519208
- const sha = import_react209.useMemo(() => randomUUID33().slice(0, 6), []);
519210
+ const sha = import_react209.useMemo(() => randomUUID35().slice(0, 6), []);
519209
519211
  const tabName = import_react209.useMemo(() => `⟁ [ZeroCLI] ${basename50(filePath)} (${sha}) ⧉`, [filePath, sha]);
519210
519212
  const shouldShowDiffInIDE = hasAccessToIDEExtensionDiffFeature(toolUseContext.options.mcpClients) && getGlobalConfig().diffTool === "auto" && !filePath.endsWith(".ipynb");
519211
519213
  const ideName = getConnectedIdeName(toolUseContext.options.mcpClients) ?? "IDE";
@@ -528553,7 +528555,7 @@ var init_useVoiceEnabled = __esm(() => {
528553
528555
  function getSemverPart(version3) {
528554
528556
  return `${import_semver12.major(version3, { loose: true })}.${import_semver12.minor(version3, { loose: true })}.${import_semver12.patch(version3, { loose: true })}`;
528555
528557
  }
528556
- function useUpdateNotification(updatedVersion, initialVersion = "0.9.4") {
528558
+ function useUpdateNotification(updatedVersion, initialVersion = "0.9.5") {
528557
528559
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react226.useState(() => getSemverPart(initialVersion));
528558
528560
  if (!updatedVersion) {
528559
528561
  return null;
@@ -528596,7 +528598,7 @@ function AutoUpdater({
528596
528598
  return;
528597
528599
  }
528598
528600
  if (false) {}
528599
- const currentVersion = "0.9.4";
528601
+ const currentVersion = "0.9.5";
528600
528602
  const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
528601
528603
  let latestVersion = await getLatestVersion(channel2);
528602
528604
  const isDisabled = isAutoUpdaterDisabled();
@@ -528817,12 +528819,12 @@ function NativeAutoUpdater({
528817
528819
  logEvent("tengu_native_auto_updater_start", {});
528818
528820
  try {
528819
528821
  const maxVersion = await getMaxVersion();
528820
- if (maxVersion && gt("0.9.4", maxVersion)) {
528822
+ if (maxVersion && gt("0.9.5", maxVersion)) {
528821
528823
  const msg = await getMaxVersionMessage();
528822
528824
  setMaxVersionIssue(msg ?? "affects your version");
528823
528825
  }
528824
528826
  const result = await installLatest(channel2);
528825
- const currentVersion = "0.9.4";
528827
+ const currentVersion = "0.9.5";
528826
528828
  const latencyMs = Date.now() - startTime2;
528827
528829
  if (result.lockFailed) {
528828
528830
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -528964,17 +528966,17 @@ function PackageManagerAutoUpdater(t0) {
528964
528966
  const maxVersion = await getMaxVersion();
528965
528967
  if (maxVersion && latest && gt(latest, maxVersion)) {
528966
528968
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
528967
- if (gte("0.9.4", maxVersion)) {
528968
- logForDebugging(`PackageManagerAutoUpdater: current version ${"0.9.4"} is already at or above maxVersion ${maxVersion}, skipping update`);
528969
+ if (gte("0.9.5", maxVersion)) {
528970
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"0.9.5"} is already at or above maxVersion ${maxVersion}, skipping update`);
528969
528971
  setUpdateAvailable(false);
528970
528972
  return;
528971
528973
  }
528972
528974
  latest = maxVersion;
528973
528975
  }
528974
- const hasUpdate = latest && !gte("0.9.4", latest) && !shouldSkipVersion(latest);
528976
+ const hasUpdate = latest && !gte("0.9.5", latest) && !shouldSkipVersion(latest);
528975
528977
  setUpdateAvailable(!!hasUpdate);
528976
528978
  if (hasUpdate) {
528977
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.9.4"} -> ${latest}`);
528979
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.9.5"} -> ${latest}`);
528978
528980
  }
528979
528981
  };
528980
528982
  $2[0] = t1;
@@ -529008,7 +529010,7 @@ function PackageManagerAutoUpdater(t0) {
529008
529010
  wrap: "truncate",
529009
529011
  children: [
529010
529012
  "currentVersion: ",
529011
- "0.9.4"
529013
+ "0.9.5"
529012
529014
  ]
529013
529015
  });
529014
529016
  $2[3] = verbose;
@@ -536007,7 +536009,7 @@ var init_teamDiscovery = __esm(() => {
536007
536009
  });
536008
536010
 
536009
536011
  // src/components/teams/TeamsDialog.tsx
536010
- import { randomUUID as randomUUID34 } from "crypto";
536012
+ import { randomUUID as randomUUID36 } from "crypto";
536011
536013
  function TeamsDialog({
536012
536014
  initialTeams,
536013
536015
  onDone
@@ -536635,7 +536637,7 @@ async function killTeammate(paneId, backendType, teamName, teammateId, teammateN
536635
536637
  },
536636
536638
  inbox: {
536637
536639
  messages: [...prev.inbox.messages, {
536638
- id: randomUUID34(),
536640
+ id: randomUUID36(),
536639
536641
  from: "system",
536640
536642
  text: jsonStringify({
536641
536643
  type: "teammate_terminated",
@@ -538037,7 +538039,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
538037
538039
  project_dir: getOriginalCwd(),
538038
538040
  added_dirs: addedDirs
538039
538041
  },
538040
- version: "0.9.4",
538042
+ version: "0.9.5",
538041
538043
  output_style: {
538042
538044
  name: outputStyleName
538043
538045
  },
@@ -542438,7 +542440,7 @@ function normalizeControlMessageKeys(obj) {
542438
542440
  }
542439
542441
 
542440
542442
  // src/bridge/bridgeMessaging.ts
542441
- import { randomUUID as randomUUID35 } from "crypto";
542443
+ import { randomUUID as randomUUID37 } from "crypto";
542442
542444
  function isSDKMessage(value) {
542443
542445
  return value !== null && typeof value === "object" && "type" in value && typeof value.type === "string";
542444
542446
  }
@@ -542646,7 +542648,7 @@ function makeResultMessage(sessionId) {
542646
542648
  modelUsage: {},
542647
542649
  permission_denials: [],
542648
542650
  session_id: sessionId,
542649
- uuid: randomUUID35()
542651
+ uuid: randomUUID37()
542650
542652
  };
542651
542653
  }
542652
542654
 
@@ -542689,7 +542691,7 @@ var init_bridgeMessaging = __esm(() => {
542689
542691
  });
542690
542692
 
542691
542693
  // src/remote/SessionsWebSocket.ts
542692
- import { randomUUID as randomUUID36 } from "crypto";
542694
+ import { randomUUID as randomUUID38 } from "crypto";
542693
542695
  function isSessionsMessage(value) {
542694
542696
  if (typeof value !== "object" || value === null || !("type" in value)) {
542695
542697
  return false;
@@ -542873,7 +542875,7 @@ class SessionsWebSocket {
542873
542875
  }
542874
542876
  const controlRequest = {
542875
542877
  type: "control_request",
542876
- request_id: randomUUID36(),
542878
+ request_id: randomUUID38(),
542877
542879
  request
542878
542880
  };
542879
542881
  logForDebugging(`[SessionsWebSocket] Sending control request: ${request.subtype}`);
@@ -543067,11 +543069,11 @@ var init_RemoteSessionManager = __esm(() => {
543067
543069
  });
543068
543070
 
543069
543071
  // src/remote/remotePermissionBridge.ts
543070
- import { randomUUID as randomUUID37 } from "crypto";
543072
+ import { randomUUID as randomUUID39 } from "crypto";
543071
543073
  function createSyntheticAssistantMessage(request, requestId) {
543072
543074
  return {
543073
543075
  type: "assistant",
543074
- uuid: randomUUID37(),
543076
+ uuid: randomUUID39(),
543075
543077
  message: {
543076
543078
  id: `remote-${requestId}`,
543077
543079
  type: "message",
@@ -543597,6 +543599,7 @@ var init_useRemoteSession = __esm(() => {
543597
543599
  });
543598
543600
 
543599
543601
  // src/server/directConnectManager.ts
543602
+ import { randomUUID as randomUUID40 } from "crypto";
543600
543603
  function isStdoutMessage(value) {
543601
543604
  return typeof value === "object" && value !== null && "type" in value && typeof value.type === "string";
543602
543605
  }
@@ -543696,7 +543699,7 @@ class DirectConnectSessionManager {
543696
543699
  }
543697
543700
  const request = jsonStringify({
543698
543701
  type: "control_request",
543699
- request_id: crypto.randomUUID(),
543702
+ request_id: randomUUID40(),
543700
543703
  request: {
543701
543704
  subtype: "interrupt"
543702
543705
  }
@@ -543884,7 +543887,7 @@ var init_useDirectConnect = __esm(() => {
543884
543887
  });
543885
543888
 
543886
543889
  // src/hooks/useSSHSession.ts
543887
- import { randomUUID as randomUUID38 } from "crypto";
543890
+ import { randomUUID as randomUUID41 } from "crypto";
543888
543891
  function useSSHSession({
543889
543892
  session: session2,
543890
543893
  setMessages,
@@ -543984,7 +543987,7 @@ function useSSHSession({
543984
543987
  subtype: "informational",
543985
543988
  content: `SSH connection dropped — reconnecting (attempt ${attempt}/${max2})...`,
543986
543989
  timestamp: new Date().toISOString(),
543987
- uuid: randomUUID38(),
543990
+ uuid: randomUUID41(),
543988
543991
  level: "warning",
543989
543992
  isMeta: false
543990
543993
  };
@@ -546126,7 +546129,7 @@ var init_PermissionContext = __esm(() => {
546126
546129
  });
546127
546130
 
546128
546131
  // src/hooks/toolPermission/handlers/interactiveHandler.ts
546129
- import { randomUUID as randomUUID39 } from "crypto";
546132
+ import { randomUUID as randomUUID42 } from "crypto";
546130
546133
  function handleInteractivePermission(params, resolve44) {
546131
546134
  const {
546132
546135
  ctx,
@@ -546140,7 +546143,7 @@ function handleInteractivePermission(params, resolve44) {
546140
546143
  let userInteracted = false;
546141
546144
  let checkmarkTransitionTimer;
546142
546145
  let checkmarkAbortHandler;
546143
- const bridgeRequestId = bridgeCallbacks ? randomUUID39() : undefined;
546146
+ const bridgeRequestId = bridgeCallbacks ? randomUUID42() : undefined;
546144
546147
  let channelUnsubscribe;
546145
546148
  const permissionPromptStartTimeMs = Date.now();
546146
546149
  const displayInput = result.updatedInput ?? ctx.input;
@@ -546562,9 +546565,9 @@ function matchesKeepGoingKeyword(input) {
546562
546565
  }
546563
546566
 
546564
546567
  // src/utils/processUserInput/processTextPrompt.ts
546565
- import { randomUUID as randomUUID40 } from "crypto";
546568
+ import { randomUUID as randomUUID43 } from "crypto";
546566
546569
  function processTextPrompt(input, imageContentBlocks, imagePasteIds, attachmentMessages, uuid3, permissionMode, isMeta) {
546567
- const promptId = randomUUID40();
546570
+ const promptId = randomUUID43();
546568
546571
  setPromptId(promptId);
546569
546572
  const userPromptText = typeof input === "string" ? input : input.find((block2) => block2.type === "text")?.text || "";
546570
546573
  startInteractionSpan(userPromptText);
@@ -546697,7 +546700,7 @@ var exports_processBashCommand = {};
546697
546700
  __export(exports_processBashCommand, {
546698
546701
  processBashCommand: () => processBashCommand
546699
546702
  });
546700
- import { randomUUID as randomUUID41 } from "crypto";
546703
+ import { randomUUID as randomUUID44 } from "crypto";
546701
546704
  async function processBashCommand(inputString, precedingInputBlocks, attachmentMessages, context6, setToolJSX) {
546702
546705
  const usePowerShell = isPowerShellToolEnabled() && resolveDefaultShell() === "powershell";
546703
546706
  logEvent("tengu_input_bash", {
@@ -546763,7 +546766,7 @@ async function processBashCommand(inputString, precedingInputBlocks, attachmentM
546763
546766
  const mapped = await processToolResultBlock(shellTool, {
546764
546767
  ...data,
546765
546768
  stderr: ""
546766
- }, randomUUID41());
546769
+ }, randomUUID44());
546767
546770
  const stdout = typeof mapped.content === "string" ? mapped.content : escapeXml(data.stdout);
546768
546771
  return {
546769
546772
  messages: [createSyntheticUserCaveatMessage(), userMessage, ...attachmentMessages, createUserMessage({
@@ -546811,7 +546814,7 @@ var init_processBashCommand = __esm(() => {
546811
546814
  });
546812
546815
 
546813
546816
  // src/utils/processUserInput/processUserInput.ts
546814
- import { randomUUID as randomUUID42 } from "crypto";
546817
+ import { randomUUID as randomUUID45 } from "crypto";
546815
546818
  async function processUserInput({
546816
546819
  input,
546817
546820
  preExpansionInput,
@@ -546873,7 +546876,7 @@ Original prompt: ${input}`, "warning")
546873
546876
  type: "hook_additional_context",
546874
546877
  content: hookResult.additionalContexts.map(applyTruncation),
546875
546878
  hookName: "UserPromptSubmit",
546876
- toolUseID: `hook-${randomUUID42()}`,
546879
+ toolUseID: `hook-${randomUUID45()}`,
546877
546880
  hookEvent: "UserPromptSubmit"
546878
546881
  }));
546879
546882
  }
@@ -548392,7 +548395,7 @@ var init_sessionRestore = __esm(() => {
548392
548395
  });
548393
548396
 
548394
548397
  // src/hooks/useInboxPoller.ts
548395
- import { randomUUID as randomUUID43 } from "crypto";
548398
+ import { randomUUID as randomUUID46 } from "crypto";
548396
548399
  function getAgentNameToPoll(appState) {
548397
548400
  if (isInProcessTeammate()) {
548398
548401
  return;
@@ -548809,7 +548812,7 @@ function useInboxPoller({
548809
548812
  messages: [
548810
548813
  ...prev.inbox.messages,
548811
548814
  {
548812
- id: randomUUID43(),
548815
+ id: randomUUID46(),
548813
548816
  from: "system",
548814
548817
  text: jsonStringify({
548815
548818
  type: "teammate_terminated",
@@ -548849,7 +548852,7 @@ ${messageContent}
548849
548852
  messages: [
548850
548853
  ...prev.inbox.messages,
548851
548854
  ...regularMessages.map((m) => ({
548852
- id: randomUUID43(),
548855
+ id: randomUUID46(),
548853
548856
  from: m.from,
548854
548857
  text: m.text,
548855
548858
  timestamp: m.timestamp,
@@ -549688,7 +549691,7 @@ async function submitTranscriptShare() {
549688
549691
  }
549689
549692
 
549690
549693
  // src/components/FeedbackSurvey/useSurveyState.tsx
549691
- import { randomUUID as randomUUID44 } from "crypto";
549694
+ import { randomUUID as randomUUID47 } from "crypto";
549692
549695
  function useSurveyState({
549693
549696
  hideThanksAfterMs,
549694
549697
  onOpen,
@@ -549699,7 +549702,7 @@ function useSurveyState({
549699
549702
  }) {
549700
549703
  const [state2, setState] = import_react291.useState("closed");
549701
549704
  const [lastResponse, setLastResponse] = import_react291.useState(null);
549702
- const appearanceId = import_react291.useRef(randomUUID44());
549705
+ const appearanceId = import_react291.useRef(randomUUID47());
549703
549706
  const lastResponseRef = import_react291.useRef(null);
549704
549707
  const showThanksThenClose = import_react291.useCallback(() => {
549705
549708
  setState("thanks");
@@ -549717,7 +549720,7 @@ function useSurveyState({
549717
549720
  return;
549718
549721
  }
549719
549722
  setState("open");
549720
- appearanceId.current = randomUUID44();
549723
+ appearanceId.current = randomUUID47();
549721
549724
  onOpen(appearanceId.current);
549722
549725
  }, [state2, onOpen]);
549723
549726
  const handleSelect = import_react291.useCallback((selected) => {
@@ -552624,7 +552627,7 @@ var init_ndjsonSafeStringify = __esm(() => {
552624
552627
  });
552625
552628
 
552626
552629
  // src/cli/structuredIO.ts
552627
- import { randomUUID as randomUUID45 } from "crypto";
552630
+ import { randomUUID as randomUUID48 } from "crypto";
552628
552631
  function serializeDecisionReason(reason) {
552629
552632
  if (!reason) {
552630
552633
  return;
@@ -552877,7 +552880,7 @@ class StructuredIO {
552877
552880
  writeToStdout(ndjsonSafeStringify(message) + `
552878
552881
  `);
552879
552882
  }
552880
- async sendRequest(request, schema, signal, requestId = randomUUID45()) {
552883
+ async sendRequest(request, schema, signal, requestId = randomUUID48()) {
552881
552884
  const message = {
552882
552885
  type: "control_request",
552883
552886
  request_id: requestId,
@@ -552943,7 +552946,7 @@ class StructuredIO {
552943
552946
  parentSignal.addEventListener("abort", onParentAbort, { once: true });
552944
552947
  try {
552945
552948
  const hookPromise = executePermissionRequestHooksForSDK(tool.name, toolUseID, input, toolUseContext, mainPermissionResult.suggestions).then((decision) => ({ source: "hook", decision }));
552946
- const requestId = randomUUID45();
552949
+ const requestId = randomUUID48();
552947
552950
  onPermissionPrompt?.(buildRequiresActionDetails(tool, input, toolUseID, requestId));
552948
552951
  const sdkPromise = this.sendRequest({
552949
552952
  subtype: "can_use_tool",
@@ -553023,7 +553026,7 @@ class StructuredIO {
553023
553026
  subtype: "can_use_tool",
553024
553027
  tool_name: SANDBOX_NETWORK_ACCESS_TOOL_NAME,
553025
553028
  input: { host: hostPattern.host },
553026
- tool_use_id: randomUUID45(),
553029
+ tool_use_id: randomUUID48(),
553027
553030
  description: `Allow network connection to ${hostPattern.host}?`
553028
553031
  }, outputSchema35());
553029
553032
  return result.behavior === "allow";
@@ -557621,7 +557624,7 @@ __export(exports_REPL, {
557621
557624
  import { dirname as dirname59, join as join149 } from "path";
557622
557625
  import { tmpdir as tmpdir10 } from "os";
557623
557626
  import { writeFile as writeFile51 } from "fs/promises";
557624
- import { randomUUID as randomUUID46 } from "crypto";
557627
+ import { randomUUID as randomUUID49 } from "crypto";
557625
557628
  function TranscriptModeFooter(t0) {
557626
557629
  const $2 = import_react_compiler_runtime351.c(9);
557627
557630
  const {
@@ -558386,7 +558389,7 @@ function REPL({
558386
558389
  const [isMessageSelectorVisible, setIsMessageSelectorVisible] = import_react318.useState(false);
558387
558390
  const [messageSelectorPreselect, setMessageSelectorPreselect] = import_react318.useState(undefined);
558388
558391
  const [showCostDialog, setShowCostDialog] = import_react318.useState(false);
558389
- const [conversationId, setConversationId] = import_react318.useState(randomUUID46());
558392
+ const [conversationId, setConversationId] = import_react318.useState(randomUUID49());
558390
558393
  const [idleReturnPending, setIdleReturnPending] = import_react318.useState(null);
558391
558394
  const skipIdleCheckRef = import_react318.useRef(false);
558392
558395
  const lastQueryCompletionTimeRef = import_react318.useRef(lastQueryCompletionTime);
@@ -559144,7 +559147,7 @@ Error: sandbox required but unavailable: ${reason}
559144
559147
  } else {
559145
559148
  setMessages(() => [newMessage]);
559146
559149
  }
559147
- setConversationId(randomUUID46());
559150
+ setConversationId(randomUUID49());
559148
559151
  if (false) {}
559149
559152
  } else if (newMessage.type === "progress" && isEphemeralToolProgress(newMessage.data.type)) {
559150
559153
  setMessages((oldMessages) => {
@@ -559220,7 +559223,7 @@ Error: sandbox required but unavailable: ${reason}
559220
559223
  });
559221
559224
  if (!shouldQuery) {
559222
559225
  if (newMessages.some(isCompactBoundaryMessage)) {
559223
- setConversationId(randomUUID46());
559226
+ setConversationId(randomUUID49());
559224
559227
  if (false) {}
559225
559228
  }
559226
559229
  resetLoadingState();
@@ -559853,7 +559856,7 @@ Error: sandbox required but unavailable: ${reason}
559853
559856
  rewindToMessageIndex: messageIndex
559854
559857
  });
559855
559858
  setMessages(prev.slice(0, messageIndex));
559856
- setConversationId(randomUUID46());
559859
+ setConversationId(randomUUID49());
559857
559860
  resetMicrocompactState();
559858
559861
  if (false) {}
559859
559862
  setAppState((prev2) => ({
@@ -561030,7 +561033,7 @@ Note: ctrl + z now suspends ZeroCLI, ctrl + _ undoes input.
561030
561033
  setMessages(postCompact);
561031
561034
  }
561032
561035
  if (false) {}
561033
- setConversationId(randomUUID46());
561036
+ setConversationId(randomUUID49());
561034
561037
  runPostCompactCleanup(context6.options.querySource);
561035
561038
  if (direction === "from") {
561036
561039
  const r = textForResubmit(message);
@@ -562539,7 +562542,7 @@ function WelcomeV2() {
562539
562542
  dimColor: true,
562540
562543
  children: [
562541
562544
  "v",
562542
- "0.9.4",
562545
+ "0.9.5",
562543
562546
  " "
562544
562547
  ]
562545
562548
  })
@@ -562773,7 +562776,7 @@ function WelcomeV2() {
562773
562776
  dimColor: true,
562774
562777
  children: [
562775
562778
  "v",
562776
- "0.9.4",
562779
+ "0.9.5",
562777
562780
  " "
562778
562781
  ]
562779
562782
  })
@@ -563020,7 +563023,7 @@ function AppleTerminalWelcomeV2(t0) {
563020
563023
  dimColor: true,
563021
563024
  children: [
563022
563025
  "v",
563023
- "0.9.4",
563026
+ "0.9.5",
563024
563027
  " "
563025
563028
  ]
563026
563029
  });
@@ -563293,7 +563296,7 @@ function AppleTerminalWelcomeV2(t0) {
563293
563296
  dimColor: true,
563294
563297
  children: [
563295
563298
  "v",
563296
- "0.9.4",
563299
+ "0.9.5",
563297
563300
  " "
563298
563301
  ]
563299
563302
  });
@@ -564805,7 +564808,7 @@ function completeOnboarding() {
564805
564808
  saveGlobalConfig((current) => ({
564806
564809
  ...current,
564807
564810
  hasCompletedOnboarding: true,
564808
- lastOnboardingVersion: "0.9.4"
564811
+ lastOnboardingVersion: "0.9.5"
564809
564812
  }));
564810
564813
  }
564811
564814
  function showDialog(root2, renderer) {
@@ -569056,7 +569059,7 @@ function appendToLog(path24, message) {
569056
569059
  cwd: getFsImplementation().cwd(),
569057
569060
  userType: process.env.USER_TYPE,
569058
569061
  sessionId: getSessionId(),
569059
- version: "0.9.4"
569062
+ version: "0.9.5"
569060
569063
  };
569061
569064
  getLogWriter(path24).write(messageWithTimestamp);
569062
569065
  }
@@ -569662,7 +569665,7 @@ async function startMCPServer(cwd2, debug, verbose) {
569662
569665
  setCwd(cwd2);
569663
569666
  const server = new Server({
569664
569667
  name: "claude/tengu",
569665
- version: "0.9.4"
569668
+ version: "0.9.5"
569666
569669
  }, {
569667
569670
  capabilities: {
569668
569671
  tools: {}
@@ -571272,7 +571275,7 @@ function coalescePatches(base2, overlay) {
571272
571275
  var init_WorkerStateUploader = () => {};
571273
571276
 
571274
571277
  // src/cli/transports/ccrClient.ts
571275
- import { randomUUID as randomUUID47 } from "crypto";
571278
+ import { randomUUID as randomUUID50 } from "crypto";
571276
571279
  function alwaysValidStatus() {
571277
571280
  return true;
571278
571281
  }
@@ -571633,7 +571636,7 @@ class CCRClient {
571633
571636
  return {
571634
571637
  payload: {
571635
571638
  ...msg,
571636
- uuid: typeof msg.uuid === "string" ? msg.uuid : randomUUID47()
571639
+ uuid: typeof msg.uuid === "string" ? msg.uuid : randomUUID50()
571637
571640
  }
571638
571641
  };
571639
571642
  }
@@ -571657,7 +571660,7 @@ class CCRClient {
571657
571660
  payload: {
571658
571661
  type: eventType,
571659
571662
  ...payload,
571660
- uuid: typeof payload.uuid === "string" ? payload.uuid : randomUUID47()
571663
+ uuid: typeof payload.uuid === "string" ? payload.uuid : randomUUID50()
571661
571664
  },
571662
571665
  ...isCompaction && { is_compaction: true },
571663
571666
  ...agentId && { agent_id: agentId }
@@ -573166,7 +573169,7 @@ var init_queryContext = __esm(() => {
573166
573169
  });
573167
573170
 
573168
573171
  // src/QueryEngine.ts
573169
- import { randomUUID as randomUUID48 } from "crypto";
573172
+ import { randomUUID as randomUUID51 } from "crypto";
573170
573173
 
573171
573174
  class QueryEngine {
573172
573175
  config;
@@ -573468,7 +573471,7 @@ class QueryEngine {
573468
573471
  modelUsage: getModelUsage(),
573469
573472
  permission_denials: this.permissionDenials,
573470
573473
  fast_mode_state: getFastModeState(mainLoopModel, initialAppState.fastMode),
573471
- uuid: randomUUID48()
573474
+ uuid: randomUUID51()
573472
573475
  };
573473
573476
  return;
573474
573477
  }
@@ -573591,7 +573594,7 @@ class QueryEngine {
573591
573594
  event: message.event,
573592
573595
  session_id: getSessionId(),
573593
573596
  parent_tool_use_id: null,
573594
- uuid: randomUUID48()
573597
+ uuid: randomUUID51()
573595
573598
  };
573596
573599
  }
573597
573600
  break;
@@ -573623,7 +573626,7 @@ class QueryEngine {
573623
573626
  modelUsage: getModelUsage(),
573624
573627
  permission_denials: this.permissionDenials,
573625
573628
  fast_mode_state: getFastModeState(mainLoopModel, initialAppState.fastMode),
573626
- uuid: randomUUID48(),
573629
+ uuid: randomUUID51(),
573627
573630
  errors: [
573628
573631
  `Reached maximum number of turns (${message.attachment.maxTurns})`
573629
573632
  ]
@@ -573718,7 +573721,7 @@ class QueryEngine {
573718
573721
  modelUsage: getModelUsage(),
573719
573722
  permission_denials: this.permissionDenials,
573720
573723
  fast_mode_state: getFastModeState(mainLoopModel, initialAppState.fastMode),
573721
- uuid: randomUUID48(),
573724
+ uuid: randomUUID51(),
573722
573725
  errors: [`Reached maximum budget ($${maxBudgetUsd})`]
573723
573726
  };
573724
573727
  return;
@@ -573747,7 +573750,7 @@ class QueryEngine {
573747
573750
  modelUsage: getModelUsage(),
573748
573751
  permission_denials: this.permissionDenials,
573749
573752
  fast_mode_state: getFastModeState(mainLoopModel, initialAppState.fastMode),
573750
- uuid: randomUUID48(),
573753
+ uuid: randomUUID51(),
573751
573754
  errors: [
573752
573755
  `Failed to provide valid structured output after ${maxRetries} attempts`
573753
573756
  ]
@@ -573779,7 +573782,7 @@ class QueryEngine {
573779
573782
  modelUsage: getModelUsage(),
573780
573783
  permission_denials: this.permissionDenials,
573781
573784
  fast_mode_state: getFastModeState(mainLoopModel, initialAppState.fastMode),
573782
- uuid: randomUUID48(),
573785
+ uuid: randomUUID51(),
573783
573786
  errors: (() => {
573784
573787
  const all6 = getInMemoryErrors();
573785
573788
  const start = errorLogWatermark ? all6.lastIndexOf(errorLogWatermark) + 1 : 0;
@@ -573816,7 +573819,7 @@ class QueryEngine {
573816
573819
  permission_denials: this.permissionDenials,
573817
573820
  structured_output: structuredOutputFromTool,
573818
573821
  fast_mode_state: getFastModeState(mainLoopModel, initialAppState.fastMode),
573819
- uuid: randomUUID48()
573822
+ uuid: randomUUID51()
573820
573823
  };
573821
573824
  }
573822
573825
  interrupt() {
@@ -573994,7 +573997,7 @@ var init_idleTimeout = __esm(() => {
573994
573997
  });
573995
573998
 
573996
573999
  // src/bridge/inboundAttachments.ts
573997
- import { randomUUID as randomUUID49 } from "crypto";
574000
+ import { randomUUID as randomUUID52 } from "crypto";
573998
574001
  import { mkdir as mkdir48, writeFile as writeFile53 } from "fs/promises";
573999
574002
  import { basename as basename61, join as join153 } from "path";
574000
574003
  function debug(msg) {
@@ -574039,7 +574042,7 @@ async function resolveOne(att) {
574039
574042
  return;
574040
574043
  }
574041
574044
  const safeName = sanitizeFileName(att.file_name);
574042
- const prefix = (att.file_uuid.slice(0, 8) || randomUUID49().slice(0, 8)).replace(/[^a-zA-Z0-9_-]/g, "_");
574045
+ const prefix = (att.file_uuid.slice(0, 8) || randomUUID52().slice(0, 8)).replace(/[^a-zA-Z0-9_-]/g, "_");
574043
574046
  const dir = uploadsDir();
574044
574047
  const outPath = join153(dir, `${prefix}-${safeName}`);
574045
574048
  try {
@@ -574103,11 +574106,11 @@ var init_inboundAttachments = __esm(() => {
574103
574106
  });
574104
574107
 
574105
574108
  // src/utils/sessionUrl.ts
574106
- import { randomUUID as randomUUID50 } from "crypto";
574109
+ import { randomUUID as randomUUID53 } from "crypto";
574107
574110
  function parseSessionIdentifier(resumeIdentifier) {
574108
574111
  if (resumeIdentifier.toLowerCase().endsWith(".jsonl")) {
574109
574112
  return {
574110
- sessionId: randomUUID50(),
574113
+ sessionId: randomUUID53(),
574111
574114
  ingressUrl: null,
574112
574115
  isUrl: false,
574113
574116
  jsonlFile: resumeIdentifier,
@@ -574126,7 +574129,7 @@ function parseSessionIdentifier(resumeIdentifier) {
574126
574129
  try {
574127
574130
  const url4 = new URL(resumeIdentifier);
574128
574131
  return {
574129
- sessionId: randomUUID50(),
574132
+ sessionId: randomUUID53(),
574130
574133
  ingressUrl: url4.href,
574131
574134
  isUrl: true,
574132
574135
  jsonlFile: null,
@@ -574301,8 +574304,8 @@ async function getEnvLessBridgeConfig() {
574301
574304
  }
574302
574305
  async function checkEnvLessBridgeMinVersion() {
574303
574306
  const cfg = await getEnvLessBridgeConfig();
574304
- if (cfg.min_version && lt("0.9.4", cfg.min_version)) {
574305
- return `Your version of ZeroCLI (${"0.9.4"}) is too old for Remote Control.
574307
+ if (cfg.min_version && lt("0.9.5", cfg.min_version)) {
574308
+ return `Your version of ZeroCLI (${"0.9.5"}) is too old for Remote Control.
574306
574309
  Version ${cfg.min_version} or higher is required. Run \`zero update\` to update.`;
574307
574310
  }
574308
574311
  return null;
@@ -574735,7 +574738,7 @@ var init_bridgePointer = __esm(() => {
574735
574738
  });
574736
574739
 
574737
574740
  // src/bridge/replBridge.ts
574738
- import { randomUUID as randomUUID51 } from "crypto";
574741
+ import { randomUUID as randomUUID54 } from "crypto";
574739
574742
  async function initBridgeCore(params) {
574740
574743
  const {
574741
574744
  dir,
@@ -574777,7 +574780,7 @@ async function initBridgeCore(params) {
574777
574780
  const rawApi = createBridgeApiClient({
574778
574781
  baseUrl,
574779
574782
  getAccessToken,
574780
- runnerVersion: "0.9.4",
574783
+ runnerVersion: "0.9.5",
574781
574784
  onDebug: logForDebugging,
574782
574785
  onAuth401,
574783
574786
  getTrustedDeviceToken
@@ -574792,9 +574795,9 @@ async function initBridgeCore(params) {
574792
574795
  spawnMode: "single-session",
574793
574796
  verbose: false,
574794
574797
  sandbox: false,
574795
- bridgeId: randomUUID51(),
574798
+ bridgeId: randomUUID54(),
574796
574799
  workerType,
574797
- environmentId: randomUUID51(),
574800
+ environmentId: randomUUID54(),
574798
574801
  reuseEnvironmentId: prior?.environmentId,
574799
574802
  apiBaseUrl: baseUrl,
574800
574803
  sessionIngressUrl
@@ -576642,7 +576645,7 @@ __export(exports_print, {
576642
576645
  import { readFile as readFile55, stat as stat55 } from "fs/promises";
576643
576646
  import { dirname as dirname63 } from "path";
576644
576647
  import { cwd as cwd3 } from "process";
576645
- import { randomUUID as randomUUID52 } from "crypto";
576648
+ import { randomUUID as randomUUID55 } from "crypto";
576646
576649
  function trackReceivedMessageUuid(uuid3) {
576647
576650
  if (receivedMessageUuids.has(uuid3)) {
576648
576651
  return false;
@@ -576762,7 +576765,7 @@ Error: sandbox required but unavailable: ${sandboxUnavailableReason}
576762
576765
  hook_id: event.hookId,
576763
576766
  hook_name: event.hookName,
576764
576767
  hook_event: event.hookEvent,
576765
- uuid: randomUUID52(),
576768
+ uuid: randomUUID55(),
576766
576769
  session_id: getSessionId()
576767
576770
  };
576768
576771
  case "progress":
@@ -576775,7 +576778,7 @@ Error: sandbox required but unavailable: ${sandboxUnavailableReason}
576775
576778
  stdout: event.stdout,
576776
576779
  stderr: event.stderr,
576777
576780
  output: event.output,
576778
- uuid: randomUUID52(),
576781
+ uuid: randomUUID55(),
576779
576782
  session_id: getSessionId()
576780
576783
  };
576781
576784
  case "response":
@@ -576790,7 +576793,7 @@ Error: sandbox required but unavailable: ${sandboxUnavailableReason}
576790
576793
  stderr: event.stderr,
576791
576794
  exit_code: event.exitCode,
576792
576795
  outcome: event.outcome,
576793
- uuid: randomUUID52(),
576796
+ uuid: randomUUID55(),
576794
576797
  session_id: getSessionId()
576795
576798
  };
576796
576799
  }
@@ -576990,7 +576993,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
576990
576993
  subtype: "status",
576991
576994
  status: null,
576992
576995
  permissionMode: newMode,
576993
- uuid: randomUUID52(),
576996
+ uuid: randomUUID55(),
576994
576997
  session_id: getSessionId()
576995
576998
  });
576996
576999
  }
@@ -577011,7 +577014,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
577011
577014
  isAuthenticating: status2.isAuthenticating,
577012
577015
  output: status2.output,
577013
577016
  error: status2.error,
577014
- uuid: randomUUID52(),
577017
+ uuid: randomUUID55(),
577015
577018
  session_id: getSessionId()
577016
577019
  });
577017
577020
  });
@@ -577022,7 +577025,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
577022
577025
  output.enqueue({
577023
577026
  type: "rate_limit_event",
577024
577027
  rate_limit_info: rateLimitInfo,
577025
- uuid: randomUUID52(),
577028
+ uuid: randomUUID55(),
577026
577029
  session_id: getSessionId()
577027
577030
  });
577028
577031
  }
@@ -577038,7 +577041,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
577038
577041
  enqueue({
577039
577042
  mode: "prompt",
577040
577043
  value: turnInterruptionState.message.message.content,
577041
- uuid: randomUUID52()
577044
+ uuid: randomUUID55()
577042
577045
  });
577043
577046
  }
577044
577047
  const modelOptions = getModelOptions();
@@ -577131,7 +577134,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
577131
577134
  subtype: "elicitation_complete",
577132
577135
  mcp_server_name: serverName,
577133
577136
  elicitation_id: elicitationId,
577134
- uuid: randomUUID52(),
577137
+ uuid: randomUUID55(),
577135
577138
  session_id: getSessionId()
577136
577139
  });
577137
577140
  });
@@ -577477,7 +577480,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
577477
577480
  duration_ms: durationMsMatch ? parseInt(durationMsMatch[1], 10) : 0
577478
577481
  } : undefined,
577479
577482
  session_id: getSessionId(),
577480
- uuid: randomUUID52()
577483
+ uuid: randomUUID55()
577481
577484
  });
577482
577485
  }
577483
577486
  }
@@ -577551,7 +577554,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
577551
577554
  subtype: "status",
577552
577555
  status: status2,
577553
577556
  session_id: getSessionId(),
577554
- uuid: randomUUID52()
577557
+ uuid: randomUUID55()
577555
577558
  });
577556
577559
  }
577557
577560
  })) {
@@ -577599,7 +577602,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
577599
577602
  const suggestionMsg = {
577600
577603
  type: "prompt_suggestion",
577601
577604
  suggestion: result.suggestion,
577602
- uuid: randomUUID52(),
577605
+ uuid: randomUUID55(),
577603
577606
  session_id: getSessionId()
577604
577607
  };
577605
577608
  const lastEmittedEntry = {
@@ -577689,7 +577692,7 @@ function runHeadlessStreaming(structuredIO, mcpClients, commands, tools, initial
577689
577692
  usage: EMPTY_USAGE,
577690
577693
  modelUsage: {},
577691
577694
  permission_denials: [],
577692
- uuid: randomUUID52(),
577695
+ uuid: randomUUID55(),
577693
577696
  errors: [
577694
577697
  errorMessage(error42),
577695
577698
  ...getInMemoryErrors().map((_) => _.error)
@@ -577773,7 +577776,7 @@ ${m.text}
577773
577776
  enqueue({
577774
577777
  mode: "prompt",
577775
577778
  value: formatted,
577776
- uuid: randomUUID52()
577779
+ uuid: randomUUID55()
577777
577780
  });
577778
577781
  run();
577779
577782
  return;
@@ -577784,7 +577787,7 @@ ${m.text}
577784
577787
  enqueue({
577785
577788
  mode: "prompt",
577786
577789
  value: SHUTDOWN_TEAM_PROMPT,
577787
- uuid: randomUUID52()
577790
+ uuid: randomUUID55()
577788
577791
  });
577789
577792
  run();
577790
577793
  return;
@@ -577808,7 +577811,7 @@ ${m.text}
577808
577811
  enqueue({
577809
577812
  mode: "prompt",
577810
577813
  value: SHUTDOWN_TEAM_PROMPT,
577811
- uuid: randomUUID52()
577814
+ uuid: randomUUID55()
577812
577815
  });
577813
577816
  run();
577814
577817
  } else {
@@ -577835,7 +577838,7 @@ ${m.text}
577835
577838
  enqueue({
577836
577839
  mode: "prompt",
577837
577840
  value: prompt,
577838
- uuid: randomUUID52(),
577841
+ uuid: randomUUID55(),
577839
577842
  priority: "later",
577840
577843
  isMeta: true,
577841
577844
  workload: WORKLOAD_CRON
@@ -578580,7 +578583,7 @@ ${m.text}
578580
578583
  subtype: "bridge_state",
578581
578584
  state: state2,
578582
578585
  detail,
578583
- uuid: randomUUID52(),
578586
+ uuid: randomUUID55(),
578584
578587
  session_id: getSessionId()
578585
578588
  });
578586
578589
  },
@@ -578892,7 +578895,7 @@ async function handleInitializeRequest(request, requestId, initialized5, output,
578892
578895
  isAuthenticating: status2.isAuthenticating,
578893
578896
  output: status2.output,
578894
578897
  error: status2.error,
578895
- uuid: randomUUID52(),
578898
+ uuid: randomUUID55(),
578896
578899
  session_id: getSessionId()
578897
578900
  });
578898
578901
  }
@@ -579100,7 +579103,7 @@ function emitLoadError(message, outputFormat) {
579100
579103
  usage: EMPTY_USAGE,
579101
579104
  modelUsage: {},
579102
579105
  permission_denials: [],
579103
- uuid: randomUUID52(),
579106
+ uuid: randomUUID55(),
579104
579107
  errors: [message]
579105
579108
  };
579106
579109
  process.stdout.write(jsonStringify(errorResult) + `
@@ -581065,7 +581068,7 @@ __export(exports_update2, {
581065
581068
  });
581066
581069
  async function update2() {
581067
581070
  logEvent("tengu_update_check", {});
581068
- writeToStdout(`Current version: ${"0.9.4"}
581071
+ writeToStdout(`Current version: ${"0.9.5"}
581069
581072
  `);
581070
581073
  const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
581071
581074
  writeToStdout(`Checking for updates to ${channel2} version...
@@ -581140,8 +581143,8 @@ async function update2() {
581140
581143
  writeToStdout(`Zero is managed by Homebrew.
581141
581144
  `);
581142
581145
  const latest = await getLatestVersion(channel2);
581143
- if (latest && !gte("0.9.4", latest)) {
581144
- writeToStdout(`Update available: ${"0.9.4"} → ${latest}
581146
+ if (latest && !gte("0.9.5", latest)) {
581147
+ writeToStdout(`Update available: ${"0.9.5"} → ${latest}
581145
581148
  `);
581146
581149
  writeToStdout(`
581147
581150
  `);
@@ -581157,8 +581160,8 @@ async function update2() {
581157
581160
  writeToStdout(`Zero is managed by winget.
581158
581161
  `);
581159
581162
  const latest = await getLatestVersion(channel2);
581160
- if (latest && !gte("0.9.4", latest)) {
581161
- writeToStdout(`Update available: ${"0.9.4"} → ${latest}
581163
+ if (latest && !gte("0.9.5", latest)) {
581164
+ writeToStdout(`Update available: ${"0.9.5"} → ${latest}
581162
581165
  `);
581163
581166
  writeToStdout(`
581164
581167
  `);
@@ -581174,8 +581177,8 @@ async function update2() {
581174
581177
  writeToStdout(`Zero is managed by apk.
581175
581178
  `);
581176
581179
  const latest = await getLatestVersion(channel2);
581177
- if (latest && !gte("0.9.4", latest)) {
581178
- writeToStdout(`Update available: ${"0.9.4"} → ${latest}
581180
+ if (latest && !gte("0.9.5", latest)) {
581181
+ writeToStdout(`Update available: ${"0.9.5"} → ${latest}
581179
581182
  `);
581180
581183
  writeToStdout(`
581181
581184
  `);
@@ -581240,11 +581243,11 @@ async function update2() {
581240
581243
  `);
581241
581244
  await gracefulShutdown(1);
581242
581245
  }
581243
- if (result.latestVersion === "0.9.4") {
581244
- writeToStdout(source_default.green(`Zero CLI is up to date (${"0.9.4"})`) + `
581246
+ if (result.latestVersion === "0.9.5") {
581247
+ writeToStdout(source_default.green(`Zero CLI is up to date (${"0.9.5"})`) + `
581245
581248
  `);
581246
581249
  } else {
581247
- writeToStdout(source_default.green(`Successfully updated from ${"0.9.4"} to version ${result.latestVersion}`) + `
581250
+ writeToStdout(source_default.green(`Successfully updated from ${"0.9.5"} to version ${result.latestVersion}`) + `
581248
581251
  `);
581249
581252
  await regenerateCompletionCache();
581250
581253
  }
@@ -581304,12 +581307,12 @@ async function update2() {
581304
581307
  `);
581305
581308
  await gracefulShutdown(1);
581306
581309
  }
581307
- if (latestVersion === "0.9.4") {
581308
- writeToStdout(source_default.green(`Zero CLI is up to date (${"0.9.4"})`) + `
581310
+ if (latestVersion === "0.9.5") {
581311
+ writeToStdout(source_default.green(`Zero CLI is up to date (${"0.9.5"})`) + `
581309
581312
  `);
581310
581313
  await gracefulShutdown(0);
581311
581314
  }
581312
- writeToStdout(`New version available: ${latestVersion} (current: ${"0.9.4"})
581315
+ writeToStdout(`New version available: ${latestVersion} (current: ${"0.9.5"})
581313
581316
  `);
581314
581317
  writeToStdout(`Installing update...
581315
581318
  `);
@@ -581354,7 +581357,7 @@ async function update2() {
581354
581357
  logForDebugging(`update: Installation status: ${status2}`);
581355
581358
  switch (status2) {
581356
581359
  case "success":
581357
- writeToStdout(source_default.green(`Successfully updated from ${"0.9.4"} to version ${latestVersion}`) + `
581360
+ writeToStdout(source_default.green(`Successfully updated from ${"0.9.5"} to version ${latestVersion}`) + `
581358
581361
  `);
581359
581362
  await regenerateCompletionCache();
581360
581363
  break;
@@ -582655,7 +582658,7 @@ ${customInstructions}` : customInstructions;
582655
582658
  }
582656
582659
  }
582657
582660
  logForDiagnosticsNoPII("info", "started", {
582658
- version: "0.9.4",
582661
+ version: "0.9.5",
582659
582662
  is_native_binary: isInBundledMode()
582660
582663
  });
582661
582664
  registerCleanup(async () => {
@@ -583538,7 +583541,7 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
583538
583541
  pendingHookMessages
583539
583542
  }, renderAndRun);
583540
583543
  }
583541
- }).version("0.9.4", "-v, --version", "Output the version number");
583544
+ }).version("0.9.5", "-v, --version", "Output the version number");
583542
583545
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
583543
583546
  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
583547
  if (canUserConfigureAdvisor()) {
@@ -584204,7 +584207,7 @@ if (false) {}
584204
584207
  async function main2() {
584205
584208
  const args = process.argv.slice(2);
584206
584209
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
584207
- console.log(`${"0.9.4"} (ZeroCLI)`);
584210
+ console.log(`${"0.9.5"} (ZeroCLI)`);
584208
584211
  return;
584209
584212
  }
584210
584213
  if (args.includes("--provider")) {
@@ -584346,4 +584349,4 @@ async function main2() {
584346
584349
  }
584347
584350
  main2();
584348
584351
 
584349
- //# debugId=C6156E411B8F3BDB64756E2164756E21
584352
+ //# debugId=93A40B18BC7C0BDA64756E2164756E21