localclawd 1.8.8 → 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 +99 -87
  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.8"}`;
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.8"} (${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.8"}${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.8"}.${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.8".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.8",
147072
+ version: "1.8.9",
147073
147073
  versionBase: getVersionBase(),
147074
- buildTime: "2026-05-07T17:26:12.076Z",
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.8";
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.8";
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.8",
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.8",
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.8");
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.8");
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.8",
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.8");
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.8"
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.8");
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.8");
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.8");
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.8" : "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.8", maxVersion)) {
286623
- logForDebugging(`Native installer: current version ${"1.8.8"} 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.8" && 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,
@@ -322840,7 +322840,8 @@ async function fetchServerWorkflow(url3, name) {
322840
322840
  const filename = name.endsWith(".json") ? name : `${name}.json`;
322841
322841
  const candidates = [
322842
322842
  `${url3}/userdata/workflows/${encodeURIComponent(filename)}`,
322843
- `${url3}/userdata/${encodeURIComponent(filename)}`
322843
+ `${url3}/userdata/${encodeURIComponent(filename)}`,
322844
+ `${url3}/userdata?file=${encodeURIComponent(`workflows/${filename}`)}`
322844
322845
  ];
322845
322846
  for (const candidate of candidates) {
322846
322847
  try {
@@ -322848,16 +322849,17 @@ async function fetchServerWorkflow(url3, name) {
322848
322849
  if (res.ok) {
322849
322850
  try {
322850
322851
  const data = await res.json();
322852
+ if (data && typeof data === "object" && !Array.isArray(data) && Object.keys(data).length === 0)
322853
+ continue;
322851
322854
  return { data };
322852
- } catch {
322853
- return { error: `HTTP 200 but response is not JSON at ${candidate}` };
322854
- }
322855
+ } catch {}
322855
322856
  }
322856
322857
  } catch {}
322857
322858
  }
322858
- return { error: `Not found. Tried:
322859
- ${candidates.join(`
322860
- `)}` };
322859
+ return {
322860
+ error: `ComfyUI did not return workflow content (tried ${candidates.length} URL patterns).`,
322861
+ manualExport: true
322862
+ };
322861
322863
  }
322862
322864
  function extractOutputImages(item) {
322863
322865
  const images = [];
@@ -331882,7 +331884,7 @@ function getAnthropicEnvMetadata() {
331882
331884
  function getBuildAgeMinutes() {
331883
331885
  if (false)
331884
331886
  ;
331885
- const buildTime = new Date("2026-05-07T17:26:12.076Z").getTime();
331887
+ const buildTime = new Date("2026-05-07T17:33:40.617Z").getTime();
331886
331888
  if (isNaN(buildTime))
331887
331889
  return;
331888
331890
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -360712,7 +360714,7 @@ function Feedback({
360712
360714
  platform: env3.platform,
360713
360715
  gitRepo: envInfo.isGit,
360714
360716
  terminal: env3.terminal,
360715
- version: "1.8.8",
360717
+ version: "1.8.9",
360716
360718
  transcript: normalizeMessagesForAPI(messages),
360717
360719
  errors: sanitizedErrors,
360718
360720
  lastApiRequest: getLastAPIRequest(),
@@ -360904,7 +360906,7 @@ function Feedback({
360904
360906
  ", ",
360905
360907
  env3.terminal,
360906
360908
  ", v",
360907
- "1.8.8"
360909
+ "1.8.9"
360908
360910
  ]
360909
360911
  }, undefined, true, undefined, this)
360910
360912
  ]
@@ -361010,7 +361012,7 @@ ${sanitizedDescription}
361010
361012
  ` + `**Environment Info**
361011
361013
  ` + `- Platform: ${env3.platform}
361012
361014
  ` + `- Terminal: ${env3.terminal}
361013
- ` + `- Version: ${"1.8.8"}
361015
+ ` + `- Version: ${"1.8.9"}
361014
361016
  ` + `- Feedback ID: ${feedbackId}
361015
361017
  ` + `
361016
361018
  **Errors**
@@ -363638,7 +363640,7 @@ function buildPrimarySection() {
363638
363640
  }, undefined, false, undefined, this);
363639
363641
  return [{
363640
363642
  label: "Version",
363641
- value: "1.8.8"
363643
+ value: "1.8.9"
363642
363644
  }, {
363643
363645
  label: "Session name",
363644
363646
  value: nameValue
@@ -368319,7 +368321,7 @@ function Config({
368319
368321
  }
368320
368322
  }, undefined, false, undefined, this)
368321
368323
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime176.jsxDEV(ChannelDowngradeDialog, {
368322
- currentVersion: "1.8.8",
368324
+ currentVersion: "1.8.9",
368323
368325
  onChoice: (choice) => {
368324
368326
  setShowSubmenu(null);
368325
368327
  setTabsHidden(false);
@@ -368331,7 +368333,7 @@ function Config({
368331
368333
  autoUpdatesChannel: "stable"
368332
368334
  };
368333
368335
  if (choice === "stay") {
368334
- newSettings.minimumVersion = "1.8.8";
368336
+ newSettings.minimumVersion = "1.8.9";
368335
368337
  }
368336
368338
  updateSettingsForSource("userSettings", newSettings);
368337
368339
  setSettingsData((prev_27) => ({
@@ -375092,13 +375094,23 @@ var call20 = async (onDone, _context, args) => {
375092
375094
  }
375093
375095
  const fetchResult = await fetchServerWorkflow(backendUrl, name);
375094
375096
  if ("error" in fetchResult) {
375097
+ const wfDir = `${projectRoot}\\.localclawd\\image-pipeline\\workflows`;
375095
375098
  onDone([
375096
375099
  `◆ Image Pipeline — Fetch Failed: "${name}"`,
375097
375100
  "",
375098
375101
  ` ${fetchResult.error}`,
375099
375102
  "",
375100
- " Make sure ComfyUI is running and the workflow exists.",
375101
- " Run /image-pipeline fetch (no args) to list available workflows."
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>"
375102
375114
  ].join(`
375103
375115
  `), { display: "system" });
375104
375116
  return null;
@@ -385764,7 +385776,7 @@ function Help(t0) {
385764
385776
  let t6;
385765
385777
  if ($2[31] !== tabs) {
385766
385778
  t6 = /* @__PURE__ */ jsx_dev_runtime221.jsxDEV(Tabs, {
385767
- title: `localclawd v${"1.8.8"}`,
385779
+ title: `localclawd v${"1.8.9"}`,
385768
385780
  color: "professionalBlue",
385769
385781
  defaultTab: "general",
385770
385782
  children: tabs
@@ -403026,7 +403038,7 @@ function getRecentReleaseNotes(currentVersion, previousVersion, changelogContent
403026
403038
  }
403027
403039
  return [];
403028
403040
  }
403029
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.8.8") {
403041
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.8.9") {
403030
403042
  if (process.env.USER_TYPE === "ant") {
403031
403043
  const changelog = MACRO.VERSION_CHANGELOG;
403032
403044
  if (changelog) {
@@ -403053,7 +403065,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.8.8") {
403053
403065
  releaseNotes
403054
403066
  };
403055
403067
  }
403056
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.8.8") {
403068
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.8.9") {
403057
403069
  if (process.env.USER_TYPE === "ant") {
403058
403070
  const changelog = MACRO.VERSION_CHANGELOG;
403059
403071
  if (changelog) {
@@ -403210,7 +403222,7 @@ function getRecentActivitySync() {
403210
403222
  return cachedActivity;
403211
403223
  }
403212
403224
  function getLogoDisplayData() {
403213
- const version = process.env.DEMO_VERSION ?? "1.8.8";
403225
+ const version = process.env.DEMO_VERSION ?? "1.8.9";
403214
403226
  const serverUrl = getDirectConnectServerUrl();
403215
403227
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
403216
403228
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -404310,7 +404322,7 @@ function Logo() {
404310
404322
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
404311
404323
  t2 = () => {
404312
404324
  const currentConfig = getGlobalConfig();
404313
- if (currentConfig.lastReleaseNotesSeen === "1.8.8") {
404325
+ if (currentConfig.lastReleaseNotesSeen === "1.8.9") {
404314
404326
  return;
404315
404327
  }
404316
404328
  saveGlobalConfig(_temp326);
@@ -404969,12 +404981,12 @@ function Logo() {
404969
404981
  return t41;
404970
404982
  }
404971
404983
  function _temp326(current) {
404972
- if (current.lastReleaseNotesSeen === "1.8.8") {
404984
+ if (current.lastReleaseNotesSeen === "1.8.9") {
404973
404985
  return current;
404974
404986
  }
404975
404987
  return {
404976
404988
  ...current,
404977
- lastReleaseNotesSeen: "1.8.8"
404989
+ lastReleaseNotesSeen: "1.8.9"
404978
404990
  };
404979
404991
  }
404980
404992
  function _temp241(s_0) {
@@ -435453,7 +435465,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
435453
435465
  smapsRollup,
435454
435466
  platform: process.platform,
435455
435467
  nodeVersion: process.version,
435456
- ccVersion: "1.8.8"
435468
+ ccVersion: "1.8.9"
435457
435469
  };
435458
435470
  }
435459
435471
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -436038,7 +436050,7 @@ var init_bridge_kick = __esm(() => {
436038
436050
  var call87 = async () => {
436039
436051
  return {
436040
436052
  type: "text",
436041
- value: `${"1.8.8"} (built ${"2026-05-07T17:26:12.076Z"})`
436053
+ value: `${"1.8.9"} (built ${"2026-05-07T17:33:40.617Z"})`
436042
436054
  };
436043
436055
  }, version, version_default;
436044
436056
  var init_version = __esm(() => {
@@ -443982,7 +443994,7 @@ function generateHtmlReport(data, insights) {
443982
443994
  </html>`;
443983
443995
  }
443984
443996
  function buildExportData(data, insights, facets, remoteStats) {
443985
- const version2 = typeof MACRO !== "undefined" ? "1.8.8" : "unknown";
443997
+ const version2 = typeof MACRO !== "undefined" ? "1.8.9" : "unknown";
443986
443998
  const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
443987
443999
  const facets_summary = {
443988
444000
  total: facets.size,
@@ -448183,7 +448195,7 @@ var init_sessionStorage = __esm(() => {
448183
448195
  init_settings2();
448184
448196
  init_slowOperations();
448185
448197
  init_uuid();
448186
- VERSION6 = typeof MACRO !== "undefined" ? "1.8.8" : "unknown";
448198
+ VERSION6 = typeof MACRO !== "undefined" ? "1.8.9" : "unknown";
448187
448199
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
448188
448200
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
448189
448201
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -449384,7 +449396,7 @@ var init_filesystem = __esm(() => {
449384
449396
  });
449385
449397
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
449386
449398
  const nonce = randomBytes20(16).toString("hex");
449387
- return join151(getClaudeTempDir(), "bundled-skills", "1.8.8", nonce);
449399
+ return join151(getClaudeTempDir(), "bundled-skills", "1.8.9", nonce);
449388
449400
  });
449389
449401
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
449390
449402
  });
@@ -458621,7 +458633,7 @@ function buildSystemInitMessage(inputs) {
458621
458633
  slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
458622
458634
  apiKeySource: getAnthropicApiKeyWithSource().source,
458623
458635
  betas: getSdkBetas(),
458624
- claude_code_version: "1.8.8",
458636
+ claude_code_version: "1.8.9",
458625
458637
  output_style: outputStyle2,
458626
458638
  agents: inputs.agents.map((agent) => agent.agentType),
458627
458639
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -472778,7 +472790,7 @@ var init_useVoiceEnabled = __esm(() => {
472778
472790
  function getSemverPart(version2) {
472779
472791
  return `${import_semver10.major(version2, { loose: true })}.${import_semver10.minor(version2, { loose: true })}.${import_semver10.patch(version2, { loose: true })}`;
472780
472792
  }
472781
- function useUpdateNotification(updatedVersion, initialVersion = "1.8.8") {
472793
+ function useUpdateNotification(updatedVersion, initialVersion = "1.8.9") {
472782
472794
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react214.useState(() => getSemverPart(initialVersion));
472783
472795
  if (!updatedVersion) {
472784
472796
  return null;
@@ -472818,7 +472830,7 @@ function AutoUpdater({
472818
472830
  return;
472819
472831
  }
472820
472832
  if (false) {}
472821
- const currentVersion = "1.8.8";
472833
+ const currentVersion = "1.8.9";
472822
472834
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
472823
472835
  let latestVersion = await getLatestVersion(channel);
472824
472836
  const isDisabled = isAutoUpdaterDisabled();
@@ -473029,12 +473041,12 @@ function NativeAutoUpdater({
473029
473041
  logEvent("tengu_native_auto_updater_start", {});
473030
473042
  try {
473031
473043
  const maxVersion = await getMaxVersion();
473032
- if (maxVersion && gt("1.8.8", maxVersion)) {
473044
+ if (maxVersion && gt("1.8.9", maxVersion)) {
473033
473045
  const msg = await getMaxVersionMessage();
473034
473046
  setMaxVersionIssue(msg ?? "affects your version");
473035
473047
  }
473036
473048
  const result = await installLatest(channel);
473037
- const currentVersion = "1.8.8";
473049
+ const currentVersion = "1.8.9";
473038
473050
  const latencyMs = Date.now() - startTime;
473039
473051
  if (result.lockFailed) {
473040
473052
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -473169,17 +473181,17 @@ function PackageManagerAutoUpdater(t0) {
473169
473181
  const maxVersion = await getMaxVersion();
473170
473182
  if (maxVersion && latest && gt(latest, maxVersion)) {
473171
473183
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
473172
- if (gte("1.8.8", maxVersion)) {
473173
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.8.8"} 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`);
473174
473186
  setUpdateAvailable(false);
473175
473187
  return;
473176
473188
  }
473177
473189
  latest = maxVersion;
473178
473190
  }
473179
- const hasUpdate = latest && !gte("1.8.8", latest) && !shouldSkipVersion(latest);
473191
+ const hasUpdate = latest && !gte("1.8.9", latest) && !shouldSkipVersion(latest);
473180
473192
  setUpdateAvailable(!!hasUpdate);
473181
473193
  if (hasUpdate) {
473182
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.8.8"} -> ${latest}`);
473194
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.8.9"} -> ${latest}`);
473183
473195
  }
473184
473196
  };
473185
473197
  $2[0] = t1;
@@ -473213,7 +473225,7 @@ function PackageManagerAutoUpdater(t0) {
473213
473225
  wrap: "truncate",
473214
473226
  children: [
473215
473227
  "currentVersion: ",
473216
- "1.8.8"
473228
+ "1.8.9"
473217
473229
  ]
473218
473230
  }, undefined, true, undefined, this);
473219
473231
  $2[3] = verbose;
@@ -480773,7 +480785,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
480773
480785
  project_dir: getOriginalCwd(),
480774
480786
  added_dirs: addedDirs
480775
480787
  },
480776
- version: "1.8.8",
480788
+ version: "1.8.9",
480777
480789
  output_style: {
480778
480790
  name: outputStyleName
480779
480791
  },
@@ -492345,7 +492357,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
492345
492357
  } catch {}
492346
492358
  const data = {
492347
492359
  trigger,
492348
- version: "1.8.8",
492360
+ version: "1.8.9",
492349
492361
  platform: process.platform,
492350
492362
  transcript,
492351
492363
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -509254,7 +509266,7 @@ function appendToLog(path17, message) {
509254
509266
  cwd: getFsImplementation().cwd(),
509255
509267
  userType: process.env.USER_TYPE,
509256
509268
  sessionId: getSessionId(),
509257
- version: "1.8.8"
509269
+ version: "1.8.9"
509258
509270
  };
509259
509271
  getLogWriter(path17).write(messageWithTimestamp);
509260
509272
  }
@@ -513278,8 +513290,8 @@ async function getEnvLessBridgeConfig() {
513278
513290
  }
513279
513291
  async function checkEnvLessBridgeMinVersion() {
513280
513292
  const cfg = await getEnvLessBridgeConfig();
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.
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.
513283
513295
  Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
513284
513296
  }
513285
513297
  return null;
@@ -513751,7 +513763,7 @@ async function initBridgeCore(params) {
513751
513763
  const rawApi = createBridgeApiClient({
513752
513764
  baseUrl,
513753
513765
  getAccessToken,
513754
- runnerVersion: "1.8.8",
513766
+ runnerVersion: "1.8.9",
513755
513767
  onDebug: logForDebugging,
513756
513768
  onAuth401,
513757
513769
  getTrustedDeviceToken
@@ -519470,7 +519482,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
519470
519482
  setCwd(cwd3);
519471
519483
  const server = new Server({
519472
519484
  name: "claude/tengu",
519473
- version: "1.8.8"
519485
+ version: "1.8.9"
519474
519486
  }, {
519475
519487
  capabilities: {
519476
519488
  tools: {}
@@ -520551,7 +520563,7 @@ function WelcomeLogo() {
520551
520563
  dimColor: true,
520552
520564
  children: [
520553
520565
  "v",
520554
- "1.8.8"
520566
+ "1.8.9"
520555
520567
  ]
520556
520568
  }, undefined, true, undefined, this)
520557
520569
  ]
@@ -520742,7 +520754,7 @@ __export(exports_update, {
520742
520754
  });
520743
520755
  async function update() {
520744
520756
  logEvent("tengu_update_check", {});
520745
- writeToStdout(`Current version: ${"1.8.8"}
520757
+ writeToStdout(`Current version: ${"1.8.9"}
520746
520758
  `);
520747
520759
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
520748
520760
  writeToStdout(`Checking for updates to ${channel} version...
@@ -520817,8 +520829,8 @@ async function update() {
520817
520829
  writeToStdout(`localclawd is managed by Homebrew.
520818
520830
  `);
520819
520831
  const latest = await getLatestVersion(channel);
520820
- if (latest && !gte("1.8.8", latest)) {
520821
- writeToStdout(`Update available: ${"1.8.8"} → ${latest}
520832
+ if (latest && !gte("1.8.9", latest)) {
520833
+ writeToStdout(`Update available: ${"1.8.9"} → ${latest}
520822
520834
  `);
520823
520835
  writeToStdout(`
520824
520836
  `);
@@ -520834,8 +520846,8 @@ async function update() {
520834
520846
  writeToStdout(`localclawd is managed by winget.
520835
520847
  `);
520836
520848
  const latest = await getLatestVersion(channel);
520837
- if (latest && !gte("1.8.8", latest)) {
520838
- writeToStdout(`Update available: ${"1.8.8"} → ${latest}
520849
+ if (latest && !gte("1.8.9", latest)) {
520850
+ writeToStdout(`Update available: ${"1.8.9"} → ${latest}
520839
520851
  `);
520840
520852
  writeToStdout(`
520841
520853
  `);
@@ -520849,8 +520861,8 @@ async function update() {
520849
520861
  writeToStdout(`localclawd is managed by apk.
520850
520862
  `);
520851
520863
  const latest = await getLatestVersion(channel);
520852
- if (latest && !gte("1.8.8", latest)) {
520853
- writeToStdout(`Update available: ${"1.8.8"} → ${latest}
520864
+ if (latest && !gte("1.8.9", latest)) {
520865
+ writeToStdout(`Update available: ${"1.8.9"} → ${latest}
520854
520866
  `);
520855
520867
  writeToStdout(`
520856
520868
  `);
@@ -520915,11 +520927,11 @@ async function update() {
520915
520927
  `);
520916
520928
  await gracefulShutdown(1);
520917
520929
  }
520918
- if (result.latestVersion === "1.8.8") {
520919
- writeToStdout(source_default.green(`localclawd is up to date (${"1.8.8"})`) + `
520930
+ if (result.latestVersion === "1.8.9") {
520931
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.8.9"})`) + `
520920
520932
  `);
520921
520933
  } else {
520922
- writeToStdout(source_default.green(`Successfully updated from ${"1.8.8"} to version ${result.latestVersion}`) + `
520934
+ writeToStdout(source_default.green(`Successfully updated from ${"1.8.9"} to version ${result.latestVersion}`) + `
520923
520935
  `);
520924
520936
  await regenerateCompletionCache();
520925
520937
  }
@@ -520979,12 +520991,12 @@ async function update() {
520979
520991
  `);
520980
520992
  await gracefulShutdown(1);
520981
520993
  }
520982
- if (latestVersion === "1.8.8") {
520983
- writeToStdout(source_default.green(`localclawd is up to date (${"1.8.8"})`) + `
520994
+ if (latestVersion === "1.8.9") {
520995
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.8.9"})`) + `
520984
520996
  `);
520985
520997
  await gracefulShutdown(0);
520986
520998
  }
520987
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.8.8"})
520999
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.8.9"})
520988
521000
  `);
520989
521001
  writeToStdout(`Installing update...
520990
521002
  `);
@@ -521029,7 +521041,7 @@ async function update() {
521029
521041
  logForDebugging(`update: Installation status: ${status2}`);
521030
521042
  switch (status2) {
521031
521043
  case "success":
521032
- writeToStdout(source_default.green(`Successfully updated from ${"1.8.8"} to version ${latestVersion}`) + `
521044
+ writeToStdout(source_default.green(`Successfully updated from ${"1.8.9"} to version ${latestVersion}`) + `
521033
521045
  `);
521034
521046
  await regenerateCompletionCache();
521035
521047
  break;
@@ -522271,7 +522283,7 @@ Run with --debug for more details.
522271
522283
  }
522272
522284
  }
522273
522285
  logForDiagnosticsNoPII("info", "started", {
522274
- version: "1.8.8",
522286
+ version: "1.8.9",
522275
522287
  is_native_binary: isInBundledMode()
522276
522288
  });
522277
522289
  registerCleanup(async () => {
@@ -523055,7 +523067,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
523055
523067
  pendingHookMessages
523056
523068
  }, renderAndRun);
523057
523069
  }
523058
- }).version("1.8.8 (localclawd)", "-v, --version", "Output the version number");
523070
+ }).version("1.8.9 (localclawd)", "-v, --version", "Output the version number");
523059
523071
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
523060
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.");
523061
523073
  if (canUserConfigureAdvisor()) {
@@ -523569,7 +523581,7 @@ if (false) {}
523569
523581
  async function main2() {
523570
523582
  const args = process.argv.slice(2);
523571
523583
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
523572
- console.log(`${"1.8.8"} (localclawd)`);
523584
+ console.log(`${"1.8.9"} (localclawd)`);
523573
523585
  return;
523574
523586
  }
523575
523587
  const {
@@ -523652,4 +523664,4 @@ localclawd crashed: ${msg}
523652
523664
  process.exit(1);
523653
523665
  });
523654
523666
 
523655
- //# debugId=A465C93B87DA448764756E2164756E21
523667
+ //# debugId=8CAABE705FAA411364756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "localclawd",
3
- "version": "1.8.8",
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",