localclawd 1.1.11 → 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 +443 -1172
  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.11"}`;
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.11"} (${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.11"}${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.11"}.${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.11".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.11",
132762
+ version: "1.1.13",
132789
132763
  versionBase: getVersionBase(),
132790
- buildTime: "2026-04-07T15:28:04.082Z",
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.11";
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.11";
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.11",
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.11",
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.11",
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.11");
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.11"
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.11");
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.11");
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.11");
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.11" : "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.11", maxVersion)) {
262240
- logForDebugging(`Native installer: current version ${"1.1.11"} 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.11" && 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-07T15:28:04.082Z").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.11",
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.11"
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.11"}
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.11"
361922
+ value: "1.1.13"
361949
361923
  }, {
361950
361924
  label: "Session name",
361951
361925
  value: nameValue
@@ -363508,15 +363482,14 @@ 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
363485
  function SimpleMenu({ items, isActive, onSelect, onCancel }) {
363516
363486
  const VISIBLE = Math.min(7, items.length);
363517
363487
  const [focusIdx, setFocusIdx] = import_react100.useState(0);
363518
363488
  const [fromIdx, setFromIdx] = import_react100.useState(0);
363489
+ const doneRef = import_react100.useRef(false);
363519
363490
  use_input_default((input, key) => {
363491
+ if (!isActive || doneRef.current)
363492
+ return;
363520
363493
  if (key.upArrow) {
363521
363494
  setFocusIdx((prev) => {
363522
363495
  const next = Math.max(0, prev - 1);
@@ -363533,8 +363506,10 @@ function SimpleMenu({ items, isActive, onSelect, onCancel }) {
363533
363506
  });
363534
363507
  } else if (key.return) {
363535
363508
  const item = items[focusIdx];
363536
- if (item)
363509
+ if (item) {
363510
+ doneRef.current = true;
363537
363511
  onSelect(item.value);
363512
+ }
363538
363513
  } else if (key.escape || key.ctrl && input === "c") {
363539
363514
  onCancel?.();
363540
363515
  }
@@ -363619,28 +363594,37 @@ function LocalBackendSetup({
363619
363594
  const networkAbortRef = import_react100.useRef(null);
363620
363595
  const modelScanAbortRef = import_react100.useRef(null);
363621
363596
  const discoveredSnapshotRef = import_react100.useRef([]);
363597
+ const scanStepDoneRef = import_react100.useRef(false);
363622
363598
  import_react100.useEffect(() => {
363623
363599
  return () => {
363624
363600
  networkAbortRef.current?.abort();
363625
363601
  modelScanAbortRef.current?.abort();
363626
363602
  };
363627
363603
  }, []);
363604
+ import_react100.useEffect(() => {
363605
+ scanStepDoneRef.current = false;
363606
+ }, [step]);
363628
363607
  import_react100.useEffect(() => {
363629
363608
  const nextValue = step === "baseUrl" ? baseUrl : step === "model" ? model : apiKey;
363630
363609
  setCursorOffset(nextValue.length);
363631
363610
  }, [step, baseUrl, model, apiKey]);
363632
363611
  use_input_default((_input, key) => {
363612
+ if (scanStepDoneRef.current)
363613
+ return;
363633
363614
  if (step === "networkScan") {
363634
363615
  if (key.escape || key.return) {
363616
+ scanStepDoneRef.current = true;
363635
363617
  networkAbortRef.current?.abort();
363636
363618
  setDiscoveredEndpoints(discoveredSnapshotRef.current);
363637
363619
  setStep("selectEndpoint");
363638
363620
  }
363639
363621
  } else if (step === "scanningModels") {
363640
363622
  if (key.escape) {
363623
+ scanStepDoneRef.current = true;
363641
363624
  modelScanAbortRef.current?.abort();
363642
363625
  goBack();
363643
363626
  } else if (key.return) {
363627
+ scanStepDoneRef.current = true;
363644
363628
  modelScanAbortRef.current?.abort();
363645
363629
  setScanError("Model scan skipped. Enter the model name manually.");
363646
363630
  setAvailableModels([]);
@@ -366553,7 +366537,7 @@ function Config({
366553
366537
  }
366554
366538
  }, undefined, false, undefined, this)
366555
366539
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
366556
- currentVersion: "1.1.11",
366540
+ currentVersion: "1.1.13",
366557
366541
  onChoice: (choice) => {
366558
366542
  setShowSubmenu(null);
366559
366543
  setTabsHidden(false);
@@ -366565,7 +366549,7 @@ function Config({
366565
366549
  autoUpdatesChannel: "stable"
366566
366550
  };
366567
366551
  if (choice === "stay") {
366568
- newSettings.minimumVersion = "1.1.11";
366552
+ newSettings.minimumVersion = "1.1.13";
366569
366553
  }
366570
366554
  updateSettingsForSource("userSettings", newSettings);
366571
366555
  setSettingsData((prev_27) => ({
@@ -376298,7 +376282,7 @@ function HelpV2(t0) {
376298
376282
  let t6;
376299
376283
  if ($2[31] !== tabs) {
376300
376284
  t6 = /* @__PURE__ */ jsx_dev_runtime214.jsxDEV(Tabs, {
376301
- title: `localclawd v${"1.1.11"}`,
376285
+ title: `localclawd v${"1.1.13"}`,
376302
376286
  color: "professionalBlue",
376303
376287
  defaultTab: "general",
376304
376288
  children: tabs
@@ -400456,7 +400440,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
400456
400440
  return [];
400457
400441
  }
400458
400442
  }
400459
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.11") {
400443
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.13") {
400460
400444
  if (process.env.USER_TYPE === "ant") {
400461
400445
  const changelog = MACRO.VERSION_CHANGELOG;
400462
400446
  if (changelog) {
@@ -400483,7 +400467,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.11")
400483
400467
  releaseNotes
400484
400468
  };
400485
400469
  }
400486
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.11") {
400470
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.13") {
400487
400471
  if (process.env.USER_TYPE === "ant") {
400488
400472
  const changelog = MACRO.VERSION_CHANGELOG;
400489
400473
  if (changelog) {
@@ -401650,7 +401634,7 @@ function getRecentActivitySync() {
401650
401634
  return cachedActivity;
401651
401635
  }
401652
401636
  function getLogoDisplayData() {
401653
- const version = process.env.DEMO_VERSION ?? "1.1.11";
401637
+ const version = process.env.DEMO_VERSION ?? "1.1.13";
401654
401638
  const serverUrl = getDirectConnectServerUrl();
401655
401639
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
401656
401640
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -402924,7 +402908,7 @@ function LogoV2() {
402924
402908
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
402925
402909
  t2 = () => {
402926
402910
  const currentConfig = getGlobalConfig();
402927
- if (currentConfig.lastReleaseNotesSeen === "1.1.11") {
402911
+ if (currentConfig.lastReleaseNotesSeen === "1.1.13") {
402928
402912
  return;
402929
402913
  }
402930
402914
  saveGlobalConfig(_temp327);
@@ -403600,12 +403584,12 @@ function LogoV2() {
403600
403584
  return t41;
403601
403585
  }
403602
403586
  function _temp327(current) {
403603
- if (current.lastReleaseNotesSeen === "1.1.11") {
403587
+ if (current.lastReleaseNotesSeen === "1.1.13") {
403604
403588
  return current;
403605
403589
  }
403606
403590
  return {
403607
403591
  ...current,
403608
- lastReleaseNotesSeen: "1.1.11"
403592
+ lastReleaseNotesSeen: "1.1.13"
403609
403593
  };
403610
403594
  }
403611
403595
  function _temp245(s_0) {
@@ -429807,7 +429791,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
429807
429791
  smapsRollup,
429808
429792
  platform: process.platform,
429809
429793
  nodeVersion: process.version,
429810
- ccVersion: "1.1.11"
429794
+ ccVersion: "1.1.13"
429811
429795
  };
429812
429796
  }
429813
429797
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -430392,7 +430376,7 @@ var init_bridge_kick = __esm(() => {
430392
430376
  var call64 = async () => {
430393
430377
  return {
430394
430378
  type: "text",
430395
- value: `${"1.1.11"} (built ${"2026-04-07T15:28:04.082Z"})`
430379
+ value: `${"1.1.13"} (built ${"2026-04-07T18:09:59.417Z"})`
430396
430380
  };
430397
430381
  }, version, version_default;
430398
430382
  var init_version = __esm(() => {
@@ -439330,7 +439314,7 @@ function generateHtmlReport(data, insights) {
439330
439314
  </html>`;
439331
439315
  }
439332
439316
  function buildExportData(data, insights, facets, remoteStats) {
439333
- const version2 = typeof MACRO !== "undefined" ? "1.1.11" : "unknown";
439317
+ const version2 = typeof MACRO !== "undefined" ? "1.1.13" : "unknown";
439334
439318
  const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
439335
439319
  const facets_summary = {
439336
439320
  total: facets.size,
@@ -443497,7 +443481,7 @@ var init_sessionStorage = __esm(() => {
443497
443481
  init_settings2();
443498
443482
  init_slowOperations();
443499
443483
  init_uuid();
443500
- VERSION6 = typeof MACRO !== "undefined" ? "1.1.11" : "unknown";
443484
+ VERSION6 = typeof MACRO !== "undefined" ? "1.1.13" : "unknown";
443501
443485
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
443502
443486
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
443503
443487
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -444699,7 +444683,7 @@ var init_filesystem = __esm(() => {
444699
444683
  });
444700
444684
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
444701
444685
  const nonce = randomBytes19(16).toString("hex");
444702
- return join130(getClaudeTempDir(), "bundled-skills", "1.1.11", nonce);
444686
+ return join130(getClaudeTempDir(), "bundled-skills", "1.1.13", nonce);
444703
444687
  });
444704
444688
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
444705
444689
  });
@@ -450698,7 +450682,7 @@ function computeFingerprint(messageText, version2) {
450698
450682
  }
450699
450683
  function computeFingerprintFromMessages(messages) {
450700
450684
  const firstMessageText = extractFirstMessageText(messages);
450701
- return computeFingerprint(firstMessageText, "1.1.11");
450685
+ return computeFingerprint(firstMessageText, "1.1.13");
450702
450686
  }
450703
450687
  var FINGERPRINT_SALT = "59cf53e54c78";
450704
450688
  var init_fingerprint = () => {};
@@ -452553,7 +452537,7 @@ async function sideQuery(opts) {
452553
452537
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
452554
452538
  }
452555
452539
  const messageText = extractFirstUserMessageText(messages);
452556
- const fingerprint = computeFingerprint(messageText, "1.1.11");
452540
+ const fingerprint = computeFingerprint(messageText, "1.1.13");
452557
452541
  const attributionHeader = getAttributionHeader(fingerprint);
452558
452542
  const systemBlocks = [
452559
452543
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -457351,7 +457335,7 @@ function buildSystemInitMessage(inputs) {
457351
457335
  slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
457352
457336
  apiKeySource: getAnthropicApiKeyWithSource().source,
457353
457337
  betas: getSdkBetas(),
457354
- claude_code_version: "1.1.11",
457338
+ claude_code_version: "1.1.13",
457355
457339
  output_style: outputStyle2,
457356
457340
  agents: inputs.agents.map((agent) => agent.agentType),
457357
457341
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -471930,7 +471914,7 @@ var init_useVoiceEnabled = __esm(() => {
471930
471914
  function getSemverPart(version2) {
471931
471915
  return `${import_semver12.major(version2, { loose: true })}.${import_semver12.minor(version2, { loose: true })}.${import_semver12.patch(version2, { loose: true })}`;
471932
471916
  }
471933
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.11") {
471917
+ function useUpdateNotification(updatedVersion, initialVersion = "1.1.13") {
471934
471918
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
471935
471919
  if (!updatedVersion) {
471936
471920
  return null;
@@ -471970,7 +471954,7 @@ function AutoUpdater({
471970
471954
  return;
471971
471955
  }
471972
471956
  if (false) {}
471973
- const currentVersion = "1.1.11";
471957
+ const currentVersion = "1.1.13";
471974
471958
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
471975
471959
  let latestVersion = await getLatestVersion(channel);
471976
471960
  const isDisabled = isAutoUpdaterDisabled();
@@ -472181,12 +472165,12 @@ function NativeAutoUpdater({
472181
472165
  logEvent("tengu_native_auto_updater_start", {});
472182
472166
  try {
472183
472167
  const maxVersion = await getMaxVersion();
472184
- if (maxVersion && gt("1.1.11", maxVersion)) {
472168
+ if (maxVersion && gt("1.1.13", maxVersion)) {
472185
472169
  const msg = await getMaxVersionMessage();
472186
472170
  setMaxVersionIssue(msg ?? "affects your version");
472187
472171
  }
472188
472172
  const result = await installLatest(channel);
472189
- const currentVersion = "1.1.11";
472173
+ const currentVersion = "1.1.13";
472190
472174
  const latencyMs = Date.now() - startTime;
472191
472175
  if (result.lockFailed) {
472192
472176
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -472321,17 +472305,17 @@ function PackageManagerAutoUpdater(t0) {
472321
472305
  const maxVersion = await getMaxVersion();
472322
472306
  if (maxVersion && latest && gt(latest, maxVersion)) {
472323
472307
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
472324
- if (gte("1.1.11", maxVersion)) {
472325
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.11"} 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`);
472326
472310
  setUpdateAvailable(false);
472327
472311
  return;
472328
472312
  }
472329
472313
  latest = maxVersion;
472330
472314
  }
472331
- const hasUpdate = latest && !gte("1.1.11", latest) && !shouldSkipVersion(latest);
472315
+ const hasUpdate = latest && !gte("1.1.13", latest) && !shouldSkipVersion(latest);
472332
472316
  setUpdateAvailable(!!hasUpdate);
472333
472317
  if (hasUpdate) {
472334
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.11"} -> ${latest}`);
472318
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.13"} -> ${latest}`);
472335
472319
  }
472336
472320
  };
472337
472321
  $2[0] = t1;
@@ -472365,7 +472349,7 @@ function PackageManagerAutoUpdater(t0) {
472365
472349
  wrap: "truncate",
472366
472350
  children: [
472367
472351
  "currentVersion: ",
472368
- "1.1.11"
472352
+ "1.1.13"
472369
472353
  ]
472370
472354
  }, undefined, true, undefined, this);
472371
472355
  $2[3] = verbose;
@@ -479923,7 +479907,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
479923
479907
  project_dir: getOriginalCwd(),
479924
479908
  added_dirs: addedDirs
479925
479909
  },
479926
- version: "1.1.11",
479910
+ version: "1.1.13",
479927
479911
  output_style: {
479928
479912
  name: outputStyleName
479929
479913
  },
@@ -491483,7 +491467,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
491483
491467
  } catch {}
491484
491468
  const data = {
491485
491469
  trigger,
491486
- version: "1.1.11",
491470
+ version: "1.1.13",
491487
491471
  platform: process.platform,
491488
491472
  transcript,
491489
491473
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -503050,675 +503034,6 @@ var init_githubRepoPathMapping = __esm(() => {
503050
503034
  init_git();
503051
503035
  });
503052
503036
 
503053
- // src/components/LogoV2/WelcomeV2.tsx
503054
- function WelcomeV2() {
503055
- const [theme2] = useTheme();
503056
- const isLightTheme = ["light", "light-daltonized", "light-ansi"].includes(theme2);
503057
- const accentColor = isLightTheme ? "blue" : "#6366f1";
503058
- return /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
503059
- width: WELCOME_V2_WIDTH,
503060
- flexDirection: "column",
503061
- gap: 0,
503062
- children: [
503063
- /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
503064
- gap: 1,
503065
- children: [
503066
- /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
503067
- bold: true,
503068
- color: accentColor,
503069
- children: "localclawd"
503070
- }, undefined, false, undefined, this),
503071
- /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
503072
- dimColor: true,
503073
- children: [
503074
- "v",
503075
- "1.1.11"
503076
- ]
503077
- }, undefined, true, undefined, this)
503078
- ]
503079
- }, undefined, true, undefined, this),
503080
- /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
503081
- dimColor: true,
503082
- children: "─".repeat(48)
503083
- }, undefined, false, undefined, this),
503084
- /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
503085
- marginTop: 1,
503086
- children: /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(Clawd, {}, undefined, false, undefined, this)
503087
- }, undefined, false, undefined, this)
503088
- ]
503089
- }, undefined, true, undefined, this);
503090
- }
503091
- var jsx_dev_runtime482, WELCOME_V2_WIDTH = 58;
503092
- var init_WelcomeV2 = __esm(() => {
503093
- init_ink2();
503094
- init_Clawd();
503095
- jsx_dev_runtime482 = __toESM(require_jsx_dev_runtime(), 1);
503096
- });
503097
-
503098
- // src/components/StartPage.tsx
503099
- var exports_StartPage = {};
503100
- __export(exports_StartPage, {
503101
- StartPage: () => StartPage
503102
- });
503103
- function hasSavedBackendConfig(config2) {
503104
- return Boolean(config2?.provider && config2?.baseUrl?.trim() && config2?.model?.trim());
503105
- }
503106
- function StartPage({ currentConfig, onDone }) {
503107
- const hasSavedConfig = hasSavedBackendConfig(currentConfig);
503108
- const options = hasSavedConfig ? CONTINUE_OPTIONS : SETUP_OPTIONS;
503109
- const [focusIdx, setFocusIdx] = import_react321.useState(0);
503110
- use_input_default((input, key) => {
503111
- if (key.upArrow) {
503112
- setFocusIdx((i2) => (i2 - 1 + options.length) % options.length);
503113
- } else if (key.downArrow) {
503114
- setFocusIdx((i2) => (i2 + 1) % options.length);
503115
- } else if (key.return) {
503116
- onDone(options[focusIdx].value);
503117
- } else if (key.escape || key.ctrl && input === "c") {
503118
- gracefulShutdownSync(0);
503119
- }
503120
- });
503121
- return /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
503122
- flexDirection: "column",
503123
- gap: 1,
503124
- children: [
503125
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(WelcomeV2, {}, undefined, false, undefined, this),
503126
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
503127
- flexDirection: "column",
503128
- gap: 1,
503129
- paddingLeft: 1,
503130
- width: 78,
503131
- children: [
503132
- hasSavedConfig ? /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(jsx_dev_runtime483.Fragment, {
503133
- children: [
503134
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
503135
- flexDirection: "column",
503136
- children: [
503137
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503138
- bold: true,
503139
- color: "#818cf8",
503140
- children: "Welcome back!"
503141
- }, undefined, false, undefined, this),
503142
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503143
- dimColor: true,
503144
- children: "Ready when you are."
503145
- }, undefined, false, undefined, this)
503146
- ]
503147
- }, undefined, true, undefined, this),
503148
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
503149
- flexDirection: "column",
503150
- borderStyle: "round",
503151
- borderColor: "#6366f1",
503152
- paddingX: 2,
503153
- paddingY: 0,
503154
- width: 60,
503155
- children: [
503156
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
503157
- gap: 2,
503158
- children: [
503159
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503160
- color: "#6366f1",
503161
- bold: true,
503162
- children: "◈"
503163
- }, undefined, false, undefined, this),
503164
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503165
- bold: true,
503166
- color: "#818cf8",
503167
- children: getLocalLLMProviderLabel(currentConfig.provider)
503168
- }, undefined, false, undefined, this)
503169
- ]
503170
- }, undefined, true, undefined, this),
503171
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503172
- dimColor: true,
503173
- children: [
503174
- "Model: ",
503175
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503176
- color: "white",
503177
- children: currentConfig.model
503178
- }, undefined, false, undefined, this)
503179
- ]
503180
- }, undefined, true, undefined, this),
503181
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503182
- dimColor: true,
503183
- children: [
503184
- "Endpoint: ",
503185
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503186
- color: "white",
503187
- children: currentConfig.baseUrl
503188
- }, undefined, false, undefined, this)
503189
- ]
503190
- }, undefined, true, undefined, this)
503191
- ]
503192
- }, undefined, true, undefined, this)
503193
- ]
503194
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
503195
- flexDirection: "column",
503196
- gap: 0,
503197
- children: [
503198
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503199
- bold: true,
503200
- color: "#818cf8",
503201
- children: "Let's get you connected."
503202
- }, undefined, false, undefined, this),
503203
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503204
- dimColor: true,
503205
- wrap: "wrap",
503206
- children: "localclawd needs an OpenAI-compatible backend — vLLM, Ollama, or any hosted gateway."
503207
- }, undefined, false, undefined, this)
503208
- ]
503209
- }, undefined, true, undefined, this),
503210
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
503211
- flexDirection: "column",
503212
- children: options.map((opt, i2) => /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
503213
- gap: 1,
503214
- children: [
503215
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503216
- color: "#6366f1",
503217
- children: i2 === focusIdx ? "▶" : " "
503218
- }, undefined, false, undefined, this),
503219
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503220
- bold: i2 === focusIdx,
503221
- color: i2 === focusIdx ? "#818cf8" : undefined,
503222
- children: opt.label
503223
- }, undefined, false, undefined, this)
503224
- ]
503225
- }, opt.value, true, undefined, this))
503226
- }, undefined, false, undefined, this),
503227
- /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503228
- dimColor: true,
503229
- children: "↑↓ navigate · Enter confirm · Esc exit"
503230
- }, undefined, false, undefined, this)
503231
- ]
503232
- }, undefined, true, undefined, this)
503233
- ]
503234
- }, undefined, true, undefined, this);
503235
- }
503236
- var import_react321, jsx_dev_runtime483, CONTINUE_OPTIONS, SETUP_OPTIONS;
503237
- var init_StartPage = __esm(() => {
503238
- init_ink2();
503239
- init_gracefulShutdown();
503240
- init_providers();
503241
- init_WelcomeV2();
503242
- import_react321 = __toESM(require_react(), 1);
503243
- jsx_dev_runtime483 = __toESM(require_jsx_dev_runtime(), 1);
503244
- CONTINUE_OPTIONS = [
503245
- { label: "Continue to dashboard", value: "continue" },
503246
- { label: "Change backend", value: "configure-backend" }
503247
- ];
503248
- SETUP_OPTIONS = [
503249
- { label: "Set up a backend now", value: "configure-backend" },
503250
- { label: "Skip for now", value: "continue" }
503251
- ];
503252
- });
503253
-
503254
- // src/components/ui/OrderedListItem.tsx
503255
- function OrderedListItem(t0) {
503256
- const $2 = c3(7);
503257
- const {
503258
- children
503259
- } = t0;
503260
- const {
503261
- marker
503262
- } = import_react322.useContext(OrderedListItemContext);
503263
- let t1;
503264
- if ($2[0] !== marker) {
503265
- t1 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
503266
- dimColor: true,
503267
- children: marker
503268
- }, undefined, false, undefined, this);
503269
- $2[0] = marker;
503270
- $2[1] = t1;
503271
- } else {
503272
- t1 = $2[1];
503273
- }
503274
- let t2;
503275
- if ($2[2] !== children) {
503276
- t2 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedBox_default, {
503277
- flexDirection: "column",
503278
- children
503279
- }, undefined, false, undefined, this);
503280
- $2[2] = children;
503281
- $2[3] = t2;
503282
- } else {
503283
- t2 = $2[3];
503284
- }
503285
- let t3;
503286
- if ($2[4] !== t1 || $2[5] !== t2) {
503287
- t3 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedBox_default, {
503288
- gap: 1,
503289
- children: [
503290
- t1,
503291
- t2
503292
- ]
503293
- }, undefined, true, undefined, this);
503294
- $2[4] = t1;
503295
- $2[5] = t2;
503296
- $2[6] = t3;
503297
- } else {
503298
- t3 = $2[6];
503299
- }
503300
- return t3;
503301
- }
503302
- var import_react322, jsx_dev_runtime484, OrderedListItemContext;
503303
- var init_OrderedListItem = __esm(() => {
503304
- init_ink2();
503305
- import_react322 = __toESM(require_react(), 1);
503306
- jsx_dev_runtime484 = __toESM(require_jsx_dev_runtime(), 1);
503307
- OrderedListItemContext = import_react322.createContext({
503308
- marker: ""
503309
- });
503310
- });
503311
-
503312
- // src/components/ui/OrderedList.tsx
503313
- function OrderedListComponent(t0) {
503314
- const $2 = c3(9);
503315
- const {
503316
- children
503317
- } = t0;
503318
- const {
503319
- marker: parentMarker
503320
- } = import_react323.useContext(OrderedListContext);
503321
- let numberOfItems = 0;
503322
- for (const child of import_react323.default.Children.toArray(children)) {
503323
- if (!import_react323.isValidElement(child) || child.type !== OrderedListItem) {
503324
- continue;
503325
- }
503326
- numberOfItems++;
503327
- }
503328
- const maxMarkerWidth = String(numberOfItems).length;
503329
- let t1;
503330
- if ($2[0] !== children || $2[1] !== maxMarkerWidth || $2[2] !== parentMarker) {
503331
- let t22;
503332
- if ($2[4] !== maxMarkerWidth || $2[5] !== parentMarker) {
503333
- t22 = (child_0, index) => {
503334
- if (!import_react323.isValidElement(child_0) || child_0.type !== OrderedListItem) {
503335
- return child_0;
503336
- }
503337
- const paddedMarker = `${String(index + 1).padStart(maxMarkerWidth)}.`;
503338
- const marker = `${parentMarker}${paddedMarker}`;
503339
- return /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(OrderedListContext.Provider, {
503340
- value: {
503341
- marker
503342
- },
503343
- children: /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(OrderedListItemContext.Provider, {
503344
- value: {
503345
- marker
503346
- },
503347
- children: child_0
503348
- }, undefined, false, undefined, this)
503349
- }, undefined, false, undefined, this);
503350
- };
503351
- $2[4] = maxMarkerWidth;
503352
- $2[5] = parentMarker;
503353
- $2[6] = t22;
503354
- } else {
503355
- t22 = $2[6];
503356
- }
503357
- t1 = import_react323.default.Children.map(children, t22);
503358
- $2[0] = children;
503359
- $2[1] = maxMarkerWidth;
503360
- $2[2] = parentMarker;
503361
- $2[3] = t1;
503362
- } else {
503363
- t1 = $2[3];
503364
- }
503365
- let t2;
503366
- if ($2[7] !== t1) {
503367
- t2 = /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(ThemedBox_default, {
503368
- flexDirection: "column",
503369
- children: t1
503370
- }, undefined, false, undefined, this);
503371
- $2[7] = t1;
503372
- $2[8] = t2;
503373
- } else {
503374
- t2 = $2[8];
503375
- }
503376
- return t2;
503377
- }
503378
- var import_react323, jsx_dev_runtime485, OrderedListContext, OrderedList;
503379
- var init_OrderedList = __esm(() => {
503380
- init_ink2();
503381
- init_OrderedListItem();
503382
- import_react323 = __toESM(require_react(), 1);
503383
- jsx_dev_runtime485 = __toESM(require_jsx_dev_runtime(), 1);
503384
- OrderedListContext = import_react323.createContext({
503385
- marker: ""
503386
- });
503387
- OrderedListComponent.Item = OrderedListItem;
503388
- OrderedList = OrderedListComponent;
503389
- });
503390
-
503391
- // src/components/Onboarding.tsx
503392
- var exports_Onboarding = {};
503393
- __export(exports_Onboarding, {
503394
- Onboarding: () => Onboarding
503395
- });
503396
- function SimpleMenu2({ items, isActive, onSelect, onCancel }) {
503397
- const VISIBLE = Math.min(7, items.length);
503398
- const [focusIdx, setFocusIdx] = import_react324.useState(0);
503399
- const [fromIdx, setFromIdx] = import_react324.useState(0);
503400
- use_input_default((input, key) => {
503401
- if (key.upArrow) {
503402
- setFocusIdx((prev) => {
503403
- const next = Math.max(0, prev - 1);
503404
- if (next < fromIdx)
503405
- setFromIdx(next);
503406
- return next;
503407
- });
503408
- } else if (key.downArrow) {
503409
- setFocusIdx((prev) => {
503410
- const next = Math.min(items.length - 1, prev + 1);
503411
- if (next >= fromIdx + VISIBLE)
503412
- setFromIdx(next - VISIBLE + 1);
503413
- return next;
503414
- });
503415
- } else if (key.return) {
503416
- const item = items[focusIdx];
503417
- if (item)
503418
- onSelect(item.value);
503419
- } else if (key.escape || key.ctrl && input === "c") {
503420
- onCancel?.();
503421
- }
503422
- }, { isActive });
503423
- const visible = items.slice(fromIdx, fromIdx + VISIBLE);
503424
- return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503425
- flexDirection: "column",
503426
- children: [
503427
- fromIdx > 0 && /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503428
- dimColor: true,
503429
- children: " ↑ more"
503430
- }, undefined, false, undefined, this),
503431
- visible.map((item, i2) => {
503432
- const absIdx = fromIdx + i2;
503433
- const focused = absIdx === focusIdx;
503434
- return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503435
- gap: 1,
503436
- children: [
503437
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503438
- color: "#6366f1",
503439
- children: focused ? "▶" : " "
503440
- }, undefined, false, undefined, this),
503441
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503442
- bold: focused,
503443
- color: focused ? "#818cf8" : undefined,
503444
- children: item.label
503445
- }, undefined, false, undefined, this)
503446
- ]
503447
- }, String(item.value), true, undefined, this);
503448
- }),
503449
- fromIdx + VISIBLE < items.length && /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503450
- dimColor: true,
503451
- children: " ↓ more"
503452
- }, undefined, false, undefined, this)
503453
- ]
503454
- }, undefined, true, undefined, this);
503455
- }
503456
- function PressEnterToContinue2({ isActive, onContinue }) {
503457
- use_input_default((_input, key) => {
503458
- if (key.return)
503459
- onContinue();
503460
- }, { isActive });
503461
- return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503462
- color: "permission",
503463
- children: [
503464
- "Press ",
503465
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503466
- bold: true,
503467
- children: "Enter"
503468
- }, undefined, false, undefined, this),
503469
- " to continue…"
503470
- ]
503471
- }, undefined, true, undefined, this);
503472
- }
503473
- function Onboarding({ onDone, showWelcome = true }) {
503474
- const [currentStepIndex, setCurrentStepIndex] = import_react324.useState(0);
503475
- const [theme2, setTheme] = useTheme();
503476
- const goToNextStep = import_react324.useCallback(() => {
503477
- setCurrentStepIndex((current) => {
503478
- if (current >= steps.length - 1) {
503479
- onDone();
503480
- return current;
503481
- }
503482
- return current + 1;
503483
- });
503484
- }, [onDone]);
503485
- const handleThemeSelection = import_react324.useCallback((newTheme) => {
503486
- setTheme(newTheme);
503487
- goToNextStep();
503488
- }, [goToNextStep, setTheme]);
503489
- const handleLocalBackendSetup = import_react324.useCallback((config2, options) => {
503490
- if (options?.saveGlobally === false) {
503491
- setSessionLocalLLMConfigOverride(config2);
503492
- } else {
503493
- clearSessionLocalLLMConfigOverride();
503494
- saveGlobalConfig((current) => ({
503495
- ...current,
503496
- localBackendProvider: config2.provider,
503497
- localBackendBaseUrl: config2.baseUrl,
503498
- localBackendModel: config2.model,
503499
- localBackendApiKey: config2.apiKey
503500
- }));
503501
- }
503502
- goToNextStep();
503503
- }, [goToNextStep]);
503504
- const themeItems = THEME_SETTINGS.map((s) => ({
503505
- label: s === "auto" ? "Auto (follow system)" : s,
503506
- value: s
503507
- }));
503508
- const compactItems = [
503509
- {
503510
- label: `${formatCompactContextWindowOption(undefined)} (recommended)`,
503511
- value: "default"
503512
- },
503513
- ...COMPACT_CONTEXT_WINDOW_CHOICES.map((tokens) => ({
503514
- label: formatCompactContextWindowOption(tokens),
503515
- value: String(tokens)
503516
- }))
503517
- ];
503518
- const steps = import_react324.useMemo(() => {
503519
- const config2 = getGlobalConfig();
503520
- const result = [
503521
- {
503522
- id: "theme",
503523
- component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503524
- flexDirection: "column",
503525
- gap: 1,
503526
- paddingLeft: 1,
503527
- children: [
503528
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503529
- bold: true,
503530
- children: "Choose a theme"
503531
- }, undefined, false, undefined, this),
503532
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
503533
- items: themeItems,
503534
- isActive: isActive2,
503535
- onSelect: handleThemeSelection,
503536
- onCancel: goToNextStep
503537
- }, undefined, false, undefined, this),
503538
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503539
- dimColor: true,
503540
- children: "Change later with /theme"
503541
- }, undefined, false, undefined, this)
503542
- ]
503543
- }, undefined, true, undefined, this)
503544
- },
503545
- {
503546
- id: "compact-context",
503547
- component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503548
- flexDirection: "column",
503549
- gap: 1,
503550
- paddingLeft: 1,
503551
- width: 70,
503552
- children: [
503553
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503554
- bold: true,
503555
- children: "Choose a compact context window"
503556
- }, undefined, false, undefined, this),
503557
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503558
- dimColor: true,
503559
- wrap: "wrap",
503560
- children: "localclawd can compact earlier than the model's full advertised window. Useful for local models that degrade before hitting their limit."
503561
- }, undefined, false, undefined, this),
503562
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
503563
- items: compactItems,
503564
- isActive: isActive2,
503565
- onSelect: (value) => {
503566
- const compactContextWindowTokens = value === "default" ? undefined : parseInt(value, 10);
503567
- saveGlobalConfig((current) => ({ ...current, compactContextWindowTokens }));
503568
- goToNextStep();
503569
- },
503570
- onCancel: goToNextStep
503571
- }, undefined, false, undefined, this),
503572
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503573
- dimColor: true,
503574
- children: "Change later in /config under Compact context window."
503575
- }, undefined, false, undefined, this)
503576
- ]
503577
- }, undefined, true, undefined, this)
503578
- },
503579
- {
503580
- id: "local-backend",
503581
- component: (_isActive) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(LocalBackendSetup, {
503582
- initialConfig: {
503583
- provider: config2.localBackendProvider,
503584
- baseUrl: config2.localBackendBaseUrl,
503585
- model: config2.localBackendModel,
503586
- apiKey: config2.localBackendApiKey
503587
- },
503588
- onComplete: handleLocalBackendSetup,
503589
- onCancel: goToNextStep,
503590
- title: "Choose your local backend",
503591
- description: "Set the OpenAI-compatible endpoint and model localclawd should use. You can point it at vLLM, Ollama, or any compatible host.",
503592
- showSaveGloballyOption: true
503593
- }, undefined, false, undefined, this)
503594
- },
503595
- {
503596
- id: "security",
503597
- component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503598
- flexDirection: "column",
503599
- gap: 1,
503600
- paddingLeft: 1,
503601
- children: [
503602
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503603
- bold: true,
503604
- children: "Security notes:"
503605
- }, undefined, false, undefined, this),
503606
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503607
- flexDirection: "column",
503608
- width: 70,
503609
- children: /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList, {
503610
- children: [
503611
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList.Item, {
503612
- children: [
503613
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503614
- children: "localclawd can make mistakes"
503615
- }, undefined, false, undefined, this),
503616
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503617
- dimColor: true,
503618
- wrap: "wrap",
503619
- children: [
503620
- "Always review responses, especially when running code.",
503621
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Newline, {}, undefined, false, undefined, this)
503622
- ]
503623
- }, undefined, true, undefined, this)
503624
- ]
503625
- }, undefined, true, undefined, this),
503626
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList.Item, {
503627
- children: /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503628
- children: "Due to prompt injection risks, only use it with code you trust"
503629
- }, undefined, false, undefined, this)
503630
- }, undefined, false, undefined, this)
503631
- ]
503632
- }, undefined, true, undefined, this)
503633
- }, undefined, false, undefined, this),
503634
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(PressEnterToContinue2, {
503635
- isActive: isActive2,
503636
- onContinue: goToNextStep
503637
- }, undefined, false, undefined, this)
503638
- ]
503639
- }, undefined, true, undefined, this)
503640
- }
503641
- ];
503642
- if (shouldOfferTerminalSetup()) {
503643
- const terminalItems = [
503644
- { label: "Yes, use recommended settings", value: "install" },
503645
- { label: "No, maybe later with /terminal-setup", value: "no" }
503646
- ];
503647
- result.push({
503648
- id: "terminal-setup",
503649
- component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503650
- flexDirection: "column",
503651
- gap: 1,
503652
- paddingLeft: 1,
503653
- children: [
503654
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503655
- bold: true,
503656
- children: "Use localclawd's terminal setup?"
503657
- }, undefined, false, undefined, this),
503658
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503659
- flexDirection: "column",
503660
- width: 70,
503661
- gap: 1,
503662
- children: [
503663
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
503664
- children: [
503665
- "For the optimal experience, enable recommended settings",
503666
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Newline, {}, undefined, false, undefined, this),
503667
- "for your terminal:",
503668
- " ",
503669
- env4.terminal === "Apple_Terminal" ? "Option+Enter for newlines and visual bell" : "Shift+Enter for newlines"
503670
- ]
503671
- }, undefined, true, undefined, this),
503672
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
503673
- items: terminalItems,
503674
- isActive: isActive2,
503675
- onSelect: (value) => {
503676
- if (value === "install") {
503677
- setupTerminal(theme2).catch(() => {}).finally(goToNextStep);
503678
- } else {
503679
- goToNextStep();
503680
- }
503681
- },
503682
- onCancel: goToNextStep
503683
- }, undefined, false, undefined, this)
503684
- ]
503685
- }, undefined, true, undefined, this)
503686
- ]
503687
- }, undefined, true, undefined, this)
503688
- });
503689
- }
503690
- return result;
503691
- }, [goToNextStep, handleLocalBackendSetup, handleThemeSelection, theme2]);
503692
- const currentStep = steps[currentStepIndex];
503693
- const isActive = true;
503694
- return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503695
- flexDirection: "column",
503696
- children: [
503697
- showWelcome ? /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(WelcomeV2, {}, undefined, false, undefined, this) : null,
503698
- /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
503699
- flexDirection: "column",
503700
- marginTop: 1,
503701
- children: currentStep?.component(isActive)
503702
- }, undefined, false, undefined, this)
503703
- ]
503704
- }, undefined, true, undefined, this);
503705
- }
503706
- var import_react324, jsx_dev_runtime486;
503707
- var init_Onboarding = __esm(() => {
503708
- init_terminalSetup();
503709
- init_ink2();
503710
- init_config();
503711
- init_context();
503712
- init_env();
503713
- init_providers();
503714
- init_theme();
503715
- init_LocalBackendSetup();
503716
- init_WelcomeV2();
503717
- init_OrderedList();
503718
- import_react324 = __toESM(require_react(), 1);
503719
- jsx_dev_runtime486 = __toESM(require_jsx_dev_runtime(), 1);
503720
- });
503721
-
503722
503037
  // src/components/TrustDialog/TrustDialog.tsx
503723
503038
  var exports_TrustDialog = {};
503724
503039
  __export(exports_TrustDialog, {
@@ -503726,36 +503041,28 @@ __export(exports_TrustDialog, {
503726
503041
  });
503727
503042
  import { homedir as homedir36 } from "os";
503728
503043
  function TrustDialog({ onDone }) {
503729
- const hasTrustDialogAccepted = checkHasTrustDialogAccepted();
503730
- const [focusIdx, setFocusIdx] = import_react325.useState(0);
503731
- import_react325.useEffect(() => {
503732
- if (hasTrustDialogAccepted) {
503733
- setSessionTrustAccepted(true);
503734
- onDone();
503735
- }
503736
- }, [hasTrustDialogAccepted, onDone]);
503044
+ const [focusIdx, setFocusIdx] = import_react321.useState(0);
503045
+ const doneRef = import_react321.useRef(false);
503737
503046
  use_input_default((input, key) => {
503738
- if (hasTrustDialogAccepted)
503047
+ if (doneRef.current)
503739
503048
  return;
503740
503049
  if (key.upArrow) {
503741
503050
  setFocusIdx((i2) => (i2 - 1 + OPTIONS.length) % OPTIONS.length);
503742
503051
  } else if (key.downArrow) {
503743
503052
  setFocusIdx((i2) => (i2 + 1) % OPTIONS.length);
503744
503053
  } else if (key.return) {
503054
+ doneRef.current = true;
503745
503055
  const chosen = OPTIONS[focusIdx];
503746
503056
  if (chosen?.value === "exit") {
503747
503057
  gracefulShutdownSync(1);
503748
503058
  } else {
503749
503059
  try {
503750
- const isHomeDir = homedir36() === getCwd();
503751
- if (isHomeDir) {
503752
- setSessionTrustAccepted(true);
503753
- } else {
503060
+ if (homedir36() !== getCwd()) {
503754
503061
  try {
503755
- saveCurrentProjectConfig((current) => ({ ...current, hasTrustDialogAccepted: true }));
503062
+ saveCurrentProjectConfig((c5) => ({ ...c5, hasTrustDialogAccepted: true }));
503756
503063
  } catch {}
503757
- setSessionTrustAccepted(true);
503758
503064
  }
503065
+ setSessionTrustAccepted(true);
503759
503066
  } finally {
503760
503067
  onDone();
503761
503068
  }
@@ -503764,42 +503071,40 @@ function TrustDialog({ onDone }) {
503764
503071
  gracefulShutdownSync(0);
503765
503072
  }
503766
503073
  });
503767
- if (hasTrustDialogAccepted)
503768
- return null;
503769
503074
  const cwd2 = getFsImplementation().cwd();
503770
- return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(PermissionDialog, {
503075
+ return /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(PermissionDialog, {
503771
503076
  color: "warning",
503772
503077
  titleColor: "warning",
503773
503078
  title: "Accessing workspace:",
503774
- children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
503079
+ children: /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
503775
503080
  flexDirection: "column",
503776
503081
  gap: 1,
503777
503082
  paddingTop: 1,
503778
503083
  children: [
503779
- /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
503084
+ /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
503780
503085
  bold: true,
503781
503086
  children: cwd2
503782
503087
  }, undefined, false, undefined, this),
503783
- /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
503088
+ /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
503784
503089
  children: [
503785
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",
503786
503091
  "'",
503787
503092
  "s in this folder first."
503788
503093
  ]
503789
503094
  }, undefined, true, undefined, this),
503790
- /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
503095
+ /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
503791
503096
  children: "localClawd'll be able to read, edit, and execute files here."
503792
503097
  }, undefined, false, undefined, this),
503793
- /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
503098
+ /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
503794
503099
  flexDirection: "column",
503795
- 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, {
503796
503101
  gap: 1,
503797
503102
  children: [
503798
- /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
503103
+ /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
503799
503104
  color: "yellow",
503800
503105
  children: i2 === focusIdx ? "▶" : " "
503801
503106
  }, undefined, false, undefined, this),
503802
- /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
503107
+ /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
503803
503108
  bold: i2 === focusIdx,
503804
503109
  color: i2 === focusIdx ? "white" : undefined,
503805
503110
  children: opt.label
@@ -503807,7 +503112,7 @@ function TrustDialog({ onDone }) {
503807
503112
  ]
503808
503113
  }, opt.value, true, undefined, this))
503809
503114
  }, undefined, false, undefined, this),
503810
- /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
503115
+ /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
503811
503116
  dimColor: true,
503812
503117
  children: "↑↓ navigate · Enter confirm · Esc cancel"
503813
503118
  }, undefined, false, undefined, this)
@@ -503815,7 +503120,7 @@ function TrustDialog({ onDone }) {
503815
503120
  }, undefined, true, undefined, this)
503816
503121
  }, undefined, false, undefined, this);
503817
503122
  }
503818
- var import_react325, jsx_dev_runtime487, OPTIONS;
503123
+ var import_react321, jsx_dev_runtime482, OPTIONS;
503819
503124
  var init_TrustDialog = __esm(() => {
503820
503125
  init_ink2();
503821
503126
  init_state();
@@ -503824,8 +503129,8 @@ var init_TrustDialog = __esm(() => {
503824
503129
  init_fsOperations();
503825
503130
  init_gracefulShutdown();
503826
503131
  init_PermissionDialog();
503827
- import_react325 = __toESM(require_react(), 1);
503828
- 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);
503829
503134
  OPTIONS = [
503830
503135
  { label: "Yes, I trust this folder", value: "enable_all" },
503831
503136
  { label: "No, exit", value: "exit" }
@@ -503849,7 +503154,7 @@ function BypassPermissionsModeDialog(t0) {
503849
503154
  } else {
503850
503155
  t1 = $2[0];
503851
503156
  }
503852
- import_react326.default.useEffect(_temp303, t1);
503157
+ import_react322.default.useEffect(_temp303, t1);
503853
503158
  let t2;
503854
503159
  if ($2[1] !== onAccept) {
503855
503160
  t2 = function onChange2(value) {
@@ -503877,21 +503182,21 @@ function BypassPermissionsModeDialog(t0) {
503877
503182
  const handleEscape = _temp2101;
503878
503183
  let t3;
503879
503184
  if ($2[3] === Symbol.for("react.memo_cache_sentinel")) {
503880
- t3 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
503185
+ t3 = /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
503881
503186
  flexDirection: "column",
503882
503187
  gap: 1,
503883
503188
  children: [
503884
- /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
503189
+ /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503885
503190
  children: [
503886
503191
  "In Bypass Permissions mode, localclawd will not ask for your approval before running potentially dangerous commands.",
503887
- /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(Newline, {}, undefined, false, undefined, this),
503192
+ /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Newline, {}, undefined, false, undefined, this),
503888
503193
  "This mode should only be used in a sandboxed container/VM that has restricted internet access and can easily be restored if damaged."
503889
503194
  ]
503890
503195
  }, undefined, true, undefined, this),
503891
- /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
503196
+ /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
503892
503197
  children: "By proceeding, you accept all responsibility for actions taken while running in Bypass Permissions mode."
503893
503198
  }, undefined, false, undefined, this),
503894
- /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(Link, {
503199
+ /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Link, {
503895
503200
  url: "https://github.com/chromebookwiz/localclawd"
503896
503201
  }, undefined, false, undefined, this)
503897
503202
  ]
@@ -503915,13 +503220,13 @@ function BypassPermissionsModeDialog(t0) {
503915
503220
  }
503916
503221
  let t5;
503917
503222
  if ($2[5] !== onChange) {
503918
- t5 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(Dialog, {
503223
+ t5 = /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Dialog, {
503919
503224
  title: "WARNING: localclawd running in Bypass Permissions mode",
503920
503225
  color: "error",
503921
503226
  onCancel: handleEscape,
503922
503227
  children: [
503923
503228
  t3,
503924
- /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(Select, {
503229
+ /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Select, {
503925
503230
  options: t4,
503926
503231
  onChange: (value_0) => onChange(value_0)
503927
503232
  }, undefined, false, undefined, this)
@@ -503940,15 +503245,15 @@ function _temp2101() {
503940
503245
  function _temp303() {
503941
503246
  logEvent("tengu_bypass_permissions_mode_dialog_shown", {});
503942
503247
  }
503943
- var import_react326, jsx_dev_runtime488;
503248
+ var import_react322, jsx_dev_runtime483;
503944
503249
  var init_BypassPermissionsModeDialog = __esm(() => {
503945
503250
  init_ink2();
503946
503251
  init_gracefulShutdown();
503947
503252
  init_settings2();
503948
503253
  init_CustomSelect();
503949
503254
  init_Dialog();
503950
- import_react326 = __toESM(require_react(), 1);
503951
- 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);
503952
503257
  });
503953
503258
 
503954
503259
  // src/components/ClaudeInChromeOnboarding.tsx
@@ -503961,7 +503266,7 @@ function ClaudeInChromeOnboarding(t0) {
503961
503266
  const {
503962
503267
  onDone
503963
503268
  } = t0;
503964
- const [isExtensionInstalled, setIsExtensionInstalled] = import_react327.default.useState(false);
503269
+ const [isExtensionInstalled, setIsExtensionInstalled] = import_react323.default.useState(false);
503965
503270
  let t1;
503966
503271
  let t2;
503967
503272
  if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
@@ -503977,7 +503282,7 @@ function ClaudeInChromeOnboarding(t0) {
503977
503282
  t1 = $2[0];
503978
503283
  t2 = $2[1];
503979
503284
  }
503980
- import_react327.default.useEffect(t1, t2);
503285
+ import_react323.default.useEffect(t1, t2);
503981
503286
  let t3;
503982
503287
  if ($2[2] !== onDone) {
503983
503288
  t3 = (_input, key) => {
@@ -503993,13 +503298,13 @@ function ClaudeInChromeOnboarding(t0) {
503993
503298
  use_input_default(t3);
503994
503299
  let t4;
503995
503300
  if ($2[4] !== isExtensionInstalled) {
503996
- t4 = !isExtensionInstalled && /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(jsx_dev_runtime489.Fragment, {
503301
+ t4 = !isExtensionInstalled && /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(jsx_dev_runtime484.Fragment, {
503997
503302
  children: [
503998
- /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Newline, {}, undefined, false, undefined, this),
503999
- /* @__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),
504000
503305
  "Requires the Chrome extension. Get started at",
504001
503306
  " ",
504002
- /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Link, {
503307
+ /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Link, {
504003
503308
  url: CHROME_EXTENSION_URL2
504004
503309
  }, undefined, false, undefined, this)
504005
503310
  ]
@@ -504011,7 +503316,7 @@ function ClaudeInChromeOnboarding(t0) {
504011
503316
  }
504012
503317
  let t5;
504013
503318
  if ($2[6] !== t4) {
504014
- t5 = /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
503319
+ t5 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
504015
503320
  children: [
504016
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.",
504017
503322
  t4
@@ -504024,11 +503329,11 @@ function ClaudeInChromeOnboarding(t0) {
504024
503329
  }
504025
503330
  let t6;
504026
503331
  if ($2[8] !== isExtensionInstalled) {
504027
- t6 = isExtensionInstalled && /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(jsx_dev_runtime489.Fragment, {
503332
+ t6 = isExtensionInstalled && /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(jsx_dev_runtime484.Fragment, {
504028
503333
  children: [
504029
503334
  " ",
504030
503335
  "(",
504031
- /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Link, {
503336
+ /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Link, {
504032
503337
  url: CHROME_PERMISSIONS_URL2
504033
503338
  }, undefined, false, undefined, this),
504034
503339
  ")"
@@ -504041,7 +503346,7 @@ function ClaudeInChromeOnboarding(t0) {
504041
503346
  }
504042
503347
  let t7;
504043
503348
  if ($2[10] !== t6) {
504044
- t7 = /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
503349
+ t7 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
504045
503350
  dimColor: true,
504046
503351
  children: [
504047
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",
@@ -504056,7 +503361,7 @@ function ClaudeInChromeOnboarding(t0) {
504056
503361
  }
504057
503362
  let t8;
504058
503363
  if ($2[12] === Symbol.for("react.memo_cache_sentinel")) {
504059
- t8 = /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
503364
+ t8 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
504060
503365
  bold: true,
504061
503366
  color: "chromeYellow",
504062
503367
  children: "/chrome"
@@ -504067,7 +503372,7 @@ function ClaudeInChromeOnboarding(t0) {
504067
503372
  }
504068
503373
  let t9;
504069
503374
  if ($2[13] === Symbol.for("react.memo_cache_sentinel")) {
504070
- t9 = /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
503375
+ t9 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
504071
503376
  dimColor: true,
504072
503377
  children: [
504073
503378
  "For more info, use",
@@ -504075,7 +503380,7 @@ function ClaudeInChromeOnboarding(t0) {
504075
503380
  t8,
504076
503381
  " ",
504077
503382
  "or visit ",
504078
- /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Link, {
503383
+ /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Link, {
504079
503384
  url: "https://github.com/chromebookwiz/localclawd"
504080
503385
  }, undefined, false, undefined, this)
504081
503386
  ]
@@ -504086,7 +503391,7 @@ function ClaudeInChromeOnboarding(t0) {
504086
503391
  }
504087
503392
  let t10;
504088
503393
  if ($2[14] !== t5 || $2[15] !== t7) {
504089
- t10 = /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedBox_default, {
503394
+ t10 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedBox_default, {
504090
503395
  flexDirection: "column",
504091
503396
  gap: 1,
504092
503397
  children: [
@@ -504103,7 +503408,7 @@ function ClaudeInChromeOnboarding(t0) {
504103
503408
  }
504104
503409
  let t11;
504105
503410
  if ($2[17] !== onDone || $2[18] !== t10) {
504106
- t11 = /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Dialog, {
503411
+ t11 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Dialog, {
504107
503412
  title: "localclawd in Chrome (Beta)",
504108
503413
  onCancel: onDone,
504109
503414
  color: "chromeYellow",
@@ -504123,25 +503428,18 @@ function _temp304(current) {
504123
503428
  hasCompletedClaudeInChromeOnboarding: true
504124
503429
  };
504125
503430
  }
504126
- 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";
504127
503432
  var init_ClaudeInChromeOnboarding = __esm(() => {
504128
503433
  init_ink2();
504129
503434
  init_setup3();
504130
503435
  init_config();
504131
503436
  init_Dialog();
504132
- import_react327 = __toESM(require_react(), 1);
504133
- 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);
504134
503439
  });
504135
503440
 
504136
503441
  // src/interactiveHelpers.tsx
504137
503442
  import { appendFileSync as appendFileSync3 } from "fs";
504138
- function completeOnboarding() {
504139
- saveGlobalConfig((current) => ({
504140
- ...current,
504141
- hasCompletedOnboarding: true,
504142
- lastOnboardingVersion: "1.1.11"
504143
- }));
504144
- }
504145
503443
  function showDialog(root3, renderer) {
504146
503444
  return new Promise((resolve40) => {
504147
503445
  const done = (result) => void resolve40(result);
@@ -504160,10 +503458,10 @@ async function exitWithMessage2(root3, message, options) {
504160
503458
  } = await Promise.resolve().then(() => (init_ink2(), exports_ink));
504161
503459
  const color3 = options?.color;
504162
503460
  const exitCode = options?.exitCode ?? 1;
504163
- root3.render(color3 ? /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(Text6, {
503461
+ root3.render(color3 ? /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(Text6, {
504164
503462
  color: color3,
504165
503463
  children: message
504166
- }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(Text6, {
503464
+ }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(Text6, {
504167
503465
  children: message
504168
503466
  }, undefined, false, undefined, this));
504169
503467
  root3.unmount();
@@ -504171,7 +503469,7 @@ async function exitWithMessage2(root3, message, options) {
504171
503469
  process.exit(exitCode);
504172
503470
  }
504173
503471
  function showSetupDialog(root3, renderer, options) {
504174
- return showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(AppStateProvider, {
503472
+ return showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(AppStateProvider, {
504175
503473
  onChangeAppState: options?.onChangeAppState,
504176
503474
  children: renderer(done)
504177
503475
  }, undefined, false, undefined, this));
@@ -504186,87 +503484,15 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
504186
503484
  if (isEnvTruthy(false) || process.env.IS_DEMO) {
504187
503485
  return false;
504188
503486
  }
504189
- const config2 = getGlobalConfig();
504190
- const {
504191
- StartPage: StartPage2
504192
- } = await Promise.resolve().then(() => (init_StartPage(), exports_StartPage));
504193
- const startAction = await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(AppStateProvider, {
504194
- onChangeAppState,
504195
- children: /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(StartPage2, {
504196
- currentConfig: {
504197
- provider: config2.localBackendProvider,
504198
- baseUrl: config2.localBackendBaseUrl,
504199
- model: config2.localBackendModel,
504200
- apiKey: config2.localBackendApiKey
504201
- },
504202
- onDone: done
504203
- }, undefined, false, undefined, this)
504204
- }, undefined, false, undefined, this));
504205
- if (startAction === "configure-backend") {
504206
- const {
504207
- LocalBackendSetup: LocalBackendSetup2
504208
- } = await Promise.resolve().then(() => (init_LocalBackendSetup(), exports_LocalBackendSetup));
504209
- const {
504210
- clearSessionLocalLLMConfigOverride: clearSessionLocalLLMConfigOverride2,
504211
- setSessionLocalLLMConfigOverride: setSessionLocalLLMConfigOverride2
504212
- } = await Promise.resolve().then(() => (init_providers(), exports_providers));
504213
- await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(AppStateProvider, {
504214
- onChangeAppState,
504215
- children: /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(LocalBackendSetup2, {
504216
- initialConfig: {
504217
- provider: config2.localBackendProvider,
504218
- baseUrl: config2.localBackendBaseUrl,
504219
- model: config2.localBackendModel,
504220
- apiKey: config2.localBackendApiKey
504221
- },
504222
- onComplete: (nextConfig, options) => {
504223
- if (options?.saveGlobally === false) {
504224
- setSessionLocalLLMConfigOverride2(nextConfig);
504225
- } else {
504226
- clearSessionLocalLLMConfigOverride2();
504227
- saveGlobalConfig((current) => ({
504228
- ...current,
504229
- localBackendProvider: nextConfig.provider,
504230
- localBackendBaseUrl: nextConfig.baseUrl,
504231
- localBackendModel: nextConfig.model,
504232
- localBackendApiKey: nextConfig.apiKey
504233
- }));
504234
- }
504235
- done();
504236
- },
504237
- onCancel: () => {
504238
- done();
504239
- },
504240
- title: "Connect your model backend",
504241
- 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.",
504242
- showSaveGloballyOption: true
504243
- }, undefined, false, undefined, this)
504244
- }, undefined, false, undefined, this));
504245
- }
504246
- let onboardingShown = false;
504247
- if (!config2.theme || !config2.hasCompletedOnboarding) {
504248
- onboardingShown = true;
504249
- const {
504250
- Onboarding: Onboarding2
504251
- } = await Promise.resolve().then(() => (init_Onboarding(), exports_Onboarding));
504252
- await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(Onboarding2, {
504253
- showWelcome: false,
504254
- onDone: () => {
504255
- completeOnboarding();
504256
- done();
504257
- }
504258
- }, undefined, false, undefined, this), {
504259
- onChangeAppState
504260
- });
504261
- }
503487
+ const onboardingShown = false;
504262
503488
  if (!isEnvTruthy(process.env.CLAUBBIT)) {
504263
503489
  if (!checkHasTrustDialogAccepted()) {
504264
503490
  const {
504265
503491
  TrustDialog: TrustDialog2
504266
503492
  } = await Promise.resolve().then(() => (init_TrustDialog(), exports_TrustDialog));
504267
- await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(AppStateProvider, {
503493
+ await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(AppStateProvider, {
504268
503494
  onChangeAppState,
504269
- children: /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(TrustDialog2, {
503495
+ children: /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(TrustDialog2, {
504270
503496
  commands: commands2,
504271
503497
  onDone: done
504272
503498
  }, undefined, false, undefined, this)
@@ -504287,9 +503513,9 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
504287
503513
  const {
504288
503514
  ClaudeMdExternalIncludesDialog: ClaudeMdExternalIncludesDialog2
504289
503515
  } = await Promise.resolve().then(() => (init_ClaudeMdExternalIncludesDialog(), exports_ClaudeMdExternalIncludesDialog));
504290
- await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(AppStateProvider, {
503516
+ await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(AppStateProvider, {
504291
503517
  onChangeAppState,
504292
- children: /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ClaudeMdExternalIncludesDialog2, {
503518
+ children: /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(ClaudeMdExternalIncludesDialog2, {
504293
503519
  onDone: done,
504294
503520
  isStandaloneDialog: true,
504295
503521
  externalIncludes
@@ -504305,7 +503531,7 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
504305
503531
  const {
504306
503532
  GroveDialog: GroveDialog2
504307
503533
  } = await Promise.resolve().then(() => (init_Grove(), exports_Grove));
504308
- 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, {
504309
503535
  showIfAlreadyViewed: false,
504310
503536
  location: onboardingShown ? "onboarding" : "policy_update_modal",
504311
503537
  onDone: done
@@ -504320,7 +503546,7 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
504320
503546
  const {
504321
503547
  BypassPermissionsModeDialog: BypassPermissionsModeDialog2
504322
503548
  } = await Promise.resolve().then(() => (init_BypassPermissionsModeDialog(), exports_BypassPermissionsModeDialog));
504323
- await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(BypassPermissionsModeDialog2, {
503549
+ await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(BypassPermissionsModeDialog2, {
504324
503550
  onAccept: done
504325
503551
  }, undefined, false, undefined, this));
504326
503552
  }
@@ -504330,7 +503556,7 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
504330
503556
  const {
504331
503557
  ClaudeInChromeOnboarding: ClaudeInChromeOnboarding2
504332
503558
  } = await Promise.resolve().then(() => (init_ClaudeInChromeOnboarding(), exports_ClaudeInChromeOnboarding));
504333
- await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ClaudeInChromeOnboarding2, {
503559
+ await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(ClaudeInChromeOnboarding2, {
504334
503560
  onDone: done
504335
503561
  }, undefined, false, undefined, this));
504336
503562
  }
@@ -504385,7 +503611,7 @@ function getRenderContext(exitOnCtrlC) {
504385
503611
  }
504386
503612
  };
504387
503613
  }
504388
- var jsx_dev_runtime490;
503614
+ var jsx_dev_runtime485;
504389
503615
  var init_interactiveHelpers = __esm(() => {
504390
503616
  init_gracefulShutdown();
504391
503617
  init_state();
@@ -504407,7 +503633,7 @@ var init_interactiveHelpers = __esm(() => {
504407
503633
  init_renderOptions();
504408
503634
  init_allErrors();
504409
503635
  init_settings2();
504410
- jsx_dev_runtime490 = __toESM(require_jsx_dev_runtime(), 1);
503636
+ jsx_dev_runtime485 = __toESM(require_jsx_dev_runtime(), 1);
504411
503637
  });
504412
503638
 
504413
503639
  // src/components/InvalidSettingsDialog.tsx
@@ -504440,7 +503666,7 @@ function InvalidSettingsDialog(t0) {
504440
503666
  const handleSelect = t1;
504441
503667
  let t2;
504442
503668
  if ($2[3] !== settingsErrors) {
504443
- t2 = /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(ValidationErrorsList, {
503669
+ t2 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ValidationErrorsList, {
504444
503670
  errors: settingsErrors
504445
503671
  }, undefined, false, undefined, this);
504446
503672
  $2[3] = settingsErrors;
@@ -504450,7 +503676,7 @@ function InvalidSettingsDialog(t0) {
504450
503676
  }
504451
503677
  let t3;
504452
503678
  if ($2[5] === Symbol.for("react.memo_cache_sentinel")) {
504453
- t3 = /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(ThemedText, {
503679
+ t3 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
504454
503680
  dimColor: true,
504455
503681
  children: "Files with errors are skipped entirely, not just the invalid settings."
504456
503682
  }, undefined, false, undefined, this);
@@ -504473,7 +503699,7 @@ function InvalidSettingsDialog(t0) {
504473
503699
  }
504474
503700
  let t5;
504475
503701
  if ($2[7] !== handleSelect) {
504476
- t5 = /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(Select, {
503702
+ t5 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Select, {
504477
503703
  options: t4,
504478
503704
  onChange: handleSelect
504479
503705
  }, undefined, false, undefined, this);
@@ -504484,7 +503710,7 @@ function InvalidSettingsDialog(t0) {
504484
503710
  }
504485
503711
  let t6;
504486
503712
  if ($2[9] !== onExit2 || $2[10] !== t2 || $2[11] !== t5) {
504487
- t6 = /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(Dialog, {
503713
+ t6 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Dialog, {
504488
503714
  title: "Settings Error",
504489
503715
  onCancel: onExit2,
504490
503716
  color: "warning",
@@ -504503,21 +503729,21 @@ function InvalidSettingsDialog(t0) {
504503
503729
  }
504504
503730
  return t6;
504505
503731
  }
504506
- var jsx_dev_runtime491;
503732
+ var jsx_dev_runtime486;
504507
503733
  var init_InvalidSettingsDialog = __esm(() => {
504508
503734
  init_ink2();
504509
503735
  init_CustomSelect();
504510
503736
  init_Dialog();
504511
503737
  init_ValidationErrorsList();
504512
- jsx_dev_runtime491 = __toESM(require_jsx_dev_runtime(), 1);
503738
+ jsx_dev_runtime486 = __toESM(require_jsx_dev_runtime(), 1);
504513
503739
  });
504514
503740
 
504515
503741
  // src/hooks/useTeleportResume.tsx
504516
503742
  function useTeleportResume(source) {
504517
503743
  const $2 = c3(8);
504518
- const [isResuming, setIsResuming] = import_react328.useState(false);
504519
- const [error5, setError] = import_react328.useState(null);
504520
- 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);
504521
503747
  let t0;
504522
503748
  if ($2[0] !== source) {
504523
503749
  t0 = async (session2) => {
@@ -504582,12 +503808,12 @@ function useTeleportResume(source) {
504582
503808
  }
504583
503809
  return t2;
504584
503810
  }
504585
- var import_react328;
503811
+ var import_react324;
504586
503812
  var init_useTeleportResume = __esm(() => {
504587
503813
  init_state();
504588
503814
  init_errors();
504589
503815
  init_teleport();
504590
- import_react328 = __toESM(require_react(), 1);
503816
+ import_react324 = __toESM(require_react(), 1);
504591
503817
  });
504592
503818
 
504593
503819
  // src/components/ResumeTask.tsx
@@ -504599,15 +503825,15 @@ function ResumeTask({
504599
503825
  const {
504600
503826
  rows
504601
503827
  } = useTerminalSize();
504602
- const [sessions, setSessions] = import_react329.useState([]);
504603
- const [currentRepo, setCurrentRepo] = import_react329.useState(null);
504604
- const [loading, setLoading] = import_react329.useState(true);
504605
- const [loadErrorType, setLoadErrorType] = import_react329.useState(null);
504606
- const [retrying, setRetrying] = import_react329.useState(false);
504607
- const [hasCompletedTeleportErrorFlow, setHasCompletedTeleportErrorFlow] = import_react329.useState(false);
504608
- 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);
504609
503835
  const escKey = useShortcutDisplay("confirm:no", "Confirmation", "Esc");
504610
- const loadSessions = import_react329.useCallback(async () => {
503836
+ const loadSessions = import_react325.useCallback(async () => {
504611
503837
  try {
504612
503838
  setLoading(true);
504613
503839
  setLoadErrorType(null);
@@ -504661,31 +503887,31 @@ function ResumeTask({
504661
503887
  return;
504662
503888
  }
504663
503889
  });
504664
- const handleErrorComplete = import_react329.useCallback(() => {
503890
+ const handleErrorComplete = import_react325.useCallback(() => {
504665
503891
  setHasCompletedTeleportErrorFlow(true);
504666
503892
  loadSessions();
504667
503893
  }, [setHasCompletedTeleportErrorFlow, loadSessions]);
504668
503894
  if (!hasCompletedTeleportErrorFlow) {
504669
- return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(TeleportError, {
503895
+ return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(TeleportError, {
504670
503896
  onComplete: handleErrorComplete
504671
503897
  }, undefined, false, undefined, this);
504672
503898
  }
504673
503899
  if (loading) {
504674
- return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
503900
+ return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504675
503901
  flexDirection: "column",
504676
503902
  padding: 1,
504677
503903
  children: [
504678
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
503904
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504679
503905
  flexDirection: "row",
504680
503906
  children: [
504681
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(Spinner, {}, undefined, false, undefined, this),
504682
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503907
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(Spinner, {}, undefined, false, undefined, this),
503908
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504683
503909
  bold: true,
504684
503910
  children: "Loading localclawd sessions…"
504685
503911
  }, undefined, false, undefined, this)
504686
503912
  ]
504687
503913
  }, undefined, true, undefined, this),
504688
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503914
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504689
503915
  dimColor: true,
504690
503916
  children: retrying ? "Retrying…" : "Fetching your localclawd sessions…"
504691
503917
  }, undefined, false, undefined, this)
@@ -504693,27 +503919,27 @@ function ResumeTask({
504693
503919
  }, undefined, true, undefined, this);
504694
503920
  }
504695
503921
  if (loadErrorType) {
504696
- return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
503922
+ return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504697
503923
  flexDirection: "column",
504698
503924
  padding: 1,
504699
503925
  children: [
504700
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503926
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504701
503927
  bold: true,
504702
503928
  color: "error",
504703
503929
  children: "Error loading localclawd sessions"
504704
503930
  }, undefined, false, undefined, this),
504705
503931
  renderErrorSpecificGuidance(loadErrorType),
504706
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503932
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504707
503933
  dimColor: true,
504708
503934
  children: [
504709
503935
  "Press ",
504710
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503936
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504711
503937
  bold: true,
504712
503938
  children: "Ctrl+R"
504713
503939
  }, undefined, false, undefined, this),
504714
503940
  " to retry · Press",
504715
503941
  " ",
504716
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503942
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504717
503943
  bold: true,
504718
503944
  children: escKey
504719
503945
  }, undefined, false, undefined, this),
@@ -504724,15 +503950,15 @@ function ResumeTask({
504724
503950
  }, undefined, true, undefined, this);
504725
503951
  }
504726
503952
  if (sessions.length === 0) {
504727
- return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
503953
+ return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504728
503954
  flexDirection: "column",
504729
503955
  padding: 1,
504730
503956
  children: [
504731
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503957
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504732
503958
  bold: true,
504733
503959
  children: [
504734
503960
  "No localclawd sessions found",
504735
- currentRepo && /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503961
+ currentRepo && /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504736
503962
  children: [
504737
503963
  " for ",
504738
503964
  currentRepo
@@ -504740,13 +503966,13 @@ function ResumeTask({
504740
503966
  }, undefined, true, undefined, this)
504741
503967
  ]
504742
503968
  }, undefined, true, undefined, this),
504743
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
503969
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504744
503970
  marginTop: 1,
504745
- children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503971
+ children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504746
503972
  dimColor: true,
504747
503973
  children: [
504748
503974
  "Press ",
504749
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
503975
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504750
503976
  bold: true,
504751
503977
  children: escKey
504752
503978
  }, undefined, false, undefined, this),
@@ -504777,16 +504003,16 @@ function ResumeTask({
504777
504003
  const maxVisibleOptions = Math.max(1, isEmbedded ? Math.min(sessions.length, 5, rows - 6 - layoutOverhead) : Math.min(sessions.length, rows - 1 - layoutOverhead));
504778
504004
  const maxHeight = maxVisibleOptions + layoutOverhead;
504779
504005
  const showScrollPosition = sessions.length > maxVisibleOptions;
504780
- return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
504006
+ return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504781
504007
  flexDirection: "column",
504782
504008
  padding: 1,
504783
504009
  height: maxHeight,
504784
504010
  children: [
504785
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504011
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504786
504012
  bold: true,
504787
504013
  children: [
504788
504014
  "Select a session to resume",
504789
- showScrollPosition && /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504015
+ showScrollPosition && /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504790
504016
  dimColor: true,
504791
504017
  children: [
504792
504018
  " ",
@@ -504797,7 +504023,7 @@ function ResumeTask({
504797
504023
  ")"
504798
504024
  ]
504799
504025
  }, undefined, true, undefined, this),
504800
- currentRepo && /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504026
+ currentRepo && /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504801
504027
  dimColor: true,
504802
504028
  children: [
504803
504029
  " (",
@@ -504808,14 +504034,14 @@ function ResumeTask({
504808
504034
  ":"
504809
504035
  ]
504810
504036
  }, undefined, true, undefined, this),
504811
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
504037
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504812
504038
  flexDirection: "column",
504813
504039
  marginTop: 1,
504814
504040
  flexGrow: 1,
504815
504041
  children: [
504816
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
504042
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504817
504043
  marginLeft: 2,
504818
- children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504044
+ children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504819
504045
  bold: true,
504820
504046
  children: [
504821
504047
  UPDATED_STRING.padEnd(maxTimeStringLength, " "),
@@ -504824,7 +504050,7 @@ function ResumeTask({
504824
504050
  ]
504825
504051
  }, undefined, true, undefined, this)
504826
504052
  }, undefined, false, undefined, this),
504827
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(Select, {
504053
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(Select, {
504828
504054
  visibleOptionCount: maxVisibleOptions,
504829
504055
  options,
504830
504056
  onChange: (value) => {
@@ -504842,21 +504068,21 @@ function ResumeTask({
504842
504068
  }, undefined, false, undefined, this)
504843
504069
  ]
504844
504070
  }, undefined, true, undefined, this),
504845
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
504071
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504846
504072
  flexDirection: "row",
504847
- children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504073
+ children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504848
504074
  dimColor: true,
504849
- children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(Byline, {
504075
+ children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(Byline, {
504850
504076
  children: [
504851
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(KeyboardShortcutHint, {
504077
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(KeyboardShortcutHint, {
504852
504078
  shortcut: "↑/↓",
504853
504079
  action: "select"
504854
504080
  }, undefined, false, undefined, this),
504855
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(KeyboardShortcutHint, {
504081
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(KeyboardShortcutHint, {
504856
504082
  shortcut: "Enter",
504857
504083
  action: "confirm"
504858
504084
  }, undefined, false, undefined, this),
504859
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ConfigurableShortcutHint, {
504085
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ConfigurableShortcutHint, {
504860
504086
  action: "confirm:no",
504861
504087
  context: "Confirmation",
504862
504088
  fallback: "Esc",
@@ -504885,28 +504111,28 @@ function determineErrorType(errorMessage4) {
504885
504111
  function renderErrorSpecificGuidance(errorType) {
504886
504112
  switch (errorType) {
504887
504113
  case "network":
504888
- return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
504114
+ return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504889
504115
  marginY: 1,
504890
504116
  flexDirection: "column",
504891
- children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504117
+ children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504892
504118
  dimColor: true,
504893
504119
  children: "Check your internet connection"
504894
504120
  }, undefined, false, undefined, this)
504895
504121
  }, undefined, false, undefined, this);
504896
504122
  case "auth":
504897
- return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
504123
+ return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504898
504124
  marginY: 1,
504899
504125
  flexDirection: "column",
504900
504126
  children: [
504901
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504127
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504902
504128
  dimColor: true,
504903
504129
  children: "Remote web sessions are disabled in this local-first build"
504904
504130
  }, undefined, false, undefined, this),
504905
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504131
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504906
504132
  dimColor: true,
504907
504133
  children: [
504908
504134
  "Use ",
504909
- /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504135
+ /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504910
504136
  bold: true,
504911
504137
  children: "/provider"
504912
504138
  }, undefined, false, undefined, this),
@@ -504916,26 +504142,26 @@ function renderErrorSpecificGuidance(errorType) {
504916
504142
  ]
504917
504143
  }, undefined, true, undefined, this);
504918
504144
  case "api":
504919
- return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
504145
+ return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504920
504146
  marginY: 1,
504921
504147
  flexDirection: "column",
504922
- children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504148
+ children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504923
504149
  dimColor: true,
504924
504150
  children: "Sorry, Claude encountered an error"
504925
504151
  }, undefined, false, undefined, this)
504926
504152
  }, undefined, false, undefined, this);
504927
504153
  case "other":
504928
- return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
504154
+ return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
504929
504155
  marginY: 1,
504930
504156
  flexDirection: "row",
504931
- children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
504157
+ children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
504932
504158
  dimColor: true,
504933
504159
  children: "Sorry, Claude Code encountered an error"
504934
504160
  }, undefined, false, undefined, this)
504935
504161
  }, undefined, false, undefined, this);
504936
504162
  }
504937
504163
  }
504938
- 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 = " ";
504939
504165
  var init_ResumeTask = __esm(() => {
504940
504166
  init_useTerminalSize();
504941
504167
  init_api();
@@ -504951,8 +504177,8 @@ var init_ResumeTask = __esm(() => {
504951
504177
  init_KeyboardShortcutHint();
504952
504178
  init_Spinner2();
504953
504179
  init_TeleportError();
504954
- import_react329 = __toESM(require_react(), 1);
504955
- 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);
504956
504182
  });
504957
504183
 
504958
504184
  // src/components/TeleportResumeWrapper.tsx
@@ -504992,7 +504218,7 @@ function TeleportResumeWrapper(t0) {
504992
504218
  t2 = $2[1];
504993
504219
  t3 = $2[2];
504994
504220
  }
504995
- import_react330.useEffect(t2, t3);
504221
+ import_react326.useEffect(t2, t3);
504996
504222
  let t4;
504997
504223
  if ($2[3] !== error5 || $2[4] !== onComplete || $2[5] !== onError || $2[6] !== resumeSession) {
504998
504224
  t4 = async (session2) => {
@@ -505044,11 +504270,11 @@ function TeleportResumeWrapper(t0) {
505044
504270
  if (isResuming && selectedSession) {
505045
504271
  let t82;
505046
504272
  if ($2[12] === Symbol.for("react.memo_cache_sentinel")) {
505047
- t82 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedBox_default, {
504273
+ t82 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
505048
504274
  flexDirection: "row",
505049
504275
  children: [
505050
- /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(Spinner, {}, undefined, false, undefined, this),
505051
- /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
504276
+ /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(Spinner, {}, undefined, false, undefined, this),
504277
+ /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
505052
504278
  bold: true,
505053
504279
  children: "Resuming session…"
505054
504280
  }, undefined, false, undefined, this)
@@ -505060,12 +504286,12 @@ function TeleportResumeWrapper(t0) {
505060
504286
  }
505061
504287
  let t9;
505062
504288
  if ($2[13] !== selectedSession.title) {
505063
- t9 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedBox_default, {
504289
+ t9 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
505064
504290
  flexDirection: "column",
505065
504291
  padding: 1,
505066
504292
  children: [
505067
504293
  t82,
505068
- /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
504294
+ /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
505069
504295
  dimColor: true,
505070
504296
  children: [
505071
504297
  'Loading "',
@@ -505085,7 +504311,7 @@ function TeleportResumeWrapper(t0) {
505085
504311
  if (error5 && !onError) {
505086
504312
  let t82;
505087
504313
  if ($2[15] === Symbol.for("react.memo_cache_sentinel")) {
505088
- t82 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
504314
+ t82 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
505089
504315
  bold: true,
505090
504316
  color: "error",
505091
504317
  children: "Failed to resume session"
@@ -505096,7 +504322,7 @@ function TeleportResumeWrapper(t0) {
505096
504322
  }
505097
504323
  let t9;
505098
504324
  if ($2[16] !== error5.message) {
505099
- t9 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
504325
+ t9 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
505100
504326
  dimColor: true,
505101
504327
  children: error5.message
505102
504328
  }, undefined, false, undefined, this);
@@ -505107,13 +504333,13 @@ function TeleportResumeWrapper(t0) {
505107
504333
  }
505108
504334
  let t10;
505109
504335
  if ($2[18] === Symbol.for("react.memo_cache_sentinel")) {
505110
- t10 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedBox_default, {
504336
+ t10 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
505111
504337
  marginTop: 1,
505112
- children: /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
504338
+ children: /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
505113
504339
  dimColor: true,
505114
504340
  children: [
505115
504341
  "Press ",
505116
- /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
504342
+ /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
505117
504343
  bold: true,
505118
504344
  children: "Esc"
505119
504345
  }, undefined, false, undefined, this),
@@ -505127,7 +504353,7 @@ function TeleportResumeWrapper(t0) {
505127
504353
  }
505128
504354
  let t11;
505129
504355
  if ($2[19] !== t9) {
505130
- t11 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedBox_default, {
504356
+ t11 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
505131
504357
  flexDirection: "column",
505132
504358
  padding: 1,
505133
504359
  children: [
@@ -505145,7 +504371,7 @@ function TeleportResumeWrapper(t0) {
505145
504371
  }
505146
504372
  let t8;
505147
504373
  if ($2[21] !== handleCancel || $2[22] !== handleSelect || $2[23] !== isEmbedded) {
505148
- t8 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ResumeTask, {
504374
+ t8 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ResumeTask, {
505149
504375
  onSelect: handleSelect,
505150
504376
  onCancel: handleCancel,
505151
504377
  isEmbedded
@@ -505159,15 +504385,15 @@ function TeleportResumeWrapper(t0) {
505159
504385
  }
505160
504386
  return t8;
505161
504387
  }
505162
- var import_react330, jsx_dev_runtime493;
504388
+ var import_react326, jsx_dev_runtime488;
505163
504389
  var init_TeleportResumeWrapper = __esm(() => {
505164
504390
  init_useTeleportResume();
505165
504391
  init_ink2();
505166
504392
  init_useKeybinding();
505167
504393
  init_ResumeTask();
505168
504394
  init_Spinner2();
505169
- import_react330 = __toESM(require_react(), 1);
505170
- 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);
505171
504397
  });
505172
504398
 
505173
504399
  // src/components/TeleportRepoMismatchDialog.tsx
@@ -505183,9 +504409,9 @@ function TeleportRepoMismatchDialog(t0) {
505183
504409
  onSelectPath,
505184
504410
  onCancel
505185
504411
  } = t0;
505186
- const [availablePaths, setAvailablePaths] = import_react331.useState(initialPaths);
505187
- const [errorMessage4, setErrorMessage] = import_react331.useState(null);
505188
- 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);
505189
504415
  let t1;
505190
504416
  if ($2[0] !== availablePaths || $2[1] !== onCancel || $2[2] !== onSelectPath || $2[3] !== targetRepo) {
505191
504417
  t1 = async (value) => {
@@ -505236,20 +504462,20 @@ function TeleportRepoMismatchDialog(t0) {
505236
504462
  const options = t2;
505237
504463
  let t3;
505238
504464
  if ($2[8] !== availablePaths.length || $2[9] !== errorMessage4 || $2[10] !== handleChange4 || $2[11] !== options || $2[12] !== targetRepo || $2[13] !== validating) {
505239
- 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, {
505240
504466
  children: [
505241
- /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedBox_default, {
504467
+ /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedBox_default, {
505242
504468
  flexDirection: "column",
505243
504469
  gap: 1,
505244
504470
  children: [
505245
- errorMessage4 && /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedText, {
504471
+ errorMessage4 && /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
505246
504472
  color: "error",
505247
504473
  children: errorMessage4
505248
504474
  }, undefined, false, undefined, this),
505249
- /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedText, {
504475
+ /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
505250
504476
  children: [
505251
504477
  "Open Claude Code in ",
505252
- /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedText, {
504478
+ /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
505253
504479
  bold: true,
505254
504480
  children: targetRepo
505255
504481
  }, undefined, false, undefined, this),
@@ -505258,27 +504484,27 @@ function TeleportRepoMismatchDialog(t0) {
505258
504484
  }, undefined, true, undefined, this)
505259
504485
  ]
505260
504486
  }, undefined, true, undefined, this),
505261
- validating ? /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedBox_default, {
504487
+ validating ? /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedBox_default, {
505262
504488
  children: [
505263
- /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(Spinner, {}, undefined, false, undefined, this),
505264
- /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedText, {
504489
+ /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Spinner, {}, undefined, false, undefined, this),
504490
+ /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
505265
504491
  children: " Validating repository…"
505266
504492
  }, undefined, false, undefined, this)
505267
504493
  ]
505268
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(Select, {
504494
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Select, {
505269
504495
  options,
505270
504496
  onChange: (value_0) => void handleChange4(value_0)
505271
504497
  }, undefined, false, undefined, this)
505272
504498
  ]
505273
- }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedBox_default, {
504499
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedBox_default, {
505274
504500
  flexDirection: "column",
505275
504501
  gap: 1,
505276
504502
  children: [
505277
- errorMessage4 && /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedText, {
504503
+ errorMessage4 && /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
505278
504504
  color: "error",
505279
504505
  children: errorMessage4
505280
504506
  }, undefined, false, undefined, this),
505281
- /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedText, {
504507
+ /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
505282
504508
  dimColor: true,
505283
504509
  children: [
505284
504510
  "Run claude --teleport from a checkout of ",
@@ -505299,7 +504525,7 @@ function TeleportRepoMismatchDialog(t0) {
505299
504525
  }
505300
504526
  let t4;
505301
504527
  if ($2[15] !== onCancel || $2[16] !== t3) {
505302
- t4 = /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(Dialog, {
504528
+ t4 = /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Dialog, {
505303
504529
  title: "Teleport to Repo",
505304
504530
  onCancel,
505305
504531
  color: "background",
@@ -505315,10 +504541,10 @@ function TeleportRepoMismatchDialog(t0) {
505315
504541
  }
505316
504542
  function _temp305(path17) {
505317
504543
  return {
505318
- label: /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedText, {
504544
+ label: /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
505319
504545
  children: [
505320
504546
  "Use ",
505321
- /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedText, {
504547
+ /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
505322
504548
  bold: true,
505323
504549
  children: getDisplayPath(path17)
505324
504550
  }, undefined, false, undefined, this)
@@ -505327,7 +504553,7 @@ function _temp305(path17) {
505327
504553
  value: path17
505328
504554
  };
505329
504555
  }
505330
- var import_react331, jsx_dev_runtime494;
504556
+ var import_react327, jsx_dev_runtime489;
505331
504557
  var init_TeleportRepoMismatchDialog = __esm(() => {
505332
504558
  init_ink2();
505333
504559
  init_file();
@@ -505335,8 +504561,8 @@ var init_TeleportRepoMismatchDialog = __esm(() => {
505335
504561
  init_CustomSelect();
505336
504562
  init_Dialog();
505337
504563
  init_Spinner2();
505338
- import_react331 = __toESM(require_react(), 1);
505339
- 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);
505340
504566
  });
505341
504567
 
505342
504568
  // src/screens/ResumeConversation.tsx
@@ -505381,15 +504607,15 @@ function ResumeConversation({
505381
504607
  } = useTerminalSize();
505382
504608
  const agentDefinitions2 = useAppState((s) => s.agentDefinitions);
505383
504609
  const setAppState = useSetAppState();
505384
- const [logs2, setLogs] = import_react332.default.useState([]);
505385
- const [loading, setLoading] = import_react332.default.useState(true);
505386
- const [resuming, setResuming] = import_react332.default.useState(false);
505387
- const [showAllProjects, setShowAllProjects] = import_react332.default.useState(false);
505388
- const [resumeData, setResumeData] = import_react332.default.useState(null);
505389
- const [crossProjectCommand, setCrossProjectCommand] = import_react332.default.useState(null);
505390
- const sessionLogResultRef = import_react332.default.useRef(null);
505391
- const logCountRef = import_react332.default.useRef(0);
505392
- 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(() => {
505393
504619
  let result = logs2.filter((l) => !l.isSidechain);
505394
504620
  if (filterByPr !== undefined) {
505395
504621
  if (filterByPr === true) {
@@ -505406,7 +504632,7 @@ function ResumeConversation({
505406
504632
  return result;
505407
504633
  }, [logs2, filterByPr]);
505408
504634
  const isResumeWithRenameEnabled = isCustomTitleEnabled();
505409
- import_react332.default.useEffect(() => {
504635
+ import_react328.default.useEffect(() => {
505410
504636
  loadSameRepoMessageLogsProgressive(worktreePaths).then((result_0) => {
505411
504637
  sessionLogResultRef.current = result_0;
505412
504638
  logCountRef.current = result_0.logs.length;
@@ -505417,7 +504643,7 @@ function ResumeConversation({
505417
504643
  setLoading(false);
505418
504644
  });
505419
504645
  }, [worktreePaths]);
505420
- const loadMoreLogs = import_react332.default.useCallback((count3) => {
504646
+ const loadMoreLogs = import_react328.default.useCallback((count3) => {
505421
504647
  const ref = sessionLogResultRef.current;
505422
504648
  if (!ref || ref.nextIndex >= ref.allStatLogs.length)
505423
504649
  return;
@@ -505435,7 +504661,7 @@ function ResumeConversation({
505435
504661
  }
505436
504662
  });
505437
504663
  }, []);
505438
- const loadLogs = import_react332.default.useCallback((allProjects) => {
504664
+ const loadLogs = import_react328.default.useCallback((allProjects) => {
505439
504665
  setLoading(true);
505440
504666
  const promise2 = allProjects ? loadAllProjectsMessageLogsProgressive() : loadSameRepoMessageLogsProgressive(worktreePaths);
505441
504667
  promise2.then((result_2) => {
@@ -505448,7 +504674,7 @@ function ResumeConversation({
505448
504674
  setLoading(false);
505449
504675
  });
505450
504676
  }, [worktreePaths]);
505451
- const handleToggleAllProjects = import_react332.default.useCallback(() => {
504677
+ const handleToggleAllProjects = import_react328.default.useCallback(() => {
505452
504678
  const newValue = !showAllProjects;
505453
504679
  setShowAllProjects(newValue);
505454
504680
  loadLogs(newValue);
@@ -505534,12 +504760,12 @@ function ResumeConversation({
505534
504760
  }
505535
504761
  }
505536
504762
  if (crossProjectCommand) {
505537
- return /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(CrossProjectMessage, {
504763
+ return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(CrossProjectMessage, {
505538
504764
  command: crossProjectCommand
505539
504765
  }, undefined, false, undefined, this);
505540
504766
  }
505541
504767
  if (resumeData) {
505542
- return /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(REPL, {
504768
+ return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(REPL, {
505543
504769
  debug: debug3,
505544
504770
  commands: commands2,
505545
504771
  initialTools,
@@ -505562,29 +504788,29 @@ function ResumeConversation({
505562
504788
  }, undefined, false, undefined, this);
505563
504789
  }
505564
504790
  if (loading) {
505565
- return /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
504791
+ return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
505566
504792
  children: [
505567
- /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(Spinner, {}, undefined, false, undefined, this),
505568
- /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
504793
+ /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(Spinner, {}, undefined, false, undefined, this),
504794
+ /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
505569
504795
  children: " Loading conversations…"
505570
504796
  }, undefined, false, undefined, this)
505571
504797
  ]
505572
504798
  }, undefined, true, undefined, this);
505573
504799
  }
505574
504800
  if (resuming) {
505575
- return /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
504801
+ return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
505576
504802
  children: [
505577
- /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(Spinner, {}, undefined, false, undefined, this),
505578
- /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
504803
+ /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(Spinner, {}, undefined, false, undefined, this),
504804
+ /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
505579
504805
  children: " Resuming conversation…"
505580
504806
  }, undefined, false, undefined, this)
505581
504807
  ]
505582
504808
  }, undefined, true, undefined, this);
505583
504809
  }
505584
504810
  if (filteredLogs.length === 0) {
505585
- return /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(NoConversationsMessage, {}, undefined, false, undefined, this);
504811
+ return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(NoConversationsMessage, {}, undefined, false, undefined, this);
505586
504812
  }
505587
- return /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(LogSelector, {
504813
+ return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(LogSelector, {
505588
504814
  logs: filteredLogs,
505589
504815
  maxHeight: rows,
505590
504816
  onCancel,
@@ -505611,13 +504837,13 @@ function NoConversationsMessage() {
505611
504837
  useKeybinding("app:interrupt", _temp306, t0);
505612
504838
  let t1;
505613
504839
  if ($2[1] === Symbol.for("react.memo_cache_sentinel")) {
505614
- t1 = /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
504840
+ t1 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
505615
504841
  flexDirection: "column",
505616
504842
  children: [
505617
- /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
504843
+ /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
505618
504844
  children: "No conversations found to resume."
505619
504845
  }, undefined, false, undefined, this),
505620
- /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
504846
+ /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
505621
504847
  dimColor: true,
505622
504848
  children: "Press Ctrl+C to exit and start a new conversation."
505623
504849
  }, undefined, false, undefined, this)
@@ -505644,10 +504870,10 @@ function CrossProjectMessage(t0) {
505644
504870
  } else {
505645
504871
  t1 = $2[0];
505646
504872
  }
505647
- import_react332.default.useEffect(_temp356, t1);
504873
+ import_react328.default.useEffect(_temp356, t1);
505648
504874
  let t2;
505649
504875
  if ($2[1] === Symbol.for("react.memo_cache_sentinel")) {
505650
- t2 = /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
504876
+ t2 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
505651
504877
  children: "This conversation is from a different directory."
505652
504878
  }, undefined, false, undefined, this);
505653
504879
  $2[1] = t2;
@@ -505656,7 +504882,7 @@ function CrossProjectMessage(t0) {
505656
504882
  }
505657
504883
  let t3;
505658
504884
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
505659
- t3 = /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
504885
+ t3 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
505660
504886
  children: "To resume, run:"
505661
504887
  }, undefined, false, undefined, this);
505662
504888
  $2[2] = t3;
@@ -505665,11 +504891,11 @@ function CrossProjectMessage(t0) {
505665
504891
  }
505666
504892
  let t4;
505667
504893
  if ($2[3] !== command8) {
505668
- t4 = /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
504894
+ t4 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
505669
504895
  flexDirection: "column",
505670
504896
  children: [
505671
504897
  t3,
505672
- /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
504898
+ /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
505673
504899
  children: [
505674
504900
  " ",
505675
504901
  command8
@@ -505684,7 +504910,7 @@ function CrossProjectMessage(t0) {
505684
504910
  }
505685
504911
  let t5;
505686
504912
  if ($2[5] === Symbol.for("react.memo_cache_sentinel")) {
505687
- t5 = /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
504913
+ t5 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
505688
504914
  dimColor: true,
505689
504915
  children: "(Command copied to clipboard)"
505690
504916
  }, undefined, false, undefined, this);
@@ -505694,7 +504920,7 @@ function CrossProjectMessage(t0) {
505694
504920
  }
505695
504921
  let t6;
505696
504922
  if ($2[6] !== t4) {
505697
- t6 = /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
504923
+ t6 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
505698
504924
  flexDirection: "column",
505699
504925
  gap: 1,
505700
504926
  children: [
@@ -505717,7 +504943,7 @@ function _temp356() {
505717
504943
  function _temp2102() {
505718
504944
  process.exit(0);
505719
504945
  }
505720
- var import_react332, jsx_dev_runtime495;
504946
+ var import_react328, jsx_dev_runtime490;
505721
504947
  var init_ResumeConversation = __esm(() => {
505722
504948
  init_useTerminalSize();
505723
504949
  init_state();
@@ -505739,8 +504965,8 @@ var init_ResumeConversation = __esm(() => {
505739
504965
  init_sessionRestore();
505740
504966
  init_sessionStorage();
505741
504967
  init_REPL();
505742
- import_react332 = __toESM(require_react(), 1);
505743
- 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);
505744
504970
  });
505745
504971
 
505746
504972
  // src/dialogLaunchers.tsx
@@ -505748,7 +504974,7 @@ async function launchInvalidSettingsDialog(root3, props) {
505748
504974
  const {
505749
504975
  InvalidSettingsDialog: InvalidSettingsDialog2
505750
504976
  } = await Promise.resolve().then(() => (init_InvalidSettingsDialog(), exports_InvalidSettingsDialog));
505751
- return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(InvalidSettingsDialog2, {
504977
+ return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(InvalidSettingsDialog2, {
505752
504978
  settingsErrors: props.settingsErrors,
505753
504979
  onContinue: done,
505754
504980
  onExit: props.onExit
@@ -505758,7 +504984,7 @@ async function launchTeleportResumeWrapper(root3) {
505758
504984
  const {
505759
504985
  TeleportResumeWrapper: TeleportResumeWrapper2
505760
504986
  } = await Promise.resolve().then(() => (init_TeleportResumeWrapper(), exports_TeleportResumeWrapper));
505761
- return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(TeleportResumeWrapper2, {
504987
+ return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(TeleportResumeWrapper2, {
505762
504988
  onComplete: done,
505763
504989
  onCancel: () => done(null),
505764
504990
  source: "cliArg"
@@ -505768,7 +504994,7 @@ async function launchTeleportRepoMismatchDialog(root3, props) {
505768
504994
  const {
505769
504995
  TeleportRepoMismatchDialog: TeleportRepoMismatchDialog2
505770
504996
  } = await Promise.resolve().then(() => (init_TeleportRepoMismatchDialog(), exports_TeleportRepoMismatchDialog));
505771
- return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(TeleportRepoMismatchDialog2, {
504997
+ return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(TeleportRepoMismatchDialog2, {
505772
504998
  targetRepo: props.targetRepo,
505773
504999
  initialPaths: props.initialPaths,
505774
505000
  onSelectPath: done,
@@ -505781,23 +505007,23 @@ async function launchResumeChooser(root3, appProps, worktreePathsPromise, resume
505781
505007
  }, {
505782
505008
  App: App3
505783
505009
  }] = await Promise.all([worktreePathsPromise, Promise.resolve().then(() => (init_ResumeConversation(), exports_ResumeConversation)), Promise.resolve().then(() => (init_App2(), exports_App))]);
505784
- await renderAndRun(root3, /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(App3, {
505010
+ await renderAndRun(root3, /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(App3, {
505785
505011
  getFpsMetrics: appProps.getFpsMetrics,
505786
505012
  stats: appProps.stats,
505787
505013
  initialState: appProps.initialState,
505788
- children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(KeybindingSetup, {
505789
- children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ResumeConversation2, {
505014
+ children: /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(KeybindingSetup, {
505015
+ children: /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(ResumeConversation2, {
505790
505016
  ...resumeProps,
505791
505017
  worktreePaths
505792
505018
  }, undefined, false, undefined, this)
505793
505019
  }, undefined, false, undefined, this)
505794
505020
  }, undefined, false, undefined, this));
505795
505021
  }
505796
- var jsx_dev_runtime496;
505022
+ var jsx_dev_runtime491;
505797
505023
  var init_dialogLaunchers = __esm(() => {
505798
505024
  init_interactiveHelpers();
505799
505025
  init_KeybindingProviderSetup();
505800
- jsx_dev_runtime496 = __toESM(require_jsx_dev_runtime(), 1);
505026
+ jsx_dev_runtime491 = __toESM(require_jsx_dev_runtime(), 1);
505801
505027
  });
505802
505028
 
505803
505029
  // src/plugins/bundled/index.ts
@@ -508698,7 +507924,7 @@ function appendToLog(path17, message) {
508698
507924
  cwd: getFsImplementation().cwd(),
508699
507925
  userType: process.env.USER_TYPE,
508700
507926
  sessionId: getSessionId(),
508701
- version: "1.1.11"
507927
+ version: "1.1.13"
508702
507928
  };
508703
507929
  getLogWriter(path17).write(messageWithTimestamp);
508704
507930
  }
@@ -512698,8 +511924,8 @@ async function getEnvLessBridgeConfig() {
512698
511924
  }
512699
511925
  async function checkEnvLessBridgeMinVersion() {
512700
511926
  const cfg = await getEnvLessBridgeConfig();
512701
- if (cfg.min_version && lt("1.1.11", cfg.min_version)) {
512702
- return `Your version of localclawd (${"1.1.11"}) 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.
512703
511929
  Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
512704
511930
  }
512705
511931
  return null;
@@ -513171,7 +512397,7 @@ async function initBridgeCore(params) {
513171
512397
  const rawApi = createBridgeApiClient({
513172
512398
  baseUrl,
513173
512399
  getAccessToken,
513174
- runnerVersion: "1.1.11",
512400
+ runnerVersion: "1.1.13",
513175
512401
  onDebug: logForDebugging,
513176
512402
  onAuth401,
513177
512403
  getTrustedDeviceToken
@@ -517983,9 +517209,9 @@ function TeleportProgress(t0) {
517983
517209
  const t2 = SPINNER_FRAMES3[frame];
517984
517210
  let t3;
517985
517211
  if ($2[2] !== t2) {
517986
- t3 = /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
517212
+ t3 = /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
517987
517213
  marginBottom: 1,
517988
- children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedText, {
517214
+ children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
517989
517215
  bold: true,
517990
517216
  color: "claude",
517991
517217
  children: [
@@ -518001,9 +517227,9 @@ function TeleportProgress(t0) {
518001
517227
  }
518002
517228
  let t4;
518003
517229
  if ($2[4] !== sessionId) {
518004
- t4 = sessionId && /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
517230
+ t4 = sessionId && /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
518005
517231
  marginBottom: 1,
518006
- children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedText, {
517232
+ children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
518007
517233
  dimColor: true,
518008
517234
  children: sessionId
518009
517235
  }, undefined, false, undefined, this)
@@ -518033,18 +517259,18 @@ function TeleportProgress(t0) {
518033
517259
  color3 = undefined;
518034
517260
  }
518035
517261
  }
518036
- return /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
517262
+ return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
518037
517263
  flexDirection: "row",
518038
517264
  children: [
518039
- /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
517265
+ /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
518040
517266
  width: 2,
518041
- children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedText, {
517267
+ children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
518042
517268
  color: color3,
518043
517269
  dimColor: isPending,
518044
517270
  children: icon
518045
517271
  }, undefined, false, undefined, this)
518046
517272
  }, undefined, false, undefined, this),
518047
- /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedText, {
517273
+ /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
518048
517274
  dimColor: isPending,
518049
517275
  bold: isCurrent,
518050
517276
  children: step.label
@@ -518060,7 +517286,7 @@ function TeleportProgress(t0) {
518060
517286
  }
518061
517287
  let t6;
518062
517288
  if ($2[9] !== t5) {
518063
- t6 = /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
517289
+ t6 = /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
518064
517290
  flexDirection: "column",
518065
517291
  marginLeft: 2,
518066
517292
  children: t5
@@ -518072,7 +517298,7 @@ function TeleportProgress(t0) {
518072
517298
  }
518073
517299
  let t7;
518074
517300
  if ($2[11] !== ref || $2[12] !== t3 || $2[13] !== t4 || $2[14] !== t6) {
518075
- t7 = /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
517301
+ t7 = /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
518076
517302
  ref,
518077
517303
  flexDirection: "column",
518078
517304
  paddingX: 1,
@@ -518096,15 +517322,15 @@ function TeleportProgress(t0) {
518096
517322
  async function teleportWithProgress(root3, sessionId) {
518097
517323
  let setStep = () => {};
518098
517324
  function TeleportProgressWrapper() {
518099
- const [step, _setStep] = import_react333.useState("validating");
517325
+ const [step, _setStep] = import_react329.useState("validating");
518100
517326
  setStep = _setStep;
518101
- return /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(TeleportProgress, {
517327
+ return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(TeleportProgress, {
518102
517328
  currentStep: step,
518103
517329
  sessionId
518104
517330
  }, undefined, false, undefined, this);
518105
517331
  }
518106
- root3.render(/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(AppStateProvider, {
518107
- 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)
518108
517334
  }, undefined, false, undefined, this));
518109
517335
  const result = await teleportResumeCodeSession(sessionId, setStep);
518110
517336
  setStep("checking_out");
@@ -518117,14 +517343,14 @@ async function teleportWithProgress(root3, sessionId) {
518117
517343
  branchName
518118
517344
  };
518119
517345
  }
518120
- var import_react333, jsx_dev_runtime497, SPINNER_FRAMES3, STEPS;
517346
+ var import_react329, jsx_dev_runtime492, SPINNER_FRAMES3, STEPS;
518121
517347
  var init_TeleportProgress = __esm(() => {
518122
517348
  init_figures2();
518123
517349
  init_ink2();
518124
517350
  init_AppState();
518125
517351
  init_teleport();
518126
- import_react333 = __toESM(require_react(), 1);
518127
- 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);
518128
517354
  SPINNER_FRAMES3 = ["◐", "◓", "◑", "◒"];
518129
517355
  STEPS = [{
518130
517356
  key: "validating",
@@ -518165,7 +517391,7 @@ function MCPServerDesktopImportDialog(t0) {
518165
517391
  } else {
518166
517392
  t2 = $2[2];
518167
517393
  }
518168
- const [existingServers, setExistingServers] = import_react334.useState(t2);
517394
+ const [existingServers, setExistingServers] = import_react330.useState(t2);
518169
517395
  let t3;
518170
517396
  let t4;
518171
517397
  if ($2[3] === Symbol.for("react.memo_cache_sentinel")) {
@@ -518184,7 +517410,7 @@ function MCPServerDesktopImportDialog(t0) {
518184
517410
  t3 = $2[3];
518185
517411
  t4 = $2[4];
518186
517412
  }
518187
- import_react334.useEffect(t3, t4);
517413
+ import_react330.useEffect(t3, t4);
518188
517414
  let t5;
518189
517415
  if ($2[5] !== existingServers || $2[6] !== serverNames) {
518190
517416
  t5 = serverNames.filter((name) => existingServers[name] !== undefined);
@@ -518260,7 +517486,7 @@ No servers were imported.`);
518260
517486
  const t10 = `Found ${t8} MCP ${t9} in Claude Desktop.`;
518261
517487
  let t11;
518262
517488
  if ($2[16] !== collisions.length) {
518263
- t11 = collisions.length > 0 && /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(ThemedText, {
517489
+ t11 = collisions.length > 0 && /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
518264
517490
  color: "warning",
518265
517491
  children: "Note: Some servers already exist with the same name. If selected, they will be imported with a numbered suffix."
518266
517492
  }, undefined, false, undefined, this);
@@ -518271,7 +517497,7 @@ No servers were imported.`);
518271
517497
  }
518272
517498
  let t12;
518273
517499
  if ($2[18] === Symbol.for("react.memo_cache_sentinel")) {
518274
- t12 = /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(ThemedText, {
517500
+ t12 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
518275
517501
  children: "Please select the servers you want to import:"
518276
517502
  }, undefined, false, undefined, this);
518277
517503
  $2[18] = t12;
@@ -518296,7 +517522,7 @@ No servers were imported.`);
518296
517522
  }
518297
517523
  let t15;
518298
517524
  if ($2[23] !== handleEscCancel || $2[24] !== onSubmit || $2[25] !== t13 || $2[26] !== t14) {
518299
- t15 = /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(SelectMulti, {
517525
+ t15 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(SelectMulti, {
518300
517526
  options: t13,
518301
517527
  defaultValue: t14,
518302
517528
  onSubmit,
@@ -518313,7 +517539,7 @@ No servers were imported.`);
518313
517539
  }
518314
517540
  let t16;
518315
517541
  if ($2[28] !== handleEscCancel || $2[29] !== t10 || $2[30] !== t11 || $2[31] !== t15) {
518316
- t16 = /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(Dialog, {
517542
+ t16 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(Dialog, {
518317
517543
  title: "Import MCP Servers from Claude Desktop",
518318
517544
  subtitle: t10,
518319
517545
  color: "success",
@@ -518335,22 +517561,22 @@ No servers were imported.`);
518335
517561
  }
518336
517562
  let t17;
518337
517563
  if ($2[33] === Symbol.for("react.memo_cache_sentinel")) {
518338
- t17 = /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(ThemedBox_default, {
517564
+ t17 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedBox_default, {
518339
517565
  paddingX: 1,
518340
- children: /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(ThemedText, {
517566
+ children: /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
518341
517567
  dimColor: true,
518342
517568
  italic: true,
518343
- children: /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(Byline, {
517569
+ children: /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(Byline, {
518344
517570
  children: [
518345
- /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(KeyboardShortcutHint, {
517571
+ /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(KeyboardShortcutHint, {
518346
517572
  shortcut: "Space",
518347
517573
  action: "select"
518348
517574
  }, undefined, false, undefined, this),
518349
- /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(KeyboardShortcutHint, {
517575
+ /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(KeyboardShortcutHint, {
518350
517576
  shortcut: "Enter",
518351
517577
  action: "confirm"
518352
517578
  }, undefined, false, undefined, this),
518353
- /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(ConfigurableShortcutHint, {
517579
+ /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ConfigurableShortcutHint, {
518354
517580
  action: "confirm:no",
518355
517581
  context: "Confirmation",
518356
517582
  fallback: "Esc",
@@ -518366,7 +517592,7 @@ No servers were imported.`);
518366
517592
  }
518367
517593
  let t18;
518368
517594
  if ($2[34] !== t16) {
518369
- t18 = /* @__PURE__ */ jsx_dev_runtime498.jsxDEV(jsx_dev_runtime498.Fragment, {
517595
+ t18 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(jsx_dev_runtime493.Fragment, {
518370
517596
  children: [
518371
517597
  t16,
518372
517598
  t17
@@ -518379,7 +517605,7 @@ No servers were imported.`);
518379
517605
  }
518380
517606
  return t18;
518381
517607
  }
518382
- var import_react334, jsx_dev_runtime498;
517608
+ var import_react330, jsx_dev_runtime493;
518383
517609
  var init_MCPServerDesktopImportDialog = __esm(() => {
518384
517610
  init_gracefulShutdown();
518385
517611
  init_ink2();
@@ -518390,8 +517616,8 @@ var init_MCPServerDesktopImportDialog = __esm(() => {
518390
517616
  init_Byline();
518391
517617
  init_Dialog();
518392
517618
  init_KeyboardShortcutHint();
518393
- import_react334 = __toESM(require_react(), 1);
518394
- 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);
518395
517621
  });
518396
517622
 
518397
517623
  // node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js
@@ -518827,7 +518053,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
518827
518053
  setCwd(cwd3);
518828
518054
  const server = new Server({
518829
518055
  name: "claude/tengu",
518830
- version: "1.1.11"
518056
+ version: "1.1.13"
518831
518057
  }, {
518832
518058
  capabilities: {
518833
518059
  tools: {}
@@ -519315,9 +518541,9 @@ async function mcpAddFromDesktopHandler(options) {
519315
518541
  }
519316
518542
  const {
519317
518543
  unmount
519318
- } = await render(/* @__PURE__ */ jsx_dev_runtime499.jsxDEV(AppStateProvider, {
519319
- children: /* @__PURE__ */ jsx_dev_runtime499.jsxDEV(KeybindingSetup, {
519320
- 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, {
519321
518547
  servers,
519322
518548
  scope,
519323
518549
  onDone: () => {
@@ -519343,7 +518569,7 @@ async function mcpResetChoicesHandler() {
519343
518569
  cliOk(`All project-scoped (.mcp.json) server approvals and rejections have been reset.
519344
518570
  You will be prompted for approval next time you start localclawd.`);
519345
518571
  }
519346
- var jsx_dev_runtime499;
518572
+ var jsx_dev_runtime494;
519347
518573
  var init_mcp5 = __esm(() => {
519348
518574
  init_p_map();
519349
518575
  init_MCPServerDesktopImportDialog();
@@ -519359,7 +518585,7 @@ var init_mcp5 = __esm(() => {
519359
518585
  init_gracefulShutdown();
519360
518586
  init_json();
519361
518587
  init_platform();
519362
- jsx_dev_runtime499 = __toESM(require_jsx_dev_runtime(), 1);
518588
+ jsx_dev_runtime494 = __toESM(require_jsx_dev_runtime(), 1);
519363
518589
  });
519364
518590
 
519365
518591
  // src/cli/handlers/plugins.ts
@@ -519886,6 +519112,51 @@ var init_plugins = __esm(() => {
519886
519112
  init_stringUtils();
519887
519113
  });
519888
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
+
519889
519160
  // src/commands/install.tsx
519890
519161
  var exports_install = {};
519891
519162
  __export(exports_install, {
@@ -519912,11 +519183,11 @@ function SetupNotes(t0) {
519912
519183
  }
519913
519184
  let t1;
519914
519185
  if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
519915
- t1 = /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519916
- children: /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519186
+ t1 = /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
519187
+ children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
519917
519188
  color: "warning",
519918
519189
  children: [
519919
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(StatusIcon, {
519190
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(StatusIcon, {
519920
519191
  status: "warning",
519921
519192
  withSpace: true
519922
519193
  }, undefined, false, undefined, this),
@@ -519938,7 +519209,7 @@ function SetupNotes(t0) {
519938
519209
  }
519939
519210
  let t3;
519940
519211
  if ($2[3] !== t2) {
519941
- t3 = /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519212
+ t3 = /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
519942
519213
  flexDirection: "column",
519943
519214
  gap: 0,
519944
519215
  marginBottom: 1,
@@ -519955,9 +519226,9 @@ function SetupNotes(t0) {
519955
519226
  return t3;
519956
519227
  }
519957
519228
  function _temp307(message, index) {
519958
- return /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519229
+ return /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
519959
519230
  marginLeft: 2,
519960
- children: /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519231
+ children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
519961
519232
  dimColor: true,
519962
519233
  children: [
519963
519234
  "• ",
@@ -519971,10 +519242,10 @@ function Install({
519971
519242
  force,
519972
519243
  target
519973
519244
  }) {
519974
- const [state2, setState] = import_react335.useState({
519245
+ const [state2, setState] = import_react331.useState({
519975
519246
  type: "checking"
519976
519247
  });
519977
- import_react335.useEffect(() => {
519248
+ import_react331.useEffect(() => {
519978
519249
  async function run() {
519979
519250
  try {
519980
519251
  logForDebugging(`Install: Starting installation process (force=${force}, target=${target})`);
@@ -520062,7 +519333,7 @@ function Install({
520062
519333
  }
520063
519334
  run();
520064
519335
  }, [force, target]);
520065
- import_react335.useEffect(() => {
519336
+ import_react331.useEffect(() => {
520066
519337
  if (state2.type === "success") {
520067
519338
  setTimeout(onDone, 2000, "localclawd installation completed successfully", {
520068
519339
  display: "system"
@@ -520073,19 +519344,19 @@ function Install({
520073
519344
  });
520074
519345
  }
520075
519346
  }, [state2, onDone]);
520076
- return /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519347
+ return /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520077
519348
  flexDirection: "column",
520078
519349
  marginTop: 1,
520079
519350
  children: [
520080
- state2.type === "checking" && /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519351
+ state2.type === "checking" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520081
519352
  color: "claude",
520082
519353
  children: "Checking installation status..."
520083
519354
  }, undefined, false, undefined, this),
520084
- state2.type === "cleaning-npm" && /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519355
+ state2.type === "cleaning-npm" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520085
519356
  color: "warning",
520086
519357
  children: "Cleaning up old npm installations..."
520087
519358
  }, undefined, false, undefined, this),
520088
- state2.type === "installing" && /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519359
+ state2.type === "installing" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520089
519360
  color: "claude",
520090
519361
  children: [
520091
519362
  "Installing localclawd native build ",
@@ -520093,54 +519364,54 @@ function Install({
520093
519364
  "..."
520094
519365
  ]
520095
519366
  }, undefined, true, undefined, this),
520096
- state2.type === "setting-up" && /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519367
+ state2.type === "setting-up" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520097
519368
  color: "claude",
520098
519369
  children: "Setting up launcher and shell integration..."
520099
519370
  }, undefined, false, undefined, this),
520100
- state2.type === "set-up" && /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(SetupNotes, {
519371
+ state2.type === "set-up" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(SetupNotes, {
520101
519372
  messages: state2.messages
520102
519373
  }, undefined, false, undefined, this),
520103
- state2.type === "success" && /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519374
+ state2.type === "success" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520104
519375
  flexDirection: "column",
520105
519376
  gap: 1,
520106
519377
  children: [
520107
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519378
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520108
519379
  children: [
520109
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(StatusIcon, {
519380
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(StatusIcon, {
520110
519381
  status: "success",
520111
519382
  withSpace: true
520112
519383
  }, undefined, false, undefined, this),
520113
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519384
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520114
519385
  color: "success",
520115
519386
  bold: true,
520116
519387
  children: "localclawd successfully installed!"
520117
519388
  }, undefined, false, undefined, this)
520118
519389
  ]
520119
519390
  }, undefined, true, undefined, this),
520120
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519391
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520121
519392
  marginLeft: 2,
520122
519393
  flexDirection: "column",
520123
519394
  gap: 1,
520124
519395
  children: [
520125
- state2.version !== "current" && /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519396
+ state2.version !== "current" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520126
519397
  children: [
520127
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519398
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520128
519399
  dimColor: true,
520129
519400
  children: "Version: "
520130
519401
  }, undefined, false, undefined, this),
520131
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519402
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520132
519403
  color: "claude",
520133
519404
  children: state2.version
520134
519405
  }, undefined, false, undefined, this)
520135
519406
  ]
520136
519407
  }, undefined, true, undefined, this),
520137
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519408
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520138
519409
  children: [
520139
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519410
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520140
519411
  dimColor: true,
520141
519412
  children: "Location: "
520142
519413
  }, undefined, false, undefined, this),
520143
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519414
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520144
519415
  color: "text",
520145
519416
  children: getInstallationPath2()
520146
519417
  }, undefined, false, undefined, this)
@@ -520148,57 +519419,57 @@ function Install({
520148
519419
  }, undefined, true, undefined, this)
520149
519420
  ]
520150
519421
  }, undefined, true, undefined, this),
520151
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519422
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520152
519423
  marginLeft: 2,
520153
519424
  flexDirection: "column",
520154
519425
  gap: 1,
520155
- children: /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519426
+ children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520156
519427
  marginTop: 1,
520157
519428
  children: [
520158
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519429
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520159
519430
  dimColor: true,
520160
519431
  children: "Next: Run "
520161
519432
  }, undefined, false, undefined, this),
520162
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519433
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520163
519434
  color: "claude",
520164
519435
  bold: true,
520165
519436
  children: "localclawd --help"
520166
519437
  }, undefined, false, undefined, this),
520167
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519438
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520168
519439
  dimColor: true,
520169
519440
  children: " to get started"
520170
519441
  }, undefined, false, undefined, this)
520171
519442
  ]
520172
519443
  }, undefined, true, undefined, this)
520173
519444
  }, undefined, false, undefined, this),
520174
- state2.setupMessages && /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(SetupNotes, {
519445
+ state2.setupMessages && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(SetupNotes, {
520175
519446
  messages: state2.setupMessages
520176
519447
  }, undefined, false, undefined, this)
520177
519448
  ]
520178
519449
  }, undefined, true, undefined, this),
520179
- state2.type === "error" && /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519450
+ state2.type === "error" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520180
519451
  flexDirection: "column",
520181
519452
  gap: 1,
520182
519453
  children: [
520183
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519454
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520184
519455
  children: [
520185
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(StatusIcon, {
519456
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(StatusIcon, {
520186
519457
  status: "error",
520187
519458
  withSpace: true
520188
519459
  }, undefined, false, undefined, this),
520189
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519460
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520190
519461
  color: "error",
520191
519462
  children: "Installation failed"
520192
519463
  }, undefined, false, undefined, this)
520193
519464
  ]
520194
519465
  }, undefined, true, undefined, this),
520195
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519466
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520196
519467
  color: "error",
520197
519468
  children: state2.message
520198
519469
  }, undefined, false, undefined, this),
520199
- /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
519470
+ /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
520200
519471
  marginTop: 1,
520201
- children: /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
519472
+ children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
520202
519473
  dimColor: true,
520203
519474
  children: "Try running with --force to override checks"
520204
519475
  }, undefined, false, undefined, this)
@@ -520208,7 +519479,7 @@ function Install({
520208
519479
  ]
520209
519480
  }, undefined, true, undefined, this);
520210
519481
  }
520211
- var import_react335, jsx_dev_runtime500, install;
519482
+ var import_react331, jsx_dev_runtime496, install;
520212
519483
  var init_install = __esm(() => {
520213
519484
  init_StatusIcon();
520214
519485
  init_ink2();
@@ -520217,8 +519488,8 @@ var init_install = __esm(() => {
520217
519488
  init_errors();
520218
519489
  init_nativeInstaller();
520219
519490
  init_settings2();
520220
- import_react335 = __toESM(require_react(), 1);
520221
- 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);
520222
519493
  install = {
520223
519494
  type: "local-jsx",
520224
519495
  name: "install",
@@ -520230,7 +519501,7 @@ var init_install = __esm(() => {
520230
519501
  const target = nonFlagArgs[0];
520231
519502
  const {
520232
519503
  unmount
520233
- } = await render(/* @__PURE__ */ jsx_dev_runtime500.jsxDEV(Install, {
519504
+ } = await render(/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(Install, {
520234
519505
  onDone: (result, options) => {
520235
519506
  unmount();
520236
519507
  onDone(result, options);
@@ -520257,28 +519528,28 @@ async function setupTokenHandler(root3) {
520257
519528
  ConsoleOAuthFlow: ConsoleOAuthFlow2
520258
519529
  } = await Promise.resolve().then(() => (init_ConsoleOAuthFlow(), exports_ConsoleOAuthFlow));
520259
519530
  await new Promise((resolve40) => {
520260
- root3.render(/* @__PURE__ */ jsx_dev_runtime501.jsxDEV(AppStateProvider, {
519531
+ root3.render(/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(AppStateProvider, {
520261
519532
  onChangeAppState,
520262
- children: /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(KeybindingSetup, {
520263
- 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, {
520264
519535
  flexDirection: "column",
520265
519536
  gap: 1,
520266
519537
  children: [
520267
- /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(WelcomeV2, {}, undefined, false, undefined, this),
520268
- 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, {
520269
519540
  flexDirection: "column",
520270
519541
  children: [
520271
- /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(ThemedText, {
519542
+ /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedText, {
520272
519543
  color: "warning",
520273
519544
  children: "Warning: You already have authentication configured via environment variable or API key helper."
520274
519545
  }, undefined, false, undefined, this),
520275
- /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(ThemedText, {
519546
+ /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedText, {
520276
519547
  color: "warning",
520277
519548
  children: "The setup-token command will create a new OAuth token which you can use instead."
520278
519549
  }, undefined, false, undefined, this)
520279
519550
  ]
520280
519551
  }, undefined, true, undefined, this),
520281
- /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(ConsoleOAuthFlow2, {
519552
+ /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ConsoleOAuthFlow2, {
520282
519553
  onDone: () => {
520283
519554
  resolve40();
520284
519555
  },
@@ -520301,9 +519572,9 @@ function DoctorWithPlugins(t0) {
520301
519572
  useManagePlugins();
520302
519573
  let t1;
520303
519574
  if ($2[0] !== onDone) {
520304
- t1 = /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(import_react336.default.Suspense, {
519575
+ t1 = /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(import_react332.default.Suspense, {
520305
519576
  fallback: null,
520306
- children: /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(DoctorLazy, {
519577
+ children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(DoctorLazy, {
520307
519578
  onDone
520308
519579
  }, undefined, false, undefined, this)
520309
519580
  }, undefined, false, undefined, this);
@@ -520317,12 +519588,12 @@ function DoctorWithPlugins(t0) {
520317
519588
  async function doctorHandler(root3) {
520318
519589
  logEvent("tengu_doctor_command", {});
520319
519590
  await new Promise((resolve40) => {
520320
- root3.render(/* @__PURE__ */ jsx_dev_runtime501.jsxDEV(AppStateProvider, {
520321
- children: /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(KeybindingSetup, {
520322
- 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, {
520323
519594
  dynamicMcpConfig: undefined,
520324
519595
  isStrictMcpConfig: false,
520325
- children: /* @__PURE__ */ jsx_dev_runtime501.jsxDEV(DoctorWithPlugins, {
519596
+ children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(DoctorWithPlugins, {
520326
519597
  onDone: () => {
520327
519598
  resolve40();
520328
519599
  }
@@ -520354,7 +519625,7 @@ async function installHandler(target, options) {
520354
519625
  }, {}, args);
520355
519626
  });
520356
519627
  }
520357
- var import_react336, jsx_dev_runtime501, DoctorLazy;
519628
+ var import_react332, jsx_dev_runtime497, DoctorLazy;
520358
519629
  var init_util = __esm(() => {
520359
519630
  init_WelcomeV2();
520360
519631
  init_useManagePlugins();
@@ -520364,9 +519635,9 @@ var init_util = __esm(() => {
520364
519635
  init_AppState();
520365
519636
  init_onChangeAppState();
520366
519637
  init_auth2();
520367
- import_react336 = __toESM(require_react(), 1);
520368
- jsx_dev_runtime501 = __toESM(require_jsx_dev_runtime(), 1);
520369
- 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) => ({
520370
519641
  default: m2.Doctor
520371
519642
  })));
520372
519643
  });
@@ -520432,7 +519703,7 @@ __export(exports_update, {
520432
519703
  });
520433
519704
  async function update() {
520434
519705
  logEvent("tengu_update_check", {});
520435
- writeToStdout(`Current version: ${"1.1.11"}
519706
+ writeToStdout(`Current version: ${"1.1.13"}
520436
519707
  `);
520437
519708
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
520438
519709
  writeToStdout(`Checking for updates to ${channel} version...
@@ -520507,8 +519778,8 @@ async function update() {
520507
519778
  writeToStdout(`localclawd is managed by Homebrew.
520508
519779
  `);
520509
519780
  const latest = await getLatestVersion(channel);
520510
- if (latest && !gte("1.1.11", latest)) {
520511
- writeToStdout(`Update available: ${"1.1.11"} → ${latest}
519781
+ if (latest && !gte("1.1.13", latest)) {
519782
+ writeToStdout(`Update available: ${"1.1.13"} → ${latest}
520512
519783
  `);
520513
519784
  writeToStdout(`
520514
519785
  `);
@@ -520524,8 +519795,8 @@ async function update() {
520524
519795
  writeToStdout(`localclawd is managed by winget.
520525
519796
  `);
520526
519797
  const latest = await getLatestVersion(channel);
520527
- if (latest && !gte("1.1.11", latest)) {
520528
- writeToStdout(`Update available: ${"1.1.11"} → ${latest}
519798
+ if (latest && !gte("1.1.13", latest)) {
519799
+ writeToStdout(`Update available: ${"1.1.13"} → ${latest}
520529
519800
  `);
520530
519801
  writeToStdout(`
520531
519802
  `);
@@ -520539,8 +519810,8 @@ async function update() {
520539
519810
  writeToStdout(`localclawd is managed by apk.
520540
519811
  `);
520541
519812
  const latest = await getLatestVersion(channel);
520542
- if (latest && !gte("1.1.11", latest)) {
520543
- writeToStdout(`Update available: ${"1.1.11"} → ${latest}
519813
+ if (latest && !gte("1.1.13", latest)) {
519814
+ writeToStdout(`Update available: ${"1.1.13"} → ${latest}
520544
519815
  `);
520545
519816
  writeToStdout(`
520546
519817
  `);
@@ -520605,11 +519876,11 @@ async function update() {
520605
519876
  `);
520606
519877
  await gracefulShutdown(1);
520607
519878
  }
520608
- if (result.latestVersion === "1.1.11") {
520609
- writeToStdout(source_default.green(`localclawd is up to date (${"1.1.11"})`) + `
519879
+ if (result.latestVersion === "1.1.13") {
519880
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.1.13"})`) + `
520610
519881
  `);
520611
519882
  } else {
520612
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.11"} to version ${result.latestVersion}`) + `
519883
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.13"} to version ${result.latestVersion}`) + `
520613
519884
  `);
520614
519885
  await regenerateCompletionCache();
520615
519886
  }
@@ -520669,12 +519940,12 @@ async function update() {
520669
519940
  `);
520670
519941
  await gracefulShutdown(1);
520671
519942
  }
520672
- if (latestVersion === "1.1.11") {
520673
- writeToStdout(source_default.green(`localclawd is up to date (${"1.1.11"})`) + `
519943
+ if (latestVersion === "1.1.13") {
519944
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.1.13"})`) + `
520674
519945
  `);
520675
519946
  await gracefulShutdown(0);
520676
519947
  }
520677
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.11"})
519948
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.13"})
520678
519949
  `);
520679
519950
  writeToStdout(`Installing update...
520680
519951
  `);
@@ -520719,7 +519990,7 @@ async function update() {
520719
519990
  logForDebugging(`update: Installation status: ${status2}`);
520720
519991
  switch (status2) {
520721
519992
  case "success":
520722
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.11"} to version ${latestVersion}`) + `
519993
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.13"} to version ${latestVersion}`) + `
520723
519994
  `);
520724
519995
  await regenerateCompletionCache();
520725
519996
  break;
@@ -521984,7 +521255,7 @@ ${customInstructions}` : customInstructions;
521984
521255
  }
521985
521256
  }
521986
521257
  logForDiagnosticsNoPII("info", "started", {
521987
- version: "1.1.11",
521258
+ version: "1.1.13",
521988
521259
  is_native_binary: isInBundledMode()
521989
521260
  });
521990
521261
  registerCleanup(async () => {
@@ -522768,7 +522039,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
522768
522039
  pendingHookMessages
522769
522040
  }, renderAndRun);
522770
522041
  }
522771
- }).version("1.1.11 (localClawd)", "-v, --version", "Output the version number");
522042
+ }).version("1.1.13 (localClawd)", "-v, --version", "Output the version number");
522772
522043
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
522773
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.");
522774
522045
  if (canUserConfigureAdvisor()) {
@@ -523276,7 +522547,7 @@ if (false) {}
523276
522547
  async function main2() {
523277
522548
  const args = process.argv.slice(2);
523278
522549
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
523279
- console.log(`${"1.1.11"} (localclawd)`);
522550
+ console.log(`${"1.1.13"} (localclawd)`);
523280
522551
  return;
523281
522552
  }
523282
522553
  const {
@@ -523360,4 +522631,4 @@ async function main2() {
523360
522631
  }
523361
522632
  main2();
523362
522633
 
523363
- //# debugId=A19C602AE08D364F64756E2164756E21
522634
+ //# debugId=DADB345C47F11DBA64756E2164756E21