@proxysoul/soulforge 2.20.3 → 2.20.5
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 +326 -346
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -65798,7 +65798,14 @@ function resolveModel(modelId) {
|
|
|
65798
65798
|
if (!provider) {
|
|
65799
65799
|
throw new Error(`Unknown provider "${providerId}"`);
|
|
65800
65800
|
}
|
|
65801
|
-
|
|
65801
|
+
const base = provider.createModel(model);
|
|
65802
|
+
return wrapLanguageModel({
|
|
65803
|
+
model: base,
|
|
65804
|
+
middleware: [
|
|
65805
|
+
extractReasoningMiddleware({ tagName: "think" }),
|
|
65806
|
+
extractReasoningMiddleware({ tagName: "thinking" })
|
|
65807
|
+
]
|
|
65808
|
+
});
|
|
65802
65809
|
}
|
|
65803
65810
|
function onProviderSwitch(listener) {
|
|
65804
65811
|
providerSwitchListeners.add(listener);
|
|
@@ -65808,6 +65815,7 @@ function onProviderSwitch(listener) {
|
|
|
65808
65815
|
}
|
|
65809
65816
|
var cachedStatuses = null, providerStatusListeners, activeProviderId = null, providerSwitchListeners;
|
|
65810
65817
|
var init_provider = __esm(() => {
|
|
65818
|
+
init_dist5();
|
|
65811
65819
|
init_secrets();
|
|
65812
65820
|
init_providers();
|
|
65813
65821
|
providerStatusListeners = new Set;
|
|
@@ -71927,7 +71935,7 @@ var package_default;
|
|
|
71927
71935
|
var init_package = __esm(() => {
|
|
71928
71936
|
package_default = {
|
|
71929
71937
|
name: "@proxysoul/soulforge",
|
|
71930
|
-
version: "2.20.
|
|
71938
|
+
version: "2.20.5",
|
|
71931
71939
|
description: "Graph-powered code intelligence \u2014 multi-agent coding with codebase-aware AI",
|
|
71932
71940
|
repository: {
|
|
71933
71941
|
type: "git",
|
|
@@ -94533,31 +94541,22 @@ var init_opencode_go = __esm(() => {
|
|
|
94533
94541
|
},
|
|
94534
94542
|
fallbackModels: [
|
|
94535
94543
|
{ id: "glm-5.1", name: "GLM 5.1" },
|
|
94536
|
-
{ id: "glm-5", name: "GLM 5" },
|
|
94537
94544
|
{ id: "kimi-k2.6", name: "Kimi K2.6" },
|
|
94538
|
-
{ id: "
|
|
94545
|
+
{ id: "minimax-m3", name: "MiniMax M3" },
|
|
94539
94546
|
{ id: "mimo-v2.5-pro", name: "MiMo V2.5 Pro" },
|
|
94540
|
-
{ id: "
|
|
94541
|
-
{ id: "minimax-m2.7", name: "MiniMax M2.7" },
|
|
94542
|
-
{ id: "minimax-m2.5", name: "MiniMax M2.5" },
|
|
94543
|
-
{ id: "qwen3.6-plus", name: "Qwen3.6 Plus" },
|
|
94544
|
-
{ id: "qwen3.5-plus", name: "Qwen3.5 Plus" },
|
|
94547
|
+
{ id: "qwen3.7-max", name: "Qwen3.7 Max" },
|
|
94545
94548
|
{ id: "deepseek-v4-pro", name: "DeepSeek V4 Pro" },
|
|
94546
94549
|
{ id: "deepseek-v4-flash", name: "DeepSeek V4 Flash" }
|
|
94547
94550
|
],
|
|
94548
94551
|
contextWindows: [
|
|
94549
|
-
["glm-5.1", 204800],
|
|
94550
94552
|
["glm-5", 204800],
|
|
94551
|
-
["kimi-k2
|
|
94552
|
-
["
|
|
94553
|
-
["
|
|
94554
|
-
["
|
|
94555
|
-
["
|
|
94556
|
-
["
|
|
94557
|
-
["
|
|
94558
|
-
["qwen3.5-plus", 1e6],
|
|
94559
|
-
["deepseek-v4-pro", 131072],
|
|
94560
|
-
["deepseek-v4-flash", 131072]
|
|
94553
|
+
["kimi-k2", 262000],
|
|
94554
|
+
["mimo-v2", 262144],
|
|
94555
|
+
["minimax-m3", 196000],
|
|
94556
|
+
["minimax-m2", 196000],
|
|
94557
|
+
["qwen3", 1e6],
|
|
94558
|
+
["deepseek-v4", 131072],
|
|
94559
|
+
["hy3", 262144]
|
|
94561
94560
|
]
|
|
94562
94561
|
};
|
|
94563
94562
|
});
|
|
@@ -94612,109 +94611,37 @@ var init_opencode_zen = __esm(() => {
|
|
|
94612
94611
|
}
|
|
94613
94612
|
},
|
|
94614
94613
|
fallbackModels: [
|
|
94615
|
-
{ id: "gpt-5.5-pro", name: "GPT 5.5 Pro" },
|
|
94616
94614
|
{ id: "gpt-5.5", name: "GPT 5.5" },
|
|
94617
|
-
{ id: "gpt-5.4-pro", name: "GPT 5.4 Pro" },
|
|
94618
94615
|
{ id: "gpt-5.4", name: "GPT 5.4" },
|
|
94619
|
-
{ id: "gpt-5.4-mini", name: "GPT 5.4 Mini" },
|
|
94620
|
-
{ id: "gpt-5.4-nano", name: "GPT 5.4 Nano" },
|
|
94621
|
-
{ id: "gpt-5.3-codex", name: "GPT 5.3 Codex" },
|
|
94622
|
-
{ id: "gpt-5.3-codex-spark", name: "GPT 5.3 Codex Spark" },
|
|
94623
|
-
{ id: "gpt-5.2", name: "GPT 5.2" },
|
|
94624
|
-
{ id: "gpt-5.2-codex", name: "GPT 5.2 Codex" },
|
|
94625
|
-
{ id: "gpt-5.1", name: "GPT 5.1" },
|
|
94626
|
-
{ id: "gpt-5.1-codex", name: "GPT 5.1 Codex" },
|
|
94627
|
-
{ id: "gpt-5.1-codex-max", name: "GPT 5.1 Codex Max" },
|
|
94628
|
-
{ id: "gpt-5.1-codex-mini", name: "GPT 5.1 Codex Mini" },
|
|
94629
|
-
{ id: "gpt-5", name: "GPT 5" },
|
|
94630
|
-
{ id: "gpt-5-codex", name: "GPT 5 Codex" },
|
|
94631
|
-
{ id: "gpt-5-nano", name: "GPT 5 Nano" },
|
|
94632
94616
|
{ id: "claude-opus-4-8", name: "Claude Opus 4.8" },
|
|
94633
|
-
{ id: "claude-opus-4-7", name: "Claude Opus 4.7" },
|
|
94634
|
-
{ id: "claude-opus-4-6", name: "Claude Opus 4.6" },
|
|
94635
|
-
{ id: "claude-opus-4-5", name: "Claude Opus 4.5" },
|
|
94636
|
-
{ id: "claude-opus-4-1", name: "Claude Opus 4.1" },
|
|
94637
94617
|
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
|
|
94638
|
-
{ id: "claude-sonnet-4-5", name: "Claude Sonnet 4.5" },
|
|
94639
|
-
{ id: "claude-sonnet-4", name: "Claude Sonnet 4" },
|
|
94640
94618
|
{ id: "claude-haiku-4-5", name: "Claude Haiku 4.5" },
|
|
94641
94619
|
{ id: "gemini-3.1-pro", name: "Gemini 3.1 Pro" },
|
|
94642
|
-
{ id: "
|
|
94643
|
-
{ id: "minimax-m2.7", name: "MiniMax M2.7" },
|
|
94644
|
-
{ id: "minimax-m2.5", name: "MiniMax M2.5" },
|
|
94645
|
-
{ id: "minimax-m2.5-free", name: "MiniMax M2.5 Free" },
|
|
94620
|
+
{ id: "minimax-m3", name: "MiniMax M3" },
|
|
94646
94621
|
{ id: "glm-5.1", name: "GLM 5.1" },
|
|
94647
|
-
{ id: "glm-5", name: "GLM 5" },
|
|
94648
94622
|
{ id: "kimi-k2.6", name: "Kimi K2.6" },
|
|
94649
|
-
{ id: "
|
|
94650
|
-
{ id: "deepseek-v4-flash
|
|
94651
|
-
{ id: "
|
|
94652
|
-
{ id: "qwen3.5-plus", name: "Qwen3.5 Plus" },
|
|
94653
|
-
{ id: "big-pickle", name: "Big Pickle" },
|
|
94654
|
-
{ id: "nemotron-3-super-free", name: "Nemotron 3 Super Free" },
|
|
94655
|
-
{ id: "ring-2.6-1t-free", name: "Ring 2.6 1T Free" },
|
|
94656
|
-
{ id: "trinity-large-preview-free", name: "Trinity Large Preview Free" }
|
|
94623
|
+
{ id: "qwen3.7-max", name: "Qwen3.7 Max" },
|
|
94624
|
+
{ id: "deepseek-v4-flash", name: "DeepSeek V4 Flash" },
|
|
94625
|
+
{ id: "grok-build-0.1", name: "Grok Build 0.1" }
|
|
94657
94626
|
],
|
|
94658
94627
|
contextWindows: [
|
|
94659
94628
|
...SHARED_CONTEXT_WINDOWS,
|
|
94660
|
-
["gpt-5.5-pro", 1050000],
|
|
94661
94629
|
["gpt-5.5", 1050000],
|
|
94662
94630
|
["gpt-5.4", 1050000],
|
|
94663
|
-
["gpt-5.4-pro", 1050000],
|
|
94664
|
-
["gpt-5.4-mini", 400000],
|
|
94665
|
-
["gpt-5.4-nano", 400000],
|
|
94666
|
-
["gpt-5.3-codex", 400000],
|
|
94667
|
-
["gpt-5.3-codex-spark", 400000],
|
|
94668
|
-
["gpt-5.2", 400000],
|
|
94669
|
-
["gpt-5.2-codex", 400000],
|
|
94670
|
-
["gpt-5.1", 400000],
|
|
94671
|
-
["gpt-5.1-codex", 400000],
|
|
94672
|
-
["gpt-5.1-codex-max", 400000],
|
|
94673
|
-
["gpt-5.1-codex-mini", 400000],
|
|
94674
|
-
["gpt-5", 400000],
|
|
94675
|
-
["gpt-5-codex", 400000],
|
|
94676
|
-
["gpt-5-nano", 400000],
|
|
94677
|
-
["gpt-5.4-pro", 1050000],
|
|
94678
|
-
["gpt-5.4-mini", 400000],
|
|
94679
|
-
["gpt-5.4-nano", 400000],
|
|
94680
|
-
["gpt-5.3-codex", 400000],
|
|
94681
|
-
["gpt-5.3-codex-spark", 400000],
|
|
94682
|
-
["gpt-5.2", 400000],
|
|
94683
|
-
["gpt-5.2-codex", 400000],
|
|
94684
|
-
["gpt-5.1", 400000],
|
|
94685
|
-
["gpt-5.1-codex", 400000],
|
|
94686
|
-
["gpt-5.1-codex-max", 400000],
|
|
94687
|
-
["gpt-5.1-codex-mini", 400000],
|
|
94688
94631
|
["gpt-5", 400000],
|
|
94689
|
-
["gpt-5-codex", 400000],
|
|
94690
|
-
["gpt-5-nano", 400000],
|
|
94691
94632
|
["claude-opus-4-8", 1e6],
|
|
94692
94633
|
["claude-opus-4-7", 1e6],
|
|
94693
94634
|
["claude-opus-4-6", 1e6],
|
|
94694
|
-
["claude-opus-4-5", 200000],
|
|
94695
|
-
["claude-opus-4-1", 200000],
|
|
94696
94635
|
["claude-sonnet-4-6", 1e6],
|
|
94697
94636
|
["claude-sonnet-4-5", 1e6],
|
|
94698
|
-
["
|
|
94699
|
-
["
|
|
94700
|
-
["
|
|
94701
|
-
["
|
|
94702
|
-
["
|
|
94703
|
-
["
|
|
94704
|
-
["claude-sonnet-4.6", 1e6],
|
|
94705
|
-
["claude-sonnet-4.5", 200000],
|
|
94706
|
-
["minimax-m2.5", 196000],
|
|
94707
|
-
["minimax-m2.5-free", 196000],
|
|
94708
|
-
["kimi-k2.5", 262000],
|
|
94709
|
-
["gemini-3.1-pro", 1048576],
|
|
94710
|
-
["gemini-3-flash", 1048576],
|
|
94711
|
-
["qwen3.6-plus", 1e6],
|
|
94712
|
-
["qwen3.5-plus", 1e6],
|
|
94713
|
-
["deepseek-v4-flash-free", 131072],
|
|
94637
|
+
["minimax-m3", 196000],
|
|
94638
|
+
["minimax-m2", 196000],
|
|
94639
|
+
["kimi-k2", 262000],
|
|
94640
|
+
["mimo-v2", 262144],
|
|
94641
|
+
["nemotron-3", 262000],
|
|
94642
|
+
["grok-build", 256000],
|
|
94714
94643
|
["big-pickle", 200000],
|
|
94715
|
-
["
|
|
94716
|
-
["ring-2.6-1t-free", 131072],
|
|
94717
|
-
["trinity-large-preview-free", 262144]
|
|
94644
|
+
["deepseek-v4", 131072]
|
|
94718
94645
|
]
|
|
94719
94646
|
};
|
|
94720
94647
|
});
|
|
@@ -432961,6 +432888,9 @@ ${lines.join(`
|
|
|
432961
432888
|
try {
|
|
432962
432889
|
recordMemoryAction(resolved.id);
|
|
432963
432890
|
} catch {}
|
|
432891
|
+
try {
|
|
432892
|
+
manager.recordRecallAcross([{ scope: resolved.scope, id: resolved.id }]);
|
|
432893
|
+
} catch {}
|
|
432964
432894
|
return { success: true, output: formatRecordFull(resolved) };
|
|
432965
432895
|
}
|
|
432966
432896
|
function handleList() {
|
|
@@ -433006,6 +432936,9 @@ ${lines.join(`
|
|
|
433006
432936
|
});
|
|
433007
432937
|
if (hits.length === 0)
|
|
433008
432938
|
return { success: true, output: "No matching memories found." };
|
|
432939
|
+
try {
|
|
432940
|
+
manager.recordRecallAcross(hits.map((h) => ({ scope: h.scope, id: h.record.id })));
|
|
432941
|
+
} catch {}
|
|
433009
432942
|
return {
|
|
433010
432943
|
success: true,
|
|
433011
432944
|
output: hits.map(({ record: record2, scope, normalized_score }) => `${formatRecordLine({ ...record2, scope })} score=${normalized_score.toFixed(2)}`).join(`
|
|
@@ -448158,6 +448091,7 @@ var init_manager6 = __esm(() => {
|
|
|
448158
448091
|
this.recallCache = { key: cacheKey, pair: null };
|
|
448159
448092
|
return null;
|
|
448160
448093
|
}
|
|
448094
|
+
this.memoryManager.recordRecallAcross(results.map((r) => ({ scope: r.scope, id: r.record.id })));
|
|
448161
448095
|
const fresh = results.filter((r) => !this.surfacedMemoryIds.has(r.record.id));
|
|
448162
448096
|
if (fresh.length === 0) {
|
|
448163
448097
|
this.recallCache = { key: cacheKey, pair: null };
|
|
@@ -448182,7 +448116,6 @@ var init_manager6 = __esm(() => {
|
|
|
448182
448116
|
lines.push("(call memory(action:'get', id:<8-char prefix>) to read full details)");
|
|
448183
448117
|
}
|
|
448184
448118
|
lines.push("</recalled_memories>");
|
|
448185
|
-
this.memoryManager.recordRecallAcross(surfacedIds);
|
|
448186
448119
|
const userMessage = lines.join(`
|
|
448187
448120
|
`);
|
|
448188
448121
|
const assistantAck = MEMORY_RECALL_ACK(surfacedIds.length);
|
|
@@ -478126,14 +478059,18 @@ Proceeding without it will significantly reduce capabilities \u2014 no soul tool
|
|
|
478126
478059
|
stallAbortedAt = Date.now();
|
|
478127
478060
|
abortController.abort();
|
|
478128
478061
|
}, 1e4);
|
|
478129
|
-
let streamEventCount = 0;
|
|
478130
478062
|
let yieldBeforeNext = false;
|
|
478063
|
+
let lastYieldTs = Date.now();
|
|
478064
|
+
const YIELD_BUDGET_MS = 8;
|
|
478065
|
+
const hearthBridgeMod = await Promise.resolve().then(() => (init_bridge(), exports_bridge));
|
|
478066
|
+
const hearthLive = hearthBridgeMod.hearthBridge.listBindings().some((b5) => b5.tabId === tabId);
|
|
478131
478067
|
const streamIterator = result.fullStream[Symbol.asyncIterator]();
|
|
478132
478068
|
for await (const part of { [Symbol.asyncIterator]: () => streamIterator }) {
|
|
478133
478069
|
markActivity();
|
|
478134
|
-
if (yieldBeforeNext ||
|
|
478070
|
+
if (yieldBeforeNext || Date.now() - lastYieldTs >= YIELD_BUDGET_MS) {
|
|
478135
478071
|
yieldBeforeNext = false;
|
|
478136
|
-
|
|
478072
|
+
lastYieldTs = Date.now();
|
|
478073
|
+
await Promise.resolve();
|
|
478137
478074
|
}
|
|
478138
478075
|
switch (part.type) {
|
|
478139
478076
|
case "start-step": {
|
|
@@ -478155,9 +478092,8 @@ Proceeding without it will significantly reduce capabilities \u2014 no soul tool
|
|
|
478155
478092
|
case "reasoning-delta": {
|
|
478156
478093
|
gotFirstContent = true;
|
|
478157
478094
|
appendReasoningContent(part.text);
|
|
478158
|
-
|
|
478159
|
-
|
|
478160
|
-
});
|
|
478095
|
+
if (hearthLive)
|
|
478096
|
+
hearthBridgeMod.reasoningStreamEmitter.append(tabId, part.text);
|
|
478161
478097
|
break;
|
|
478162
478098
|
}
|
|
478163
478099
|
case "reasoning-end":
|
|
@@ -478166,9 +478102,11 @@ Proceeding without it will significantly reduce capabilities \u2014 no soul tool
|
|
|
478166
478102
|
case "text-delta": {
|
|
478167
478103
|
gotFirstContent = true;
|
|
478168
478104
|
appendText(part.text);
|
|
478169
|
-
|
|
478170
|
-
|
|
478171
|
-
|
|
478105
|
+
if (hearthLive)
|
|
478106
|
+
hearthBridgeMod.bridgeStreamEmitter.stream(tabId, {
|
|
478107
|
+
type: "text",
|
|
478108
|
+
content: part.text
|
|
478109
|
+
});
|
|
478172
478110
|
queueMicrotaskFlush();
|
|
478173
478111
|
break;
|
|
478174
478112
|
}
|
|
@@ -486105,6 +486043,7 @@ var init_MessageList = __esm(() => {
|
|
|
486105
486043
|
const hasContent = msg.content.trim().length > 0;
|
|
486106
486044
|
const hasTools = msg.toolCalls && msg.toolCalls.length > 0;
|
|
486107
486045
|
const isEmpty = !hasSegments && !hasContent && !hasTools;
|
|
486046
|
+
const onlyHiddenReasoning = !isEmpty && !hasContent && !hasTools && !showReasoning && !!msg.segments?.length && msg.segments.every((s2) => s2.type === "reasoning");
|
|
486108
486047
|
const finalResponseSeed = import_react58.useMemo(() => {
|
|
486109
486048
|
let h3 = 0;
|
|
486110
486049
|
for (let i4 = 0;i4 < msg.id.length; i4++)
|
|
@@ -486229,6 +486168,10 @@ var init_MessageList = __esm(() => {
|
|
|
486229
486168
|
fg: t.textMuted,
|
|
486230
486169
|
attributes: TextAttributes9.ITALIC,
|
|
486231
486170
|
children: "Empty response \u2014 model returned no content."
|
|
486171
|
+
}, undefined, false, undefined, this) : onlyHiddenReasoning ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
486172
|
+
fg: t.textMuted,
|
|
486173
|
+
attributes: TextAttributes9.ITALIC,
|
|
486174
|
+
children: "Thinking\u2026 (reasoning hidden)"
|
|
486232
486175
|
}, undefined, false, undefined, this) : autoLayout ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
|
|
486233
486176
|
children: [
|
|
486234
486177
|
autoLayout.opening ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
@@ -486743,6 +486686,7 @@ var init_useTextDrip = __esm(() => {
|
|
|
486743
486686
|
});
|
|
486744
486687
|
|
|
486745
486688
|
// src/components/chat/StreamSegmentList.tsx
|
|
486689
|
+
import { TextAttributes as TextAttributes10 } from "@opentui/core";
|
|
486746
486690
|
function trimToCompleteLines(text3) {
|
|
486747
486691
|
return text3;
|
|
486748
486692
|
}
|
|
@@ -486762,6 +486706,7 @@ function DripText({ content, streaming }) {
|
|
|
486762
486706
|
}
|
|
486763
486707
|
var import_react61, StreamSegmentList;
|
|
486764
486708
|
var init_StreamSegmentList = __esm(() => {
|
|
486709
|
+
init_store();
|
|
486765
486710
|
init_Markdown();
|
|
486766
486711
|
init_ReasoningBlock();
|
|
486767
486712
|
init_ToolCallDisplay();
|
|
@@ -486777,6 +486722,7 @@ var init_StreamSegmentList = __esm(() => {
|
|
|
486777
486722
|
showReasoning = true,
|
|
486778
486723
|
reasoningExpanded = false
|
|
486779
486724
|
}) {
|
|
486725
|
+
const t = useTheme();
|
|
486780
486726
|
const toolCallMap = import_react61.useMemo(() => {
|
|
486781
486727
|
const m5 = new Map;
|
|
486782
486728
|
for (const tc of toolCalls)
|
|
@@ -486836,71 +486782,79 @@ var init_StreamSegmentList = __esm(() => {
|
|
|
486836
486782
|
}
|
|
486837
486783
|
return -1;
|
|
486838
486784
|
}, [merged, streaming]);
|
|
486785
|
+
const hasVisibleContent = merged.some((seg) => seg.type === "reasoning" && showReasoning || seg.type === "text" && seg.content.trim().length > 0 || seg.type === "tools");
|
|
486839
486786
|
let lastVisibleType = null;
|
|
486840
486787
|
return /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
|
|
486841
|
-
children:
|
|
486842
|
-
|
|
486843
|
-
|
|
486844
|
-
|
|
486845
|
-
|
|
486846
|
-
|
|
486847
|
-
|
|
486848
|
-
|
|
486849
|
-
if (display.length === 0)
|
|
486788
|
+
children: [
|
|
486789
|
+
streaming && !hasVisibleContent ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
486790
|
+
fg: t.textMuted,
|
|
486791
|
+
attributes: TextAttributes10.ITALIC,
|
|
486792
|
+
children: "Thinking\u2026"
|
|
486793
|
+
}, undefined, false, undefined, this) : null,
|
|
486794
|
+
merged.map((seg, i4) => {
|
|
486795
|
+
if (seg.type === "reasoning" && !showReasoning)
|
|
486850
486796
|
return null;
|
|
486851
|
-
|
|
486797
|
+
const needsGap = lastVisibleType !== null && lastVisibleType !== seg.type ? 1 : 0;
|
|
486798
|
+
if (seg.type === "text") {
|
|
486799
|
+
lastVisibleType = seg.type;
|
|
486800
|
+
const isActiveSegment = i4 === lastTextIndex;
|
|
486801
|
+
const display = trimToCompleteLines(seg.content);
|
|
486802
|
+
if (display.length === 0)
|
|
486803
|
+
return null;
|
|
486804
|
+
if (isActiveSegment) {
|
|
486805
|
+
return /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
486806
|
+
flexDirection: "column",
|
|
486807
|
+
marginTop: needsGap,
|
|
486808
|
+
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(DripText, {
|
|
486809
|
+
content: display,
|
|
486810
|
+
streaming
|
|
486811
|
+
}, undefined, false, undefined, this)
|
|
486812
|
+
}, `text-${String(i4)}`, false, undefined, this);
|
|
486813
|
+
}
|
|
486852
486814
|
return /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
486853
486815
|
flexDirection: "column",
|
|
486854
486816
|
marginTop: needsGap,
|
|
486855
|
-
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(
|
|
486856
|
-
|
|
486857
|
-
streaming
|
|
486817
|
+
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Markdown, {
|
|
486818
|
+
text: display,
|
|
486819
|
+
streaming: true
|
|
486858
486820
|
}, undefined, false, undefined, this)
|
|
486859
486821
|
}, `text-${String(i4)}`, false, undefined, this);
|
|
486860
486822
|
}
|
|
486861
|
-
|
|
486862
|
-
|
|
486863
|
-
|
|
486864
|
-
|
|
486865
|
-
|
|
486866
|
-
|
|
486867
|
-
|
|
486868
|
-
|
|
486869
|
-
|
|
486870
|
-
|
|
486823
|
+
if (seg.type === "reasoning") {
|
|
486824
|
+
lastVisibleType = seg.type;
|
|
486825
|
+
const rkey = `${seg.id}-${reasoningExpanded ? "exp" : "col"}`;
|
|
486826
|
+
return /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
486827
|
+
flexDirection: "column",
|
|
486828
|
+
marginTop: needsGap,
|
|
486829
|
+
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(ReasoningBlock, {
|
|
486830
|
+
content: seg.content,
|
|
486831
|
+
expanded: reasoningExpanded,
|
|
486832
|
+
isStreaming: !seg.done,
|
|
486833
|
+
id: seg.id
|
|
486834
|
+
}, undefined, false, undefined, this)
|
|
486835
|
+
}, rkey, false, undefined, this);
|
|
486836
|
+
}
|
|
486837
|
+
const calls = seg.callIds.map((id) => toolCallMap.get(id)).filter((tc) => tc != null);
|
|
486838
|
+
if (calls.length === 0)
|
|
486839
|
+
return null;
|
|
486871
486840
|
lastVisibleType = seg.type;
|
|
486872
|
-
const rkey = `${seg.id}-${reasoningExpanded ? "exp" : "col"}`;
|
|
486873
486841
|
return /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
486874
|
-
flexDirection: "column",
|
|
486875
486842
|
marginTop: needsGap,
|
|
486876
|
-
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(
|
|
486877
|
-
|
|
486878
|
-
|
|
486879
|
-
|
|
486880
|
-
|
|
486843
|
+
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(ToolCallDisplay, {
|
|
486844
|
+
calls,
|
|
486845
|
+
allCalls: toolCalls,
|
|
486846
|
+
verbose,
|
|
486847
|
+
diffStyle
|
|
486881
486848
|
}, undefined, false, undefined, this)
|
|
486882
|
-
},
|
|
486883
|
-
}
|
|
486884
|
-
|
|
486885
|
-
|
|
486886
|
-
return null;
|
|
486887
|
-
lastVisibleType = seg.type;
|
|
486888
|
-
return /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
486889
|
-
marginTop: needsGap,
|
|
486890
|
-
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(ToolCallDisplay, {
|
|
486891
|
-
calls,
|
|
486892
|
-
allCalls: toolCalls,
|
|
486893
|
-
verbose,
|
|
486894
|
-
diffStyle
|
|
486895
|
-
}, undefined, false, undefined, this)
|
|
486896
|
-
}, seg.callIds[0], false, undefined, this);
|
|
486897
|
-
})
|
|
486898
|
-
}, undefined, false, undefined, this);
|
|
486849
|
+
}, seg.callIds[0], false, undefined, this);
|
|
486850
|
+
})
|
|
486851
|
+
]
|
|
486852
|
+
}, undefined, true, undefined, this);
|
|
486899
486853
|
});
|
|
486900
486854
|
});
|
|
486901
486855
|
|
|
486902
486856
|
// src/components/chat/FinalResponseView.tsx
|
|
486903
|
-
import { TextAttributes as
|
|
486857
|
+
import { TextAttributes as TextAttributes11 } from "@opentui/core";
|
|
486904
486858
|
function filterQuietTools(name39) {
|
|
486905
486859
|
return !QUIET_TOOLS2.has(name39);
|
|
486906
486860
|
}
|
|
@@ -487089,7 +487043,7 @@ var init_FinalResponseView = __esm(() => {
|
|
|
487089
487043
|
}, undefined, false, undefined, this),
|
|
487090
487044
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
487091
487045
|
fg: effectiveDone ? t.textSecondary : t.textPrimary,
|
|
487092
|
-
attributes: effectiveDone ? undefined :
|
|
487046
|
+
attributes: effectiveDone ? undefined : TextAttributes11.BOLD,
|
|
487093
487047
|
children: statusMsg
|
|
487094
487048
|
}, undefined, false, undefined, this),
|
|
487095
487049
|
effectiveDone ? null : /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Spinner, {
|
|
@@ -487448,7 +487402,7 @@ var init_tips = __esm(() => {
|
|
|
487448
487402
|
});
|
|
487449
487403
|
|
|
487450
487404
|
// src/components/chat/InputBox.tsx
|
|
487451
|
-
import { decodePasteBytes as decodePasteBytes2, TextAttributes as
|
|
487405
|
+
import { decodePasteBytes as decodePasteBytes2, TextAttributes as TextAttributes12 } from "@opentui/core";
|
|
487452
487406
|
function getCommands() {
|
|
487453
487407
|
return getCommandDefs().filter((c) => !isDefHidden(c)).map((c) => ({ cmd: c.cmd, icon: icon(c.ic), desc: c.desc }));
|
|
487454
487408
|
}
|
|
@@ -487503,7 +487457,7 @@ var init_InputBox = __esm(async () => {
|
|
|
487503
487457
|
return /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
487504
487458
|
children: spans.map((s2, i4) => /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
487505
487459
|
fg: s2.hl ? t.brandSecondary : t.textPrimary,
|
|
487506
|
-
attributes: s2.hl ?
|
|
487460
|
+
attributes: s2.hl ? TextAttributes12.BOLD : undefined,
|
|
487507
487461
|
children: s2.text
|
|
487508
487462
|
}, i4, false, undefined, this))
|
|
487509
487463
|
}, undefined, false, undefined, this);
|
|
@@ -488103,7 +488057,7 @@ var init_InputBox = __esm(async () => {
|
|
|
488103
488057
|
}, undefined, false, undefined, this),
|
|
488104
488058
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
488105
488059
|
fg: isSelected ? t.info : t.borderSlash,
|
|
488106
|
-
attributes: isSelected ?
|
|
488060
|
+
attributes: isSelected ? TextAttributes12.BOLD : undefined,
|
|
488107
488061
|
children: match2.cmd
|
|
488108
488062
|
}, undefined, false, undefined, this),
|
|
488109
488063
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -488153,7 +488107,7 @@ var init_InputBox = __esm(async () => {
|
|
|
488153
488107
|
children: [
|
|
488154
488108
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
488155
488109
|
fg: t.warning,
|
|
488156
|
-
attributes:
|
|
488110
|
+
attributes: TextAttributes12.BOLD,
|
|
488157
488111
|
children: [
|
|
488158
488112
|
icon("clock_alt"),
|
|
488159
488113
|
" history"
|
|
@@ -488218,7 +488172,7 @@ var init_InputBox = __esm(async () => {
|
|
|
488218
488172
|
children: [
|
|
488219
488173
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
488220
488174
|
fg: t.warning,
|
|
488221
|
-
attributes:
|
|
488175
|
+
attributes: TextAttributes12.BOLD,
|
|
488222
488176
|
children: "search: "
|
|
488223
488177
|
}, undefined, false, undefined, this),
|
|
488224
488178
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -488236,7 +488190,7 @@ var init_InputBox = __esm(async () => {
|
|
|
488236
488190
|
children: [
|
|
488237
488191
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
488238
488192
|
fg: t.brandSecondary,
|
|
488239
|
-
attributes:
|
|
488193
|
+
attributes: TextAttributes12.BOLD,
|
|
488240
488194
|
flexShrink: 0,
|
|
488241
488195
|
children: [
|
|
488242
488196
|
">",
|
|
@@ -488261,7 +488215,7 @@ var init_InputBox = __esm(async () => {
|
|
|
488261
488215
|
}, undefined, false, undefined, this),
|
|
488262
488216
|
showBusy && !showAutocomplete ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
488263
488217
|
fg: t.error,
|
|
488264
|
-
attributes:
|
|
488218
|
+
attributes: TextAttributes12.BOLD,
|
|
488265
488219
|
flexShrink: 0,
|
|
488266
488220
|
children: " ^X stop"
|
|
488267
488221
|
}, undefined, false, undefined, this) : ghost ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -488298,7 +488252,7 @@ var init_InputBox = __esm(async () => {
|
|
|
488298
488252
|
});
|
|
488299
488253
|
|
|
488300
488254
|
// src/components/plan/TaskProgress.tsx
|
|
488301
|
-
import { TextAttributes as
|
|
488255
|
+
import { TextAttributes as TextAttributes13 } from "@opentui/core";
|
|
488302
488256
|
function InlineSpinner({ color }) {
|
|
488303
488257
|
return /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Spinner, {
|
|
488304
488258
|
inline: true,
|
|
@@ -488341,7 +488295,7 @@ function TaskList({ tasks, nested }) {
|
|
|
488341
488295
|
}, undefined, false, undefined, this),
|
|
488342
488296
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
488343
488297
|
fg: task.status === "done" ? theme2.textMuted : task.status === "in-progress" ? theme2.textPrimary : STATUS_COLORS[task.status] ?? theme2.textMuted,
|
|
488344
|
-
attributes: task.status === "in-progress" ?
|
|
488298
|
+
attributes: task.status === "in-progress" ? TextAttributes13.BOLD : undefined,
|
|
488345
488299
|
children: task.title
|
|
488346
488300
|
}, undefined, false, undefined, this)
|
|
488347
488301
|
]
|
|
@@ -488387,7 +488341,7 @@ function TaskList({ tasks, nested }) {
|
|
|
488387
488341
|
children: [
|
|
488388
488342
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
488389
488343
|
fg: theme2.brand,
|
|
488390
|
-
attributes:
|
|
488344
|
+
attributes: TextAttributes13.BOLD,
|
|
488391
488345
|
children: [
|
|
488392
488346
|
icon("plan"),
|
|
488393
488347
|
" Tasks"
|
|
@@ -488463,7 +488417,7 @@ var init_TaskProgress = __esm(() => {
|
|
|
488463
488417
|
});
|
|
488464
488418
|
|
|
488465
488419
|
// src/components/plan/PlanProgress.tsx
|
|
488466
|
-
import { TextAttributes as
|
|
488420
|
+
import { TextAttributes as TextAttributes14 } from "@opentui/core";
|
|
488467
488421
|
function PlanProgress({ plan, tasks }) {
|
|
488468
488422
|
const t = useTheme();
|
|
488469
488423
|
const STATUS_COLORS = {
|
|
@@ -488506,7 +488460,7 @@ function PlanProgress({ plan, tasks }) {
|
|
|
488506
488460
|
children: [
|
|
488507
488461
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
488508
488462
|
fg: allDone ? t.success : t.brandAlt,
|
|
488509
|
-
attributes:
|
|
488463
|
+
attributes: TextAttributes14.BOLD,
|
|
488510
488464
|
children: [
|
|
488511
488465
|
icon("plan"),
|
|
488512
488466
|
" ",
|
|
@@ -488543,7 +488497,7 @@ function PlanProgress({ plan, tasks }) {
|
|
|
488543
488497
|
}, undefined, false, undefined, this),
|
|
488544
488498
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
488545
488499
|
fg: step.status === "active" ? t.textPrimary : STATUS_COLORS[step.status],
|
|
488546
|
-
attributes: step.status === "active" ?
|
|
488500
|
+
attributes: step.status === "active" ? TextAttributes14.BOLD : undefined,
|
|
488547
488501
|
children: step.label
|
|
488548
488502
|
}, undefined, false, undefined, this)
|
|
488549
488503
|
]
|
|
@@ -489265,7 +489219,7 @@ var init_ui2 = __esm(() => {
|
|
|
489265
489219
|
});
|
|
489266
489220
|
|
|
489267
489221
|
// src/components/plan/PlanReviewPrompt.tsx
|
|
489268
|
-
import { TextAttributes as
|
|
489222
|
+
import { TextAttributes as TextAttributes15 } from "@opentui/core";
|
|
489269
489223
|
function PlanReviewPrompt({
|
|
489270
489224
|
onAccept,
|
|
489271
489225
|
onClearAndImplement,
|
|
@@ -489360,7 +489314,7 @@ function PlanReviewPrompt({
|
|
|
489360
489314
|
children: [
|
|
489361
489315
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
489362
489316
|
fg: ACCENT,
|
|
489363
|
-
attributes:
|
|
489317
|
+
attributes: TextAttributes15.BOLD,
|
|
489364
489318
|
children: [
|
|
489365
489319
|
icon("plan"),
|
|
489366
489320
|
" ",
|
|
@@ -489523,7 +489477,7 @@ function PlanReviewPrompt({
|
|
|
489523
489477
|
}, undefined, false, undefined, this),
|
|
489524
489478
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
489525
489479
|
fg: selected ? t.textPrimary : t.textSecondary,
|
|
489526
|
-
attributes: selected ?
|
|
489480
|
+
attributes: selected ? TextAttributes15.BOLD : undefined,
|
|
489527
489481
|
children: [
|
|
489528
489482
|
opt.icon,
|
|
489529
489483
|
" ",
|
|
@@ -489559,7 +489513,7 @@ var init_PlanReviewPrompt = __esm(async () => {
|
|
|
489559
489513
|
});
|
|
489560
489514
|
|
|
489561
489515
|
// src/components/QuestionPrompt.tsx
|
|
489562
|
-
import { TextAttributes as
|
|
489516
|
+
import { TextAttributes as TextAttributes16 } from "@opentui/core";
|
|
489563
489517
|
function OptionRow({
|
|
489564
489518
|
label,
|
|
489565
489519
|
isSelected,
|
|
@@ -489573,7 +489527,7 @@ function OptionRow({
|
|
|
489573
489527
|
}, undefined, false, undefined, this),
|
|
489574
489528
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
489575
489529
|
fg: isSelected ? t.textPrimary : t.textSecondary,
|
|
489576
|
-
attributes: isSelected ?
|
|
489530
|
+
attributes: isSelected ? TextAttributes16.BOLD : undefined,
|
|
489577
489531
|
children: label
|
|
489578
489532
|
}, undefined, false, undefined, this)
|
|
489579
489533
|
]
|
|
@@ -489656,7 +489610,7 @@ function QuestionPrompt({ question, isActive, onAnswer }) {
|
|
|
489656
489610
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
489657
489611
|
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
489658
489612
|
fg: t.brand,
|
|
489659
|
-
attributes:
|
|
489613
|
+
attributes: TextAttributes16.BOLD,
|
|
489660
489614
|
children: [
|
|
489661
489615
|
icon("question"),
|
|
489662
489616
|
" Question"
|
|
@@ -489808,7 +489762,7 @@ var init_AnimatedBorder = __esm(() => {
|
|
|
489808
489762
|
});
|
|
489809
489763
|
|
|
489810
489764
|
// src/components/layout/NewFlameLogo.tsx
|
|
489811
|
-
import { fg as fgStyle2, StyledText as StyledText2, TextAttributes as
|
|
489765
|
+
import { fg as fgStyle2, StyledText as StyledText2, TextAttributes as TextAttributes17 } from "@opentui/core";
|
|
489812
489766
|
function heatToCell(h3) {
|
|
489813
489767
|
if (h3 >= 0.9)
|
|
489814
489768
|
return { ch: "#", color: "#fffae8" };
|
|
@@ -490414,12 +490368,12 @@ var init_NewFlameLogo = __esm(() => {
|
|
|
490414
490368
|
"\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D"
|
|
490415
490369
|
];
|
|
490416
490370
|
WM_W = WORDMARK2[0]?.length ?? 0;
|
|
490417
|
-
BOLD12 =
|
|
490371
|
+
BOLD12 = TextAttributes17.BOLD;
|
|
490418
490372
|
WORDMARK_ROWS = WORDMARK2.length;
|
|
490419
490373
|
});
|
|
490420
490374
|
|
|
490421
490375
|
// src/components/layout/LandingPage.tsx
|
|
490422
|
-
import { fg as fgStyle3, StyledText as StyledText3, TextAttributes as
|
|
490376
|
+
import { fg as fgStyle3, StyledText as StyledText3, TextAttributes as TextAttributes18 } from "@opentui/core";
|
|
490423
490377
|
function spawnParticle(cols, rows) {
|
|
490424
490378
|
return {
|
|
490425
490379
|
x: Math.floor(Math.random() * cols),
|
|
@@ -490811,8 +490765,8 @@ var init_LandingPage = __esm(async () => {
|
|
|
490811
490765
|
init_jsx_dev_runtime();
|
|
490812
490766
|
await init_react2();
|
|
490813
490767
|
import_react78 = __toESM(require_react(), 1);
|
|
490814
|
-
BOLD13 =
|
|
490815
|
-
ITALIC4 =
|
|
490768
|
+
BOLD13 = TextAttributes18.BOLD;
|
|
490769
|
+
ITALIC4 = TextAttributes18.ITALIC;
|
|
490816
490770
|
QUIPS = [
|
|
490817
490771
|
"The forge awaits your command.",
|
|
490818
490772
|
"The anvil is warm. What shall we build?",
|
|
@@ -491035,7 +490989,7 @@ var init_LoadingStatus = __esm(() => {
|
|
|
491035
490989
|
});
|
|
491036
490990
|
|
|
491037
490991
|
// src/components/layout/SystemBanner.tsx
|
|
491038
|
-
import { TextAttributes as
|
|
490992
|
+
import { TextAttributes as TextAttributes19 } from "@opentui/core";
|
|
491039
490993
|
function hexToRgb3(hex3) {
|
|
491040
490994
|
const h3 = hex3.replace("#", "");
|
|
491041
490995
|
const n = h3.length === 3 ? h3.split("").map((c) => c + c).join("") : h3;
|
|
@@ -491198,7 +491152,7 @@ function SystemBanner({ messages, expanded = false }) {
|
|
|
491198
491152
|
}, undefined, true, undefined, this),
|
|
491199
491153
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
491200
491154
|
fg: fAccent,
|
|
491201
|
-
attributes:
|
|
491155
|
+
attributes: TextAttributes19.BOLD,
|
|
491202
491156
|
children: err2 ? "Error" : "System"
|
|
491203
491157
|
}, undefined, false, undefined, this),
|
|
491204
491158
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
@@ -491469,7 +491423,7 @@ var init_TerminalList = __esm(() => {
|
|
|
491469
491423
|
// src/components/layout/TabInstance.tsx
|
|
491470
491424
|
import { unlink as unlink3 } from "fs/promises";
|
|
491471
491425
|
import { join as join63 } from "path";
|
|
491472
|
-
import { TextAttributes as
|
|
491426
|
+
import { TextAttributes as TextAttributes20 } from "@opentui/core";
|
|
491473
491427
|
function getScrollbarVisible(tk) {
|
|
491474
491428
|
return {
|
|
491475
491429
|
visible: true,
|
|
@@ -492150,7 +492104,7 @@ var init_TabInstance = __esm(async () => {
|
|
|
492150
492104
|
flexShrink: 0,
|
|
492151
492105
|
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
492152
492106
|
fg: t.error,
|
|
492153
|
-
attributes:
|
|
492107
|
+
attributes: TextAttributes20.BOLD,
|
|
492154
492108
|
children: [
|
|
492155
492109
|
icon("stop"),
|
|
492156
492110
|
" ^X to stop"
|
|
@@ -494559,7 +494513,7 @@ var init_CommandPalette = __esm(async () => {
|
|
|
494559
494513
|
});
|
|
494560
494514
|
|
|
494561
494515
|
// src/components/modals/CommandPicker.tsx
|
|
494562
|
-
import { TextAttributes as
|
|
494516
|
+
import { TextAttributes as TextAttributes21 } from "@opentui/core";
|
|
494563
494517
|
function useListScroll(maxVisible) {
|
|
494564
494518
|
const [cursor, setCursor] = import_react102.useState(0);
|
|
494565
494519
|
const [scrollOffset, setScrollOffset] = import_react102.useState(0);
|
|
@@ -494654,7 +494608,7 @@ function OptionRow2({
|
|
|
494654
494608
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
494655
494609
|
bg,
|
|
494656
494610
|
fg: labelFg,
|
|
494657
|
-
attributes: isActive && !isDisabled ?
|
|
494611
|
+
attributes: isActive && !isDisabled ? TextAttributes21.BOLD : undefined,
|
|
494658
494612
|
children: option2.label
|
|
494659
494613
|
}, undefined, false, undefined, this),
|
|
494660
494614
|
isCurrent && !isDisabled && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -495711,11 +495665,11 @@ var init_data = __esm(() => {
|
|
|
495711
495665
|
});
|
|
495712
495666
|
|
|
495713
495667
|
// src/components/modals/wizard/theme.ts
|
|
495714
|
-
import { TextAttributes as
|
|
495668
|
+
import { TextAttributes as TextAttributes22 } from "@opentui/core";
|
|
495715
495669
|
var BOLD15, ITALIC5;
|
|
495716
495670
|
var init_theme2 = __esm(() => {
|
|
495717
|
-
BOLD15 =
|
|
495718
|
-
ITALIC5 =
|
|
495671
|
+
BOLD15 = TextAttributes22.BOLD;
|
|
495672
|
+
ITALIC5 = TextAttributes22.ITALIC;
|
|
495719
495673
|
});
|
|
495720
495674
|
|
|
495721
495675
|
// src/components/modals/wizard/primitives.tsx
|
|
@@ -496115,7 +496069,7 @@ var init_RemoteStep = __esm(() => {
|
|
|
496115
496069
|
});
|
|
496116
496070
|
|
|
496117
496071
|
// src/components/modals/wizard/steps/SetupStep.tsx
|
|
496118
|
-
import { decodePasteBytes as decodePasteBytes5, TextAttributes as
|
|
496072
|
+
import { decodePasteBytes as decodePasteBytes5, TextAttributes as TextAttributes23 } from "@opentui/core";
|
|
496119
496073
|
function hasKey(id) {
|
|
496120
496074
|
return getSecretSources(id, getDefaultKeyPriority()).active !== "none";
|
|
496121
496075
|
}
|
|
@@ -496602,7 +496556,7 @@ function SetupStep({
|
|
|
496602
496556
|
href: selectedProvider.url,
|
|
496603
496557
|
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
496604
496558
|
fg: t.info,
|
|
496605
|
-
attributes:
|
|
496559
|
+
attributes: TextAttributes23.UNDERLINE,
|
|
496606
496560
|
children: selectedProvider.url.replace("https://", "").replace(/\?.*$/, "")
|
|
496607
496561
|
}, undefined, false, undefined, this)
|
|
496608
496562
|
}, undefined, false, undefined, this)
|
|
@@ -496671,7 +496625,7 @@ function SetupStep({
|
|
|
496671
496625
|
href: GATEWAY_REF,
|
|
496672
496626
|
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
496673
496627
|
fg: t.info,
|
|
496674
|
-
attributes:
|
|
496628
|
+
attributes: TextAttributes23.UNDERLINE,
|
|
496675
496629
|
children: "llmgateway.io"
|
|
496676
496630
|
}, undefined, false, undefined, this)
|
|
496677
496631
|
}, undefined, false, undefined, this),
|
|
@@ -496858,7 +496812,7 @@ var init_ShortcutsStep = __esm(() => {
|
|
|
496858
496812
|
});
|
|
496859
496813
|
|
|
496860
496814
|
// src/components/modals/wizard/steps/ThemeStep.tsx
|
|
496861
|
-
import { TextAttributes as
|
|
496815
|
+
import { TextAttributes as TextAttributes24 } from "@opentui/core";
|
|
496862
496816
|
function opacityToIndex2(opacity) {
|
|
496863
496817
|
const idx = OPACITY_LEVELS2.indexOf(opacity);
|
|
496864
496818
|
return idx >= 0 ? idx : OPACITY_LEVELS2.length - 1;
|
|
@@ -497067,7 +497021,7 @@ function ThemeStep({ iw, setActive }) {
|
|
|
497067
497021
|
isCurrent && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
497068
497022
|
bg,
|
|
497069
497023
|
fg: t.success,
|
|
497070
|
-
attributes:
|
|
497024
|
+
attributes: TextAttributes24.BOLD,
|
|
497071
497025
|
children: " \u2713"
|
|
497072
497026
|
}, undefined, false, undefined, this)
|
|
497073
497027
|
]
|
|
@@ -498784,7 +498738,7 @@ var init_SessionPicker = __esm(async () => {
|
|
|
498784
498738
|
});
|
|
498785
498739
|
|
|
498786
498740
|
// src/components/modals/StatusDashboard.tsx
|
|
498787
|
-
import { TextAttributes as
|
|
498741
|
+
import { TextAttributes as TextAttributes25 } from "@opentui/core";
|
|
498788
498742
|
function fmtTokens(n) {
|
|
498789
498743
|
if (n >= 1e6)
|
|
498790
498744
|
return `${(n / 1e6).toFixed(1)}M`;
|
|
@@ -499990,7 +499944,7 @@ var init_StatusDashboard = __esm(async () => {
|
|
|
499990
499944
|
init_jsx_dev_runtime();
|
|
499991
499945
|
await init_react2();
|
|
499992
499946
|
import_react132 = __toESM(require_react(), 1);
|
|
499993
|
-
BOLD16 =
|
|
499947
|
+
BOLD16 = TextAttributes25.BOLD;
|
|
499994
499948
|
TABS = ["Usage", "Prompt", "Cost", "Tabs", "Dispatch", "System"];
|
|
499995
499949
|
});
|
|
499996
499950
|
|
|
@@ -500833,7 +500787,7 @@ var init_UiDemo = __esm(async () => {
|
|
|
500833
500787
|
});
|
|
500834
500788
|
|
|
500835
500789
|
// src/components/modals/UpdateModal.tsx
|
|
500836
|
-
import { TextAttributes as
|
|
500790
|
+
import { TextAttributes as TextAttributes26 } from "@opentui/core";
|
|
500837
500791
|
function trunc(s2, max) {
|
|
500838
500792
|
return s2.length > max ? `${s2.slice(0, max - 1)}\u2026` : s2;
|
|
500839
500793
|
}
|
|
@@ -501638,9 +501592,9 @@ var init_UpdateModal = __esm(async () => {
|
|
|
501638
501592
|
"The record keeper is away from the anvil",
|
|
501639
501593
|
"The changelog embers have gone cold \u2014 GitHub unreachable"
|
|
501640
501594
|
];
|
|
501641
|
-
BOLD17 =
|
|
501642
|
-
ITALIC6 =
|
|
501643
|
-
DIM6 =
|
|
501595
|
+
BOLD17 = TextAttributes26.BOLD;
|
|
501596
|
+
ITALIC6 = TextAttributes26.ITALIC;
|
|
501597
|
+
DIM6 = TextAttributes26.DIM;
|
|
501644
501598
|
TYPE_BADGE = {
|
|
501645
501599
|
feat: { label: "feat", color: "success" },
|
|
501646
501600
|
fix: { label: "fix", color: "brandSecondary" },
|
|
@@ -501898,7 +501852,7 @@ import { spawn as spawn21 } from "child_process";
|
|
|
501898
501852
|
import { appendFileSync as appendFileSync5, existsSync as existsSync58, readFileSync as readFileSync33, statSync as statSync12, watch as watch3 } from "fs";
|
|
501899
501853
|
import { tmpdir as tmpdir6 } from "os";
|
|
501900
501854
|
import { delimiter as delimiter2, dirname as dirname25, join as join64, resolve as resolve45 } from "path";
|
|
501901
|
-
import { decodePasteBytes as decodePasteBytes6, TextAttributes as
|
|
501855
|
+
import { decodePasteBytes as decodePasteBytes6, TextAttributes as TextAttributes27 } from "@opentui/core";
|
|
501902
501856
|
function surfaceIdFrom(kind, id) {
|
|
501903
501857
|
return `${kind}:${id}`;
|
|
501904
501858
|
}
|
|
@@ -502053,7 +502007,7 @@ function Divider3({ w: w6, label, t }) {
|
|
|
502053
502007
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
502054
502008
|
bg: t.bgPopup,
|
|
502055
502009
|
fg: t.brandAlt,
|
|
502056
|
-
attributes:
|
|
502010
|
+
attributes: TextAttributes27.BOLD,
|
|
502057
502011
|
children: [
|
|
502058
502012
|
" ",
|
|
502059
502013
|
label,
|
|
@@ -502126,7 +502080,7 @@ function FooterHints({
|
|
|
502126
502080
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
502127
502081
|
bg: t.bgPopup,
|
|
502128
502082
|
fg: t.brandAlt,
|
|
502129
|
-
attributes:
|
|
502083
|
+
attributes: TextAttributes27.BOLD,
|
|
502130
502084
|
children: h3.key
|
|
502131
502085
|
}, undefined, false, undefined, this),
|
|
502132
502086
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
@@ -503165,7 +503119,7 @@ function HearthSettings({ visible, onClose }) {
|
|
|
503165
503119
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
503166
503120
|
bg: t.bgPopup,
|
|
503167
503121
|
fg: t.brand,
|
|
503168
|
-
attributes:
|
|
503122
|
+
attributes: TextAttributes27.BOLD,
|
|
503169
503123
|
children: " \u2302 Hearth [experimental]"
|
|
503170
503124
|
}, undefined, false, undefined, this),
|
|
503171
503125
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(VSpacer3, {}, undefined, false, undefined, this),
|
|
@@ -503175,7 +503129,7 @@ function HearthSettings({ visible, onClose }) {
|
|
|
503175
503129
|
return /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
503176
503130
|
bg,
|
|
503177
503131
|
fg: active ? t.brand : t.textPrimary,
|
|
503178
|
-
attributes: active ?
|
|
503132
|
+
attributes: active ? TextAttributes27.BOLD : undefined,
|
|
503179
503133
|
children: [
|
|
503180
503134
|
active ? " \u25B8 " : " ",
|
|
503181
503135
|
icon(TAB_ICON[tk]),
|
|
@@ -503394,7 +503348,7 @@ function renderSurfaces(w6, rows, t, entries2, cursor, status) {
|
|
|
503394
503348
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
503395
503349
|
bg: t.bgPopup,
|
|
503396
503350
|
fg: t.brandAlt,
|
|
503397
|
-
attributes:
|
|
503351
|
+
attributes: TextAttributes27.BOLD,
|
|
503398
503352
|
children: "Surfaces"
|
|
503399
503353
|
}, undefined, false, undefined, this),
|
|
503400
503354
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -503429,7 +503383,7 @@ function renderSurfaces(w6, rows, t, entries2, cursor, status) {
|
|
|
503429
503383
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
503430
503384
|
bg,
|
|
503431
503385
|
fg: t.textPrimary,
|
|
503432
|
-
attributes: isSel ?
|
|
503386
|
+
attributes: isSel ? TextAttributes27.BOLD : undefined,
|
|
503433
503387
|
children: [
|
|
503434
503388
|
" ",
|
|
503435
503389
|
truncateMid(sid, listW - 10)
|
|
@@ -503515,7 +503469,7 @@ function renderSurfaceDetail(w6, t, entry, status) {
|
|
|
503515
503469
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
503516
503470
|
bg: t.bgPopup,
|
|
503517
503471
|
fg: t.brandAlt,
|
|
503518
|
-
attributes:
|
|
503472
|
+
attributes: TextAttributes27.BOLD,
|
|
503519
503473
|
children: sid
|
|
503520
503474
|
}, undefined, false, undefined, this),
|
|
503521
503475
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -503757,7 +503711,7 @@ function renderDaemon(w6, rows, t, config2, status, logs, startupError, service)
|
|
|
503757
503711
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
503758
503712
|
bg: t.bgPopup,
|
|
503759
503713
|
fg: t.brandAlt,
|
|
503760
|
-
attributes:
|
|
503714
|
+
attributes: TextAttributes27.BOLD,
|
|
503761
503715
|
children: "Daemon"
|
|
503762
503716
|
}, undefined, false, undefined, this),
|
|
503763
503717
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -503784,7 +503738,7 @@ function renderDaemon(w6, rows, t, config2, status, logs, startupError, service)
|
|
|
503784
503738
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
503785
503739
|
bg: t.bgPopup,
|
|
503786
503740
|
fg: status.running ? t.success : t.warning,
|
|
503787
|
-
attributes:
|
|
503741
|
+
attributes: TextAttributes27.BOLD,
|
|
503788
503742
|
children: status.running ? "\u25CF RUNNING" : "\u25CB STOPPED"
|
|
503789
503743
|
}, undefined, false, undefined, this),
|
|
503790
503744
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -503878,7 +503832,7 @@ function renderDaemon(w6, rows, t, config2, status, logs, startupError, service)
|
|
|
503878
503832
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
503879
503833
|
bg: t.bgPopup,
|
|
503880
503834
|
fg: t.error,
|
|
503881
|
-
attributes:
|
|
503835
|
+
attributes: TextAttributes27.BOLD,
|
|
503882
503836
|
children: " boot failure"
|
|
503883
503837
|
}, undefined, false, undefined, this),
|
|
503884
503838
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -503979,7 +503933,7 @@ function renderDaemon(w6, rows, t, config2, status, logs, startupError, service)
|
|
|
503979
503933
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
503980
503934
|
bg: t.bgPopup,
|
|
503981
503935
|
fg: service?.installed ? t.success : t.textDim,
|
|
503982
|
-
attributes:
|
|
503936
|
+
attributes: TextAttributes27.BOLD,
|
|
503983
503937
|
children: service?.installed ? service.active ? "active on boot" : "installed (inactive)" : service?.platform === "unsupported" ? "not supported on this OS" : "not installed"
|
|
503984
503938
|
}, undefined, false, undefined, this),
|
|
503985
503939
|
service?.installed && service.unitLabel ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
|
|
@@ -504009,7 +503963,7 @@ function renderDaemon(w6, rows, t, config2, status, logs, startupError, service)
|
|
|
504009
503963
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
504010
503964
|
bg: t.bgPopup,
|
|
504011
503965
|
fg: t.brandAlt,
|
|
504012
|
-
attributes:
|
|
503966
|
+
attributes: TextAttributes27.BOLD,
|
|
504013
503967
|
children: "[s]"
|
|
504014
503968
|
}, undefined, false, undefined, this),
|
|
504015
503969
|
" ",
|
|
@@ -504024,7 +503978,7 @@ function renderDaemon(w6, rows, t, config2, status, logs, startupError, service)
|
|
|
504024
503978
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
504025
503979
|
bg: t.bgPopup,
|
|
504026
503980
|
fg: t.brandAlt,
|
|
504027
|
-
attributes:
|
|
503981
|
+
attributes: TextAttributes27.BOLD,
|
|
504028
503982
|
children: "[b]"
|
|
504029
503983
|
}, undefined, false, undefined, this),
|
|
504030
503984
|
" ",
|
|
@@ -504039,7 +503993,7 @@ function renderDaemon(w6, rows, t, config2, status, logs, startupError, service)
|
|
|
504039
503993
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
504040
503994
|
bg: t.bgPopup,
|
|
504041
503995
|
fg: t.brandAlt,
|
|
504042
|
-
attributes:
|
|
503996
|
+
attributes: TextAttributes27.BOLD,
|
|
504043
503997
|
children: "[r]"
|
|
504044
503998
|
}, undefined, false, undefined, this),
|
|
504045
503999
|
" ",
|
|
@@ -504080,7 +504034,7 @@ function renderPairings(w6, _rows, t, pairings, cursor) {
|
|
|
504080
504034
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
504081
504035
|
bg: t.bgPopup,
|
|
504082
504036
|
fg: t.brandAlt,
|
|
504083
|
-
attributes:
|
|
504037
|
+
attributes: TextAttributes27.BOLD,
|
|
504084
504038
|
children: "Pairings"
|
|
504085
504039
|
}, undefined, false, undefined, this),
|
|
504086
504040
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(VSpacer3, {}, undefined, false, undefined, this),
|
|
@@ -504119,7 +504073,7 @@ function renderPairings(w6, _rows, t, pairings, cursor) {
|
|
|
504119
504073
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
504120
504074
|
bg: t.bgPopup,
|
|
504121
504075
|
fg: t.brandAlt,
|
|
504122
|
-
attributes:
|
|
504076
|
+
attributes: TextAttributes27.BOLD,
|
|
504123
504077
|
children: "Paired chats"
|
|
504124
504078
|
}, undefined, false, undefined, this),
|
|
504125
504079
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -504141,7 +504095,7 @@ function renderPairings(w6, _rows, t, pairings, cursor) {
|
|
|
504141
504095
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
504142
504096
|
bg: t.bgPopup,
|
|
504143
504097
|
fg: t.info,
|
|
504144
|
-
attributes:
|
|
504098
|
+
attributes: TextAttributes27.BOLD,
|
|
504145
504099
|
children: [
|
|
504146
504100
|
" \u25BE ",
|
|
504147
504101
|
sid
|
|
@@ -504189,7 +504143,7 @@ function renderPairings(w6, _rows, t, pairings, cursor) {
|
|
|
504189
504143
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
504190
504144
|
bg: t.bgPopup,
|
|
504191
504145
|
fg: t.brandAlt,
|
|
504192
|
-
attributes:
|
|
504146
|
+
attributes: TextAttributes27.BOLD,
|
|
504193
504147
|
children: selected.sid
|
|
504194
504148
|
}, undefined, false, undefined, this),
|
|
504195
504149
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -504269,7 +504223,7 @@ function renderLogs(w6, rows, t, lines, scroll, autoscroll, filter7, filterFocus
|
|
|
504269
504223
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
504270
504224
|
bg: t.bgPopup,
|
|
504271
504225
|
fg: t.brandAlt,
|
|
504272
|
-
attributes:
|
|
504226
|
+
attributes: TextAttributes27.BOLD,
|
|
504273
504227
|
children: "Logs"
|
|
504274
504228
|
}, undefined, false, undefined, this),
|
|
504275
504229
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -504351,7 +504305,7 @@ function renderAddSurface(_w, _rows, mode, t) {
|
|
|
504351
504305
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
504352
504306
|
bg: t.bgPopup,
|
|
504353
504307
|
fg: t.brandAlt,
|
|
504354
|
-
attributes:
|
|
504308
|
+
attributes: TextAttributes27.BOLD,
|
|
504355
504309
|
children: "Add surface"
|
|
504356
504310
|
}, undefined, false, undefined, this),
|
|
504357
504311
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -504415,7 +504369,7 @@ function renderAddChat(_w, _rows, mode, t) {
|
|
|
504415
504369
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
504416
504370
|
bg: t.bgPopup,
|
|
504417
504371
|
fg: t.brandAlt,
|
|
504418
|
-
attributes:
|
|
504372
|
+
attributes: TextAttributes27.BOLD,
|
|
504419
504373
|
children: "Bind chat"
|
|
504420
504374
|
}, undefined, false, undefined, this),
|
|
504421
504375
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -504472,7 +504426,7 @@ function renderTokenInput(_w, _rows, mode, t) {
|
|
|
504472
504426
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
504473
504427
|
bg: t.bgPopup,
|
|
504474
504428
|
fg: t.brandAlt,
|
|
504475
|
-
attributes:
|
|
504429
|
+
attributes: TextAttributes27.BOLD,
|
|
504476
504430
|
children: "Bot token"
|
|
504477
504431
|
}, undefined, false, undefined, this),
|
|
504478
504432
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -504531,7 +504485,7 @@ function renderPairCode(_w, _rows, mode, t) {
|
|
|
504531
504485
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
504532
504486
|
bg: t.bgPopup,
|
|
504533
504487
|
fg: t.brandAlt,
|
|
504534
|
-
attributes:
|
|
504488
|
+
attributes: TextAttributes27.BOLD,
|
|
504535
504489
|
children: "Pairing code"
|
|
504536
504490
|
}, undefined, false, undefined, this),
|
|
504537
504491
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -504548,7 +504502,7 @@ function renderPairCode(_w, _rows, mode, t) {
|
|
|
504548
504502
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
504549
504503
|
bg: t.bgPopup,
|
|
504550
504504
|
fg: t.brand,
|
|
504551
|
-
attributes:
|
|
504505
|
+
attributes: TextAttributes27.BOLD,
|
|
504552
504506
|
children: [
|
|
504553
504507
|
" ",
|
|
504554
504508
|
mode.code
|
|
@@ -504641,7 +504595,7 @@ function renderPickProvider(_w, _rows, mode, t) {
|
|
|
504641
504595
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
504642
504596
|
bg: t.bgPopup,
|
|
504643
504597
|
fg: t.brandAlt,
|
|
504644
|
-
attributes:
|
|
504598
|
+
attributes: TextAttributes27.BOLD,
|
|
504645
504599
|
children: "Add surface"
|
|
504646
504600
|
}, undefined, false, undefined, this),
|
|
504647
504601
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -504666,7 +504620,7 @@ function renderPickProvider(_w, _rows, mode, t) {
|
|
|
504666
504620
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
504667
504621
|
bg,
|
|
504668
504622
|
fg,
|
|
504669
|
-
attributes: active ?
|
|
504623
|
+
attributes: active ? TextAttributes27.BOLD : undefined,
|
|
504670
504624
|
children: [
|
|
504671
504625
|
active ? "\u25B8 " : " ",
|
|
504672
504626
|
p3.label,
|
|
@@ -504707,7 +504661,7 @@ function renderQuickTelegram(_w, _rows, mode, t) {
|
|
|
504707
504661
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
504708
504662
|
bg: t.bgPopup,
|
|
504709
504663
|
fg: t.brandAlt,
|
|
504710
|
-
attributes:
|
|
504664
|
+
attributes: TextAttributes27.BOLD,
|
|
504711
504665
|
children: "Telegram setup"
|
|
504712
504666
|
}, undefined, false, undefined, this),
|
|
504713
504667
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -504795,7 +504749,7 @@ function renderQuickDiscord(_w, _rows, mode, t) {
|
|
|
504795
504749
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
504796
504750
|
bg: t.bgPopup,
|
|
504797
504751
|
fg: t.brandAlt,
|
|
504798
|
-
attributes:
|
|
504752
|
+
attributes: TextAttributes27.BOLD,
|
|
504799
504753
|
children: "Discord setup"
|
|
504800
504754
|
}, undefined, false, undefined, this),
|
|
504801
504755
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -504844,7 +504798,7 @@ function renderQuickDiscord(_w, _rows, mode, t) {
|
|
|
504844
504798
|
sameChannelUser ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
504845
504799
|
bg: t.bgPopup,
|
|
504846
504800
|
fg: t.error,
|
|
504847
|
-
attributes:
|
|
504801
|
+
attributes: TextAttributes27.BOLD,
|
|
504848
504802
|
children: " \u2715 channel id = user id. Right-click YOUR name, not the channel."
|
|
504849
504803
|
}, undefined, false, undefined, this) : null,
|
|
504850
504804
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(FieldRow, {
|
|
@@ -504889,7 +504843,7 @@ function renderAddAllowed(_w, _rows, mode, t) {
|
|
|
504889
504843
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
504890
504844
|
bg: t.bgPopup,
|
|
504891
504845
|
fg: t.brandAlt,
|
|
504892
|
-
attributes:
|
|
504846
|
+
attributes: TextAttributes27.BOLD,
|
|
504893
504847
|
children: "Allow user"
|
|
504894
504848
|
}, undefined, false, undefined, this),
|
|
504895
504849
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -505701,7 +505655,7 @@ var init_installer = __esm(() => {
|
|
|
505701
505655
|
// src/components/settings/LspInstallSearch.tsx
|
|
505702
505656
|
import { existsSync as existsSync60 } from "fs";
|
|
505703
505657
|
import { join as join66 } from "path";
|
|
505704
|
-
import { TextAttributes as
|
|
505658
|
+
import { TextAttributes as TextAttributes28 } from "@opentui/core";
|
|
505705
505659
|
function methodLabel(status) {
|
|
505706
505660
|
if (status.requiresToolchain && !status.toolchainAvailable) {
|
|
505707
505661
|
return `[requires ${status.requiresToolchain}]`;
|
|
@@ -505800,7 +505754,7 @@ function PackageRow({
|
|
|
505800
505754
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
505801
505755
|
bg,
|
|
505802
505756
|
fg: nameFg,
|
|
505803
|
-
attributes: isActive ?
|
|
505757
|
+
attributes: isActive ? TextAttributes28.BOLD : undefined,
|
|
505804
505758
|
children: status.pkg.name
|
|
505805
505759
|
}, undefined, false, undefined, this),
|
|
505806
505760
|
lang254 ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -506258,7 +506212,7 @@ function LspInstallSearch({
|
|
|
506258
506212
|
backgroundColor: t.bgPopup,
|
|
506259
506213
|
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
506260
506214
|
fg: t.textPrimary,
|
|
506261
|
-
attributes:
|
|
506215
|
+
attributes: TextAttributes28.BOLD,
|
|
506262
506216
|
bg: t.bgPopup,
|
|
506263
506217
|
children: [
|
|
506264
506218
|
disabledServers.includes(pendingToggle.pkg.name) ? "Enable" : "Disable",
|
|
@@ -506301,7 +506255,7 @@ var init_LspInstallSearch = __esm(async () => {
|
|
|
506301
506255
|
});
|
|
506302
506256
|
|
|
506303
506257
|
// src/components/settings/MCPSettings.tsx
|
|
506304
|
-
import { TextAttributes as
|
|
506258
|
+
import { TextAttributes as TextAttributes29 } from "@opentui/core";
|
|
506305
506259
|
function useListScroll2(maxVisible, totalItems) {
|
|
506306
506260
|
const [cursor, setCursor] = import_react146.useState(0);
|
|
506307
506261
|
const [scrollOffset, setScrollOffset] = import_react146.useState(0);
|
|
@@ -506850,7 +506804,7 @@ function MCPSettings({
|
|
|
506850
506804
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
506851
506805
|
bg: t.bgPopup,
|
|
506852
506806
|
fg: t.brandAlt,
|
|
506853
|
-
attributes:
|
|
506807
|
+
attributes: TextAttributes29.BOLD,
|
|
506854
506808
|
children: " P"
|
|
506855
506809
|
}, undefined, false, undefined, this),
|
|
506856
506810
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -506861,7 +506815,7 @@ function MCPSettings({
|
|
|
506861
506815
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
506862
506816
|
bg: t.bgPopup,
|
|
506863
506817
|
fg: t.textMuted,
|
|
506864
|
-
attributes:
|
|
506818
|
+
attributes: TextAttributes29.BOLD,
|
|
506865
506819
|
children: "G"
|
|
506866
506820
|
}, undefined, false, undefined, this),
|
|
506867
506821
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -506916,7 +506870,7 @@ function ServerDetail({
|
|
|
506916
506870
|
}, undefined, false, undefined, this),
|
|
506917
506871
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
506918
506872
|
fg: t.textPrimary,
|
|
506919
|
-
attributes:
|
|
506873
|
+
attributes: TextAttributes29.BOLD,
|
|
506920
506874
|
bg: t.bgPopup,
|
|
506921
506875
|
children: config2.name
|
|
506922
506876
|
}, undefined, false, undefined, this),
|
|
@@ -507001,7 +506955,7 @@ function ServerDetail({
|
|
|
507001
506955
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
507002
506956
|
bg: t.bgPopup,
|
|
507003
506957
|
fg: t.error,
|
|
507004
|
-
attributes:
|
|
506958
|
+
attributes: TextAttributes29.BOLD,
|
|
507005
506959
|
children: [
|
|
507006
506960
|
" ",
|
|
507007
506961
|
icon("error"),
|
|
@@ -507207,7 +507161,7 @@ function FormBody({
|
|
|
507207
507161
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
507208
507162
|
bg,
|
|
507209
507163
|
fg: active ? t.brand : t.textMuted,
|
|
507210
|
-
attributes: active ?
|
|
507164
|
+
attributes: active ? TextAttributes29.BOLD : undefined,
|
|
507211
507165
|
children: LABEL[field].padEnd(12)
|
|
507212
507166
|
}, undefined, false, undefined, this),
|
|
507213
507167
|
!active && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -507345,7 +507299,7 @@ var init_MCPSettings = __esm(async () => {
|
|
|
507345
507299
|
}, undefined, false, undefined, this),
|
|
507346
507300
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
507347
507301
|
fg: t.success,
|
|
507348
|
-
attributes:
|
|
507302
|
+
attributes: TextAttributes29.BOLD,
|
|
507349
507303
|
children: "ctrl+a"
|
|
507350
507304
|
}, undefined, false, undefined, this),
|
|
507351
507305
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
@@ -507387,7 +507341,7 @@ var init_MCPSettings = __esm(async () => {
|
|
|
507387
507341
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
507388
507342
|
bg,
|
|
507389
507343
|
fg: scopeCol,
|
|
507390
|
-
attributes:
|
|
507344
|
+
attributes: TextAttributes29.BOLD,
|
|
507391
507345
|
children: scopeBadge
|
|
507392
507346
|
}, undefined, false, undefined, this),
|
|
507393
507347
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -507410,7 +507364,7 @@ var init_MCPSettings = __esm(async () => {
|
|
|
507410
507364
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
507411
507365
|
bg,
|
|
507412
507366
|
fg: isSelected ? "white" : t.textPrimary,
|
|
507413
|
-
attributes:
|
|
507367
|
+
attributes: TextAttributes29.BOLD,
|
|
507414
507368
|
children: config2.name
|
|
507415
507369
|
}, undefined, false, undefined, this),
|
|
507416
507370
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -507477,7 +507431,7 @@ var init_MCPSettings = __esm(async () => {
|
|
|
507477
507431
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
507478
507432
|
bg: deleteChoice === "no" ? t.bgPopupHighlight : bg,
|
|
507479
507433
|
fg: deleteChoice === "no" ? "white" : t.textDim,
|
|
507480
|
-
attributes: deleteChoice === "no" ?
|
|
507434
|
+
attributes: deleteChoice === "no" ? TextAttributes29.BOLD : undefined,
|
|
507481
507435
|
children: deleteChoice === "no" ? " \u25B8 No " : " No "
|
|
507482
507436
|
}, undefined, false, undefined, this),
|
|
507483
507437
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -507488,7 +507442,7 @@ var init_MCPSettings = __esm(async () => {
|
|
|
507488
507442
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
507489
507443
|
bg: deleteChoice === "yes" ? t.bgPopupHighlight : bg,
|
|
507490
507444
|
fg: deleteChoice === "yes" ? t.error : t.textDim,
|
|
507491
|
-
attributes: deleteChoice === "yes" ?
|
|
507445
|
+
attributes: deleteChoice === "yes" ? TextAttributes29.BOLD : undefined,
|
|
507492
507446
|
children: deleteChoice === "yes" ? " \u25B8 Yes " : " Yes "
|
|
507493
507447
|
}, undefined, false, undefined, this)
|
|
507494
507448
|
]
|
|
@@ -507593,7 +507547,7 @@ var init_MCPSettings = __esm(async () => {
|
|
|
507593
507547
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
507594
507548
|
bg,
|
|
507595
507549
|
fg: sel ? "white" : t.info,
|
|
507596
|
-
attributes:
|
|
507550
|
+
attributes: TextAttributes29.BOLD,
|
|
507597
507551
|
children: tool4.name
|
|
507598
507552
|
}, undefined, false, undefined, this)
|
|
507599
507553
|
]
|
|
@@ -508821,6 +508775,7 @@ function RepoMapStatusPopup({
|
|
|
508821
508775
|
const stateRef = import_react152.useRef(useRepoMapStore.getState());
|
|
508822
508776
|
const [, setRenderTick] = import_react152.useState(0);
|
|
508823
508777
|
const spinnerRef = import_react152.useRef(0);
|
|
508778
|
+
const bodyScrollRef = import_react152.useRef(null);
|
|
508824
508779
|
const initialMode = currentMode ?? "off";
|
|
508825
508780
|
const initialLimit = currentLimit ?? 300;
|
|
508826
508781
|
const [selectedMode, setSelectedMode] = import_react152.useState(initialMode);
|
|
@@ -508863,6 +508818,15 @@ function RepoMapStatusPopup({
|
|
|
508863
508818
|
}, 150);
|
|
508864
508819
|
return () => clearInterval(timer);
|
|
508865
508820
|
}, [visible]);
|
|
508821
|
+
import_react152.useEffect(() => {
|
|
508822
|
+
if (!visible)
|
|
508823
|
+
return;
|
|
508824
|
+
const sb = bodyScrollRef.current;
|
|
508825
|
+
if (!sb)
|
|
508826
|
+
return;
|
|
508827
|
+
const id = focusRow === 2 /* Budget */ ? "repomap-budget" : "repomap-semantic";
|
|
508828
|
+
queueMicrotask(() => sb.scrollChildIntoView(id));
|
|
508829
|
+
}, [visible, focusRow]);
|
|
508866
508830
|
const hasConfig = onApply !== undefined;
|
|
508867
508831
|
const isModified = selectedMode !== (currentMode ?? "off") || selectedLimit !== (currentLimit ?? 300) || selectedAutoRegen !== (currentAutoRegen ?? false) || selectedTokenBudget !== currentTokenBudget || selectedScope !== (currentScope ?? "project");
|
|
508868
508832
|
useKeyboard((evt) => {
|
|
@@ -509049,6 +509013,7 @@ function RepoMapStatusPopup({
|
|
|
509049
509013
|
];
|
|
509050
509014
|
const showLimitRow = selectedMode === "llm" || selectedMode === "full";
|
|
509051
509015
|
const popupH = Math.min(Math.max(18, Math.floor(termRows * 0.85)), termRows - 2);
|
|
509016
|
+
const bodyH = Math.max(4, popupH - 7);
|
|
509052
509017
|
const headerBlurb = hasConfig ? `Soul Map \xB7 ${selectedScope}${isModified ? " (modified)" : ""}` : `Soul Map \xB7 ${status}`;
|
|
509053
509018
|
const footerHints = hasConfig ? [
|
|
509054
509019
|
{ key: "\u2191\u2193", label: "focus" },
|
|
@@ -509072,8 +509037,10 @@ function RepoMapStatusPopup({
|
|
|
509072
509037
|
titleIcon: "repomap",
|
|
509073
509038
|
blurb: headerBlurb,
|
|
509074
509039
|
footerHints,
|
|
509075
|
-
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("
|
|
509076
|
-
|
|
509040
|
+
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("scrollbox", {
|
|
509041
|
+
ref: bodyScrollRef,
|
|
509042
|
+
height: bodyH,
|
|
509043
|
+
scrollAcceleration: listScrollAccel,
|
|
509077
509044
|
paddingX: 1,
|
|
509078
509045
|
children: [
|
|
509079
509046
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(VSpacer, {}, undefined, false, undefined, this),
|
|
@@ -509133,94 +509100,106 @@ function RepoMapStatusPopup({
|
|
|
509133
509100
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Divider, {
|
|
509134
509101
|
width: innerW - 2
|
|
509135
509102
|
}, undefined, false, undefined, this),
|
|
509136
|
-
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(
|
|
509137
|
-
|
|
509103
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
509104
|
+
id: "repomap-semantic",
|
|
509105
|
+
flexDirection: "column",
|
|
509106
|
+
backgroundColor: t.bgPopup,
|
|
509107
|
+
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Section, {
|
|
509108
|
+
title: "Semantic Summaries",
|
|
509109
|
+
children: [
|
|
509110
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(SegmentedControl, {
|
|
509111
|
+
label: "Mode",
|
|
509112
|
+
options: SEMANTIC_MODES.map((m5) => ({ value: m5, label: MODE_LABELS2[m5] })),
|
|
509113
|
+
value: selectedMode,
|
|
509114
|
+
focused: focusRow === 0 /* Mode */
|
|
509115
|
+
}, undefined, false, undefined, this),
|
|
509116
|
+
showLimitRow ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
|
|
509117
|
+
children: [
|
|
509118
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(SegmentedControl, {
|
|
509119
|
+
label: "LLM Limit",
|
|
509120
|
+
options: LLM_LIMIT_PRESETS.map((v4) => ({ value: v4, label: String(v4) })),
|
|
509121
|
+
value: selectedLimit,
|
|
509122
|
+
focused: focusRow === 1 /* Limit */,
|
|
509123
|
+
suffix: "symbols"
|
|
509124
|
+
}, undefined, false, undefined, this),
|
|
509125
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Toggle, {
|
|
509126
|
+
label: "Auto-regen [A]",
|
|
509127
|
+
description: "costs tokens on each file change",
|
|
509128
|
+
on: selectedAutoRegen
|
|
509129
|
+
}, undefined, false, undefined, this)
|
|
509130
|
+
]
|
|
509131
|
+
}, undefined, true, undefined, this) : null,
|
|
509132
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Hint, {
|
|
509133
|
+
children: [
|
|
509134
|
+
selectedMode,
|
|
509135
|
+
" \u2014 ",
|
|
509136
|
+
MODE_DESCRIPTIONS[selectedMode]
|
|
509137
|
+
]
|
|
509138
|
+
}, undefined, true, undefined, this),
|
|
509139
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(VSpacer, {}, undefined, false, undefined, this),
|
|
509140
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
509141
|
+
flexDirection: "row",
|
|
509142
|
+
paddingX: 1,
|
|
509143
|
+
backgroundColor: t.bgPopup,
|
|
509144
|
+
children: [
|
|
509145
|
+
onRegenerate ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(KeyCap, {
|
|
509146
|
+
keyName: "G",
|
|
509147
|
+
label: "regenerate",
|
|
509148
|
+
accent: t.info
|
|
509149
|
+
}, undefined, false, undefined, this) : null,
|
|
509150
|
+
onRegenerate && onClearSummaries ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
509151
|
+
bg: t.bgPopup,
|
|
509152
|
+
children: " "
|
|
509153
|
+
}, undefined, false, undefined, this) : null,
|
|
509154
|
+
onClearSummaries ? confirmClear ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(KeyCap, {
|
|
509155
|
+
keyName: "C",
|
|
509156
|
+
label: "CONFIRM clear (preserves LLM)",
|
|
509157
|
+
accent: t.brandSecondary
|
|
509158
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(KeyCap, {
|
|
509159
|
+
keyName: "C",
|
|
509160
|
+
label: "clear summaries",
|
|
509161
|
+
accent: t.warning
|
|
509162
|
+
}, undefined, false, undefined, this) : null,
|
|
509163
|
+
onLspEnrich ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
509164
|
+
bg: t.bgPopup,
|
|
509165
|
+
children: " "
|
|
509166
|
+
}, undefined, false, undefined, this) : null,
|
|
509167
|
+
onLspEnrich ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(KeyCap, {
|
|
509168
|
+
keyName: "L",
|
|
509169
|
+
label: "lsp enrich",
|
|
509170
|
+
accent: t.success
|
|
509171
|
+
}, undefined, false, undefined, this) : null
|
|
509172
|
+
]
|
|
509173
|
+
}, undefined, true, undefined, this)
|
|
509174
|
+
]
|
|
509175
|
+
}, undefined, true, undefined, this)
|
|
509176
|
+
}, undefined, false, undefined, this),
|
|
509177
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
509178
|
+
id: "repomap-budget",
|
|
509179
|
+
flexDirection: "column",
|
|
509180
|
+
backgroundColor: t.bgPopup,
|
|
509138
509181
|
children: [
|
|
509139
|
-
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(
|
|
509140
|
-
|
|
509141
|
-
options: SEMANTIC_MODES.map((m5) => ({ value: m5, label: MODE_LABELS2[m5] })),
|
|
509142
|
-
value: selectedMode,
|
|
509143
|
-
focused: focusRow === 0 /* Mode */
|
|
509182
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Divider, {
|
|
509183
|
+
width: innerW - 2
|
|
509144
509184
|
}, undefined, false, undefined, this),
|
|
509145
|
-
|
|
509185
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Section, {
|
|
509186
|
+
title: "Map Token Budget",
|
|
509146
509187
|
children: [
|
|
509147
509188
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(SegmentedControl, {
|
|
509148
|
-
label: "
|
|
509149
|
-
options:
|
|
509150
|
-
|
|
509151
|
-
|
|
509152
|
-
|
|
509189
|
+
label: "Budget",
|
|
509190
|
+
options: budgetChips.map((c) => ({
|
|
509191
|
+
value: c.value ?? "auto",
|
|
509192
|
+
label: c.label
|
|
509193
|
+
})),
|
|
509194
|
+
value: selectedTokenBudget ?? "auto",
|
|
509195
|
+
focused: focusRow === 2 /* Budget */
|
|
509153
509196
|
}, undefined, false, undefined, this),
|
|
509154
|
-
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(
|
|
509155
|
-
|
|
509156
|
-
description: "costs tokens on each file change",
|
|
509157
|
-
on: selectedAutoRegen
|
|
509197
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Hint, {
|
|
509198
|
+
children: selectedTokenBudget === undefined ? "scales with conversation length (1.5k\u20134k)" : `fixed ${String(selectedTokenBudget / 1000)}k tokens \u2014 more files visible, higher prompt cost`
|
|
509158
509199
|
}, undefined, false, undefined, this)
|
|
509159
509200
|
]
|
|
509160
|
-
}, undefined, true, undefined, this) : null,
|
|
509161
|
-
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Hint, {
|
|
509162
|
-
children: [
|
|
509163
|
-
selectedMode,
|
|
509164
|
-
" \u2014 ",
|
|
509165
|
-
MODE_DESCRIPTIONS[selectedMode]
|
|
509166
|
-
]
|
|
509167
|
-
}, undefined, true, undefined, this),
|
|
509168
|
-
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(VSpacer, {}, undefined, false, undefined, this),
|
|
509169
|
-
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
509170
|
-
flexDirection: "row",
|
|
509171
|
-
paddingX: 1,
|
|
509172
|
-
backgroundColor: t.bgPopup,
|
|
509173
|
-
children: [
|
|
509174
|
-
onRegenerate ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(KeyCap, {
|
|
509175
|
-
keyName: "G",
|
|
509176
|
-
label: "regenerate",
|
|
509177
|
-
accent: t.info
|
|
509178
|
-
}, undefined, false, undefined, this) : null,
|
|
509179
|
-
onRegenerate && onClearSummaries ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
509180
|
-
bg: t.bgPopup,
|
|
509181
|
-
children: " "
|
|
509182
|
-
}, undefined, false, undefined, this) : null,
|
|
509183
|
-
onClearSummaries ? confirmClear ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(KeyCap, {
|
|
509184
|
-
keyName: "C",
|
|
509185
|
-
label: "CONFIRM clear (preserves LLM)",
|
|
509186
|
-
accent: t.brandSecondary
|
|
509187
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(KeyCap, {
|
|
509188
|
-
keyName: "C",
|
|
509189
|
-
label: "clear summaries",
|
|
509190
|
-
accent: t.warning
|
|
509191
|
-
}, undefined, false, undefined, this) : null,
|
|
509192
|
-
onLspEnrich ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
509193
|
-
bg: t.bgPopup,
|
|
509194
|
-
children: " "
|
|
509195
|
-
}, undefined, false, undefined, this) : null,
|
|
509196
|
-
onLspEnrich ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(KeyCap, {
|
|
509197
|
-
keyName: "L",
|
|
509198
|
-
label: "lsp enrich",
|
|
509199
|
-
accent: t.success
|
|
509200
|
-
}, undefined, false, undefined, this) : null
|
|
509201
|
-
]
|
|
509202
509201
|
}, undefined, true, undefined, this)
|
|
509203
509202
|
]
|
|
509204
|
-
}, undefined, true, undefined, this),
|
|
509205
|
-
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Divider, {
|
|
509206
|
-
width: innerW - 2
|
|
509207
|
-
}, undefined, false, undefined, this),
|
|
509208
|
-
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Section, {
|
|
509209
|
-
title: "Map Token Budget",
|
|
509210
|
-
children: [
|
|
509211
|
-
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(SegmentedControl, {
|
|
509212
|
-
label: "Budget",
|
|
509213
|
-
options: budgetChips.map((c) => ({
|
|
509214
|
-
value: c.value ?? "auto",
|
|
509215
|
-
label: c.label
|
|
509216
|
-
})),
|
|
509217
|
-
value: selectedTokenBudget ?? "auto",
|
|
509218
|
-
focused: focusRow === 2 /* Budget */
|
|
509219
|
-
}, undefined, false, undefined, this),
|
|
509220
|
-
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Hint, {
|
|
509221
|
-
children: selectedTokenBudget === undefined ? "scales with conversation length (1.5k\u20134k)" : `fixed ${String(selectedTokenBudget / 1000)}k tokens \u2014 more files visible, higher prompt cost`
|
|
509222
|
-
}, undefined, false, undefined, this)
|
|
509223
|
-
]
|
|
509224
509203
|
}, undefined, true, undefined, this)
|
|
509225
509204
|
]
|
|
509226
509205
|
}, undefined, true, undefined, this)
|
|
@@ -509234,6 +509213,7 @@ var init_RepoMapStatusPopup = __esm(async () => {
|
|
|
509234
509213
|
init_repomap();
|
|
509235
509214
|
init_shared();
|
|
509236
509215
|
init_ui2();
|
|
509216
|
+
init_scroll();
|
|
509237
509217
|
init_jsx_dev_runtime();
|
|
509238
509218
|
await init_react2();
|
|
509239
509219
|
import_react152 = __toESM(require_react(), 1);
|
|
@@ -509661,7 +509641,7 @@ var init_RouterSettings = __esm(async () => {
|
|
|
509661
509641
|
// src/components/settings/SkillSearch.tsx
|
|
509662
509642
|
import { existsSync as existsSync61 } from "fs";
|
|
509663
509643
|
import { join as join67 } from "path";
|
|
509664
|
-
import { TextAttributes as
|
|
509644
|
+
import { TextAttributes as TextAttributes30 } from "@opentui/core";
|
|
509665
509645
|
function SearchSkillRow({
|
|
509666
509646
|
skill,
|
|
509667
509647
|
isSelected,
|
|
@@ -509683,18 +509663,18 @@ function SearchSkillRow({
|
|
|
509683
509663
|
isLoaded ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
509684
509664
|
bg,
|
|
509685
509665
|
fg: t.info,
|
|
509686
|
-
attributes:
|
|
509666
|
+
attributes: TextAttributes30.BOLD,
|
|
509687
509667
|
children: "\u25CF "
|
|
509688
509668
|
}, undefined, false, undefined, this) : isInstalled ? /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
509689
509669
|
bg,
|
|
509690
509670
|
fg: t.success,
|
|
509691
|
-
attributes:
|
|
509671
|
+
attributes: TextAttributes30.BOLD,
|
|
509692
509672
|
children: "\u2713 "
|
|
509693
509673
|
}, undefined, false, undefined, this) : null,
|
|
509694
509674
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
509695
509675
|
bg,
|
|
509696
509676
|
fg: isSelected ? t.brand : t.textSecondary,
|
|
509697
|
-
attributes: isSelected ?
|
|
509677
|
+
attributes: isSelected ? TextAttributes30.BOLD : undefined,
|
|
509698
509678
|
children: skill.skillId
|
|
509699
509679
|
}, undefined, false, undefined, this),
|
|
509700
509680
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -509737,7 +509717,7 @@ function InstalledSkillRow({
|
|
|
509737
509717
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
509738
509718
|
bg,
|
|
509739
509719
|
fg: isSelected ? t.brand : t.textSecondary,
|
|
509740
|
-
attributes: isSelected ?
|
|
509720
|
+
attributes: isSelected ? TextAttributes30.BOLD : undefined,
|
|
509741
509721
|
children: skill.name
|
|
509742
509722
|
}, undefined, false, undefined, this),
|
|
509743
509723
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -509751,7 +509731,7 @@ function InstalledSkillRow({
|
|
|
509751
509731
|
isLoaded && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
509752
509732
|
bg,
|
|
509753
509733
|
fg: t.info,
|
|
509754
|
-
attributes:
|
|
509734
|
+
attributes: TextAttributes30.BOLD,
|
|
509755
509735
|
children: [
|
|
509756
509736
|
" ",
|
|
509757
509737
|
"\u25CF"
|
|
@@ -509779,13 +509759,13 @@ function ActiveSkillRow({
|
|
|
509779
509759
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
509780
509760
|
bg,
|
|
509781
509761
|
fg: t.info,
|
|
509782
|
-
attributes:
|
|
509762
|
+
attributes: TextAttributes30.BOLD,
|
|
509783
509763
|
children: "\u25CF "
|
|
509784
509764
|
}, undefined, false, undefined, this),
|
|
509785
509765
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
509786
509766
|
bg,
|
|
509787
509767
|
fg: isSelected ? t.brand : t.textPrimary,
|
|
509788
|
-
attributes: isSelected ?
|
|
509768
|
+
attributes: isSelected ? TextAttributes30.BOLD : undefined,
|
|
509789
509769
|
children: name39
|
|
509790
509770
|
}, undefined, false, undefined, this)
|
|
509791
509771
|
]
|
|
@@ -510120,7 +510100,7 @@ function SkillSearch({ visible, contextManager, onClose, onSystemMessage }) {
|
|
|
510120
510100
|
backgroundColor: popupBg,
|
|
510121
510101
|
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
510122
510102
|
fg: t.textPrimary,
|
|
510123
|
-
attributes:
|
|
510103
|
+
attributes: TextAttributes30.BOLD,
|
|
510124
510104
|
bg: popupBg,
|
|
510125
510105
|
children: [
|
|
510126
510106
|
'Install "',
|
|
@@ -511160,7 +511140,7 @@ __export(exports_App, {
|
|
|
511160
511140
|
App: () => App
|
|
511161
511141
|
});
|
|
511162
511142
|
import { join as join69 } from "path";
|
|
511163
|
-
import { TextAttributes as
|
|
511143
|
+
import { TextAttributes as TextAttributes31 } from "@opentui/core";
|
|
511164
511144
|
function truncate5(str, max) {
|
|
511165
511145
|
return str.length > max ? `${str.slice(0, max - 1)}\u2026` : str;
|
|
511166
511146
|
}
|
|
@@ -511245,7 +511225,7 @@ function ShutdownSplash({
|
|
|
511245
511225
|
alignItems: "center",
|
|
511246
511226
|
children: [
|
|
511247
511227
|
wordmark.map((line2, idx) => /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
511248
|
-
attributes:
|
|
511228
|
+
attributes: TextAttributes31.BOLD,
|
|
511249
511229
|
children: renderRow(line2)
|
|
511250
511230
|
}, idx, false, undefined, this)),
|
|
511251
511231
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
@@ -512379,7 +512359,7 @@ function App({
|
|
|
512379
512359
|
children: [
|
|
512380
512360
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
512381
512361
|
fg: t.brand,
|
|
512382
|
-
attributes:
|
|
512362
|
+
attributes: TextAttributes31.BOLD,
|
|
512383
512363
|
children: [
|
|
512384
512364
|
icon("ghost"),
|
|
512385
512365
|
" SoulForge"
|
|
@@ -512485,7 +512465,7 @@ function App({
|
|
|
512485
512465
|
}, undefined, false, undefined, this),
|
|
512486
512466
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
512487
512467
|
fg: modeColor,
|
|
512488
|
-
attributes:
|
|
512468
|
+
attributes: TextAttributes31.BOLD,
|
|
512489
512469
|
children: [
|
|
512490
512470
|
"[",
|
|
512491
512471
|
modeLabel,
|