@proxysoul/soulforge 1.7.0 → 1.7.2

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.
package/dist/index.js CHANGED
@@ -27639,6 +27639,18 @@ var init_anthropic = __esm(() => {
27639
27639
  return result;
27640
27640
  },
27641
27641
  fallbackModels: [{
27642
+ id: "claude-opus-4-6",
27643
+ name: "Claude Opus 4.6"
27644
+ }, {
27645
+ id: "claude-sonnet-4-6",
27646
+ name: "Claude Sonnet 4.6"
27647
+ }, {
27648
+ id: "claude-opus-4-5",
27649
+ name: "Claude Opus 4.5"
27650
+ }, {
27651
+ id: "claude-sonnet-4-5",
27652
+ name: "Claude Sonnet 4.5"
27653
+ }, {
27642
27654
  id: "claude-opus-4",
27643
27655
  name: "Claude Opus 4"
27644
27656
  }, {
@@ -44446,6 +44458,18 @@ var init_proxy = __esm(() => {
44446
44458
  stopProxy();
44447
44459
  },
44448
44460
  fallbackModels: [{
44461
+ id: "claude-opus-4-6",
44462
+ name: "Claude Opus 4.6"
44463
+ }, {
44464
+ id: "claude-sonnet-4-6",
44465
+ name: "Claude Sonnet 4.6"
44466
+ }, {
44467
+ id: "claude-opus-4-5",
44468
+ name: "Claude Opus 4.5"
44469
+ }, {
44470
+ id: "claude-sonnet-4-5",
44471
+ name: "Claude Sonnet 4.5"
44472
+ }, {
44449
44473
  id: "claude-sonnet-4-20250514",
44450
44474
  name: "Claude Sonnet 4"
44451
44475
  }, {
@@ -57814,7 +57838,7 @@ var package_default;
57814
57838
  var init_package = __esm(() => {
57815
57839
  package_default = {
57816
57840
  name: "@proxysoul/soulforge",
57817
- version: "1.7.0",
57841
+ version: "1.7.2",
57818
57842
  description: "Graph-powered code intelligence \u2014 multi-agent coding with codebase-aware AI",
57819
57843
  repository: {
57820
57844
  type: "git",
@@ -312696,13 +312720,16 @@ class RepoMap {
312696
312720
  });
312697
312721
  }
312698
312722
  const stale = [...existingFiles.keys()].filter((p) => !currentPaths.has(p));
312699
- if (stale.length > 0) {
312723
+ const staleRatio = existingFiles.size > 0 ? stale.length / existingFiles.size : 0;
312724
+ if (stale.length > 0 && staleRatio < 0.8) {
312700
312725
  const deleteFile = this.db.prepare("DELETE FROM files WHERE path = ?");
312701
312726
  const tx = this.db.transaction(() => {
312702
312727
  for (const p of stale)
312703
312728
  deleteFile.run(p);
312704
312729
  });
312705
312730
  tx();
312731
+ } else if (stale.length > 0) {
312732
+ this.onError?.(`Skipped removing ${String(stale.length)} files \u2014 looks like a file listing error (${String(Math.round(staleRatio * 100))}% stale). Use /repo-map \u2192 [X] clear to force.`);
312706
312733
  }
312707
312734
  if (toIndex.length > 0) {
312708
312735
  this.onProgress?.(0, toIndex.length);
@@ -312727,7 +312754,8 @@ class RepoMap {
312727
312754
  this.onProgress?.(toIndex.length, toIndex.length);
312728
312755
  }
312729
312756
  const edgeCount = this.db.query("SELECT COUNT(*) as c FROM edges").get()?.c ?? 0;
312730
- const needsPostIndexing = toIndex.length > 0 || stale.length > 0 || edgeCount === 0;
312757
+ const fileCount = this.db.query("SELECT COUNT(*) as c FROM files").get()?.c ?? 0;
312758
+ const needsPostIndexing = toIndex.length > 0 || stale.length > 0 || fileCount > 0 && edgeCount === 0;
312731
312759
  if (needsPostIndexing) {
312732
312760
  this.onProgress?.(-1, -1);
312733
312761
  await tick();
@@ -360704,10 +360732,11 @@ A Soul Map is loaded in context \u2014 every file, exported symbol, signature, l
360704
360732
  4. Before editing a file with blast radius (\u2192N) > 10, call soul_impact to check dependents and cochanges. Cochanges reveal files that historically change together \u2014 you may need to update them too.
360705
360733
  5. To find a symbol's definition or callers, use navigate \u2014 not grep.
360706
360734
  6. To search code, use soul_grep \u2014 not grep. soul_grep has repo-map intercept and symbol context.
360707
- 7. When editing, always provide lineStart from your read_file output \u2014 the range is derived from oldString line count. This is the most reliable edit method.
360708
- 8. After every edit, call project (typecheck/test) to verify.
360709
- 9. Batch ALL independent reads/searches in one parallel call. Never read the same file twice.
360710
- 10. Use multi_edit for multiple changes to the same file \u2014 it's atomic and runs diagnostics once.
360735
+ 7. Use navigate(symbols, file) or navigate(definition) to inspect dependency types \u2014 e.g. node_modules (*.d.ts), *.pyi stubs, *.rbi, C/C++ headers, *.java in jars. LSP resolves inheritance chains automatically and shows all members including inherited ones in one call.
360736
+ 8. When editing, always provide lineStart from your read_file output \u2014 the range is derived from oldString line count. This is the most reliable edit method.
360737
+ 9. After every edit, call project (typecheck/test) to verify.
360738
+ 10. Batch ALL independent reads/searches in one parallel call. Never read the same file twice.
360739
+ 11. Use multi_edit for multiple changes to the same file \u2014 it's atomic and runs diagnostics once.
360711
360740
  Each tool call round-trip resends the full conversation \u2014 every extra round costs thousands of tokens.`, TOOL_GUIDANCE_NO_MAP = `# Tool usage
360712
360741
  If you intend to call multiple tools with no dependencies between them, make all independent calls in the same block.
360713
360742
  Each tool call round-trip resends the entire conversation \u2014 minimize the number of steps.`;
@@ -442709,36 +442738,21 @@ var init_diff2 = __esm(() => {
442709
442738
 
442710
442739
  // src/components/chat/DiffView.tsx
442711
442740
  import { readFile as readFile21 } from "fs/promises";
442712
- function toUnifiedDiff(filePath, oldStr, newStr) {
442713
- const oldLines = oldStr.split(`
442714
- `);
442715
- const newLines = newStr.split(`
442716
- `);
442717
- const header = [`--- a/${filePath}`, `+++ b/${filePath}`, `@@ -1,${String(oldLines.length)} +1,${String(newLines.length)} @@`];
442741
+ function toUnifiedDiff(filePath, diffLines) {
442742
+ let oldCount = 0;
442743
+ let newCount = 0;
442718
442744
  const body4 = [];
442719
- const maxOld = oldLines.length;
442720
- const maxNew = newLines.length;
442721
- let oi = 0;
442722
- let ni = 0;
442723
- while (oi < maxOld && ni < maxNew) {
442724
- if (oldLines[oi] === newLines[ni]) {
442725
- body4.push(` ${oldLines[oi]}`);
442726
- oi++;
442727
- ni++;
442728
- } else {
442729
- body4.push(`-${oldLines[oi]}`);
442730
- oi++;
442731
- }
442732
- }
442733
- while (ni < maxNew) {
442734
- body4.push(`+${newLines[ni]}`);
442735
- ni++;
442736
- }
442737
- while (oi < maxOld) {
442738
- body4.push(`-${oldLines[oi]}`);
442739
- oi++;
442740
- }
442741
- return [...header, ...body4].join(`
442745
+ for (const line2 of diffLines) {
442746
+ if (line2.kind === "collapsed")
442747
+ continue;
442748
+ const prefix = line2.kind === "add" ? "+" : line2.kind === "remove" ? "-" : " ";
442749
+ body4.push(`${prefix}${line2.content}`);
442750
+ if (line2.kind !== "add")
442751
+ oldCount++;
442752
+ if (line2.kind !== "remove")
442753
+ newCount++;
442754
+ }
442755
+ return [`--- a/${filePath}`, `+++ b/${filePath}`, `@@ -1,${String(oldCount)} +1,${String(newCount)} @@`, ...body4].join(`
442742
442756
  `);
442743
442757
  }
442744
442758
  function _temp15() {}
@@ -442752,7 +442766,7 @@ var init_DiffView = __esm(async () => {
442752
442766
  import_compiler_runtime15 = __toESM(require_compiler_runtime(), 1);
442753
442767
  import_react36 = __toESM(require_react(), 1);
442754
442768
  DiffView = import_react36.memo(function DiffView2(t0) {
442755
- const $5 = import_compiler_runtime15.c(76);
442769
+ const $5 = import_compiler_runtime15.c(75);
442756
442770
  const {
442757
442771
  filePath,
442758
442772
  oldString,
@@ -442848,14 +442862,13 @@ var init_DiffView = __esm(async () => {
442848
442862
  break bb1;
442849
442863
  }
442850
442864
  let t82;
442851
- if ($5[13] !== filePath || $5[14] !== newString || $5[15] !== oldString) {
442852
- t82 = toUnifiedDiff(filePath, oldString, newString);
442853
- $5[13] = filePath;
442854
- $5[14] = newString;
442855
- $5[15] = oldString;
442856
- $5[16] = t82;
442865
+ if ($5[13] !== computed.lines || $5[14] !== filePath) {
442866
+ t82 = toUnifiedDiff(filePath, computed.lines);
442867
+ $5[13] = computed.lines;
442868
+ $5[14] = filePath;
442869
+ $5[15] = t82;
442857
442870
  } else {
442858
- t82 = $5[16];
442871
+ t82 = $5[15];
442859
442872
  }
442860
442873
  t7 = t82;
442861
442874
  }
@@ -442863,7 +442876,7 @@ var init_DiffView = __esm(async () => {
442863
442876
  const viewMode = mode === "sidebyside" ? "split" : "unified";
442864
442877
  if (mode === "compact") {
442865
442878
  let t82;
442866
- if ($5[17] !== diffIcon || $5[18] !== iconColor) {
442879
+ if ($5[16] !== diffIcon || $5[17] !== iconColor) {
442867
442880
  t82 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
442868
442881
  fg: iconColor,
442869
442882
  children: [
@@ -442871,26 +442884,26 @@ var init_DiffView = __esm(async () => {
442871
442884
  " "
442872
442885
  ]
442873
442886
  }, undefined, true, undefined, this);
442874
- $5[17] = diffIcon;
442875
- $5[18] = iconColor;
442876
- $5[19] = t82;
442887
+ $5[16] = diffIcon;
442888
+ $5[17] = iconColor;
442889
+ $5[18] = t82;
442877
442890
  } else {
442878
- t82 = $5[19];
442891
+ t82 = $5[18];
442879
442892
  }
442880
442893
  let t92;
442881
- if ($5[20] !== filePath || $5[21] !== t2.textPrimary) {
442894
+ if ($5[19] !== filePath || $5[20] !== t2.textPrimary) {
442882
442895
  t92 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
442883
442896
  fg: t2.textPrimary,
442884
442897
  children: filePath
442885
442898
  }, undefined, false, undefined, this);
442886
- $5[20] = filePath;
442887
- $5[21] = t2.textPrimary;
442888
- $5[22] = t92;
442899
+ $5[19] = filePath;
442900
+ $5[20] = t2.textPrimary;
442901
+ $5[21] = t92;
442889
442902
  } else {
442890
- t92 = $5[22];
442903
+ t92 = $5[21];
442891
442904
  }
442892
442905
  let t102;
442893
- if ($5[23] !== computed || $5[24] !== errorMessage || $5[25] !== success2 || $5[26] !== t2.error || $5[27] !== t2.success) {
442906
+ if ($5[22] !== computed || $5[23] !== errorMessage || $5[24] !== success2 || $5[25] !== t2.error || $5[26] !== t2.success) {
442894
442907
  t102 = !success2 ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
442895
442908
  fg: t2.error,
442896
442909
  children: [
@@ -442915,17 +442928,17 @@ var init_DiffView = __esm(async () => {
442915
442928
  }, undefined, true, undefined, this) : null
442916
442929
  ]
442917
442930
  }, undefined, true, undefined, this) : null;
442918
- $5[23] = computed;
442919
- $5[24] = errorMessage;
442920
- $5[25] = success2;
442921
- $5[26] = t2.error;
442922
- $5[27] = t2.success;
442923
- $5[28] = t102;
442931
+ $5[22] = computed;
442932
+ $5[23] = errorMessage;
442933
+ $5[24] = success2;
442934
+ $5[25] = t2.error;
442935
+ $5[26] = t2.success;
442936
+ $5[27] = t102;
442924
442937
  } else {
442925
- t102 = $5[28];
442938
+ t102 = $5[27];
442926
442939
  }
442927
442940
  let t112;
442928
- if ($5[29] !== t102 || $5[30] !== t82 || $5[31] !== t92) {
442941
+ if ($5[28] !== t102 || $5[29] !== t82 || $5[30] !== t92) {
442929
442942
  t112 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
442930
442943
  minHeight: 1,
442931
442944
  flexShrink: 0,
@@ -442938,64 +442951,64 @@ var init_DiffView = __esm(async () => {
442938
442951
  ]
442939
442952
  }, undefined, true, undefined, this)
442940
442953
  }, undefined, false, undefined, this);
442941
- $5[29] = t102;
442942
- $5[30] = t82;
442943
- $5[31] = t92;
442944
- $5[32] = t112;
442954
+ $5[28] = t102;
442955
+ $5[29] = t82;
442956
+ $5[30] = t92;
442957
+ $5[31] = t112;
442945
442958
  } else {
442946
- t112 = $5[32];
442959
+ t112 = $5[31];
442947
442960
  }
442948
442961
  return t112;
442949
442962
  }
442950
442963
  let t8;
442951
- if ($5[33] !== diffIcon || $5[34] !== iconColor) {
442964
+ if ($5[32] !== diffIcon || $5[33] !== iconColor) {
442952
442965
  t8 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
442953
442966
  fg: iconColor,
442954
442967
  children: diffIcon
442955
442968
  }, undefined, false, undefined, this);
442956
- $5[33] = diffIcon;
442957
- $5[34] = iconColor;
442958
- $5[35] = t8;
442969
+ $5[32] = diffIcon;
442970
+ $5[33] = iconColor;
442971
+ $5[34] = t8;
442959
442972
  } else {
442960
- t8 = $5[35];
442973
+ t8 = $5[34];
442961
442974
  }
442962
442975
  let t9;
442963
- if ($5[36] !== t2.brand || $5[37] !== verb) {
442976
+ if ($5[35] !== t2.brand || $5[36] !== verb) {
442964
442977
  t9 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
442965
442978
  fg: t2.brand,
442966
442979
  children: verb
442967
442980
  }, undefined, false, undefined, this);
442968
- $5[36] = t2.brand;
442969
- $5[37] = verb;
442970
- $5[38] = t9;
442981
+ $5[35] = t2.brand;
442982
+ $5[36] = verb;
442983
+ $5[37] = t9;
442971
442984
  } else {
442972
- t9 = $5[38];
442985
+ t9 = $5[37];
442973
442986
  }
442974
442987
  let t10;
442975
- if ($5[39] !== t2.border) {
442988
+ if ($5[38] !== t2.border) {
442976
442989
  t10 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
442977
442990
  fg: t2.border,
442978
442991
  children: " \u2500 "
442979
442992
  }, undefined, false, undefined, this);
442980
- $5[39] = t2.border;
442981
- $5[40] = t10;
442993
+ $5[38] = t2.border;
442994
+ $5[39] = t10;
442982
442995
  } else {
442983
- t10 = $5[40];
442996
+ t10 = $5[39];
442984
442997
  }
442985
442998
  let t11;
442986
- if ($5[41] !== filePath || $5[42] !== t2.textPrimary) {
442999
+ if ($5[40] !== filePath || $5[41] !== t2.textPrimary) {
442987
443000
  t11 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
442988
443001
  fg: t2.textPrimary,
442989
443002
  children: filePath
442990
443003
  }, undefined, false, undefined, this);
442991
- $5[41] = filePath;
442992
- $5[42] = t2.textPrimary;
442993
- $5[43] = t11;
443004
+ $5[40] = filePath;
443005
+ $5[41] = t2.textPrimary;
443006
+ $5[42] = t11;
442994
443007
  } else {
442995
- t11 = $5[43];
443008
+ t11 = $5[42];
442996
443009
  }
442997
443010
  let t12;
442998
- if ($5[44] !== computed || $5[45] !== success2 || $5[46] !== t2.error || $5[47] !== t2.success) {
443011
+ if ($5[43] !== computed || $5[44] !== success2 || $5[45] !== t2.error || $5[46] !== t2.success) {
442999
443012
  t12 = success2 && computed ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
443000
443013
  children: [
443001
443014
  computed.added > 0 ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
@@ -443014,16 +443027,16 @@ var init_DiffView = __esm(async () => {
443014
443027
  }, undefined, true, undefined, this) : null
443015
443028
  ]
443016
443029
  }, undefined, true, undefined, this) : null;
443017
- $5[44] = computed;
443018
- $5[45] = success2;
443019
- $5[46] = t2.error;
443020
- $5[47] = t2.success;
443021
- $5[48] = t12;
443030
+ $5[43] = computed;
443031
+ $5[44] = success2;
443032
+ $5[45] = t2.error;
443033
+ $5[46] = t2.success;
443034
+ $5[47] = t12;
443022
443035
  } else {
443023
- t12 = $5[48];
443036
+ t12 = $5[47];
443024
443037
  }
443025
443038
  let t13;
443026
- if ($5[49] !== t10 || $5[50] !== t11 || $5[51] !== t12 || $5[52] !== t8 || $5[53] !== t9) {
443039
+ if ($5[48] !== t10 || $5[49] !== t11 || $5[50] !== t12 || $5[51] !== t8 || $5[52] !== t9) {
443027
443040
  t13 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
443028
443041
  truncate: true,
443029
443042
  children: [
@@ -443035,17 +443048,17 @@ var init_DiffView = __esm(async () => {
443035
443048
  t12
443036
443049
  ]
443037
443050
  }, undefined, true, undefined, this);
443038
- $5[49] = t10;
443039
- $5[50] = t11;
443040
- $5[51] = t12;
443041
- $5[52] = t8;
443042
- $5[53] = t9;
443043
- $5[54] = t13;
443051
+ $5[48] = t10;
443052
+ $5[49] = t11;
443053
+ $5[50] = t12;
443054
+ $5[51] = t8;
443055
+ $5[52] = t9;
443056
+ $5[53] = t13;
443044
443057
  } else {
443045
- t13 = $5[54];
443058
+ t13 = $5[53];
443046
443059
  }
443047
443060
  let t14;
443048
- if ($5[55] !== t2.bgElevated || $5[56] !== t13) {
443061
+ if ($5[54] !== t2.bgElevated || $5[55] !== t13) {
443049
443062
  t14 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
443050
443063
  height: 1,
443051
443064
  flexShrink: 0,
@@ -443055,14 +443068,14 @@ var init_DiffView = __esm(async () => {
443055
443068
  marginTop: -1,
443056
443069
  children: t13
443057
443070
  }, undefined, false, undefined, this);
443058
- $5[55] = t2.bgElevated;
443059
- $5[56] = t13;
443060
- $5[57] = t14;
443071
+ $5[54] = t2.bgElevated;
443072
+ $5[55] = t13;
443073
+ $5[56] = t14;
443061
443074
  } else {
443062
- t14 = $5[57];
443075
+ t14 = $5[56];
443063
443076
  }
443064
443077
  let t15;
443065
- if ($5[58] !== computed || $5[59] !== errorMessage || $5[60] !== isLarge || $5[61] !== lang254 || $5[62] !== success2 || $5[63] !== t2.diffAddedBg || $5[64] !== t2.diffAddedSign || $5[65] !== t2.diffRemovedBg || $5[66] !== t2.diffRemovedSign || $5[67] !== t2.error || $5[68] !== t2.textMuted || $5[69] !== unifiedDiff || $5[70] !== viewMode) {
443078
+ if ($5[57] !== computed || $5[58] !== errorMessage || $5[59] !== isLarge || $5[60] !== lang254 || $5[61] !== success2 || $5[62] !== t2.diffAddedBg || $5[63] !== t2.diffAddedSign || $5[64] !== t2.diffRemovedBg || $5[65] !== t2.diffRemovedSign || $5[66] !== t2.error || $5[67] !== t2.textMuted || $5[68] !== unifiedDiff || $5[69] !== viewMode) {
443066
443079
  t15 = !success2 ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
443067
443080
  paddingX: 1,
443068
443081
  children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
@@ -443096,25 +443109,25 @@ var init_DiffView = __esm(async () => {
443096
443109
  addedSignColor: t2.diffAddedSign,
443097
443110
  removedSignColor: t2.diffRemovedSign
443098
443111
  }, undefined, false, undefined, this) : null;
443099
- $5[58] = computed;
443100
- $5[59] = errorMessage;
443101
- $5[60] = isLarge;
443102
- $5[61] = lang254;
443103
- $5[62] = success2;
443104
- $5[63] = t2.diffAddedBg;
443105
- $5[64] = t2.diffAddedSign;
443106
- $5[65] = t2.diffRemovedBg;
443107
- $5[66] = t2.diffRemovedSign;
443108
- $5[67] = t2.error;
443109
- $5[68] = t2.textMuted;
443110
- $5[69] = unifiedDiff;
443111
- $5[70] = viewMode;
443112
- $5[71] = t15;
443112
+ $5[57] = computed;
443113
+ $5[58] = errorMessage;
443114
+ $5[59] = isLarge;
443115
+ $5[60] = lang254;
443116
+ $5[61] = success2;
443117
+ $5[62] = t2.diffAddedBg;
443118
+ $5[63] = t2.diffAddedSign;
443119
+ $5[64] = t2.diffRemovedBg;
443120
+ $5[65] = t2.diffRemovedSign;
443121
+ $5[66] = t2.error;
443122
+ $5[67] = t2.textMuted;
443123
+ $5[68] = unifiedDiff;
443124
+ $5[69] = viewMode;
443125
+ $5[70] = t15;
443113
443126
  } else {
443114
- t15 = $5[71];
443127
+ t15 = $5[70];
443115
443128
  }
443116
443129
  let t16;
443117
- if ($5[72] !== t2.border || $5[73] !== t14 || $5[74] !== t15) {
443130
+ if ($5[71] !== t2.border || $5[72] !== t14 || $5[73] !== t15) {
443118
443131
  t16 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
443119
443132
  flexDirection: "column",
443120
443133
  flexShrink: 0,
@@ -443126,12 +443139,12 @@ var init_DiffView = __esm(async () => {
443126
443139
  t15
443127
443140
  ]
443128
443141
  }, undefined, true, undefined, this);
443129
- $5[72] = t2.border;
443130
- $5[73] = t14;
443131
- $5[74] = t15;
443132
- $5[75] = t16;
443142
+ $5[71] = t2.border;
443143
+ $5[72] = t14;
443144
+ $5[73] = t15;
443145
+ $5[74] = t16;
443133
443146
  } else {
443134
- t16 = $5[75];
443147
+ t16 = $5[74];
443135
443148
  }
443136
443149
  return t16;
443137
443150
  });
@@ -449955,98 +449968,29 @@ var init_ScanDivider = __esm(() => {
449955
449968
  });
449956
449969
 
449957
449970
  // src/components/layout/LandingPage.tsx
449958
- function hexToRgb2(hex3) {
449959
- let h3 = hex3.slice(1);
449960
- if (h3.length <= 4)
449961
- h3 = [...h3].map((c) => c + c).join("");
449962
- const n = Number.parseInt(h3, 16);
449963
- return [n >> 16 & 255, n >> 8 & 255, n & 255];
449964
- }
449965
- function lerpHex(a2, b5, t2) {
449966
- const [r1, g1, b1] = hexToRgb2(a2);
449967
- const [r22, g22, b22] = hexToRgb2(b5);
449968
- const r4 = Math.round(r1 + (r22 - r1) * t2);
449969
- const g3 = Math.round(g1 + (g22 - g1) * t2);
449970
- const bl = Math.round(b1 + (b22 - b1) * t2);
449971
- return `#${r4.toString(16).padStart(2, "0")}${g3.toString(16).padStart(2, "0")}${bl.toString(16).padStart(2, "0")}`;
449972
- }
449973
- function GradientLine(t0) {
449974
- const $5 = import_compiler_runtime27.c(9);
449975
- const {
449976
- text: text3,
449977
- from,
449978
- to,
449979
- revealedChars
449980
- } = t0;
449981
- const tk = useTheme();
449982
- const len = text3.length;
449983
- if (len === 0) {
449984
- return null;
449985
- }
449986
- const reveal = revealedChars ?? len;
449987
- let segments;
449988
- if ($5[0] !== from || $5[1] !== len || $5[2] !== reveal || $5[3] !== text3 || $5[4] !== tk || $5[5] !== to) {
449989
- segments = [];
449990
- for (let i4 = 0;i4 < len; i4 = i4 + 4, i4) {
449991
- const slice = text3.slice(i4, i4 + 4);
449992
- const t2 = len > 1 ? i4 / (len - 1) : 0;
449993
- if (i4 >= reveal) {
449994
- segments.push({
449995
- chars: slice.replace(/[^ ]/g, " "),
449996
- color: tk.bgPopupHighlight
449997
- });
449998
- } else {
449999
- if (i4 + 4 > reveal) {
450000
- const visCount = reveal - i4;
450001
- const vis = slice.slice(0, visCount);
450002
- const hid = slice.slice(visCount).replace(/[^ ]/g, " ");
450003
- segments.push({
450004
- chars: vis + hid,
450005
- color: lerpHex(from, to, t2)
450006
- });
450007
- } else {
450008
- segments.push({
450009
- chars: slice,
450010
- color: lerpHex(from, to, t2)
450011
- });
450012
- }
450013
- }
450014
- }
450015
- $5[0] = from;
450016
- $5[1] = len;
450017
- $5[2] = reveal;
450018
- $5[3] = text3;
450019
- $5[4] = tk;
450020
- $5[5] = to;
450021
- $5[6] = segments;
450022
- } else {
450023
- segments = $5[6];
450024
- }
450025
- let t1;
450026
- if ($5[7] !== segments) {
450027
- t1 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450028
- flexDirection: "row",
450029
- children: segments.map(_temp41)
450030
- }, undefined, false, undefined, this);
450031
- $5[7] = segments;
450032
- $5[8] = t1;
450033
- } else {
450034
- t1 = $5[8];
450035
- }
450036
- return t1;
450037
- }
450038
- function _temp41(seg, i_0) {
450039
- return /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450040
- fg: seg.color,
450041
- attributes: TextAttributes.BOLD,
450042
- children: seg.chars
450043
- }, i_0, false, undefined, this);
449971
+ function getTimeGreeting() {
449972
+ const h3 = new Date().getHours();
449973
+ if (h3 < 6)
449974
+ return "The forge burns at midnight.";
449975
+ if (h3 < 12)
449976
+ return "Morning forge session. Coffee recommended.";
449977
+ if (h3 < 17)
449978
+ return "Afternoon forging in progress.";
449979
+ if (h3 < 21)
449980
+ return "Evening session. The runes glow brighter at dusk.";
449981
+ return "Late night forging. The spirits are restless.";
449982
+ }
449983
+ function pickQuip() {
449984
+ if (Math.random() < 0.3)
449985
+ return getTimeGreeting();
449986
+ return IDLE_QUIPS[Math.floor(Math.random() * IDLE_QUIPS.length)];
450044
449987
  }
450045
449988
  function LandingPage(t0) {
450046
- const $5 = import_compiler_runtime27.c(103);
449989
+ const $5 = import_compiler_runtime27.c(76);
450047
449990
  const {
450048
449991
  bootProviders,
450049
- bootPrereqs
449992
+ bootPrereqs,
449993
+ activeModel
450050
449994
  } = t0;
450051
449995
  const tk = useTheme();
450052
449996
  const {
@@ -450057,31 +450001,19 @@ function LandingPage(t0) {
450057
450001
  const rows = height ?? 24;
450058
450002
  const compact = rows < 20;
450059
450003
  const showWordmark = columns >= 35;
450060
- const wordmarkW = showWordmark ? WORDMARK2[0]?.length ?? 0 : 0;
450061
- const totalChars = WORDMARK2[0]?.length ?? 0;
450062
- const [revealed, setRevealed] = import_react50.useState(0);
450063
- const revealDone = revealed >= totalChars;
450004
+ const [tick, setTick] = import_react50.useState(0);
450064
450005
  let t1;
450065
450006
  let t2;
450066
- if ($5[0] !== revealDone) {
450007
+ if ($5[0] !== tick) {
450067
450008
  t1 = () => {
450068
- if (revealDone) {
450009
+ if (tick >= 14) {
450069
450010
  return;
450070
450011
  }
450071
- const timer = setInterval(() => {
450072
- setRevealed((r4) => {
450073
- const next = r4 + 2;
450074
- if (next >= totalChars) {
450075
- clearInterval(timer);
450076
- return totalChars;
450077
- }
450078
- return next;
450079
- });
450080
- }, 25);
450012
+ const timer = setInterval(() => setTick(_temp41), 60);
450081
450013
  return () => clearInterval(timer);
450082
450014
  };
450083
- t2 = [totalChars, revealDone];
450084
- $5[0] = revealDone;
450015
+ t2 = [tick];
450016
+ $5[0] = tick;
450085
450017
  $5[1] = t1;
450086
450018
  $5[2] = t2;
450087
450019
  } else {
@@ -450090,296 +450022,231 @@ function LandingPage(t0) {
450090
450022
  }
450091
450023
  import_react50.useEffect(t1, t2);
450092
450024
  let t3;
450093
- if ($5[3] !== tk.brand || $5[4] !== tk.brandAlt || $5[5] !== tk.brandDim) {
450094
- t3 = [tk.brandDim, tk.brand, tk.brandAlt, tk.brand, tk.brandDim];
450095
- $5[3] = tk.brand;
450096
- $5[4] = tk.brandAlt;
450097
- $5[5] = tk.brandDim;
450098
- $5[6] = t3;
450025
+ if ($5[3] !== tick) {
450026
+ t3 = tick < GHOST_FADE.length ? GHOST_FADE[tick] ?? "\u2591" : icon("ghost");
450027
+ $5[3] = tick;
450028
+ $5[4] = t3;
450099
450029
  } else {
450100
- t3 = $5[6];
450030
+ t3 = $5[4];
450101
450031
  }
450102
- const glowCycle = t3;
450103
- const [glowIdx, setGlowIdx] = import_react50.useState(0);
450032
+ const ghostChar = t3;
450033
+ const wordmarkGarbled = tick < 5;
450034
+ const taglineReady = tick >= 6;
450035
+ const statusReady = tick >= 8;
450036
+ const hintsReady = tick >= 10;
450037
+ const wispFrame = WISP_FRAMES[tick % WISP_FRAMES.length] ?? "";
450104
450038
  let t4;
450105
- if ($5[7] !== glowCycle.length) {
450106
- t4 = () => {
450107
- const timer_0 = setInterval(() => setGlowIdx((g3) => (g3 + 1) % glowCycle.length), 400);
450108
- return () => clearInterval(timer_0);
450109
- };
450110
- $5[7] = glowCycle.length;
450039
+ if ($5[5] !== tk.brand || $5[6] !== tk.brandAlt || $5[7] !== tk.brandDim) {
450040
+ t4 = [tk.brand, tk.brand, tk.brandAlt, tk.brand, tk.brand, tk.brandDim];
450041
+ $5[5] = tk.brand;
450042
+ $5[6] = tk.brandAlt;
450043
+ $5[7] = tk.brandDim;
450111
450044
  $5[8] = t4;
450112
450045
  } else {
450113
450046
  t4 = $5[8];
450114
450047
  }
450048
+ const glowCycle = t4;
450049
+ const [glowIdx, setGlowIdx] = import_react50.useState(0);
450115
450050
  let t5;
450116
- if ($5[9] !== glowCycle) {
450117
- t5 = [glowCycle];
450118
- $5[9] = glowCycle;
450119
- $5[10] = t5;
450120
- } else {
450121
- t5 = $5[10];
450122
- }
450123
- import_react50.useEffect(t4, t5);
450124
- const ghostColor = glowCycle[glowIdx] ?? tk.brand;
450125
- const [fadeStep, setFadeStep] = import_react50.useState(0);
450126
450051
  let t6;
450127
- let t7;
450128
- if ($5[11] !== fadeStep || $5[12] !== revealDone) {
450129
- t6 = () => {
450130
- if (fadeStep >= 3) {
450131
- return;
450132
- }
450133
- if (!revealDone) {
450052
+ if ($5[9] !== glowCycle || $5[10] !== tick) {
450053
+ t5 = () => {
450054
+ if (tick < GHOST_FADE.length) {
450134
450055
  return;
450135
450056
  }
450136
- const timer_1 = setTimeout(() => setFadeStep(_temp211), 120);
450137
- return () => clearTimeout(timer_1);
450057
+ const timer_0 = setInterval(() => setGlowIdx((g3) => (g3 + 1) % glowCycle.length), 2500);
450058
+ return () => clearInterval(timer_0);
450138
450059
  };
450139
- t7 = [fadeStep, revealDone];
450140
- $5[11] = fadeStep;
450141
- $5[12] = revealDone;
450142
- $5[13] = t6;
450143
- $5[14] = t7;
450060
+ t6 = [tick, glowCycle];
450061
+ $5[9] = glowCycle;
450062
+ $5[10] = tick;
450063
+ $5[11] = t5;
450064
+ $5[12] = t6;
450144
450065
  } else {
450145
- t6 = $5[13];
450146
- t7 = $5[14];
450066
+ t5 = $5[11];
450067
+ t6 = $5[12];
450147
450068
  }
450148
- import_react50.useEffect(t6, t7);
450069
+ import_react50.useEffect(t5, t6);
450070
+ const ghostColor = tick < GHOST_FADE.length ? tk.brand : glowCycle[glowIdx] ?? tk.brand;
450071
+ let t7;
450072
+ if ($5[13] === Symbol.for("react.memo_cache_sentinel")) {
450073
+ t7 = pickQuip();
450074
+ $5[13] = t7;
450075
+ } else {
450076
+ t7 = $5[13];
450077
+ }
450078
+ const quip = t7;
450149
450079
  let t8;
450150
- if ($5[15] !== bootProviders) {
450151
- t8 = bootProviders.filter(_temp311);
450152
- $5[15] = bootProviders;
450153
- $5[16] = t8;
450080
+ if ($5[14] !== bootProviders) {
450081
+ t8 = bootProviders.filter(_temp211);
450082
+ $5[14] = bootProviders;
450083
+ $5[15] = t8;
450154
450084
  } else {
450155
- t8 = $5[16];
450085
+ t8 = $5[15];
450156
450086
  }
450157
450087
  const activeProviders = t8;
450158
450088
  let t9;
450159
- if ($5[17] !== bootProviders) {
450160
- t9 = bootProviders.filter(_temp46);
450161
- $5[17] = bootProviders;
450162
- $5[18] = t9;
450089
+ if ($5[16] !== bootPrereqs) {
450090
+ t9 = bootPrereqs.filter(_temp311);
450091
+ $5[16] = bootPrereqs;
450092
+ $5[17] = t9;
450163
450093
  } else {
450164
- t9 = $5[18];
450094
+ t9 = $5[17];
450165
450095
  }
450166
- const inactiveProviders = t9;
450096
+ const missingRequired = t9;
450167
450097
  let t10;
450168
- if ($5[19] !== bootPrereqs) {
450169
- t10 = bootPrereqs.filter(_temp53);
450170
- $5[19] = bootPrereqs;
450171
- $5[20] = t10;
450098
+ if ($5[18] !== bootPrereqs) {
450099
+ t10 = bootPrereqs.every(_temp46);
450100
+ $5[18] = bootPrereqs;
450101
+ $5[19] = t10;
450172
450102
  } else {
450173
- t10 = $5[20];
450103
+ t10 = $5[19];
450174
450104
  }
450175
- const missingRequired = t10;
450105
+ const allToolsOk = t10;
450106
+ const anyProvider = activeProviders.length > 0;
450107
+ const divW = Math.min(WORDMARK[0]?.length ?? 30, columns - 8);
450176
450108
  let t11;
450177
- if ($5[21] !== bootPrereqs) {
450178
- t11 = bootPrereqs.every(_temp63);
450179
- $5[21] = bootPrereqs;
450180
- $5[22] = t11;
450109
+ if ($5[20] !== activeModel) {
450110
+ t11 = activeModel ? getShortModelLabel(activeModel) : null;
450111
+ $5[20] = activeModel;
450112
+ $5[21] = t11;
450181
450113
  } else {
450182
- t11 = $5[22];
450114
+ t11 = $5[21];
450183
450115
  }
450184
- const allToolsOk = t11;
450185
- const anyProvider = activeProviders.length > 0;
450186
- const maxProviderWidth = Math.floor(columns * 0.6);
450116
+ const modelLabel = t11;
450187
450117
  let t12;
450118
+ if ($5[22] !== ghostChar || $5[23] !== ghostColor) {
450119
+ t12 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450120
+ fg: ghostColor,
450121
+ attributes: BOLD3,
450122
+ children: ghostChar
450123
+ }, undefined, false, undefined, this);
450124
+ $5[22] = ghostChar;
450125
+ $5[23] = ghostColor;
450126
+ $5[24] = t12;
450127
+ } else {
450128
+ t12 = $5[24];
450129
+ }
450188
450130
  let t13;
450131
+ if ($5[25] !== tk.brandDim || $5[26] !== wispFrame) {
450132
+ t13 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450133
+ fg: tk.brandDim,
450134
+ attributes: DIM3,
450135
+ children: wispFrame
450136
+ }, undefined, false, undefined, this);
450137
+ $5[25] = tk.brandDim;
450138
+ $5[26] = wispFrame;
450139
+ $5[27] = t13;
450140
+ } else {
450141
+ t13 = $5[27];
450142
+ }
450189
450143
  let t14;
450144
+ if ($5[28] !== compact) {
450145
+ t14 = !compact && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450146
+ height: 1
450147
+ }, undefined, false, undefined, this);
450148
+ $5[28] = compact;
450149
+ $5[29] = t14;
450150
+ } else {
450151
+ t14 = $5[29];
450152
+ }
450190
450153
  let t15;
450154
+ if ($5[30] !== showWordmark || $5[31] !== tk.brand || $5[32] !== wordmarkGarbled) {
450155
+ t15 = showWordmark ? WORDMARK.map((line2) => /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450156
+ fg: tk.brand,
450157
+ attributes: BOLD3,
450158
+ children: wordmarkGarbled ? garble(line2) : line2
450159
+ }, line2, false, undefined, this)) : /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450160
+ fg: tk.brand,
450161
+ attributes: BOLD3,
450162
+ children: wordmarkGarbled ? garble("SOULFORGE") : "SOULFORGE"
450163
+ }, undefined, false, undefined, this);
450164
+ $5[30] = showWordmark;
450165
+ $5[31] = tk.brand;
450166
+ $5[32] = wordmarkGarbled;
450167
+ $5[33] = t15;
450168
+ } else {
450169
+ t15 = $5[33];
450170
+ }
450191
450171
  let t16;
450172
+ if ($5[34] !== taglineReady || $5[35] !== tk.textDim || $5[36] !== tk.textMuted) {
450173
+ t16 = taglineReady && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450174
+ flexDirection: "row",
450175
+ gap: 0,
450176
+ children: [
450177
+ /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450178
+ fg: tk.textDim,
450179
+ children: "\u2500\u2500 "
450180
+ }, undefined, false, undefined, this),
450181
+ /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450182
+ fg: tk.textMuted,
450183
+ attributes: ITALIC2,
450184
+ children: "Graph-Powered Code Intelligence"
450185
+ }, undefined, false, undefined, this),
450186
+ /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450187
+ fg: tk.textDim,
450188
+ children: " \u2500\u2500"
450189
+ }, undefined, false, undefined, this)
450190
+ ]
450191
+ }, undefined, true, undefined, this);
450192
+ $5[34] = taglineReady;
450193
+ $5[35] = tk.textDim;
450194
+ $5[36] = tk.textMuted;
450195
+ $5[37] = t16;
450196
+ } else {
450197
+ t16 = $5[37];
450198
+ }
450192
450199
  let t17;
450200
+ if ($5[38] !== compact) {
450201
+ t17 = !compact && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450202
+ height: 1
450203
+ }, undefined, false, undefined, this);
450204
+ $5[38] = compact;
450205
+ $5[39] = t17;
450206
+ } else {
450207
+ t17 = $5[39];
450208
+ }
450193
450209
  let t18;
450210
+ if ($5[40] !== divW) {
450211
+ t18 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(ScanDivider, {
450212
+ width: divW
450213
+ }, undefined, false, undefined, this);
450214
+ $5[40] = divW;
450215
+ $5[41] = t18;
450216
+ } else {
450217
+ t18 = $5[41];
450218
+ }
450194
450219
  let t19;
450220
+ if ($5[42] !== compact || $5[43] !== taglineReady || $5[44] !== tk.brandAlt) {
450221
+ t19 = taglineReady && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
450222
+ children: [
450223
+ !compact && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450224
+ height: 1
450225
+ }, undefined, false, undefined, this),
450226
+ /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450227
+ fg: tk.brandAlt,
450228
+ attributes: ITALIC2,
450229
+ children: quip
450230
+ }, undefined, false, undefined, this)
450231
+ ]
450232
+ }, undefined, true, undefined, this);
450233
+ $5[42] = compact;
450234
+ $5[43] = taglineReady;
450235
+ $5[44] = tk.brandAlt;
450236
+ $5[45] = t19;
450237
+ } else {
450238
+ t19 = $5[45];
450239
+ }
450195
450240
  let t20;
450196
- let t21;
450197
- let t22;
450198
- let t23;
450199
- let t24;
450200
- let t25;
450201
- let t26;
450202
- if ($5[23] !== activeProviders || $5[24] !== allToolsOk || $5[25] !== anyProvider || $5[26] !== bootPrereqs || $5[27] !== columns || $5[28] !== compact || $5[29] !== fadeStep || $5[30] !== ghostColor || $5[31] !== inactiveProviders || $5[32] !== maxProviderWidth || $5[33] !== missingRequired || $5[34] !== revealDone || $5[35] !== revealed || $5[36] !== showWordmark || $5[37] !== tk.bgPopupHighlight || $5[38] !== tk.brand || $5[39] !== tk.brandSecondary || $5[40] !== tk.success || $5[41] !== tk.textDim || $5[42] !== tk.textMuted || $5[43] !== tk.warning || $5[44] !== wordmarkW) {
450203
- const {
450204
- visible: visibleProviders,
450205
- overflow: providerOverflow
450206
- } = fitProviders(activeProviders, inactiveProviders, maxProviderWidth);
450207
- const divW = Math.min(wordmarkW || 30, columns - 8);
450208
- t22 = "column";
450209
- t23 = 1;
450210
- t24 = 1;
450211
- t25 = 0;
450212
- t26 = "center";
450213
- t12 = "column";
450214
- t13 = "center";
450215
- t14 = 0;
450216
- let t272;
450217
- if ($5[60] === Symbol.for("react.memo_cache_sentinel")) {
450218
- t272 = icon("ghost");
450219
- $5[60] = t272;
450220
- } else {
450221
- t272 = $5[60];
450222
- }
450223
- if ($5[61] !== ghostColor) {
450224
- t15 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450225
- fg: ghostColor,
450226
- attributes: TextAttributes.BOLD,
450227
- children: t272
450228
- }, undefined, false, undefined, this);
450229
- $5[61] = ghostColor;
450230
- $5[62] = t15;
450231
- } else {
450232
- t15 = $5[62];
450233
- }
450234
- const t282 = compact ? 0 : 1;
450235
- if ($5[63] !== t282) {
450236
- t16 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450237
- height: t282
450238
- }, undefined, false, undefined, this);
450239
- $5[63] = t282;
450240
- $5[64] = t16;
450241
- } else {
450242
- t16 = $5[64];
450243
- }
450244
- if ($5[65] !== revealed || $5[66] !== showWordmark || $5[67] !== tk.brand || $5[68] !== tk.brandSecondary) {
450245
- t17 = showWordmark ? WORDMARK2.map((line2, i4) => /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(GradientLine, {
450246
- text: line2,
450247
- from: tk.brand,
450248
- to: tk.brandSecondary,
450249
- revealedChars: revealed
450250
- }, i4, false, undefined, this)) : /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450251
- fg: tk.brand,
450252
- attributes: TextAttributes.BOLD,
450253
- children: "SOULFORGE"
450254
- }, undefined, false, undefined, this);
450255
- $5[65] = revealed;
450256
- $5[66] = showWordmark;
450257
- $5[67] = tk.brand;
450258
- $5[68] = tk.brandSecondary;
450259
- $5[69] = t17;
450260
- } else {
450261
- t17 = $5[69];
450262
- }
450263
- if ($5[70] !== revealDone || $5[71] !== tk.textDim || $5[72] !== tk.textMuted) {
450264
- t18 = revealDone && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450265
- flexDirection: "row",
450266
- gap: 0,
450267
- children: [
450268
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450269
- fg: tk.textDim,
450270
- children: "\u2500\u2500 "
450271
- }, undefined, false, undefined, this),
450272
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450273
- fg: tk.textMuted,
450274
- attributes: TextAttributes.ITALIC,
450275
- children: "Graph-Powered Code Intelligence"
450276
- }, undefined, false, undefined, this),
450277
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450278
- fg: tk.textDim,
450279
- children: " \u2500\u2500"
450280
- }, undefined, false, undefined, this)
450281
- ]
450282
- }, undefined, true, undefined, this);
450283
- $5[70] = revealDone;
450284
- $5[71] = tk.textDim;
450285
- $5[72] = tk.textMuted;
450286
- $5[73] = t18;
450287
- } else {
450288
- t18 = $5[73];
450289
- }
450290
- const t292 = compact ? 0 : 1;
450291
- if ($5[74] !== t292) {
450292
- t19 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450293
- height: t292
450294
- }, undefined, false, undefined, this);
450295
- $5[74] = t292;
450296
- $5[75] = t19;
450297
- } else {
450298
- t19 = $5[75];
450299
- }
450300
- if ($5[76] !== divW) {
450301
- t20 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(ScanDivider, {
450302
- width: divW
450303
- }, undefined, false, undefined, this);
450304
- $5[76] = divW;
450305
- $5[77] = t20;
450306
- } else {
450307
- t20 = $5[77];
450308
- }
450309
- t21 = fadeStep >= 1 && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
450241
+ if ($5[46] !== activeProviders || $5[47] !== allToolsOk || $5[48] !== anyProvider || $5[49] !== compact || $5[50] !== missingRequired || $5[51] !== statusReady || $5[52] !== tk.textDim) {
450242
+ t20 = statusReady && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
450310
450243
  children: [
450311
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450312
- height: compact ? 0 : 1
450244
+ !compact && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450245
+ height: 1
450313
450246
  }, undefined, false, undefined, this),
450314
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450315
- flexDirection: "row",
450316
- gap: 0,
450317
- justifyContent: "center",
450318
- flexWrap: "wrap",
450319
- children: [
450320
- visibleProviders.map((p_3, i_0) => /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450321
- flexDirection: "row",
450322
- gap: 0,
450323
- children: [
450324
- i_0 > 0 && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450325
- fg: tk.bgPopupHighlight,
450326
- children: " \xB7 "
450327
- }, undefined, false, undefined, this),
450328
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450329
- fg: p_3.available ? tk.success : tk.textDim,
450330
- children: [
450331
- providerIcon(p_3.id),
450332
- " ",
450333
- p_3.name
450334
- ]
450335
- }, undefined, true, undefined, this)
450336
- ]
450337
- }, p_3.id, true, undefined, this)),
450338
- providerOverflow > 0 && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
450339
- children: [
450340
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450341
- fg: tk.bgPopupHighlight,
450342
- children: " \xB7 "
450343
- }, undefined, false, undefined, this),
450344
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450345
- fg: tk.textDim,
450346
- children: [
450347
- "+",
450348
- providerOverflow
450349
- ]
450350
- }, undefined, true, undefined, this)
450351
- ]
450352
- }, undefined, true, undefined, this)
450353
- ]
450354
- }, undefined, true, undefined, this),
450355
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450356
- flexDirection: "row",
450357
- gap: 0,
450358
- justifyContent: "center",
450359
- children: allToolsOk ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450360
- fg: tk.textMuted,
450361
- children: [
450362
- icon("check"),
450363
- " all tools ready"
450364
- ]
450365
- }, undefined, true, undefined, this) : bootPrereqs.map((t32, i_1) => /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450366
- flexDirection: "row",
450367
- gap: 0,
450368
- children: [
450369
- i_1 > 0 && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450370
- fg: tk.bgPopupHighlight,
450371
- children: " \xB7 "
450372
- }, undefined, false, undefined, this),
450373
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450374
- fg: t32.installed ? tk.success : t32.prerequisite.required ? tk.brandSecondary : tk.warning,
450375
- children: [
450376
- t32.installed ? icon("check") : "\u25CB",
450377
- " ",
450378
- t32.prerequisite.name
450379
- ]
450380
- }, undefined, true, undefined, this)
450381
- ]
450382
- }, t32.prerequisite.name, true, undefined, this))
450247
+ /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(StatusLine, {
450248
+ providers: activeProviders,
450249
+ allToolsOk
450383
450250
  }, undefined, false, undefined, this),
450384
450251
  /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(IndexingStatus, {}, undefined, false, undefined, this),
450385
450252
  (missingRequired.length > 0 || !anyProvider) && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
@@ -450388,186 +450255,220 @@ function LandingPage(t0) {
450388
450255
  }, undefined, false, undefined, this)
450389
450256
  ]
450390
450257
  }, undefined, true, undefined, this);
450391
- $5[23] = activeProviders;
450392
- $5[24] = allToolsOk;
450393
- $5[25] = anyProvider;
450394
- $5[26] = bootPrereqs;
450395
- $5[27] = columns;
450396
- $5[28] = compact;
450397
- $5[29] = fadeStep;
450398
- $5[30] = ghostColor;
450399
- $5[31] = inactiveProviders;
450400
- $5[32] = maxProviderWidth;
450401
- $5[33] = missingRequired;
450402
- $5[34] = revealDone;
450403
- $5[35] = revealed;
450404
- $5[36] = showWordmark;
450405
- $5[37] = tk.bgPopupHighlight;
450406
- $5[38] = tk.brand;
450407
- $5[39] = tk.brandSecondary;
450408
- $5[40] = tk.success;
450409
- $5[41] = tk.textDim;
450410
- $5[42] = tk.textMuted;
450411
- $5[43] = tk.warning;
450412
- $5[44] = wordmarkW;
450413
- $5[45] = t12;
450414
- $5[46] = t13;
450415
- $5[47] = t14;
450416
- $5[48] = t15;
450417
- $5[49] = t16;
450418
- $5[50] = t17;
450419
- $5[51] = t18;
450420
- $5[52] = t19;
450258
+ $5[46] = activeProviders;
450259
+ $5[47] = allToolsOk;
450260
+ $5[48] = anyProvider;
450261
+ $5[49] = compact;
450262
+ $5[50] = missingRequired;
450263
+ $5[51] = statusReady;
450264
+ $5[52] = tk.textDim;
450421
450265
  $5[53] = t20;
450422
- $5[54] = t21;
450423
- $5[55] = t22;
450424
- $5[56] = t23;
450425
- $5[57] = t24;
450426
- $5[58] = t25;
450427
- $5[59] = t26;
450428
450266
  } else {
450429
- t12 = $5[45];
450430
- t13 = $5[46];
450431
- t14 = $5[47];
450432
- t15 = $5[48];
450433
- t16 = $5[49];
450434
- t17 = $5[50];
450435
- t18 = $5[51];
450436
- t19 = $5[52];
450437
450267
  t20 = $5[53];
450438
- t21 = $5[54];
450439
- t22 = $5[55];
450440
- t23 = $5[56];
450441
- t24 = $5[57];
450442
- t25 = $5[58];
450443
- t26 = $5[59];
450444
450268
  }
450445
- let t27;
450446
- if ($5[78] !== compact || $5[79] !== fadeStep) {
450447
- t27 = fadeStep >= 2 && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
450269
+ let t21;
450270
+ if ($5[54] !== compact || $5[55] !== hintsReady || $5[56] !== modelLabel || $5[57] !== tk.brand || $5[58] !== tk.textDim || $5[59] !== tk.textFaint || $5[60] !== tk.textSecondary) {
450271
+ t21 = hintsReady && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
450448
450272
  children: [
450449
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450450
- height: compact ? 0 : 1
450451
- }, undefined, false, undefined, this),
450452
450273
  !compact && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450453
450274
  height: 1
450454
450275
  }, undefined, false, undefined, this),
450455
450276
  /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450456
450277
  flexDirection: "row",
450457
- gap: 1,
450278
+ gap: 0,
450458
450279
  justifyContent: "center",
450459
- flexWrap: "wrap",
450460
450280
  children: [
450461
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Cmd, {
450462
- name: "help"
450463
- }, undefined, false, undefined, this),
450464
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Cmd, {
450465
- name: "open",
450466
- arg: "<file>"
450467
- }, undefined, false, undefined, this),
450468
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Cmd, {
450469
- name: "editor"
450470
- }, undefined, false, undefined, this),
450471
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Cmd, {
450472
- name: "skills"
450473
- }, undefined, false, undefined, this),
450474
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Cmd, {
450475
- name: "setup"
450281
+ modelLabel && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
450282
+ children: [
450283
+ /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450284
+ fg: tk.textDim,
450285
+ children: "^L "
450286
+ }, undefined, false, undefined, this),
450287
+ /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450288
+ fg: tk.brand,
450289
+ attributes: BOLD3,
450290
+ children: modelLabel
450291
+ }, undefined, false, undefined, this),
450292
+ /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450293
+ fg: tk.textFaint,
450294
+ children: " \xB7 "
450295
+ }, undefined, false, undefined, this)
450296
+ ]
450297
+ }, undefined, true, undefined, this),
450298
+ /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450299
+ fg: tk.textDim,
450300
+ children: "/"
450476
450301
  }, undefined, false, undefined, this),
450477
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Cmd, {
450478
- name: "models"
450302
+ /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450303
+ fg: tk.textSecondary,
450304
+ children: "help"
450479
450305
  }, undefined, false, undefined, this)
450480
450306
  ]
450481
450307
  }, undefined, true, undefined, this)
450482
450308
  ]
450483
450309
  }, undefined, true, undefined, this);
450484
- $5[78] = compact;
450485
- $5[79] = fadeStep;
450486
- $5[80] = t27;
450310
+ $5[54] = compact;
450311
+ $5[55] = hintsReady;
450312
+ $5[56] = modelLabel;
450313
+ $5[57] = tk.brand;
450314
+ $5[58] = tk.textDim;
450315
+ $5[59] = tk.textFaint;
450316
+ $5[60] = tk.textSecondary;
450317
+ $5[61] = t21;
450487
450318
  } else {
450488
- t27 = $5[80];
450319
+ t21 = $5[61];
450489
450320
  }
450490
- const t28 = compact ? 0 : 1;
450491
- let t29;
450492
- if ($5[81] !== t28) {
450493
- t29 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450494
- height: t28
450321
+ let t22;
450322
+ if ($5[62] !== compact) {
450323
+ t22 = compact ? null : /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450324
+ height: 1
450495
450325
  }, undefined, false, undefined, this);
450496
- $5[81] = t28;
450497
- $5[82] = t29;
450498
- } else {
450499
- t29 = $5[82];
450500
- }
450501
- let t30;
450502
- if ($5[83] !== t12 || $5[84] !== t13 || $5[85] !== t14 || $5[86] !== t15 || $5[87] !== t16 || $5[88] !== t17 || $5[89] !== t18 || $5[90] !== t19 || $5[91] !== t20 || $5[92] !== t21 || $5[93] !== t27 || $5[94] !== t29) {
450503
- t30 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450504
- flexDirection: t12,
450505
- alignItems: t13,
450506
- gap: t14,
450507
- children: [
450508
- t15,
450509
- t16,
450510
- t17,
450511
- t18,
450512
- t19,
450513
- t20,
450514
- t21,
450515
- t27,
450516
- t29
450517
- ]
450518
- }, undefined, true, undefined, this);
450519
- $5[83] = t12;
450520
- $5[84] = t13;
450521
- $5[85] = t14;
450522
- $5[86] = t15;
450523
- $5[87] = t16;
450524
- $5[88] = t17;
450525
- $5[89] = t18;
450526
- $5[90] = t19;
450527
- $5[91] = t20;
450528
- $5[92] = t21;
450529
- $5[93] = t27;
450530
- $5[94] = t29;
450531
- $5[95] = t30;
450326
+ $5[62] = compact;
450327
+ $5[63] = t22;
450532
450328
  } else {
450533
- t30 = $5[95];
450329
+ t22 = $5[63];
450534
450330
  }
450535
- let t31;
450536
- if ($5[96] !== t22 || $5[97] !== t23 || $5[98] !== t24 || $5[99] !== t25 || $5[100] !== t26 || $5[101] !== t30) {
450537
- t31 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450538
- flexDirection: t22,
450539
- flexGrow: t23,
450540
- flexShrink: t24,
450541
- minHeight: t25,
450542
- justifyContent: t26,
450543
- children: t30
450331
+ let t23;
450332
+ if ($5[64] !== t12 || $5[65] !== t13 || $5[66] !== t14 || $5[67] !== t15 || $5[68] !== t16 || $5[69] !== t17 || $5[70] !== t18 || $5[71] !== t19 || $5[72] !== t20 || $5[73] !== t21 || $5[74] !== t22) {
450333
+ t23 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450334
+ flexDirection: "column",
450335
+ flexGrow: 1,
450336
+ flexShrink: 1,
450337
+ minHeight: 0,
450338
+ justifyContent: "center",
450339
+ children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450340
+ flexDirection: "column",
450341
+ alignItems: "center",
450342
+ gap: 0,
450343
+ children: [
450344
+ t12,
450345
+ t13,
450346
+ t14,
450347
+ t15,
450348
+ t16,
450349
+ t17,
450350
+ t18,
450351
+ t19,
450352
+ t20,
450353
+ t21,
450354
+ t22
450355
+ ]
450356
+ }, undefined, true, undefined, this)
450544
450357
  }, undefined, false, undefined, this);
450545
- $5[96] = t22;
450546
- $5[97] = t23;
450547
- $5[98] = t24;
450548
- $5[99] = t25;
450549
- $5[100] = t26;
450550
- $5[101] = t30;
450551
- $5[102] = t31;
450358
+ $5[64] = t12;
450359
+ $5[65] = t13;
450360
+ $5[66] = t14;
450361
+ $5[67] = t15;
450362
+ $5[68] = t16;
450363
+ $5[69] = t17;
450364
+ $5[70] = t18;
450365
+ $5[71] = t19;
450366
+ $5[72] = t20;
450367
+ $5[73] = t21;
450368
+ $5[74] = t22;
450369
+ $5[75] = t23;
450552
450370
  } else {
450553
- t31 = $5[102];
450371
+ t23 = $5[75];
450554
450372
  }
450555
- return t31;
450556
- }
450557
- function _temp63(p_2) {
450558
- return p_2.installed || !p_2.prerequisite.required;
450373
+ return t23;
450559
450374
  }
450560
- function _temp53(p_1) {
450561
- return !p_1.installed && p_1.prerequisite.required;
450375
+ function _temp46(p_1) {
450376
+ return p_1.installed || !p_1.prerequisite.required;
450562
450377
  }
450563
- function _temp46(p_0) {
450564
- return !p_0.available;
450378
+ function _temp311(p_0) {
450379
+ return !p_0.installed && p_0.prerequisite.required;
450565
450380
  }
450566
- function _temp311(p2) {
450381
+ function _temp211(p2) {
450567
450382
  return p2.available;
450568
450383
  }
450569
- function _temp211(s2) {
450570
- return s2 + 1;
450384
+ function _temp41(t2) {
450385
+ return t2 + 1;
450386
+ }
450387
+ function StatusLine(t0) {
450388
+ const $5 = import_compiler_runtime27.c(17);
450389
+ const {
450390
+ providers,
450391
+ allToolsOk
450392
+ } = t0;
450393
+ const tk = useTheme();
450394
+ let t1;
450395
+ let t2;
450396
+ let t3;
450397
+ let t4;
450398
+ if ($5[0] !== providers || $5[1] !== tk.textMuted || $5[2] !== tk.warning) {
450399
+ const names = providers.slice(0, 4).map(_temp53);
450400
+ const overflow = providers.length > 4 ? providers.length - 4 : 0;
450401
+ t1 = "row";
450402
+ t2 = 0;
450403
+ t3 = "center";
450404
+ t4 = providers.length > 0 ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450405
+ fg: tk.textMuted,
450406
+ children: [
450407
+ names.join(" \xB7 "),
450408
+ overflow > 0 ? ` +${String(overflow)}` : ""
450409
+ ]
450410
+ }, undefined, true, undefined, this) : /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450411
+ fg: tk.warning,
450412
+ children: "\u25CB no providers configured"
450413
+ }, undefined, false, undefined, this);
450414
+ $5[0] = providers;
450415
+ $5[1] = tk.textMuted;
450416
+ $5[2] = tk.warning;
450417
+ $5[3] = t1;
450418
+ $5[4] = t2;
450419
+ $5[5] = t3;
450420
+ $5[6] = t4;
450421
+ } else {
450422
+ t1 = $5[3];
450423
+ t2 = $5[4];
450424
+ t3 = $5[5];
450425
+ t4 = $5[6];
450426
+ }
450427
+ let t5;
450428
+ if ($5[7] !== allToolsOk || $5[8] !== tk.textFaint || $5[9] !== tk.textMuted) {
450429
+ t5 = allToolsOk && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
450430
+ children: [
450431
+ /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450432
+ fg: tk.textFaint,
450433
+ children: " \xB7 "
450434
+ }, undefined, false, undefined, this),
450435
+ /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450436
+ fg: tk.textMuted,
450437
+ children: "tools ready"
450438
+ }, undefined, false, undefined, this)
450439
+ ]
450440
+ }, undefined, true, undefined, this);
450441
+ $5[7] = allToolsOk;
450442
+ $5[8] = tk.textFaint;
450443
+ $5[9] = tk.textMuted;
450444
+ $5[10] = t5;
450445
+ } else {
450446
+ t5 = $5[10];
450447
+ }
450448
+ let t6;
450449
+ if ($5[11] !== t1 || $5[12] !== t2 || $5[13] !== t3 || $5[14] !== t4 || $5[15] !== t5) {
450450
+ t6 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450451
+ flexDirection: t1,
450452
+ gap: t2,
450453
+ justifyContent: t3,
450454
+ children: [
450455
+ t4,
450456
+ t5
450457
+ ]
450458
+ }, undefined, true, undefined, this);
450459
+ $5[11] = t1;
450460
+ $5[12] = t2;
450461
+ $5[13] = t3;
450462
+ $5[14] = t4;
450463
+ $5[15] = t5;
450464
+ $5[16] = t6;
450465
+ } else {
450466
+ t6 = $5[16];
450467
+ }
450468
+ return t6;
450469
+ }
450470
+ function _temp53(p2) {
450471
+ return p2.name.toLowerCase();
450571
450472
  }
450572
450473
  function IndexingStatus() {
450573
450474
  const tk = useTheme();
@@ -450576,19 +450477,21 @@ function IndexingStatus() {
450576
450477
  return {
450577
450478
  status: s2.status,
450578
450479
  files: s2.files,
450579
- scanProgress: s2.scanProgress
450480
+ scanProgress: s2.scanProgress,
450481
+ lspStatus: s2.lspStatus
450580
450482
  };
450581
450483
  });
450582
450484
  const spinnerRef = import_react50.useRef(0);
450583
450485
  const [tick, setTick] = import_react50.useState(0);
450584
450486
  import_react50.useEffect(() => useRepoMapStore.subscribe((s_0) => {
450585
450487
  setState2((prev) => {
450586
- if (prev.status === s_0.status && prev.files === s_0.files && prev.scanProgress === s_0.scanProgress)
450488
+ if (prev.status === s_0.status && prev.files === s_0.files && prev.scanProgress === s_0.scanProgress && prev.lspStatus === s_0.lspStatus)
450587
450489
  return prev;
450588
450490
  return {
450589
450491
  status: s_0.status,
450590
450492
  files: s_0.files,
450591
- scanProgress: s_0.scanProgress
450493
+ scanProgress: s_0.scanProgress,
450494
+ lspStatus: s_0.lspStatus
450592
450495
  };
450593
450496
  });
450594
450497
  }), []);
@@ -450604,7 +450507,8 @@ function IndexingStatus() {
450604
450507
  const {
450605
450508
  status,
450606
450509
  files,
450607
- scanProgress
450510
+ scanProgress,
450511
+ lspStatus
450608
450512
  } = state;
450609
450513
  const frame = SPINNER_FRAMES[spinnerRef.current % SPINNER_FRAMES.length] ?? "\u280B";
450610
450514
  if (status === "scanning") {
@@ -450616,133 +450520,65 @@ function IndexingStatus() {
450616
450520
  fg: tk.amber,
450617
450521
  children: [
450618
450522
  frame,
450619
- " indexing repo",
450620
- scanProgress ? ` ${scanProgress}` : ""
450523
+ " indexing",
450524
+ scanProgress ? ` ${scanProgress}` : "\u2026"
450621
450525
  ]
450622
450526
  }, undefined, true, undefined, this)
450623
450527
  }, undefined, false, undefined, this);
450624
450528
  }
450529
+ const parts2 = [];
450625
450530
  if (status === "ready") {
450626
- return /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450627
- flexDirection: "row",
450628
- gap: 0,
450629
- justifyContent: "center",
450630
- children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450631
- fg: tk.textMuted,
450632
- children: [
450633
- icon("check"),
450634
- " ",
450635
- String(files),
450636
- " files indexed"
450637
- ]
450638
- }, undefined, true, undefined, this)
450639
- }, undefined, false, undefined, this);
450640
- }
450641
- if (status === "error") {
450642
- return /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450643
- flexDirection: "row",
450644
- gap: 0,
450645
- justifyContent: "center",
450646
- children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450647
- fg: tk.brandSecondary,
450648
- children: "\u25CB indexing failed"
450649
- }, undefined, false, undefined, this)
450650
- }, undefined, false, undefined, this);
450651
- }
450652
- return null;
450653
- }
450654
- function Cmd(t0) {
450655
- const $5 = import_compiler_runtime27.c(12);
450656
- const {
450657
- name: name21,
450658
- arg
450659
- } = t0;
450660
- const tk = useTheme();
450661
- let t1;
450662
- if ($5[0] !== tk.brand) {
450663
- t1 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450664
- fg: tk.brand,
450665
- children: "/"
450666
- }, undefined, false, undefined, this);
450667
- $5[0] = tk.brand;
450668
- $5[1] = t1;
450669
- } else {
450670
- t1 = $5[1];
450671
- }
450672
- let t2;
450673
- if ($5[2] !== name21 || $5[3] !== tk.textSecondary) {
450674
- t2 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450675
- fg: tk.textSecondary,
450676
- children: name21
450677
- }, undefined, false, undefined, this);
450678
- $5[2] = name21;
450679
- $5[3] = tk.textSecondary;
450680
- $5[4] = t2;
450681
- } else {
450682
- t2 = $5[4];
450683
- }
450684
- let t3;
450685
- if ($5[5] !== arg || $5[6] !== tk.textDim) {
450686
- t3 = arg && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450687
- fg: tk.textDim,
450531
+ parts2.push(/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450532
+ fg: tk.textMuted,
450688
450533
  children: [
450534
+ icon("check"),
450689
450535
  " ",
450690
- arg
450691
- ]
450692
- }, undefined, true, undefined, this);
450693
- $5[5] = arg;
450694
- $5[6] = tk.textDim;
450695
- $5[7] = t3;
450696
- } else {
450697
- t3 = $5[7];
450698
- }
450699
- let t4;
450700
- if ($5[8] !== t1 || $5[9] !== t2 || $5[10] !== t3) {
450701
- t4 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450702
- flexDirection: "row",
450703
- gap: 0,
450704
- children: [
450705
- t1,
450706
- t2,
450707
- t3
450536
+ String(files),
450537
+ " files indexed"
450708
450538
  ]
450709
- }, undefined, true, undefined, this);
450710
- $5[8] = t1;
450711
- $5[9] = t2;
450712
- $5[10] = t3;
450713
- $5[11] = t4;
450714
- } else {
450715
- t4 = $5[11];
450539
+ }, "idx", true, undefined, this));
450540
+ } else if (status === "error") {
450541
+ parts2.push(/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450542
+ fg: tk.brandSecondary,
450543
+ children: "\u25CB indexing failed"
450544
+ }, "idx", false, undefined, this));
450545
+ }
450546
+ if (lspStatus === "ready" && parts2.length > 0) {
450547
+ parts2.push(/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450548
+ fg: tk.textFaint,
450549
+ children: " \xB7 "
450550
+ }, "sep", false, undefined, this));
450551
+ parts2.push(/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450552
+ fg: tk.textMuted,
450553
+ children: "lsp ready"
450554
+ }, "lsp", false, undefined, this));
450555
+ } else if (lspStatus === "generating") {
450556
+ if (parts2.length > 0) {
450557
+ parts2.push(/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450558
+ fg: tk.textFaint,
450559
+ children: " \xB7 "
450560
+ }, "sep", false, undefined, this));
450561
+ }
450562
+ parts2.push(/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
450563
+ fg: tk.amber,
450564
+ children: "lsp warming up"
450565
+ }, "lsp", false, undefined, this));
450716
450566
  }
450717
- return t4;
450718
- }
450719
- function fitProviders(active, inactive, maxWidth) {
450720
- const all2 = [...active, ...inactive];
450721
- if (all2.length === 0)
450722
- return {
450723
- visible: [],
450724
- overflow: 0
450725
- };
450726
- const visible = [];
450727
- let usedWidth = 0;
450728
- for (const p2 of all2) {
450729
- const entryWidth = (visible.length > 0 ? 3 : 0) + 2 + p2.name.length;
450730
- const overflowWidth = all2.length - visible.length > 1 ? 5 : 0;
450731
- if (usedWidth + entryWidth + overflowWidth > maxWidth && visible.length >= 3) {
450732
- break;
450733
- }
450734
- visible.push(p2);
450735
- usedWidth += entryWidth;
450736
- }
450737
- return {
450738
- visible,
450739
- overflow: all2.length - visible.length
450740
- };
450567
+ if (parts2.length === 0)
450568
+ return null;
450569
+ return /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
450570
+ flexDirection: "row",
450571
+ gap: 0,
450572
+ justifyContent: "center",
450573
+ children: parts2
450574
+ }, undefined, false, undefined, this);
450741
450575
  }
450742
- var import_compiler_runtime27, import_react50, WORDMARK2;
450576
+ var import_compiler_runtime27, import_react50, BOLD3, ITALIC2, DIM3, GHOST_FADE, IDLE_QUIPS;
450743
450577
  var init_LandingPage = __esm(async () => {
450744
450578
  init_icons();
450579
+ init_models();
450745
450580
  init_theme();
450581
+ init_splash();
450746
450582
  init_repomap();
450747
450583
  init_ScanDivider();
450748
450584
  init_shared2();
@@ -450753,7 +450589,11 @@ var init_LandingPage = __esm(async () => {
450753
450589
  ]);
450754
450590
  import_compiler_runtime27 = __toESM(require_compiler_runtime(), 1);
450755
450591
  import_react50 = __toESM(require_react(), 1);
450756
- WORDMARK2 = ["\u250C\u2500\u2510\u250C\u2500\u2510\u252C \u252C\u252C \u250C\u2500\u2510\u250C\u2500\u2510\u252C\u2500\u2510\u250C\u2500\u2510\u250C\u2500\u2510", "\u2514\u2500\u2510\u2502 \u2502\u2502 \u2502\u2502 \u251C\u2524 \u2502 \u2502\u251C\u252C\u2518\u2502 \u252C\u251C\u2524 ", "\u2514\u2500\u2518\u2514\u2500\u2518\u2514\u2500\u2518\u2534\u2500\u2518\u2514 \u2514\u2500\u2518\u2534\u2514\u2500\u2514\u2500\u2518\u2514\u2500\u2518"];
450592
+ BOLD3 = TextAttributes.BOLD;
450593
+ ITALIC2 = TextAttributes.ITALIC;
450594
+ DIM3 = TextAttributes.DIM;
450595
+ GHOST_FADE = ["\u2591", "\u2592", "\u2593"];
450596
+ IDLE_QUIPS = ["The forge awaits your command.", "The anvil is warm. What shall we build?", "The runes are aligned. Speak your intent.", "All spirits present and accounted for.", "The blade is sharp. The code is ready.", "Another day, another codebase to conquer.", "The ether hums with potential.", "Your codebase has been mapped. The forge sees all.", "The scrolls are indexed. Ask anything.", "Ready to transmute code into gold.", "The ghost remembers your last session.", "Forge hot. Tools sharp. Let's ship."];
450757
450597
  });
450758
450598
 
450759
450599
  // src/components/layout/LoadingStatus.tsx
@@ -450975,7 +450815,7 @@ var init_LoadingStatus = __esm(async () => {
450975
450815
  });
450976
450816
 
450977
450817
  // src/components/layout/SystemBanner.tsx
450978
- function hexToRgb3(hex3) {
450818
+ function hexToRgb2(hex3) {
450979
450819
  const h3 = hex3.replace("#", "");
450980
450820
  const n = h3.length === 3 ? h3.split("").map((c) => c + c).join("") : h3;
450981
450821
  const v4 = Number.parseInt(n, 16);
@@ -450985,8 +450825,8 @@ function rgbToHex3(r4, g3, b5) {
450985
450825
  return `#${[r4, g3, b5].map((c) => c.toString(16).padStart(2, "0")).join("")}`;
450986
450826
  }
450987
450827
  function lerpColor(from, to, t2) {
450988
- const [r1, g1, b1] = hexToRgb3(from);
450989
- const [r22, g22, b22] = hexToRgb3(to);
450828
+ const [r1, g1, b1] = hexToRgb2(from);
450829
+ const [r22, g22, b22] = hexToRgb2(to);
450990
450830
  return rgbToHex3(Math.round(r1 + (r22 - r1) * t2), Math.round(g1 + (g22 - g1) * t2), Math.round(b1 + (b22 - b1) * t2));
450991
450831
  }
450992
450832
  function isError(text3) {
@@ -451903,7 +451743,7 @@ var init_TabInstance = __esm(async () => {
451903
451743
  visible: false
451904
451744
  };
451905
451745
  TabInstance = import_react55.memo(function TabInstance2(t0) {
451906
- const $5 = import_compiler_runtime30.c(190);
451746
+ const $5 = import_compiler_runtime30.c(191);
451907
451747
  const {
451908
451748
  tabId,
451909
451749
  tabLabel,
@@ -452589,16 +452429,18 @@ var init_TabInstance = __esm(async () => {
452589
452429
  t52 = $5[139];
452590
452430
  }
452591
452431
  let t53;
452592
- if ($5[140] !== bootPrereqs || $5[141] !== bootProviders || $5[142] !== chat.isCompacting || $5[143] !== chat.isLoading || $5[144] !== chat.liveToolCalls || $5[145] !== chat.messageQueue || $5[146] !== chat.streamSegments || $5[147] !== chatStyle || $5[148] !== codeExpanded || $5[149] !== effectiveConfig || $5[150] !== hasContent || $5[151] !== hiddenCount || $5[152] !== isStreaming || $5[153] !== reasoningExpanded || $5[154] !== scrollbarReady || $5[155] !== showReasoning || $5[156] !== t2 || $5[157] !== visibleMessages) {
452432
+ if ($5[140] !== bootPrereqs || $5[141] !== bootProviders || $5[142] !== chat.activeModel || $5[143] !== chat.isCompacting || $5[144] !== chat.isLoading || $5[145] !== chat.liveToolCalls || $5[146] !== chat.messageQueue || $5[147] !== chat.streamSegments || $5[148] !== chatStyle || $5[149] !== codeExpanded || $5[150] !== effectiveConfig || $5[151] !== hasContent || $5[152] !== hiddenCount || $5[153] !== isStreaming || $5[154] !== reasoningExpanded || $5[155] !== scrollbarReady || $5[156] !== showReasoning || $5[157] !== t2 || $5[158] !== visibleMessages) {
452593
452433
  t53 = !hasContent ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(LandingPage, {
452594
452434
  bootProviders,
452595
- bootPrereqs
452435
+ bootPrereqs,
452436
+ activeModel: chat.activeModel
452596
452437
  }, undefined, false, undefined, this) : /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(AnimatedBorder, {
452597
452438
  active: chat.isLoading || chat.isCompacting,
452598
452439
  children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("scrollbox", {
452599
452440
  ref: scrollRef,
452600
452441
  stickyScroll: true,
452601
452442
  stickyStart: "bottom",
452443
+ focusable: false,
452602
452444
  flexGrow: 1,
452603
452445
  flexShrink: 1,
452604
452446
  minHeight: 0,
@@ -452679,28 +452521,29 @@ var init_TabInstance = __esm(async () => {
452679
452521
  }, undefined, false, undefined, this);
452680
452522
  $5[140] = bootPrereqs;
452681
452523
  $5[141] = bootProviders;
452682
- $5[142] = chat.isCompacting;
452683
- $5[143] = chat.isLoading;
452684
- $5[144] = chat.liveToolCalls;
452685
- $5[145] = chat.messageQueue;
452686
- $5[146] = chat.streamSegments;
452687
- $5[147] = chatStyle;
452688
- $5[148] = codeExpanded;
452689
- $5[149] = effectiveConfig;
452690
- $5[150] = hasContent;
452691
- $5[151] = hiddenCount;
452692
- $5[152] = isStreaming;
452693
- $5[153] = reasoningExpanded;
452694
- $5[154] = scrollbarReady;
452695
- $5[155] = showReasoning;
452696
- $5[156] = t2;
452697
- $5[157] = visibleMessages;
452698
- $5[158] = t53;
452524
+ $5[142] = chat.activeModel;
452525
+ $5[143] = chat.isCompacting;
452526
+ $5[144] = chat.isLoading;
452527
+ $5[145] = chat.liveToolCalls;
452528
+ $5[146] = chat.messageQueue;
452529
+ $5[147] = chat.streamSegments;
452530
+ $5[148] = chatStyle;
452531
+ $5[149] = codeExpanded;
452532
+ $5[150] = effectiveConfig;
452533
+ $5[151] = hasContent;
452534
+ $5[152] = hiddenCount;
452535
+ $5[153] = isStreaming;
452536
+ $5[154] = reasoningExpanded;
452537
+ $5[155] = scrollbarReady;
452538
+ $5[156] = showReasoning;
452539
+ $5[157] = t2;
452540
+ $5[158] = visibleMessages;
452541
+ $5[159] = t53;
452699
452542
  } else {
452700
- t53 = $5[158];
452543
+ t53 = $5[159];
452701
452544
  }
452702
452545
  let t54;
452703
- if ($5[159] !== changesExpanded || $5[160] !== chat.messages || $5[161] !== cwd2 || $5[162] !== terminalsExpanded) {
452546
+ if ($5[160] !== changesExpanded || $5[161] !== chat.messages || $5[162] !== cwd2 || $5[163] !== terminalsExpanded) {
452704
452547
  t54 = (changesExpanded || terminalsExpanded) && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
452705
452548
  flexDirection: "column",
452706
452549
  width: "20%",
@@ -452712,16 +452555,16 @@ var init_TabInstance = __esm(async () => {
452712
452555
  terminalsExpanded && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(TerminalsPanel, {}, undefined, false, undefined, this)
452713
452556
  ]
452714
452557
  }, undefined, true, undefined, this);
452715
- $5[159] = changesExpanded;
452716
- $5[160] = chat.messages;
452717
- $5[161] = cwd2;
452718
- $5[162] = terminalsExpanded;
452719
- $5[163] = t54;
452558
+ $5[160] = changesExpanded;
452559
+ $5[161] = chat.messages;
452560
+ $5[162] = cwd2;
452561
+ $5[163] = terminalsExpanded;
452562
+ $5[164] = t54;
452720
452563
  } else {
452721
- t54 = $5[163];
452564
+ t54 = $5[164];
452722
452565
  }
452723
452566
  let t55;
452724
- if ($5[164] !== t53 || $5[165] !== t54) {
452567
+ if ($5[165] !== t53 || $5[166] !== t54) {
452725
452568
  t55 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
452726
452569
  flexGrow: 1,
452727
452570
  flexShrink: 1,
@@ -452732,14 +452575,14 @@ var init_TabInstance = __esm(async () => {
452732
452575
  t54
452733
452576
  ]
452734
452577
  }, undefined, true, undefined, this);
452735
- $5[164] = t53;
452736
- $5[165] = t54;
452737
- $5[166] = t55;
452578
+ $5[165] = t53;
452579
+ $5[166] = t54;
452580
+ $5[167] = t55;
452738
452581
  } else {
452739
- t55 = $5[166];
452582
+ t55 = $5[167];
452740
452583
  }
452741
452584
  let t56;
452742
- if ($5[167] !== chat || $5[168] !== cwd2 || $5[169] !== handleInputSubmit || $5[170] !== hasChangedFiles || $5[171] !== isFocused || $5[172] !== onAcceptPlan || $5[173] !== onCancelPlan || $5[174] !== onClearAndImplementPlan || $5[175] !== onExit || $5[176] !== onRevisePlan || $5[177] !== showPlanProgress || $5[178] !== t2 || $5[179] !== tabId || $5[180] !== tasks) {
452585
+ if ($5[168] !== chat || $5[169] !== cwd2 || $5[170] !== handleInputSubmit || $5[171] !== hasChangedFiles || $5[172] !== isFocused || $5[173] !== onAcceptPlan || $5[174] !== onCancelPlan || $5[175] !== onClearAndImplementPlan || $5[176] !== onExit || $5[177] !== onRevisePlan || $5[178] !== showPlanProgress || $5[179] !== t2 || $5[180] !== tabId || $5[181] !== tasks) {
452743
452586
  t56 = chat.pendingPlanReview ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
452744
452587
  flexShrink: 0,
452745
452588
  paddingX: 1,
@@ -452865,26 +452708,26 @@ var init_TabInstance = __esm(async () => {
452865
452708
  }, undefined, false, undefined, this)
452866
452709
  ]
452867
452710
  }, undefined, true, undefined, this);
452868
- $5[167] = chat;
452869
- $5[168] = cwd2;
452870
- $5[169] = handleInputSubmit;
452871
- $5[170] = hasChangedFiles;
452872
- $5[171] = isFocused;
452873
- $5[172] = onAcceptPlan;
452874
- $5[173] = onCancelPlan;
452875
- $5[174] = onClearAndImplementPlan;
452876
- $5[175] = onExit;
452877
- $5[176] = onRevisePlan;
452878
- $5[177] = showPlanProgress;
452879
- $5[178] = t2;
452880
- $5[179] = tabId;
452881
- $5[180] = tasks;
452882
- $5[181] = t56;
452711
+ $5[168] = chat;
452712
+ $5[169] = cwd2;
452713
+ $5[170] = handleInputSubmit;
452714
+ $5[171] = hasChangedFiles;
452715
+ $5[172] = isFocused;
452716
+ $5[173] = onAcceptPlan;
452717
+ $5[174] = onCancelPlan;
452718
+ $5[175] = onClearAndImplementPlan;
452719
+ $5[176] = onExit;
452720
+ $5[177] = onRevisePlan;
452721
+ $5[178] = showPlanProgress;
452722
+ $5[179] = t2;
452723
+ $5[180] = tabId;
452724
+ $5[181] = tasks;
452725
+ $5[182] = t56;
452883
452726
  } else {
452884
- t56 = $5[181];
452727
+ t56 = $5[182];
452885
452728
  }
452886
452729
  let t57;
452887
- if ($5[182] !== t49 || $5[183] !== t50 || $5[184] !== t51 || $5[185] !== t52 || $5[186] !== t55 || $5[187] !== t56 || $5[188] !== visible) {
452730
+ if ($5[183] !== t49 || $5[184] !== t50 || $5[185] !== t51 || $5[186] !== t52 || $5[187] !== t55 || $5[188] !== t56 || $5[189] !== visible) {
452888
452731
  t57 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
452889
452732
  visible,
452890
452733
  flexDirection: "column",
@@ -452897,16 +452740,16 @@ var init_TabInstance = __esm(async () => {
452897
452740
  t56
452898
452741
  ]
452899
452742
  }, undefined, true, undefined, this);
452900
- $5[182] = t49;
452901
- $5[183] = t50;
452902
- $5[184] = t51;
452903
- $5[185] = t52;
452904
- $5[186] = t55;
452905
- $5[187] = t56;
452906
- $5[188] = visible;
452907
- $5[189] = t57;
452743
+ $5[183] = t49;
452744
+ $5[184] = t50;
452745
+ $5[185] = t51;
452746
+ $5[186] = t52;
452747
+ $5[187] = t55;
452748
+ $5[188] = t56;
452749
+ $5[189] = visible;
452750
+ $5[190] = t57;
452908
452751
  } else {
452909
- t57 = $5[189];
452752
+ t57 = $5[190];
452910
452753
  }
452911
452754
  return t57;
452912
452755
  });
@@ -456873,7 +456716,7 @@ ${cmd}`);
456873
456716
  }
456874
456717
  const cmds_0 = [];
456875
456718
  for (const s_0 of missing) {
456876
- const c_0 = getInstallCommands(s_0.prerequisite.name).find(_temp64);
456719
+ const c_0 = getInstallCommands(s_0.prerequisite.name).find(_temp63);
456877
456720
  if (c_0) {
456878
456721
  cmds_0.push(c_0);
456879
456722
  }
@@ -457437,7 +457280,7 @@ function _temp82(s_2) {
457437
457280
  function _temp72(s_1) {
457438
457281
  return s_1.installed;
457439
457282
  }
457440
- function _temp64(l3) {
457283
+ function _temp63(l3) {
457441
457284
  return !l3.startsWith("#") && l3.trim().length > 0;
457442
457285
  }
457443
457286
  function _temp510(s2) {
@@ -457487,7 +457330,7 @@ function WebSearchSettings(t0) {
457487
457330
  const innerW = popupWidth - 2;
457488
457331
  const maxVisible = Math.max(4, Math.floor((termRows - 2) * 0.8) - CHROME_ROWS6);
457489
457332
  const t2 = useTheme();
457490
- const keys2 = useWebSearchStore(_temp65);
457333
+ const keys2 = useWebSearchStore(_temp64);
457491
457334
  const refresh = useWebSearchStore(_temp221);
457492
457335
  const [cursor, setCursor] = import_react69.useState(0);
457493
457336
  const [mode, setMode] = import_react69.useState("menu");
@@ -458488,7 +458331,7 @@ function _temp320(v_0) {
458488
458331
  function _temp221(s_0) {
458489
458332
  return s_0.refresh;
458490
458333
  }
458491
- function _temp65(s2) {
458334
+ function _temp64(s2) {
458492
458335
  return s2.keys;
458493
458336
  }
458494
458337
  var import_compiler_runtime39, import_react69, MAX_POPUP_WIDTH4 = 72, CHROME_ROWS6 = 10, useWebSearchStore, KEY_ITEMS2;
@@ -458537,12 +458380,12 @@ function SimpleModalLayer(t0) {
458537
458380
  messages,
458538
458381
  onSystemMessage
458539
458382
  } = t0;
458540
- const modalHelpPopup = useUIStore(_temp67);
458383
+ const modalHelpPopup = useUIStore(_temp66);
458541
458384
  const modalWebSearchSettings = useUIStore(_temp222);
458542
458385
  const modalApiKeySettings = useUIStore(_temp321);
458543
458386
  const modalSetup = useUIStore(_temp414);
458544
458387
  const modalErrorLog = useUIStore(_temp512);
458545
- const modalLspStatus = useUIStore(_temp66);
458388
+ const modalLspStatus = useUIStore(_temp65);
458546
458389
  const modalCompactionLog = useUIStore(_temp73);
458547
458390
  let t1;
458548
458391
  if ($5[0] === Symbol.for("react.memo_cache_sentinel")) {
@@ -458703,7 +458546,7 @@ function SimpleModalLayer(t0) {
458703
458546
  function _temp73(s_5) {
458704
458547
  return s_5.modals.compactionLog;
458705
458548
  }
458706
- function _temp66(s_4) {
458549
+ function _temp65(s_4) {
458707
458550
  return s_4.modals.lspStatus;
458708
458551
  }
458709
458552
  function _temp512(s_3) {
@@ -458718,7 +458561,7 @@ function _temp321(s_1) {
458718
458561
  function _temp222(s_0) {
458719
458562
  return s_0.modals.webSearchSettings;
458720
458563
  }
458721
- function _temp67(s2) {
458564
+ function _temp66(s2) {
458722
458565
  return s2.modals.helpPopup;
458723
458566
  }
458724
458567
  var import_compiler_runtime40, closerCache, getCloser = (name21) => closerCache[name21] ??= () => useUIStore.getState().closeModal(name21);
@@ -458873,7 +458716,7 @@ function CommandPalette(t0) {
458873
458716
  } = usePopupScroll(maxVisible);
458874
458717
  let t22;
458875
458718
  if ($5[8] === Symbol.for("react.memo_cache_sentinel")) {
458876
- t22 = getCommandDefs().filter(_temp68);
458719
+ t22 = getCommandDefs().filter(_temp67);
458877
458720
  $5[8] = t22;
458878
458721
  } else {
458879
458722
  t22 = $5[8];
@@ -459436,7 +459279,7 @@ function _temp322(q_0) {
459436
459279
  function _temp223(q4) {
459437
459280
  return q4.slice(0, -1);
459438
459281
  }
459439
- function _temp68(d3) {
459282
+ function _temp67(d3) {
459440
459283
  return !d3.hidden;
459441
459284
  }
459442
459285
  function renderHighlightedCmd(cmd, indices, baseFg, hlFg, bg2, bold2) {
@@ -460385,7 +460228,7 @@ function DiagnosePopup(t0) {
460385
460228
  return;
460386
460229
  }
460387
460230
  if (evt.name === "up") {
460388
- setScrollOffset(_temp69);
460231
+ setScrollOffset(_temp68);
460389
460232
  return;
460390
460233
  }
460391
460234
  if (evt.name === "down") {
@@ -460723,7 +460566,7 @@ function DiagnosePopup(t0) {
460723
460566
  }
460724
460567
  return t30;
460725
460568
  }
460726
- function _temp69(prev) {
460569
+ function _temp68(prev) {
460727
460570
  return Math.max(0, prev - 1);
460728
460571
  }
460729
460572
  var import_compiler_runtime42, import_react75, CHROME_ROWS9 = 6, SPINNER;
@@ -460907,7 +460750,7 @@ var init_FooterNav = __esm(() => {
460907
460750
  if ($5[0] !== t2.textDim) {
460908
460751
  t22 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
460909
460752
  fg: t2.textDim,
460910
- children: " \u2502 esc skip"
460753
+ children: " \u2502 esc close"
460911
460754
  }, undefined, false, undefined, this);
460912
460755
  $5[0] = t2.textDim;
460913
460756
  $5[1] = t22;
@@ -461047,11 +460890,11 @@ var init_ProgressBar = __esm(() => {
461047
460890
  });
461048
460891
 
461049
460892
  // src/components/modals/wizard/theme.ts
461050
- var BOLD3, ITALIC2;
460893
+ var BOLD4, ITALIC3;
461051
460894
  var init_theme2 = __esm(async () => {
461052
460895
  await init_core4();
461053
- BOLD3 = TextAttributes.BOLD;
461054
- ITALIC2 = TextAttributes.ITALIC;
460896
+ BOLD4 = TextAttributes.BOLD;
460897
+ ITALIC3 = TextAttributes.ITALIC;
461055
460898
  });
461056
460899
 
461057
460900
  // src/components/modals/wizard/primitives.tsx
@@ -461158,7 +461001,7 @@ var init_primitives = __esm(async () => {
461158
461001
  if ($5[0] !== bg2 || $5[1] !== ic || $5[2] !== t2.brand) {
461159
461002
  t1 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
461160
461003
  fg: t2.brand,
461161
- attributes: BOLD3,
461004
+ attributes: BOLD4,
461162
461005
  bg: bg2,
461163
461006
  children: ic
461164
461007
  }, undefined, false, undefined, this);
@@ -461173,7 +461016,7 @@ var init_primitives = __esm(async () => {
461173
461016
  if ($5[4] !== bg2 || $5[5] !== t2.textPrimary || $5[6] !== title) {
461174
461017
  t22 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
461175
461018
  fg: t2.textPrimary,
461176
- attributes: BOLD3,
461019
+ attributes: BOLD4,
461177
461020
  bg: bg2,
461178
461021
  children: [
461179
461022
  " ",
@@ -461219,7 +461062,7 @@ var init_primitives = __esm(async () => {
461219
461062
  if ($5[0] !== bg2 || $5[1] !== label || $5[2] !== t2.textMuted) {
461220
461063
  t1 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
461221
461064
  fg: t2.textMuted,
461222
- attributes: BOLD3,
461065
+ attributes: BOLD4,
461223
461066
  bg: bg2,
461224
461067
  children: label
461225
461068
  }, undefined, false, undefined, this);
@@ -461279,7 +461122,7 @@ var init_primitives = __esm(async () => {
461279
461122
  if ($5[4] !== bg2 || $5[5] !== t2.textPrimary || $5[6] !== title) {
461280
461123
  t22 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
461281
461124
  fg: t2.textPrimary,
461282
- attributes: BOLD3,
461125
+ attributes: BOLD4,
461283
461126
  bg: bg2,
461284
461127
  children: title
461285
461128
  }, undefined, false, undefined, this);
@@ -461459,7 +461302,7 @@ var init_IntelligenceStep = __esm(async () => {
461459
461302
  }, undefined, true, undefined, this),
461460
461303
  /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
461461
461304
  fg: t2.textPrimary,
461462
- attributes: BOLD3,
461305
+ attributes: BOLD4,
461463
461306
  bg: bg2,
461464
461307
  children: item.title
461465
461308
  }, undefined, false, undefined, this),
@@ -461746,7 +461589,7 @@ var init_ReadyStep = __esm(async () => {
461746
461589
  if ($5[38] !== t2.brandSecondary) {
461747
461590
  t17 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
461748
461591
  fg: t2.brandSecondary,
461749
- attributes: ITALIC2,
461592
+ attributes: ITALIC3,
461750
461593
  children: "speak to the forge..."
461751
461594
  }, undefined, false, undefined, this);
461752
461595
  $5[38] = t2.brandSecondary;
@@ -461912,7 +461755,7 @@ function getStatusLabel(id) {
461912
461755
  return parts2.join(" ");
461913
461756
  }
461914
461757
  function SetupStep(t0) {
461915
- const $5 = import_compiler_runtime48.c(160);
461758
+ const $5 = import_compiler_runtime48.c(166);
461916
461759
  const {
461917
461760
  iw,
461918
461761
  hasModel,
@@ -461920,6 +461763,14 @@ function SetupStep(t0) {
461920
461763
  onSelectModel,
461921
461764
  setActive
461922
461765
  } = t0;
461766
+ let t1;
461767
+ if ($5[0] === Symbol.for("react.memo_cache_sentinel")) {
461768
+ t1 = PROVIDERS.some(_temp69);
461769
+ $5[0] = t1;
461770
+ } else {
461771
+ t1 = $5[0];
461772
+ }
461773
+ const anyKeySet = t1;
461923
461774
  const t2 = useTheme();
461924
461775
  const {
461925
461776
  bg: popupBg,
@@ -461932,53 +461783,53 @@ function SetupStep(t0) {
461932
461783
  const [flash, setFlash] = import_react82.useState(null);
461933
461784
  const [selectedProvider, setSelectedProvider] = import_react82.useState(null);
461934
461785
  const [, setTick] = import_react82.useState(0);
461935
- let t1;
461936
- if ($5[0] !== setTick) {
461937
- t1 = () => setTick(_temp70);
461938
- $5[0] = setTick;
461939
- $5[1] = t1;
461786
+ let t22;
461787
+ if ($5[1] !== setTick) {
461788
+ t22 = () => setTick(_temp224);
461789
+ $5[1] = setTick;
461790
+ $5[2] = t22;
461940
461791
  } else {
461941
- t1 = $5[1];
461792
+ t22 = $5[2];
461942
461793
  }
461943
- const refresh = t1;
461944
- let t22;
461794
+ const refresh = t22;
461945
461795
  let t3;
461946
- if ($5[2] !== phase || $5[3] !== setActive) {
461947
- t22 = () => {
461796
+ let t4;
461797
+ if ($5[3] !== phase || $5[4] !== setActive) {
461798
+ t3 = () => {
461948
461799
  setActive(phase === "key");
461949
461800
  };
461950
- t3 = [phase, setActive];
461951
- $5[2] = phase;
461952
- $5[3] = setActive;
461953
- $5[4] = t22;
461801
+ t4 = [phase, setActive];
461802
+ $5[3] = phase;
461803
+ $5[4] = setActive;
461954
461804
  $5[5] = t3;
461805
+ $5[6] = t4;
461955
461806
  } else {
461956
- t22 = $5[4];
461957
461807
  t3 = $5[5];
461808
+ t4 = $5[6];
461958
461809
  }
461959
- import_react82.useEffect(t22, t3);
461960
- let t4;
461810
+ import_react82.useEffect(t3, t4);
461961
461811
  let t5;
461962
- if ($5[6] === Symbol.for("react.memo_cache_sentinel")) {
461963
- t4 = () => {
461812
+ let t6;
461813
+ if ($5[7] === Symbol.for("react.memo_cache_sentinel")) {
461814
+ t5 = () => {
461964
461815
  setPhase("provider");
461965
461816
  setCursor(0);
461966
461817
  setInputValue("");
461967
461818
  setFlash(null);
461968
461819
  setSelectedProvider(null);
461969
461820
  };
461970
- t5 = [];
461971
- $5[6] = t4;
461821
+ t6 = [];
461972
461822
  $5[7] = t5;
461823
+ $5[8] = t6;
461973
461824
  } else {
461974
- t4 = $5[6];
461975
461825
  t5 = $5[7];
461826
+ t6 = $5[8];
461976
461827
  }
461977
- import_react82.useEffect(t4, t5);
461978
- let t6;
461828
+ import_react82.useEffect(t5, t6);
461979
461829
  let t7;
461980
- if ($5[8] !== phase || $5[9] !== renderer2) {
461981
- t6 = () => {
461830
+ let t8;
461831
+ if ($5[9] !== phase || $5[10] !== renderer2) {
461832
+ t7 = () => {
461982
461833
  if (phase !== "key") {
461983
461834
  return;
461984
461835
  }
@@ -461993,19 +461844,19 @@ function SetupStep(t0) {
461993
461844
  renderer2.keyInput.off("paste", handler4);
461994
461845
  };
461995
461846
  };
461996
- t7 = [phase, renderer2];
461997
- $5[8] = phase;
461998
- $5[9] = renderer2;
461999
- $5[10] = t6;
461847
+ t8 = [phase, renderer2];
461848
+ $5[9] = phase;
461849
+ $5[10] = renderer2;
462000
461850
  $5[11] = t7;
461851
+ $5[12] = t8;
462001
461852
  } else {
462002
- t6 = $5[10];
462003
461853
  t7 = $5[11];
461854
+ t8 = $5[12];
462004
461855
  }
462005
- import_react82.useEffect(t6, t7);
462006
- let t8;
462007
- if ($5[12] !== cursor || $5[13] !== inputValue || $5[14] !== onSelectModel || $5[15] !== phase || $5[16] !== refresh || $5[17] !== selectedProvider) {
462008
- t8 = (evt) => {
461856
+ import_react82.useEffect(t7, t8);
461857
+ let t9;
461858
+ if ($5[13] !== cursor || $5[14] !== inputValue || $5[15] !== onSelectModel || $5[16] !== phase || $5[17] !== refresh || $5[18] !== selectedProvider) {
461859
+ t9 = (evt) => {
462009
461860
  if (phase === "key") {
462010
461861
  if (evt.name === "escape") {
462011
461862
  setPhase("provider");
@@ -462026,7 +461877,7 @@ function SetupStep(t0) {
462026
461877
  return;
462027
461878
  }
462028
461879
  if (evt.name === "backspace") {
462029
- setInputValue(_temp224);
461880
+ setInputValue(_temp323);
462030
461881
  return;
462031
461882
  }
462032
461883
  if (evt.sequence && evt.sequence.length === 1 && !evt.ctrl && !evt.meta) {
@@ -462035,11 +461886,11 @@ function SetupStep(t0) {
462035
461886
  return;
462036
461887
  }
462037
461888
  if (evt.name === "up") {
462038
- setCursor(_temp323);
461889
+ setCursor(_temp415);
462039
461890
  return;
462040
461891
  }
462041
461892
  if (evt.name === "down") {
462042
- setCursor(_temp415);
461893
+ setCursor(_temp513);
462043
461894
  return;
462044
461895
  }
462045
461896
  if (evt.name === "return") {
@@ -462056,233 +461907,233 @@ function SetupStep(t0) {
462056
461907
  }
462057
461908
  }
462058
461909
  };
462059
- $5[12] = cursor;
462060
- $5[13] = inputValue;
462061
- $5[14] = onSelectModel;
462062
- $5[15] = phase;
462063
- $5[16] = refresh;
462064
- $5[17] = selectedProvider;
462065
- $5[18] = t8;
461910
+ $5[13] = cursor;
461911
+ $5[14] = inputValue;
461912
+ $5[15] = onSelectModel;
461913
+ $5[16] = phase;
461914
+ $5[17] = refresh;
461915
+ $5[18] = selectedProvider;
461916
+ $5[19] = t9;
462066
461917
  } else {
462067
- t8 = $5[18];
461918
+ t9 = $5[19];
462068
461919
  }
462069
- useKeyboard(t8);
461920
+ useKeyboard(t9);
462070
461921
  const selected = PROVIDERS[cursor];
462071
- let t9;
462072
- if ($5[19] !== inputValue) {
462073
- t9 = inputValue.length > 0 ? `${"*".repeat(Math.max(0, inputValue.length - 4))}${inputValue.slice(-4)}` : "";
462074
- $5[19] = inputValue;
462075
- $5[20] = t9;
461922
+ let t10;
461923
+ if ($5[20] !== inputValue) {
461924
+ t10 = inputValue.length > 0 ? `${"*".repeat(Math.max(0, inputValue.length - 4))}${inputValue.slice(-4)}` : "";
461925
+ $5[20] = inputValue;
461926
+ $5[21] = t10;
462076
461927
  } else {
462077
- t9 = $5[20];
461928
+ t10 = $5[21];
462078
461929
  }
462079
- const masked = t9;
461930
+ const masked = t10;
462080
461931
  if (phase === "key" && selectedProvider) {
462081
- let t102;
462082
- if ($5[21] !== iw) {
462083
- t102 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
461932
+ let t112;
461933
+ if ($5[22] !== iw) {
461934
+ t112 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
462084
461935
  iw
462085
461936
  }, undefined, false, undefined, this);
462086
- $5[21] = iw;
462087
- $5[22] = t102;
461937
+ $5[22] = iw;
461938
+ $5[23] = t112;
462088
461939
  } else {
462089
- t102 = $5[22];
461940
+ t112 = $5[23];
462090
461941
  }
462091
- const t112 = `Set ${selectedProvider.label} Key`;
462092
- let t122;
462093
- if ($5[23] !== iw || $5[24] !== t112) {
462094
- t122 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(StepHeader, {
461942
+ const t122 = `Set ${selectedProvider.label} Key`;
461943
+ let t132;
461944
+ if ($5[24] !== iw || $5[25] !== t122) {
461945
+ t132 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(StepHeader, {
462095
461946
  iw,
462096
461947
  ic: "\u26BF",
462097
- title: t112
461948
+ title: t122
462098
461949
  }, undefined, false, undefined, this);
462099
- $5[23] = iw;
462100
- $5[24] = t112;
461950
+ $5[24] = iw;
462101
461951
  $5[25] = t122;
461952
+ $5[26] = t132;
462102
461953
  } else {
462103
- t122 = $5[25];
461954
+ t132 = $5[26];
462104
461955
  }
462105
- let t132;
462106
- if ($5[26] !== iw) {
462107
- t132 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
461956
+ let t142;
461957
+ if ($5[27] !== iw) {
461958
+ t142 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
462108
461959
  iw
462109
461960
  }, undefined, false, undefined, this);
462110
- $5[26] = iw;
462111
- $5[27] = t132;
461961
+ $5[27] = iw;
461962
+ $5[28] = t142;
462112
461963
  } else {
462113
- t132 = $5[27];
461964
+ t142 = $5[28];
462114
461965
  }
462115
- let t142;
462116
- if ($5[28] !== popupBg || $5[29] !== t2.textSecondary) {
462117
- t142 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
461966
+ let t152;
461967
+ if ($5[29] !== popupBg || $5[30] !== t2.textSecondary) {
461968
+ t152 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462118
461969
  fg: t2.textSecondary,
462119
461970
  bg: popupBg,
462120
461971
  children: " Get your key at "
462121
461972
  }, undefined, false, undefined, this);
462122
- $5[28] = popupBg;
462123
- $5[29] = t2.textSecondary;
462124
- $5[30] = t142;
461973
+ $5[29] = popupBg;
461974
+ $5[30] = t2.textSecondary;
461975
+ $5[31] = t152;
462125
461976
  } else {
462126
- t142 = $5[30];
461977
+ t152 = $5[31];
462127
461978
  }
462128
- const t152 = selectedProvider.url;
462129
- const t162 = t2.info;
462130
- let t172;
462131
- if ($5[31] !== selectedProvider.url) {
462132
- t172 = selectedProvider.url.replace("https://", "");
462133
- $5[31] = selectedProvider.url;
462134
- $5[32] = t172;
461979
+ const t162 = selectedProvider.url;
461980
+ const t172 = t2.info;
461981
+ let t182;
461982
+ if ($5[32] !== selectedProvider.url) {
461983
+ t182 = selectedProvider.url.replace("https://", "");
461984
+ $5[32] = selectedProvider.url;
461985
+ $5[33] = t182;
462135
461986
  } else {
462136
- t172 = $5[32];
461987
+ t182 = $5[33];
462137
461988
  }
462138
- let t182;
462139
- if ($5[33] !== t2.info || $5[34] !== t172) {
462140
- t182 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
462141
- fg: t162,
461989
+ let t192;
461990
+ if ($5[34] !== t2.info || $5[35] !== t182) {
461991
+ t192 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
461992
+ fg: t172,
462142
461993
  attributes: TextAttributes.UNDERLINE,
462143
- children: t172
461994
+ children: t182
462144
461995
  }, undefined, false, undefined, this);
462145
- $5[33] = t2.info;
462146
- $5[34] = t172;
461996
+ $5[34] = t2.info;
462147
461997
  $5[35] = t182;
461998
+ $5[36] = t192;
462148
461999
  } else {
462149
- t182 = $5[35];
462000
+ t192 = $5[36];
462150
462001
  }
462151
- let t192;
462152
- if ($5[36] !== selectedProvider.url || $5[37] !== t182) {
462153
- t192 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("a", {
462154
- href: t152,
462155
- children: t182
462002
+ let t202;
462003
+ if ($5[37] !== selectedProvider.url || $5[38] !== t192) {
462004
+ t202 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("a", {
462005
+ href: t162,
462006
+ children: t192
462156
462007
  }, undefined, false, undefined, this);
462157
- $5[36] = selectedProvider.url;
462158
- $5[37] = t182;
462008
+ $5[37] = selectedProvider.url;
462159
462009
  $5[38] = t192;
462010
+ $5[39] = t202;
462160
462011
  } else {
462161
- t192 = $5[38];
462012
+ t202 = $5[39];
462162
462013
  }
462163
- let t202;
462164
- if ($5[39] !== popupBg || $5[40] !== t192) {
462165
- t202 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462014
+ let t212;
462015
+ if ($5[40] !== popupBg || $5[41] !== t202) {
462016
+ t212 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462166
462017
  bg: popupBg,
462167
- children: t192
462018
+ children: t202
462168
462019
  }, undefined, false, undefined, this);
462169
- $5[39] = popupBg;
462170
- $5[40] = t192;
462020
+ $5[40] = popupBg;
462171
462021
  $5[41] = t202;
462022
+ $5[42] = t212;
462172
462023
  } else {
462173
- t202 = $5[41];
462024
+ t212 = $5[42];
462174
462025
  }
462175
- let t212;
462176
- if ($5[42] !== iw || $5[43] !== t142 || $5[44] !== t202) {
462177
- t212 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
462026
+ let t223;
462027
+ if ($5[43] !== iw || $5[44] !== t152 || $5[45] !== t212) {
462028
+ t223 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
462178
462029
  w: iw,
462179
462030
  children: [
462180
- t142,
462181
- t202
462031
+ t152,
462032
+ t212
462182
462033
  ]
462183
462034
  }, undefined, true, undefined, this);
462184
- $5[42] = iw;
462185
- $5[43] = t142;
462186
- $5[44] = t202;
462035
+ $5[43] = iw;
462036
+ $5[44] = t152;
462187
462037
  $5[45] = t212;
462038
+ $5[46] = t223;
462188
462039
  } else {
462189
- t212 = $5[45];
462040
+ t223 = $5[46];
462190
462041
  }
462191
- let t223;
462192
- if ($5[46] !== iw) {
462193
- t223 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
462042
+ let t232;
462043
+ if ($5[47] !== iw) {
462044
+ t232 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
462194
462045
  iw
462195
462046
  }, undefined, false, undefined, this);
462196
- $5[46] = iw;
462197
- $5[47] = t223;
462047
+ $5[47] = iw;
462048
+ $5[48] = t232;
462198
462049
  } else {
462199
- t223 = $5[47];
462050
+ t232 = $5[48];
462200
462051
  }
462201
- let t232;
462202
- if ($5[48] !== popupBg || $5[49] !== t2.textMuted) {
462203
- t232 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462052
+ let t242;
462053
+ if ($5[49] !== popupBg || $5[50] !== t2.textMuted) {
462054
+ t242 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462204
462055
  fg: t2.textMuted,
462205
462056
  bg: popupBg,
462206
462057
  children: " Paste your key:"
462207
462058
  }, undefined, false, undefined, this);
462208
- $5[48] = popupBg;
462209
- $5[49] = t2.textMuted;
462210
- $5[50] = t232;
462059
+ $5[49] = popupBg;
462060
+ $5[50] = t2.textMuted;
462061
+ $5[51] = t242;
462211
462062
  } else {
462212
- t232 = $5[50];
462063
+ t242 = $5[51];
462213
462064
  }
462214
- let t242;
462215
- if ($5[51] !== iw || $5[52] !== t232) {
462216
- t242 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
462065
+ let t252;
462066
+ if ($5[52] !== iw || $5[53] !== t242) {
462067
+ t252 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
462217
462068
  w: iw,
462218
- children: t232
462069
+ children: t242
462219
462070
  }, undefined, false, undefined, this);
462220
- $5[51] = iw;
462221
- $5[52] = t232;
462071
+ $5[52] = iw;
462222
462072
  $5[53] = t242;
462073
+ $5[54] = t252;
462223
462074
  } else {
462224
- t242 = $5[53];
462075
+ t252 = $5[54];
462225
462076
  }
462226
- const t252 = masked || " ";
462227
- let t262;
462228
- if ($5[54] !== popupHl || $5[55] !== t2.info || $5[56] !== t252) {
462229
- t262 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462077
+ const t262 = masked || " ";
462078
+ let t272;
462079
+ if ($5[55] !== popupHl || $5[56] !== t2.info || $5[57] !== t262) {
462080
+ t272 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462230
462081
  bg: popupHl,
462231
462082
  fg: t2.info,
462232
462083
  children: [
462233
462084
  " ",
462234
- t252
462085
+ t262
462235
462086
  ]
462236
462087
  }, undefined, true, undefined, this);
462237
- $5[54] = popupHl;
462238
- $5[55] = t2.info;
462239
- $5[56] = t252;
462088
+ $5[55] = popupHl;
462089
+ $5[56] = t2.info;
462240
462090
  $5[57] = t262;
462091
+ $5[58] = t272;
462241
462092
  } else {
462242
- t262 = $5[57];
462093
+ t272 = $5[58];
462243
462094
  }
462244
- let t272;
462245
- if ($5[58] !== popupHl || $5[59] !== t2.brandSecondary) {
462246
- t272 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462095
+ let t282;
462096
+ if ($5[59] !== popupHl || $5[60] !== t2.brandSecondary) {
462097
+ t282 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462247
462098
  bg: popupHl,
462248
462099
  fg: t2.brandSecondary,
462249
462100
  children: "_"
462250
462101
  }, undefined, false, undefined, this);
462251
- $5[58] = popupHl;
462252
- $5[59] = t2.brandSecondary;
462253
- $5[60] = t272;
462102
+ $5[59] = popupHl;
462103
+ $5[60] = t2.brandSecondary;
462104
+ $5[61] = t282;
462254
462105
  } else {
462255
- t272 = $5[60];
462106
+ t282 = $5[61];
462256
462107
  }
462257
- let t282;
462258
- if ($5[61] !== iw || $5[62] !== t262 || $5[63] !== t272) {
462259
- t282 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
462108
+ let t292;
462109
+ if ($5[62] !== iw || $5[63] !== t272 || $5[64] !== t282) {
462110
+ t292 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
462260
462111
  w: iw,
462261
462112
  children: [
462262
- t262,
462263
- t272
462113
+ t272,
462114
+ t282
462264
462115
  ]
462265
462116
  }, undefined, true, undefined, this);
462266
- $5[61] = iw;
462267
- $5[62] = t262;
462117
+ $5[62] = iw;
462268
462118
  $5[63] = t272;
462269
462119
  $5[64] = t282;
462120
+ $5[65] = t292;
462270
462121
  } else {
462271
- t282 = $5[64];
462122
+ t292 = $5[65];
462272
462123
  }
462273
- let t29;
462274
- if ($5[65] !== iw) {
462275
- t29 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
462124
+ let t302;
462125
+ if ($5[66] !== iw) {
462126
+ t302 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
462276
462127
  iw
462277
462128
  }, undefined, false, undefined, this);
462278
- $5[65] = iw;
462279
- $5[66] = t29;
462129
+ $5[66] = iw;
462130
+ $5[67] = t302;
462280
462131
  } else {
462281
- t29 = $5[66];
462132
+ t302 = $5[67];
462282
462133
  }
462283
- let t30;
462284
- if ($5[67] !== popupBg || $5[68] !== selectedProvider.envVar || $5[69] !== t2.textFaint) {
462285
- t30 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462134
+ let t31;
462135
+ if ($5[68] !== popupBg || $5[69] !== selectedProvider.envVar || $5[70] !== t2.textFaint) {
462136
+ t31 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462286
462137
  fg: t2.textFaint,
462287
462138
  bg: popupBg,
462288
462139
  children: [
@@ -462290,120 +462141,120 @@ function SetupStep(t0) {
462290
462141
  selectedProvider.envVar
462291
462142
  ]
462292
462143
  }, undefined, true, undefined, this);
462293
- $5[67] = popupBg;
462294
- $5[68] = selectedProvider.envVar;
462295
- $5[69] = t2.textFaint;
462296
- $5[70] = t30;
462144
+ $5[68] = popupBg;
462145
+ $5[69] = selectedProvider.envVar;
462146
+ $5[70] = t2.textFaint;
462147
+ $5[71] = t31;
462297
462148
  } else {
462298
- t30 = $5[70];
462149
+ t31 = $5[71];
462299
462150
  }
462300
- let t31;
462301
- if ($5[71] !== iw || $5[72] !== t30) {
462302
- t31 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
462151
+ let t32;
462152
+ if ($5[72] !== iw || $5[73] !== t31) {
462153
+ t32 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
462303
462154
  w: iw,
462304
- children: t30
462155
+ children: t31
462305
462156
  }, undefined, false, undefined, this);
462306
- $5[71] = iw;
462307
- $5[72] = t30;
462157
+ $5[72] = iw;
462308
462158
  $5[73] = t31;
462159
+ $5[74] = t32;
462309
462160
  } else {
462310
- t31 = $5[73];
462161
+ t32 = $5[74];
462311
462162
  }
462312
- let t32;
462313
- if ($5[74] !== t102 || $5[75] !== t122 || $5[76] !== t132 || $5[77] !== t212 || $5[78] !== t223 || $5[79] !== t242 || $5[80] !== t282 || $5[81] !== t29 || $5[82] !== t31) {
462314
- t32 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
462163
+ let t33;
462164
+ if ($5[75] !== t112 || $5[76] !== t132 || $5[77] !== t142 || $5[78] !== t223 || $5[79] !== t232 || $5[80] !== t252 || $5[81] !== t292 || $5[82] !== t302 || $5[83] !== t32) {
462165
+ t33 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
462315
462166
  children: [
462316
- t102,
462317
- t122,
462167
+ t112,
462318
462168
  t132,
462319
- t212,
462169
+ t142,
462320
462170
  t223,
462321
- t242,
462322
- t282,
462323
- t29,
462324
- t31
462171
+ t232,
462172
+ t252,
462173
+ t292,
462174
+ t302,
462175
+ t32
462325
462176
  ]
462326
462177
  }, undefined, true, undefined, this);
462327
- $5[74] = t102;
462328
- $5[75] = t122;
462178
+ $5[75] = t112;
462329
462179
  $5[76] = t132;
462330
- $5[77] = t212;
462180
+ $5[77] = t142;
462331
462181
  $5[78] = t223;
462332
- $5[79] = t242;
462333
- $5[80] = t282;
462334
- $5[81] = t29;
462335
- $5[82] = t31;
462182
+ $5[79] = t232;
462183
+ $5[80] = t252;
462184
+ $5[81] = t292;
462185
+ $5[82] = t302;
462336
462186
  $5[83] = t32;
462187
+ $5[84] = t33;
462337
462188
  } else {
462338
- t32 = $5[83];
462189
+ t33 = $5[84];
462339
462190
  }
462340
- return t32;
462191
+ return t33;
462341
462192
  }
462342
- let t10;
462343
462193
  let t11;
462344
462194
  let t12;
462345
- if ($5[84] !== iw) {
462346
- t10 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
462195
+ let t13;
462196
+ if ($5[85] !== iw) {
462197
+ t11 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
462347
462198
  iw
462348
462199
  }, undefined, false, undefined, this);
462349
- t11 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(StepHeader, {
462200
+ t12 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(StepHeader, {
462350
462201
  iw,
462351
462202
  ic: "\u25C8",
462352
462203
  title: "Choose a Provider"
462353
462204
  }, undefined, false, undefined, this);
462354
- t12 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
462205
+ t13 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
462355
462206
  iw
462356
462207
  }, undefined, false, undefined, this);
462357
- $5[84] = iw;
462358
- $5[85] = t10;
462208
+ $5[85] = iw;
462359
462209
  $5[86] = t11;
462360
462210
  $5[87] = t12;
462211
+ $5[88] = t13;
462361
462212
  } else {
462362
- t10 = $5[85];
462363
462213
  t11 = $5[86];
462364
462214
  t12 = $5[87];
462215
+ t13 = $5[88];
462365
462216
  }
462366
- let t13;
462367
- if ($5[88] !== popupBg || $5[89] !== t2.textSecondary) {
462368
- t13 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462217
+ let t14;
462218
+ if ($5[89] !== popupBg || $5[90] !== t2.textSecondary) {
462219
+ t14 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462369
462220
  fg: t2.textSecondary,
462370
462221
  bg: popupBg,
462371
462222
  children: " Select a provider and press \u23CE to set a key."
462372
462223
  }, undefined, false, undefined, this);
462373
- $5[88] = popupBg;
462374
- $5[89] = t2.textSecondary;
462375
- $5[90] = t13;
462224
+ $5[89] = popupBg;
462225
+ $5[90] = t2.textSecondary;
462226
+ $5[91] = t14;
462376
462227
  } else {
462377
- t13 = $5[90];
462228
+ t14 = $5[91];
462378
462229
  }
462379
- let t14;
462380
- if ($5[91] !== iw || $5[92] !== t13) {
462381
- t14 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
462230
+ let t15;
462231
+ if ($5[92] !== iw || $5[93] !== t14) {
462232
+ t15 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
462382
462233
  w: iw,
462383
- children: t13
462234
+ children: t14
462384
462235
  }, undefined, false, undefined, this);
462385
- $5[91] = iw;
462386
- $5[92] = t13;
462236
+ $5[92] = iw;
462387
462237
  $5[93] = t14;
462238
+ $5[94] = t15;
462388
462239
  } else {
462389
- t14 = $5[93];
462240
+ t15 = $5[94];
462390
462241
  }
462391
- let t15;
462392
- if ($5[94] !== popupBg || $5[95] !== t2.textSecondary) {
462393
- t15 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462242
+ let t16;
462243
+ if ($5[95] !== popupBg || $5[96] !== t2.textSecondary) {
462244
+ t16 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462394
462245
  fg: t2.textSecondary,
462395
462246
  bg: popupBg,
462396
462247
  children: " "
462397
462248
  }, undefined, false, undefined, this);
462398
- $5[94] = popupBg;
462399
- $5[95] = t2.textSecondary;
462400
- $5[96] = t15;
462249
+ $5[95] = popupBg;
462250
+ $5[96] = t2.textSecondary;
462251
+ $5[97] = t16;
462401
462252
  } else {
462402
- t15 = $5[96];
462253
+ t16 = $5[97];
462403
462254
  }
462404
- let t16;
462405
- if ($5[97] !== t2.info) {
462406
- t16 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("a", {
462255
+ let t17;
462256
+ if ($5[98] !== t2.info) {
462257
+ t17 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("a", {
462407
462258
  href: "https://llmgateway.io/dashboard?ref=6tjJR2H3X4E9RmVQiQwK",
462408
462259
  children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
462409
462260
  fg: t2.info,
@@ -462411,71 +462262,71 @@ function SetupStep(t0) {
462411
462262
  children: "llmgateway.io"
462412
462263
  }, undefined, false, undefined, this)
462413
462264
  }, undefined, false, undefined, this);
462414
- $5[97] = t2.info;
462415
- $5[98] = t16;
462265
+ $5[98] = t2.info;
462266
+ $5[99] = t17;
462416
462267
  } else {
462417
- t16 = $5[98];
462268
+ t17 = $5[99];
462418
462269
  }
462419
- let t17;
462420
- if ($5[99] !== popupBg || $5[100] !== t16) {
462421
- t17 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462270
+ let t18;
462271
+ if ($5[100] !== popupBg || $5[101] !== t17) {
462272
+ t18 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462422
462273
  bg: popupBg,
462423
- children: t16
462274
+ children: t17
462424
462275
  }, undefined, false, undefined, this);
462425
- $5[99] = popupBg;
462426
- $5[100] = t16;
462276
+ $5[100] = popupBg;
462427
462277
  $5[101] = t17;
462278
+ $5[102] = t18;
462428
462279
  } else {
462429
- t17 = $5[101];
462280
+ t18 = $5[102];
462430
462281
  }
462431
- let t18;
462432
- if ($5[102] !== popupBg || $5[103] !== t2.textSecondary) {
462433
- t18 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462282
+ let t19;
462283
+ if ($5[103] !== popupBg || $5[104] !== t2.textSecondary) {
462284
+ t19 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462434
462285
  fg: t2.textSecondary,
462435
462286
  bg: popupBg,
462436
462287
  children: " gives you one key for all models."
462437
462288
  }, undefined, false, undefined, this);
462438
- $5[102] = popupBg;
462439
- $5[103] = t2.textSecondary;
462440
- $5[104] = t18;
462289
+ $5[103] = popupBg;
462290
+ $5[104] = t2.textSecondary;
462291
+ $5[105] = t19;
462441
462292
  } else {
462442
- t18 = $5[104];
462293
+ t19 = $5[105];
462443
462294
  }
462444
- let t19;
462445
- if ($5[105] !== iw || $5[106] !== t15 || $5[107] !== t17 || $5[108] !== t18) {
462446
- t19 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
462295
+ let t20;
462296
+ if ($5[106] !== iw || $5[107] !== t16 || $5[108] !== t18 || $5[109] !== t19) {
462297
+ t20 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
462447
462298
  w: iw,
462448
462299
  children: [
462449
- t15,
462450
- t17,
462451
- t18
462300
+ t16,
462301
+ t18,
462302
+ t19
462452
462303
  ]
462453
462304
  }, undefined, true, undefined, this);
462454
- $5[105] = iw;
462455
- $5[106] = t15;
462456
- $5[107] = t17;
462305
+ $5[106] = iw;
462306
+ $5[107] = t16;
462457
462307
  $5[108] = t18;
462458
462308
  $5[109] = t19;
462309
+ $5[110] = t20;
462459
462310
  } else {
462460
- t19 = $5[109];
462311
+ t20 = $5[110];
462461
462312
  }
462462
- let t20;
462463
- if ($5[110] !== iw) {
462464
- t20 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
462313
+ let t21;
462314
+ if ($5[111] !== iw) {
462315
+ t21 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
462465
462316
  iw
462466
462317
  }, undefined, false, undefined, this);
462467
- $5[110] = iw;
462468
- $5[111] = t20;
462318
+ $5[111] = iw;
462319
+ $5[112] = t21;
462469
462320
  } else {
462470
- t20 = $5[111];
462321
+ t21 = $5[112];
462471
462322
  }
462472
- let t21;
462473
- if ($5[112] !== cursor || $5[113] !== iw || $5[114] !== popupBg || $5[115] !== popupHl || $5[116] !== t2.success || $5[117] !== t2.textFaint || $5[118] !== t2.textPrimary || $5[119] !== t2.textSecondary) {
462474
- t21 = PROVIDERS.map((p2, i4) => {
462323
+ let t222;
462324
+ if ($5[113] !== cursor || $5[114] !== iw || $5[115] !== popupBg || $5[116] !== popupHl || $5[117] !== t2.success || $5[118] !== t2.textFaint || $5[119] !== t2.textPrimary || $5[120] !== t2.textSecondary) {
462325
+ t222 = PROVIDERS.map((p_0, i4) => {
462475
462326
  const isSelected = i4 === cursor;
462476
462327
  const bg2 = isSelected ? popupHl : popupBg;
462477
- const configured = hasKey(p2.id);
462478
- const status = configured ? getStatusLabel(p2.id) : "not set";
462328
+ const configured = hasKey(p_0.id);
462329
+ const status = configured ? getStatusLabel(p_0.id) : "not set";
462479
462330
  const isGateway = i4 === 0;
462480
462331
  return /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
462481
462332
  w: iw,
@@ -462483,10 +462334,10 @@ function SetupStep(t0) {
462483
462334
  /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462484
462335
  bg: bg2,
462485
462336
  fg: isSelected ? t2.textPrimary : t2.textSecondary,
462486
- attributes: isGateway ? BOLD3 : 0,
462337
+ attributes: isGateway ? BOLD4 : 0,
462487
462338
  children: [
462488
462339
  isSelected ? "\u203A " : " ",
462489
- p2.label
462340
+ p_0.label
462490
462341
  ]
462491
462342
  }, undefined, true, undefined, this),
462492
462343
  /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
@@ -462498,23 +462349,23 @@ function SetupStep(t0) {
462498
462349
  ]
462499
462350
  }, undefined, true, undefined, this)
462500
462351
  ]
462501
- }, p2.id, true, undefined, this);
462352
+ }, p_0.id, true, undefined, this);
462502
462353
  });
462503
- $5[112] = cursor;
462504
- $5[113] = iw;
462505
- $5[114] = popupBg;
462506
- $5[115] = popupHl;
462507
- $5[116] = t2.success;
462508
- $5[117] = t2.textFaint;
462509
- $5[118] = t2.textPrimary;
462510
- $5[119] = t2.textSecondary;
462511
- $5[120] = t21;
462354
+ $5[113] = cursor;
462355
+ $5[114] = iw;
462356
+ $5[115] = popupBg;
462357
+ $5[116] = popupHl;
462358
+ $5[117] = t2.success;
462359
+ $5[118] = t2.textFaint;
462360
+ $5[119] = t2.textPrimary;
462361
+ $5[120] = t2.textSecondary;
462362
+ $5[121] = t222;
462512
462363
  } else {
462513
- t21 = $5[120];
462364
+ t222 = $5[121];
462514
462365
  }
462515
- let t222;
462516
- if ($5[121] !== iw || $5[122] !== popupBg || $5[123] !== selected || $5[124] !== t2.info || $5[125] !== t2.textFaint) {
462517
- t222 = selected && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
462366
+ let t23;
462367
+ if ($5[122] !== iw || $5[123] !== popupBg || $5[124] !== selected || $5[125] !== t2.info || $5[126] !== t2.textFaint) {
462368
+ t23 = selected && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
462518
462369
  children: [
462519
462370
  /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
462520
462371
  iw
@@ -462546,18 +462397,18 @@ function SetupStep(t0) {
462546
462397
  }, undefined, true, undefined, this)
462547
462398
  ]
462548
462399
  }, undefined, true, undefined, this);
462549
- $5[121] = iw;
462550
- $5[122] = popupBg;
462551
- $5[123] = selected;
462552
- $5[124] = t2.info;
462553
- $5[125] = t2.textFaint;
462554
- $5[126] = t222;
462400
+ $5[122] = iw;
462401
+ $5[123] = popupBg;
462402
+ $5[124] = selected;
462403
+ $5[125] = t2.info;
462404
+ $5[126] = t2.textFaint;
462405
+ $5[127] = t23;
462555
462406
  } else {
462556
- t222 = $5[126];
462407
+ t23 = $5[127];
462557
462408
  }
462558
- let t23;
462559
- if ($5[127] !== activeModel || $5[128] !== hasModel || $5[129] !== iw || $5[130] !== popupBg || $5[131] !== t2.success || $5[132] !== t2.textPrimary) {
462560
- t23 = hasModel && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
462409
+ let t24;
462410
+ if ($5[128] !== activeModel || $5[129] !== hasModel || $5[130] !== iw || $5[131] !== popupBg || $5[132] !== t2.success || $5[133] !== t2.textPrimary) {
462411
+ t24 = hasModel && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
462561
462412
  children: [
462562
462413
  /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
462563
462414
  iw
@@ -462567,13 +462418,13 @@ function SetupStep(t0) {
462567
462418
  children: [
462568
462419
  /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462569
462420
  fg: t2.success,
462570
- attributes: BOLD3,
462421
+ attributes: BOLD4,
462571
462422
  bg: popupBg,
462572
462423
  children: " \u2713 "
462573
462424
  }, undefined, false, undefined, this),
462574
462425
  /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462575
462426
  fg: t2.textPrimary,
462576
- attributes: BOLD3,
462427
+ attributes: BOLD4,
462577
462428
  bg: popupBg,
462578
462429
  children: activeModel
462579
462430
  }, undefined, false, undefined, this)
@@ -462581,23 +462432,48 @@ function SetupStep(t0) {
462581
462432
  }, undefined, true, undefined, this)
462582
462433
  ]
462583
462434
  }, undefined, true, undefined, this);
462584
- $5[127] = activeModel;
462585
- $5[128] = hasModel;
462586
- $5[129] = iw;
462587
- $5[130] = popupBg;
462588
- $5[131] = t2.success;
462589
- $5[132] = t2.textPrimary;
462590
- $5[133] = t23;
462435
+ $5[128] = activeModel;
462436
+ $5[129] = hasModel;
462437
+ $5[130] = iw;
462438
+ $5[131] = popupBg;
462439
+ $5[132] = t2.success;
462440
+ $5[133] = t2.textPrimary;
462441
+ $5[134] = t24;
462591
462442
  } else {
462592
- t23 = $5[133];
462443
+ t24 = $5[134];
462593
462444
  }
462594
- let t24;
462595
- if ($5[134] !== flash || $5[135] !== iw || $5[136] !== popupBg || $5[137] !== t2.success) {
462596
- t24 = flash && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
462445
+ let t25;
462446
+ if ($5[135] !== iw || $5[136] !== popupBg || $5[137] !== t2.brandSecondary) {
462447
+ t25 = anyKeySet && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
462448
+ children: [
462449
+ /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
462450
+ iw
462451
+ }, undefined, false, undefined, this),
462452
+ /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
462453
+ w: iw,
462454
+ children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462455
+ fg: t2.brandSecondary,
462456
+ attributes: BOLD4,
462457
+ bg: popupBg,
462458
+ children: " \u2192 press right arrow to continue"
462459
+ }, undefined, false, undefined, this)
462460
+ }, undefined, false, undefined, this)
462461
+ ]
462462
+ }, undefined, true, undefined, this);
462463
+ $5[135] = iw;
462464
+ $5[136] = popupBg;
462465
+ $5[137] = t2.brandSecondary;
462466
+ $5[138] = t25;
462467
+ } else {
462468
+ t25 = $5[138];
462469
+ }
462470
+ let t26;
462471
+ if ($5[139] !== flash || $5[140] !== iw || $5[141] !== popupBg || $5[142] !== t2.success) {
462472
+ t26 = flash && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
462597
462473
  w: iw,
462598
462474
  children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462599
462475
  fg: t2.success,
462600
- attributes: BOLD3,
462476
+ attributes: BOLD4,
462601
462477
  bg: popupBg,
462602
462478
  children: [
462603
462479
  " ",
@@ -462605,97 +462481,102 @@ function SetupStep(t0) {
462605
462481
  ]
462606
462482
  }, undefined, true, undefined, this)
462607
462483
  }, undefined, false, undefined, this);
462608
- $5[134] = flash;
462609
- $5[135] = iw;
462610
- $5[136] = popupBg;
462611
- $5[137] = t2.success;
462612
- $5[138] = t24;
462484
+ $5[139] = flash;
462485
+ $5[140] = iw;
462486
+ $5[141] = popupBg;
462487
+ $5[142] = t2.success;
462488
+ $5[143] = t26;
462613
462489
  } else {
462614
- t24 = $5[138];
462490
+ t26 = $5[143];
462615
462491
  }
462616
- let t25;
462617
- if ($5[139] !== iw) {
462618
- t25 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
462492
+ let t27;
462493
+ if ($5[144] !== iw) {
462494
+ t27 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
462619
462495
  iw
462620
462496
  }, undefined, false, undefined, this);
462621
- $5[139] = iw;
462622
- $5[140] = t25;
462497
+ $5[144] = iw;
462498
+ $5[145] = t27;
462623
462499
  } else {
462624
- t25 = $5[140];
462500
+ t27 = $5[145];
462625
462501
  }
462626
- let t26;
462627
- if ($5[141] !== popupBg || $5[142] !== t2.textFaint) {
462628
- t26 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462502
+ let t28;
462503
+ if ($5[146] !== popupBg || $5[147] !== t2.textFaint) {
462504
+ t28 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462629
462505
  fg: t2.textFaint,
462630
462506
  bg: popupBg,
462631
- children: " \u2191\u2193 select \xB7 \u23CE set key \xB7 \u2192 next step"
462507
+ children: " \u2191\u2193 select \xB7 \u23CE set key \xB7 \u2192 next step \xB7 esc close"
462632
462508
  }, undefined, false, undefined, this);
462633
- $5[141] = popupBg;
462634
- $5[142] = t2.textFaint;
462635
- $5[143] = t26;
462509
+ $5[146] = popupBg;
462510
+ $5[147] = t2.textFaint;
462511
+ $5[148] = t28;
462636
462512
  } else {
462637
- t26 = $5[143];
462513
+ t28 = $5[148];
462638
462514
  }
462639
- let t27;
462640
- if ($5[144] !== iw || $5[145] !== t26) {
462641
- t27 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
462515
+ let t29;
462516
+ if ($5[149] !== iw || $5[150] !== t28) {
462517
+ t29 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
462642
462518
  w: iw,
462643
- children: t26
462519
+ children: t28
462644
462520
  }, undefined, false, undefined, this);
462645
- $5[144] = iw;
462646
- $5[145] = t26;
462647
- $5[146] = t27;
462521
+ $5[149] = iw;
462522
+ $5[150] = t28;
462523
+ $5[151] = t29;
462648
462524
  } else {
462649
- t27 = $5[146];
462525
+ t29 = $5[151];
462650
462526
  }
462651
- let t28;
462652
- if ($5[147] !== t10 || $5[148] !== t11 || $5[149] !== t12 || $5[150] !== t14 || $5[151] !== t19 || $5[152] !== t20 || $5[153] !== t21 || $5[154] !== t222 || $5[155] !== t23 || $5[156] !== t24 || $5[157] !== t25 || $5[158] !== t27) {
462653
- t28 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
462527
+ let t30;
462528
+ if ($5[152] !== t11 || $5[153] !== t12 || $5[154] !== t13 || $5[155] !== t15 || $5[156] !== t20 || $5[157] !== t21 || $5[158] !== t222 || $5[159] !== t23 || $5[160] !== t24 || $5[161] !== t25 || $5[162] !== t26 || $5[163] !== t27 || $5[164] !== t29) {
462529
+ t30 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
462654
462530
  children: [
462655
- t10,
462656
462531
  t11,
462657
462532
  t12,
462658
- t14,
462659
- t19,
462533
+ t13,
462534
+ t15,
462660
462535
  t20,
462661
462536
  t21,
462662
462537
  t222,
462663
462538
  t23,
462664
462539
  t24,
462665
462540
  t25,
462666
- t27
462541
+ t26,
462542
+ t27,
462543
+ t29
462667
462544
  ]
462668
462545
  }, undefined, true, undefined, this);
462669
- $5[147] = t10;
462670
- $5[148] = t11;
462671
- $5[149] = t12;
462672
- $5[150] = t14;
462673
- $5[151] = t19;
462674
- $5[152] = t20;
462675
- $5[153] = t21;
462676
- $5[154] = t222;
462677
- $5[155] = t23;
462678
- $5[156] = t24;
462679
- $5[157] = t25;
462680
- $5[158] = t27;
462681
- $5[159] = t28;
462546
+ $5[152] = t11;
462547
+ $5[153] = t12;
462548
+ $5[154] = t13;
462549
+ $5[155] = t15;
462550
+ $5[156] = t20;
462551
+ $5[157] = t21;
462552
+ $5[158] = t222;
462553
+ $5[159] = t23;
462554
+ $5[160] = t24;
462555
+ $5[161] = t25;
462556
+ $5[162] = t26;
462557
+ $5[163] = t27;
462558
+ $5[164] = t29;
462559
+ $5[165] = t30;
462682
462560
  } else {
462683
- t28 = $5[159];
462561
+ t30 = $5[165];
462684
462562
  }
462685
- return t28;
462563
+ return t30;
462686
462564
  }
462687
- function _temp415(c_0) {
462565
+ function _temp513(c_0) {
462688
462566
  return c_0 < PROVIDERS.length - 1 ? c_0 + 1 : 0;
462689
462567
  }
462690
- function _temp323(c) {
462568
+ function _temp415(c) {
462691
462569
  return c > 0 ? c - 1 : PROVIDERS.length - 1;
462692
462570
  }
462693
- function _temp224(v_0) {
462571
+ function _temp323(v_0) {
462694
462572
  return v_0.slice(0, -1);
462695
462573
  }
462696
- function _temp70(n) {
462574
+ function _temp224(n) {
462697
462575
  return n + 1;
462698
462576
  }
462577
+ function _temp69(p2) {
462578
+ return hasKey(p2.id);
462579
+ }
462699
462580
  var import_compiler_runtime48, import_react82, PROVIDERS;
462700
462581
  var init_SetupStep = __esm(async () => {
462701
462582
  init_secrets();
@@ -462813,7 +462694,7 @@ var init_ShortcutsStep = __esm(async () => {
462813
462694
  children: [
462814
462695
  /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
462815
462696
  fg: s2.slash ? t2.brand : t2.info,
462816
- attributes: BOLD3,
462697
+ attributes: BOLD4,
462817
462698
  bg: bg2,
462818
462699
  children: [
462819
462700
  " ",
@@ -462864,7 +462745,7 @@ var init_ShortcutsStep = __esm(async () => {
462864
462745
  if ($5[15] !== t2.info) {
462865
462746
  t7 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
462866
462747
  fg: t2.info,
462867
- attributes: BOLD3,
462748
+ attributes: BOLD4,
462868
462749
  children: "Ctrl+K"
462869
462750
  }, undefined, false, undefined, this);
462870
462751
  $5[15] = t2.info;
@@ -462938,7 +462819,7 @@ function opacityToIndex2(opacity) {
462938
462819
  return idx >= 0 ? idx : OPACITY_LEVELS2.length - 1;
462939
462820
  }
462940
462821
  function ThemeStep(t0) {
462941
- const $5 = import_compiler_runtime50.c(117);
462822
+ const $5 = import_compiler_runtime50.c(125);
462942
462823
  const {
462943
462824
  iw,
462944
462825
  setActive
@@ -462956,7 +462837,7 @@ function ThemeStep(t0) {
462956
462837
  t1 = $5[0];
462957
462838
  }
462958
462839
  const themes = t1;
462959
- const currentName = useThemeStore(_temp71);
462840
+ const currentName = useThemeStore(_temp70);
462960
462841
  const isTransparent = useThemeStore(_temp225);
462961
462842
  let t22;
462962
462843
  if ($5[1] === Symbol.for("react.memo_cache_sentinel")) {
@@ -463165,7 +463046,7 @@ function ThemeStep(t0) {
463165
463046
  t232 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
463166
463047
  fg: t2.info,
463167
463048
  bg: popupBg,
463168
- attributes: BOLD3,
463049
+ attributes: BOLD4,
463169
463050
  children: "~/.soulforge/themes.json"
463170
463051
  }, undefined, false, undefined, this);
463171
463052
  $5[56] = popupBg;
@@ -463230,18 +463111,18 @@ function ThemeStep(t0) {
463230
463111
  } else {
463231
463112
  t16 = $5[72];
463232
463113
  }
463233
- const t26 = diffOpacity < 100;
463234
- if ($5[73] !== diffLabel || $5[74] !== iw || $5[75] !== t26) {
463114
+ const t262 = diffOpacity < 100;
463115
+ if ($5[73] !== diffLabel || $5[74] !== iw || $5[75] !== t262) {
463235
463116
  t17 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(OptionRow, {
463236
463117
  iw,
463237
463118
  label: "Diff BG",
463238
463119
  value: diffLabel,
463239
463120
  key_: "d",
463240
- active: t26
463121
+ active: t262
463241
463122
  }, undefined, false, undefined, this);
463242
463123
  $5[73] = diffLabel;
463243
463124
  $5[74] = iw;
463244
- $5[75] = t26;
463125
+ $5[75] = t262;
463245
463126
  $5[76] = t17;
463246
463127
  } else {
463247
463128
  t17 = $5[76];
@@ -463295,7 +463176,7 @@ function ThemeStep(t0) {
463295
463176
  /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
463296
463177
  bg: bg2,
463297
463178
  fg: th_3.brand,
463298
- attributes: BOLD3,
463179
+ attributes: BOLD4,
463299
463180
  children: "\u25A0\u25A0 "
463300
463181
  }, undefined, false, undefined, this),
463301
463182
  /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
@@ -463373,43 +463254,70 @@ function ThemeStep(t0) {
463373
463254
  t21 = $5[49];
463374
463255
  }
463375
463256
  let t222;
463376
- if ($5[95] !== iw) {
463377
- t222 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
463378
- iw
463257
+ if ($5[95] !== cursor || $5[96] !== iw || $5[97] !== maxVisible || $5[98] !== popupBg || $5[99] !== scrollOffset || $5[100] !== t2.textMuted) {
463258
+ t222 = themes.length > maxVisible && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
463259
+ w: iw,
463260
+ children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
463261
+ fg: t2.textMuted,
463262
+ bg: popupBg,
463263
+ children: [
463264
+ " ",
463265
+ scrollOffset > 0 ? "\u2191 " : " ",
463266
+ String(cursor + 1),
463267
+ "/",
463268
+ String(themes.length),
463269
+ scrollOffset + maxVisible < themes.length ? " \u2193" : ""
463270
+ ]
463271
+ }, undefined, true, undefined, this)
463379
463272
  }, undefined, false, undefined, this);
463380
- $5[95] = iw;
463381
- $5[96] = t222;
463273
+ $5[95] = cursor;
463274
+ $5[96] = iw;
463275
+ $5[97] = maxVisible;
463276
+ $5[98] = popupBg;
463277
+ $5[99] = scrollOffset;
463278
+ $5[100] = t2.textMuted;
463279
+ $5[101] = t222;
463382
463280
  } else {
463383
- t222 = $5[96];
463281
+ t222 = $5[101];
463384
463282
  }
463385
463283
  let t23;
463386
- if ($5[97] !== popupBg || $5[98] !== t2.textDim) {
463387
- t23 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
463284
+ if ($5[102] !== iw) {
463285
+ t23 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
463286
+ iw
463287
+ }, undefined, false, undefined, this);
463288
+ $5[102] = iw;
463289
+ $5[103] = t23;
463290
+ } else {
463291
+ t23 = $5[103];
463292
+ }
463293
+ let t24;
463294
+ if ($5[104] !== popupBg || $5[105] !== t2.textDim) {
463295
+ t24 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
463388
463296
  fg: t2.textDim,
463389
463297
  bg: popupBg,
463390
463298
  children: " \u2191\u2193 preview \xB7 \u23CE apply \xB7 tab/m/d/b toggle options \xB7 \u2192 next"
463391
463299
  }, undefined, false, undefined, this);
463392
- $5[97] = popupBg;
463393
- $5[98] = t2.textDim;
463394
- $5[99] = t23;
463300
+ $5[104] = popupBg;
463301
+ $5[105] = t2.textDim;
463302
+ $5[106] = t24;
463395
463303
  } else {
463396
- t23 = $5[99];
463304
+ t24 = $5[106];
463397
463305
  }
463398
- let t24;
463399
- if ($5[100] !== iw || $5[101] !== t23) {
463400
- t24 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
463306
+ let t25;
463307
+ if ($5[107] !== iw || $5[108] !== t24) {
463308
+ t25 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
463401
463309
  w: iw,
463402
- children: t23
463310
+ children: t24
463403
463311
  }, undefined, false, undefined, this);
463404
- $5[100] = iw;
463405
- $5[101] = t23;
463406
- $5[102] = t24;
463312
+ $5[107] = iw;
463313
+ $5[108] = t24;
463314
+ $5[109] = t25;
463407
463315
  } else {
463408
- t24 = $5[102];
463316
+ t25 = $5[109];
463409
463317
  }
463410
- let t25;
463411
- if ($5[103] !== t11 || $5[104] !== t12 || $5[105] !== t13 || $5[106] !== t14 || $5[107] !== t15 || $5[108] !== t16 || $5[109] !== t17 || $5[110] !== t18 || $5[111] !== t19 || $5[112] !== t20 || $5[113] !== t21 || $5[114] !== t222 || $5[115] !== t24) {
463412
- t25 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
463318
+ let t26;
463319
+ if ($5[110] !== t11 || $5[111] !== t12 || $5[112] !== t13 || $5[113] !== t14 || $5[114] !== t15 || $5[115] !== t16 || $5[116] !== t17 || $5[117] !== t18 || $5[118] !== t19 || $5[119] !== t20 || $5[120] !== t21 || $5[121] !== t222 || $5[122] !== t23 || $5[123] !== t25) {
463320
+ t26 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
463413
463321
  children: [
463414
463322
  t11,
463415
463323
  t12,
@@ -463423,27 +463331,29 @@ function ThemeStep(t0) {
463423
463331
  t20,
463424
463332
  t21,
463425
463333
  t222,
463426
- t24
463334
+ t23,
463335
+ t25
463427
463336
  ]
463428
463337
  }, undefined, true, undefined, this);
463429
- $5[103] = t11;
463430
- $5[104] = t12;
463431
- $5[105] = t13;
463432
- $5[106] = t14;
463433
- $5[107] = t15;
463434
- $5[108] = t16;
463435
- $5[109] = t17;
463436
- $5[110] = t18;
463437
- $5[111] = t19;
463438
- $5[112] = t20;
463439
- $5[113] = t21;
463440
- $5[114] = t222;
463441
- $5[115] = t24;
463442
- $5[116] = t25;
463338
+ $5[110] = t11;
463339
+ $5[111] = t12;
463340
+ $5[112] = t13;
463341
+ $5[113] = t14;
463342
+ $5[114] = t15;
463343
+ $5[115] = t16;
463344
+ $5[116] = t17;
463345
+ $5[117] = t18;
463346
+ $5[118] = t19;
463347
+ $5[119] = t20;
463348
+ $5[120] = t21;
463349
+ $5[121] = t222;
463350
+ $5[122] = t23;
463351
+ $5[123] = t25;
463352
+ $5[124] = t26;
463443
463353
  } else {
463444
- t25 = $5[116];
463354
+ t26 = $5[124];
463445
463355
  }
463446
- return t25;
463356
+ return t26;
463447
463357
  }
463448
463358
  function _temp416(name_0, tp_0, mOp_0, dOp_0, bdr_0) {
463449
463359
  saveGlobalConfig({
@@ -463466,7 +463376,7 @@ function _temp324(name21, tp, mOp, dOp, bdr) {
463466
463376
  function _temp225(s_0) {
463467
463377
  return s_0.tokens.bgApp === "transparent";
463468
463378
  }
463469
- function _temp71(s2) {
463379
+ function _temp70(s2) {
463470
463380
  return s2.name;
463471
463381
  }
463472
463382
  function OptionRow(t0) {
@@ -463513,7 +463423,7 @@ function OptionRow(t0) {
463513
463423
  if ($5[6] !== bg2 || $5[7] !== t4 || $5[8] !== value) {
463514
463424
  t5 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
463515
463425
  fg: t4,
463516
- attributes: BOLD3,
463426
+ attributes: BOLD4,
463517
463427
  bg: bg2,
463518
463428
  children: [
463519
463429
  "[",
@@ -463565,7 +463475,7 @@ function OptionRow(t0) {
463565
463475
  }
463566
463476
  return t7;
463567
463477
  }
463568
- var import_compiler_runtime50, import_react85, OPACITY_LEVELS2, OPACITY_LABELS, BORDER_OPTIONS, BORDER_LABELS, CHROME_ROWS10 = 18;
463478
+ var import_compiler_runtime50, import_react85, OPACITY_LEVELS2, OPACITY_LABELS, BORDER_OPTIONS, BORDER_LABELS, CHROME_ROWS10 = 19;
463569
463479
  var init_ThemeStep = __esm(async () => {
463570
463480
  init_config();
463571
463481
  init_theme();
@@ -463672,7 +463582,7 @@ var init_WelcomeStep = __esm(async () => {
463672
463582
  if ($5[3] !== bg2 || $5[4] !== t2.brand) {
463673
463583
  t3 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
463674
463584
  fg: t2.brand,
463675
- attributes: BOLD3,
463585
+ attributes: BOLD4,
463676
463586
  bg: bg2,
463677
463587
  children: [
463678
463588
  " ",
@@ -463690,7 +463600,7 @@ var init_WelcomeStep = __esm(async () => {
463690
463600
  if ($5[6] !== bg2 || $5[7] !== t2.textPrimary || $5[8] !== typed) {
463691
463601
  t4 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
463692
463602
  fg: t2.textPrimary,
463693
- attributes: BOLD3,
463603
+ attributes: BOLD4,
463694
463604
  bg: bg2,
463695
463605
  children: typed
463696
463606
  }, undefined, false, undefined, this);
@@ -463748,7 +463658,7 @@ var init_WelcomeStep = __esm(async () => {
463748
463658
  if ($5[21] !== bg2 || $5[22] !== t2.textSecondary) {
463749
463659
  t9 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
463750
463660
  fg: t2.textSecondary,
463751
- attributes: ITALIC2,
463661
+ attributes: ITALIC3,
463752
463662
  bg: bg2,
463753
463663
  children: " Graph-Powered Code Intelligence"
463754
463664
  }, undefined, false, undefined, this);
@@ -463821,7 +463731,7 @@ var init_WelcomeStep = __esm(async () => {
463821
463731
  if ($5[36] !== bg2 || $5[37] !== t2.textMuted) {
463822
463732
  t14 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
463823
463733
  fg: t2.textMuted,
463824
- attributes: ITALIC2,
463734
+ attributes: ITALIC3,
463825
463735
  bg: bg2,
463826
463736
  children: " Press \u2192 or Enter to begin setup"
463827
463737
  }, undefined, false, undefined, this);
@@ -463982,7 +463892,7 @@ var init_WorkflowStep = __esm(async () => {
463982
463892
  }, undefined, true, undefined, this),
463983
463893
  /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
463984
463894
  fg: t2.textPrimary,
463985
- attributes: BOLD3,
463895
+ attributes: BOLD4,
463986
463896
  bg: bg2,
463987
463897
  children: item.title
463988
463898
  }, undefined, false, undefined, this),
@@ -464062,7 +463972,7 @@ var init_WorkflowStep = __esm(async () => {
464062
463972
  if ($5[25] !== t2.info) {
464063
463973
  t10 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
464064
463974
  fg: t2.info,
464065
- attributes: BOLD3,
463975
+ attributes: BOLD4,
464066
463976
  children: "Ctrl+K"
464067
463977
  }, undefined, false, undefined, this);
464068
463978
  $5[25] = t2.info;
@@ -464135,7 +464045,7 @@ var init_WorkflowStep = __esm(async () => {
464135
464045
  });
464136
464046
 
464137
464047
  // src/components/modals/wizard/index.tsx
464138
- function _temp74(i4) {
464048
+ function _temp71(i4) {
464139
464049
  return i4 + 1;
464140
464050
  }
464141
464051
  function _temp226(i_0) {
@@ -464207,7 +464117,7 @@ var init_wizard = __esm(async () => {
464207
464117
  if ($5[3] !== onClose || $5[4] !== stepIdx) {
464208
464118
  t3 = () => {
464209
464119
  if (stepIdx < STEPS.length - 1) {
464210
- setStepIdx(_temp74);
464120
+ setStepIdx(_temp71);
464211
464121
  } else {
464212
464122
  onClose();
464213
464123
  }
@@ -464551,7 +464461,7 @@ function GitCommitModal(t0) {
464551
464461
  const lines = diff.split(`
464552
464462
  `).length;
464553
464463
  setDiffSummary(lines > 1 ? `${String(lines)} lines changed` : "no staged changes");
464554
- }).catch(_temp76);
464464
+ }).catch(_temp74);
464555
464465
  };
464556
464466
  t5 = [visible, cwd2];
464557
464467
  $5[3] = cwd2;
@@ -465031,7 +464941,7 @@ Co-Authored-By: SoulForge <noreply@soulforge.com>` : message.trim();
465031
464941
  function _temp227(prev) {
465032
464942
  return !prev;
465033
464943
  }
465034
- function _temp76() {}
464944
+ function _temp74() {}
465035
464945
  var import_compiler_runtime54, import_react91, MAX_POPUP_WIDTH7 = 64;
465036
464946
  var init_GitCommitModal = __esm(async () => {
465037
464947
  init_status();
@@ -465133,7 +465043,7 @@ function GitMenu(t0) {
465133
465043
  if (entries2.length === 0) {
465134
465044
  onSystemMessage("No commits found.");
465135
465045
  } else {
465136
- const logText = entries2.map(_temp77).join(`
465046
+ const logText = entries2.map(_temp76).join(`
465137
465047
  `);
465138
465048
  onSystemMessage(logText);
465139
465049
  }
@@ -465500,7 +465410,7 @@ function GitMenu(t0) {
465500
465410
  }
465501
465411
  return t23;
465502
465412
  }
465503
- function _temp77(e) {
465413
+ function _temp76(e) {
465504
465414
  return `${e.hash} ${e.subject} (${e.date})`;
465505
465415
  }
465506
465416
  var import_compiler_runtime55, import_react93, MAX_POPUP_WIDTH8 = 54, CHROME_ROWS11 = 7, MENU_ITEMS;
@@ -465596,7 +465506,7 @@ function InfoPopup(t0) {
465596
465506
  return;
465597
465507
  }
465598
465508
  if (evt.name === "up" || evt.name === "k") {
465599
- setScrollOffset(_temp78);
465509
+ setScrollOffset(_temp77);
465600
465510
  return;
465601
465511
  }
465602
465512
  if (evt.name === "down" || evt.name === "j") {
@@ -465980,7 +465890,7 @@ function InfoPopup(t0) {
465980
465890
  function _temp228(text3, max) {
465981
465891
  return text3.length > max ? `${text3.slice(0, max - 1)}\u2026` : text3;
465982
465892
  }
465983
- function _temp78(prev) {
465893
+ function _temp77(prev) {
465984
465894
  return Math.max(0, prev - 1);
465985
465895
  }
465986
465896
  var import_compiler_runtime56, import_react95, CHROME_ROWS12 = 6;
@@ -466014,7 +465924,7 @@ function useAllProviderModels(active) {
466014
465924
  t0 = $5[0];
466015
465925
  }
466016
465926
  const [providerData, setProviderData] = import_react96.useState(t0);
466017
- const [availability, setAvailability] = import_react96.useState(_temp79);
465927
+ const [availability, setAvailability] = import_react96.useState(_temp78);
466018
465928
  let t1;
466019
465929
  let t2;
466020
465930
  if ($5[1] !== active) {
@@ -466113,7 +466023,7 @@ function _temp325(p_0) {
466113
466023
  return p_0.loading;
466114
466024
  }
466115
466025
  function _temp229() {}
466116
- function _temp79() {
466026
+ function _temp78() {
466117
466027
  const cached2 = getCachedProviderStatuses();
466118
466028
  const map2 = new Map;
466119
466029
  if (cached2) {
@@ -466775,7 +466685,7 @@ function lpad(s2, w5) {
466775
466685
  return s2.length >= w5 ? s2.slice(0, w5) : " ".repeat(w5 - s2.length) + s2;
466776
466686
  }
466777
466687
  function SessionPicker(t0) {
466778
- const $5 = import_compiler_runtime58.c(128);
466688
+ const $5 = import_compiler_runtime58.c(137);
466779
466689
  const {
466780
466690
  visible,
466781
466691
  cwd: cwd2,
@@ -466899,7 +466809,7 @@ function SessionPicker(t0) {
466899
466809
  return;
466900
466810
  }
466901
466811
  if (evt.name === "backspace" || evt.name === "delete") {
466902
- setQuery(_temp80);
466812
+ setQuery(_temp79);
466903
466813
  resetScroll();
466904
466814
  return;
466905
466815
  }
@@ -467162,80 +467072,80 @@ function SessionPicker(t0) {
467162
467072
  } else {
467163
467073
  t28 = $5[67];
467164
467074
  }
467165
- const t29 = t2.textMuted;
467075
+ const t29 = t2.textSubtle;
467166
467076
  let t30;
467167
- if ($5[68] !== titleColW) {
467168
- t30 = rpad("Title", titleColW);
467169
- $5[68] = titleColW;
467077
+ if ($5[68] !== innerW) {
467078
+ t30 = "\u2500".repeat(innerW - 4);
467079
+ $5[68] = innerW;
467170
467080
  $5[69] = t30;
467171
467081
  } else {
467172
467082
  t30 = $5[69];
467173
467083
  }
467174
467084
  let t31;
467175
- let t32;
467176
- let t33;
467177
- if ($5[70] === Symbol.for("react.memo_cache_sentinel")) {
467178
- t31 = lpad("Msgs", COL_MSGS);
467179
- t32 = lpad("Size", COL_SIZE);
467180
- t33 = lpad("Updated", COL_TIME);
467181
- $5[70] = t31;
467182
- $5[71] = t32;
467183
- $5[72] = t33;
467184
- } else {
467185
- t31 = $5[70];
467186
- t32 = $5[71];
467187
- t33 = $5[72];
467188
- }
467189
- let t34;
467190
- if ($5[73] !== t2.textMuted || $5[74] !== t30) {
467191
- t34 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
467085
+ if ($5[70] !== t2.textSubtle || $5[71] !== t30) {
467086
+ t31 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
467192
467087
  fg: t29,
467193
467088
  bg: POPUP_BG,
467194
- attributes: TextAttributes.BOLD,
467195
- children: [
467196
- " ",
467197
- t30,
467198
- t31,
467199
- t32,
467200
- t33
467201
- ]
467202
- }, undefined, true, undefined, this);
467203
- $5[73] = t2.textMuted;
467204
- $5[74] = t30;
467205
- $5[75] = t34;
467089
+ children: t30
467090
+ }, undefined, false, undefined, this);
467091
+ $5[70] = t2.textSubtle;
467092
+ $5[71] = t30;
467093
+ $5[72] = t31;
467206
467094
  } else {
467207
- t34 = $5[75];
467095
+ t31 = $5[72];
467208
467096
  }
467209
- let t35;
467210
- if ($5[76] !== innerW || $5[77] !== t34) {
467211
- t35 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
467097
+ let t32;
467098
+ if ($5[73] !== innerW || $5[74] !== t31) {
467099
+ t32 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
467212
467100
  w: innerW,
467213
- children: t34
467101
+ children: t31
467214
467102
  }, undefined, false, undefined, this);
467215
- $5[76] = innerW;
467103
+ $5[73] = innerW;
467104
+ $5[74] = t31;
467105
+ $5[75] = t32;
467106
+ } else {
467107
+ t32 = $5[75];
467108
+ }
467109
+ const t33 = t2.textMuted;
467110
+ let t34;
467111
+ if ($5[76] !== titleColW) {
467112
+ t34 = rpad("Title", titleColW);
467113
+ $5[76] = titleColW;
467216
467114
  $5[77] = t34;
467217
- $5[78] = t35;
467218
467115
  } else {
467219
- t35 = $5[78];
467116
+ t34 = $5[77];
467220
467117
  }
467221
- const t36 = t2.textSubtle;
467118
+ let t35;
467119
+ let t36;
467222
467120
  let t37;
467223
- if ($5[79] !== innerW) {
467224
- t37 = "\u2500".repeat(innerW - 4);
467225
- $5[79] = innerW;
467121
+ if ($5[78] === Symbol.for("react.memo_cache_sentinel")) {
467122
+ t35 = lpad("Msgs", COL_MSGS);
467123
+ t36 = lpad("Size", COL_SIZE);
467124
+ t37 = lpad("Updated", COL_TIME);
467125
+ $5[78] = t35;
467126
+ $5[79] = t36;
467226
467127
  $5[80] = t37;
467227
467128
  } else {
467129
+ t35 = $5[78];
467130
+ t36 = $5[79];
467228
467131
  t37 = $5[80];
467229
467132
  }
467230
467133
  let t38;
467231
- if ($5[81] !== t2.textSubtle || $5[82] !== t37) {
467134
+ if ($5[81] !== t2.textMuted || $5[82] !== t34) {
467232
467135
  t38 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
467233
- fg: t36,
467136
+ fg: t33,
467234
467137
  bg: POPUP_BG,
467235
- children: t37
467236
- }, undefined, false, undefined, this);
467237
- $5[81] = t2.textSubtle;
467238
- $5[82] = t37;
467138
+ attributes: TextAttributes.BOLD,
467139
+ children: [
467140
+ " ",
467141
+ t34,
467142
+ t35,
467143
+ t36,
467144
+ t37
467145
+ ]
467146
+ }, undefined, true, undefined, this);
467147
+ $5[81] = t2.textMuted;
467148
+ $5[82] = t34;
467239
467149
  $5[83] = t38;
467240
467150
  } else {
467241
467151
  t38 = $5[83];
@@ -467252,10 +467162,44 @@ function SessionPicker(t0) {
467252
467162
  } else {
467253
467163
  t39 = $5[86];
467254
467164
  }
467255
- const t40 = "column";
467256
- const t41 = Math.min(filtered.length || 1, maxVisible);
467257
- const t42 = "hidden";
467258
- const t43 = filtered.length === 0 ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
467165
+ const t40 = t2.textSubtle;
467166
+ let t41;
467167
+ if ($5[87] !== innerW) {
467168
+ t41 = "\u2500".repeat(innerW - 4);
467169
+ $5[87] = innerW;
467170
+ $5[88] = t41;
467171
+ } else {
467172
+ t41 = $5[88];
467173
+ }
467174
+ let t42;
467175
+ if ($5[89] !== t2.textSubtle || $5[90] !== t41) {
467176
+ t42 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
467177
+ fg: t40,
467178
+ bg: POPUP_BG,
467179
+ children: t41
467180
+ }, undefined, false, undefined, this);
467181
+ $5[89] = t2.textSubtle;
467182
+ $5[90] = t41;
467183
+ $5[91] = t42;
467184
+ } else {
467185
+ t42 = $5[91];
467186
+ }
467187
+ let t43;
467188
+ if ($5[92] !== innerW || $5[93] !== t42) {
467189
+ t43 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
467190
+ w: innerW,
467191
+ children: t42
467192
+ }, undefined, false, undefined, this);
467193
+ $5[92] = innerW;
467194
+ $5[93] = t42;
467195
+ $5[94] = t43;
467196
+ } else {
467197
+ t43 = $5[94];
467198
+ }
467199
+ const t44 = "column";
467200
+ const t45 = Math.min(filtered.length || 1, maxVisible);
467201
+ const t46 = "hidden";
467202
+ const t47 = filtered.length === 0 ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
467259
467203
  w: innerW,
467260
467204
  children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
467261
467205
  fg: t2.textMuted,
@@ -467275,53 +467219,50 @@ function SessionPicker(t0) {
467275
467219
  return /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
467276
467220
  bg: bg2,
467277
467221
  w: innerW,
467278
- children: [
467279
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
467280
- bg: bg2,
467281
- fg: isActive ? t2.brand : t2.textFaint,
467282
- children: isActive ? "\u203A " : " "
467283
- }, undefined, false, undefined, this),
467284
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
467285
- bg: bg2,
467286
- fg: isActive ? t2.textPrimary : t2.textSecondary,
467287
- attributes: isActive ? TextAttributes.BOLD : undefined,
467288
- children: rpad(title, titleColW)
467289
- }, undefined, false, undefined, this),
467290
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
467291
- bg: bg2,
467292
- fg: isActive ? t2.brandAlt : t2.textMuted,
467293
- children: lpad(String(session_1.messageCount), COL_MSGS)
467294
- }, undefined, false, undefined, this),
467295
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
467296
- bg: bg2,
467297
- fg: isActive ? t2.textMuted : t2.textMuted,
467298
- children: lpad(formatSize(session_1.sizeBytes), COL_SIZE)
467299
- }, undefined, false, undefined, this),
467300
- /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
467301
- bg: bg2,
467302
- fg: isActive ? t2.textMuted : t2.textDim,
467303
- children: lpad(timeAgo(session_1.updatedAt), COL_TIME)
467304
- }, undefined, false, undefined, this)
467305
- ]
467306
- }, session_1.id, true, undefined, this);
467222
+ children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
467223
+ bg: bg2,
467224
+ children: [
467225
+ /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
467226
+ fg: isActive ? t2.brand : t2.textFaint,
467227
+ children: isActive ? "> " : " "
467228
+ }, undefined, false, undefined, this),
467229
+ /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
467230
+ fg: isActive ? t2.textPrimary : t2.textSecondary,
467231
+ children: rpad(title, titleColW)
467232
+ }, undefined, false, undefined, this),
467233
+ /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
467234
+ fg: isActive ? t2.brandAlt : t2.textMuted,
467235
+ children: lpad(String(session_1.messageCount), COL_MSGS)
467236
+ }, undefined, false, undefined, this),
467237
+ /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
467238
+ fg: isActive ? t2.textMuted : t2.textMuted,
467239
+ children: lpad(formatSize(session_1.sizeBytes), COL_SIZE)
467240
+ }, undefined, false, undefined, this),
467241
+ /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
467242
+ fg: isActive ? t2.textMuted : t2.textDim,
467243
+ children: lpad(timeAgo(session_1.updatedAt), COL_TIME)
467244
+ }, undefined, false, undefined, this)
467245
+ ]
467246
+ }, undefined, true, undefined, this)
467247
+ }, session_1.id, false, undefined, this);
467307
467248
  });
467308
- let t44;
467309
- if ($5[87] !== t41 || $5[88] !== t43) {
467310
- t44 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
467311
- flexDirection: t40,
467312
- height: t41,
467313
- overflow: t42,
467314
- children: t43
467249
+ let t48;
467250
+ if ($5[95] !== t45 || $5[96] !== t47) {
467251
+ t48 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
467252
+ flexDirection: t44,
467253
+ height: t45,
467254
+ overflow: t46,
467255
+ children: t47
467315
467256
  }, undefined, false, undefined, this);
467316
- $5[87] = t41;
467317
- $5[88] = t43;
467318
- $5[89] = t44;
467257
+ $5[95] = t45;
467258
+ $5[96] = t47;
467259
+ $5[97] = t48;
467319
467260
  } else {
467320
- t44 = $5[89];
467261
+ t48 = $5[97];
467321
467262
  }
467322
- let t45;
467323
- if ($5[90] !== cursor || $5[91] !== filtered.length || $5[92] !== innerW || $5[93] !== maxVisible || $5[94] !== scrollOffset || $5[95] !== t2.textMuted) {
467324
- t45 = filtered.length > maxVisible && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
467263
+ let t49;
467264
+ if ($5[98] !== cursor || $5[99] !== filtered.length || $5[100] !== innerW || $5[101] !== maxVisible || $5[102] !== scrollOffset || $5[103] !== t2.textMuted) {
467265
+ t49 = filtered.length > maxVisible && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
467325
467266
  w: innerW,
467326
467267
  children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
467327
467268
  fg: t2.textMuted,
@@ -467335,19 +467276,19 @@ function SessionPicker(t0) {
467335
467276
  ]
467336
467277
  }, undefined, true, undefined, this)
467337
467278
  }, undefined, false, undefined, this);
467338
- $5[90] = cursor;
467339
- $5[91] = filtered.length;
467340
- $5[92] = innerW;
467341
- $5[93] = maxVisible;
467342
- $5[94] = scrollOffset;
467343
- $5[95] = t2.textMuted;
467344
- $5[96] = t45;
467279
+ $5[98] = cursor;
467280
+ $5[99] = filtered.length;
467281
+ $5[100] = innerW;
467282
+ $5[101] = maxVisible;
467283
+ $5[102] = scrollOffset;
467284
+ $5[103] = t2.textMuted;
467285
+ $5[104] = t49;
467345
467286
  } else {
467346
- t45 = $5[96];
467287
+ t49 = $5[104];
467347
467288
  }
467348
- let t46;
467349
- if ($5[97] !== confirmClear || $5[98] !== innerW || $5[99] !== sessions.length || $5[100] !== t2.brandSecondary) {
467350
- t46 = confirmClear && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
467289
+ let t50;
467290
+ if ($5[105] !== confirmClear || $5[106] !== innerW || $5[107] !== sessions.length || $5[108] !== t2.brandSecondary) {
467291
+ t50 = confirmClear && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
467351
467292
  w: innerW,
467352
467293
  children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
467353
467294
  fg: t2.brandSecondary,
@@ -467360,61 +467301,61 @@ function SessionPicker(t0) {
467360
467301
  ]
467361
467302
  }, undefined, true, undefined, this)
467362
467303
  }, undefined, false, undefined, this);
467363
- $5[97] = confirmClear;
467364
- $5[98] = innerW;
467365
- $5[99] = sessions.length;
467366
- $5[100] = t2.brandSecondary;
467367
- $5[101] = t46;
467304
+ $5[105] = confirmClear;
467305
+ $5[106] = innerW;
467306
+ $5[107] = sessions.length;
467307
+ $5[108] = t2.brandSecondary;
467308
+ $5[109] = t50;
467368
467309
  } else {
467369
- t46 = $5[101];
467310
+ t50 = $5[109];
467370
467311
  }
467371
- let t47;
467372
- if ($5[102] === Symbol.for("react.memo_cache_sentinel")) {
467373
- t47 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
467312
+ let t51;
467313
+ if ($5[110] === Symbol.for("react.memo_cache_sentinel")) {
467314
+ t51 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
467374
467315
  children: ""
467375
467316
  }, undefined, false, undefined, this);
467376
- $5[102] = t47;
467317
+ $5[110] = t51;
467377
467318
  } else {
467378
- t47 = $5[102];
467319
+ t51 = $5[110];
467379
467320
  }
467380
- let t48;
467381
- if ($5[103] !== innerW) {
467382
- t48 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
467321
+ let t52;
467322
+ if ($5[111] !== innerW) {
467323
+ t52 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
467383
467324
  w: innerW,
467384
- children: t47
467325
+ children: t51
467385
467326
  }, undefined, false, undefined, this);
467386
- $5[103] = innerW;
467387
- $5[104] = t48;
467327
+ $5[111] = innerW;
467328
+ $5[112] = t52;
467388
467329
  } else {
467389
- t48 = $5[104];
467330
+ t52 = $5[112];
467390
467331
  }
467391
- let t49;
467392
- if ($5[105] !== t2.textDim) {
467393
- t49 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
467332
+ let t53;
467333
+ if ($5[113] !== t2.textDim) {
467334
+ t53 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
467394
467335
  fg: t2.textDim,
467395
467336
  bg: POPUP_BG,
467396
467337
  children: "\u2191\u2193 navigate | \u23CE restore | ^D delete | ^X clear all | esc close"
467397
467338
  }, undefined, false, undefined, this);
467398
- $5[105] = t2.textDim;
467399
- $5[106] = t49;
467339
+ $5[113] = t2.textDim;
467340
+ $5[114] = t53;
467400
467341
  } else {
467401
- t49 = $5[106];
467342
+ t53 = $5[114];
467402
467343
  }
467403
- let t50;
467404
- if ($5[107] !== innerW || $5[108] !== t49) {
467405
- t50 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
467344
+ let t54;
467345
+ if ($5[115] !== innerW || $5[116] !== t53) {
467346
+ t54 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
467406
467347
  w: innerW,
467407
- children: t49
467348
+ children: t53
467408
467349
  }, undefined, false, undefined, this);
467409
- $5[107] = innerW;
467410
- $5[108] = t49;
467411
- $5[109] = t50;
467350
+ $5[115] = innerW;
467351
+ $5[116] = t53;
467352
+ $5[117] = t54;
467412
467353
  } else {
467413
- t50 = $5[109];
467354
+ t54 = $5[117];
467414
467355
  }
467415
- let t51;
467416
- if ($5[110] !== t15 || $5[111] !== t16 || $5[112] !== t17 || $5[113] !== t18 || $5[114] !== t19 || $5[115] !== t21 || $5[116] !== t28 || $5[117] !== t35 || $5[118] !== t39 || $5[119] !== t44 || $5[120] !== t45 || $5[121] !== t46 || $5[122] !== t48 || $5[123] !== t50) {
467417
- t51 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
467356
+ let t55;
467357
+ if ($5[118] !== t15 || $5[119] !== t16 || $5[120] !== t17 || $5[121] !== t18 || $5[122] !== t19 || $5[123] !== t21 || $5[124] !== t28 || $5[125] !== t32 || $5[126] !== t39 || $5[127] !== t43 || $5[128] !== t48 || $5[129] !== t49 || $5[130] !== t50 || $5[131] !== t52 || $5[132] !== t54) {
467358
+ t55 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
467418
467359
  flexDirection: t15,
467419
467360
  borderStyle: t16,
467420
467361
  border: t17,
@@ -467423,45 +467364,47 @@ function SessionPicker(t0) {
467423
467364
  children: [
467424
467365
  t21,
467425
467366
  t28,
467426
- t35,
467367
+ t32,
467427
467368
  t39,
467428
- t44,
467429
- t45,
467430
- t46,
467369
+ t43,
467431
467370
  t48,
467432
- t50
467371
+ t49,
467372
+ t50,
467373
+ t52,
467374
+ t54
467433
467375
  ]
467434
467376
  }, undefined, true, undefined, this);
467435
- $5[110] = t15;
467436
- $5[111] = t16;
467437
- $5[112] = t17;
467438
- $5[113] = t18;
467439
- $5[114] = t19;
467440
- $5[115] = t21;
467441
- $5[116] = t28;
467442
- $5[117] = t35;
467443
- $5[118] = t39;
467444
- $5[119] = t44;
467445
- $5[120] = t45;
467446
- $5[121] = t46;
467447
- $5[122] = t48;
467448
- $5[123] = t50;
467449
- $5[124] = t51;
467377
+ $5[118] = t15;
467378
+ $5[119] = t16;
467379
+ $5[120] = t17;
467380
+ $5[121] = t18;
467381
+ $5[122] = t19;
467382
+ $5[123] = t21;
467383
+ $5[124] = t28;
467384
+ $5[125] = t32;
467385
+ $5[126] = t39;
467386
+ $5[127] = t43;
467387
+ $5[128] = t48;
467388
+ $5[129] = t49;
467389
+ $5[130] = t50;
467390
+ $5[131] = t52;
467391
+ $5[132] = t54;
467392
+ $5[133] = t55;
467450
467393
  } else {
467451
- t51 = $5[124];
467394
+ t55 = $5[133];
467452
467395
  }
467453
- let t52;
467454
- if ($5[125] !== T1 || $5[126] !== t51) {
467455
- t52 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(T1, {
467456
- children: t51
467396
+ let t56;
467397
+ if ($5[134] !== T1 || $5[135] !== t55) {
467398
+ t56 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(T1, {
467399
+ children: t55
467457
467400
  }, undefined, false, undefined, this);
467458
- $5[125] = T1;
467459
- $5[126] = t51;
467460
- $5[127] = t52;
467401
+ $5[134] = T1;
467402
+ $5[135] = t55;
467403
+ $5[136] = t56;
467461
467404
  } else {
467462
- t52 = $5[127];
467405
+ t56 = $5[136];
467463
467406
  }
467464
- return t52;
467407
+ return t56;
467465
467408
  }
467466
467409
  function _temp326(s_0, x4) {
467467
467410
  return s_0 + x4.sizeBytes;
@@ -467469,7 +467412,7 @@ function _temp326(s_0, x4) {
467469
467412
  function _temp230(prev_3) {
467470
467413
  return `${prev_3} `;
467471
467414
  }
467472
- function _temp80(prev_1) {
467415
+ function _temp79(prev_1) {
467473
467416
  return prev_1.slice(0, -1);
467474
467417
  }
467475
467418
  var import_compiler_runtime58, import_react100, POPUP_CHROME = 8, COL_MSGS = 7, COL_SIZE = 7, COL_TIME = 11, COL_FIXED;
@@ -468599,7 +468542,7 @@ function UpdateModal(t0) {
468599
468542
  if (!visible || tick >= 12) {
468600
468543
  return;
468601
468544
  }
468602
- const timer = setInterval(() => setTick(_temp81), 60);
468545
+ const timer = setInterval(() => setTick(_temp80), 60);
468603
468546
  return () => clearInterval(timer);
468604
468547
  };
468605
468548
  t5 = [visible, tick];
@@ -468812,7 +468755,7 @@ function UpdateModal(t0) {
468812
468755
  t392 = $5[79];
468813
468756
  }
468814
468757
  arrowIc = t392;
468815
- const ghostChar = tick < GHOST_FADE.length ? GHOST_FADE[tick] ?? "\u2591" : ghostIc;
468758
+ const ghostChar = tick < GHOST_FADE2.length ? GHOST_FADE2[tick] ?? "\u2591" : ghostIc;
468816
468759
  const wispFrame = WISP[tick % WISP.length] ?? "";
468817
468760
  const titleReady = tick >= 4;
468818
468761
  let t402;
@@ -468854,7 +468797,7 @@ function UpdateModal(t0) {
468854
468797
  bg: POPUP_BG,
468855
468798
  children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
468856
468799
  fg: t2.success,
468857
- attributes: BOLD4,
468800
+ attributes: BOLD5,
468858
468801
  children: [
468859
468802
  checkIc,
468860
468803
  " Upgrade Complete!"
@@ -468883,7 +468826,7 @@ function UpdateModal(t0) {
468883
468826
  t453 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
468884
468827
  bg: POPUP_BG,
468885
468828
  fg: t2.brandDim,
468886
- attributes: DIM3,
468829
+ attributes: DIM4,
468887
468830
  children: [
468888
468831
  " ",
468889
468832
  "\u223F~\u223F"
@@ -468948,7 +468891,7 @@ function UpdateModal(t0) {
468948
468891
  if ($5[106] !== latest || $5[107] !== t2.success) {
468949
468892
  t503 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
468950
468893
  fg: t2.success,
468951
- attributes: BOLD4,
468894
+ attributes: BOLD5,
468952
468895
  children: [
468953
468896
  "v",
468954
468897
  latest
@@ -469003,7 +468946,7 @@ function UpdateModal(t0) {
469003
468946
  t542 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
469004
468947
  bg: POPUP_BG,
469005
468948
  fg: t2.textSecondary,
469006
- attributes: ITALIC3,
468949
+ attributes: ITALIC4,
469007
468950
  children: [
469008
468951
  " ",
469009
468952
  "The forge has been retempered."
@@ -469081,7 +469024,7 @@ function UpdateModal(t0) {
469081
469024
  if ($5[132] !== t2.success) {
469082
469025
  t602 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
469083
469026
  fg: t2.success,
469084
- attributes: BOLD4,
469027
+ attributes: BOLD5,
469085
469028
  children: [
469086
469029
  " ",
469087
469030
  arrowIc,
@@ -469257,7 +469200,7 @@ function UpdateModal(t0) {
469257
469200
  t593 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
469258
469201
  bg: POPUP_BG,
469259
469202
  fg: t2.brand,
469260
- attributes: BOLD4,
469203
+ attributes: BOLD5,
469261
469204
  children: [
469262
469205
  ghostIc,
469263
469206
  " Upgrading SoulForge\u2026"
@@ -469284,7 +469227,7 @@ function UpdateModal(t0) {
469284
469227
  t603 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
469285
469228
  bg: POPUP_BG,
469286
469229
  fg: t2.brandDim,
469287
- attributes: DIM3,
469230
+ attributes: DIM4,
469288
469231
  children: [
469289
469232
  " ",
469290
469233
  "\u223F~\u223F"
@@ -469358,7 +469301,7 @@ function UpdateModal(t0) {
469358
469301
  if ($5[217] !== t2.brandAlt || $5[218] !== t64) {
469359
469302
  t65 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
469360
469303
  fg: t623,
469361
- attributes: ITALIC3,
469304
+ attributes: ITALIC4,
469362
469305
  children: [
469363
469306
  " ",
469364
469307
  t64
@@ -469592,7 +469535,7 @@ function UpdateModal(t0) {
469592
469535
  t443 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
469593
469536
  bg: POPUP_BG,
469594
469537
  fg: t2.brandSecondary,
469595
- attributes: BOLD4,
469538
+ attributes: BOLD5,
469596
469539
  children: [
469597
469540
  errorIc,
469598
469541
  " The Forge Sputtered"
@@ -469620,7 +469563,7 @@ function UpdateModal(t0) {
469620
469563
  t463 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
469621
469564
  bg: POPUP_BG,
469622
469565
  fg: t2.brandDim,
469623
- attributes: DIM3,
469566
+ attributes: DIM4,
469624
469567
  children: [
469625
469568
  " ",
469626
469569
  "\u223F~\u223F"
@@ -469722,7 +469665,7 @@ function UpdateModal(t0) {
469722
469665
  t562 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
469723
469666
  bg: POPUP_BG,
469724
469667
  fg: t2.textMuted,
469725
- attributes: ITALIC3,
469668
+ attributes: ITALIC4,
469726
469669
  children: [
469727
469670
  " ",
469728
469671
  "The spirits suggest a manual approach:"
@@ -469777,7 +469720,7 @@ function UpdateModal(t0) {
469777
469720
  t592,
469778
469721
  /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
469779
469722
  fg: t2.brand,
469780
- attributes: BOLD4,
469723
+ attributes: BOLD5,
469781
469724
  children: trunc(upgradeCmd, iw - 10)
469782
469725
  }, undefined, false, undefined, this)
469783
469726
  ]
@@ -469911,7 +469854,7 @@ function UpdateModal(t0) {
469911
469854
  if ($5[326] !== ghostChar || $5[327] !== t2.brand) {
469912
469855
  t443 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
469913
469856
  fg: t2.brand,
469914
- attributes: BOLD4,
469857
+ attributes: BOLD5,
469915
469858
  children: [
469916
469859
  " ",
469917
469860
  ghostChar,
@@ -469936,7 +469879,7 @@ function UpdateModal(t0) {
469936
469879
  if ($5[331] !== t2.textPrimary || $5[332] !== t453) {
469937
469880
  t463 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
469938
469881
  fg: t2.textPrimary,
469939
- attributes: BOLD4,
469882
+ attributes: BOLD5,
469940
469883
  children: t453
469941
469884
  }, undefined, false, undefined, this);
469942
469885
  $5[331] = t2.textPrimary;
@@ -469977,7 +469920,7 @@ function UpdateModal(t0) {
469977
469920
  t493 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
469978
469921
  bg: POPUP_BG,
469979
469922
  fg: t2.brandDim,
469980
- attributes: DIM3,
469923
+ attributes: DIM4,
469981
469924
  children: [
469982
469925
  " ",
469983
469926
  wispFrame
@@ -470053,7 +469996,7 @@ function UpdateModal(t0) {
470053
469996
  if ($5[354] !== t2.success || $5[355] !== vCurrent) {
470054
469997
  t562 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
470055
469998
  fg: t2.success,
470056
- attributes: BOLD4,
469999
+ attributes: BOLD5,
470057
470000
  children: vCurrent
470058
470001
  }, undefined, false, undefined, this);
470059
470002
  $5[354] = t2.success;
@@ -470205,7 +470148,7 @@ function UpdateModal(t0) {
470205
470148
  t69 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
470206
470149
  bg: POPUP_BG,
470207
470150
  fg: t2.brandAlt,
470208
- attributes: ITALIC3,
470151
+ attributes: ITALIC4,
470209
470152
  children: [
470210
470153
  " ",
470211
470154
  quip_0
@@ -470349,7 +470292,7 @@ function UpdateModal(t0) {
470349
470292
  if ($5[419] !== ghostChar || $5[420] !== t2.success) {
470350
470293
  t422 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
470351
470294
  fg: t2.success,
470352
- attributes: BOLD4,
470295
+ attributes: BOLD5,
470353
470296
  children: [
470354
470297
  " ",
470355
470298
  ghostChar,
@@ -470374,7 +470317,7 @@ function UpdateModal(t0) {
470374
470317
  if ($5[424] !== t2.success || $5[425] !== t432) {
470375
470318
  t442 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
470376
470319
  fg: t2.success,
470377
- attributes: BOLD4,
470320
+ attributes: BOLD5,
470378
470321
  children: t432
470379
470322
  }, undefined, false, undefined, this);
470380
470323
  $5[424] = t2.success;
@@ -470414,7 +470357,7 @@ function UpdateModal(t0) {
470414
470357
  t462 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
470415
470358
  bg: POPUP_BG,
470416
470359
  fg: t2.brandDim,
470417
- attributes: DIM3,
470360
+ attributes: DIM4,
470418
470361
  children: [
470419
470362
  " ",
470420
470363
  wispFrame
@@ -470541,7 +470484,7 @@ function UpdateModal(t0) {
470541
470484
  if ($5[458] !== t2.success || $5[459] !== vLatest) {
470542
470485
  t53 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
470543
470486
  fg: t2.success,
470544
- attributes: BOLD4,
470487
+ attributes: BOLD5,
470545
470488
  children: vLatest
470546
470489
  }, undefined, false, undefined, this);
470547
470490
  $5[458] = t2.success;
@@ -470665,7 +470608,7 @@ function UpdateModal(t0) {
470665
470608
  children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
470666
470609
  bg: POPUP_BG,
470667
470610
  fg: t2.brandAlt,
470668
- attributes: BOLD4,
470611
+ attributes: BOLD5,
470669
470612
  children: [
470670
470613
  " ",
470671
470614
  "Versions since yours"
@@ -470802,7 +470745,7 @@ function UpdateModal(t0) {
470802
470745
  t14 = $5[501];
470803
470746
  }
470804
470747
  t10 = t2.brand;
470805
- t11 = BOLD4;
470748
+ t11 = BOLD5;
470806
470749
  t12 = trunc(upgradeCmd, iw - 10);
470807
470750
  }
470808
470751
  $5[22] = changelog;
@@ -470965,7 +470908,7 @@ function UpdateModal(t0) {
470965
470908
  children: [
470966
470909
  /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
470967
470910
  fg: t2.success,
470968
- attributes: BOLD4,
470911
+ attributes: BOLD5,
470969
470912
  children: [
470970
470913
  " ",
470971
470914
  arrowIc,
@@ -471146,10 +471089,10 @@ function _temp327(i_0) {
471146
471089
  function _temp231(i4) {
471147
471090
  return i4 + 1;
471148
471091
  }
471149
- function _temp81(prev) {
471092
+ function _temp80(prev) {
471150
471093
  return prev + 1;
471151
471094
  }
471152
- var import_compiler_runtime60, import_react104, UPGRADE_QUIPS, LATEST_QUIPS, SPINNER2, GHOST_FADE, WISP, MAX_LOG = 50, BOLD4, ITALIC3, DIM3;
471095
+ var import_compiler_runtime60, import_react104, UPGRADE_QUIPS, LATEST_QUIPS, SPINNER2, GHOST_FADE2, WISP, MAX_LOG = 50, BOLD5, ITALIC4, DIM4;
471153
471096
  var init_UpdateModal = __esm(async () => {
471154
471097
  init_icons();
471155
471098
  init_theme();
@@ -471167,11 +471110,11 @@ var init_UpdateModal = __esm(async () => {
471167
471110
  UPGRADE_QUIPS = ["Heating the forge\u2026", "Melting down the old version\u2026", "Pouring molten code into the mold\u2026", "Hammering out the bugs\u2026", "Quenching in liquid nitrogen\u2026", "Polishing the new blade\u2026", "Enchanting with fresh runes\u2026", "Consulting the package spirits\u2026", "Negotiating with the registry gods\u2026", "Bribing the dependency elves\u2026", "Aligning the semantic versions\u2026", "Reticulating splines\u2026", "Convincing npm to cooperate\u2026", "Performing arcane rituals\u2026", "Almost there, forgemaster\u2026"];
471168
471111
  LATEST_QUIPS = ["The forge burns bright \u2014 you're on the cutting edge.", "No updates. The blade is already sharp.", "You're running the latest. The gods are pleased.", "Peak version achieved. Nothing to see here.", "Already forged to perfection.", "The scrolls confirm: you're up to date.", "No new runes to inscribe today.", "Your version is so fresh it's still warm."];
471169
471112
  SPINNER2 = ["\u280B", "\u2819", "\u2839", "\u2838", "\u283C", "\u2834", "\u2826", "\u2827", "\u2807", "\u280F"];
471170
- GHOST_FADE = ["\u2591", "\u2592", "\u2593"];
471113
+ GHOST_FADE2 = ["\u2591", "\u2592", "\u2593"];
471171
471114
  WISP = ["~\u223F~", "\u223F~\u223F", "\xB7\u223F\xB7", "\u223F\xB7\u223F"];
471172
- BOLD4 = TextAttributes.BOLD;
471173
- ITALIC3 = TextAttributes.ITALIC;
471174
- DIM3 = TextAttributes.DIM;
471115
+ BOLD5 = TextAttributes.BOLD;
471116
+ ITALIC4 = TextAttributes.ITALIC;
471117
+ DIM4 = TextAttributes.DIM;
471175
471118
  });
471176
471119
 
471177
471120
  // src/components/settings/EditorSettings.tsx
@@ -476514,7 +476457,7 @@ function ShutdownSplash(t0) {
476514
476457
  let t3;
476515
476458
  if ($5[2] === Symbol.for("react.memo_cache_sentinel")) {
476516
476459
  t2 = () => {
476517
- const timer = setInterval(() => setTick(_temp83), 80);
476460
+ const timer = setInterval(() => setTick(_temp81), 80);
476518
476461
  return () => clearInterval(timer);
476519
476462
  };
476520
476463
  t3 = [];
@@ -476711,7 +476654,7 @@ function ShutdownSplash(t0) {
476711
476654
  }
476712
476655
  return t14;
476713
476656
  }
476714
- function _temp83(t2) {
476657
+ function _temp81(t2) {
476715
476658
  return t2 + 1;
476716
476659
  }
476717
476660
  function nativeCopy(text3) {
@@ -477953,9 +477896,9 @@ if (isCompiledBinary) {
477953
477896
  }
477954
477897
  }
477955
477898
  var RST4 = "\x1B[0m";
477956
- var BOLD5 = "\x1B[1m";
477957
- var DIM4 = "\x1B[2m";
477958
- var ITALIC4 = "\x1B[3m";
477899
+ var BOLD6 = "\x1B[1m";
477900
+ var DIM5 = "\x1B[2m";
477901
+ var ITALIC5 = "\x1B[3m";
477959
477902
  function rgb(hex3) {
477960
477903
  let h3 = hex3.slice(1);
477961
477904
  if (h3.length === 3)
@@ -478092,29 +478035,29 @@ function stopSpinner() {
478092
478035
  process.stdout.write("\x1B[?25l\x1B[2J\x1B[H");
478093
478036
  var earlyModules = Promise.all([Promise.resolve().then(() => (init_config(), exports_config)), Promise.resolve().then(() => (init_detect(), exports_detect)), Promise.resolve().then(() => (init_icons(), exports_icons)), Promise.resolve().then(() => (init_install(), exports_install))]);
478094
478037
  for (const frame of ["\u2591", "\u2592", "\u2593", GHOST]) {
478095
- center(ROW.ghost, frame, PURPLE2 + BOLD5);
478038
+ center(ROW.ghost, frame, PURPLE2 + BOLD6);
478096
478039
  await sleep2(50);
478097
478040
  }
478098
- center(ROW.wisp, WISP_FRAMES[0] ?? "", DIM4 + DIM_PURPLE);
478041
+ center(ROW.wisp, WISP_FRAMES[0] ?? "", DIM5 + DIM_PURPLE);
478099
478042
  var wispTick = 0;
478100
478043
  var wispTimer = setInterval(() => {
478101
478044
  wispTick++;
478102
- center(ROW.wisp, WISP_FRAMES[wispTick % WISP_FRAMES.length] ?? "", DIM4 + DIM_PURPLE);
478045
+ center(ROW.wisp, WISP_FRAMES[wispTick % WISP_FRAMES.length] ?? "", DIM5 + DIM_PURPLE);
478103
478046
  }, 500);
478104
478047
  var narrow = cols < 40;
478105
478048
  await sleep2(100);
478106
478049
  if (narrow) {
478107
- center(ROW.word + 1, "SOULFORGE", PURPLE2 + BOLD5);
478050
+ center(ROW.word + 1, "SOULFORGE", PURPLE2 + BOLD6);
478108
478051
  } else {
478109
478052
  for (let i4 = 0;i4 < 3; i4++) {
478110
478053
  center(ROW.word + i4, garble(WORDMARK[i4] ?? ""), FAINT);
478111
478054
  await sleep2(40);
478112
- center(ROW.word + i4, WORDMARK[i4] ?? "", PURPLE2 + BOLD5);
478055
+ center(ROW.word + i4, WORDMARK[i4] ?? "", PURPLE2 + BOLD6);
478113
478056
  await sleep2(30);
478114
478057
  }
478115
478058
  }
478116
478059
  await sleep2(60);
478117
- center(ROW.sub, `${SUBTLE}\u2500\u2500 ${RST4}${MUTED}${ITALIC4}Graph-Powered Code Intelligence${RST4}${SUBTLE} \u2500\u2500${RST4}`);
478060
+ center(ROW.sub, `${SUBTLE}\u2500\u2500 ${RST4}${MUTED}${ITALIC5}Graph-Powered Code Intelligence${RST4}${SUBTLE} \u2500\u2500${RST4}`);
478118
478061
  await sleep2(100);
478119
478062
  var brandParts = getBrandSegments().map((s2) => ({
478120
478063
  text: s2.text,