localclawd 1.1.12 → 1.1.13

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 +435 -1220
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -87216,23 +87216,6 @@ var init_config = __esm(() => {
87216
87216
  });
87217
87217
 
87218
87218
  // src/utils/model/providers.ts
87219
- var exports_providers = {};
87220
- __export(exports_providers, {
87221
- setSessionLocalLLMConfigOverride: () => setSessionLocalLLMConfigOverride,
87222
- normalizeLocalLLMConfig: () => normalizeLocalLLMConfig,
87223
- isLocalLLMProviderEnabled: () => isLocalLLMProviderEnabled,
87224
- isFirstPartyAnthropicBaseUrl: () => isFirstPartyAnthropicBaseUrl,
87225
- getSessionLocalLLMConfigOverride: () => getSessionLocalLLMConfigOverride,
87226
- getLocalLLMProviderLabel: () => getLocalLLMProviderLabel,
87227
- getLocalLLMProvider: () => getLocalLLMProvider,
87228
- getLocalLLMModel: () => getLocalLLMModel,
87229
- getLocalLLMBaseUrl: () => getLocalLLMBaseUrl,
87230
- getLocalLLMApiKey: () => getLocalLLMApiKey,
87231
- getDefaultLocalLLMConfig: () => getDefaultLocalLLMConfig,
87232
- getAPIProviderForStatsig: () => getAPIProviderForStatsig,
87233
- getAPIProvider: () => getAPIProvider,
87234
- clearSessionLocalLLMConfigOverride: () => clearSessionLocalLLMConfigOverride
87235
- });
87236
87219
  function getEnvAlias(localKey, legacyKey) {
87237
87220
  return process.env[localKey] ?? process.env[legacyKey];
87238
87221
  }
@@ -87282,15 +87265,6 @@ function normalizeLocalLLMConfig(config) {
87282
87265
  apiKey: config?.apiKey?.trim() || defaults2.apiKey
87283
87266
  };
87284
87267
  }
87285
- function setSessionLocalLLMConfigOverride(config) {
87286
- sessionLocalLLMConfigOverride = config ? normalizeLocalLLMConfig(config) : null;
87287
- }
87288
- function clearSessionLocalLLMConfigOverride() {
87289
- sessionLocalLLMConfigOverride = null;
87290
- }
87291
- function getSessionLocalLLMConfigOverride() {
87292
- return sessionLocalLLMConfigOverride;
87293
- }
87294
87268
  function getLocalLLMProvider() {
87295
87269
  return getLocalLLMProviderFromEnv() ?? sessionLocalLLMConfigOverride?.provider ?? getConfiguredLocalLLMProvider() ?? "vllm";
87296
87270
  }
@@ -89253,7 +89227,7 @@ var init_isEqual = __esm(() => {
89253
89227
 
89254
89228
  // src/utils/userAgent.ts
89255
89229
  function getClaudeCodeUserAgent() {
89256
- return `claude-code/${"1.1.12"}`;
89230
+ return `claude-code/${"1.1.13"}`;
89257
89231
  }
89258
89232
 
89259
89233
  // src/utils/workloadContext.ts
@@ -89275,7 +89249,7 @@ function getUserAgent() {
89275
89249
  const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
89276
89250
  const workload = getWorkload();
89277
89251
  const workloadSuffix = workload ? `, workload/${workload}` : "";
89278
- return `claude-cli/${"1.1.12"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
89252
+ return `claude-cli/${"1.1.13"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
89279
89253
  }
89280
89254
  function getMCPUserAgent() {
89281
89255
  const parts = [];
@@ -89289,7 +89263,7 @@ function getMCPUserAgent() {
89289
89263
  parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
89290
89264
  }
89291
89265
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
89292
- return `claude-code/${"1.1.12"}${suffix}`;
89266
+ return `claude-code/${"1.1.13"}${suffix}`;
89293
89267
  }
89294
89268
  function getWebFetchUserAgent() {
89295
89269
  return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -99198,7 +99172,7 @@ function getAttributionHeader(fingerprint) {
99198
99172
  if (!isAttributionHeaderEnabled()) {
99199
99173
  return "";
99200
99174
  }
99201
- const version = `${"1.1.12"}.${fingerprint}`;
99175
+ const version = `${"1.1.13"}.${fingerprint}`;
99202
99176
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
99203
99177
  const cch = "";
99204
99178
  const workload = getWorkload();
@@ -132745,7 +132719,7 @@ var init_metadata = __esm(() => {
132745
132719
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
132746
132720
  WHITESPACE_REGEX = /\s+/;
132747
132721
  getVersionBase = memoize_default(() => {
132748
- const match = "1.1.12".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
132722
+ const match = "1.1.13".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
132749
132723
  return match ? match[0] : undefined;
132750
132724
  });
132751
132725
  buildEnvContext = memoize_default(async () => {
@@ -132785,9 +132759,9 @@ var init_metadata = __esm(() => {
132785
132759
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
132786
132760
  isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
132787
132761
  isClaudeAiAuth: isClaudeAISubscriber(),
132788
- version: "1.1.12",
132762
+ version: "1.1.13",
132789
132763
  versionBase: getVersionBase(),
132790
- buildTime: "2026-04-07T16:21:50.781Z",
132764
+ buildTime: "2026-04-07T18:09:59.417Z",
132791
132765
  deploymentEnvironment: env4.detectDeploymentEnvironment(),
132792
132766
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
132793
132767
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -197374,7 +197348,7 @@ function getTelemetryAttributes() {
197374
197348
  attributes["session.id"] = sessionId;
197375
197349
  }
197376
197350
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
197377
- attributes["app.version"] = "1.1.12";
197351
+ attributes["app.version"] = "1.1.13";
197378
197352
  }
197379
197353
  const oauthAccount = getOauthAccountInfo();
197380
197354
  if (oauthAccount) {
@@ -229435,7 +229409,7 @@ function getInstallationEnv() {
229435
229409
  return;
229436
229410
  }
229437
229411
  function getClaudeCodeVersion() {
229438
- return "1.1.12";
229412
+ return "1.1.13";
229439
229413
  }
229440
229414
  async function getInstalledVSCodeExtensionVersion(command) {
229441
229415
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -235037,7 +235011,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
235037
235011
  const client4 = new Client({
235038
235012
  name: "claude-code",
235039
235013
  title: "Claude Code",
235040
- version: "1.1.12",
235014
+ version: "1.1.13",
235041
235015
  description: "Anthropic's agentic coding tool",
235042
235016
  websiteUrl: PRODUCT_URL
235043
235017
  }, {
@@ -235390,7 +235364,7 @@ var init_client9 = __esm(() => {
235390
235364
  const client4 = new Client({
235391
235365
  name: "claude-code",
235392
235366
  title: "Claude Code",
235393
- version: "1.1.12",
235367
+ version: "1.1.13",
235394
235368
  description: "Anthropic's agentic coding tool",
235395
235369
  websiteUrl: PRODUCT_URL
235396
235370
  }, {
@@ -258581,7 +258555,7 @@ var init_user = __esm(() => {
258581
258555
  deviceId,
258582
258556
  sessionId: getSessionId(),
258583
258557
  email: getEmail(),
258584
- appVersion: "1.1.12",
258558
+ appVersion: "1.1.13",
258585
258559
  platform: getHostPlatformForAnalytics(),
258586
258560
  organizationUuid,
258587
258561
  accountUuid,
@@ -259905,7 +259879,7 @@ async function initializeBetaTracing(resource) {
259905
259879
  });
259906
259880
  logs.setGlobalLoggerProvider(loggerProvider);
259907
259881
  setLoggerProvider(loggerProvider);
259908
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.12");
259882
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.13");
259909
259883
  setEventLogger(eventLogger);
259910
259884
  process.on("beforeExit", async () => {
259911
259885
  await loggerProvider?.forceFlush();
@@ -259945,7 +259919,7 @@ async function initializeTelemetry() {
259945
259919
  const platform3 = getPlatform();
259946
259920
  const baseAttributes = {
259947
259921
  [ATTR_SERVICE_NAME5]: "claude-code",
259948
- [ATTR_SERVICE_VERSION5]: "1.1.12"
259922
+ [ATTR_SERVICE_VERSION5]: "1.1.13"
259949
259923
  };
259950
259924
  if (platform3 === "wsl") {
259951
259925
  const wslVersion = getWslVersion();
@@ -259990,7 +259964,7 @@ async function initializeTelemetry() {
259990
259964
  } catch {}
259991
259965
  };
259992
259966
  registerCleanup(shutdownTelemetry2);
259993
- return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.12");
259967
+ return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.13");
259994
259968
  }
259995
259969
  const meterProvider = new MeterProvider5({
259996
259970
  resource,
@@ -260010,7 +259984,7 @@ async function initializeTelemetry() {
260010
259984
  });
260011
259985
  logs.setGlobalLoggerProvider(loggerProvider);
260012
259986
  setLoggerProvider(loggerProvider);
260013
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.12");
259987
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.13");
260014
259988
  setEventLogger(eventLogger);
260015
259989
  logForDebugging("[3P telemetry] Event logger set successfully");
260016
259990
  process.on("beforeExit", async () => {
@@ -260072,7 +260046,7 @@ Current timeout: ${timeoutMs}ms
260072
260046
  }
260073
260047
  };
260074
260048
  registerCleanup(shutdownTelemetry);
260075
- return meterProvider.getMeter("com.anthropic.claude_code", "1.1.12");
260049
+ return meterProvider.getMeter("com.anthropic.claude_code", "1.1.13");
260076
260050
  }
260077
260051
  async function flushTelemetry() {
260078
260052
  const meterProvider = getMeterProvider();
@@ -261295,7 +261269,7 @@ function detectLinuxGlobPatternWarnings() {
261295
261269
  }
261296
261270
  async function getDoctorDiagnostic() {
261297
261271
  const installationType = await getCurrentInstallationType();
261298
- const version = typeof MACRO !== "undefined" ? "1.1.12" : "unknown";
261272
+ const version = typeof MACRO !== "undefined" ? "1.1.13" : "unknown";
261299
261273
  const installationPath = await getInstallationPath();
261300
261274
  const invokedBinary = getInvokedBinary();
261301
261275
  const multipleInstallations = await detectMultipleInstallations();
@@ -262236,8 +262210,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
262236
262210
  const maxVersion = await getMaxVersion();
262237
262211
  if (maxVersion && gt(version, maxVersion)) {
262238
262212
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version} to ${maxVersion}`);
262239
- if (gte("1.1.12", maxVersion)) {
262240
- logForDebugging(`Native installer: current version ${"1.1.12"} is already at or above maxVersion ${maxVersion}, skipping update`);
262213
+ if (gte("1.1.13", maxVersion)) {
262214
+ logForDebugging(`Native installer: current version ${"1.1.13"} is already at or above maxVersion ${maxVersion}, skipping update`);
262241
262215
  logEvent("tengu_native_update_skipped_max_version", {
262242
262216
  latency_ms: Date.now() - startTime,
262243
262217
  max_version: maxVersion,
@@ -262248,7 +262222,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
262248
262222
  version = maxVersion;
262249
262223
  }
262250
262224
  }
262251
- if (!forceReinstall && version === "1.1.12" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
262225
+ if (!forceReinstall && version === "1.1.13" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
262252
262226
  logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
262253
262227
  logEvent("tengu_native_update_complete", {
262254
262228
  latency_ms: Date.now() - startTime,
@@ -334468,7 +334442,7 @@ function getAnthropicEnvMetadata() {
334468
334442
  function getBuildAgeMinutes() {
334469
334443
  if (false)
334470
334444
  ;
334471
- const buildTime = new Date("2026-04-07T16:21:50.781Z").getTime();
334445
+ const buildTime = new Date("2026-04-07T18:09:59.417Z").getTime();
334472
334446
  if (isNaN(buildTime))
334473
334447
  return;
334474
334448
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -358534,7 +358508,7 @@ function Feedback({
358534
358508
  platform: env4.platform,
358535
358509
  gitRepo: envInfo.isGit,
358536
358510
  terminal: env4.terminal,
358537
- version: "1.1.12",
358511
+ version: "1.1.13",
358538
358512
  transcript: normalizeMessagesForAPI(messages),
358539
358513
  errors: sanitizedErrors,
358540
358514
  lastApiRequest: getLastAPIRequest(),
@@ -358726,7 +358700,7 @@ function Feedback({
358726
358700
  ", ",
358727
358701
  env4.terminal,
358728
358702
  ", v",
358729
- "1.1.12"
358703
+ "1.1.13"
358730
358704
  ]
358731
358705
  }, undefined, true, undefined, this)
358732
358706
  ]
@@ -358832,7 +358806,7 @@ ${sanitizedDescription}
358832
358806
  ` + `**Environment Info**
358833
358807
  ` + `- Platform: ${env4.platform}
358834
358808
  ` + `- Terminal: ${env4.terminal}
358835
- ` + `- Version: ${"1.1.12"}
358809
+ ` + `- Version: ${"1.1.13"}
358836
358810
  ` + `- Feedback ID: ${feedbackId}
358837
358811
  ` + `
358838
358812
  **Errors**
@@ -361945,7 +361919,7 @@ function buildPrimarySection() {
361945
361919
  }, undefined, false, undefined, this);
361946
361920
  return [{
361947
361921
  label: "Version",
361948
- value: "1.1.12"
361922
+ value: "1.1.13"
361949
361923
  }, {
361950
361924
  label: "Session name",
361951
361925
  value: nameValue
@@ -363508,21 +363482,13 @@ var init_TriangleSpinner = __esm(() => {
363508
363482
  });
363509
363483
 
363510
363484
  // src/components/LocalBackendSetup.tsx
363511
- var exports_LocalBackendSetup = {};
363512
- __export(exports_LocalBackendSetup, {
363513
- LocalBackendSetup: () => LocalBackendSetup
363514
- });
363515
- function isEnter(input, key) {
363516
- return key.return || input === "\r" || input === `
363517
- `;
363518
- }
363519
363485
  function SimpleMenu({ items, isActive, onSelect, onCancel }) {
363520
363486
  const VISIBLE = Math.min(7, items.length);
363521
363487
  const [focusIdx, setFocusIdx] = import_react100.useState(0);
363522
363488
  const [fromIdx, setFromIdx] = import_react100.useState(0);
363523
- const [submitted, setSubmitted] = import_react100.useState(false);
363489
+ const doneRef = import_react100.useRef(false);
363524
363490
  use_input_default((input, key) => {
363525
- if (!isActive || submitted)
363491
+ if (!isActive || doneRef.current)
363526
363492
  return;
363527
363493
  if (key.upArrow) {
363528
363494
  setFocusIdx((prev) => {
@@ -363538,10 +363504,10 @@ function SimpleMenu({ items, isActive, onSelect, onCancel }) {
363538
363504
  setFromIdx(next - VISIBLE + 1);
363539
363505
  return next;
363540
363506
  });
363541
- } else if (isEnter(input, key)) {
363507
+ } else if (key.return) {
363542
363508
  const item = items[focusIdx];
363543
363509
  if (item) {
363544
- setSubmitted(true);
363510
+ doneRef.current = true;
363545
363511
  onSelect(item.value);
363546
363512
  }
363547
363513
  } else if (key.escape || key.ctrl && input === "c") {
@@ -363642,11 +363608,11 @@ function LocalBackendSetup({
363642
363608
  const nextValue = step === "baseUrl" ? baseUrl : step === "model" ? model : apiKey;
363643
363609
  setCursorOffset(nextValue.length);
363644
363610
  }, [step, baseUrl, model, apiKey]);
363645
- use_input_default((input, key) => {
363611
+ use_input_default((_input, key) => {
363646
363612
  if (scanStepDoneRef.current)
363647
363613
  return;
363648
363614
  if (step === "networkScan") {
363649
- if (key.escape || isEnter(input, key)) {
363615
+ if (key.escape || key.return) {
363650
363616
  scanStepDoneRef.current = true;
363651
363617
  networkAbortRef.current?.abort();
363652
363618
  setDiscoveredEndpoints(discoveredSnapshotRef.current);
@@ -363657,7 +363623,7 @@ function LocalBackendSetup({
363657
363623
  scanStepDoneRef.current = true;
363658
363624
  modelScanAbortRef.current?.abort();
363659
363625
  goBack();
363660
- } else if (isEnter(input, key)) {
363626
+ } else if (key.return) {
363661
363627
  scanStepDoneRef.current = true;
363662
363628
  modelScanAbortRef.current?.abort();
363663
363629
  setScanError("Model scan skipped. Enter the model name manually.");
@@ -366571,7 +366537,7 @@ function Config({
366571
366537
  }
366572
366538
  }, undefined, false, undefined, this)
366573
366539
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
366574
- currentVersion: "1.1.12",
366540
+ currentVersion: "1.1.13",
366575
366541
  onChoice: (choice) => {
366576
366542
  setShowSubmenu(null);
366577
366543
  setTabsHidden(false);
@@ -366583,7 +366549,7 @@ function Config({
366583
366549
  autoUpdatesChannel: "stable"
366584
366550
  };
366585
366551
  if (choice === "stay") {
366586
- newSettings.minimumVersion = "1.1.12";
366552
+ newSettings.minimumVersion = "1.1.13";
366587
366553
  }
366588
366554
  updateSettingsForSource("userSettings", newSettings);
366589
366555
  setSettingsData((prev_27) => ({
@@ -376316,7 +376282,7 @@ function HelpV2(t0) {
376316
376282
  let t6;
376317
376283
  if ($2[31] !== tabs) {
376318
376284
  t6 = /* @__PURE__ */ jsx_dev_runtime214.jsxDEV(Tabs, {
376319
- title: `localclawd v${"1.1.12"}`,
376285
+ title: `localclawd v${"1.1.13"}`,
376320
376286
  color: "professionalBlue",
376321
376287
  defaultTab: "general",
376322
376288
  children: tabs
@@ -400474,7 +400440,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
400474
400440
  return [];
400475
400441
  }
400476
400442
  }
400477
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.12") {
400443
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.13") {
400478
400444
  if (process.env.USER_TYPE === "ant") {
400479
400445
  const changelog = MACRO.VERSION_CHANGELOG;
400480
400446
  if (changelog) {
@@ -400501,7 +400467,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.12")
400501
400467
  releaseNotes
400502
400468
  };
400503
400469
  }
400504
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.12") {
400470
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.13") {
400505
400471
  if (process.env.USER_TYPE === "ant") {
400506
400472
  const changelog = MACRO.VERSION_CHANGELOG;
400507
400473
  if (changelog) {
@@ -401668,7 +401634,7 @@ function getRecentActivitySync() {
401668
401634
  return cachedActivity;
401669
401635
  }
401670
401636
  function getLogoDisplayData() {
401671
- const version = process.env.DEMO_VERSION ?? "1.1.12";
401637
+ const version = process.env.DEMO_VERSION ?? "1.1.13";
401672
401638
  const serverUrl = getDirectConnectServerUrl();
401673
401639
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
401674
401640
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -402942,7 +402908,7 @@ function LogoV2() {
402942
402908
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
402943
402909
  t2 = () => {
402944
402910
  const currentConfig = getGlobalConfig();
402945
- if (currentConfig.lastReleaseNotesSeen === "1.1.12") {
402911
+ if (currentConfig.lastReleaseNotesSeen === "1.1.13") {
402946
402912
  return;
402947
402913
  }
402948
402914
  saveGlobalConfig(_temp327);
@@ -403618,12 +403584,12 @@ function LogoV2() {
403618
403584
  return t41;
403619
403585
  }
403620
403586
  function _temp327(current) {
403621
- if (current.lastReleaseNotesSeen === "1.1.12") {
403587
+ if (current.lastReleaseNotesSeen === "1.1.13") {
403622
403588
  return current;
403623
403589
  }
403624
403590
  return {
403625
403591
  ...current,
403626
- lastReleaseNotesSeen: "1.1.12"
403592
+ lastReleaseNotesSeen: "1.1.13"
403627
403593
  };
403628
403594
  }
403629
403595
  function _temp245(s_0) {
@@ -429825,7 +429791,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
429825
429791
  smapsRollup,
429826
429792
  platform: process.platform,
429827
429793
  nodeVersion: process.version,
429828
- ccVersion: "1.1.12"
429794
+ ccVersion: "1.1.13"
429829
429795
  };
429830
429796
  }
429831
429797
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -430410,7 +430376,7 @@ var init_bridge_kick = __esm(() => {
430410
430376
  var call64 = async () => {
430411
430377
  return {
430412
430378
  type: "text",
430413
- value: `${"1.1.12"} (built ${"2026-04-07T16:21:50.781Z"})`
430379
+ value: `${"1.1.13"} (built ${"2026-04-07T18:09:59.417Z"})`
430414
430380
  };
430415
430381
  }, version, version_default;
430416
430382
  var init_version = __esm(() => {
@@ -439348,7 +439314,7 @@ function generateHtmlReport(data, insights) {
439348
439314
  </html>`;
439349
439315
  }
439350
439316
  function buildExportData(data, insights, facets, remoteStats) {
439351
- const version2 = typeof MACRO !== "undefined" ? "1.1.12" : "unknown";
439317
+ const version2 = typeof MACRO !== "undefined" ? "1.1.13" : "unknown";
439352
439318
  const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
439353
439319
  const facets_summary = {
439354
439320
  total: facets.size,
@@ -443515,7 +443481,7 @@ var init_sessionStorage = __esm(() => {
443515
443481
  init_settings2();
443516
443482
  init_slowOperations();
443517
443483
  init_uuid();
443518
- VERSION6 = typeof MACRO !== "undefined" ? "1.1.12" : "unknown";
443484
+ VERSION6 = typeof MACRO !== "undefined" ? "1.1.13" : "unknown";
443519
443485
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
443520
443486
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
443521
443487
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -444717,7 +444683,7 @@ var init_filesystem = __esm(() => {
444717
444683
  });
444718
444684
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
444719
444685
  const nonce = randomBytes19(16).toString("hex");
444720
- return join130(getClaudeTempDir(), "bundled-skills", "1.1.12", nonce);
444686
+ return join130(getClaudeTempDir(), "bundled-skills", "1.1.13", nonce);
444721
444687
  });
444722
444688
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
444723
444689
  });
@@ -450716,7 +450682,7 @@ function computeFingerprint(messageText, version2) {
450716
450682
  }
450717
450683
  function computeFingerprintFromMessages(messages) {
450718
450684
  const firstMessageText = extractFirstMessageText(messages);
450719
- return computeFingerprint(firstMessageText, "1.1.12");
450685
+ return computeFingerprint(firstMessageText, "1.1.13");
450720
450686
  }
450721
450687
  var FINGERPRINT_SALT = "59cf53e54c78";
450722
450688
  var init_fingerprint = () => {};
@@ -452571,7 +452537,7 @@ async function sideQuery(opts) {
452571
452537
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
452572
452538
  }
452573
452539
  const messageText = extractFirstUserMessageText(messages);
452574
- const fingerprint = computeFingerprint(messageText, "1.1.12");
452540
+ const fingerprint = computeFingerprint(messageText, "1.1.13");
452575
452541
  const attributionHeader = getAttributionHeader(fingerprint);
452576
452542
  const systemBlocks = [
452577
452543
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -457369,7 +457335,7 @@ function buildSystemInitMessage(inputs) {
457369
457335
  slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
457370
457336
  apiKeySource: getAnthropicApiKeyWithSource().source,
457371
457337
  betas: getSdkBetas(),
457372
- claude_code_version: "1.1.12",
457338
+ claude_code_version: "1.1.13",
457373
457339
  output_style: outputStyle2,
457374
457340
  agents: inputs.agents.map((agent) => agent.agentType),
457375
457341
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -471948,7 +471914,7 @@ var init_useVoiceEnabled = __esm(() => {
471948
471914
  function getSemverPart(version2) {
471949
471915
  return `${import_semver12.major(version2, { loose: true })}.${import_semver12.minor(version2, { loose: true })}.${import_semver12.patch(version2, { loose: true })}`;
471950
471916
  }
471951
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.12") {
471917
+ function useUpdateNotification(updatedVersion, initialVersion = "1.1.13") {
471952
471918
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
471953
471919
  if (!updatedVersion) {
471954
471920
  return null;
@@ -471988,7 +471954,7 @@ function AutoUpdater({
471988
471954
  return;
471989
471955
  }
471990
471956
  if (false) {}
471991
- const currentVersion = "1.1.12";
471957
+ const currentVersion = "1.1.13";
471992
471958
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
471993
471959
  let latestVersion = await getLatestVersion(channel);
471994
471960
  const isDisabled = isAutoUpdaterDisabled();
@@ -472199,12 +472165,12 @@ function NativeAutoUpdater({
472199
472165
  logEvent("tengu_native_auto_updater_start", {});
472200
472166
  try {
472201
472167
  const maxVersion = await getMaxVersion();
472202
- if (maxVersion && gt("1.1.12", maxVersion)) {
472168
+ if (maxVersion && gt("1.1.13", maxVersion)) {
472203
472169
  const msg = await getMaxVersionMessage();
472204
472170
  setMaxVersionIssue(msg ?? "affects your version");
472205
472171
  }
472206
472172
  const result = await installLatest(channel);
472207
- const currentVersion = "1.1.12";
472173
+ const currentVersion = "1.1.13";
472208
472174
  const latencyMs = Date.now() - startTime;
472209
472175
  if (result.lockFailed) {
472210
472176
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -472339,17 +472305,17 @@ function PackageManagerAutoUpdater(t0) {
472339
472305
  const maxVersion = await getMaxVersion();
472340
472306
  if (maxVersion && latest && gt(latest, maxVersion)) {
472341
472307
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
472342
- if (gte("1.1.12", maxVersion)) {
472343
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.12"} is already at or above maxVersion ${maxVersion}, skipping update`);
472308
+ if (gte("1.1.13", maxVersion)) {
472309
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.13"} is already at or above maxVersion ${maxVersion}, skipping update`);
472344
472310
  setUpdateAvailable(false);
472345
472311
  return;
472346
472312
  }
472347
472313
  latest = maxVersion;
472348
472314
  }
472349
- const hasUpdate = latest && !gte("1.1.12", latest) && !shouldSkipVersion(latest);
472315
+ const hasUpdate = latest && !gte("1.1.13", latest) && !shouldSkipVersion(latest);
472350
472316
  setUpdateAvailable(!!hasUpdate);
472351
472317
  if (hasUpdate) {
472352
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.12"} -> ${latest}`);
472318
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.13"} -> ${latest}`);
472353
472319
  }
472354
472320
  };
472355
472321
  $2[0] = t1;
@@ -472383,7 +472349,7 @@ function PackageManagerAutoUpdater(t0) {
472383
472349
  wrap: "truncate",
472384
472350
  children: [
472385
472351
  "currentVersion: ",
472386
- "1.1.12"
472352
+ "1.1.13"
472387
472353
  ]
472388
472354
  }, undefined, true, undefined, this);
472389
472355
  $2[3] = verbose;
@@ -479941,7 +479907,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
479941
479907
  project_dir: getOriginalCwd(),
479942
479908
  added_dirs: addedDirs
479943
479909
  },
479944
- version: "1.1.12",
479910
+ version: "1.1.13",
479945
479911
  output_style: {
479946
479912
  name: outputStyleName
479947
479913
  },
@@ -491501,7 +491467,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
491501
491467
  } catch {}
491502
491468
  const data = {
491503
491469
  trigger,
491504
- version: "1.1.12",
491470
+ version: "1.1.13",
491505
491471
  platform: process.platform,
491506
491472
  transcript,
491507
491473
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -503068,739 +503034,36 @@ var init_githubRepoPathMapping = __esm(() => {
503068
503034
  init_git();
503069
503035
  });
503070
503036
 
503071
- // src/components/LogoV2/WelcomeV2.tsx
503072
- function WelcomeV2() {
503073
- const [theme2] = useTheme();
503074
- const isLightTheme = ["light", "light-daltonized", "light-ansi"].includes(theme2);
503075
- const accentColor = isLightTheme ? "blue" : "#6366f1";
503076
- return /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
503077
- width: WELCOME_V2_WIDTH,
503078
- flexDirection: "column",
503079
- gap: 0,
503080
- children: [
503081
- /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
503082
- gap: 1,
503083
- children: [
503084
- /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
503085
- bold: true,
503086
- color: accentColor,
503087
- children: "localclawd"
503088
- }, undefined, false, undefined, this),
503089
- /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
503090
- dimColor: true,
503091
- children: [
503092
- "v",
503093
- "1.1.12"
503094
- ]
503095
- }, undefined, true, undefined, this)
503096
- ]
503097
- }, undefined, true, undefined, this),
503098
- /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
503099
- dimColor: true,
503100
- children: "─".repeat(48)
503101
- }, undefined, false, undefined, this),
503102
- /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
503103
- marginTop: 1,
503104
- children: /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(Clawd, {}, undefined, false, undefined, this)
503105
- }, undefined, false, undefined, this)
503106
- ]
503107
- }, undefined, true, undefined, this);
503108
- }
503109
- var jsx_dev_runtime482, WELCOME_V2_WIDTH = 58;
503110
- var init_WelcomeV2 = __esm(() => {
503111
- init_ink2();
503112
- init_Clawd();
503113
- jsx_dev_runtime482 = __toESM(require_jsx_dev_runtime(), 1);
503114
- });
503115
-
503116
- // src/components/StartPage.tsx
503117
- var exports_StartPage = {};
503118
- __export(exports_StartPage, {
503119
- StartPage: () => StartPage
503120
- });
503121
- function hasSavedBackendConfig(config2) {
503122
- return Boolean(config2?.provider && config2?.baseUrl?.trim() && config2?.model?.trim());
503123
- }
503124
- function isEnter2(input, key) {
503125
- return key.return || input === "\r" || input === `
503126
- `;
503127
- }
503128
- function StartPage({ currentConfig, onDone }) {
503129
- const hasSavedConfig = hasSavedBackendConfig(currentConfig);
503130
- const options = hasSavedConfig ? CONTINUE_OPTIONS : SETUP_OPTIONS;
503131
- const [focusIdx, setFocusIdx] = import_react321.useState(0);
503132
- const [submitted, setSubmitted] = import_react321.useState(false);
503133
- use_input_default((input, key) => {
503134
- if (submitted)
503135
- return;
503136
- if (key.upArrow) {
503137
- setFocusIdx((i2) => (i2 - 1 + options.length) % options.length);
503138
- } else if (key.downArrow) {
503139
- setFocusIdx((i2) => (i2 + 1) % options.length);
503140
- } else if (isEnter2(input, key)) {
503141
- setSubmitted(true);
503142
- onDone(options[focusIdx].value);
503143
- } else if (key.escape || key.ctrl && input === "c") {
503144
- gracefulShutdownSync(0);
503145
- }
503146
- });
503147
- return /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
503148
- flexDirection: "column",
503149
- gap: 1,
503150
- children: [
503151
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(WelcomeV2, {}, undefined, false, undefined, this),
503152
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
503153
- flexDirection: "column",
503154
- gap: 1,
503155
- paddingLeft: 1,
503156
- width: 78,
503157
- children: [
503158
- hasSavedConfig ? /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(jsx_dev_runtime483.Fragment, {
503159
- children: [
503160
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
503161
- flexDirection: "column",
503162
- children: [
503163
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503164
- bold: true,
503165
- color: "#818cf8",
503166
- children: "Welcome back!"
503167
- }, undefined, false, undefined, this),
503168
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503169
- dimColor: true,
503170
- children: "Ready when you are."
503171
- }, undefined, false, undefined, this)
503172
- ]
503173
- }, undefined, true, undefined, this),
503174
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
503175
- flexDirection: "column",
503176
- borderStyle: "round",
503177
- borderColor: "#6366f1",
503178
- paddingX: 2,
503179
- paddingY: 0,
503180
- width: 60,
503181
- children: [
503182
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
503183
- gap: 2,
503184
- children: [
503185
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503186
- color: "#6366f1",
503187
- bold: true,
503188
- children: "◈"
503189
- }, undefined, false, undefined, this),
503190
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503191
- bold: true,
503192
- color: "#818cf8",
503193
- children: getLocalLLMProviderLabel(currentConfig.provider)
503194
- }, undefined, false, undefined, this)
503195
- ]
503196
- }, undefined, true, undefined, this),
503197
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503198
- dimColor: true,
503199
- children: [
503200
- "Model: ",
503201
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503202
- color: "white",
503203
- children: currentConfig.model
503204
- }, undefined, false, undefined, this)
503205
- ]
503206
- }, undefined, true, undefined, this),
503207
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503208
- dimColor: true,
503209
- children: [
503210
- "Endpoint: ",
503211
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503212
- color: "white",
503213
- children: currentConfig.baseUrl
503214
- }, undefined, false, undefined, this)
503215
- ]
503216
- }, undefined, true, undefined, this)
503217
- ]
503218
- }, undefined, true, undefined, this)
503219
- ]
503220
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
503221
- flexDirection: "column",
503222
- gap: 0,
503223
- children: [
503224
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503225
- bold: true,
503226
- color: "#818cf8",
503227
- children: "Let's get you connected."
503228
- }, undefined, false, undefined, this),
503229
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503230
- dimColor: true,
503231
- wrap: "wrap",
503232
- children: "localclawd needs an OpenAI-compatible backend — vLLM, Ollama, or any hosted gateway."
503233
- }, undefined, false, undefined, this)
503234
- ]
503235
- }, undefined, true, undefined, this),
503236
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
503237
- flexDirection: "column",
503238
- children: options.map((opt, i2) => /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
503239
- gap: 1,
503240
- children: [
503241
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503242
- color: "#6366f1",
503243
- children: i2 === focusIdx ? "▶" : " "
503244
- }, undefined, false, undefined, this),
503245
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503246
- bold: i2 === focusIdx,
503247
- color: i2 === focusIdx ? "#818cf8" : undefined,
503248
- children: opt.label
503249
- }, undefined, false, undefined, this)
503250
- ]
503251
- }, opt.value, true, undefined, this))
503252
- }, undefined, false, undefined, this),
503253
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503254
- dimColor: true,
503255
- children: "↑↓ navigate · Enter confirm · Esc exit"
503256
- }, undefined, false, undefined, this)
503257
- ]
503258
- }, undefined, true, undefined, this)
503259
- ]
503260
- }, undefined, true, undefined, this);
503261
- }
503262
- var import_react321, jsx_dev_runtime483, CONTINUE_OPTIONS, SETUP_OPTIONS;
503263
- var init_StartPage = __esm(() => {
503264
- init_ink2();
503265
- init_gracefulShutdown();
503266
- init_providers();
503267
- init_WelcomeV2();
503268
- import_react321 = __toESM(require_react(), 1);
503269
- jsx_dev_runtime483 = __toESM(require_jsx_dev_runtime(), 1);
503270
- CONTINUE_OPTIONS = [
503271
- { label: "Continue to dashboard", value: "continue" },
503272
- { label: "Change backend", value: "configure-backend" }
503273
- ];
503274
- SETUP_OPTIONS = [
503275
- { label: "Set up a backend now", value: "configure-backend" },
503276
- { label: "Skip for now", value: "continue" }
503277
- ];
503278
- });
503279
-
503280
- // src/components/ui/OrderedListItem.tsx
503281
- function OrderedListItem(t0) {
503282
- const $2 = c3(7);
503283
- const {
503284
- children
503285
- } = t0;
503286
- const {
503287
- marker
503288
- } = import_react322.useContext(OrderedListItemContext);
503289
- let t1;
503290
- if ($2[0] !== marker) {
503291
- t1 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
503292
- dimColor: true,
503293
- children: marker
503294
- }, undefined, false, undefined, this);
503295
- $2[0] = marker;
503296
- $2[1] = t1;
503297
- } else {
503298
- t1 = $2[1];
503299
- }
503300
- let t2;
503301
- if ($2[2] !== children) {
503302
- t2 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedBox_default, {
503303
- flexDirection: "column",
503304
- children
503305
- }, undefined, false, undefined, this);
503306
- $2[2] = children;
503307
- $2[3] = t2;
503308
- } else {
503309
- t2 = $2[3];
503310
- }
503311
- let t3;
503312
- if ($2[4] !== t1 || $2[5] !== t2) {
503313
- t3 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedBox_default, {
503314
- gap: 1,
503315
- children: [
503316
- t1,
503317
- t2
503318
- ]
503319
- }, undefined, true, undefined, this);
503320
- $2[4] = t1;
503321
- $2[5] = t2;
503322
- $2[6] = t3;
503323
- } else {
503324
- t3 = $2[6];
503325
- }
503326
- return t3;
503327
- }
503328
- var import_react322, jsx_dev_runtime484, OrderedListItemContext;
503329
- var init_OrderedListItem = __esm(() => {
503330
- init_ink2();
503331
- import_react322 = __toESM(require_react(), 1);
503332
- jsx_dev_runtime484 = __toESM(require_jsx_dev_runtime(), 1);
503333
- OrderedListItemContext = import_react322.createContext({
503334
- marker: ""
503335
- });
503336
- });
503337
-
503338
- // src/components/ui/OrderedList.tsx
503339
- function OrderedListComponent(t0) {
503340
- const $2 = c3(9);
503341
- const {
503342
- children
503343
- } = t0;
503344
- const {
503345
- marker: parentMarker
503346
- } = import_react323.useContext(OrderedListContext);
503347
- let numberOfItems = 0;
503348
- for (const child of import_react323.default.Children.toArray(children)) {
503349
- if (!import_react323.isValidElement(child) || child.type !== OrderedListItem) {
503350
- continue;
503351
- }
503352
- numberOfItems++;
503353
- }
503354
- const maxMarkerWidth = String(numberOfItems).length;
503355
- let t1;
503356
- if ($2[0] !== children || $2[1] !== maxMarkerWidth || $2[2] !== parentMarker) {
503357
- let t22;
503358
- if ($2[4] !== maxMarkerWidth || $2[5] !== parentMarker) {
503359
- t22 = (child_0, index) => {
503360
- if (!import_react323.isValidElement(child_0) || child_0.type !== OrderedListItem) {
503361
- return child_0;
503362
- }
503363
- const paddedMarker = `${String(index + 1).padStart(maxMarkerWidth)}.`;
503364
- const marker = `${parentMarker}${paddedMarker}`;
503365
- return /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(OrderedListContext.Provider, {
503366
- value: {
503367
- marker
503368
- },
503369
- children: /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(OrderedListItemContext.Provider, {
503370
- value: {
503371
- marker
503372
- },
503373
- children: child_0
503374
- }, undefined, false, undefined, this)
503375
- }, undefined, false, undefined, this);
503376
- };
503377
- $2[4] = maxMarkerWidth;
503378
- $2[5] = parentMarker;
503379
- $2[6] = t22;
503380
- } else {
503381
- t22 = $2[6];
503382
- }
503383
- t1 = import_react323.default.Children.map(children, t22);
503384
- $2[0] = children;
503385
- $2[1] = maxMarkerWidth;
503386
- $2[2] = parentMarker;
503387
- $2[3] = t1;
503388
- } else {
503389
- t1 = $2[3];
503390
- }
503391
- let t2;
503392
- if ($2[7] !== t1) {
503393
- t2 = /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(ThemedBox_default, {
503394
- flexDirection: "column",
503395
- children: t1
503396
- }, undefined, false, undefined, this);
503397
- $2[7] = t1;
503398
- $2[8] = t2;
503399
- } else {
503400
- t2 = $2[8];
503401
- }
503402
- return t2;
503403
- }
503404
- var import_react323, jsx_dev_runtime485, OrderedListContext, OrderedList;
503405
- var init_OrderedList = __esm(() => {
503406
- init_ink2();
503407
- init_OrderedListItem();
503408
- import_react323 = __toESM(require_react(), 1);
503409
- jsx_dev_runtime485 = __toESM(require_jsx_dev_runtime(), 1);
503410
- OrderedListContext = import_react323.createContext({
503411
- marker: ""
503412
- });
503413
- OrderedListComponent.Item = OrderedListItem;
503414
- OrderedList = OrderedListComponent;
503415
- });
503416
-
503417
- // src/components/Onboarding.tsx
503418
- var exports_Onboarding = {};
503419
- __export(exports_Onboarding, {
503420
- Onboarding: () => Onboarding
503421
- });
503422
- function isEnter3(input, key) {
503423
- return key.return || input === "\r" || input === `
503424
- `;
503425
- }
503426
- function SimpleMenu2({ items, isActive, onSelect, onCancel }) {
503427
- const VISIBLE = Math.min(7, items.length);
503428
- const [focusIdx, setFocusIdx] = import_react324.useState(0);
503429
- const [fromIdx, setFromIdx] = import_react324.useState(0);
503430
- const [submitted, setSubmitted] = import_react324.useState(false);
503431
- use_input_default((input, key) => {
503432
- if (!isActive || submitted)
503433
- return;
503434
- if (key.upArrow) {
503435
- setFocusIdx((prev) => {
503436
- const next = Math.max(0, prev - 1);
503437
- if (next < fromIdx)
503438
- setFromIdx(next);
503439
- return next;
503440
- });
503441
- } else if (key.downArrow) {
503442
- setFocusIdx((prev) => {
503443
- const next = Math.min(items.length - 1, prev + 1);
503444
- if (next >= fromIdx + VISIBLE)
503445
- setFromIdx(next - VISIBLE + 1);
503446
- return next;
503447
- });
503448
- } else if (isEnter3(input, key)) {
503449
- const item = items[focusIdx];
503450
- if (item) {
503451
- setSubmitted(true);
503452
- onSelect(item.value);
503453
- }
503454
- } else if (key.escape || key.ctrl && input === "c") {
503455
- onCancel?.();
503456
- }
503457
- });
503458
- const visible = items.slice(fromIdx, fromIdx + VISIBLE);
503459
- return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503460
- flexDirection: "column",
503461
- children: [
503462
- fromIdx > 0 && /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503463
- dimColor: true,
503464
- children: " ↑ more"
503465
- }, undefined, false, undefined, this),
503466
- visible.map((item, i2) => {
503467
- const absIdx = fromIdx + i2;
503468
- const focused = absIdx === focusIdx;
503469
- return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503470
- gap: 1,
503471
- children: [
503472
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503473
- color: "#6366f1",
503474
- children: focused ? "▶" : " "
503475
- }, undefined, false, undefined, this),
503476
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503477
- bold: focused,
503478
- color: focused ? "#818cf8" : undefined,
503479
- children: item.label
503480
- }, undefined, false, undefined, this)
503481
- ]
503482
- }, String(item.value), true, undefined, this);
503483
- }),
503484
- fromIdx + VISIBLE < items.length && /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503485
- dimColor: true,
503486
- children: " ↓ more"
503487
- }, undefined, false, undefined, this)
503488
- ]
503489
- }, undefined, true, undefined, this);
503490
- }
503491
- function PressEnterToContinue2({ isActive, onContinue }) {
503492
- const [done, setDone] = import_react324.useState(false);
503493
- use_input_default((input, key) => {
503494
- if (!isActive || done)
503495
- return;
503496
- if (isEnter3(input, key)) {
503497
- setDone(true);
503498
- onContinue();
503499
- }
503500
- });
503501
- return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503502
- color: "permission",
503503
- children: [
503504
- "Press ",
503505
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503506
- bold: true,
503507
- children: "Enter"
503508
- }, undefined, false, undefined, this),
503509
- " to continue…"
503510
- ]
503511
- }, undefined, true, undefined, this);
503512
- }
503513
- function Onboarding({ onDone, showWelcome = true }) {
503514
- const [currentStepIndex, setCurrentStepIndex] = import_react324.useState(0);
503515
- const [theme2, setTheme] = useTheme();
503516
- const goToNextStep = import_react324.useCallback(() => {
503517
- setCurrentStepIndex((current) => {
503518
- if (current >= steps.length - 1) {
503519
- onDone();
503520
- return current;
503521
- }
503522
- return current + 1;
503523
- });
503524
- }, [onDone]);
503525
- const handleThemeSelection = import_react324.useCallback((newTheme) => {
503526
- setTheme(newTheme);
503527
- goToNextStep();
503528
- }, [goToNextStep, setTheme]);
503529
- const handleLocalBackendSetup = import_react324.useCallback((config2, options) => {
503530
- if (options?.saveGlobally === false) {
503531
- setSessionLocalLLMConfigOverride(config2);
503532
- } else {
503533
- clearSessionLocalLLMConfigOverride();
503534
- saveGlobalConfig((current) => ({
503535
- ...current,
503536
- localBackendProvider: config2.provider,
503537
- localBackendBaseUrl: config2.baseUrl,
503538
- localBackendModel: config2.model,
503539
- localBackendApiKey: config2.apiKey
503540
- }));
503541
- }
503542
- goToNextStep();
503543
- }, [goToNextStep]);
503544
- const themeItems = THEME_SETTINGS.map((s) => ({
503545
- label: s === "auto" ? "Auto (follow system)" : s,
503546
- value: s
503547
- }));
503548
- const compactItems = [
503549
- {
503550
- label: `${formatCompactContextWindowOption(undefined)} (recommended)`,
503551
- value: "default"
503552
- },
503553
- ...COMPACT_CONTEXT_WINDOW_CHOICES.map((tokens) => ({
503554
- label: formatCompactContextWindowOption(tokens),
503555
- value: String(tokens)
503556
- }))
503557
- ];
503558
- const steps = import_react324.useMemo(() => {
503559
- const config2 = getGlobalConfig();
503560
- const result = [
503561
- {
503562
- id: "theme",
503563
- component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503564
- flexDirection: "column",
503565
- gap: 1,
503566
- paddingLeft: 1,
503567
- children: [
503568
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503569
- bold: true,
503570
- children: "Choose a theme"
503571
- }, undefined, false, undefined, this),
503572
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
503573
- items: themeItems,
503574
- isActive: isActive2,
503575
- onSelect: handleThemeSelection,
503576
- onCancel: goToNextStep
503577
- }, undefined, false, undefined, this),
503578
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503579
- dimColor: true,
503580
- children: "Change later with /theme"
503581
- }, undefined, false, undefined, this)
503582
- ]
503583
- }, undefined, true, undefined, this)
503584
- },
503585
- {
503586
- id: "compact-context",
503587
- component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503588
- flexDirection: "column",
503589
- gap: 1,
503590
- paddingLeft: 1,
503591
- width: 70,
503592
- children: [
503593
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503594
- bold: true,
503595
- children: "Choose a compact context window"
503596
- }, undefined, false, undefined, this),
503597
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503598
- dimColor: true,
503599
- wrap: "wrap",
503600
- children: "localclawd can compact earlier than the model's full advertised window. Useful for local models that degrade before hitting their limit."
503601
- }, undefined, false, undefined, this),
503602
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
503603
- items: compactItems,
503604
- isActive: isActive2,
503605
- onSelect: (value) => {
503606
- const compactContextWindowTokens = value === "default" ? undefined : parseInt(value, 10);
503607
- saveGlobalConfig((current) => ({ ...current, compactContextWindowTokens }));
503608
- goToNextStep();
503609
- },
503610
- onCancel: goToNextStep
503611
- }, undefined, false, undefined, this),
503612
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503613
- dimColor: true,
503614
- children: "Change later in /config under Compact context window."
503615
- }, undefined, false, undefined, this)
503616
- ]
503617
- }, undefined, true, undefined, this)
503618
- },
503619
- {
503620
- id: "local-backend",
503621
- component: (_isActive) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(LocalBackendSetup, {
503622
- initialConfig: {
503623
- provider: config2.localBackendProvider,
503624
- baseUrl: config2.localBackendBaseUrl,
503625
- model: config2.localBackendModel,
503626
- apiKey: config2.localBackendApiKey
503627
- },
503628
- onComplete: handleLocalBackendSetup,
503629
- onCancel: goToNextStep,
503630
- title: "Choose your local backend",
503631
- description: "Set the OpenAI-compatible endpoint and model localclawd should use. You can point it at vLLM, Ollama, or any compatible host.",
503632
- showSaveGloballyOption: true
503633
- }, undefined, false, undefined, this)
503634
- },
503635
- {
503636
- id: "security",
503637
- component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503638
- flexDirection: "column",
503639
- gap: 1,
503640
- paddingLeft: 1,
503641
- children: [
503642
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503643
- bold: true,
503644
- children: "Security notes:"
503645
- }, undefined, false, undefined, this),
503646
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503647
- flexDirection: "column",
503648
- width: 70,
503649
- children: /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList, {
503650
- children: [
503651
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList.Item, {
503652
- children: [
503653
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503654
- children: "localclawd can make mistakes"
503655
- }, undefined, false, undefined, this),
503656
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503657
- dimColor: true,
503658
- wrap: "wrap",
503659
- children: [
503660
- "Always review responses, especially when running code.",
503661
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Newline, {}, undefined, false, undefined, this)
503662
- ]
503663
- }, undefined, true, undefined, this)
503664
- ]
503665
- }, undefined, true, undefined, this),
503666
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList.Item, {
503667
- children: /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503668
- children: "Due to prompt injection risks, only use it with code you trust"
503669
- }, undefined, false, undefined, this)
503670
- }, undefined, false, undefined, this)
503671
- ]
503672
- }, undefined, true, undefined, this)
503673
- }, undefined, false, undefined, this),
503674
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(PressEnterToContinue2, {
503675
- isActive: isActive2,
503676
- onContinue: goToNextStep
503677
- }, undefined, false, undefined, this)
503678
- ]
503679
- }, undefined, true, undefined, this)
503680
- }
503681
- ];
503682
- if (shouldOfferTerminalSetup()) {
503683
- const terminalItems = [
503684
- { label: "Yes, use recommended settings", value: "install" },
503685
- { label: "No, maybe later with /terminal-setup", value: "no" }
503686
- ];
503687
- result.push({
503688
- id: "terminal-setup",
503689
- component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503690
- flexDirection: "column",
503691
- gap: 1,
503692
- paddingLeft: 1,
503693
- children: [
503694
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503695
- bold: true,
503696
- children: "Use localclawd's terminal setup?"
503697
- }, undefined, false, undefined, this),
503698
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503699
- flexDirection: "column",
503700
- width: 70,
503701
- gap: 1,
503702
- children: [
503703
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503704
- children: [
503705
- "For the optimal experience, enable recommended settings",
503706
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Newline, {}, undefined, false, undefined, this),
503707
- "for your terminal:",
503708
- " ",
503709
- env4.terminal === "Apple_Terminal" ? "Option+Enter for newlines and visual bell" : "Shift+Enter for newlines"
503710
- ]
503711
- }, undefined, true, undefined, this),
503712
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
503713
- items: terminalItems,
503714
- isActive: isActive2,
503715
- onSelect: (value) => {
503716
- if (value === "install") {
503717
- setupTerminal(theme2).catch(() => {}).finally(goToNextStep);
503718
- } else {
503719
- goToNextStep();
503720
- }
503721
- },
503722
- onCancel: goToNextStep
503723
- }, undefined, false, undefined, this)
503724
- ]
503725
- }, undefined, true, undefined, this)
503726
- ]
503727
- }, undefined, true, undefined, this)
503728
- });
503729
- }
503730
- return result;
503731
- }, [goToNextStep, handleLocalBackendSetup, handleThemeSelection, theme2]);
503732
- const currentStep = steps[currentStepIndex];
503733
- const isActive = true;
503734
- return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503735
- flexDirection: "column",
503736
- children: [
503737
- showWelcome ? /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(WelcomeV2, {}, undefined, false, undefined, this) : null,
503738
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503739
- flexDirection: "column",
503740
- marginTop: 1,
503741
- children: currentStep?.component(isActive)
503742
- }, undefined, false, undefined, this)
503743
- ]
503744
- }, undefined, true, undefined, this);
503745
- }
503746
- var import_react324, jsx_dev_runtime486;
503747
- var init_Onboarding = __esm(() => {
503748
- init_terminalSetup();
503749
- init_ink2();
503750
- init_config();
503751
- init_context();
503752
- init_env();
503753
- init_providers();
503754
- init_theme();
503755
- init_LocalBackendSetup();
503756
- init_WelcomeV2();
503757
- init_OrderedList();
503758
- import_react324 = __toESM(require_react(), 1);
503759
- jsx_dev_runtime486 = __toESM(require_jsx_dev_runtime(), 1);
503760
- });
503761
-
503762
503037
  // src/components/TrustDialog/TrustDialog.tsx
503763
503038
  var exports_TrustDialog = {};
503764
503039
  __export(exports_TrustDialog, {
503765
503040
  TrustDialog: () => TrustDialog
503766
503041
  });
503767
503042
  import { homedir as homedir36 } from "os";
503768
- function isEnter4(input, key) {
503769
- return key.return || input === "\r" || input === `
503770
- `;
503771
- }
503772
503043
  function TrustDialog({ onDone }) {
503773
- const [focusIdx, setFocusIdx] = import_react325.useState(0);
503774
- const [accepted, setAccepted] = import_react325.useState(false);
503775
- import_react325.useEffect(() => {
503776
- if (checkHasTrustDialogAccepted()) {
503777
- setSessionTrustAccepted(true);
503778
- setAccepted(true);
503779
- onDone();
503780
- }
503781
- }, []);
503044
+ const [focusIdx, setFocusIdx] = import_react321.useState(0);
503045
+ const doneRef = import_react321.useRef(false);
503782
503046
  use_input_default((input, key) => {
503783
- if (accepted)
503047
+ if (doneRef.current)
503784
503048
  return;
503785
503049
  if (key.upArrow) {
503786
503050
  setFocusIdx((i2) => (i2 - 1 + OPTIONS.length) % OPTIONS.length);
503787
503051
  } else if (key.downArrow) {
503788
503052
  setFocusIdx((i2) => (i2 + 1) % OPTIONS.length);
503789
- } else if (isEnter4(input, key)) {
503053
+ } else if (key.return) {
503054
+ doneRef.current = true;
503790
503055
  const chosen = OPTIONS[focusIdx];
503791
503056
  if (chosen?.value === "exit") {
503792
503057
  gracefulShutdownSync(1);
503793
503058
  } else {
503794
503059
  try {
503795
- const isHomeDir = homedir36() === getCwd();
503796
- if (!isHomeDir) {
503060
+ if (homedir36() !== getCwd()) {
503797
503061
  try {
503798
- saveCurrentProjectConfig((current) => ({ ...current, hasTrustDialogAccepted: true }));
503062
+ saveCurrentProjectConfig((c5) => ({ ...c5, hasTrustDialogAccepted: true }));
503799
503063
  } catch {}
503800
503064
  }
503801
503065
  setSessionTrustAccepted(true);
503802
503066
  } finally {
503803
- setAccepted(true);
503804
503067
  onDone();
503805
503068
  }
503806
503069
  }
@@ -503809,53 +503072,39 @@ function TrustDialog({ onDone }) {
503809
503072
  }
503810
503073
  });
503811
503074
  const cwd2 = getFsImplementation().cwd();
503812
- if (accepted) {
503813
- return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(PermissionDialog, {
503814
- color: "warning",
503815
- titleColor: "warning",
503816
- title: "Accessing workspace:",
503817
- children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
503818
- paddingTop: 1,
503819
- children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
503820
- dimColor: true,
503821
- children: "Trusted. Loading…"
503822
- }, undefined, false, undefined, this)
503823
- }, undefined, false, undefined, this)
503824
- }, undefined, false, undefined, this);
503825
- }
503826
- return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(PermissionDialog, {
503075
+ return /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(PermissionDialog, {
503827
503076
  color: "warning",
503828
503077
  titleColor: "warning",
503829
503078
  title: "Accessing workspace:",
503830
- children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
503079
+ children: /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
503831
503080
  flexDirection: "column",
503832
503081
  gap: 1,
503833
503082
  paddingTop: 1,
503834
503083
  children: [
503835
- /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
503084
+ /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
503836
503085
  bold: true,
503837
503086
  children: cwd2
503838
503087
  }, undefined, false, undefined, this),
503839
- /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
503088
+ /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
503840
503089
  children: [
503841
503090
  "Quick safety check: Is this a project you created or one you trust? (Like your own code, a well-known open source project, or work from your team.) If not, take a moment to review what",
503842
503091
  "'",
503843
503092
  "s in this folder first."
503844
503093
  ]
503845
503094
  }, undefined, true, undefined, this),
503846
- /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
503095
+ /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
503847
503096
  children: "localClawd'll be able to read, edit, and execute files here."
503848
503097
  }, undefined, false, undefined, this),
503849
- /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
503098
+ /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
503850
503099
  flexDirection: "column",
503851
- children: OPTIONS.map((opt, i2) => /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
503100
+ children: OPTIONS.map((opt, i2) => /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
503852
503101
  gap: 1,
503853
503102
  children: [
503854
- /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
503103
+ /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
503855
503104
  color: "yellow",
503856
503105
  children: i2 === focusIdx ? "▶" : " "
503857
503106
  }, undefined, false, undefined, this),
503858
- /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
503107
+ /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
503859
503108
  bold: i2 === focusIdx,
503860
503109
  color: i2 === focusIdx ? "white" : undefined,
503861
503110
  children: opt.label
@@ -503863,7 +503112,7 @@ function TrustDialog({ onDone }) {
503863
503112
  ]
503864
503113
  }, opt.value, true, undefined, this))
503865
503114
  }, undefined, false, undefined, this),
503866
- /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
503115
+ /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
503867
503116
  dimColor: true,
503868
503117
  children: "↑↓ navigate · Enter confirm · Esc cancel"
503869
503118
  }, undefined, false, undefined, this)
@@ -503871,7 +503120,7 @@ function TrustDialog({ onDone }) {
503871
503120
  }, undefined, true, undefined, this)
503872
503121
  }, undefined, false, undefined, this);
503873
503122
  }
503874
- var import_react325, jsx_dev_runtime487, OPTIONS;
503123
+ var import_react321, jsx_dev_runtime482, OPTIONS;
503875
503124
  var init_TrustDialog = __esm(() => {
503876
503125
  init_ink2();
503877
503126
  init_state();
@@ -503880,8 +503129,8 @@ var init_TrustDialog = __esm(() => {
503880
503129
  init_fsOperations();
503881
503130
  init_gracefulShutdown();
503882
503131
  init_PermissionDialog();
503883
- import_react325 = __toESM(require_react(), 1);
503884
- jsx_dev_runtime487 = __toESM(require_jsx_dev_runtime(), 1);
503132
+ import_react321 = __toESM(require_react(), 1);
503133
+ jsx_dev_runtime482 = __toESM(require_jsx_dev_runtime(), 1);
503885
503134
  OPTIONS = [
503886
503135
  { label: "Yes, I trust this folder", value: "enable_all" },
503887
503136
  { label: "No, exit", value: "exit" }
@@ -503905,7 +503154,7 @@ function BypassPermissionsModeDialog(t0) {
503905
503154
  } else {
503906
503155
  t1 = $2[0];
503907
503156
  }
503908
- import_react326.default.useEffect(_temp303, t1);
503157
+ import_react322.default.useEffect(_temp303, t1);
503909
503158
  let t2;
503910
503159
  if ($2[1] !== onAccept) {
503911
503160
  t2 = function onChange2(value) {
@@ -503933,21 +503182,21 @@ function BypassPermissionsModeDialog(t0) {
503933
503182
  const handleEscape = _temp2101;
503934
503183
  let t3;
503935
503184
  if ($2[3] === Symbol.for("react.memo_cache_sentinel")) {
503936
- t3 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
503185
+ t3 = /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
503937
503186
  flexDirection: "column",
503938
503187
  gap: 1,
503939
503188
  children: [
503940
- /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
503189
+ /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503941
503190
  children: [
503942
503191
  "In Bypass Permissions mode, localclawd will not ask for your approval before running potentially dangerous commands.",
503943
- /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(Newline, {}, undefined, false, undefined, this),
503192
+ /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Newline, {}, undefined, false, undefined, this),
503944
503193
  "This mode should only be used in a sandboxed container/VM that has restricted internet access and can easily be restored if damaged."
503945
503194
  ]
503946
503195
  }, undefined, true, undefined, this),
503947
- /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
503196
+ /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503948
503197
  children: "By proceeding, you accept all responsibility for actions taken while running in Bypass Permissions mode."
503949
503198
  }, undefined, false, undefined, this),
503950
- /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(Link, {
503199
+ /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Link, {
503951
503200
  url: "https://github.com/chromebookwiz/localclawd"
503952
503201
  }, undefined, false, undefined, this)
503953
503202
  ]
@@ -503971,13 +503220,13 @@ function BypassPermissionsModeDialog(t0) {
503971
503220
  }
503972
503221
  let t5;
503973
503222
  if ($2[5] !== onChange) {
503974
- t5 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(Dialog, {
503223
+ t5 = /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Dialog, {
503975
503224
  title: "WARNING: localclawd running in Bypass Permissions mode",
503976
503225
  color: "error",
503977
503226
  onCancel: handleEscape,
503978
503227
  children: [
503979
503228
  t3,
503980
- /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(Select, {
503229
+ /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Select, {
503981
503230
  options: t4,
503982
503231
  onChange: (value_0) => onChange(value_0)
503983
503232
  }, undefined, false, undefined, this)
@@ -503996,15 +503245,15 @@ function _temp2101() {
503996
503245
  function _temp303() {
503997
503246
  logEvent("tengu_bypass_permissions_mode_dialog_shown", {});
503998
503247
  }
503999
- var import_react326, jsx_dev_runtime488;
503248
+ var import_react322, jsx_dev_runtime483;
504000
503249
  var init_BypassPermissionsModeDialog = __esm(() => {
504001
503250
  init_ink2();
504002
503251
  init_gracefulShutdown();
504003
503252
  init_settings2();
504004
503253
  init_CustomSelect();
504005
503254
  init_Dialog();
504006
- import_react326 = __toESM(require_react(), 1);
504007
- jsx_dev_runtime488 = __toESM(require_jsx_dev_runtime(), 1);
503255
+ import_react322 = __toESM(require_react(), 1);
503256
+ jsx_dev_runtime483 = __toESM(require_jsx_dev_runtime(), 1);
504008
503257
  });
504009
503258
 
504010
503259
  // src/components/ClaudeInChromeOnboarding.tsx
@@ -504017,7 +503266,7 @@ function ClaudeInChromeOnboarding(t0) {
504017
503266
  const {
504018
503267
  onDone
504019
503268
  } = t0;
504020
- const [isExtensionInstalled, setIsExtensionInstalled] = import_react327.default.useState(false);
503269
+ const [isExtensionInstalled, setIsExtensionInstalled] = import_react323.default.useState(false);
504021
503270
  let t1;
504022
503271
  let t2;
504023
503272
  if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
@@ -504033,7 +503282,7 @@ function ClaudeInChromeOnboarding(t0) {
504033
503282
  t1 = $2[0];
504034
503283
  t2 = $2[1];
504035
503284
  }
504036
- import_react327.default.useEffect(t1, t2);
503285
+ import_react323.default.useEffect(t1, t2);
504037
503286
  let t3;
504038
503287
  if ($2[2] !== onDone) {
504039
503288
  t3 = (_input, key) => {
@@ -504049,13 +503298,13 @@ function ClaudeInChromeOnboarding(t0) {
504049
503298
  use_input_default(t3);
504050
503299
  let t4;
504051
503300
  if ($2[4] !== isExtensionInstalled) {
504052
- t4 = !isExtensionInstalled && /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(jsx_dev_runtime489.Fragment, {
503301
+ t4 = !isExtensionInstalled && /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(jsx_dev_runtime484.Fragment, {
504053
503302
  children: [
504054
- /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Newline, {}, undefined, false, undefined, this),
504055
- /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Newline, {}, undefined, false, undefined, this),
503303
+ /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Newline, {}, undefined, false, undefined, this),
503304
+ /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Newline, {}, undefined, false, undefined, this),
504056
503305
  "Requires the Chrome extension. Get started at",
504057
503306
  " ",
504058
- /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Link, {
503307
+ /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Link, {
504059
503308
  url: CHROME_EXTENSION_URL2
504060
503309
  }, undefined, false, undefined, this)
504061
503310
  ]
@@ -504067,7 +503316,7 @@ function ClaudeInChromeOnboarding(t0) {
504067
503316
  }
504068
503317
  let t5;
504069
503318
  if ($2[6] !== t4) {
504070
- t5 = /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
503319
+ t5 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
504071
503320
  children: [
504072
503321
  "localclawd in Chrome works with the Chrome extension to let you control your browser directly from localclawd. You can navigate websites, fill forms, capture screenshots, record GIFs, and debug with console logs and network requests.",
504073
503322
  t4
@@ -504080,11 +503329,11 @@ function ClaudeInChromeOnboarding(t0) {
504080
503329
  }
504081
503330
  let t6;
504082
503331
  if ($2[8] !== isExtensionInstalled) {
504083
- t6 = isExtensionInstalled && /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(jsx_dev_runtime489.Fragment, {
503332
+ t6 = isExtensionInstalled && /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(jsx_dev_runtime484.Fragment, {
504084
503333
  children: [
504085
503334
  " ",
504086
503335
  "(",
504087
- /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Link, {
503336
+ /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Link, {
504088
503337
  url: CHROME_PERMISSIONS_URL2
504089
503338
  }, undefined, false, undefined, this),
504090
503339
  ")"
@@ -504097,7 +503346,7 @@ function ClaudeInChromeOnboarding(t0) {
504097
503346
  }
504098
503347
  let t7;
504099
503348
  if ($2[10] !== t6) {
504100
- t7 = /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
503349
+ t7 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
504101
503350
  dimColor: true,
504102
503351
  children: [
504103
503352
  "Site-level permissions are inherited from the Chrome extension. Manage permissions in the Chrome extension settings to control which sites localclawd can browse, click, and type on",
@@ -504112,7 +503361,7 @@ function ClaudeInChromeOnboarding(t0) {
504112
503361
  }
504113
503362
  let t8;
504114
503363
  if ($2[12] === Symbol.for("react.memo_cache_sentinel")) {
504115
- t8 = /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
503364
+ t8 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
504116
503365
  bold: true,
504117
503366
  color: "chromeYellow",
504118
503367
  children: "/chrome"
@@ -504123,7 +503372,7 @@ function ClaudeInChromeOnboarding(t0) {
504123
503372
  }
504124
503373
  let t9;
504125
503374
  if ($2[13] === Symbol.for("react.memo_cache_sentinel")) {
504126
- t9 = /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
503375
+ t9 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
504127
503376
  dimColor: true,
504128
503377
  children: [
504129
503378
  "For more info, use",
@@ -504131,7 +503380,7 @@ function ClaudeInChromeOnboarding(t0) {
504131
503380
  t8,
504132
503381
  " ",
504133
503382
  "or visit ",
504134
- /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Link, {
503383
+ /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Link, {
504135
503384
  url: "https://github.com/chromebookwiz/localclawd"
504136
503385
  }, undefined, false, undefined, this)
504137
503386
  ]
@@ -504142,7 +503391,7 @@ function ClaudeInChromeOnboarding(t0) {
504142
503391
  }
504143
503392
  let t10;
504144
503393
  if ($2[14] !== t5 || $2[15] !== t7) {
504145
- t10 = /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedBox_default, {
503394
+ t10 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedBox_default, {
504146
503395
  flexDirection: "column",
504147
503396
  gap: 1,
504148
503397
  children: [
@@ -504159,7 +503408,7 @@ function ClaudeInChromeOnboarding(t0) {
504159
503408
  }
504160
503409
  let t11;
504161
503410
  if ($2[17] !== onDone || $2[18] !== t10) {
504162
- t11 = /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Dialog, {
503411
+ t11 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Dialog, {
504163
503412
  title: "localclawd in Chrome (Beta)",
504164
503413
  onCancel: onDone,
504165
503414
  color: "chromeYellow",
@@ -504179,25 +503428,18 @@ function _temp304(current) {
504179
503428
  hasCompletedClaudeInChromeOnboarding: true
504180
503429
  };
504181
503430
  }
504182
- var import_react327, jsx_dev_runtime489, CHROME_EXTENSION_URL2 = "https://github.com/chromebookwiz/localclawd", CHROME_PERMISSIONS_URL2 = "https://clau.de/chrome/permissions";
503431
+ var import_react323, jsx_dev_runtime484, CHROME_EXTENSION_URL2 = "https://github.com/chromebookwiz/localclawd", CHROME_PERMISSIONS_URL2 = "https://clau.de/chrome/permissions";
504183
503432
  var init_ClaudeInChromeOnboarding = __esm(() => {
504184
503433
  init_ink2();
504185
503434
  init_setup3();
504186
503435
  init_config();
504187
503436
  init_Dialog();
504188
- import_react327 = __toESM(require_react(), 1);
504189
- jsx_dev_runtime489 = __toESM(require_jsx_dev_runtime(), 1);
503437
+ import_react323 = __toESM(require_react(), 1);
503438
+ jsx_dev_runtime484 = __toESM(require_jsx_dev_runtime(), 1);
504190
503439
  });
504191
503440
 
504192
503441
  // src/interactiveHelpers.tsx
504193
503442
  import { appendFileSync as appendFileSync3 } from "fs";
504194
- function completeOnboarding() {
504195
- saveGlobalConfig((current) => ({
504196
- ...current,
504197
- hasCompletedOnboarding: true,
504198
- lastOnboardingVersion: "1.1.12"
504199
- }));
504200
- }
504201
503443
  function showDialog(root3, renderer) {
504202
503444
  return new Promise((resolve40) => {
504203
503445
  const done = (result) => void resolve40(result);
@@ -504216,10 +503458,10 @@ async function exitWithMessage2(root3, message, options) {
504216
503458
  } = await Promise.resolve().then(() => (init_ink2(), exports_ink));
504217
503459
  const color3 = options?.color;
504218
503460
  const exitCode = options?.exitCode ?? 1;
504219
- root3.render(color3 ? /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(Text6, {
503461
+ root3.render(color3 ? /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(Text6, {
504220
503462
  color: color3,
504221
503463
  children: message
504222
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(Text6, {
503464
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(Text6, {
504223
503465
  children: message
504224
503466
  }, undefined, false, undefined, this));
504225
503467
  root3.unmount();
@@ -504227,7 +503469,7 @@ async function exitWithMessage2(root3, message, options) {
504227
503469
  process.exit(exitCode);
504228
503470
  }
504229
503471
  function showSetupDialog(root3, renderer, options) {
504230
- return showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(AppStateProvider, {
503472
+ return showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(AppStateProvider, {
504231
503473
  onChangeAppState: options?.onChangeAppState,
504232
503474
  children: renderer(done)
504233
503475
  }, undefined, false, undefined, this));
@@ -504242,87 +503484,15 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
504242
503484
  if (isEnvTruthy(false) || process.env.IS_DEMO) {
504243
503485
  return false;
504244
503486
  }
504245
- const config2 = getGlobalConfig();
504246
- const {
504247
- StartPage: StartPage2
504248
- } = await Promise.resolve().then(() => (init_StartPage(), exports_StartPage));
504249
- const startAction = await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(AppStateProvider, {
504250
- onChangeAppState,
504251
- children: /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(StartPage2, {
504252
- currentConfig: {
504253
- provider: config2.localBackendProvider,
504254
- baseUrl: config2.localBackendBaseUrl,
504255
- model: config2.localBackendModel,
504256
- apiKey: config2.localBackendApiKey
504257
- },
504258
- onDone: done
504259
- }, undefined, false, undefined, this)
504260
- }, undefined, false, undefined, this));
504261
- if (startAction === "configure-backend") {
504262
- const {
504263
- LocalBackendSetup: LocalBackendSetup2
504264
- } = await Promise.resolve().then(() => (init_LocalBackendSetup(), exports_LocalBackendSetup));
504265
- const {
504266
- clearSessionLocalLLMConfigOverride: clearSessionLocalLLMConfigOverride2,
504267
- setSessionLocalLLMConfigOverride: setSessionLocalLLMConfigOverride2
504268
- } = await Promise.resolve().then(() => (init_providers(), exports_providers));
504269
- await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(AppStateProvider, {
504270
- onChangeAppState,
504271
- children: /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(LocalBackendSetup2, {
504272
- initialConfig: {
504273
- provider: config2.localBackendProvider,
504274
- baseUrl: config2.localBackendBaseUrl,
504275
- model: config2.localBackendModel,
504276
- apiKey: config2.localBackendApiKey
504277
- },
504278
- onComplete: (nextConfig, options) => {
504279
- if (options?.saveGlobally === false) {
504280
- setSessionLocalLLMConfigOverride2(nextConfig);
504281
- } else {
504282
- clearSessionLocalLLMConfigOverride2();
504283
- saveGlobalConfig((current) => ({
504284
- ...current,
504285
- localBackendProvider: nextConfig.provider,
504286
- localBackendBaseUrl: nextConfig.baseUrl,
504287
- localBackendModel: nextConfig.model,
504288
- localBackendApiKey: nextConfig.apiKey
504289
- }));
504290
- }
504291
- done();
504292
- },
504293
- onCancel: () => {
504294
- done();
504295
- },
504296
- title: "Connect your model backend",
504297
- description: "Choose the OpenAI-compatible endpoint localclawd should talk to. You can save it globally for every run or use it only for this launch.",
504298
- showSaveGloballyOption: true
504299
- }, undefined, false, undefined, this)
504300
- }, undefined, false, undefined, this));
504301
- }
504302
- let onboardingShown = false;
504303
- if (!config2.theme || !config2.hasCompletedOnboarding) {
504304
- onboardingShown = true;
504305
- const {
504306
- Onboarding: Onboarding2
504307
- } = await Promise.resolve().then(() => (init_Onboarding(), exports_Onboarding));
504308
- await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(Onboarding2, {
504309
- showWelcome: false,
504310
- onDone: () => {
504311
- completeOnboarding();
504312
- done();
504313
- }
504314
- }, undefined, false, undefined, this), {
504315
- onChangeAppState
504316
- });
504317
- }
503487
+ const onboardingShown = false;
504318
503488
  if (!isEnvTruthy(process.env.CLAUBBIT)) {
504319
503489
  if (!checkHasTrustDialogAccepted()) {
504320
503490
  const {
504321
503491
  TrustDialog: TrustDialog2
504322
503492
  } = await Promise.resolve().then(() => (init_TrustDialog(), exports_TrustDialog));
504323
- await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(AppStateProvider, {
503493
+ await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(AppStateProvider, {
504324
503494
  onChangeAppState,
504325
- children: /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(TrustDialog2, {
503495
+ children: /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(TrustDialog2, {
504326
503496
  commands: commands2,
504327
503497
  onDone: done
504328
503498
  }, undefined, false, undefined, this)
@@ -504343,9 +503513,9 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
504343
503513
  const {
504344
503514
  ClaudeMdExternalIncludesDialog: ClaudeMdExternalIncludesDialog2
504345
503515
  } = await Promise.resolve().then(() => (init_ClaudeMdExternalIncludesDialog(), exports_ClaudeMdExternalIncludesDialog));
504346
- await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(AppStateProvider, {
503516
+ await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(AppStateProvider, {
504347
503517
  onChangeAppState,
504348
- children: /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ClaudeMdExternalIncludesDialog2, {
503518
+ children: /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(ClaudeMdExternalIncludesDialog2, {
504349
503519
  onDone: done,
504350
503520
  isStandaloneDialog: true,
504351
503521
  externalIncludes
@@ -504361,7 +503531,7 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
504361
503531
  const {
504362
503532
  GroveDialog: GroveDialog2
504363
503533
  } = await Promise.resolve().then(() => (init_Grove(), exports_Grove));
504364
- const decision = await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(GroveDialog2, {
503534
+ const decision = await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(GroveDialog2, {
504365
503535
  showIfAlreadyViewed: false,
504366
503536
  location: onboardingShown ? "onboarding" : "policy_update_modal",
504367
503537
  onDone: done
@@ -504376,7 +503546,7 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
504376
503546
  const {
504377
503547
  BypassPermissionsModeDialog: BypassPermissionsModeDialog2
504378
503548
  } = await Promise.resolve().then(() => (init_BypassPermissionsModeDialog(), exports_BypassPermissionsModeDialog));
504379
- await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(BypassPermissionsModeDialog2, {
503549
+ await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(BypassPermissionsModeDialog2, {
504380
503550
  onAccept: done
504381
503551
  }, undefined, false, undefined, this));
504382
503552
  }
@@ -504386,7 +503556,7 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
504386
503556
  const {
504387
503557
  ClaudeInChromeOnboarding: ClaudeInChromeOnboarding2
504388
503558
  } = await Promise.resolve().then(() => (init_ClaudeInChromeOnboarding(), exports_ClaudeInChromeOnboarding));
504389
- await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ClaudeInChromeOnboarding2, {
503559
+ await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(ClaudeInChromeOnboarding2, {
504390
503560
  onDone: done
504391
503561
  }, undefined, false, undefined, this));
504392
503562
  }
@@ -504441,7 +503611,7 @@ function getRenderContext(exitOnCtrlC) {
504441
503611
  }
504442
503612
  };
504443
503613
  }
504444
- var jsx_dev_runtime490;
503614
+ var jsx_dev_runtime485;
504445
503615
  var init_interactiveHelpers = __esm(() => {
504446
503616
  init_gracefulShutdown();
504447
503617
  init_state();
@@ -504463,7 +503633,7 @@ var init_interactiveHelpers = __esm(() => {
504463
503633
  init_renderOptions();
504464
503634
  init_allErrors();
504465
503635
  init_settings2();
504466
- jsx_dev_runtime490 = __toESM(require_jsx_dev_runtime(), 1);
503636
+ jsx_dev_runtime485 = __toESM(require_jsx_dev_runtime(), 1);
504467
503637
  });
504468
503638
 
504469
503639
  // src/components/InvalidSettingsDialog.tsx
@@ -504496,7 +503666,7 @@ function InvalidSettingsDialog(t0) {
504496
503666
  const handleSelect = t1;
504497
503667
  let t2;
504498
503668
  if ($2[3] !== settingsErrors) {
504499
- t2 = /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(ValidationErrorsList, {
503669
+ t2 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ValidationErrorsList, {
504500
503670
  errors: settingsErrors
504501
503671
  }, undefined, false, undefined, this);
504502
503672
  $2[3] = settingsErrors;
@@ -504506,7 +503676,7 @@ function InvalidSettingsDialog(t0) {
504506
503676
  }
504507
503677
  let t3;
504508
503678
  if ($2[5] === Symbol.for("react.memo_cache_sentinel")) {
504509
- t3 = /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(ThemedText, {
503679
+ t3 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
504510
503680
  dimColor: true,
504511
503681
  children: "Files with errors are skipped entirely, not just the invalid settings."
504512
503682
  }, undefined, false, undefined, this);
@@ -504529,7 +503699,7 @@ function InvalidSettingsDialog(t0) {
504529
503699
  }
504530
503700
  let t5;
504531
503701
  if ($2[7] !== handleSelect) {
504532
- t5 = /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(Select, {
503702
+ t5 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Select, {
504533
503703
  options: t4,
504534
503704
  onChange: handleSelect
504535
503705
  }, undefined, false, undefined, this);
@@ -504540,7 +503710,7 @@ function InvalidSettingsDialog(t0) {
504540
503710
  }
504541
503711
  let t6;
504542
503712
  if ($2[9] !== onExit2 || $2[10] !== t2 || $2[11] !== t5) {
504543
- t6 = /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(Dialog, {
503713
+ t6 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Dialog, {
504544
503714
  title: "Settings Error",
504545
503715
  onCancel: onExit2,
504546
503716
  color: "warning",
@@ -504559,21 +503729,21 @@ function InvalidSettingsDialog(t0) {
504559
503729
  }
504560
503730
  return t6;
504561
503731
  }
504562
- var jsx_dev_runtime491;
503732
+ var jsx_dev_runtime486;
504563
503733
  var init_InvalidSettingsDialog = __esm(() => {
504564
503734
  init_ink2();
504565
503735
  init_CustomSelect();
504566
503736
  init_Dialog();
504567
503737
  init_ValidationErrorsList();
504568
- jsx_dev_runtime491 = __toESM(require_jsx_dev_runtime(), 1);
503738
+ jsx_dev_runtime486 = __toESM(require_jsx_dev_runtime(), 1);
504569
503739
  });
504570
503740
 
504571
503741
  // src/hooks/useTeleportResume.tsx
504572
503742
  function useTeleportResume(source) {
504573
503743
  const $2 = c3(8);
504574
- const [isResuming, setIsResuming] = import_react328.useState(false);
504575
- const [error5, setError] = import_react328.useState(null);
504576
- const [selectedSession, setSelectedSession] = import_react328.useState(null);
503744
+ const [isResuming, setIsResuming] = import_react324.useState(false);
503745
+ const [error5, setError] = import_react324.useState(null);
503746
+ const [selectedSession, setSelectedSession] = import_react324.useState(null);
504577
503747
  let t0;
504578
503748
  if ($2[0] !== source) {
504579
503749
  t0 = async (session2) => {
@@ -504638,12 +503808,12 @@ function useTeleportResume(source) {
504638
503808
  }
504639
503809
  return t2;
504640
503810
  }
504641
- var import_react328;
503811
+ var import_react324;
504642
503812
  var init_useTeleportResume = __esm(() => {
504643
503813
  init_state();
504644
503814
  init_errors();
504645
503815
  init_teleport();
504646
- import_react328 = __toESM(require_react(), 1);
503816
+ import_react324 = __toESM(require_react(), 1);
504647
503817
  });
504648
503818
 
504649
503819
  // src/components/ResumeTask.tsx
@@ -504655,15 +503825,15 @@ function ResumeTask({
504655
503825
  const {
504656
503826
  rows
504657
503827
  } = useTerminalSize();
504658
- const [sessions, setSessions] = import_react329.useState([]);
504659
- const [currentRepo, setCurrentRepo] = import_react329.useState(null);
504660
- const [loading, setLoading] = import_react329.useState(true);
504661
- const [loadErrorType, setLoadErrorType] = import_react329.useState(null);
504662
- const [retrying, setRetrying] = import_react329.useState(false);
504663
- const [hasCompletedTeleportErrorFlow, setHasCompletedTeleportErrorFlow] = import_react329.useState(false);
504664
- const [focusedIndex, setFocusedIndex] = import_react329.useState(1);
503828
+ const [sessions, setSessions] = import_react325.useState([]);
503829
+ const [currentRepo, setCurrentRepo] = import_react325.useState(null);
503830
+ const [loading, setLoading] = import_react325.useState(true);
503831
+ const [loadErrorType, setLoadErrorType] = import_react325.useState(null);
503832
+ const [retrying, setRetrying] = import_react325.useState(false);
503833
+ const [hasCompletedTeleportErrorFlow, setHasCompletedTeleportErrorFlow] = import_react325.useState(false);
503834
+ const [focusedIndex, setFocusedIndex] = import_react325.useState(1);
504665
503835
  const escKey = useShortcutDisplay("confirm:no", "Confirmation", "Esc");
504666
- const loadSessions = import_react329.useCallback(async () => {
503836
+ const loadSessions = import_react325.useCallback(async () => {
504667
503837
  try {
504668
503838
  setLoading(true);
504669
503839
  setLoadErrorType(null);
@@ -504717,31 +503887,31 @@ function ResumeTask({
504717
503887
  return;
504718
503888
  }
504719
503889
  });
504720
- const handleErrorComplete = import_react329.useCallback(() => {
503890
+ const handleErrorComplete = import_react325.useCallback(() => {
504721
503891
  setHasCompletedTeleportErrorFlow(true);
504722
503892
  loadSessions();
504723
503893
  }, [setHasCompletedTeleportErrorFlow, loadSessions]);
504724
503894
  if (!hasCompletedTeleportErrorFlow) {
504725
- return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(TeleportError, {
503895
+ return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(TeleportError, {
504726
503896
  onComplete: handleErrorComplete
504727
503897
  }, undefined, false, undefined, this);
504728
503898
  }
504729
503899
  if (loading) {
504730
- return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
503900
+ return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504731
503901
  flexDirection: "column",
504732
503902
  padding: 1,
504733
503903
  children: [
504734
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
503904
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504735
503905
  flexDirection: "row",
504736
503906
  children: [
504737
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(Spinner, {}, undefined, false, undefined, this),
504738
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503907
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(Spinner, {}, undefined, false, undefined, this),
503908
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504739
503909
  bold: true,
504740
503910
  children: "Loading localclawd sessions…"
504741
503911
  }, undefined, false, undefined, this)
504742
503912
  ]
504743
503913
  }, undefined, true, undefined, this),
504744
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503914
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504745
503915
  dimColor: true,
504746
503916
  children: retrying ? "Retrying…" : "Fetching your localclawd sessions…"
504747
503917
  }, undefined, false, undefined, this)
@@ -504749,27 +503919,27 @@ function ResumeTask({
504749
503919
  }, undefined, true, undefined, this);
504750
503920
  }
504751
503921
  if (loadErrorType) {
504752
- return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
503922
+ return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504753
503923
  flexDirection: "column",
504754
503924
  padding: 1,
504755
503925
  children: [
504756
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503926
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504757
503927
  bold: true,
504758
503928
  color: "error",
504759
503929
  children: "Error loading localclawd sessions"
504760
503930
  }, undefined, false, undefined, this),
504761
503931
  renderErrorSpecificGuidance(loadErrorType),
504762
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503932
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504763
503933
  dimColor: true,
504764
503934
  children: [
504765
503935
  "Press ",
504766
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503936
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504767
503937
  bold: true,
504768
503938
  children: "Ctrl+R"
504769
503939
  }, undefined, false, undefined, this),
504770
503940
  " to retry · Press",
504771
503941
  " ",
504772
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503942
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504773
503943
  bold: true,
504774
503944
  children: escKey
504775
503945
  }, undefined, false, undefined, this),
@@ -504780,15 +503950,15 @@ function ResumeTask({
504780
503950
  }, undefined, true, undefined, this);
504781
503951
  }
504782
503952
  if (sessions.length === 0) {
504783
- return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
503953
+ return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504784
503954
  flexDirection: "column",
504785
503955
  padding: 1,
504786
503956
  children: [
504787
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503957
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504788
503958
  bold: true,
504789
503959
  children: [
504790
503960
  "No localclawd sessions found",
504791
- currentRepo && /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503961
+ currentRepo && /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504792
503962
  children: [
504793
503963
  " for ",
504794
503964
  currentRepo
@@ -504796,13 +503966,13 @@ function ResumeTask({
504796
503966
  }, undefined, true, undefined, this)
504797
503967
  ]
504798
503968
  }, undefined, true, undefined, this),
504799
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
503969
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504800
503970
  marginTop: 1,
504801
- children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503971
+ children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504802
503972
  dimColor: true,
504803
503973
  children: [
504804
503974
  "Press ",
504805
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503975
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504806
503976
  bold: true,
504807
503977
  children: escKey
504808
503978
  }, undefined, false, undefined, this),
@@ -504833,16 +504003,16 @@ function ResumeTask({
504833
504003
  const maxVisibleOptions = Math.max(1, isEmbedded ? Math.min(sessions.length, 5, rows - 6 - layoutOverhead) : Math.min(sessions.length, rows - 1 - layoutOverhead));
504834
504004
  const maxHeight = maxVisibleOptions + layoutOverhead;
504835
504005
  const showScrollPosition = sessions.length > maxVisibleOptions;
504836
- return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
504006
+ return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504837
504007
  flexDirection: "column",
504838
504008
  padding: 1,
504839
504009
  height: maxHeight,
504840
504010
  children: [
504841
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504011
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504842
504012
  bold: true,
504843
504013
  children: [
504844
504014
  "Select a session to resume",
504845
- showScrollPosition && /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504015
+ showScrollPosition && /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504846
504016
  dimColor: true,
504847
504017
  children: [
504848
504018
  " ",
@@ -504853,7 +504023,7 @@ function ResumeTask({
504853
504023
  ")"
504854
504024
  ]
504855
504025
  }, undefined, true, undefined, this),
504856
- currentRepo && /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504026
+ currentRepo && /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504857
504027
  dimColor: true,
504858
504028
  children: [
504859
504029
  " (",
@@ -504864,14 +504034,14 @@ function ResumeTask({
504864
504034
  ":"
504865
504035
  ]
504866
504036
  }, undefined, true, undefined, this),
504867
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
504037
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504868
504038
  flexDirection: "column",
504869
504039
  marginTop: 1,
504870
504040
  flexGrow: 1,
504871
504041
  children: [
504872
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
504042
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504873
504043
  marginLeft: 2,
504874
- children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504044
+ children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504875
504045
  bold: true,
504876
504046
  children: [
504877
504047
  UPDATED_STRING.padEnd(maxTimeStringLength, " "),
@@ -504880,7 +504050,7 @@ function ResumeTask({
504880
504050
  ]
504881
504051
  }, undefined, true, undefined, this)
504882
504052
  }, undefined, false, undefined, this),
504883
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(Select, {
504053
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(Select, {
504884
504054
  visibleOptionCount: maxVisibleOptions,
504885
504055
  options,
504886
504056
  onChange: (value) => {
@@ -504898,21 +504068,21 @@ function ResumeTask({
504898
504068
  }, undefined, false, undefined, this)
504899
504069
  ]
504900
504070
  }, undefined, true, undefined, this),
504901
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
504071
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504902
504072
  flexDirection: "row",
504903
- children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504073
+ children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504904
504074
  dimColor: true,
504905
- children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(Byline, {
504075
+ children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(Byline, {
504906
504076
  children: [
504907
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(KeyboardShortcutHint, {
504077
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(KeyboardShortcutHint, {
504908
504078
  shortcut: "↑/↓",
504909
504079
  action: "select"
504910
504080
  }, undefined, false, undefined, this),
504911
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(KeyboardShortcutHint, {
504081
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(KeyboardShortcutHint, {
504912
504082
  shortcut: "Enter",
504913
504083
  action: "confirm"
504914
504084
  }, undefined, false, undefined, this),
504915
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ConfigurableShortcutHint, {
504085
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ConfigurableShortcutHint, {
504916
504086
  action: "confirm:no",
504917
504087
  context: "Confirmation",
504918
504088
  fallback: "Esc",
@@ -504941,28 +504111,28 @@ function determineErrorType(errorMessage4) {
504941
504111
  function renderErrorSpecificGuidance(errorType) {
504942
504112
  switch (errorType) {
504943
504113
  case "network":
504944
- return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
504114
+ return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504945
504115
  marginY: 1,
504946
504116
  flexDirection: "column",
504947
- children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504117
+ children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504948
504118
  dimColor: true,
504949
504119
  children: "Check your internet connection"
504950
504120
  }, undefined, false, undefined, this)
504951
504121
  }, undefined, false, undefined, this);
504952
504122
  case "auth":
504953
- return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
504123
+ return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504954
504124
  marginY: 1,
504955
504125
  flexDirection: "column",
504956
504126
  children: [
504957
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504127
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504958
504128
  dimColor: true,
504959
504129
  children: "Remote web sessions are disabled in this local-first build"
504960
504130
  }, undefined, false, undefined, this),
504961
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504131
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504962
504132
  dimColor: true,
504963
504133
  children: [
504964
504134
  "Use ",
504965
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504135
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504966
504136
  bold: true,
504967
504137
  children: "/provider"
504968
504138
  }, undefined, false, undefined, this),
@@ -504972,26 +504142,26 @@ function renderErrorSpecificGuidance(errorType) {
504972
504142
  ]
504973
504143
  }, undefined, true, undefined, this);
504974
504144
  case "api":
504975
- return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
504145
+ return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504976
504146
  marginY: 1,
504977
504147
  flexDirection: "column",
504978
- children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504148
+ children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504979
504149
  dimColor: true,
504980
504150
  children: "Sorry, Claude encountered an error"
504981
504151
  }, undefined, false, undefined, this)
504982
504152
  }, undefined, false, undefined, this);
504983
504153
  case "other":
504984
- return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
504154
+ return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504985
504155
  marginY: 1,
504986
504156
  flexDirection: "row",
504987
- children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504157
+ children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504988
504158
  dimColor: true,
504989
504159
  children: "Sorry, Claude Code encountered an error"
504990
504160
  }, undefined, false, undefined, this)
504991
504161
  }, undefined, false, undefined, this);
504992
504162
  }
504993
504163
  }
504994
- var import_react329, jsx_dev_runtime492, UPDATED_STRING = "Updated", SPACE_BETWEEN_TABLE_COLUMNS = " ";
504164
+ var import_react325, jsx_dev_runtime487, UPDATED_STRING = "Updated", SPACE_BETWEEN_TABLE_COLUMNS = " ";
504995
504165
  var init_ResumeTask = __esm(() => {
504996
504166
  init_useTerminalSize();
504997
504167
  init_api();
@@ -505007,8 +504177,8 @@ var init_ResumeTask = __esm(() => {
505007
504177
  init_KeyboardShortcutHint();
505008
504178
  init_Spinner2();
505009
504179
  init_TeleportError();
505010
- import_react329 = __toESM(require_react(), 1);
505011
- jsx_dev_runtime492 = __toESM(require_jsx_dev_runtime(), 1);
504180
+ import_react325 = __toESM(require_react(), 1);
504181
+ jsx_dev_runtime487 = __toESM(require_jsx_dev_runtime(), 1);
505012
504182
  });
505013
504183
 
505014
504184
  // src/components/TeleportResumeWrapper.tsx
@@ -505048,7 +504218,7 @@ function TeleportResumeWrapper(t0) {
505048
504218
  t2 = $2[1];
505049
504219
  t3 = $2[2];
505050
504220
  }
505051
- import_react330.useEffect(t2, t3);
504221
+ import_react326.useEffect(t2, t3);
505052
504222
  let t4;
505053
504223
  if ($2[3] !== error5 || $2[4] !== onComplete || $2[5] !== onError || $2[6] !== resumeSession) {
505054
504224
  t4 = async (session2) => {
@@ -505100,11 +504270,11 @@ function TeleportResumeWrapper(t0) {
505100
504270
  if (isResuming && selectedSession) {
505101
504271
  let t82;
505102
504272
  if ($2[12] === Symbol.for("react.memo_cache_sentinel")) {
505103
- t82 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedBox_default, {
504273
+ t82 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
505104
504274
  flexDirection: "row",
505105
504275
  children: [
505106
- /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(Spinner, {}, undefined, false, undefined, this),
505107
- /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
504276
+ /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(Spinner, {}, undefined, false, undefined, this),
504277
+ /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
505108
504278
  bold: true,
505109
504279
  children: "Resuming session…"
505110
504280
  }, undefined, false, undefined, this)
@@ -505116,12 +504286,12 @@ function TeleportResumeWrapper(t0) {
505116
504286
  }
505117
504287
  let t9;
505118
504288
  if ($2[13] !== selectedSession.title) {
505119
- t9 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedBox_default, {
504289
+ t9 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
505120
504290
  flexDirection: "column",
505121
504291
  padding: 1,
505122
504292
  children: [
505123
504293
  t82,
505124
- /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
504294
+ /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
505125
504295
  dimColor: true,
505126
504296
  children: [
505127
504297
  'Loading "',
@@ -505141,7 +504311,7 @@ function TeleportResumeWrapper(t0) {
505141
504311
  if (error5 && !onError) {
505142
504312
  let t82;
505143
504313
  if ($2[15] === Symbol.for("react.memo_cache_sentinel")) {
505144
- t82 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
504314
+ t82 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
505145
504315
  bold: true,
505146
504316
  color: "error",
505147
504317
  children: "Failed to resume session"
@@ -505152,7 +504322,7 @@ function TeleportResumeWrapper(t0) {
505152
504322
  }
505153
504323
  let t9;
505154
504324
  if ($2[16] !== error5.message) {
505155
- t9 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
504325
+ t9 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
505156
504326
  dimColor: true,
505157
504327
  children: error5.message
505158
504328
  }, undefined, false, undefined, this);
@@ -505163,13 +504333,13 @@ function TeleportResumeWrapper(t0) {
505163
504333
  }
505164
504334
  let t10;
505165
504335
  if ($2[18] === Symbol.for("react.memo_cache_sentinel")) {
505166
- t10 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedBox_default, {
504336
+ t10 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
505167
504337
  marginTop: 1,
505168
- children: /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
504338
+ children: /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
505169
504339
  dimColor: true,
505170
504340
  children: [
505171
504341
  "Press ",
505172
- /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
504342
+ /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
505173
504343
  bold: true,
505174
504344
  children: "Esc"
505175
504345
  }, undefined, false, undefined, this),
@@ -505183,7 +504353,7 @@ function TeleportResumeWrapper(t0) {
505183
504353
  }
505184
504354
  let t11;
505185
504355
  if ($2[19] !== t9) {
505186
- t11 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedBox_default, {
504356
+ t11 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
505187
504357
  flexDirection: "column",
505188
504358
  padding: 1,
505189
504359
  children: [
@@ -505201,7 +504371,7 @@ function TeleportResumeWrapper(t0) {
505201
504371
  }
505202
504372
  let t8;
505203
504373
  if ($2[21] !== handleCancel || $2[22] !== handleSelect || $2[23] !== isEmbedded) {
505204
- t8 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ResumeTask, {
504374
+ t8 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ResumeTask, {
505205
504375
  onSelect: handleSelect,
505206
504376
  onCancel: handleCancel,
505207
504377
  isEmbedded
@@ -505215,15 +504385,15 @@ function TeleportResumeWrapper(t0) {
505215
504385
  }
505216
504386
  return t8;
505217
504387
  }
505218
- var import_react330, jsx_dev_runtime493;
504388
+ var import_react326, jsx_dev_runtime488;
505219
504389
  var init_TeleportResumeWrapper = __esm(() => {
505220
504390
  init_useTeleportResume();
505221
504391
  init_ink2();
505222
504392
  init_useKeybinding();
505223
504393
  init_ResumeTask();
505224
504394
  init_Spinner2();
505225
- import_react330 = __toESM(require_react(), 1);
505226
- jsx_dev_runtime493 = __toESM(require_jsx_dev_runtime(), 1);
504395
+ import_react326 = __toESM(require_react(), 1);
504396
+ jsx_dev_runtime488 = __toESM(require_jsx_dev_runtime(), 1);
505227
504397
  });
505228
504398
 
505229
504399
  // src/components/TeleportRepoMismatchDialog.tsx
@@ -505239,9 +504409,9 @@ function TeleportRepoMismatchDialog(t0) {
505239
504409
  onSelectPath,
505240
504410
  onCancel
505241
504411
  } = t0;
505242
- const [availablePaths, setAvailablePaths] = import_react331.useState(initialPaths);
505243
- const [errorMessage4, setErrorMessage] = import_react331.useState(null);
505244
- const [validating, setValidating] = import_react331.useState(false);
504412
+ const [availablePaths, setAvailablePaths] = import_react327.useState(initialPaths);
504413
+ const [errorMessage4, setErrorMessage] = import_react327.useState(null);
504414
+ const [validating, setValidating] = import_react327.useState(false);
505245
504415
  let t1;
505246
504416
  if ($2[0] !== availablePaths || $2[1] !== onCancel || $2[2] !== onSelectPath || $2[3] !== targetRepo) {
505247
504417
  t1 = async (value) => {
@@ -505292,20 +504462,20 @@ function TeleportRepoMismatchDialog(t0) {
505292
504462
  const options = t2;
505293
504463
  let t3;
505294
504464
  if ($2[8] !== availablePaths.length || $2[9] !== errorMessage4 || $2[10] !== handleChange4 || $2[11] !== options || $2[12] !== targetRepo || $2[13] !== validating) {
505295
- t3 = availablePaths.length > 0 ? /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(jsx_dev_runtime494.Fragment, {
504465
+ t3 = availablePaths.length > 0 ? /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(jsx_dev_runtime489.Fragment, {
505296
504466
  children: [
505297
- /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedBox_default, {
504467
+ /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedBox_default, {
505298
504468
  flexDirection: "column",
505299
504469
  gap: 1,
505300
504470
  children: [
505301
- errorMessage4 && /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedText, {
504471
+ errorMessage4 && /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
505302
504472
  color: "error",
505303
504473
  children: errorMessage4
505304
504474
  }, undefined, false, undefined, this),
505305
- /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedText, {
504475
+ /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
505306
504476
  children: [
505307
504477
  "Open Claude Code in ",
505308
- /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedText, {
504478
+ /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
505309
504479
  bold: true,
505310
504480
  children: targetRepo
505311
504481
  }, undefined, false, undefined, this),
@@ -505314,27 +504484,27 @@ function TeleportRepoMismatchDialog(t0) {
505314
504484
  }, undefined, true, undefined, this)
505315
504485
  ]
505316
504486
  }, undefined, true, undefined, this),
505317
- validating ? /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedBox_default, {
504487
+ validating ? /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedBox_default, {
505318
504488
  children: [
505319
- /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(Spinner, {}, undefined, false, undefined, this),
505320
- /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedText, {
504489
+ /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Spinner, {}, undefined, false, undefined, this),
504490
+ /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
505321
504491
  children: " Validating repository…"
505322
504492
  }, undefined, false, undefined, this)
505323
504493
  ]
505324
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(Select, {
504494
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Select, {
505325
504495
  options,
505326
504496
  onChange: (value_0) => void handleChange4(value_0)
505327
504497
  }, undefined, false, undefined, this)
505328
504498
  ]
505329
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedBox_default, {
504499
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedBox_default, {
505330
504500
  flexDirection: "column",
505331
504501
  gap: 1,
505332
504502
  children: [
505333
- errorMessage4 && /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedText, {
504503
+ errorMessage4 && /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
505334
504504
  color: "error",
505335
504505
  children: errorMessage4
505336
504506
  }, undefined, false, undefined, this),
505337
- /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedText, {
504507
+ /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
505338
504508
  dimColor: true,
505339
504509
  children: [
505340
504510
  "Run claude --teleport from a checkout of ",
@@ -505355,7 +504525,7 @@ function TeleportRepoMismatchDialog(t0) {
505355
504525
  }
505356
504526
  let t4;
505357
504527
  if ($2[15] !== onCancel || $2[16] !== t3) {
505358
- t4 = /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(Dialog, {
504528
+ t4 = /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Dialog, {
505359
504529
  title: "Teleport to Repo",
505360
504530
  onCancel,
505361
504531
  color: "background",
@@ -505371,10 +504541,10 @@ function TeleportRepoMismatchDialog(t0) {
505371
504541
  }
505372
504542
  function _temp305(path17) {
505373
504543
  return {
505374
- label: /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedText, {
504544
+ label: /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
505375
504545
  children: [
505376
504546
  "Use ",
505377
- /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedText, {
504547
+ /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
505378
504548
  bold: true,
505379
504549
  children: getDisplayPath(path17)
505380
504550
  }, undefined, false, undefined, this)
@@ -505383,7 +504553,7 @@ function _temp305(path17) {
505383
504553
  value: path17
505384
504554
  };
505385
504555
  }
505386
- var import_react331, jsx_dev_runtime494;
504556
+ var import_react327, jsx_dev_runtime489;
505387
504557
  var init_TeleportRepoMismatchDialog = __esm(() => {
505388
504558
  init_ink2();
505389
504559
  init_file();
@@ -505391,8 +504561,8 @@ var init_TeleportRepoMismatchDialog = __esm(() => {
505391
504561
  init_CustomSelect();
505392
504562
  init_Dialog();
505393
504563
  init_Spinner2();
505394
- import_react331 = __toESM(require_react(), 1);
505395
- jsx_dev_runtime494 = __toESM(require_jsx_dev_runtime(), 1);
504564
+ import_react327 = __toESM(require_react(), 1);
504565
+ jsx_dev_runtime489 = __toESM(require_jsx_dev_runtime(), 1);
505396
504566
  });
505397
504567
 
505398
504568
  // src/screens/ResumeConversation.tsx
@@ -505437,15 +504607,15 @@ function ResumeConversation({
505437
504607
  } = useTerminalSize();
505438
504608
  const agentDefinitions2 = useAppState((s) => s.agentDefinitions);
505439
504609
  const setAppState = useSetAppState();
505440
- const [logs2, setLogs] = import_react332.default.useState([]);
505441
- const [loading, setLoading] = import_react332.default.useState(true);
505442
- const [resuming, setResuming] = import_react332.default.useState(false);
505443
- const [showAllProjects, setShowAllProjects] = import_react332.default.useState(false);
505444
- const [resumeData, setResumeData] = import_react332.default.useState(null);
505445
- const [crossProjectCommand, setCrossProjectCommand] = import_react332.default.useState(null);
505446
- const sessionLogResultRef = import_react332.default.useRef(null);
505447
- const logCountRef = import_react332.default.useRef(0);
505448
- const filteredLogs = import_react332.default.useMemo(() => {
504610
+ const [logs2, setLogs] = import_react328.default.useState([]);
504611
+ const [loading, setLoading] = import_react328.default.useState(true);
504612
+ const [resuming, setResuming] = import_react328.default.useState(false);
504613
+ const [showAllProjects, setShowAllProjects] = import_react328.default.useState(false);
504614
+ const [resumeData, setResumeData] = import_react328.default.useState(null);
504615
+ const [crossProjectCommand, setCrossProjectCommand] = import_react328.default.useState(null);
504616
+ const sessionLogResultRef = import_react328.default.useRef(null);
504617
+ const logCountRef = import_react328.default.useRef(0);
504618
+ const filteredLogs = import_react328.default.useMemo(() => {
505449
504619
  let result = logs2.filter((l) => !l.isSidechain);
505450
504620
  if (filterByPr !== undefined) {
505451
504621
  if (filterByPr === true) {
@@ -505462,7 +504632,7 @@ function ResumeConversation({
505462
504632
  return result;
505463
504633
  }, [logs2, filterByPr]);
505464
504634
  const isResumeWithRenameEnabled = isCustomTitleEnabled();
505465
- import_react332.default.useEffect(() => {
504635
+ import_react328.default.useEffect(() => {
505466
504636
  loadSameRepoMessageLogsProgressive(worktreePaths).then((result_0) => {
505467
504637
  sessionLogResultRef.current = result_0;
505468
504638
  logCountRef.current = result_0.logs.length;
@@ -505473,7 +504643,7 @@ function ResumeConversation({
505473
504643
  setLoading(false);
505474
504644
  });
505475
504645
  }, [worktreePaths]);
505476
- const loadMoreLogs = import_react332.default.useCallback((count3) => {
504646
+ const loadMoreLogs = import_react328.default.useCallback((count3) => {
505477
504647
  const ref = sessionLogResultRef.current;
505478
504648
  if (!ref || ref.nextIndex >= ref.allStatLogs.length)
505479
504649
  return;
@@ -505491,7 +504661,7 @@ function ResumeConversation({
505491
504661
  }
505492
504662
  });
505493
504663
  }, []);
505494
- const loadLogs = import_react332.default.useCallback((allProjects) => {
504664
+ const loadLogs = import_react328.default.useCallback((allProjects) => {
505495
504665
  setLoading(true);
505496
504666
  const promise2 = allProjects ? loadAllProjectsMessageLogsProgressive() : loadSameRepoMessageLogsProgressive(worktreePaths);
505497
504667
  promise2.then((result_2) => {
@@ -505504,7 +504674,7 @@ function ResumeConversation({
505504
504674
  setLoading(false);
505505
504675
  });
505506
504676
  }, [worktreePaths]);
505507
- const handleToggleAllProjects = import_react332.default.useCallback(() => {
504677
+ const handleToggleAllProjects = import_react328.default.useCallback(() => {
505508
504678
  const newValue = !showAllProjects;
505509
504679
  setShowAllProjects(newValue);
505510
504680
  loadLogs(newValue);
@@ -505590,12 +504760,12 @@ function ResumeConversation({
505590
504760
  }
505591
504761
  }
505592
504762
  if (crossProjectCommand) {
505593
- return /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(CrossProjectMessage, {
504763
+ return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(CrossProjectMessage, {
505594
504764
  command: crossProjectCommand
505595
504765
  }, undefined, false, undefined, this);
505596
504766
  }
505597
504767
  if (resumeData) {
505598
- return /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(REPL, {
504768
+ return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(REPL, {
505599
504769
  debug: debug3,
505600
504770
  commands: commands2,
505601
504771
  initialTools,
@@ -505618,29 +504788,29 @@ function ResumeConversation({
505618
504788
  }, undefined, false, undefined, this);
505619
504789
  }
505620
504790
  if (loading) {
505621
- return /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
504791
+ return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
505622
504792
  children: [
505623
- /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(Spinner, {}, undefined, false, undefined, this),
505624
- /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
504793
+ /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(Spinner, {}, undefined, false, undefined, this),
504794
+ /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
505625
504795
  children: " Loading conversations…"
505626
504796
  }, undefined, false, undefined, this)
505627
504797
  ]
505628
504798
  }, undefined, true, undefined, this);
505629
504799
  }
505630
504800
  if (resuming) {
505631
- return /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
504801
+ return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
505632
504802
  children: [
505633
- /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(Spinner, {}, undefined, false, undefined, this),
505634
- /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
504803
+ /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(Spinner, {}, undefined, false, undefined, this),
504804
+ /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
505635
504805
  children: " Resuming conversation…"
505636
504806
  }, undefined, false, undefined, this)
505637
504807
  ]
505638
504808
  }, undefined, true, undefined, this);
505639
504809
  }
505640
504810
  if (filteredLogs.length === 0) {
505641
- return /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(NoConversationsMessage, {}, undefined, false, undefined, this);
504811
+ return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(NoConversationsMessage, {}, undefined, false, undefined, this);
505642
504812
  }
505643
- return /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(LogSelector, {
504813
+ return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(LogSelector, {
505644
504814
  logs: filteredLogs,
505645
504815
  maxHeight: rows,
505646
504816
  onCancel,
@@ -505667,13 +504837,13 @@ function NoConversationsMessage() {
505667
504837
  useKeybinding("app:interrupt", _temp306, t0);
505668
504838
  let t1;
505669
504839
  if ($2[1] === Symbol.for("react.memo_cache_sentinel")) {
505670
- t1 = /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
504840
+ t1 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
505671
504841
  flexDirection: "column",
505672
504842
  children: [
505673
- /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
504843
+ /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
505674
504844
  children: "No conversations found to resume."
505675
504845
  }, undefined, false, undefined, this),
505676
- /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
504846
+ /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
505677
504847
  dimColor: true,
505678
504848
  children: "Press Ctrl+C to exit and start a new conversation."
505679
504849
  }, undefined, false, undefined, this)
@@ -505700,10 +504870,10 @@ function CrossProjectMessage(t0) {
505700
504870
  } else {
505701
504871
  t1 = $2[0];
505702
504872
  }
505703
- import_react332.default.useEffect(_temp356, t1);
504873
+ import_react328.default.useEffect(_temp356, t1);
505704
504874
  let t2;
505705
504875
  if ($2[1] === Symbol.for("react.memo_cache_sentinel")) {
505706
- t2 = /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
504876
+ t2 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
505707
504877
  children: "This conversation is from a different directory."
505708
504878
  }, undefined, false, undefined, this);
505709
504879
  $2[1] = t2;
@@ -505712,7 +504882,7 @@ function CrossProjectMessage(t0) {
505712
504882
  }
505713
504883
  let t3;
505714
504884
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
505715
- t3 = /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
504885
+ t3 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
505716
504886
  children: "To resume, run:"
505717
504887
  }, undefined, false, undefined, this);
505718
504888
  $2[2] = t3;
@@ -505721,11 +504891,11 @@ function CrossProjectMessage(t0) {
505721
504891
  }
505722
504892
  let t4;
505723
504893
  if ($2[3] !== command8) {
505724
- t4 = /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
504894
+ t4 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
505725
504895
  flexDirection: "column",
505726
504896
  children: [
505727
504897
  t3,
505728
- /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
504898
+ /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
505729
504899
  children: [
505730
504900
  " ",
505731
504901
  command8
@@ -505740,7 +504910,7 @@ function CrossProjectMessage(t0) {
505740
504910
  }
505741
504911
  let t5;
505742
504912
  if ($2[5] === Symbol.for("react.memo_cache_sentinel")) {
505743
- t5 = /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
504913
+ t5 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
505744
504914
  dimColor: true,
505745
504915
  children: "(Command copied to clipboard)"
505746
504916
  }, undefined, false, undefined, this);
@@ -505750,7 +504920,7 @@ function CrossProjectMessage(t0) {
505750
504920
  }
505751
504921
  let t6;
505752
504922
  if ($2[6] !== t4) {
505753
- t6 = /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
504923
+ t6 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
505754
504924
  flexDirection: "column",
505755
504925
  gap: 1,
505756
504926
  children: [
@@ -505773,7 +504943,7 @@ function _temp356() {
505773
504943
  function _temp2102() {
505774
504944
  process.exit(0);
505775
504945
  }
505776
- var import_react332, jsx_dev_runtime495;
504946
+ var import_react328, jsx_dev_runtime490;
505777
504947
  var init_ResumeConversation = __esm(() => {
505778
504948
  init_useTerminalSize();
505779
504949
  init_state();
@@ -505795,8 +504965,8 @@ var init_ResumeConversation = __esm(() => {
505795
504965
  init_sessionRestore();
505796
504966
  init_sessionStorage();
505797
504967
  init_REPL();
505798
- import_react332 = __toESM(require_react(), 1);
505799
- jsx_dev_runtime495 = __toESM(require_jsx_dev_runtime(), 1);
504968
+ import_react328 = __toESM(require_react(), 1);
504969
+ jsx_dev_runtime490 = __toESM(require_jsx_dev_runtime(), 1);
505800
504970
  });
505801
504971
 
505802
504972
  // src/dialogLaunchers.tsx
@@ -505804,7 +504974,7 @@ async function launchInvalidSettingsDialog(root3, props) {
505804
504974
  const {
505805
504975
  InvalidSettingsDialog: InvalidSettingsDialog2
505806
504976
  } = await Promise.resolve().then(() => (init_InvalidSettingsDialog(), exports_InvalidSettingsDialog));
505807
- return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(InvalidSettingsDialog2, {
504977
+ return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(InvalidSettingsDialog2, {
505808
504978
  settingsErrors: props.settingsErrors,
505809
504979
  onContinue: done,
505810
504980
  onExit: props.onExit
@@ -505814,7 +504984,7 @@ async function launchTeleportResumeWrapper(root3) {
505814
504984
  const {
505815
504985
  TeleportResumeWrapper: TeleportResumeWrapper2
505816
504986
  } = await Promise.resolve().then(() => (init_TeleportResumeWrapper(), exports_TeleportResumeWrapper));
505817
- return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(TeleportResumeWrapper2, {
504987
+ return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(TeleportResumeWrapper2, {
505818
504988
  onComplete: done,
505819
504989
  onCancel: () => done(null),
505820
504990
  source: "cliArg"
@@ -505824,7 +504994,7 @@ async function launchTeleportRepoMismatchDialog(root3, props) {
505824
504994
  const {
505825
504995
  TeleportRepoMismatchDialog: TeleportRepoMismatchDialog2
505826
504996
  } = await Promise.resolve().then(() => (init_TeleportRepoMismatchDialog(), exports_TeleportRepoMismatchDialog));
505827
- return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(TeleportRepoMismatchDialog2, {
504997
+ return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(TeleportRepoMismatchDialog2, {
505828
504998
  targetRepo: props.targetRepo,
505829
504999
  initialPaths: props.initialPaths,
505830
505000
  onSelectPath: done,
@@ -505837,23 +505007,23 @@ async function launchResumeChooser(root3, appProps, worktreePathsPromise, resume
505837
505007
  }, {
505838
505008
  App: App3
505839
505009
  }] = await Promise.all([worktreePathsPromise, Promise.resolve().then(() => (init_ResumeConversation(), exports_ResumeConversation)), Promise.resolve().then(() => (init_App2(), exports_App))]);
505840
- await renderAndRun(root3, /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(App3, {
505010
+ await renderAndRun(root3, /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(App3, {
505841
505011
  getFpsMetrics: appProps.getFpsMetrics,
505842
505012
  stats: appProps.stats,
505843
505013
  initialState: appProps.initialState,
505844
- children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(KeybindingSetup, {
505845
- children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ResumeConversation2, {
505014
+ children: /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(KeybindingSetup, {
505015
+ children: /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(ResumeConversation2, {
505846
505016
  ...resumeProps,
505847
505017
  worktreePaths
505848
505018
  }, undefined, false, undefined, this)
505849
505019
  }, undefined, false, undefined, this)
505850
505020
  }, undefined, false, undefined, this));
505851
505021
  }
505852
- var jsx_dev_runtime496;
505022
+ var jsx_dev_runtime491;
505853
505023
  var init_dialogLaunchers = __esm(() => {
505854
505024
  init_interactiveHelpers();
505855
505025
  init_KeybindingProviderSetup();
505856
- jsx_dev_runtime496 = __toESM(require_jsx_dev_runtime(), 1);
505026
+ jsx_dev_runtime491 = __toESM(require_jsx_dev_runtime(), 1);
505857
505027
  });
505858
505028
 
505859
505029
  // src/plugins/bundled/index.ts
@@ -508754,7 +507924,7 @@ function appendToLog(path17, message) {
508754
507924
  cwd: getFsImplementation().cwd(),
508755
507925
  userType: process.env.USER_TYPE,
508756
507926
  sessionId: getSessionId(),
508757
- version: "1.1.12"
507927
+ version: "1.1.13"
508758
507928
  };
508759
507929
  getLogWriter(path17).write(messageWithTimestamp);
508760
507930
  }
@@ -512754,8 +511924,8 @@ async function getEnvLessBridgeConfig() {
512754
511924
  }
512755
511925
  async function checkEnvLessBridgeMinVersion() {
512756
511926
  const cfg = await getEnvLessBridgeConfig();
512757
- if (cfg.min_version && lt("1.1.12", cfg.min_version)) {
512758
- return `Your version of localclawd (${"1.1.12"}) is too old for Remote Control.
511927
+ if (cfg.min_version && lt("1.1.13", cfg.min_version)) {
511928
+ return `Your version of localclawd (${"1.1.13"}) is too old for Remote Control.
512759
511929
  Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
512760
511930
  }
512761
511931
  return null;
@@ -513227,7 +512397,7 @@ async function initBridgeCore(params) {
513227
512397
  const rawApi = createBridgeApiClient({
513228
512398
  baseUrl,
513229
512399
  getAccessToken,
513230
- runnerVersion: "1.1.12",
512400
+ runnerVersion: "1.1.13",
513231
512401
  onDebug: logForDebugging,
513232
512402
  onAuth401,
513233
512403
  getTrustedDeviceToken
@@ -518039,9 +517209,9 @@ function TeleportProgress(t0) {
518039
517209
  const t2 = SPINNER_FRAMES3[frame];
518040
517210
  let t3;
518041
517211
  if ($2[2] !== t2) {
518042
- t3 = /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
517212
+ t3 = /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
518043
517213
  marginBottom: 1,
518044
- children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedText, {
517214
+ children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
518045
517215
  bold: true,
518046
517216
  color: "claude",
518047
517217
  children: [
@@ -518057,9 +517227,9 @@ function TeleportProgress(t0) {
518057
517227
  }
518058
517228
  let t4;
518059
517229
  if ($2[4] !== sessionId) {
518060
- t4 = sessionId && /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
517230
+ t4 = sessionId && /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
518061
517231
  marginBottom: 1,
518062
- children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedText, {
517232
+ children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
518063
517233
  dimColor: true,
518064
517234
  children: sessionId
518065
517235
  }, undefined, false, undefined, this)
@@ -518089,18 +517259,18 @@ function TeleportProgress(t0) {
518089
517259
  color3 = undefined;
518090
517260
  }
518091
517261
  }
518092
- return /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
517262
+ return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
518093
517263
  flexDirection: "row",
518094
517264
  children: [
518095
- /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
517265
+ /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
518096
517266
  width: 2,
518097
- children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedText, {
517267
+ children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
518098
517268
  color: color3,
518099
517269
  dimColor: isPending,
518100
517270
  children: icon
518101
517271
  }, undefined, false, undefined, this)
518102
517272
  }, undefined, false, undefined, this),
518103
- /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedText, {
517273
+ /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
518104
517274
  dimColor: isPending,
518105
517275
  bold: isCurrent,
518106
517276
  children: step.label
@@ -518116,7 +517286,7 @@ function TeleportProgress(t0) {
518116
517286
  }
518117
517287
  let t6;
518118
517288
  if ($2[9] !== t5) {
518119
- t6 = /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
517289
+ t6 = /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
518120
517290
  flexDirection: "column",
518121
517291
  marginLeft: 2,
518122
517292
  children: t5
@@ -518128,7 +517298,7 @@ function TeleportProgress(t0) {
518128
517298
  }
518129
517299
  let t7;
518130
517300
  if ($2[11] !== ref || $2[12] !== t3 || $2[13] !== t4 || $2[14] !== t6) {
518131
- t7 = /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
517301
+ t7 = /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
518132
517302
  ref,
518133
517303
  flexDirection: "column",
518134
517304
  paddingX: 1,
@@ -518152,15 +517322,15 @@ function TeleportProgress(t0) {
518152
517322
  async function teleportWithProgress(root3, sessionId) {
518153
517323
  let setStep = () => {};
518154
517324
  function TeleportProgressWrapper() {
518155
- const [step, _setStep] = import_react333.useState("validating");
517325
+ const [step, _setStep] = import_react329.useState("validating");
518156
517326
  setStep = _setStep;
518157
- return /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(TeleportProgress, {
517327
+ return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(TeleportProgress, {
518158
517328
  currentStep: step,
518159
517329
  sessionId
518160
517330
  }, undefined, false, undefined, this);
518161
517331
  }
518162
- root3.render(/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(AppStateProvider, {
518163
- children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(TeleportProgressWrapper, {}, undefined, false, undefined, this)
517332
+ root3.render(/* @__PURE__ */ jsx_dev_runtime492.jsxDEV(AppStateProvider, {
517333
+ children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(TeleportProgressWrapper, {}, undefined, false, undefined, this)
518164
517334
  }, undefined, false, undefined, this));
518165
517335
  const result = await teleportResumeCodeSession(sessionId, setStep);
518166
517336
  setStep("checking_out");
@@ -518173,14 +517343,14 @@ async function teleportWithProgress(root3, sessionId) {
518173
517343
  branchName
518174
517344
  };
518175
517345
  }
518176
- var import_react333, jsx_dev_runtime497, SPINNER_FRAMES3, STEPS;
517346
+ var import_react329, jsx_dev_runtime492, SPINNER_FRAMES3, STEPS;
518177
517347
  var init_TeleportProgress = __esm(() => {
518178
517348
  init_figures2();
518179
517349
  init_ink2();
518180
517350
  init_AppState();
518181
517351
  init_teleport();
518182
- import_react333 = __toESM(require_react(), 1);
518183
- jsx_dev_runtime497 = __toESM(require_jsx_dev_runtime(), 1);
517352
+ import_react329 = __toESM(require_react(), 1);
517353
+ jsx_dev_runtime492 = __toESM(require_jsx_dev_runtime(), 1);
518184
517354
  SPINNER_FRAMES3 = ["◐", "◓", "◑", "◒"];
518185
517355
  STEPS = [{
518186
517356
  key: "validating",
@@ -518221,7 +517391,7 @@ function MCPServerDesktopImportDialog(t0) {
518221
517391
  } else {
518222
517392
  t2 = $2[2];
518223
517393
  }
518224
- const [existingServers, setExistingServers] = import_react334.useState(t2);
517394
+ const [existingServers, setExistingServers] = import_react330.useState(t2);
518225
517395
  let t3;
518226
517396
  let t4;
518227
517397
  if ($2[3] === Symbol.for("react.memo_cache_sentinel")) {
@@ -518240,7 +517410,7 @@ function MCPServerDesktopImportDialog(t0) {
518240
517410
  t3 = $2[3];
518241
517411
  t4 = $2[4];
518242
517412
  }
518243
- import_react334.useEffect(t3, t4);
517413
+ import_react330.useEffect(t3, t4);
518244
517414
  let t5;
518245
517415
  if ($2[5] !== existingServers || $2[6] !== serverNames) {
518246
517416
  t5 = serverNames.filter((name) => existingServers[name] !== undefined);
@@ -518316,7 +517486,7 @@ No servers were imported.`);
518316
517486
  const t10 = `Found ${t8} MCP ${t9} in Claude Desktop.`;
518317
517487
  let t11;
518318
517488
  if ($2[16] !== collisions.length) {
518319
- t11 = collisions.length > 0 && /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(ThemedText, {
517489
+ t11 = collisions.length > 0 && /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
518320
517490
  color: "warning",
518321
517491
  children: "Note: Some servers already exist with the same name. If selected, they will be imported with a numbered suffix."
518322
517492
  }, undefined, false, undefined, this);
@@ -518327,7 +517497,7 @@ No servers were imported.`);
518327
517497
  }
518328
517498
  let t12;
518329
517499
  if ($2[18] === Symbol.for("react.memo_cache_sentinel")) {
518330
- t12 = /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(ThemedText, {
517500
+ t12 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
518331
517501
  children: "Please select the servers you want to import:"
518332
517502
  }, undefined, false, undefined, this);
518333
517503
  $2[18] = t12;
@@ -518352,7 +517522,7 @@ No servers were imported.`);
518352
517522
  }
518353
517523
  let t15;
518354
517524
  if ($2[23] !== handleEscCancel || $2[24] !== onSubmit || $2[25] !== t13 || $2[26] !== t14) {
518355
- t15 = /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(SelectMulti, {
517525
+ t15 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(SelectMulti, {
518356
517526
  options: t13,
518357
517527
  defaultValue: t14,
518358
517528
  onSubmit,
@@ -518369,7 +517539,7 @@ No servers were imported.`);
518369
517539
  }
518370
517540
  let t16;
518371
517541
  if ($2[28] !== handleEscCancel || $2[29] !== t10 || $2[30] !== t11 || $2[31] !== t15) {
518372
- t16 = /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(Dialog, {
517542
+ t16 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(Dialog, {
518373
517543
  title: "Import MCP Servers from Claude Desktop",
518374
517544
  subtitle: t10,
518375
517545
  color: "success",
@@ -518391,22 +517561,22 @@ No servers were imported.`);
518391
517561
  }
518392
517562
  let t17;
518393
517563
  if ($2[33] === Symbol.for("react.memo_cache_sentinel")) {
518394
- t17 = /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(ThemedBox_default, {
517564
+ t17 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedBox_default, {
518395
517565
  paddingX: 1,
518396
- children: /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(ThemedText, {
517566
+ children: /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
518397
517567
  dimColor: true,
518398
517568
  italic: true,
518399
- children: /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(Byline, {
517569
+ children: /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(Byline, {
518400
517570
  children: [
518401
- /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(KeyboardShortcutHint, {
517571
+ /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(KeyboardShortcutHint, {
518402
517572
  shortcut: "Space",
518403
517573
  action: "select"
518404
517574
  }, undefined, false, undefined, this),
518405
- /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(KeyboardShortcutHint, {
517575
+ /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(KeyboardShortcutHint, {
518406
517576
  shortcut: "Enter",
518407
517577
  action: "confirm"
518408
517578
  }, undefined, false, undefined, this),
518409
- /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(ConfigurableShortcutHint, {
517579
+ /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ConfigurableShortcutHint, {
518410
517580
  action: "confirm:no",
518411
517581
  context: "Confirmation",
518412
517582
  fallback: "Esc",
@@ -518422,7 +517592,7 @@ No servers were imported.`);
518422
517592
  }
518423
517593
  let t18;
518424
517594
  if ($2[34] !== t16) {
518425
- t18 = /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(jsx_dev_runtime498.Fragment, {
517595
+ t18 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(jsx_dev_runtime493.Fragment, {
518426
517596
  children: [
518427
517597
  t16,
518428
517598
  t17
@@ -518435,7 +517605,7 @@ No servers were imported.`);
518435
517605
  }
518436
517606
  return t18;
518437
517607
  }
518438
- var import_react334, jsx_dev_runtime498;
517608
+ var import_react330, jsx_dev_runtime493;
518439
517609
  var init_MCPServerDesktopImportDialog = __esm(() => {
518440
517610
  init_gracefulShutdown();
518441
517611
  init_ink2();
@@ -518446,8 +517616,8 @@ var init_MCPServerDesktopImportDialog = __esm(() => {
518446
517616
  init_Byline();
518447
517617
  init_Dialog();
518448
517618
  init_KeyboardShortcutHint();
518449
- import_react334 = __toESM(require_react(), 1);
518450
- jsx_dev_runtime498 = __toESM(require_jsx_dev_runtime(), 1);
517619
+ import_react330 = __toESM(require_react(), 1);
517620
+ jsx_dev_runtime493 = __toESM(require_jsx_dev_runtime(), 1);
518451
517621
  });
518452
517622
 
518453
517623
  // node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js
@@ -518883,7 +518053,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
518883
518053
  setCwd(cwd3);
518884
518054
  const server = new Server({
518885
518055
  name: "claude/tengu",
518886
- version: "1.1.12"
518056
+ version: "1.1.13"
518887
518057
  }, {
518888
518058
  capabilities: {
518889
518059
  tools: {}
@@ -519371,9 +518541,9 @@ async function mcpAddFromDesktopHandler(options) {
519371
518541
  }
519372
518542
  const {
519373
518543
  unmount
519374
- } = await render(/* @__PURE__ */ jsx_dev_runtime499.jsxDEV(AppStateProvider, {
519375
- children: /* @__PURE__ */ jsx_dev_runtime499.jsxDEV(KeybindingSetup, {
519376
- children: /* @__PURE__ */ jsx_dev_runtime499.jsxDEV(MCPServerDesktopImportDialog, {
518544
+ } = await render(/* @__PURE__ */ jsx_dev_runtime494.jsxDEV(AppStateProvider, {
518545
+ children: /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(KeybindingSetup, {
518546
+ children: /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(MCPServerDesktopImportDialog, {
519377
518547
  servers,
519378
518548
  scope,
519379
518549
  onDone: () => {
@@ -519399,7 +518569,7 @@ async function mcpResetChoicesHandler() {
519399
518569
  cliOk(`All project-scoped (.mcp.json) server approvals and rejections have been reset.
519400
518570
  You will be prompted for approval next time you start localclawd.`);
519401
518571
  }
519402
- var jsx_dev_runtime499;
518572
+ var jsx_dev_runtime494;
519403
518573
  var init_mcp5 = __esm(() => {
519404
518574
  init_p_map();
519405
518575
  init_MCPServerDesktopImportDialog();
@@ -519415,7 +518585,7 @@ var init_mcp5 = __esm(() => {
519415
518585
  init_gracefulShutdown();
519416
518586
  init_json();
519417
518587
  init_platform();
519418
- jsx_dev_runtime499 = __toESM(require_jsx_dev_runtime(), 1);
518588
+ jsx_dev_runtime494 = __toESM(require_jsx_dev_runtime(), 1);
519419
518589
  });
519420
518590
 
519421
518591
  // src/cli/handlers/plugins.ts
@@ -519942,6 +519112,51 @@ var init_plugins = __esm(() => {
519942
519112
  init_stringUtils();
519943
519113
  });
519944
519114
 
519115
+ // src/components/LogoV2/WelcomeV2.tsx
519116
+ function WelcomeV2() {
519117
+ const [theme2] = useTheme();
519118
+ const isLightTheme = ["light", "light-daltonized", "light-ansi"].includes(theme2);
519119
+ const accentColor = isLightTheme ? "blue" : "#6366f1";
519120
+ return /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
519121
+ width: WELCOME_V2_WIDTH,
519122
+ flexDirection: "column",
519123
+ gap: 0,
519124
+ children: [
519125
+ /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
519126
+ gap: 1,
519127
+ children: [
519128
+ /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
519129
+ bold: true,
519130
+ color: accentColor,
519131
+ children: "localclawd"
519132
+ }, undefined, false, undefined, this),
519133
+ /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
519134
+ dimColor: true,
519135
+ children: [
519136
+ "v",
519137
+ "1.1.13"
519138
+ ]
519139
+ }, undefined, true, undefined, this)
519140
+ ]
519141
+ }, undefined, true, undefined, this),
519142
+ /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
519143
+ dimColor: true,
519144
+ children: "─".repeat(48)
519145
+ }, undefined, false, undefined, this),
519146
+ /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
519147
+ marginTop: 1,
519148
+ children: /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(Clawd, {}, undefined, false, undefined, this)
519149
+ }, undefined, false, undefined, this)
519150
+ ]
519151
+ }, undefined, true, undefined, this);
519152
+ }
519153
+ var jsx_dev_runtime495, WELCOME_V2_WIDTH = 58;
519154
+ var init_WelcomeV2 = __esm(() => {
519155
+ init_ink2();
519156
+ init_Clawd();
519157
+ jsx_dev_runtime495 = __toESM(require_jsx_dev_runtime(), 1);
519158
+ });
519159
+
519945
519160
  // src/commands/install.tsx
519946
519161
  var exports_install = {};
519947
519162
  __export(exports_install, {
@@ -519968,11 +519183,11 @@ function SetupNotes(t0) {
519968
519183
  }
519969
519184
  let t1;
519970
519185
  if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
519971
- t1 = /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519972
- children: /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519186
+ t1 = /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
519187
+ children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
519973
519188
  color: "warning",
519974
519189
  children: [
519975
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(StatusIcon, {
519190
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(StatusIcon, {
519976
519191
  status: "warning",
519977
519192
  withSpace: true
519978
519193
  }, undefined, false, undefined, this),
@@ -519994,7 +519209,7 @@ function SetupNotes(t0) {
519994
519209
  }
519995
519210
  let t3;
519996
519211
  if ($2[3] !== t2) {
519997
- t3 = /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519212
+ t3 = /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
519998
519213
  flexDirection: "column",
519999
519214
  gap: 0,
520000
519215
  marginBottom: 1,
@@ -520011,9 +519226,9 @@ function SetupNotes(t0) {
520011
519226
  return t3;
520012
519227
  }
520013
519228
  function _temp307(message, index) {
520014
- return /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519229
+ return /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520015
519230
  marginLeft: 2,
520016
- children: /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519231
+ children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520017
519232
  dimColor: true,
520018
519233
  children: [
520019
519234
  "• ",
@@ -520027,10 +519242,10 @@ function Install({
520027
519242
  force,
520028
519243
  target
520029
519244
  }) {
520030
- const [state2, setState] = import_react335.useState({
519245
+ const [state2, setState] = import_react331.useState({
520031
519246
  type: "checking"
520032
519247
  });
520033
- import_react335.useEffect(() => {
519248
+ import_react331.useEffect(() => {
520034
519249
  async function run() {
520035
519250
  try {
520036
519251
  logForDebugging(`Install: Starting installation process (force=${force}, target=${target})`);
@@ -520118,7 +519333,7 @@ function Install({
520118
519333
  }
520119
519334
  run();
520120
519335
  }, [force, target]);
520121
- import_react335.useEffect(() => {
519336
+ import_react331.useEffect(() => {
520122
519337
  if (state2.type === "success") {
520123
519338
  setTimeout(onDone, 2000, "localclawd installation completed successfully", {
520124
519339
  display: "system"
@@ -520129,19 +519344,19 @@ function Install({
520129
519344
  });
520130
519345
  }
520131
519346
  }, [state2, onDone]);
520132
- return /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519347
+ return /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520133
519348
  flexDirection: "column",
520134
519349
  marginTop: 1,
520135
519350
  children: [
520136
- state2.type === "checking" && /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519351
+ state2.type === "checking" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520137
519352
  color: "claude",
520138
519353
  children: "Checking installation status..."
520139
519354
  }, undefined, false, undefined, this),
520140
- state2.type === "cleaning-npm" && /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519355
+ state2.type === "cleaning-npm" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520141
519356
  color: "warning",
520142
519357
  children: "Cleaning up old npm installations..."
520143
519358
  }, undefined, false, undefined, this),
520144
- state2.type === "installing" && /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519359
+ state2.type === "installing" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520145
519360
  color: "claude",
520146
519361
  children: [
520147
519362
  "Installing localclawd native build ",
@@ -520149,54 +519364,54 @@ function Install({
520149
519364
  "..."
520150
519365
  ]
520151
519366
  }, undefined, true, undefined, this),
520152
- state2.type === "setting-up" && /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519367
+ state2.type === "setting-up" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520153
519368
  color: "claude",
520154
519369
  children: "Setting up launcher and shell integration..."
520155
519370
  }, undefined, false, undefined, this),
520156
- state2.type === "set-up" && /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(SetupNotes, {
519371
+ state2.type === "set-up" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(SetupNotes, {
520157
519372
  messages: state2.messages
520158
519373
  }, undefined, false, undefined, this),
520159
- state2.type === "success" && /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519374
+ state2.type === "success" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520160
519375
  flexDirection: "column",
520161
519376
  gap: 1,
520162
519377
  children: [
520163
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519378
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520164
519379
  children: [
520165
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(StatusIcon, {
519380
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(StatusIcon, {
520166
519381
  status: "success",
520167
519382
  withSpace: true
520168
519383
  }, undefined, false, undefined, this),
520169
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519384
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520170
519385
  color: "success",
520171
519386
  bold: true,
520172
519387
  children: "localclawd successfully installed!"
520173
519388
  }, undefined, false, undefined, this)
520174
519389
  ]
520175
519390
  }, undefined, true, undefined, this),
520176
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519391
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520177
519392
  marginLeft: 2,
520178
519393
  flexDirection: "column",
520179
519394
  gap: 1,
520180
519395
  children: [
520181
- state2.version !== "current" && /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519396
+ state2.version !== "current" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520182
519397
  children: [
520183
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519398
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520184
519399
  dimColor: true,
520185
519400
  children: "Version: "
520186
519401
  }, undefined, false, undefined, this),
520187
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519402
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520188
519403
  color: "claude",
520189
519404
  children: state2.version
520190
519405
  }, undefined, false, undefined, this)
520191
519406
  ]
520192
519407
  }, undefined, true, undefined, this),
520193
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519408
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520194
519409
  children: [
520195
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519410
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520196
519411
  dimColor: true,
520197
519412
  children: "Location: "
520198
519413
  }, undefined, false, undefined, this),
520199
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519414
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520200
519415
  color: "text",
520201
519416
  children: getInstallationPath2()
520202
519417
  }, undefined, false, undefined, this)
@@ -520204,57 +519419,57 @@ function Install({
520204
519419
  }, undefined, true, undefined, this)
520205
519420
  ]
520206
519421
  }, undefined, true, undefined, this),
520207
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519422
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520208
519423
  marginLeft: 2,
520209
519424
  flexDirection: "column",
520210
519425
  gap: 1,
520211
- children: /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519426
+ children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520212
519427
  marginTop: 1,
520213
519428
  children: [
520214
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519429
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520215
519430
  dimColor: true,
520216
519431
  children: "Next: Run "
520217
519432
  }, undefined, false, undefined, this),
520218
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519433
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520219
519434
  color: "claude",
520220
519435
  bold: true,
520221
519436
  children: "localclawd --help"
520222
519437
  }, undefined, false, undefined, this),
520223
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519438
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520224
519439
  dimColor: true,
520225
519440
  children: " to get started"
520226
519441
  }, undefined, false, undefined, this)
520227
519442
  ]
520228
519443
  }, undefined, true, undefined, this)
520229
519444
  }, undefined, false, undefined, this),
520230
- state2.setupMessages && /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(SetupNotes, {
519445
+ state2.setupMessages && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(SetupNotes, {
520231
519446
  messages: state2.setupMessages
520232
519447
  }, undefined, false, undefined, this)
520233
519448
  ]
520234
519449
  }, undefined, true, undefined, this),
520235
- state2.type === "error" && /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519450
+ state2.type === "error" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520236
519451
  flexDirection: "column",
520237
519452
  gap: 1,
520238
519453
  children: [
520239
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519454
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520240
519455
  children: [
520241
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(StatusIcon, {
519456
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(StatusIcon, {
520242
519457
  status: "error",
520243
519458
  withSpace: true
520244
519459
  }, undefined, false, undefined, this),
520245
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519460
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520246
519461
  color: "error",
520247
519462
  children: "Installation failed"
520248
519463
  }, undefined, false, undefined, this)
520249
519464
  ]
520250
519465
  }, undefined, true, undefined, this),
520251
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519466
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520252
519467
  color: "error",
520253
519468
  children: state2.message
520254
519469
  }, undefined, false, undefined, this),
520255
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519470
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520256
519471
  marginTop: 1,
520257
- children: /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519472
+ children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520258
519473
  dimColor: true,
520259
519474
  children: "Try running with --force to override checks"
520260
519475
  }, undefined, false, undefined, this)
@@ -520264,7 +519479,7 @@ function Install({
520264
519479
  ]
520265
519480
  }, undefined, true, undefined, this);
520266
519481
  }
520267
- var import_react335, jsx_dev_runtime500, install;
519482
+ var import_react331, jsx_dev_runtime496, install;
520268
519483
  var init_install = __esm(() => {
520269
519484
  init_StatusIcon();
520270
519485
  init_ink2();
@@ -520273,8 +519488,8 @@ var init_install = __esm(() => {
520273
519488
  init_errors();
520274
519489
  init_nativeInstaller();
520275
519490
  init_settings2();
520276
- import_react335 = __toESM(require_react(), 1);
520277
- jsx_dev_runtime500 = __toESM(require_jsx_dev_runtime(), 1);
519491
+ import_react331 = __toESM(require_react(), 1);
519492
+ jsx_dev_runtime496 = __toESM(require_jsx_dev_runtime(), 1);
520278
519493
  install = {
520279
519494
  type: "local-jsx",
520280
519495
  name: "install",
@@ -520286,7 +519501,7 @@ var init_install = __esm(() => {
520286
519501
  const target = nonFlagArgs[0];
520287
519502
  const {
520288
519503
  unmount
520289
- } = await render(/* @__PURE__ */ jsx_dev_runtime500.jsxDEV(Install, {
519504
+ } = await render(/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(Install, {
520290
519505
  onDone: (result, options) => {
520291
519506
  unmount();
520292
519507
  onDone(result, options);
@@ -520313,28 +519528,28 @@ async function setupTokenHandler(root3) {
520313
519528
  ConsoleOAuthFlow: ConsoleOAuthFlow2
520314
519529
  } = await Promise.resolve().then(() => (init_ConsoleOAuthFlow(), exports_ConsoleOAuthFlow));
520315
519530
  await new Promise((resolve40) => {
520316
- root3.render(/* @__PURE__ */ jsx_dev_runtime501.jsxDEV(AppStateProvider, {
519531
+ root3.render(/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(AppStateProvider, {
520317
519532
  onChangeAppState,
520318
- children: /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(KeybindingSetup, {
520319
- children: /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(ThemedBox_default, {
519533
+ children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(KeybindingSetup, {
519534
+ children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
520320
519535
  flexDirection: "column",
520321
519536
  gap: 1,
520322
519537
  children: [
520323
- /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(WelcomeV2, {}, undefined, false, undefined, this),
520324
- showAuthWarning && /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(ThemedBox_default, {
519538
+ /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(WelcomeV2, {}, undefined, false, undefined, this),
519539
+ showAuthWarning && /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
520325
519540
  flexDirection: "column",
520326
519541
  children: [
520327
- /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(ThemedText, {
519542
+ /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedText, {
520328
519543
  color: "warning",
520329
519544
  children: "Warning: You already have authentication configured via environment variable or API key helper."
520330
519545
  }, undefined, false, undefined, this),
520331
- /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(ThemedText, {
519546
+ /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedText, {
520332
519547
  color: "warning",
520333
519548
  children: "The setup-token command will create a new OAuth token which you can use instead."
520334
519549
  }, undefined, false, undefined, this)
520335
519550
  ]
520336
519551
  }, undefined, true, undefined, this),
520337
- /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(ConsoleOAuthFlow2, {
519552
+ /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ConsoleOAuthFlow2, {
520338
519553
  onDone: () => {
520339
519554
  resolve40();
520340
519555
  },
@@ -520357,9 +519572,9 @@ function DoctorWithPlugins(t0) {
520357
519572
  useManagePlugins();
520358
519573
  let t1;
520359
519574
  if ($2[0] !== onDone) {
520360
- t1 = /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(import_react336.default.Suspense, {
519575
+ t1 = /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(import_react332.default.Suspense, {
520361
519576
  fallback: null,
520362
- children: /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(DoctorLazy, {
519577
+ children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(DoctorLazy, {
520363
519578
  onDone
520364
519579
  }, undefined, false, undefined, this)
520365
519580
  }, undefined, false, undefined, this);
@@ -520373,12 +519588,12 @@ function DoctorWithPlugins(t0) {
520373
519588
  async function doctorHandler(root3) {
520374
519589
  logEvent("tengu_doctor_command", {});
520375
519590
  await new Promise((resolve40) => {
520376
- root3.render(/* @__PURE__ */ jsx_dev_runtime501.jsxDEV(AppStateProvider, {
520377
- children: /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(KeybindingSetup, {
520378
- children: /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(MCPConnectionManager, {
519591
+ root3.render(/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(AppStateProvider, {
519592
+ children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(KeybindingSetup, {
519593
+ children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(MCPConnectionManager, {
520379
519594
  dynamicMcpConfig: undefined,
520380
519595
  isStrictMcpConfig: false,
520381
- children: /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(DoctorWithPlugins, {
519596
+ children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(DoctorWithPlugins, {
520382
519597
  onDone: () => {
520383
519598
  resolve40();
520384
519599
  }
@@ -520410,7 +519625,7 @@ async function installHandler(target, options) {
520410
519625
  }, {}, args);
520411
519626
  });
520412
519627
  }
520413
- var import_react336, jsx_dev_runtime501, DoctorLazy;
519628
+ var import_react332, jsx_dev_runtime497, DoctorLazy;
520414
519629
  var init_util = __esm(() => {
520415
519630
  init_WelcomeV2();
520416
519631
  init_useManagePlugins();
@@ -520420,9 +519635,9 @@ var init_util = __esm(() => {
520420
519635
  init_AppState();
520421
519636
  init_onChangeAppState();
520422
519637
  init_auth2();
520423
- import_react336 = __toESM(require_react(), 1);
520424
- jsx_dev_runtime501 = __toESM(require_jsx_dev_runtime(), 1);
520425
- DoctorLazy = import_react336.default.lazy(() => Promise.resolve().then(() => (init_Doctor(), exports_Doctor)).then((m2) => ({
519638
+ import_react332 = __toESM(require_react(), 1);
519639
+ jsx_dev_runtime497 = __toESM(require_jsx_dev_runtime(), 1);
519640
+ DoctorLazy = import_react332.default.lazy(() => Promise.resolve().then(() => (init_Doctor(), exports_Doctor)).then((m2) => ({
520426
519641
  default: m2.Doctor
520427
519642
  })));
520428
519643
  });
@@ -520488,7 +519703,7 @@ __export(exports_update, {
520488
519703
  });
520489
519704
  async function update() {
520490
519705
  logEvent("tengu_update_check", {});
520491
- writeToStdout(`Current version: ${"1.1.12"}
519706
+ writeToStdout(`Current version: ${"1.1.13"}
520492
519707
  `);
520493
519708
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
520494
519709
  writeToStdout(`Checking for updates to ${channel} version...
@@ -520563,8 +519778,8 @@ async function update() {
520563
519778
  writeToStdout(`localclawd is managed by Homebrew.
520564
519779
  `);
520565
519780
  const latest = await getLatestVersion(channel);
520566
- if (latest && !gte("1.1.12", latest)) {
520567
- writeToStdout(`Update available: ${"1.1.12"} → ${latest}
519781
+ if (latest && !gte("1.1.13", latest)) {
519782
+ writeToStdout(`Update available: ${"1.1.13"} → ${latest}
520568
519783
  `);
520569
519784
  writeToStdout(`
520570
519785
  `);
@@ -520580,8 +519795,8 @@ async function update() {
520580
519795
  writeToStdout(`localclawd is managed by winget.
520581
519796
  `);
520582
519797
  const latest = await getLatestVersion(channel);
520583
- if (latest && !gte("1.1.12", latest)) {
520584
- writeToStdout(`Update available: ${"1.1.12"} → ${latest}
519798
+ if (latest && !gte("1.1.13", latest)) {
519799
+ writeToStdout(`Update available: ${"1.1.13"} → ${latest}
520585
519800
  `);
520586
519801
  writeToStdout(`
520587
519802
  `);
@@ -520595,8 +519810,8 @@ async function update() {
520595
519810
  writeToStdout(`localclawd is managed by apk.
520596
519811
  `);
520597
519812
  const latest = await getLatestVersion(channel);
520598
- if (latest && !gte("1.1.12", latest)) {
520599
- writeToStdout(`Update available: ${"1.1.12"} → ${latest}
519813
+ if (latest && !gte("1.1.13", latest)) {
519814
+ writeToStdout(`Update available: ${"1.1.13"} → ${latest}
520600
519815
  `);
520601
519816
  writeToStdout(`
520602
519817
  `);
@@ -520661,11 +519876,11 @@ async function update() {
520661
519876
  `);
520662
519877
  await gracefulShutdown(1);
520663
519878
  }
520664
- if (result.latestVersion === "1.1.12") {
520665
- writeToStdout(source_default.green(`localclawd is up to date (${"1.1.12"})`) + `
519879
+ if (result.latestVersion === "1.1.13") {
519880
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.1.13"})`) + `
520666
519881
  `);
520667
519882
  } else {
520668
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.12"} to version ${result.latestVersion}`) + `
519883
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.13"} to version ${result.latestVersion}`) + `
520669
519884
  `);
520670
519885
  await regenerateCompletionCache();
520671
519886
  }
@@ -520725,12 +519940,12 @@ async function update() {
520725
519940
  `);
520726
519941
  await gracefulShutdown(1);
520727
519942
  }
520728
- if (latestVersion === "1.1.12") {
520729
- writeToStdout(source_default.green(`localclawd is up to date (${"1.1.12"})`) + `
519943
+ if (latestVersion === "1.1.13") {
519944
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.1.13"})`) + `
520730
519945
  `);
520731
519946
  await gracefulShutdown(0);
520732
519947
  }
520733
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.12"})
519948
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.13"})
520734
519949
  `);
520735
519950
  writeToStdout(`Installing update...
520736
519951
  `);
@@ -520775,7 +519990,7 @@ async function update() {
520775
519990
  logForDebugging(`update: Installation status: ${status2}`);
520776
519991
  switch (status2) {
520777
519992
  case "success":
520778
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.12"} to version ${latestVersion}`) + `
519993
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.13"} to version ${latestVersion}`) + `
520779
519994
  `);
520780
519995
  await regenerateCompletionCache();
520781
519996
  break;
@@ -522040,7 +521255,7 @@ ${customInstructions}` : customInstructions;
522040
521255
  }
522041
521256
  }
522042
521257
  logForDiagnosticsNoPII("info", "started", {
522043
- version: "1.1.12",
521258
+ version: "1.1.13",
522044
521259
  is_native_binary: isInBundledMode()
522045
521260
  });
522046
521261
  registerCleanup(async () => {
@@ -522824,7 +522039,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
522824
522039
  pendingHookMessages
522825
522040
  }, renderAndRun);
522826
522041
  }
522827
- }).version("1.1.12 (localClawd)", "-v, --version", "Output the version number");
522042
+ }).version("1.1.13 (localClawd)", "-v, --version", "Output the version number");
522828
522043
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
522829
522044
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
522830
522045
  if (canUserConfigureAdvisor()) {
@@ -523332,7 +522547,7 @@ if (false) {}
523332
522547
  async function main2() {
523333
522548
  const args = process.argv.slice(2);
523334
522549
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
523335
- console.log(`${"1.1.12"} (localclawd)`);
522550
+ console.log(`${"1.1.13"} (localclawd)`);
523336
522551
  return;
523337
522552
  }
523338
522553
  const {
@@ -523416,4 +522631,4 @@ async function main2() {
523416
522631
  }
523417
522632
  main2();
523418
522633
 
523419
- //# debugId=3315EDB7491D062464756E2164756E21
522634
+ //# debugId=DADB345C47F11DBA64756E2164756E21