localclawd 2.0.7 → 2.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.mjs CHANGED
@@ -87608,7 +87608,7 @@ var init_isEqual = __esm(() => {
87608
87608
 
87609
87609
  // src/utils/userAgent.ts
87610
87610
  function getClaudeCodeUserAgent() {
87611
- return `claude-code/${"2.0.7"}`;
87611
+ return `claude-code/${"2.0.8"}`;
87612
87612
  }
87613
87613
 
87614
87614
  // src/utils/workloadContext.ts
@@ -87630,7 +87630,7 @@ function getUserAgent() {
87630
87630
  const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
87631
87631
  const workload = getWorkload();
87632
87632
  const workloadSuffix = workload ? `, workload/${workload}` : "";
87633
- return `claude-cli/${"2.0.7"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
87633
+ return `claude-cli/${"2.0.8"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
87634
87634
  }
87635
87635
  function getMCPUserAgent() {
87636
87636
  const parts = [];
@@ -87644,7 +87644,7 @@ function getMCPUserAgent() {
87644
87644
  parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
87645
87645
  }
87646
87646
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
87647
- return `claude-code/${"2.0.7"}${suffix}`;
87647
+ return `claude-code/${"2.0.8"}${suffix}`;
87648
87648
  }
87649
87649
  function getWebFetchUserAgent() {
87650
87650
  return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -130791,7 +130791,7 @@ function getAttributionHeader(fingerprint) {
130791
130791
  if (!isAttributionHeaderEnabled()) {
130792
130792
  return "";
130793
130793
  }
130794
- const version = `${"2.0.7"}.${fingerprint}`;
130794
+ const version = `${"2.0.8"}.${fingerprint}`;
130795
130795
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
130796
130796
  const cch = "";
130797
130797
  const workload = getWorkload();
@@ -146980,7 +146980,7 @@ var init_metadata = __esm(() => {
146980
146980
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
146981
146981
  WHITESPACE_REGEX = /\s+/;
146982
146982
  getVersionBase = memoize_default(() => {
146983
- const match = "2.0.7".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
146983
+ const match = "2.0.8".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
146984
146984
  return match ? match[0] : undefined;
146985
146985
  });
146986
146986
  buildEnvContext = memoize_default(async () => {
@@ -147020,9 +147020,9 @@ var init_metadata = __esm(() => {
147020
147020
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
147021
147021
  isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
147022
147022
  isClaudeAiAuth: isClaudeAISubscriber(),
147023
- version: "2.0.7",
147023
+ version: "2.0.8",
147024
147024
  versionBase: getVersionBase(),
147025
- buildTime: "2026-05-07T21:33:01.679Z",
147025
+ buildTime: "2026-05-09T15:53:14.625Z",
147026
147026
  deploymentEnvironment: env3.detectDeploymentEnvironment(),
147027
147027
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
147028
147028
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -179598,7 +179598,7 @@ function getTelemetryAttributes() {
179598
179598
  attributes["session.id"] = sessionId;
179599
179599
  }
179600
179600
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
179601
- attributes["app.version"] = "2.0.7";
179601
+ attributes["app.version"] = "2.0.8";
179602
179602
  }
179603
179603
  const oauthAccount = getOauthAccountInfo();
179604
179604
  if (oauthAccount) {
@@ -242402,7 +242402,7 @@ function getInstallationEnv() {
242402
242402
  return;
242403
242403
  }
242404
242404
  function getClaudeCodeVersion() {
242405
- return "2.0.7";
242405
+ return "2.0.8";
242406
242406
  }
242407
242407
  async function getInstalledVSCodeExtensionVersion(command) {
242408
242408
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -247676,7 +247676,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
247676
247676
  const client4 = new Client({
247677
247677
  name: "localclawd",
247678
247678
  title: "localclawd",
247679
- version: "2.0.7",
247679
+ version: "2.0.8",
247680
247680
  description: "local-first AI coding tool",
247681
247681
  websiteUrl: PRODUCT_URL
247682
247682
  }, {
@@ -248018,7 +248018,7 @@ var init_client9 = __esm(() => {
248018
248018
  const client4 = new Client({
248019
248019
  name: "localclawd",
248020
248020
  title: "localclawd",
248021
- version: "2.0.7",
248021
+ version: "2.0.8",
248022
248022
  description: "local-first AI coding tool",
248023
248023
  websiteUrl: PRODUCT_URL
248024
248024
  }, {
@@ -262420,7 +262420,7 @@ function computeFingerprint(messageText, version) {
262420
262420
  }
262421
262421
  function computeFingerprintFromMessages(messages) {
262422
262422
  const firstMessageText = extractFirstMessageText(messages);
262423
- return computeFingerprint(firstMessageText, "2.0.7");
262423
+ return computeFingerprint(firstMessageText, "2.0.8");
262424
262424
  }
262425
262425
  var FINGERPRINT_SALT = "59cf53e54c78";
262426
262426
  var init_fingerprint = () => {};
@@ -262462,7 +262462,7 @@ async function sideQuery(opts) {
262462
262462
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
262463
262463
  }
262464
262464
  const messageText = extractFirstUserMessageText(messages);
262465
- const fingerprint = computeFingerprint(messageText, "2.0.7");
262465
+ const fingerprint = computeFingerprint(messageText, "2.0.8");
262466
262466
  const attributionHeader = getAttributionHeader(fingerprint);
262467
262467
  const systemBlocks = [
262468
262468
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -283210,7 +283210,7 @@ var init_user = __esm(() => {
283210
283210
  deviceId,
283211
283211
  sessionId: getSessionId(),
283212
283212
  email: getEmail(),
283213
- appVersion: "2.0.7",
283213
+ appVersion: "2.0.8",
283214
283214
  platform: getHostPlatformForAnalytics(),
283215
283215
  organizationUuid,
283216
283216
  accountUuid,
@@ -284275,7 +284275,7 @@ async function initializeBetaTracing(resource) {
284275
284275
  });
284276
284276
  logs.setGlobalLoggerProvider(loggerProvider);
284277
284277
  setLoggerProvider(loggerProvider);
284278
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "2.0.7");
284278
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "2.0.8");
284279
284279
  setEventLogger(eventLogger);
284280
284280
  process.on("beforeExit", async () => {
284281
284281
  await loggerProvider?.forceFlush();
@@ -284315,7 +284315,7 @@ async function initializeTelemetry() {
284315
284315
  const platform2 = getPlatform();
284316
284316
  const baseAttributes = {
284317
284317
  [ATTR_SERVICE_NAME4]: "claude-code",
284318
- [ATTR_SERVICE_VERSION4]: "2.0.7"
284318
+ [ATTR_SERVICE_VERSION4]: "2.0.8"
284319
284319
  };
284320
284320
  if (platform2 === "wsl") {
284321
284321
  const wslVersion = getWslVersion();
@@ -284360,7 +284360,7 @@ async function initializeTelemetry() {
284360
284360
  } catch {}
284361
284361
  };
284362
284362
  registerCleanup(shutdownTelemetry2);
284363
- return meterProvider2.getMeter("com.anthropic.claude_code", "2.0.7");
284363
+ return meterProvider2.getMeter("com.anthropic.claude_code", "2.0.8");
284364
284364
  }
284365
284365
  const meterProvider = new MeterProvider4({
284366
284366
  resource,
@@ -284380,7 +284380,7 @@ async function initializeTelemetry() {
284380
284380
  });
284381
284381
  logs.setGlobalLoggerProvider(loggerProvider);
284382
284382
  setLoggerProvider(loggerProvider);
284383
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "2.0.7");
284383
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "2.0.8");
284384
284384
  setEventLogger(eventLogger);
284385
284385
  logForDebugging("[3P telemetry] Event logger set successfully");
284386
284386
  process.on("beforeExit", async () => {
@@ -284442,7 +284442,7 @@ Current timeout: ${timeoutMs}ms
284442
284442
  }
284443
284443
  };
284444
284444
  registerCleanup(shutdownTelemetry);
284445
- return meterProvider.getMeter("com.anthropic.claude_code", "2.0.7");
284445
+ return meterProvider.getMeter("com.anthropic.claude_code", "2.0.8");
284446
284446
  }
284447
284447
  async function flushTelemetry() {
284448
284448
  const meterProvider = getMeterProvider();
@@ -285632,7 +285632,7 @@ function detectLinuxGlobPatternWarnings() {
285632
285632
  }
285633
285633
  async function getDoctorDiagnostic() {
285634
285634
  const installationType = await getCurrentInstallationType();
285635
- const version = typeof MACRO !== "undefined" ? "2.0.7" : "unknown";
285635
+ const version = typeof MACRO !== "undefined" ? "2.0.8" : "unknown";
285636
285636
  const installationPath = await getInstallationPath();
285637
285637
  const invokedBinary = getInvokedBinary();
285638
285638
  const multipleInstallations = await detectMultipleInstallations();
@@ -286573,8 +286573,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
286573
286573
  const maxVersion = await getMaxVersion();
286574
286574
  if (maxVersion && gt(version, maxVersion)) {
286575
286575
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version} to ${maxVersion}`);
286576
- if (gte("2.0.7", maxVersion)) {
286577
- logForDebugging(`Native installer: current version ${"2.0.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
286576
+ if (gte("2.0.8", maxVersion)) {
286577
+ logForDebugging(`Native installer: current version ${"2.0.8"} is already at or above maxVersion ${maxVersion}, skipping update`);
286578
286578
  logEvent("tengu_native_update_skipped_max_version", {
286579
286579
  latency_ms: Date.now() - startTime,
286580
286580
  max_version: maxVersion,
@@ -286585,7 +286585,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
286585
286585
  version = maxVersion;
286586
286586
  }
286587
286587
  }
286588
- if (!forceReinstall && version === "2.0.7" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
286588
+ if (!forceReinstall && version === "2.0.8" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
286589
286589
  logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
286590
286590
  logEvent("tengu_native_update_complete", {
286591
286591
  latency_ms: Date.now() - startTime,
@@ -331828,7 +331828,7 @@ function getAnthropicEnvMetadata() {
331828
331828
  function getBuildAgeMinutes() {
331829
331829
  if (false)
331830
331830
  ;
331831
- const buildTime = new Date("2026-05-07T21:33:01.679Z").getTime();
331831
+ const buildTime = new Date("2026-05-09T15:53:14.625Z").getTime();
331832
331832
  if (isNaN(buildTime))
331833
331833
  return;
331834
331834
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -360660,7 +360660,7 @@ function Feedback({
360660
360660
  platform: env3.platform,
360661
360661
  gitRepo: envInfo.isGit,
360662
360662
  terminal: env3.terminal,
360663
- version: "2.0.7",
360663
+ version: "2.0.8",
360664
360664
  transcript: normalizeMessagesForAPI(messages),
360665
360665
  errors: sanitizedErrors,
360666
360666
  lastApiRequest: getLastAPIRequest(),
@@ -360852,7 +360852,7 @@ function Feedback({
360852
360852
  ", ",
360853
360853
  env3.terminal,
360854
360854
  ", v",
360855
- "2.0.7"
360855
+ "2.0.8"
360856
360856
  ]
360857
360857
  }, undefined, true, undefined, this)
360858
360858
  ]
@@ -360958,7 +360958,7 @@ ${sanitizedDescription}
360958
360958
  ` + `**Environment Info**
360959
360959
  ` + `- Platform: ${env3.platform}
360960
360960
  ` + `- Terminal: ${env3.terminal}
360961
- ` + `- Version: ${"2.0.7"}
360961
+ ` + `- Version: ${"2.0.8"}
360962
360962
  ` + `- Feedback ID: ${feedbackId}
360963
360963
  ` + `
360964
360964
  **Errors**
@@ -363586,7 +363586,7 @@ function buildPrimarySection() {
363586
363586
  }, undefined, false, undefined, this);
363587
363587
  return [{
363588
363588
  label: "Version",
363589
- value: "2.0.7"
363589
+ value: "2.0.8"
363590
363590
  }, {
363591
363591
  label: "Session name",
363592
363592
  value: nameValue
@@ -368267,7 +368267,7 @@ function Config({
368267
368267
  }
368268
368268
  }, undefined, false, undefined, this)
368269
368269
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime176.jsxDEV(ChannelDowngradeDialog, {
368270
- currentVersion: "2.0.7",
368270
+ currentVersion: "2.0.8",
368271
368271
  onChoice: (choice) => {
368272
368272
  setShowSubmenu(null);
368273
368273
  setTabsHidden(false);
@@ -368279,7 +368279,7 @@ function Config({
368279
368279
  autoUpdatesChannel: "stable"
368280
368280
  };
368281
368281
  if (choice === "stay") {
368282
- newSettings.minimumVersion = "2.0.7";
368282
+ newSettings.minimumVersion = "2.0.8";
368283
368283
  }
368284
368284
  updateSettingsForSource("userSettings", newSettings);
368285
368285
  setSettingsData((prev_27) => ({
@@ -385937,7 +385937,7 @@ function Help(t0) {
385937
385937
  let t6;
385938
385938
  if ($2[31] !== tabs) {
385939
385939
  t6 = /* @__PURE__ */ jsx_dev_runtime220.jsxDEV(Tabs, {
385940
- title: `localclawd v${"2.0.7"}`,
385940
+ title: `localclawd v${"2.0.8"}`,
385941
385941
  color: "professionalBlue",
385942
385942
  defaultTab: "general",
385943
385943
  children: tabs
@@ -403199,7 +403199,7 @@ function getRecentReleaseNotes(currentVersion, previousVersion, changelogContent
403199
403199
  }
403200
403200
  return [];
403201
403201
  }
403202
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "2.0.7") {
403202
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "2.0.8") {
403203
403203
  if (process.env.USER_TYPE === "ant") {
403204
403204
  const changelog = MACRO.VERSION_CHANGELOG;
403205
403205
  if (changelog) {
@@ -403226,7 +403226,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "2.0.7") {
403226
403226
  releaseNotes
403227
403227
  };
403228
403228
  }
403229
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "2.0.7") {
403229
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "2.0.8") {
403230
403230
  if (process.env.USER_TYPE === "ant") {
403231
403231
  const changelog = MACRO.VERSION_CHANGELOG;
403232
403232
  if (changelog) {
@@ -403383,7 +403383,7 @@ function getRecentActivitySync() {
403383
403383
  return cachedActivity;
403384
403384
  }
403385
403385
  function getLogoDisplayData() {
403386
- const version = process.env.DEMO_VERSION ?? "2.0.7";
403386
+ const version = process.env.DEMO_VERSION ?? "2.0.8";
403387
403387
  const serverUrl = getDirectConnectServerUrl();
403388
403388
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
403389
403389
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -404483,7 +404483,7 @@ function Logo() {
404483
404483
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
404484
404484
  t2 = () => {
404485
404485
  const currentConfig = getGlobalConfig();
404486
- if (currentConfig.lastReleaseNotesSeen === "2.0.7") {
404486
+ if (currentConfig.lastReleaseNotesSeen === "2.0.8") {
404487
404487
  return;
404488
404488
  }
404489
404489
  saveGlobalConfig(_temp326);
@@ -405142,12 +405142,12 @@ function Logo() {
405142
405142
  return t41;
405143
405143
  }
405144
405144
  function _temp326(current) {
405145
- if (current.lastReleaseNotesSeen === "2.0.7") {
405145
+ if (current.lastReleaseNotesSeen === "2.0.8") {
405146
405146
  return current;
405147
405147
  }
405148
405148
  return {
405149
405149
  ...current,
405150
- lastReleaseNotesSeen: "2.0.7"
405150
+ lastReleaseNotesSeen: "2.0.8"
405151
405151
  };
405152
405152
  }
405153
405153
  function _temp241(s_0) {
@@ -435626,7 +435626,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
435626
435626
  smapsRollup,
435627
435627
  platform: process.platform,
435628
435628
  nodeVersion: process.version,
435629
- ccVersion: "2.0.7"
435629
+ ccVersion: "2.0.8"
435630
435630
  };
435631
435631
  }
435632
435632
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -436211,7 +436211,7 @@ var init_bridge_kick = __esm(() => {
436211
436211
  var call88 = async () => {
436212
436212
  return {
436213
436213
  type: "text",
436214
- value: `${"2.0.7"} (built ${"2026-05-07T21:33:01.679Z"})`
436214
+ value: `${"2.0.8"} (built ${"2026-05-09T15:53:14.625Z"})`
436215
436215
  };
436216
436216
  }, version, version_default;
436217
436217
  var init_version = __esm(() => {
@@ -444155,7 +444155,7 @@ function generateHtmlReport(data, insights) {
444155
444155
  </html>`;
444156
444156
  }
444157
444157
  function buildExportData(data, insights, facets, remoteStats) {
444158
- const version2 = typeof MACRO !== "undefined" ? "2.0.7" : "unknown";
444158
+ const version2 = typeof MACRO !== "undefined" ? "2.0.8" : "unknown";
444159
444159
  const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
444160
444160
  const facets_summary = {
444161
444161
  total: facets.size,
@@ -448358,7 +448358,7 @@ var init_sessionStorage = __esm(() => {
448358
448358
  init_settings2();
448359
448359
  init_slowOperations();
448360
448360
  init_uuid();
448361
- VERSION6 = typeof MACRO !== "undefined" ? "2.0.7" : "unknown";
448361
+ VERSION6 = typeof MACRO !== "undefined" ? "2.0.8" : "unknown";
448362
448362
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
448363
448363
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
448364
448364
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -449559,7 +449559,7 @@ var init_filesystem = __esm(() => {
449559
449559
  });
449560
449560
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
449561
449561
  const nonce = randomBytes20(16).toString("hex");
449562
- return join151(getClaudeTempDir(), "bundled-skills", "2.0.7", nonce);
449562
+ return join151(getClaudeTempDir(), "bundled-skills", "2.0.8", nonce);
449563
449563
  });
449564
449564
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
449565
449565
  });
@@ -458796,7 +458796,7 @@ function buildSystemInitMessage(inputs) {
458796
458796
  slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
458797
458797
  apiKeySource: getAnthropicApiKeyWithSource().source,
458798
458798
  betas: getSdkBetas(),
458799
- claude_code_version: "2.0.7",
458799
+ claude_code_version: "2.0.8",
458800
458800
  output_style: outputStyle2,
458801
458801
  agents: inputs.agents.map((agent) => agent.agentType),
458802
458802
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -472953,7 +472953,7 @@ var init_useVoiceEnabled = __esm(() => {
472953
472953
  function getSemverPart(version2) {
472954
472954
  return `${import_semver10.major(version2, { loose: true })}.${import_semver10.minor(version2, { loose: true })}.${import_semver10.patch(version2, { loose: true })}`;
472955
472955
  }
472956
- function useUpdateNotification(updatedVersion, initialVersion = "2.0.7") {
472956
+ function useUpdateNotification(updatedVersion, initialVersion = "2.0.8") {
472957
472957
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react214.useState(() => getSemverPart(initialVersion));
472958
472958
  if (!updatedVersion) {
472959
472959
  return null;
@@ -472993,7 +472993,7 @@ function AutoUpdater({
472993
472993
  return;
472994
472994
  }
472995
472995
  if (false) {}
472996
- const currentVersion = "2.0.7";
472996
+ const currentVersion = "2.0.8";
472997
472997
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
472998
472998
  let latestVersion = await getLatestVersion(channel);
472999
472999
  const isDisabled = isAutoUpdaterDisabled();
@@ -473204,12 +473204,12 @@ function NativeAutoUpdater({
473204
473204
  logEvent("tengu_native_auto_updater_start", {});
473205
473205
  try {
473206
473206
  const maxVersion = await getMaxVersion();
473207
- if (maxVersion && gt("2.0.7", maxVersion)) {
473207
+ if (maxVersion && gt("2.0.8", maxVersion)) {
473208
473208
  const msg = await getMaxVersionMessage();
473209
473209
  setMaxVersionIssue(msg ?? "affects your version");
473210
473210
  }
473211
473211
  const result = await installLatest(channel);
473212
- const currentVersion = "2.0.7";
473212
+ const currentVersion = "2.0.8";
473213
473213
  const latencyMs = Date.now() - startTime;
473214
473214
  if (result.lockFailed) {
473215
473215
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -473344,17 +473344,17 @@ function PackageManagerAutoUpdater(t0) {
473344
473344
  const maxVersion = await getMaxVersion();
473345
473345
  if (maxVersion && latest && gt(latest, maxVersion)) {
473346
473346
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
473347
- if (gte("2.0.7", maxVersion)) {
473348
- logForDebugging(`PackageManagerAutoUpdater: current version ${"2.0.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
473347
+ if (gte("2.0.8", maxVersion)) {
473348
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"2.0.8"} is already at or above maxVersion ${maxVersion}, skipping update`);
473349
473349
  setUpdateAvailable(false);
473350
473350
  return;
473351
473351
  }
473352
473352
  latest = maxVersion;
473353
473353
  }
473354
- const hasUpdate = latest && !gte("2.0.7", latest) && !shouldSkipVersion(latest);
473354
+ const hasUpdate = latest && !gte("2.0.8", latest) && !shouldSkipVersion(latest);
473355
473355
  setUpdateAvailable(!!hasUpdate);
473356
473356
  if (hasUpdate) {
473357
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"2.0.7"} -> ${latest}`);
473357
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"2.0.8"} -> ${latest}`);
473358
473358
  }
473359
473359
  };
473360
473360
  $2[0] = t1;
@@ -473388,7 +473388,7 @@ function PackageManagerAutoUpdater(t0) {
473388
473388
  wrap: "truncate",
473389
473389
  children: [
473390
473390
  "currentVersion: ",
473391
- "2.0.7"
473391
+ "2.0.8"
473392
473392
  ]
473393
473393
  }, undefined, true, undefined, this);
473394
473394
  $2[3] = verbose;
@@ -480948,7 +480948,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
480948
480948
  project_dir: getOriginalCwd(),
480949
480949
  added_dirs: addedDirs
480950
480950
  },
480951
- version: "2.0.7",
480951
+ version: "2.0.8",
480952
480952
  output_style: {
480953
480953
  name: outputStyleName
480954
480954
  },
@@ -492520,7 +492520,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
492520
492520
  } catch {}
492521
492521
  const data = {
492522
492522
  trigger,
492523
- version: "2.0.7",
492523
+ version: "2.0.8",
492524
492524
  platform: process.platform,
492525
492525
  transcript,
492526
492526
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -509429,7 +509429,7 @@ function appendToLog(path17, message) {
509429
509429
  cwd: getFsImplementation().cwd(),
509430
509430
  userType: process.env.USER_TYPE,
509431
509431
  sessionId: getSessionId(),
509432
- version: "2.0.7"
509432
+ version: "2.0.8"
509433
509433
  };
509434
509434
  getLogWriter(path17).write(messageWithTimestamp);
509435
509435
  }
@@ -513443,8 +513443,8 @@ async function getEnvLessBridgeConfig() {
513443
513443
  }
513444
513444
  async function checkEnvLessBridgeMinVersion() {
513445
513445
  const cfg = await getEnvLessBridgeConfig();
513446
- if (cfg.min_version && lt("2.0.7", cfg.min_version)) {
513447
- return `Your version of localclawd (${"2.0.7"}) is too old for Remote Control.
513446
+ if (cfg.min_version && lt("2.0.8", cfg.min_version)) {
513447
+ return `Your version of localclawd (${"2.0.8"}) is too old for Remote Control.
513448
513448
  Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
513449
513449
  }
513450
513450
  return null;
@@ -513916,7 +513916,7 @@ async function initBridgeCore(params) {
513916
513916
  const rawApi = createBridgeApiClient({
513917
513917
  baseUrl,
513918
513918
  getAccessToken,
513919
- runnerVersion: "2.0.7",
513919
+ runnerVersion: "2.0.8",
513920
513920
  onDebug: logForDebugging,
513921
513921
  onAuth401,
513922
513922
  getTrustedDeviceToken
@@ -519635,7 +519635,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
519635
519635
  setCwd(cwd3);
519636
519636
  const server = new Server({
519637
519637
  name: "claude/tengu",
519638
- version: "2.0.7"
519638
+ version: "2.0.8"
519639
519639
  }, {
519640
519640
  capabilities: {
519641
519641
  tools: {}
@@ -520716,7 +520716,7 @@ function WelcomeLogo() {
520716
520716
  dimColor: true,
520717
520717
  children: [
520718
520718
  "v",
520719
- "2.0.7"
520719
+ "2.0.8"
520720
520720
  ]
520721
520721
  }, undefined, true, undefined, this)
520722
520722
  ]
@@ -520907,7 +520907,7 @@ __export(exports_update, {
520907
520907
  });
520908
520908
  async function update() {
520909
520909
  logEvent("tengu_update_check", {});
520910
- writeToStdout(`Current version: ${"2.0.7"}
520910
+ writeToStdout(`Current version: ${"2.0.8"}
520911
520911
  `);
520912
520912
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
520913
520913
  writeToStdout(`Checking for updates to ${channel} version...
@@ -520982,8 +520982,8 @@ async function update() {
520982
520982
  writeToStdout(`localclawd is managed by Homebrew.
520983
520983
  `);
520984
520984
  const latest = await getLatestVersion(channel);
520985
- if (latest && !gte("2.0.7", latest)) {
520986
- writeToStdout(`Update available: ${"2.0.7"} → ${latest}
520985
+ if (latest && !gte("2.0.8", latest)) {
520986
+ writeToStdout(`Update available: ${"2.0.8"} → ${latest}
520987
520987
  `);
520988
520988
  writeToStdout(`
520989
520989
  `);
@@ -520999,8 +520999,8 @@ async function update() {
520999
520999
  writeToStdout(`localclawd is managed by winget.
521000
521000
  `);
521001
521001
  const latest = await getLatestVersion(channel);
521002
- if (latest && !gte("2.0.7", latest)) {
521003
- writeToStdout(`Update available: ${"2.0.7"} → ${latest}
521002
+ if (latest && !gte("2.0.8", latest)) {
521003
+ writeToStdout(`Update available: ${"2.0.8"} → ${latest}
521004
521004
  `);
521005
521005
  writeToStdout(`
521006
521006
  `);
@@ -521014,8 +521014,8 @@ async function update() {
521014
521014
  writeToStdout(`localclawd is managed by apk.
521015
521015
  `);
521016
521016
  const latest = await getLatestVersion(channel);
521017
- if (latest && !gte("2.0.7", latest)) {
521018
- writeToStdout(`Update available: ${"2.0.7"} → ${latest}
521017
+ if (latest && !gte("2.0.8", latest)) {
521018
+ writeToStdout(`Update available: ${"2.0.8"} → ${latest}
521019
521019
  `);
521020
521020
  writeToStdout(`
521021
521021
  `);
@@ -521080,11 +521080,11 @@ async function update() {
521080
521080
  `);
521081
521081
  await gracefulShutdown(1);
521082
521082
  }
521083
- if (result.latestVersion === "2.0.7") {
521084
- writeToStdout(source_default.green(`localclawd is up to date (${"2.0.7"})`) + `
521083
+ if (result.latestVersion === "2.0.8") {
521084
+ writeToStdout(source_default.green(`localclawd is up to date (${"2.0.8"})`) + `
521085
521085
  `);
521086
521086
  } else {
521087
- writeToStdout(source_default.green(`Successfully updated from ${"2.0.7"} to version ${result.latestVersion}`) + `
521087
+ writeToStdout(source_default.green(`Successfully updated from ${"2.0.8"} to version ${result.latestVersion}`) + `
521088
521088
  `);
521089
521089
  await regenerateCompletionCache();
521090
521090
  }
@@ -521144,12 +521144,12 @@ async function update() {
521144
521144
  `);
521145
521145
  await gracefulShutdown(1);
521146
521146
  }
521147
- if (latestVersion === "2.0.7") {
521148
- writeToStdout(source_default.green(`localclawd is up to date (${"2.0.7"})`) + `
521147
+ if (latestVersion === "2.0.8") {
521148
+ writeToStdout(source_default.green(`localclawd is up to date (${"2.0.8"})`) + `
521149
521149
  `);
521150
521150
  await gracefulShutdown(0);
521151
521151
  }
521152
- writeToStdout(`New version available: ${latestVersion} (current: ${"2.0.7"})
521152
+ writeToStdout(`New version available: ${latestVersion} (current: ${"2.0.8"})
521153
521153
  `);
521154
521154
  writeToStdout(`Installing update...
521155
521155
  `);
@@ -521194,7 +521194,7 @@ async function update() {
521194
521194
  logForDebugging(`update: Installation status: ${status2}`);
521195
521195
  switch (status2) {
521196
521196
  case "success":
521197
- writeToStdout(source_default.green(`Successfully updated from ${"2.0.7"} to version ${latestVersion}`) + `
521197
+ writeToStdout(source_default.green(`Successfully updated from ${"2.0.8"} to version ${latestVersion}`) + `
521198
521198
  `);
521199
521199
  await regenerateCompletionCache();
521200
521200
  break;
@@ -522436,7 +522436,7 @@ Run with --debug for more details.
522436
522436
  }
522437
522437
  }
522438
522438
  logForDiagnosticsNoPII("info", "started", {
522439
- version: "2.0.7",
522439
+ version: "2.0.8",
522440
522440
  is_native_binary: isInBundledMode()
522441
522441
  });
522442
522442
  registerCleanup(async () => {
@@ -523220,7 +523220,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
523220
523220
  pendingHookMessages
523221
523221
  }, renderAndRun);
523222
523222
  }
523223
- }).version("2.0.7 (localclawd)", "-v, --version", "Output the version number");
523223
+ }).version("2.0.8 (localclawd)", "-v, --version", "Output the version number");
523224
523224
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
523225
523225
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
523226
523226
  if (canUserConfigureAdvisor()) {
@@ -523734,7 +523734,7 @@ if (false) {}
523734
523734
  async function main2() {
523735
523735
  const args = process.argv.slice(2);
523736
523736
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
523737
- console.log(`${"2.0.7"} (localclawd)`);
523737
+ console.log(`${"2.0.8"} (localclawd)`);
523738
523738
  return;
523739
523739
  }
523740
523740
  const {
@@ -523825,4 +523825,4 @@ localclawd crashed: ${msg}
523825
523825
  process.exit(1);
523826
523826
  });
523827
523827
 
523828
- //# debugId=FA8E97364358A4DA64756E2164756E21
523828
+ //# debugId=992B97BE2AA50E3664756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "localclawd",
3
- "version": "2.0.7",
3
+ "version": "2.0.8",
4
4
  "description": "Local-first coding CLI for vLLM, Ollama, and OpenAI-compatible backends.",
5
5
  "private": false,
6
6
  "type": "module",
@@ -12,6 +12,7 @@
12
12
  "bin",
13
13
  "dist/cli.mjs",
14
14
  "dist/vendor/ripgrep",
15
+ "patches",
15
16
  "README.md"
16
17
  ],
17
18
  "preferGlobal": true,
@@ -131,9 +132,13 @@
131
132
  "typescript": "^6.0.2"
132
133
  },
133
134
  "overrides": {
134
- "zod": "^4.1.12"
135
+ "zod": "^4.1.12",
136
+ "uuid": "^11.1.1",
137
+ "node-domexception": "file:./patches/node-domexception"
135
138
  },
136
139
  "resolutions": {
137
- "zod": "^4.1.12"
140
+ "zod": "^4.1.12",
141
+ "uuid": "^11.1.1",
142
+ "node-domexception": "file:./patches/node-domexception"
138
143
  }
139
144
  }
@@ -0,0 +1 @@
1
+ module.exports = globalThis.DOMException;
@@ -0,0 +1 @@
1
+ export default globalThis.DOMException;
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "node-domexception",
3
+ "version": "1.0.0",
4
+ "description": "Local shim: re-exports native globalThis.DOMException (Node 20+).",
5
+ "exports": {
6
+ ".": {
7
+ "import": "./index.mjs",
8
+ "require": "./index.cjs"
9
+ }
10
+ },
11
+ "main": "index.cjs"
12
+ }