localclawd 1.8.7 → 1.8.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.
Files changed (2) hide show
  1. package/dist/cli.mjs +104 -91
  2. package/package.json +1 -1
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/${"1.8.7"}`;
87611
+ return `claude-code/${"1.8.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/${"1.8.7"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
87633
+ return `claude-cli/${"1.8.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/${"1.8.7"}${suffix}`;
87647
+ return `claude-code/${"1.8.8"}${suffix}`;
87648
87648
  }
87649
87649
  function getWebFetchUserAgent() {
87650
87650
  return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -130840,7 +130840,7 @@ function getAttributionHeader(fingerprint) {
130840
130840
  if (!isAttributionHeaderEnabled()) {
130841
130841
  return "";
130842
130842
  }
130843
- const version = `${"1.8.7"}.${fingerprint}`;
130843
+ const version = `${"1.8.8"}.${fingerprint}`;
130844
130844
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
130845
130845
  const cch = "";
130846
130846
  const workload = getWorkload();
@@ -147029,7 +147029,7 @@ var init_metadata = __esm(() => {
147029
147029
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
147030
147030
  WHITESPACE_REGEX = /\s+/;
147031
147031
  getVersionBase = memoize_default(() => {
147032
- const match = "1.8.7".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
147032
+ const match = "1.8.8".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
147033
147033
  return match ? match[0] : undefined;
147034
147034
  });
147035
147035
  buildEnvContext = memoize_default(async () => {
@@ -147069,9 +147069,9 @@ var init_metadata = __esm(() => {
147069
147069
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
147070
147070
  isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
147071
147071
  isClaudeAiAuth: isClaudeAISubscriber(),
147072
- version: "1.8.7",
147072
+ version: "1.8.8",
147073
147073
  versionBase: getVersionBase(),
147074
- buildTime: "2026-05-07T17:08:41.357Z",
147074
+ buildTime: "2026-05-07T17:26:12.076Z",
147075
147075
  deploymentEnvironment: env3.detectDeploymentEnvironment(),
147076
147076
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
147077
147077
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -179647,7 +179647,7 @@ function getTelemetryAttributes() {
179647
179647
  attributes["session.id"] = sessionId;
179648
179648
  }
179649
179649
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
179650
- attributes["app.version"] = "1.8.7";
179650
+ attributes["app.version"] = "1.8.8";
179651
179651
  }
179652
179652
  const oauthAccount = getOauthAccountInfo();
179653
179653
  if (oauthAccount) {
@@ -242448,7 +242448,7 @@ function getInstallationEnv() {
242448
242448
  return;
242449
242449
  }
242450
242450
  function getClaudeCodeVersion() {
242451
- return "1.8.7";
242451
+ return "1.8.8";
242452
242452
  }
242453
242453
  async function getInstalledVSCodeExtensionVersion(command) {
242454
242454
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -247722,7 +247722,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
247722
247722
  const client4 = new Client({
247723
247723
  name: "localclawd",
247724
247724
  title: "localclawd",
247725
- version: "1.8.7",
247725
+ version: "1.8.8",
247726
247726
  description: "local-first AI coding tool",
247727
247727
  websiteUrl: PRODUCT_URL
247728
247728
  }, {
@@ -248064,7 +248064,7 @@ var init_client9 = __esm(() => {
248064
248064
  const client4 = new Client({
248065
248065
  name: "localclawd",
248066
248066
  title: "localclawd",
248067
- version: "1.8.7",
248067
+ version: "1.8.8",
248068
248068
  description: "local-first AI coding tool",
248069
248069
  websiteUrl: PRODUCT_URL
248070
248070
  }, {
@@ -262466,7 +262466,7 @@ function computeFingerprint(messageText, version) {
262466
262466
  }
262467
262467
  function computeFingerprintFromMessages(messages) {
262468
262468
  const firstMessageText = extractFirstMessageText(messages);
262469
- return computeFingerprint(firstMessageText, "1.8.7");
262469
+ return computeFingerprint(firstMessageText, "1.8.8");
262470
262470
  }
262471
262471
  var FINGERPRINT_SALT = "59cf53e54c78";
262472
262472
  var init_fingerprint = () => {};
@@ -262508,7 +262508,7 @@ async function sideQuery(opts) {
262508
262508
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
262509
262509
  }
262510
262510
  const messageText = extractFirstUserMessageText(messages);
262511
- const fingerprint = computeFingerprint(messageText, "1.8.7");
262511
+ const fingerprint = computeFingerprint(messageText, "1.8.8");
262512
262512
  const attributionHeader = getAttributionHeader(fingerprint);
262513
262513
  const systemBlocks = [
262514
262514
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -283256,7 +283256,7 @@ var init_user = __esm(() => {
283256
283256
  deviceId,
283257
283257
  sessionId: getSessionId(),
283258
283258
  email: getEmail(),
283259
- appVersion: "1.8.7",
283259
+ appVersion: "1.8.8",
283260
283260
  platform: getHostPlatformForAnalytics(),
283261
283261
  organizationUuid,
283262
283262
  accountUuid,
@@ -284321,7 +284321,7 @@ async function initializeBetaTracing(resource) {
284321
284321
  });
284322
284322
  logs.setGlobalLoggerProvider(loggerProvider);
284323
284323
  setLoggerProvider(loggerProvider);
284324
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.8.7");
284324
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.8.8");
284325
284325
  setEventLogger(eventLogger);
284326
284326
  process.on("beforeExit", async () => {
284327
284327
  await loggerProvider?.forceFlush();
@@ -284361,7 +284361,7 @@ async function initializeTelemetry() {
284361
284361
  const platform2 = getPlatform();
284362
284362
  const baseAttributes = {
284363
284363
  [ATTR_SERVICE_NAME4]: "claude-code",
284364
- [ATTR_SERVICE_VERSION4]: "1.8.7"
284364
+ [ATTR_SERVICE_VERSION4]: "1.8.8"
284365
284365
  };
284366
284366
  if (platform2 === "wsl") {
284367
284367
  const wslVersion = getWslVersion();
@@ -284406,7 +284406,7 @@ async function initializeTelemetry() {
284406
284406
  } catch {}
284407
284407
  };
284408
284408
  registerCleanup(shutdownTelemetry2);
284409
- return meterProvider2.getMeter("com.anthropic.claude_code", "1.8.7");
284409
+ return meterProvider2.getMeter("com.anthropic.claude_code", "1.8.8");
284410
284410
  }
284411
284411
  const meterProvider = new MeterProvider4({
284412
284412
  resource,
@@ -284426,7 +284426,7 @@ async function initializeTelemetry() {
284426
284426
  });
284427
284427
  logs.setGlobalLoggerProvider(loggerProvider);
284428
284428
  setLoggerProvider(loggerProvider);
284429
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.8.7");
284429
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.8.8");
284430
284430
  setEventLogger(eventLogger);
284431
284431
  logForDebugging("[3P telemetry] Event logger set successfully");
284432
284432
  process.on("beforeExit", async () => {
@@ -284488,7 +284488,7 @@ Current timeout: ${timeoutMs}ms
284488
284488
  }
284489
284489
  };
284490
284490
  registerCleanup(shutdownTelemetry);
284491
- return meterProvider.getMeter("com.anthropic.claude_code", "1.8.7");
284491
+ return meterProvider.getMeter("com.anthropic.claude_code", "1.8.8");
284492
284492
  }
284493
284493
  async function flushTelemetry() {
284494
284494
  const meterProvider = getMeterProvider();
@@ -285678,7 +285678,7 @@ function detectLinuxGlobPatternWarnings() {
285678
285678
  }
285679
285679
  async function getDoctorDiagnostic() {
285680
285680
  const installationType = await getCurrentInstallationType();
285681
- const version = typeof MACRO !== "undefined" ? "1.8.7" : "unknown";
285681
+ const version = typeof MACRO !== "undefined" ? "1.8.8" : "unknown";
285682
285682
  const installationPath = await getInstallationPath();
285683
285683
  const invokedBinary = getInvokedBinary();
285684
285684
  const multipleInstallations = await detectMultipleInstallations();
@@ -286619,8 +286619,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
286619
286619
  const maxVersion = await getMaxVersion();
286620
286620
  if (maxVersion && gt(version, maxVersion)) {
286621
286621
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version} to ${maxVersion}`);
286622
- if (gte("1.8.7", maxVersion)) {
286623
- logForDebugging(`Native installer: current version ${"1.8.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
286622
+ if (gte("1.8.8", maxVersion)) {
286623
+ logForDebugging(`Native installer: current version ${"1.8.8"} is already at or above maxVersion ${maxVersion}, skipping update`);
286624
286624
  logEvent("tengu_native_update_skipped_max_version", {
286625
286625
  latency_ms: Date.now() - startTime,
286626
286626
  max_version: maxVersion,
@@ -286631,7 +286631,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
286631
286631
  version = maxVersion;
286632
286632
  }
286633
286633
  }
286634
- if (!forceReinstall && version === "1.8.7" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
286634
+ if (!forceReinstall && version === "1.8.8" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
286635
286635
  logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
286636
286636
  logEvent("tengu_native_update_complete", {
286637
286637
  latency_ms: Date.now() - startTime,
@@ -322837,15 +322837,27 @@ async function fetchServerWorkflowList(url3) {
322837
322837
  }
322838
322838
  }
322839
322839
  async function fetchServerWorkflow(url3, name) {
322840
- try {
322841
- const filename = name.endsWith(".json") ? name : `${name}.json`;
322842
- const res = await fetch(`${url3}/userdata/workflows/${encodeURIComponent(filename)}`);
322843
- if (!res.ok)
322844
- return null;
322845
- return res.json();
322846
- } catch {
322847
- return null;
322840
+ const filename = name.endsWith(".json") ? name : `${name}.json`;
322841
+ const candidates = [
322842
+ `${url3}/userdata/workflows/${encodeURIComponent(filename)}`,
322843
+ `${url3}/userdata/${encodeURIComponent(filename)}`
322844
+ ];
322845
+ for (const candidate of candidates) {
322846
+ try {
322847
+ const res = await fetch(candidate);
322848
+ if (res.ok) {
322849
+ try {
322850
+ const data = await res.json();
322851
+ return { data };
322852
+ } catch {
322853
+ return { error: `HTTP 200 but response is not JSON at ${candidate}` };
322854
+ }
322855
+ }
322856
+ } catch {}
322848
322857
  }
322858
+ return { error: `Not found. Tried:
322859
+ ${candidates.join(`
322860
+ `)}` };
322849
322861
  }
322850
322862
  function extractOutputImages(item) {
322851
322863
  const images = [];
@@ -331870,7 +331882,7 @@ function getAnthropicEnvMetadata() {
331870
331882
  function getBuildAgeMinutes() {
331871
331883
  if (false)
331872
331884
  ;
331873
- const buildTime = new Date("2026-05-07T17:08:41.357Z").getTime();
331885
+ const buildTime = new Date("2026-05-07T17:26:12.076Z").getTime();
331874
331886
  if (isNaN(buildTime))
331875
331887
  return;
331876
331888
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -360700,7 +360712,7 @@ function Feedback({
360700
360712
  platform: env3.platform,
360701
360713
  gitRepo: envInfo.isGit,
360702
360714
  terminal: env3.terminal,
360703
- version: "1.8.7",
360715
+ version: "1.8.8",
360704
360716
  transcript: normalizeMessagesForAPI(messages),
360705
360717
  errors: sanitizedErrors,
360706
360718
  lastApiRequest: getLastAPIRequest(),
@@ -360892,7 +360904,7 @@ function Feedback({
360892
360904
  ", ",
360893
360905
  env3.terminal,
360894
360906
  ", v",
360895
- "1.8.7"
360907
+ "1.8.8"
360896
360908
  ]
360897
360909
  }, undefined, true, undefined, this)
360898
360910
  ]
@@ -360998,7 +361010,7 @@ ${sanitizedDescription}
360998
361010
  ` + `**Environment Info**
360999
361011
  ` + `- Platform: ${env3.platform}
361000
361012
  ` + `- Terminal: ${env3.terminal}
361001
- ` + `- Version: ${"1.8.7"}
361013
+ ` + `- Version: ${"1.8.8"}
361002
361014
  ` + `- Feedback ID: ${feedbackId}
361003
361015
  ` + `
361004
361016
  **Errors**
@@ -363626,7 +363638,7 @@ function buildPrimarySection() {
363626
363638
  }, undefined, false, undefined, this);
363627
363639
  return [{
363628
363640
  label: "Version",
363629
- value: "1.8.7"
363641
+ value: "1.8.8"
363630
363642
  }, {
363631
363643
  label: "Session name",
363632
363644
  value: nameValue
@@ -368307,7 +368319,7 @@ function Config({
368307
368319
  }
368308
368320
  }, undefined, false, undefined, this)
368309
368321
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime176.jsxDEV(ChannelDowngradeDialog, {
368310
- currentVersion: "1.8.7",
368322
+ currentVersion: "1.8.8",
368311
368323
  onChoice: (choice) => {
368312
368324
  setShowSubmenu(null);
368313
368325
  setTabsHidden(false);
@@ -368319,7 +368331,7 @@ function Config({
368319
368331
  autoUpdatesChannel: "stable"
368320
368332
  };
368321
368333
  if (choice === "stay") {
368322
- newSettings.minimumVersion = "1.8.7";
368334
+ newSettings.minimumVersion = "1.8.8";
368323
368335
  }
368324
368336
  updateSettingsForSource("userSettings", newSettings);
368325
368337
  setSettingsData((prev_27) => ({
@@ -375078,13 +375090,14 @@ var call20 = async (onDone, _context, args) => {
375078
375090
  `), { display: "system" });
375079
375091
  return null;
375080
375092
  }
375081
- const workflowData = await fetchServerWorkflow(backendUrl, name);
375082
- if (!workflowData) {
375093
+ const fetchResult = await fetchServerWorkflow(backendUrl, name);
375094
+ if ("error" in fetchResult) {
375083
375095
  onDone([
375084
375096
  `◆ Image Pipeline — Fetch Failed: "${name}"`,
375085
375097
  "",
375086
- ` Could not fetch from ${backendUrl}/userdata/workflows/${name}.json`,
375087
- " Check ComfyUI is running and the workflow name is correct.",
375098
+ ` ${fetchResult.error}`,
375099
+ "",
375100
+ " Make sure ComfyUI is running and the workflow exists.",
375088
375101
  " Run /image-pipeline fetch (no args) to list available workflows."
375089
375102
  ].join(`
375090
375103
  `), { display: "system" });
@@ -375094,7 +375107,7 @@ var call20 = async (onDone, _context, args) => {
375094
375107
  const filename = name.endsWith(".json") ? name : `${name}.json`;
375095
375108
  const outPath = join113(projectRoot, ".localclawd", "image-pipeline", "workflows", filename);
375096
375109
  await mkdir35(join113(projectRoot, ".localclawd", "image-pipeline", "workflows"), { recursive: true });
375097
- await writeFile37(outPath, JSON.stringify(workflowData, null, 2), "utf-8");
375110
+ await writeFile37(outPath, JSON.stringify(fetchResult.data, null, 2), "utf-8");
375098
375111
  onDone([
375099
375112
  `◆ Image Pipeline — Fetched: "${name}"`,
375100
375113
  "",
@@ -385751,7 +385764,7 @@ function Help(t0) {
385751
385764
  let t6;
385752
385765
  if ($2[31] !== tabs) {
385753
385766
  t6 = /* @__PURE__ */ jsx_dev_runtime221.jsxDEV(Tabs, {
385754
- title: `localclawd v${"1.8.7"}`,
385767
+ title: `localclawd v${"1.8.8"}`,
385755
385768
  color: "professionalBlue",
385756
385769
  defaultTab: "general",
385757
385770
  children: tabs
@@ -403013,7 +403026,7 @@ function getRecentReleaseNotes(currentVersion, previousVersion, changelogContent
403013
403026
  }
403014
403027
  return [];
403015
403028
  }
403016
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.8.7") {
403029
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.8.8") {
403017
403030
  if (process.env.USER_TYPE === "ant") {
403018
403031
  const changelog = MACRO.VERSION_CHANGELOG;
403019
403032
  if (changelog) {
@@ -403040,7 +403053,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.8.7") {
403040
403053
  releaseNotes
403041
403054
  };
403042
403055
  }
403043
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.8.7") {
403056
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.8.8") {
403044
403057
  if (process.env.USER_TYPE === "ant") {
403045
403058
  const changelog = MACRO.VERSION_CHANGELOG;
403046
403059
  if (changelog) {
@@ -403197,7 +403210,7 @@ function getRecentActivitySync() {
403197
403210
  return cachedActivity;
403198
403211
  }
403199
403212
  function getLogoDisplayData() {
403200
- const version = process.env.DEMO_VERSION ?? "1.8.7";
403213
+ const version = process.env.DEMO_VERSION ?? "1.8.8";
403201
403214
  const serverUrl = getDirectConnectServerUrl();
403202
403215
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
403203
403216
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -404297,7 +404310,7 @@ function Logo() {
404297
404310
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
404298
404311
  t2 = () => {
404299
404312
  const currentConfig = getGlobalConfig();
404300
- if (currentConfig.lastReleaseNotesSeen === "1.8.7") {
404313
+ if (currentConfig.lastReleaseNotesSeen === "1.8.8") {
404301
404314
  return;
404302
404315
  }
404303
404316
  saveGlobalConfig(_temp326);
@@ -404956,12 +404969,12 @@ function Logo() {
404956
404969
  return t41;
404957
404970
  }
404958
404971
  function _temp326(current) {
404959
- if (current.lastReleaseNotesSeen === "1.8.7") {
404972
+ if (current.lastReleaseNotesSeen === "1.8.8") {
404960
404973
  return current;
404961
404974
  }
404962
404975
  return {
404963
404976
  ...current,
404964
- lastReleaseNotesSeen: "1.8.7"
404977
+ lastReleaseNotesSeen: "1.8.8"
404965
404978
  };
404966
404979
  }
404967
404980
  function _temp241(s_0) {
@@ -435440,7 +435453,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
435440
435453
  smapsRollup,
435441
435454
  platform: process.platform,
435442
435455
  nodeVersion: process.version,
435443
- ccVersion: "1.8.7"
435456
+ ccVersion: "1.8.8"
435444
435457
  };
435445
435458
  }
435446
435459
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -436025,7 +436038,7 @@ var init_bridge_kick = __esm(() => {
436025
436038
  var call87 = async () => {
436026
436039
  return {
436027
436040
  type: "text",
436028
- value: `${"1.8.7"} (built ${"2026-05-07T17:08:41.357Z"})`
436041
+ value: `${"1.8.8"} (built ${"2026-05-07T17:26:12.076Z"})`
436029
436042
  };
436030
436043
  }, version, version_default;
436031
436044
  var init_version = __esm(() => {
@@ -443969,7 +443982,7 @@ function generateHtmlReport(data, insights) {
443969
443982
  </html>`;
443970
443983
  }
443971
443984
  function buildExportData(data, insights, facets, remoteStats) {
443972
- const version2 = typeof MACRO !== "undefined" ? "1.8.7" : "unknown";
443985
+ const version2 = typeof MACRO !== "undefined" ? "1.8.8" : "unknown";
443973
443986
  const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
443974
443987
  const facets_summary = {
443975
443988
  total: facets.size,
@@ -448170,7 +448183,7 @@ var init_sessionStorage = __esm(() => {
448170
448183
  init_settings2();
448171
448184
  init_slowOperations();
448172
448185
  init_uuid();
448173
- VERSION6 = typeof MACRO !== "undefined" ? "1.8.7" : "unknown";
448186
+ VERSION6 = typeof MACRO !== "undefined" ? "1.8.8" : "unknown";
448174
448187
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
448175
448188
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
448176
448189
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -449371,7 +449384,7 @@ var init_filesystem = __esm(() => {
449371
449384
  });
449372
449385
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
449373
449386
  const nonce = randomBytes20(16).toString("hex");
449374
- return join151(getClaudeTempDir(), "bundled-skills", "1.8.7", nonce);
449387
+ return join151(getClaudeTempDir(), "bundled-skills", "1.8.8", nonce);
449375
449388
  });
449376
449389
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
449377
449390
  });
@@ -458608,7 +458621,7 @@ function buildSystemInitMessage(inputs) {
458608
458621
  slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
458609
458622
  apiKeySource: getAnthropicApiKeyWithSource().source,
458610
458623
  betas: getSdkBetas(),
458611
- claude_code_version: "1.8.7",
458624
+ claude_code_version: "1.8.8",
458612
458625
  output_style: outputStyle2,
458613
458626
  agents: inputs.agents.map((agent) => agent.agentType),
458614
458627
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -472765,7 +472778,7 @@ var init_useVoiceEnabled = __esm(() => {
472765
472778
  function getSemverPart(version2) {
472766
472779
  return `${import_semver10.major(version2, { loose: true })}.${import_semver10.minor(version2, { loose: true })}.${import_semver10.patch(version2, { loose: true })}`;
472767
472780
  }
472768
- function useUpdateNotification(updatedVersion, initialVersion = "1.8.7") {
472781
+ function useUpdateNotification(updatedVersion, initialVersion = "1.8.8") {
472769
472782
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react214.useState(() => getSemverPart(initialVersion));
472770
472783
  if (!updatedVersion) {
472771
472784
  return null;
@@ -472805,7 +472818,7 @@ function AutoUpdater({
472805
472818
  return;
472806
472819
  }
472807
472820
  if (false) {}
472808
- const currentVersion = "1.8.7";
472821
+ const currentVersion = "1.8.8";
472809
472822
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
472810
472823
  let latestVersion = await getLatestVersion(channel);
472811
472824
  const isDisabled = isAutoUpdaterDisabled();
@@ -473016,12 +473029,12 @@ function NativeAutoUpdater({
473016
473029
  logEvent("tengu_native_auto_updater_start", {});
473017
473030
  try {
473018
473031
  const maxVersion = await getMaxVersion();
473019
- if (maxVersion && gt("1.8.7", maxVersion)) {
473032
+ if (maxVersion && gt("1.8.8", maxVersion)) {
473020
473033
  const msg = await getMaxVersionMessage();
473021
473034
  setMaxVersionIssue(msg ?? "affects your version");
473022
473035
  }
473023
473036
  const result = await installLatest(channel);
473024
- const currentVersion = "1.8.7";
473037
+ const currentVersion = "1.8.8";
473025
473038
  const latencyMs = Date.now() - startTime;
473026
473039
  if (result.lockFailed) {
473027
473040
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -473156,17 +473169,17 @@ function PackageManagerAutoUpdater(t0) {
473156
473169
  const maxVersion = await getMaxVersion();
473157
473170
  if (maxVersion && latest && gt(latest, maxVersion)) {
473158
473171
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
473159
- if (gte("1.8.7", maxVersion)) {
473160
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.8.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
473172
+ if (gte("1.8.8", maxVersion)) {
473173
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.8.8"} is already at or above maxVersion ${maxVersion}, skipping update`);
473161
473174
  setUpdateAvailable(false);
473162
473175
  return;
473163
473176
  }
473164
473177
  latest = maxVersion;
473165
473178
  }
473166
- const hasUpdate = latest && !gte("1.8.7", latest) && !shouldSkipVersion(latest);
473179
+ const hasUpdate = latest && !gte("1.8.8", latest) && !shouldSkipVersion(latest);
473167
473180
  setUpdateAvailable(!!hasUpdate);
473168
473181
  if (hasUpdate) {
473169
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.8.7"} -> ${latest}`);
473182
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.8.8"} -> ${latest}`);
473170
473183
  }
473171
473184
  };
473172
473185
  $2[0] = t1;
@@ -473200,7 +473213,7 @@ function PackageManagerAutoUpdater(t0) {
473200
473213
  wrap: "truncate",
473201
473214
  children: [
473202
473215
  "currentVersion: ",
473203
- "1.8.7"
473216
+ "1.8.8"
473204
473217
  ]
473205
473218
  }, undefined, true, undefined, this);
473206
473219
  $2[3] = verbose;
@@ -480760,7 +480773,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
480760
480773
  project_dir: getOriginalCwd(),
480761
480774
  added_dirs: addedDirs
480762
480775
  },
480763
- version: "1.8.7",
480776
+ version: "1.8.8",
480764
480777
  output_style: {
480765
480778
  name: outputStyleName
480766
480779
  },
@@ -492332,7 +492345,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
492332
492345
  } catch {}
492333
492346
  const data = {
492334
492347
  trigger,
492335
- version: "1.8.7",
492348
+ version: "1.8.8",
492336
492349
  platform: process.platform,
492337
492350
  transcript,
492338
492351
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -509241,7 +509254,7 @@ function appendToLog(path17, message) {
509241
509254
  cwd: getFsImplementation().cwd(),
509242
509255
  userType: process.env.USER_TYPE,
509243
509256
  sessionId: getSessionId(),
509244
- version: "1.8.7"
509257
+ version: "1.8.8"
509245
509258
  };
509246
509259
  getLogWriter(path17).write(messageWithTimestamp);
509247
509260
  }
@@ -513265,8 +513278,8 @@ async function getEnvLessBridgeConfig() {
513265
513278
  }
513266
513279
  async function checkEnvLessBridgeMinVersion() {
513267
513280
  const cfg = await getEnvLessBridgeConfig();
513268
- if (cfg.min_version && lt("1.8.7", cfg.min_version)) {
513269
- return `Your version of localclawd (${"1.8.7"}) is too old for Remote Control.
513281
+ if (cfg.min_version && lt("1.8.8", cfg.min_version)) {
513282
+ return `Your version of localclawd (${"1.8.8"}) is too old for Remote Control.
513270
513283
  Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
513271
513284
  }
513272
513285
  return null;
@@ -513738,7 +513751,7 @@ async function initBridgeCore(params) {
513738
513751
  const rawApi = createBridgeApiClient({
513739
513752
  baseUrl,
513740
513753
  getAccessToken,
513741
- runnerVersion: "1.8.7",
513754
+ runnerVersion: "1.8.8",
513742
513755
  onDebug: logForDebugging,
513743
513756
  onAuth401,
513744
513757
  getTrustedDeviceToken
@@ -519457,7 +519470,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
519457
519470
  setCwd(cwd3);
519458
519471
  const server = new Server({
519459
519472
  name: "claude/tengu",
519460
- version: "1.8.7"
519473
+ version: "1.8.8"
519461
519474
  }, {
519462
519475
  capabilities: {
519463
519476
  tools: {}
@@ -520538,7 +520551,7 @@ function WelcomeLogo() {
520538
520551
  dimColor: true,
520539
520552
  children: [
520540
520553
  "v",
520541
- "1.8.7"
520554
+ "1.8.8"
520542
520555
  ]
520543
520556
  }, undefined, true, undefined, this)
520544
520557
  ]
@@ -520729,7 +520742,7 @@ __export(exports_update, {
520729
520742
  });
520730
520743
  async function update() {
520731
520744
  logEvent("tengu_update_check", {});
520732
- writeToStdout(`Current version: ${"1.8.7"}
520745
+ writeToStdout(`Current version: ${"1.8.8"}
520733
520746
  `);
520734
520747
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
520735
520748
  writeToStdout(`Checking for updates to ${channel} version...
@@ -520804,8 +520817,8 @@ async function update() {
520804
520817
  writeToStdout(`localclawd is managed by Homebrew.
520805
520818
  `);
520806
520819
  const latest = await getLatestVersion(channel);
520807
- if (latest && !gte("1.8.7", latest)) {
520808
- writeToStdout(`Update available: ${"1.8.7"} → ${latest}
520820
+ if (latest && !gte("1.8.8", latest)) {
520821
+ writeToStdout(`Update available: ${"1.8.8"} → ${latest}
520809
520822
  `);
520810
520823
  writeToStdout(`
520811
520824
  `);
@@ -520821,8 +520834,8 @@ async function update() {
520821
520834
  writeToStdout(`localclawd is managed by winget.
520822
520835
  `);
520823
520836
  const latest = await getLatestVersion(channel);
520824
- if (latest && !gte("1.8.7", latest)) {
520825
- writeToStdout(`Update available: ${"1.8.7"} → ${latest}
520837
+ if (latest && !gte("1.8.8", latest)) {
520838
+ writeToStdout(`Update available: ${"1.8.8"} → ${latest}
520826
520839
  `);
520827
520840
  writeToStdout(`
520828
520841
  `);
@@ -520836,8 +520849,8 @@ async function update() {
520836
520849
  writeToStdout(`localclawd is managed by apk.
520837
520850
  `);
520838
520851
  const latest = await getLatestVersion(channel);
520839
- if (latest && !gte("1.8.7", latest)) {
520840
- writeToStdout(`Update available: ${"1.8.7"} → ${latest}
520852
+ if (latest && !gte("1.8.8", latest)) {
520853
+ writeToStdout(`Update available: ${"1.8.8"} → ${latest}
520841
520854
  `);
520842
520855
  writeToStdout(`
520843
520856
  `);
@@ -520902,11 +520915,11 @@ async function update() {
520902
520915
  `);
520903
520916
  await gracefulShutdown(1);
520904
520917
  }
520905
- if (result.latestVersion === "1.8.7") {
520906
- writeToStdout(source_default.green(`localclawd is up to date (${"1.8.7"})`) + `
520918
+ if (result.latestVersion === "1.8.8") {
520919
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.8.8"})`) + `
520907
520920
  `);
520908
520921
  } else {
520909
- writeToStdout(source_default.green(`Successfully updated from ${"1.8.7"} to version ${result.latestVersion}`) + `
520922
+ writeToStdout(source_default.green(`Successfully updated from ${"1.8.8"} to version ${result.latestVersion}`) + `
520910
520923
  `);
520911
520924
  await regenerateCompletionCache();
520912
520925
  }
@@ -520966,12 +520979,12 @@ async function update() {
520966
520979
  `);
520967
520980
  await gracefulShutdown(1);
520968
520981
  }
520969
- if (latestVersion === "1.8.7") {
520970
- writeToStdout(source_default.green(`localclawd is up to date (${"1.8.7"})`) + `
520982
+ if (latestVersion === "1.8.8") {
520983
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.8.8"})`) + `
520971
520984
  `);
520972
520985
  await gracefulShutdown(0);
520973
520986
  }
520974
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.8.7"})
520987
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.8.8"})
520975
520988
  `);
520976
520989
  writeToStdout(`Installing update...
520977
520990
  `);
@@ -521016,7 +521029,7 @@ async function update() {
521016
521029
  logForDebugging(`update: Installation status: ${status2}`);
521017
521030
  switch (status2) {
521018
521031
  case "success":
521019
- writeToStdout(source_default.green(`Successfully updated from ${"1.8.7"} to version ${latestVersion}`) + `
521032
+ writeToStdout(source_default.green(`Successfully updated from ${"1.8.8"} to version ${latestVersion}`) + `
521020
521033
  `);
521021
521034
  await regenerateCompletionCache();
521022
521035
  break;
@@ -522258,7 +522271,7 @@ Run with --debug for more details.
522258
522271
  }
522259
522272
  }
522260
522273
  logForDiagnosticsNoPII("info", "started", {
522261
- version: "1.8.7",
522274
+ version: "1.8.8",
522262
522275
  is_native_binary: isInBundledMode()
522263
522276
  });
522264
522277
  registerCleanup(async () => {
@@ -523042,7 +523055,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
523042
523055
  pendingHookMessages
523043
523056
  }, renderAndRun);
523044
523057
  }
523045
- }).version("1.8.7 (localclawd)", "-v, --version", "Output the version number");
523058
+ }).version("1.8.8 (localclawd)", "-v, --version", "Output the version number");
523046
523059
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
523047
523060
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
523048
523061
  if (canUserConfigureAdvisor()) {
@@ -523556,7 +523569,7 @@ if (false) {}
523556
523569
  async function main2() {
523557
523570
  const args = process.argv.slice(2);
523558
523571
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
523559
- console.log(`${"1.8.7"} (localclawd)`);
523572
+ console.log(`${"1.8.8"} (localclawd)`);
523560
523573
  return;
523561
523574
  }
523562
523575
  const {
@@ -523639,4 +523652,4 @@ localclawd crashed: ${msg}
523639
523652
  process.exit(1);
523640
523653
  });
523641
523654
 
523642
- //# debugId=DBBB372829EADA6764756E2164756E21
523655
+ //# debugId=A465C93B87DA448764756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "localclawd",
3
- "version": "1.8.7",
3
+ "version": "1.8.8",
4
4
  "description": "Local-first coding CLI for vLLM, Ollama, and OpenAI-compatible backends.",
5
5
  "private": false,
6
6
  "type": "module",