localclawd 1.8.7 → 1.8.9

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 +117 -92
  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.9"}`;
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.9"} (${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.9"}${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.9"}.${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.9".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.9",
147073
147073
  versionBase: getVersionBase(),
147074
- buildTime: "2026-05-07T17:08:41.357Z",
147074
+ buildTime: "2026-05-07T17:33:40.617Z",
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.9";
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.9";
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.9",
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.9",
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.9");
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.9");
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.9",
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.9");
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.9"
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.9");
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.9");
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.9");
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.9" : "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.9", maxVersion)) {
286623
+ logForDebugging(`Native installer: current version ${"1.8.9"} 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.9" && 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,29 @@ 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
+ `${url3}/userdata?file=${encodeURIComponent(`workflows/${filename}`)}`
322845
+ ];
322846
+ for (const candidate of candidates) {
322847
+ try {
322848
+ const res = await fetch(candidate);
322849
+ if (res.ok) {
322850
+ try {
322851
+ const data = await res.json();
322852
+ if (data && typeof data === "object" && !Array.isArray(data) && Object.keys(data).length === 0)
322853
+ continue;
322854
+ return { data };
322855
+ } catch {}
322856
+ }
322857
+ } catch {}
322848
322858
  }
322859
+ return {
322860
+ error: `ComfyUI did not return workflow content (tried ${candidates.length} URL patterns).`,
322861
+ manualExport: true
322862
+ };
322849
322863
  }
322850
322864
  function extractOutputImages(item) {
322851
322865
  const images = [];
@@ -331870,7 +331884,7 @@ function getAnthropicEnvMetadata() {
331870
331884
  function getBuildAgeMinutes() {
331871
331885
  if (false)
331872
331886
  ;
331873
- const buildTime = new Date("2026-05-07T17:08:41.357Z").getTime();
331887
+ const buildTime = new Date("2026-05-07T17:33:40.617Z").getTime();
331874
331888
  if (isNaN(buildTime))
331875
331889
  return;
331876
331890
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -360700,7 +360714,7 @@ function Feedback({
360700
360714
  platform: env3.platform,
360701
360715
  gitRepo: envInfo.isGit,
360702
360716
  terminal: env3.terminal,
360703
- version: "1.8.7",
360717
+ version: "1.8.9",
360704
360718
  transcript: normalizeMessagesForAPI(messages),
360705
360719
  errors: sanitizedErrors,
360706
360720
  lastApiRequest: getLastAPIRequest(),
@@ -360892,7 +360906,7 @@ function Feedback({
360892
360906
  ", ",
360893
360907
  env3.terminal,
360894
360908
  ", v",
360895
- "1.8.7"
360909
+ "1.8.9"
360896
360910
  ]
360897
360911
  }, undefined, true, undefined, this)
360898
360912
  ]
@@ -360998,7 +361012,7 @@ ${sanitizedDescription}
360998
361012
  ` + `**Environment Info**
360999
361013
  ` + `- Platform: ${env3.platform}
361000
361014
  ` + `- Terminal: ${env3.terminal}
361001
- ` + `- Version: ${"1.8.7"}
361015
+ ` + `- Version: ${"1.8.9"}
361002
361016
  ` + `- Feedback ID: ${feedbackId}
361003
361017
  ` + `
361004
361018
  **Errors**
@@ -363626,7 +363640,7 @@ function buildPrimarySection() {
363626
363640
  }, undefined, false, undefined, this);
363627
363641
  return [{
363628
363642
  label: "Version",
363629
- value: "1.8.7"
363643
+ value: "1.8.9"
363630
363644
  }, {
363631
363645
  label: "Session name",
363632
363646
  value: nameValue
@@ -368307,7 +368321,7 @@ function Config({
368307
368321
  }
368308
368322
  }, undefined, false, undefined, this)
368309
368323
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime176.jsxDEV(ChannelDowngradeDialog, {
368310
- currentVersion: "1.8.7",
368324
+ currentVersion: "1.8.9",
368311
368325
  onChoice: (choice) => {
368312
368326
  setShowSubmenu(null);
368313
368327
  setTabsHidden(false);
@@ -368319,7 +368333,7 @@ function Config({
368319
368333
  autoUpdatesChannel: "stable"
368320
368334
  };
368321
368335
  if (choice === "stay") {
368322
- newSettings.minimumVersion = "1.8.7";
368336
+ newSettings.minimumVersion = "1.8.9";
368323
368337
  }
368324
368338
  updateSettingsForSource("userSettings", newSettings);
368325
368339
  setSettingsData((prev_27) => ({
@@ -375078,14 +375092,25 @@ var call20 = async (onDone, _context, args) => {
375078
375092
  `), { display: "system" });
375079
375093
  return null;
375080
375094
  }
375081
- const workflowData = await fetchServerWorkflow(backendUrl, name);
375082
- if (!workflowData) {
375095
+ const fetchResult = await fetchServerWorkflow(backendUrl, name);
375096
+ if ("error" in fetchResult) {
375097
+ const wfDir = `${projectRoot}\\.localclawd\\image-pipeline\\workflows`;
375083
375098
  onDone([
375084
375099
  `◆ Image Pipeline — Fetch Failed: "${name}"`,
375085
375100
  "",
375086
- ` Could not fetch from ${backendUrl}/userdata/workflows/${name}.json`,
375087
- " Check ComfyUI is running and the workflow name is correct.",
375088
- " Run /image-pipeline fetch (no args) to list available workflows."
375101
+ ` ${fetchResult.error}`,
375102
+ "",
375103
+ " Your ComfyUI version may not support workflow download via API.",
375104
+ " Export the workflow manually:",
375105
+ "",
375106
+ ` 1. Open ComfyUI: ${backendUrl}`,
375107
+ " 2. Load the workflow from the sidebar",
375108
+ " 3. Settings → Enable Dev Mode (gear icon)",
375109
+ " 4. Click Save (API Format) — saves a flat JSON file",
375110
+ " 5. Copy that file here:",
375111
+ ` ${wfDir}\\${name}.json`,
375112
+ "",
375113
+ " Then use: /image " + name + ": <your prompt>"
375089
375114
  ].join(`
375090
375115
  `), { display: "system" });
375091
375116
  return null;
@@ -375094,7 +375119,7 @@ var call20 = async (onDone, _context, args) => {
375094
375119
  const filename = name.endsWith(".json") ? name : `${name}.json`;
375095
375120
  const outPath = join113(projectRoot, ".localclawd", "image-pipeline", "workflows", filename);
375096
375121
  await mkdir35(join113(projectRoot, ".localclawd", "image-pipeline", "workflows"), { recursive: true });
375097
- await writeFile37(outPath, JSON.stringify(workflowData, null, 2), "utf-8");
375122
+ await writeFile37(outPath, JSON.stringify(fetchResult.data, null, 2), "utf-8");
375098
375123
  onDone([
375099
375124
  `◆ Image Pipeline — Fetched: "${name}"`,
375100
375125
  "",
@@ -385751,7 +385776,7 @@ function Help(t0) {
385751
385776
  let t6;
385752
385777
  if ($2[31] !== tabs) {
385753
385778
  t6 = /* @__PURE__ */ jsx_dev_runtime221.jsxDEV(Tabs, {
385754
- title: `localclawd v${"1.8.7"}`,
385779
+ title: `localclawd v${"1.8.9"}`,
385755
385780
  color: "professionalBlue",
385756
385781
  defaultTab: "general",
385757
385782
  children: tabs
@@ -403013,7 +403038,7 @@ function getRecentReleaseNotes(currentVersion, previousVersion, changelogContent
403013
403038
  }
403014
403039
  return [];
403015
403040
  }
403016
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.8.7") {
403041
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.8.9") {
403017
403042
  if (process.env.USER_TYPE === "ant") {
403018
403043
  const changelog = MACRO.VERSION_CHANGELOG;
403019
403044
  if (changelog) {
@@ -403040,7 +403065,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.8.7") {
403040
403065
  releaseNotes
403041
403066
  };
403042
403067
  }
403043
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.8.7") {
403068
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.8.9") {
403044
403069
  if (process.env.USER_TYPE === "ant") {
403045
403070
  const changelog = MACRO.VERSION_CHANGELOG;
403046
403071
  if (changelog) {
@@ -403197,7 +403222,7 @@ function getRecentActivitySync() {
403197
403222
  return cachedActivity;
403198
403223
  }
403199
403224
  function getLogoDisplayData() {
403200
- const version = process.env.DEMO_VERSION ?? "1.8.7";
403225
+ const version = process.env.DEMO_VERSION ?? "1.8.9";
403201
403226
  const serverUrl = getDirectConnectServerUrl();
403202
403227
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
403203
403228
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -404297,7 +404322,7 @@ function Logo() {
404297
404322
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
404298
404323
  t2 = () => {
404299
404324
  const currentConfig = getGlobalConfig();
404300
- if (currentConfig.lastReleaseNotesSeen === "1.8.7") {
404325
+ if (currentConfig.lastReleaseNotesSeen === "1.8.9") {
404301
404326
  return;
404302
404327
  }
404303
404328
  saveGlobalConfig(_temp326);
@@ -404956,12 +404981,12 @@ function Logo() {
404956
404981
  return t41;
404957
404982
  }
404958
404983
  function _temp326(current) {
404959
- if (current.lastReleaseNotesSeen === "1.8.7") {
404984
+ if (current.lastReleaseNotesSeen === "1.8.9") {
404960
404985
  return current;
404961
404986
  }
404962
404987
  return {
404963
404988
  ...current,
404964
- lastReleaseNotesSeen: "1.8.7"
404989
+ lastReleaseNotesSeen: "1.8.9"
404965
404990
  };
404966
404991
  }
404967
404992
  function _temp241(s_0) {
@@ -435440,7 +435465,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
435440
435465
  smapsRollup,
435441
435466
  platform: process.platform,
435442
435467
  nodeVersion: process.version,
435443
- ccVersion: "1.8.7"
435468
+ ccVersion: "1.8.9"
435444
435469
  };
435445
435470
  }
435446
435471
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -436025,7 +436050,7 @@ var init_bridge_kick = __esm(() => {
436025
436050
  var call87 = async () => {
436026
436051
  return {
436027
436052
  type: "text",
436028
- value: `${"1.8.7"} (built ${"2026-05-07T17:08:41.357Z"})`
436053
+ value: `${"1.8.9"} (built ${"2026-05-07T17:33:40.617Z"})`
436029
436054
  };
436030
436055
  }, version, version_default;
436031
436056
  var init_version = __esm(() => {
@@ -443969,7 +443994,7 @@ function generateHtmlReport(data, insights) {
443969
443994
  </html>`;
443970
443995
  }
443971
443996
  function buildExportData(data, insights, facets, remoteStats) {
443972
- const version2 = typeof MACRO !== "undefined" ? "1.8.7" : "unknown";
443997
+ const version2 = typeof MACRO !== "undefined" ? "1.8.9" : "unknown";
443973
443998
  const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
443974
443999
  const facets_summary = {
443975
444000
  total: facets.size,
@@ -448170,7 +448195,7 @@ var init_sessionStorage = __esm(() => {
448170
448195
  init_settings2();
448171
448196
  init_slowOperations();
448172
448197
  init_uuid();
448173
- VERSION6 = typeof MACRO !== "undefined" ? "1.8.7" : "unknown";
448198
+ VERSION6 = typeof MACRO !== "undefined" ? "1.8.9" : "unknown";
448174
448199
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
448175
448200
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
448176
448201
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -449371,7 +449396,7 @@ var init_filesystem = __esm(() => {
449371
449396
  });
449372
449397
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
449373
449398
  const nonce = randomBytes20(16).toString("hex");
449374
- return join151(getClaudeTempDir(), "bundled-skills", "1.8.7", nonce);
449399
+ return join151(getClaudeTempDir(), "bundled-skills", "1.8.9", nonce);
449375
449400
  });
449376
449401
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
449377
449402
  });
@@ -458608,7 +458633,7 @@ function buildSystemInitMessage(inputs) {
458608
458633
  slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
458609
458634
  apiKeySource: getAnthropicApiKeyWithSource().source,
458610
458635
  betas: getSdkBetas(),
458611
- claude_code_version: "1.8.7",
458636
+ claude_code_version: "1.8.9",
458612
458637
  output_style: outputStyle2,
458613
458638
  agents: inputs.agents.map((agent) => agent.agentType),
458614
458639
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -472765,7 +472790,7 @@ var init_useVoiceEnabled = __esm(() => {
472765
472790
  function getSemverPart(version2) {
472766
472791
  return `${import_semver10.major(version2, { loose: true })}.${import_semver10.minor(version2, { loose: true })}.${import_semver10.patch(version2, { loose: true })}`;
472767
472792
  }
472768
- function useUpdateNotification(updatedVersion, initialVersion = "1.8.7") {
472793
+ function useUpdateNotification(updatedVersion, initialVersion = "1.8.9") {
472769
472794
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react214.useState(() => getSemverPart(initialVersion));
472770
472795
  if (!updatedVersion) {
472771
472796
  return null;
@@ -472805,7 +472830,7 @@ function AutoUpdater({
472805
472830
  return;
472806
472831
  }
472807
472832
  if (false) {}
472808
- const currentVersion = "1.8.7";
472833
+ const currentVersion = "1.8.9";
472809
472834
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
472810
472835
  let latestVersion = await getLatestVersion(channel);
472811
472836
  const isDisabled = isAutoUpdaterDisabled();
@@ -473016,12 +473041,12 @@ function NativeAutoUpdater({
473016
473041
  logEvent("tengu_native_auto_updater_start", {});
473017
473042
  try {
473018
473043
  const maxVersion = await getMaxVersion();
473019
- if (maxVersion && gt("1.8.7", maxVersion)) {
473044
+ if (maxVersion && gt("1.8.9", maxVersion)) {
473020
473045
  const msg = await getMaxVersionMessage();
473021
473046
  setMaxVersionIssue(msg ?? "affects your version");
473022
473047
  }
473023
473048
  const result = await installLatest(channel);
473024
- const currentVersion = "1.8.7";
473049
+ const currentVersion = "1.8.9";
473025
473050
  const latencyMs = Date.now() - startTime;
473026
473051
  if (result.lockFailed) {
473027
473052
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -473156,17 +473181,17 @@ function PackageManagerAutoUpdater(t0) {
473156
473181
  const maxVersion = await getMaxVersion();
473157
473182
  if (maxVersion && latest && gt(latest, maxVersion)) {
473158
473183
  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`);
473184
+ if (gte("1.8.9", maxVersion)) {
473185
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.8.9"} is already at or above maxVersion ${maxVersion}, skipping update`);
473161
473186
  setUpdateAvailable(false);
473162
473187
  return;
473163
473188
  }
473164
473189
  latest = maxVersion;
473165
473190
  }
473166
- const hasUpdate = latest && !gte("1.8.7", latest) && !shouldSkipVersion(latest);
473191
+ const hasUpdate = latest && !gte("1.8.9", latest) && !shouldSkipVersion(latest);
473167
473192
  setUpdateAvailable(!!hasUpdate);
473168
473193
  if (hasUpdate) {
473169
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.8.7"} -> ${latest}`);
473194
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.8.9"} -> ${latest}`);
473170
473195
  }
473171
473196
  };
473172
473197
  $2[0] = t1;
@@ -473200,7 +473225,7 @@ function PackageManagerAutoUpdater(t0) {
473200
473225
  wrap: "truncate",
473201
473226
  children: [
473202
473227
  "currentVersion: ",
473203
- "1.8.7"
473228
+ "1.8.9"
473204
473229
  ]
473205
473230
  }, undefined, true, undefined, this);
473206
473231
  $2[3] = verbose;
@@ -480760,7 +480785,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
480760
480785
  project_dir: getOriginalCwd(),
480761
480786
  added_dirs: addedDirs
480762
480787
  },
480763
- version: "1.8.7",
480788
+ version: "1.8.9",
480764
480789
  output_style: {
480765
480790
  name: outputStyleName
480766
480791
  },
@@ -492332,7 +492357,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
492332
492357
  } catch {}
492333
492358
  const data = {
492334
492359
  trigger,
492335
- version: "1.8.7",
492360
+ version: "1.8.9",
492336
492361
  platform: process.platform,
492337
492362
  transcript,
492338
492363
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -509241,7 +509266,7 @@ function appendToLog(path17, message) {
509241
509266
  cwd: getFsImplementation().cwd(),
509242
509267
  userType: process.env.USER_TYPE,
509243
509268
  sessionId: getSessionId(),
509244
- version: "1.8.7"
509269
+ version: "1.8.9"
509245
509270
  };
509246
509271
  getLogWriter(path17).write(messageWithTimestamp);
509247
509272
  }
@@ -513265,8 +513290,8 @@ async function getEnvLessBridgeConfig() {
513265
513290
  }
513266
513291
  async function checkEnvLessBridgeMinVersion() {
513267
513292
  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.
513293
+ if (cfg.min_version && lt("1.8.9", cfg.min_version)) {
513294
+ return `Your version of localclawd (${"1.8.9"}) is too old for Remote Control.
513270
513295
  Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
513271
513296
  }
513272
513297
  return null;
@@ -513738,7 +513763,7 @@ async function initBridgeCore(params) {
513738
513763
  const rawApi = createBridgeApiClient({
513739
513764
  baseUrl,
513740
513765
  getAccessToken,
513741
- runnerVersion: "1.8.7",
513766
+ runnerVersion: "1.8.9",
513742
513767
  onDebug: logForDebugging,
513743
513768
  onAuth401,
513744
513769
  getTrustedDeviceToken
@@ -519457,7 +519482,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
519457
519482
  setCwd(cwd3);
519458
519483
  const server = new Server({
519459
519484
  name: "claude/tengu",
519460
- version: "1.8.7"
519485
+ version: "1.8.9"
519461
519486
  }, {
519462
519487
  capabilities: {
519463
519488
  tools: {}
@@ -520538,7 +520563,7 @@ function WelcomeLogo() {
520538
520563
  dimColor: true,
520539
520564
  children: [
520540
520565
  "v",
520541
- "1.8.7"
520566
+ "1.8.9"
520542
520567
  ]
520543
520568
  }, undefined, true, undefined, this)
520544
520569
  ]
@@ -520729,7 +520754,7 @@ __export(exports_update, {
520729
520754
  });
520730
520755
  async function update() {
520731
520756
  logEvent("tengu_update_check", {});
520732
- writeToStdout(`Current version: ${"1.8.7"}
520757
+ writeToStdout(`Current version: ${"1.8.9"}
520733
520758
  `);
520734
520759
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
520735
520760
  writeToStdout(`Checking for updates to ${channel} version...
@@ -520804,8 +520829,8 @@ async function update() {
520804
520829
  writeToStdout(`localclawd is managed by Homebrew.
520805
520830
  `);
520806
520831
  const latest = await getLatestVersion(channel);
520807
- if (latest && !gte("1.8.7", latest)) {
520808
- writeToStdout(`Update available: ${"1.8.7"} → ${latest}
520832
+ if (latest && !gte("1.8.9", latest)) {
520833
+ writeToStdout(`Update available: ${"1.8.9"} → ${latest}
520809
520834
  `);
520810
520835
  writeToStdout(`
520811
520836
  `);
@@ -520821,8 +520846,8 @@ async function update() {
520821
520846
  writeToStdout(`localclawd is managed by winget.
520822
520847
  `);
520823
520848
  const latest = await getLatestVersion(channel);
520824
- if (latest && !gte("1.8.7", latest)) {
520825
- writeToStdout(`Update available: ${"1.8.7"} → ${latest}
520849
+ if (latest && !gte("1.8.9", latest)) {
520850
+ writeToStdout(`Update available: ${"1.8.9"} → ${latest}
520826
520851
  `);
520827
520852
  writeToStdout(`
520828
520853
  `);
@@ -520836,8 +520861,8 @@ async function update() {
520836
520861
  writeToStdout(`localclawd is managed by apk.
520837
520862
  `);
520838
520863
  const latest = await getLatestVersion(channel);
520839
- if (latest && !gte("1.8.7", latest)) {
520840
- writeToStdout(`Update available: ${"1.8.7"} → ${latest}
520864
+ if (latest && !gte("1.8.9", latest)) {
520865
+ writeToStdout(`Update available: ${"1.8.9"} → ${latest}
520841
520866
  `);
520842
520867
  writeToStdout(`
520843
520868
  `);
@@ -520902,11 +520927,11 @@ async function update() {
520902
520927
  `);
520903
520928
  await gracefulShutdown(1);
520904
520929
  }
520905
- if (result.latestVersion === "1.8.7") {
520906
- writeToStdout(source_default.green(`localclawd is up to date (${"1.8.7"})`) + `
520930
+ if (result.latestVersion === "1.8.9") {
520931
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.8.9"})`) + `
520907
520932
  `);
520908
520933
  } else {
520909
- writeToStdout(source_default.green(`Successfully updated from ${"1.8.7"} to version ${result.latestVersion}`) + `
520934
+ writeToStdout(source_default.green(`Successfully updated from ${"1.8.9"} to version ${result.latestVersion}`) + `
520910
520935
  `);
520911
520936
  await regenerateCompletionCache();
520912
520937
  }
@@ -520966,12 +520991,12 @@ async function update() {
520966
520991
  `);
520967
520992
  await gracefulShutdown(1);
520968
520993
  }
520969
- if (latestVersion === "1.8.7") {
520970
- writeToStdout(source_default.green(`localclawd is up to date (${"1.8.7"})`) + `
520994
+ if (latestVersion === "1.8.9") {
520995
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.8.9"})`) + `
520971
520996
  `);
520972
520997
  await gracefulShutdown(0);
520973
520998
  }
520974
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.8.7"})
520999
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.8.9"})
520975
521000
  `);
520976
521001
  writeToStdout(`Installing update...
520977
521002
  `);
@@ -521016,7 +521041,7 @@ async function update() {
521016
521041
  logForDebugging(`update: Installation status: ${status2}`);
521017
521042
  switch (status2) {
521018
521043
  case "success":
521019
- writeToStdout(source_default.green(`Successfully updated from ${"1.8.7"} to version ${latestVersion}`) + `
521044
+ writeToStdout(source_default.green(`Successfully updated from ${"1.8.9"} to version ${latestVersion}`) + `
521020
521045
  `);
521021
521046
  await regenerateCompletionCache();
521022
521047
  break;
@@ -522258,7 +522283,7 @@ Run with --debug for more details.
522258
522283
  }
522259
522284
  }
522260
522285
  logForDiagnosticsNoPII("info", "started", {
522261
- version: "1.8.7",
522286
+ version: "1.8.9",
522262
522287
  is_native_binary: isInBundledMode()
522263
522288
  });
522264
522289
  registerCleanup(async () => {
@@ -523042,7 +523067,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
523042
523067
  pendingHookMessages
523043
523068
  }, renderAndRun);
523044
523069
  }
523045
- }).version("1.8.7 (localclawd)", "-v, --version", "Output the version number");
523070
+ }).version("1.8.9 (localclawd)", "-v, --version", "Output the version number");
523046
523071
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
523047
523072
  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
523073
  if (canUserConfigureAdvisor()) {
@@ -523556,7 +523581,7 @@ if (false) {}
523556
523581
  async function main2() {
523557
523582
  const args = process.argv.slice(2);
523558
523583
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
523559
- console.log(`${"1.8.7"} (localclawd)`);
523584
+ console.log(`${"1.8.9"} (localclawd)`);
523560
523585
  return;
523561
523586
  }
523562
523587
  const {
@@ -523639,4 +523664,4 @@ localclawd crashed: ${msg}
523639
523664
  process.exit(1);
523640
523665
  });
523641
523666
 
523642
- //# debugId=DBBB372829EADA6764756E2164756E21
523667
+ //# debugId=8CAABE705FAA411364756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "localclawd",
3
- "version": "1.8.7",
3
+ "version": "1.8.9",
4
4
  "description": "Local-first coding CLI for vLLM, Ollama, and OpenAI-compatible backends.",
5
5
  "private": false,
6
6
  "type": "module",