@proxysoul/soulforge 1.3.8 → 1.5.0
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 +1673 -1216
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -57814,7 +57814,7 @@ var package_default;
|
|
|
57814
57814
|
var init_package = __esm(() => {
|
|
57815
57815
|
package_default = {
|
|
57816
57816
|
name: "@proxysoul/soulforge",
|
|
57817
|
-
version: "1.
|
|
57817
|
+
version: "1.5.0",
|
|
57818
57818
|
description: "Graph-powered code intelligence \u2014 multi-agent coding with codebase-aware AI",
|
|
57819
57819
|
repository: {
|
|
57820
57820
|
type: "git",
|
|
@@ -62243,7 +62243,6 @@ function markToolWrite(filePath) {
|
|
|
62243
62243
|
async function readBufferContent(filePath) {
|
|
62244
62244
|
const toolWriteTime = recentToolWrites.get(filePath);
|
|
62245
62245
|
if (toolWriteTime && Date.now() - toolWriteTime < TOOL_WRITE_FRESHNESS_MS) {
|
|
62246
|
-
recentToolWrites.delete(filePath);
|
|
62247
62246
|
return readFile3(filePath, "utf-8");
|
|
62248
62247
|
}
|
|
62249
62248
|
inflight++;
|
|
@@ -317553,7 +317552,7 @@ function buildRichEditError(content, oldStr, lineHint) {
|
|
|
317553
317552
|
const escapeHint = backslashDensity > 0.05 ? `
|
|
317554
317553
|
[Escape-heavy content detected \u2014 use lineStart for line-based replacement, or use editor(action: edit, startLine, endLine, replacement)]` : "";
|
|
317555
317554
|
return {
|
|
317556
|
-
output: `old_string not found in file
|
|
317555
|
+
output: `old_string not found in file. Current content at that region:
|
|
317557
317556
|
${snippet}${escapeHint}`
|
|
317558
317557
|
};
|
|
317559
317558
|
}
|
|
@@ -317713,7 +317712,7 @@ var init_edit_file = __esm(() => {
|
|
|
317713
317712
|
init_file_events();
|
|
317714
317713
|
editFileTool = {
|
|
317715
317714
|
name: "edit_file",
|
|
317716
|
-
description: "[TIER-1] Edit a file by replacing content. Read first, then provide path, oldString, newString. " + "
|
|
317715
|
+
description: "[TIER-1] Edit a file by replacing content. Read first, then provide path, oldString, newString. " + "Provide lineStart (1-indexed from read_file output) for reliable line-anchored matching \u2014 " + "the range is derived from oldString line count. Without lineStart, falls back to string matching (fails if ambiguous). Empty oldString creates a new file. Use multi_edit for multiple changes to the same file. Edits are applied immediately.",
|
|
317717
317716
|
execute: async (args2) => {
|
|
317718
317717
|
try {
|
|
317719
317718
|
const filePath = resolve13(args2.path);
|
|
@@ -334637,7 +334636,7 @@ var init_multi_edit = __esm(() => {
|
|
|
334637
334636
|
init_file_events();
|
|
334638
334637
|
multiEditTool = {
|
|
334639
334638
|
name: "multi_edit",
|
|
334640
|
-
description: "Apply multiple edits to a single file atomically. All-or-nothing
|
|
334639
|
+
description: "Apply multiple edits to a single file atomically. All-or-nothing: if any edit fails, ZERO edits are applied. " + "lineStart values reference the ORIGINAL file (pre-edit) \u2014 the tool tracks cumulative line offsets internally. " + "Provide lineStart (1-indexed) for reliable line-anchored matching. Without it, falls back to string matching against evolved content. " + "The range is derived from oldString line count.",
|
|
334641
334640
|
execute: async (args2) => {
|
|
334642
334641
|
try {
|
|
334643
334642
|
const filePath = resolve19(args2.path);
|
|
@@ -334681,7 +334680,6 @@ var init_multi_edit = __esm(() => {
|
|
|
334681
334680
|
return a.lineStart - b.lineStart;
|
|
334682
334681
|
});
|
|
334683
334682
|
let lineOffset = 0;
|
|
334684
|
-
const warnings = [];
|
|
334685
334683
|
for (let i2 = 0;i2 < sortedEdits.length; i2++) {
|
|
334686
334684
|
const edit = sortedEdits[i2];
|
|
334687
334685
|
if (!edit)
|
|
@@ -334728,21 +334726,21 @@ var init_multi_edit = __esm(() => {
|
|
|
334728
334726
|
`);
|
|
334729
334727
|
return {
|
|
334730
334728
|
success: false,
|
|
334731
|
-
output: `Edit ${String(i2 + 1)}: oldString does not match lines ${String(edit.lineStart)}-${String((edit.lineStart ?? 0) + oldLineCount - 1)}. Actual content:
|
|
334729
|
+
output: `Edit ${String(i2 + 1)}/${String(args2.edits.length)} failed: oldString does not match lines ${String(edit.lineStart)}-${String((edit.lineStart ?? 0) + oldLineCount - 1)}. NO edits were applied (atomic rollback). Actual content at that range:
|
|
334732
334730
|
${rangeSnippet}
|
|
334733
|
-
Re-read the file and retry
|
|
334734
|
-
error: `edit ${String(i2 + 1)}: oldString mismatch at line range`
|
|
334731
|
+
Re-read the file and retry ALL edits.`,
|
|
334732
|
+
error: `edit ${String(i2 + 1)}: oldString mismatch at line range (0 edits applied)`
|
|
334735
334733
|
};
|
|
334736
334734
|
}
|
|
334737
334735
|
}
|
|
334738
334736
|
if (content.includes(edit.oldString)) {
|
|
334739
334737
|
const occurrences = content.split(edit.oldString).length - 1;
|
|
334740
334738
|
if (occurrences > 1) {
|
|
334741
|
-
const msg = `${label}: found ${String(occurrences)} matches. Provide lineStart to disambiguate.`;
|
|
334739
|
+
const msg = `${label}: found ${String(occurrences)} matches. Provide lineStart to disambiguate. NO edits were applied (atomic rollback).`;
|
|
334742
334740
|
return {
|
|
334743
334741
|
success: false,
|
|
334744
334742
|
output: msg,
|
|
334745
|
-
error:
|
|
334743
|
+
error: `${label}: ambiguous match (0 edits applied)`
|
|
334746
334744
|
};
|
|
334747
334745
|
}
|
|
334748
334746
|
const idx = content.indexOf(edit.oldString);
|
|
@@ -334767,8 +334765,9 @@ Re-read the file and retry with the correct content.`,
|
|
|
334767
334765
|
const err2 = buildRichEditError(content, edit.oldString, adjustedLineStart);
|
|
334768
334766
|
return {
|
|
334769
334767
|
success: false,
|
|
334770
|
-
output: `${label} failed: ${err2.output}
|
|
334771
|
-
|
|
334768
|
+
output: `${label} failed: ${err2.output}
|
|
334769
|
+
NO edits were applied (atomic rollback). Re-read the file and retry ALL edits.`,
|
|
334770
|
+
error: `edit ${String(i2 + 1)} failed (0 edits applied)`
|
|
334772
334771
|
};
|
|
334773
334772
|
}
|
|
334774
334773
|
const beforeMetrics = analyzeFile(originalContent);
|
|
@@ -334794,11 +334793,11 @@ Re-read the file and retry with the correct content.`,
|
|
|
334794
334793
|
}).catch(() => null);
|
|
334795
334794
|
const currentOnDisk = await readFile13(filePath, "utf-8");
|
|
334796
334795
|
if (currentOnDisk !== originalContent) {
|
|
334797
|
-
const msg = "File was modified concurrently since last read. Re-read and retry.";
|
|
334796
|
+
const msg = "File was modified concurrently since last read. NO edits were applied (atomic rollback). Re-read and retry ALL edits.";
|
|
334798
334797
|
return {
|
|
334799
334798
|
success: false,
|
|
334800
334799
|
output: msg,
|
|
334801
|
-
error: "concurrent modification"
|
|
334800
|
+
error: "concurrent modification (0 edits applied)"
|
|
334802
334801
|
};
|
|
334803
334802
|
}
|
|
334804
334803
|
pushEdit(filePath, originalContent, content, args2.tabId);
|
|
@@ -334818,10 +334817,6 @@ Re-read the file and retry with the correct content.`,
|
|
|
334818
334817
|
deltas.push(`imports: ${String(beforeMetrics.importCount)}\u2192${String(afterMetrics.importCount)} (${sign}${String(importDelta)})`);
|
|
334819
334818
|
}
|
|
334820
334819
|
let output = `Applied ${String(args2.edits.length)} edits to ${args2.path}`;
|
|
334821
|
-
if (warnings.length > 0)
|
|
334822
|
-
output += `
|
|
334823
|
-
\u26A0 ${warnings.join(`
|
|
334824
|
-
\u26A0 `)}`;
|
|
334825
334820
|
if (deltas.length > 0)
|
|
334826
334821
|
output += ` (${deltas.join(", ")})`;
|
|
334827
334822
|
const formatted = await autoFormatAfterEdit(filePath);
|
|
@@ -337319,7 +337314,7 @@ function detectProjectCommand(command) {
|
|
|
337319
337314
|
}
|
|
337320
337315
|
return null;
|
|
337321
337316
|
}
|
|
337322
|
-
var DEFAULT_TIMEOUT = 30000, SECRET_ENV_PATTERN, ENV_ALLOWLIST, CO_AUTHOR_LINE2 = "Co-Authored-By: SoulForge <soulforge@proxysoul.com>", _shellCoAuthorEnabled = true, GIT_COMMIT_MSG_RE, _preCommitEnabled = true, MAX_OUTPUT_BYTES = 16384, MAX_COLLECT_BYTES = 256000, CTRL_RE, FILE_READ_RE, FILE_SEARCH_RE, INPUT_REDIR_RE, OUTPUT_REDIR_RE, SUBSHELL_RE, INLINE_CODE_RE, READ_CMD_REDIRECT, PROJECT_CMD_RE, shellTool;
|
|
337317
|
+
var DEFAULT_TIMEOUT = 30000, SECRET_ENV_PATTERN, ENV_ALLOWLIST, CO_AUTHOR_LINE2 = "Co-Authored-By: SoulForge <soulforge@proxysoul.com>", _shellCoAuthorEnabled = true, GIT_COMMIT_MSG_RE, _preCommitEnabled = true, MAX_OUTPUT_BYTES = 16384, MAX_COLLECT_BYTES = 256000, CTRL_RE, FILE_READ_RE, FILE_SEARCH_RE, INPUT_REDIR_RE, OUTPUT_REDIR_RE, SUBSHELL_RE, INLINE_CODE_RE, READ_CMD_REDIRECT, PROJECT_CMD_RE, SHELL_DESCRIPTION = "[TIER-2] Shell command execution. Use for git operations, package installs, system commands. AVOID for: reading files (use read_file), searching code (use soul_grep), verifying edits (use project). LIMITATIONS: Output truncated at 30000 chars. Use '&&' to chain commands, not newlines.", shellTool;
|
|
337323
337318
|
var init_shell = __esm(() => {
|
|
337324
337319
|
init_strip_ansi();
|
|
337325
337320
|
init_forbidden();
|
|
@@ -337355,7 +337350,7 @@ var init_shell = __esm(() => {
|
|
|
337355
337350
|
PROJECT_CMD_RE = /^(?:bun run|bunx|npm run|npx|pnpm|yarn|deno|cargo|go |mix |dotnet |flutter |dart |swift |zig )\s*(lint|test|typecheck|build|check|clippy|vet|fmt|format)\b/;
|
|
337356
337351
|
shellTool = {
|
|
337357
337352
|
name: "shell",
|
|
337358
|
-
description:
|
|
337353
|
+
description: SHELL_DESCRIPTION,
|
|
337359
337354
|
execute: async (args2, abortSignal) => {
|
|
337360
337355
|
const command = injectCoAuthor(args2.command);
|
|
337361
337356
|
const cwd2 = args2.cwd ?? process.cwd();
|
|
@@ -382326,7 +382321,8 @@ var init_icons = __esm(() => {
|
|
|
382326
382321
|
worker: "\uDB81\uDC8B",
|
|
382327
382322
|
worker_busy: "\uDB81\uDC6E",
|
|
382328
382323
|
worker_crash: "\uDB80\uDD59",
|
|
382329
|
-
worker_restart: "\uDB81\uDC53"
|
|
382324
|
+
worker_restart: "\uDB81\uDC53",
|
|
382325
|
+
image: "\uDB80\uDEE9"
|
|
382330
382326
|
};
|
|
382331
382327
|
ASCII = {
|
|
382332
382328
|
ghost: "\u25C6",
|
|
@@ -382423,7 +382419,8 @@ var init_icons = __esm(() => {
|
|
|
382423
382419
|
worker: "\u26A1",
|
|
382424
382420
|
worker_busy: "\u26A1",
|
|
382425
382421
|
worker_crash: "\u26A1\u2717",
|
|
382426
|
-
worker_restart: "\u26A1\u21BB"
|
|
382422
|
+
worker_restart: "\u26A1\u21BB",
|
|
382423
|
+
image: "\uD83D\uDDBC"
|
|
382427
382424
|
};
|
|
382428
382425
|
UI_ICONS = {
|
|
382429
382426
|
get ghost() {
|
|
@@ -426962,14 +426959,17 @@ function register2(map2) {
|
|
|
426962
426959
|
map2.set("/nvim-config", handleNvimConfig);
|
|
426963
426960
|
map2.set("/verbose", handleVerbose);
|
|
426964
426961
|
map2.set("/reasoning", handleReasoning);
|
|
426962
|
+
map2.set("/compact settings", handleCompaction);
|
|
426965
426963
|
map2.set("/compaction", handleCompaction);
|
|
426966
426964
|
map2.set("/agent-features", handleAgentFeatures);
|
|
426967
426965
|
map2.set("/instructions", handleInstructions);
|
|
426968
426966
|
map2.set("/diff-style", handleDiffStyle);
|
|
426967
|
+
map2.set("/editor split", handleSplit);
|
|
426969
426968
|
map2.set("/split", handleSplit);
|
|
426970
426969
|
map2.set("/vim-hints", handleVimHints);
|
|
426971
426970
|
map2.set("/model-scope", handleModelScope);
|
|
426972
426971
|
map2.set("/font nerd", handleNerdFont);
|
|
426972
|
+
map2.set("/font set", handleFont);
|
|
426973
426973
|
map2.set("/settings", handleSettingsHub);
|
|
426974
426974
|
map2.set("/theme", handleTheme);
|
|
426975
426975
|
}
|
|
@@ -429997,9 +429997,9 @@ function handleHelp(_input, _ctx) {
|
|
|
429997
429997
|
useUIStore.getState().openModal("commandPalette");
|
|
429998
429998
|
}
|
|
429999
429999
|
function handleOpen(input, ctx) {
|
|
430000
|
-
const filePath = input.trim().
|
|
430000
|
+
const filePath = input.trim().replace(/^\/(editor\s+)?open\s*/i, "").trim();
|
|
430001
430001
|
if (!filePath) {
|
|
430002
|
-
sysMsg(ctx, "Usage: /open <file-path>");
|
|
430002
|
+
sysMsg(ctx, "Usage: /editor open <file-path>");
|
|
430003
430003
|
return;
|
|
430004
430004
|
}
|
|
430005
430005
|
ctx.openEditorWithFile(filePath);
|
|
@@ -430190,7 +430190,10 @@ function register6(map2) {
|
|
|
430190
430190
|
map2.set("/editor", handleEditor);
|
|
430191
430191
|
map2.set("/edit", handleEditor);
|
|
430192
430192
|
map2.set("/help", handleHelp);
|
|
430193
|
+
map2.set("/editor settings", handleEditorSettings);
|
|
430194
|
+
map2.set("/editor open", handleOpen);
|
|
430193
430195
|
map2.set("/editor-settings", handleEditorSettings);
|
|
430196
|
+
map2.set("/open", handleOpen);
|
|
430194
430197
|
map2.set("/router", handleRouter);
|
|
430195
430198
|
map2.set("/provider-settings", handleProviderSettings);
|
|
430196
430199
|
map2.set("/perf", handleProviderSettings);
|
|
@@ -430204,6 +430207,7 @@ function register6(map2) {
|
|
|
430204
430207
|
map2.set("/changes", handleChanges);
|
|
430205
430208
|
map2.set("/files", handleChanges);
|
|
430206
430209
|
map2.set("/errors", handleErrors);
|
|
430210
|
+
map2.set("/compact logs", handleCompactionLogs);
|
|
430207
430211
|
map2.set("/compact-v2-logs", handleCompactionLogs);
|
|
430208
430212
|
map2.set("/skills", handleSkills);
|
|
430209
430213
|
map2.set("/terminals", handleTerminals);
|
|
@@ -430215,6 +430219,8 @@ function register6(map2) {
|
|
|
430215
430219
|
map2.set("/wizard", handleWizard);
|
|
430216
430220
|
}
|
|
430217
430221
|
function matchNavPrefix(cmd) {
|
|
430222
|
+
if (cmd.startsWith("/editor open "))
|
|
430223
|
+
return handleOpen;
|
|
430218
430224
|
if (cmd.startsWith("/open "))
|
|
430219
430225
|
return handleOpen;
|
|
430220
430226
|
if (cmd.startsWith("/tab rename "))
|
|
@@ -431038,7 +431044,7 @@ async function handleExportAll(ctx) {
|
|
|
431038
431044
|
}
|
|
431039
431045
|
async function handleExport(input, ctx) {
|
|
431040
431046
|
const trimmed = input.trim();
|
|
431041
|
-
const arg = trimmed.
|
|
431047
|
+
const arg = trimmed.replace(/^\/(session\s+)?export\s*/i, "").trim();
|
|
431042
431048
|
if (arg === "all" || arg === "diagnostic") {
|
|
431043
431049
|
await handleExportAll(ctx);
|
|
431044
431050
|
return;
|
|
@@ -431089,7 +431095,7 @@ async function handleExport(input, ctx) {
|
|
|
431089
431095
|
}
|
|
431090
431096
|
function handlePlan(input, ctx) {
|
|
431091
431097
|
const trimmed = input.trim();
|
|
431092
|
-
const arg = trimmed.
|
|
431098
|
+
const arg = trimmed.replace(/^\/(session\s+)?plan\s*/i, "").trim();
|
|
431093
431099
|
if (arg) {
|
|
431094
431100
|
ctx.chat.setPlanMode(true);
|
|
431095
431101
|
ctx.chat.setPlanRequest(arg);
|
|
@@ -431137,13 +431143,22 @@ function handleSessions(_input, ctx) {
|
|
|
431137
431143
|
ctx.openSessions();
|
|
431138
431144
|
}
|
|
431139
431145
|
function register9(map2) {
|
|
431146
|
+
map2.set("/session", handleSessions);
|
|
431147
|
+
map2.set("/session clear", handleClear);
|
|
431148
|
+
map2.set("/session compact", handleCompact);
|
|
431149
|
+
map2.set("/session continue", handleContinue);
|
|
431150
|
+
map2.set("/session history", handleSessions);
|
|
431151
|
+
map2.set("/session export", handleExport);
|
|
431140
431152
|
map2.set("/clear", handleClear);
|
|
431141
431153
|
map2.set("/compact", handleCompact);
|
|
431142
431154
|
map2.set("/sessions", handleSessions);
|
|
431143
|
-
map2.set("/session", handleSessions);
|
|
431144
431155
|
map2.set("/continue", handleContinue);
|
|
431145
431156
|
}
|
|
431146
431157
|
function matchSessionPrefix(cmd) {
|
|
431158
|
+
if (cmd === "/session export" || cmd.startsWith("/session export "))
|
|
431159
|
+
return handleExport;
|
|
431160
|
+
if (cmd === "/session plan" || cmd.startsWith("/session plan "))
|
|
431161
|
+
return handlePlan;
|
|
431147
431162
|
if (cmd === "/export" || cmd.startsWith("/export "))
|
|
431148
431163
|
return handleExport;
|
|
431149
431164
|
if (cmd === "/plan" || cmd.startsWith("/plan "))
|
|
@@ -431355,550 +431370,690 @@ var init_registry = __esm(() => {
|
|
|
431355
431370
|
register8(commandMap);
|
|
431356
431371
|
register(commandMap);
|
|
431357
431372
|
prefixMatchers = [matchContextPrefix, matchGitPrefix, matchConfigPrefix, matchSessionPrefix, matchNavPrefix, matchSecurityPrefix, matchClaimsPrefix];
|
|
431358
|
-
CATEGORIES = ["
|
|
431359
|
-
COMMAND_DEFS = [
|
|
431360
|
-
|
|
431361
|
-
|
|
431362
|
-
|
|
431363
|
-
|
|
431364
|
-
|
|
431365
|
-
|
|
431366
|
-
|
|
431367
|
-
|
|
431368
|
-
|
|
431369
|
-
|
|
431370
|
-
|
|
431371
|
-
|
|
431372
|
-
|
|
431373
|
-
|
|
431374
|
-
|
|
431375
|
-
|
|
431376
|
-
|
|
431377
|
-
|
|
431378
|
-
|
|
431379
|
-
|
|
431380
|
-
|
|
431381
|
-
|
|
431382
|
-
|
|
431383
|
-
|
|
431384
|
-
|
|
431385
|
-
|
|
431386
|
-
|
|
431387
|
-
|
|
431388
|
-
|
|
431389
|
-
|
|
431390
|
-
|
|
431391
|
-
|
|
431392
|
-
|
|
431393
|
-
|
|
431394
|
-
|
|
431395
|
-
|
|
431396
|
-
|
|
431397
|
-
|
|
431398
|
-
|
|
431399
|
-
|
|
431400
|
-
|
|
431401
|
-
|
|
431402
|
-
|
|
431403
|
-
|
|
431404
|
-
|
|
431405
|
-
|
|
431406
|
-
|
|
431407
|
-
|
|
431408
|
-
|
|
431409
|
-
|
|
431410
|
-
|
|
431411
|
-
|
|
431412
|
-
|
|
431413
|
-
|
|
431414
|
-
|
|
431415
|
-
|
|
431416
|
-
|
|
431417
|
-
|
|
431418
|
-
|
|
431419
|
-
|
|
431420
|
-
|
|
431421
|
-
|
|
431422
|
-
|
|
431423
|
-
|
|
431424
|
-
|
|
431425
|
-
|
|
431426
|
-
|
|
431427
|
-
|
|
431428
|
-
|
|
431429
|
-
|
|
431430
|
-
|
|
431431
|
-
|
|
431432
|
-
|
|
431433
|
-
|
|
431434
|
-
|
|
431435
|
-
|
|
431436
|
-
|
|
431437
|
-
|
|
431438
|
-
|
|
431439
|
-
|
|
431440
|
-
|
|
431441
|
-
|
|
431442
|
-
|
|
431443
|
-
|
|
431444
|
-
|
|
431445
|
-
|
|
431446
|
-
|
|
431447
|
-
|
|
431448
|
-
|
|
431449
|
-
|
|
431450
|
-
|
|
431451
|
-
|
|
431452
|
-
|
|
431453
|
-
|
|
431454
|
-
|
|
431455
|
-
|
|
431456
|
-
|
|
431457
|
-
|
|
431458
|
-
|
|
431459
|
-
|
|
431460
|
-
|
|
431461
|
-
|
|
431462
|
-
|
|
431463
|
-
|
|
431464
|
-
|
|
431465
|
-
|
|
431466
|
-
|
|
431467
|
-
|
|
431468
|
-
|
|
431469
|
-
|
|
431470
|
-
|
|
431471
|
-
|
|
431472
|
-
|
|
431473
|
-
|
|
431474
|
-
|
|
431475
|
-
|
|
431476
|
-
|
|
431477
|
-
|
|
431478
|
-
|
|
431479
|
-
|
|
431480
|
-
|
|
431481
|
-
|
|
431482
|
-
|
|
431483
|
-
|
|
431484
|
-
|
|
431485
|
-
|
|
431486
|
-
|
|
431487
|
-
|
|
431488
|
-
|
|
431489
|
-
|
|
431490
|
-
|
|
431491
|
-
|
|
431492
|
-
|
|
431493
|
-
|
|
431494
|
-
|
|
431495
|
-
|
|
431496
|
-
|
|
431497
|
-
|
|
431498
|
-
|
|
431499
|
-
|
|
431500
|
-
|
|
431501
|
-
|
|
431502
|
-
|
|
431503
|
-
|
|
431504
|
-
|
|
431505
|
-
|
|
431506
|
-
|
|
431507
|
-
|
|
431508
|
-
|
|
431509
|
-
|
|
431510
|
-
|
|
431511
|
-
|
|
431512
|
-
|
|
431513
|
-
|
|
431514
|
-
|
|
431515
|
-
|
|
431516
|
-
|
|
431517
|
-
|
|
431518
|
-
|
|
431519
|
-
|
|
431520
|
-
|
|
431521
|
-
|
|
431522
|
-
|
|
431523
|
-
|
|
431524
|
-
|
|
431525
|
-
|
|
431526
|
-
|
|
431527
|
-
|
|
431528
|
-
|
|
431529
|
-
|
|
431530
|
-
|
|
431531
|
-
|
|
431532
|
-
|
|
431533
|
-
|
|
431534
|
-
|
|
431535
|
-
|
|
431536
|
-
|
|
431537
|
-
|
|
431538
|
-
|
|
431539
|
-
|
|
431540
|
-
|
|
431541
|
-
|
|
431542
|
-
|
|
431543
|
-
|
|
431544
|
-
|
|
431545
|
-
|
|
431546
|
-
|
|
431547
|
-
|
|
431548
|
-
|
|
431549
|
-
|
|
431550
|
-
|
|
431551
|
-
|
|
431552
|
-
|
|
431553
|
-
|
|
431554
|
-
|
|
431555
|
-
|
|
431556
|
-
|
|
431557
|
-
|
|
431558
|
-
|
|
431559
|
-
|
|
431560
|
-
|
|
431561
|
-
|
|
431562
|
-
|
|
431563
|
-
|
|
431564
|
-
|
|
431565
|
-
|
|
431566
|
-
|
|
431567
|
-
|
|
431568
|
-
|
|
431569
|
-
|
|
431570
|
-
|
|
431571
|
-
|
|
431572
|
-
|
|
431573
|
-
|
|
431574
|
-
|
|
431575
|
-
|
|
431576
|
-
|
|
431577
|
-
|
|
431578
|
-
|
|
431579
|
-
|
|
431580
|
-
|
|
431581
|
-
|
|
431582
|
-
|
|
431583
|
-
|
|
431584
|
-
|
|
431585
|
-
|
|
431586
|
-
|
|
431587
|
-
|
|
431588
|
-
|
|
431589
|
-
|
|
431590
|
-
|
|
431591
|
-
|
|
431592
|
-
|
|
431593
|
-
|
|
431594
|
-
|
|
431595
|
-
|
|
431596
|
-
|
|
431597
|
-
|
|
431598
|
-
|
|
431599
|
-
|
|
431600
|
-
|
|
431601
|
-
|
|
431602
|
-
|
|
431603
|
-
|
|
431604
|
-
|
|
431605
|
-
|
|
431606
|
-
|
|
431607
|
-
|
|
431608
|
-
|
|
431609
|
-
|
|
431610
|
-
|
|
431611
|
-
|
|
431612
|
-
|
|
431613
|
-
|
|
431614
|
-
|
|
431615
|
-
|
|
431616
|
-
|
|
431617
|
-
|
|
431618
|
-
|
|
431619
|
-
|
|
431620
|
-
|
|
431621
|
-
|
|
431622
|
-
|
|
431623
|
-
|
|
431624
|
-
|
|
431625
|
-
|
|
431626
|
-
|
|
431627
|
-
|
|
431628
|
-
|
|
431629
|
-
|
|
431630
|
-
|
|
431631
|
-
|
|
431632
|
-
|
|
431633
|
-
|
|
431634
|
-
|
|
431635
|
-
|
|
431636
|
-
|
|
431637
|
-
|
|
431638
|
-
|
|
431639
|
-
|
|
431640
|
-
|
|
431641
|
-
|
|
431642
|
-
|
|
431643
|
-
|
|
431644
|
-
|
|
431645
|
-
|
|
431646
|
-
|
|
431647
|
-
|
|
431648
|
-
|
|
431649
|
-
|
|
431650
|
-
|
|
431651
|
-
|
|
431652
|
-
|
|
431653
|
-
|
|
431654
|
-
|
|
431655
|
-
|
|
431656
|
-
|
|
431657
|
-
|
|
431658
|
-
|
|
431659
|
-
|
|
431660
|
-
|
|
431661
|
-
|
|
431662
|
-
|
|
431663
|
-
|
|
431664
|
-
|
|
431665
|
-
|
|
431666
|
-
|
|
431667
|
-
|
|
431668
|
-
|
|
431669
|
-
|
|
431670
|
-
|
|
431671
|
-
|
|
431672
|
-
|
|
431673
|
-
|
|
431674
|
-
|
|
431675
|
-
|
|
431676
|
-
|
|
431677
|
-
|
|
431678
|
-
|
|
431679
|
-
|
|
431680
|
-
|
|
431681
|
-
|
|
431682
|
-
|
|
431683
|
-
|
|
431684
|
-
|
|
431685
|
-
|
|
431686
|
-
|
|
431687
|
-
|
|
431688
|
-
|
|
431689
|
-
|
|
431690
|
-
|
|
431691
|
-
|
|
431692
|
-
|
|
431693
|
-
|
|
431694
|
-
|
|
431695
|
-
|
|
431696
|
-
|
|
431697
|
-
|
|
431698
|
-
|
|
431699
|
-
|
|
431700
|
-
|
|
431701
|
-
|
|
431702
|
-
|
|
431703
|
-
|
|
431704
|
-
|
|
431705
|
-
|
|
431706
|
-
|
|
431707
|
-
|
|
431708
|
-
|
|
431709
|
-
|
|
431710
|
-
|
|
431711
|
-
|
|
431712
|
-
|
|
431713
|
-
|
|
431714
|
-
|
|
431715
|
-
|
|
431716
|
-
|
|
431717
|
-
|
|
431718
|
-
|
|
431719
|
-
|
|
431720
|
-
|
|
431721
|
-
|
|
431722
|
-
|
|
431723
|
-
|
|
431724
|
-
|
|
431725
|
-
|
|
431726
|
-
|
|
431727
|
-
|
|
431728
|
-
|
|
431729
|
-
|
|
431730
|
-
|
|
431731
|
-
|
|
431732
|
-
|
|
431733
|
-
|
|
431734
|
-
|
|
431735
|
-
|
|
431736
|
-
|
|
431737
|
-
|
|
431738
|
-
|
|
431739
|
-
|
|
431740
|
-
|
|
431741
|
-
|
|
431742
|
-
|
|
431743
|
-
|
|
431744
|
-
|
|
431745
|
-
|
|
431746
|
-
|
|
431747
|
-
|
|
431748
|
-
|
|
431749
|
-
|
|
431750
|
-
|
|
431751
|
-
|
|
431752
|
-
|
|
431753
|
-
|
|
431754
|
-
|
|
431755
|
-
|
|
431756
|
-
|
|
431757
|
-
|
|
431758
|
-
|
|
431759
|
-
|
|
431760
|
-
|
|
431761
|
-
|
|
431762
|
-
|
|
431763
|
-
|
|
431764
|
-
|
|
431765
|
-
|
|
431766
|
-
|
|
431767
|
-
|
|
431768
|
-
|
|
431769
|
-
|
|
431770
|
-
|
|
431771
|
-
|
|
431772
|
-
|
|
431773
|
-
|
|
431774
|
-
|
|
431775
|
-
|
|
431776
|
-
|
|
431777
|
-
|
|
431778
|
-
|
|
431779
|
-
|
|
431780
|
-
|
|
431781
|
-
|
|
431782
|
-
|
|
431783
|
-
|
|
431784
|
-
|
|
431785
|
-
|
|
431786
|
-
|
|
431787
|
-
|
|
431788
|
-
|
|
431789
|
-
|
|
431790
|
-
|
|
431791
|
-
|
|
431792
|
-
|
|
431793
|
-
|
|
431794
|
-
|
|
431795
|
-
|
|
431796
|
-
|
|
431797
|
-
|
|
431798
|
-
|
|
431799
|
-
|
|
431800
|
-
|
|
431801
|
-
|
|
431802
|
-
|
|
431803
|
-
|
|
431804
|
-
|
|
431805
|
-
|
|
431806
|
-
|
|
431807
|
-
|
|
431808
|
-
|
|
431809
|
-
|
|
431810
|
-
|
|
431811
|
-
|
|
431812
|
-
|
|
431813
|
-
|
|
431814
|
-
|
|
431815
|
-
|
|
431816
|
-
|
|
431817
|
-
|
|
431818
|
-
|
|
431819
|
-
|
|
431820
|
-
|
|
431821
|
-
|
|
431822
|
-
|
|
431823
|
-
|
|
431824
|
-
|
|
431825
|
-
|
|
431826
|
-
|
|
431827
|
-
|
|
431828
|
-
|
|
431829
|
-
|
|
431830
|
-
|
|
431831
|
-
|
|
431832
|
-
|
|
431833
|
-
|
|
431834
|
-
|
|
431835
|
-
|
|
431836
|
-
|
|
431837
|
-
|
|
431838
|
-
|
|
431839
|
-
|
|
431840
|
-
|
|
431841
|
-
|
|
431842
|
-
|
|
431843
|
-
|
|
431844
|
-
|
|
431845
|
-
|
|
431846
|
-
|
|
431847
|
-
|
|
431848
|
-
|
|
431849
|
-
|
|
431850
|
-
|
|
431851
|
-
|
|
431852
|
-
|
|
431853
|
-
|
|
431854
|
-
|
|
431855
|
-
|
|
431856
|
-
|
|
431857
|
-
|
|
431858
|
-
|
|
431859
|
-
|
|
431860
|
-
|
|
431861
|
-
|
|
431862
|
-
|
|
431863
|
-
|
|
431864
|
-
|
|
431865
|
-
|
|
431866
|
-
|
|
431867
|
-
|
|
431868
|
-
|
|
431869
|
-
|
|
431870
|
-
|
|
431871
|
-
|
|
431872
|
-
|
|
431873
|
-
|
|
431874
|
-
|
|
431875
|
-
|
|
431876
|
-
|
|
431877
|
-
|
|
431878
|
-
|
|
431879
|
-
|
|
431880
|
-
|
|
431881
|
-
|
|
431882
|
-
|
|
431883
|
-
|
|
431884
|
-
|
|
431885
|
-
|
|
431886
|
-
|
|
431887
|
-
|
|
431888
|
-
|
|
431889
|
-
|
|
431890
|
-
|
|
431891
|
-
|
|
431892
|
-
|
|
431893
|
-
|
|
431894
|
-
|
|
431895
|
-
|
|
431896
|
-
|
|
431897
|
-
|
|
431898
|
-
|
|
431899
|
-
|
|
431900
|
-
|
|
431901
|
-
|
|
431373
|
+
CATEGORIES = ["Session", "Git", "Models", "Intelligence", "Settings", "Editor", "Tabs", "System"];
|
|
431374
|
+
COMMAND_DEFS = [
|
|
431375
|
+
{
|
|
431376
|
+
cmd: "/compact",
|
|
431377
|
+
ic: "compress",
|
|
431378
|
+
desc: "Compact \u2014 run, settings, logs",
|
|
431379
|
+
category: "Session",
|
|
431380
|
+
tags: ["context", "summarize", "compaction"]
|
|
431381
|
+
},
|
|
431382
|
+
{
|
|
431383
|
+
cmd: "/compact logs",
|
|
431384
|
+
ic: "plan",
|
|
431385
|
+
desc: "View compaction events",
|
|
431386
|
+
category: "Session",
|
|
431387
|
+
tags: ["debug", "logs"]
|
|
431388
|
+
},
|
|
431389
|
+
{
|
|
431390
|
+
cmd: "/compact settings",
|
|
431391
|
+
ic: "compress",
|
|
431392
|
+
desc: "Compaction strategy & pruning settings",
|
|
431393
|
+
category: "Session",
|
|
431394
|
+
tags: ["v1", "v2", "pruning"]
|
|
431395
|
+
},
|
|
431396
|
+
{
|
|
431397
|
+
cmd: "/session",
|
|
431398
|
+
ic: "clock_alt",
|
|
431399
|
+
desc: "Session \u2014 history, clear, export, compact",
|
|
431400
|
+
category: "Session",
|
|
431401
|
+
tags: ["history", "restore", "manage"]
|
|
431402
|
+
},
|
|
431403
|
+
{
|
|
431404
|
+
cmd: "/session clear",
|
|
431405
|
+
ic: "clear",
|
|
431406
|
+
desc: "Clear chat history",
|
|
431407
|
+
category: "Session",
|
|
431408
|
+
tags: ["reset"]
|
|
431409
|
+
},
|
|
431410
|
+
{
|
|
431411
|
+
cmd: "/session compact",
|
|
431412
|
+
ic: "compress",
|
|
431413
|
+
desc: "Compact conversation context",
|
|
431414
|
+
category: "Session",
|
|
431415
|
+
tags: ["context", "summarize"],
|
|
431416
|
+
hidden: true
|
|
431417
|
+
},
|
|
431418
|
+
{
|
|
431419
|
+
cmd: "/session continue",
|
|
431420
|
+
ic: "play",
|
|
431421
|
+
desc: "Continue interrupted generation",
|
|
431422
|
+
category: "Session",
|
|
431423
|
+
tags: ["resume"]
|
|
431424
|
+
},
|
|
431425
|
+
{
|
|
431426
|
+
cmd: "/session export",
|
|
431427
|
+
ic: "changes",
|
|
431428
|
+
desc: "Export chat \u2014 markdown, json, clipboard, all",
|
|
431429
|
+
category: "Session",
|
|
431430
|
+
tags: ["save", "markdown", "json", "clipboard", "diagnostic"]
|
|
431431
|
+
},
|
|
431432
|
+
{
|
|
431433
|
+
cmd: "/session export all",
|
|
431434
|
+
ic: "search",
|
|
431435
|
+
desc: "Full diagnostic export (system prompt, messages, tools)",
|
|
431436
|
+
category: "Session",
|
|
431437
|
+
tags: ["debug"]
|
|
431438
|
+
},
|
|
431439
|
+
{
|
|
431440
|
+
cmd: "/session export api",
|
|
431441
|
+
ic: "search",
|
|
431442
|
+
desc: "Toggle per-step API request dump",
|
|
431443
|
+
category: "Session",
|
|
431444
|
+
tags: ["debug", "tokens", "cost"]
|
|
431445
|
+
},
|
|
431446
|
+
{
|
|
431447
|
+
cmd: "/session export clipboard",
|
|
431448
|
+
ic: "changes",
|
|
431449
|
+
desc: "Copy chat to clipboard (markdown)",
|
|
431450
|
+
category: "Session",
|
|
431451
|
+
tags: ["copy"]
|
|
431452
|
+
},
|
|
431453
|
+
{
|
|
431454
|
+
cmd: "/session export json",
|
|
431455
|
+
ic: "changes",
|
|
431456
|
+
desc: "Export chat as JSON",
|
|
431457
|
+
category: "Session",
|
|
431458
|
+
tags: ["save"]
|
|
431459
|
+
},
|
|
431460
|
+
{
|
|
431461
|
+
cmd: "/session history",
|
|
431462
|
+
ic: "clock_alt",
|
|
431463
|
+
desc: "Browse & restore sessions",
|
|
431464
|
+
category: "Session",
|
|
431465
|
+
tags: ["history", "restore"]
|
|
431466
|
+
},
|
|
431467
|
+
{
|
|
431468
|
+
cmd: "/session plan",
|
|
431469
|
+
ic: "plan",
|
|
431470
|
+
desc: "Toggle plan mode (research & plan only)",
|
|
431471
|
+
category: "Session",
|
|
431472
|
+
tags: ["architect", "research"]
|
|
431473
|
+
},
|
|
431474
|
+
{
|
|
431475
|
+
cmd: "/git",
|
|
431476
|
+
ic: "git",
|
|
431477
|
+
desc: "Git menu",
|
|
431478
|
+
category: "Git",
|
|
431479
|
+
tags: ["menu"]
|
|
431480
|
+
},
|
|
431481
|
+
{
|
|
431482
|
+
cmd: "/git branch",
|
|
431483
|
+
ic: "git",
|
|
431484
|
+
desc: "Show/create branch",
|
|
431485
|
+
category: "Git",
|
|
431486
|
+
tags: ["checkout"]
|
|
431487
|
+
},
|
|
431488
|
+
{
|
|
431489
|
+
cmd: "/git co-author",
|
|
431490
|
+
ic: "git",
|
|
431491
|
+
desc: "Toggle co-author trailer",
|
|
431492
|
+
category: "Git",
|
|
431493
|
+
tags: ["commit"]
|
|
431494
|
+
},
|
|
431495
|
+
{
|
|
431496
|
+
cmd: "/git commit",
|
|
431497
|
+
ic: "git",
|
|
431498
|
+
desc: "Git commit with message",
|
|
431499
|
+
category: "Git",
|
|
431500
|
+
tags: ["save"]
|
|
431501
|
+
},
|
|
431502
|
+
{
|
|
431503
|
+
cmd: "/git diff",
|
|
431504
|
+
ic: "git",
|
|
431505
|
+
desc: "Open diff in editor",
|
|
431506
|
+
category: "Git",
|
|
431507
|
+
tags: ["changes"]
|
|
431508
|
+
},
|
|
431509
|
+
{
|
|
431510
|
+
cmd: "/git init",
|
|
431511
|
+
ic: "git",
|
|
431512
|
+
desc: "Initialize git repo",
|
|
431513
|
+
category: "Git",
|
|
431514
|
+
tags: ["create"]
|
|
431515
|
+
},
|
|
431516
|
+
{
|
|
431517
|
+
cmd: "/git lazygit",
|
|
431518
|
+
ic: "git",
|
|
431519
|
+
desc: "Launch lazygit",
|
|
431520
|
+
category: "Git",
|
|
431521
|
+
tags: ["tui"]
|
|
431522
|
+
},
|
|
431523
|
+
{
|
|
431524
|
+
cmd: "/git log",
|
|
431525
|
+
ic: "git",
|
|
431526
|
+
desc: "Show recent commits",
|
|
431527
|
+
category: "Git",
|
|
431528
|
+
tags: ["history"]
|
|
431529
|
+
},
|
|
431530
|
+
{
|
|
431531
|
+
cmd: "/git pull",
|
|
431532
|
+
ic: "git",
|
|
431533
|
+
desc: "Pull from remote",
|
|
431534
|
+
category: "Git",
|
|
431535
|
+
tags: ["fetch", "sync"]
|
|
431536
|
+
},
|
|
431537
|
+
{
|
|
431538
|
+
cmd: "/git push",
|
|
431539
|
+
ic: "git",
|
|
431540
|
+
desc: "Push to remote",
|
|
431541
|
+
category: "Git",
|
|
431542
|
+
tags: ["sync", "upload"]
|
|
431543
|
+
},
|
|
431544
|
+
{
|
|
431545
|
+
cmd: "/git stash",
|
|
431546
|
+
ic: "git",
|
|
431547
|
+
desc: "Stash changes \u2014 pop to restore",
|
|
431548
|
+
category: "Git",
|
|
431549
|
+
tags: ["save", "pop", "restore"]
|
|
431550
|
+
},
|
|
431551
|
+
{
|
|
431552
|
+
cmd: "/git stash pop",
|
|
431553
|
+
ic: "git",
|
|
431554
|
+
desc: "Pop latest stash",
|
|
431555
|
+
category: "Git",
|
|
431556
|
+
tags: ["restore"]
|
|
431557
|
+
},
|
|
431558
|
+
{
|
|
431559
|
+
cmd: "/git status",
|
|
431560
|
+
ic: "git",
|
|
431561
|
+
desc: "Git status",
|
|
431562
|
+
category: "Git",
|
|
431563
|
+
tags: ["info"]
|
|
431564
|
+
},
|
|
431565
|
+
{
|
|
431566
|
+
cmd: "/keys",
|
|
431567
|
+
ic: "cog",
|
|
431568
|
+
desc: "Manage LLM provider API keys",
|
|
431569
|
+
category: "Models",
|
|
431570
|
+
tags: ["api", "auth"]
|
|
431571
|
+
},
|
|
431572
|
+
{
|
|
431573
|
+
cmd: "/model-scope",
|
|
431574
|
+
ic: "cog",
|
|
431575
|
+
desc: "Set model scope (project/global)",
|
|
431576
|
+
category: "Models",
|
|
431577
|
+
tags: ["config"]
|
|
431578
|
+
},
|
|
431579
|
+
{
|
|
431580
|
+
cmd: "/models",
|
|
431581
|
+
ic: "system",
|
|
431582
|
+
desc: "Switch LLM model (Ctrl+L)",
|
|
431583
|
+
category: "Models",
|
|
431584
|
+
tags: ["provider", "llm", "switch"]
|
|
431585
|
+
},
|
|
431586
|
+
{
|
|
431587
|
+
cmd: "/provider-settings",
|
|
431588
|
+
ic: "system",
|
|
431589
|
+
desc: "Provider options \u2014 thinking, effort, speed, context",
|
|
431590
|
+
category: "Models",
|
|
431591
|
+
tags: ["thinking", "effort", "speed", "config"]
|
|
431592
|
+
},
|
|
431593
|
+
{
|
|
431594
|
+
cmd: "/providers",
|
|
431595
|
+
ic: "system",
|
|
431596
|
+
desc: "Provider & Models",
|
|
431597
|
+
category: "Models",
|
|
431598
|
+
tags: ["llm", "switch"],
|
|
431599
|
+
hidden: true
|
|
431600
|
+
},
|
|
431601
|
+
{
|
|
431602
|
+
cmd: "/proxy",
|
|
431603
|
+
ic: "proxy",
|
|
431604
|
+
desc: "Proxy \u2014 status, install, start, stop, restart, login, upgrade",
|
|
431605
|
+
category: "Models",
|
|
431606
|
+
tags: ["account", "login", "logout", "install", "upgrade", "start", "stop", "restart"]
|
|
431607
|
+
},
|
|
431608
|
+
{
|
|
431609
|
+
cmd: "/proxy install",
|
|
431610
|
+
ic: "proxy",
|
|
431611
|
+
desc: "Reinstall CLIProxyAPI",
|
|
431612
|
+
category: "Models",
|
|
431613
|
+
tags: ["setup"]
|
|
431614
|
+
},
|
|
431615
|
+
{
|
|
431616
|
+
cmd: "/proxy login",
|
|
431617
|
+
ic: "proxy",
|
|
431618
|
+
desc: "Add a provider account",
|
|
431619
|
+
category: "Models",
|
|
431620
|
+
tags: ["auth", "oauth"]
|
|
431621
|
+
},
|
|
431622
|
+
{
|
|
431623
|
+
cmd: "/proxy logout",
|
|
431624
|
+
ic: "proxy",
|
|
431625
|
+
desc: "Remove a provider account",
|
|
431626
|
+
category: "Models",
|
|
431627
|
+
tags: ["auth"]
|
|
431628
|
+
},
|
|
431629
|
+
{
|
|
431630
|
+
cmd: "/proxy restart",
|
|
431631
|
+
ic: "proxy",
|
|
431632
|
+
desc: "Restart the proxy",
|
|
431633
|
+
category: "Models",
|
|
431634
|
+
tags: ["reboot"]
|
|
431635
|
+
},
|
|
431636
|
+
{
|
|
431637
|
+
cmd: "/proxy start",
|
|
431638
|
+
ic: "proxy",
|
|
431639
|
+
desc: "Start the proxy",
|
|
431640
|
+
category: "Models",
|
|
431641
|
+
tags: ["launch"]
|
|
431642
|
+
},
|
|
431643
|
+
{
|
|
431644
|
+
cmd: "/proxy status",
|
|
431645
|
+
ic: "proxy",
|
|
431646
|
+
desc: "Proxy status & accounts",
|
|
431647
|
+
category: "Models",
|
|
431648
|
+
tags: ["info"]
|
|
431649
|
+
},
|
|
431650
|
+
{
|
|
431651
|
+
cmd: "/proxy stop",
|
|
431652
|
+
ic: "proxy",
|
|
431653
|
+
desc: "Stop the proxy",
|
|
431654
|
+
category: "Models",
|
|
431655
|
+
tags: ["kill"]
|
|
431656
|
+
},
|
|
431657
|
+
{
|
|
431658
|
+
cmd: "/proxy upgrade",
|
|
431659
|
+
ic: "proxy",
|
|
431660
|
+
desc: "Upgrade to latest version",
|
|
431661
|
+
category: "Models",
|
|
431662
|
+
tags: ["update"]
|
|
431663
|
+
},
|
|
431664
|
+
{
|
|
431665
|
+
cmd: "/router",
|
|
431666
|
+
ic: "router",
|
|
431667
|
+
desc: "Route models per task (code, explore, plan, verify)",
|
|
431668
|
+
category: "Models",
|
|
431669
|
+
tags: ["dispatch", "routing"]
|
|
431670
|
+
},
|
|
431671
|
+
{
|
|
431672
|
+
cmd: "/web-search",
|
|
431673
|
+
ic: "cog",
|
|
431674
|
+
desc: "Web search keys & settings",
|
|
431675
|
+
category: "Models",
|
|
431676
|
+
tags: ["search", "api"]
|
|
431677
|
+
},
|
|
431678
|
+
{
|
|
431679
|
+
cmd: "/context",
|
|
431680
|
+
ic: "context",
|
|
431681
|
+
desc: "Context & system dashboard",
|
|
431682
|
+
category: "Intelligence",
|
|
431683
|
+
tags: ["tokens", "budget", "status"]
|
|
431684
|
+
},
|
|
431685
|
+
{
|
|
431686
|
+
cmd: "/context clear",
|
|
431687
|
+
ic: "context",
|
|
431688
|
+
desc: "Clear injected context (memory, skills)",
|
|
431689
|
+
category: "Intelligence",
|
|
431690
|
+
tags: ["reset"]
|
|
431691
|
+
},
|
|
431692
|
+
{
|
|
431693
|
+
cmd: "/diagnose",
|
|
431694
|
+
ic: "brain",
|
|
431695
|
+
desc: "Health check \u2014 LSP, tree-sitter, semantic indexing",
|
|
431696
|
+
category: "Intelligence",
|
|
431697
|
+
tags: ["health", "debug", "probe"]
|
|
431698
|
+
},
|
|
431699
|
+
{
|
|
431700
|
+
cmd: "/lsp",
|
|
431701
|
+
ic: "brain",
|
|
431702
|
+
desc: "Manage LSP servers \u2014 install, disable, enable",
|
|
431703
|
+
category: "Intelligence",
|
|
431704
|
+
tags: ["language", "server", "mason", "disable"]
|
|
431705
|
+
},
|
|
431706
|
+
{
|
|
431707
|
+
cmd: "/lsp install",
|
|
431708
|
+
ic: "brain",
|
|
431709
|
+
desc: "Install & manage LSP servers (Mason registry)",
|
|
431710
|
+
category: "Intelligence",
|
|
431711
|
+
tags: ["mason", "install", "search"]
|
|
431712
|
+
},
|
|
431713
|
+
{
|
|
431714
|
+
cmd: "/lsp restart",
|
|
431715
|
+
ic: "brain",
|
|
431716
|
+
desc: "Restart LSP servers (all or specific)",
|
|
431717
|
+
category: "Intelligence",
|
|
431718
|
+
tags: ["restart"]
|
|
431719
|
+
},
|
|
431720
|
+
{
|
|
431721
|
+
cmd: "/lsp status",
|
|
431722
|
+
ic: "brain",
|
|
431723
|
+
desc: "LSP status dashboard",
|
|
431724
|
+
category: "Intelligence",
|
|
431725
|
+
tags: ["language", "server"]
|
|
431726
|
+
},
|
|
431727
|
+
{
|
|
431728
|
+
cmd: "/memory",
|
|
431729
|
+
ic: "memory",
|
|
431730
|
+
desc: "Manage memory scopes, view & clear",
|
|
431731
|
+
category: "Intelligence",
|
|
431732
|
+
tags: ["recall", "knowledge"]
|
|
431733
|
+
},
|
|
431734
|
+
{
|
|
431735
|
+
cmd: "/repo-map",
|
|
431736
|
+
ic: "tree",
|
|
431737
|
+
desc: "Soul map settings (AST index)",
|
|
431738
|
+
category: "Intelligence",
|
|
431739
|
+
tags: ["semantic", "treesitter"]
|
|
431740
|
+
},
|
|
431741
|
+
{
|
|
431742
|
+
cmd: "/skills",
|
|
431743
|
+
ic: "skills",
|
|
431744
|
+
desc: "Browse & install skills",
|
|
431745
|
+
category: "Intelligence",
|
|
431746
|
+
tags: ["plugins", "extensions"]
|
|
431747
|
+
},
|
|
431748
|
+
{
|
|
431749
|
+
cmd: "/tools",
|
|
431750
|
+
ic: "search",
|
|
431751
|
+
desc: "Enable/disable tools for the agent",
|
|
431752
|
+
category: "Intelligence",
|
|
431753
|
+
tags: ["tools", "enable", "disable", "toggle"]
|
|
431754
|
+
},
|
|
431755
|
+
{
|
|
431756
|
+
cmd: "/agent-features",
|
|
431757
|
+
ic: "cog",
|
|
431758
|
+
desc: "Toggle agent features (de-sloppify, tier routing)",
|
|
431759
|
+
category: "Settings",
|
|
431760
|
+
tags: ["config", "desloppify", "routing", "verify"]
|
|
431761
|
+
},
|
|
431762
|
+
{
|
|
431763
|
+
cmd: "/chat-style",
|
|
431764
|
+
ic: "chat",
|
|
431765
|
+
desc: "Toggle chat layout style",
|
|
431766
|
+
category: "Settings",
|
|
431767
|
+
tags: ["accent", "bubble", "ui"]
|
|
431768
|
+
},
|
|
431769
|
+
{
|
|
431770
|
+
cmd: "/diff-style",
|
|
431771
|
+
ic: "git",
|
|
431772
|
+
desc: "Change diff display style",
|
|
431773
|
+
category: "Settings",
|
|
431774
|
+
tags: ["sidebyside", "compact"]
|
|
431775
|
+
},
|
|
431776
|
+
{
|
|
431777
|
+
cmd: "/font",
|
|
431778
|
+
ic: "pencil",
|
|
431779
|
+
desc: "Terminal font \u2014 show, set, nerd",
|
|
431780
|
+
category: "Settings",
|
|
431781
|
+
tags: ["nerd", "terminal"]
|
|
431782
|
+
},
|
|
431783
|
+
{
|
|
431784
|
+
cmd: "/font nerd",
|
|
431785
|
+
ic: "ghost",
|
|
431786
|
+
desc: "Toggle Nerd Font icons",
|
|
431787
|
+
category: "Settings",
|
|
431788
|
+
tags: ["icons", "terminal"]
|
|
431789
|
+
},
|
|
431790
|
+
{
|
|
431791
|
+
cmd: "/font set",
|
|
431792
|
+
ic: "pencil",
|
|
431793
|
+
desc: "Set terminal font",
|
|
431794
|
+
category: "Settings",
|
|
431795
|
+
tags: ["nerd", "terminal"]
|
|
431796
|
+
},
|
|
431797
|
+
{
|
|
431798
|
+
cmd: "/instructions",
|
|
431799
|
+
ic: "system",
|
|
431800
|
+
desc: "Toggle instruction files (SOULFORGE.md, CLAUDE.md, etc.)",
|
|
431801
|
+
category: "Settings",
|
|
431802
|
+
tags: ["prompt", "config"]
|
|
431803
|
+
},
|
|
431804
|
+
{
|
|
431805
|
+
cmd: "/mode",
|
|
431806
|
+
ic: "cog",
|
|
431807
|
+
desc: "Switch forge mode",
|
|
431808
|
+
category: "Settings",
|
|
431809
|
+
tags: ["architect", "socratic", "challenge", "plan", "auto"]
|
|
431810
|
+
},
|
|
431811
|
+
{
|
|
431812
|
+
cmd: "/nvim-config",
|
|
431813
|
+
ic: "pencil",
|
|
431814
|
+
desc: "Switch neovim config mode",
|
|
431815
|
+
category: "Settings",
|
|
431816
|
+
tags: ["editor", "neovim"]
|
|
431817
|
+
},
|
|
431818
|
+
{
|
|
431819
|
+
cmd: "/reasoning",
|
|
431820
|
+
ic: "brain",
|
|
431821
|
+
desc: "Show or hide reasoning content",
|
|
431822
|
+
category: "Settings",
|
|
431823
|
+
tags: ["thinking", "display"]
|
|
431824
|
+
},
|
|
431825
|
+
{
|
|
431826
|
+
cmd: "/settings",
|
|
431827
|
+
ic: "cog",
|
|
431828
|
+
desc: "Settings hub \u2014 all options in one place",
|
|
431829
|
+
category: "Settings",
|
|
431830
|
+
tags: ["config", "preferences", "hub"]
|
|
431831
|
+
},
|
|
431832
|
+
{
|
|
431833
|
+
cmd: "/theme",
|
|
431834
|
+
ic: "palette",
|
|
431835
|
+
desc: "Switch color theme (live preview)",
|
|
431836
|
+
category: "Settings",
|
|
431837
|
+
tags: ["color", "dark", "light", "catppuccin", "dracula", "nord", "gruvbox", "solarized"]
|
|
431838
|
+
},
|
|
431839
|
+
{
|
|
431840
|
+
cmd: "/verbose",
|
|
431841
|
+
ic: "cog",
|
|
431842
|
+
desc: "Toggle verbose tool output",
|
|
431843
|
+
category: "Settings",
|
|
431844
|
+
tags: ["debug", "output"]
|
|
431845
|
+
},
|
|
431846
|
+
{
|
|
431847
|
+
cmd: "/vim-hints",
|
|
431848
|
+
ic: "pencil",
|
|
431849
|
+
desc: "Toggle vim keybinding hints",
|
|
431850
|
+
category: "Settings",
|
|
431851
|
+
tags: ["editor", "keybindings"]
|
|
431852
|
+
},
|
|
431853
|
+
{
|
|
431854
|
+
cmd: "/editor",
|
|
431855
|
+
ic: "pencil",
|
|
431856
|
+
desc: "Editor \u2014 toggle, open, settings, split",
|
|
431857
|
+
category: "Editor",
|
|
431858
|
+
tags: ["neovim", "toggle"]
|
|
431859
|
+
},
|
|
431860
|
+
{
|
|
431861
|
+
cmd: "/editor open",
|
|
431862
|
+
ic: "changes",
|
|
431863
|
+
desc: "Open file in editor",
|
|
431864
|
+
category: "Editor",
|
|
431865
|
+
tags: ["file"]
|
|
431866
|
+
},
|
|
431867
|
+
{
|
|
431868
|
+
cmd: "/editor settings",
|
|
431869
|
+
ic: "cog",
|
|
431870
|
+
desc: "Toggle editor/LSP integrations",
|
|
431871
|
+
category: "Editor",
|
|
431872
|
+
tags: ["config", "lsp"]
|
|
431873
|
+
},
|
|
431874
|
+
{
|
|
431875
|
+
cmd: "/editor split",
|
|
431876
|
+
ic: "pencil",
|
|
431877
|
+
desc: "Cycle editor/chat split (40/50/60/70)",
|
|
431878
|
+
category: "Editor",
|
|
431879
|
+
tags: ["layout", "resize"]
|
|
431880
|
+
},
|
|
431881
|
+
{
|
|
431882
|
+
cmd: "/changes",
|
|
431883
|
+
ic: "changes",
|
|
431884
|
+
desc: "Toggle files changed this session",
|
|
431885
|
+
category: "Tabs",
|
|
431886
|
+
tags: ["files", "diff", "modified"]
|
|
431887
|
+
},
|
|
431888
|
+
{
|
|
431889
|
+
cmd: "/claim",
|
|
431890
|
+
ic: "lock",
|
|
431891
|
+
desc: "Show active file claims across tabs",
|
|
431892
|
+
category: "Tabs",
|
|
431893
|
+
tags: ["lock"]
|
|
431894
|
+
},
|
|
431895
|
+
{
|
|
431896
|
+
cmd: "/claim force",
|
|
431897
|
+
ic: "lock",
|
|
431898
|
+
desc: "Steal a file claim from another tab",
|
|
431899
|
+
category: "Tabs",
|
|
431900
|
+
tags: ["lock"]
|
|
431901
|
+
},
|
|
431902
|
+
{
|
|
431903
|
+
cmd: "/claim release",
|
|
431904
|
+
ic: "lock",
|
|
431905
|
+
desc: "Release a file claim from current tab",
|
|
431906
|
+
category: "Tabs",
|
|
431907
|
+
tags: ["lock"]
|
|
431908
|
+
},
|
|
431909
|
+
{
|
|
431910
|
+
cmd: "/claim release-all",
|
|
431911
|
+
ic: "lock",
|
|
431912
|
+
desc: "Release all claims from current tab",
|
|
431913
|
+
category: "Tabs",
|
|
431914
|
+
tags: ["lock"]
|
|
431915
|
+
},
|
|
431916
|
+
{
|
|
431917
|
+
cmd: "/tab",
|
|
431918
|
+
ic: "tabs",
|
|
431919
|
+
desc: "Tabs \u2014 switch, new, close, rename",
|
|
431920
|
+
category: "Tabs",
|
|
431921
|
+
tags: ["switch", "list"]
|
|
431922
|
+
},
|
|
431923
|
+
{
|
|
431924
|
+
cmd: "/tab close",
|
|
431925
|
+
ic: "tabs",
|
|
431926
|
+
desc: "Close current tab (Ctrl+W)",
|
|
431927
|
+
category: "Tabs",
|
|
431928
|
+
tags: ["remove"]
|
|
431929
|
+
},
|
|
431930
|
+
{
|
|
431931
|
+
cmd: "/tab new",
|
|
431932
|
+
ic: "tabs",
|
|
431933
|
+
desc: "Open new tab (Ctrl+T)",
|
|
431934
|
+
category: "Tabs",
|
|
431935
|
+
tags: ["create"]
|
|
431936
|
+
},
|
|
431937
|
+
{
|
|
431938
|
+
cmd: "/tab rename",
|
|
431939
|
+
ic: "pencil",
|
|
431940
|
+
desc: "Rename current tab",
|
|
431941
|
+
category: "Tabs",
|
|
431942
|
+
tags: ["label"]
|
|
431943
|
+
},
|
|
431944
|
+
{
|
|
431945
|
+
cmd: "/terminals",
|
|
431946
|
+
ic: "terminal",
|
|
431947
|
+
desc: "Terminal manager \u2014 new, close, show, hide, rename",
|
|
431948
|
+
category: "Tabs",
|
|
431949
|
+
tags: ["shell", "term", "pty", "terminal"]
|
|
431950
|
+
},
|
|
431951
|
+
{
|
|
431952
|
+
cmd: "/terminals close",
|
|
431953
|
+
ic: "terminal",
|
|
431954
|
+
desc: "Close a terminal",
|
|
431955
|
+
category: "Tabs",
|
|
431956
|
+
tags: ["kill"]
|
|
431957
|
+
},
|
|
431958
|
+
{
|
|
431959
|
+
cmd: "/terminals hide",
|
|
431960
|
+
ic: "terminal",
|
|
431961
|
+
desc: "Hide terminal panel",
|
|
431962
|
+
category: "Tabs",
|
|
431963
|
+
tags: ["close"]
|
|
431964
|
+
},
|
|
431965
|
+
{
|
|
431966
|
+
cmd: "/terminals new",
|
|
431967
|
+
ic: "terminal",
|
|
431968
|
+
desc: "Spawn a new terminal",
|
|
431969
|
+
category: "Tabs",
|
|
431970
|
+
tags: ["create", "shell"]
|
|
431971
|
+
},
|
|
431972
|
+
{
|
|
431973
|
+
cmd: "/terminals rename",
|
|
431974
|
+
ic: "terminal",
|
|
431975
|
+
desc: "Rename a terminal",
|
|
431976
|
+
category: "Tabs",
|
|
431977
|
+
tags: ["label"]
|
|
431978
|
+
},
|
|
431979
|
+
{
|
|
431980
|
+
cmd: "/terminals show",
|
|
431981
|
+
ic: "terminal",
|
|
431982
|
+
desc: "Show terminal panel",
|
|
431983
|
+
category: "Tabs",
|
|
431984
|
+
tags: ["open"]
|
|
431985
|
+
},
|
|
431986
|
+
{
|
|
431987
|
+
cmd: "/errors",
|
|
431988
|
+
ic: "error",
|
|
431989
|
+
desc: "Browse error log",
|
|
431990
|
+
category: "System",
|
|
431991
|
+
tags: ["debug", "log"]
|
|
431992
|
+
},
|
|
431993
|
+
{
|
|
431994
|
+
cmd: "/help",
|
|
431995
|
+
ic: "help",
|
|
431996
|
+
desc: "Command palette (Ctrl+K)",
|
|
431997
|
+
category: "System",
|
|
431998
|
+
tags: ["commands", "search"]
|
|
431999
|
+
},
|
|
432000
|
+
{
|
|
432001
|
+
cmd: "/privacy",
|
|
432002
|
+
ic: "lock",
|
|
432003
|
+
desc: "Manage forbidden file patterns",
|
|
432004
|
+
category: "System",
|
|
432005
|
+
tags: ["security", "forbidden"]
|
|
432006
|
+
},
|
|
432007
|
+
{
|
|
432008
|
+
cmd: "/quit",
|
|
432009
|
+
ic: "quit",
|
|
432010
|
+
desc: "Exit SoulForge",
|
|
432011
|
+
category: "System",
|
|
432012
|
+
tags: ["exit", "close"]
|
|
432013
|
+
},
|
|
432014
|
+
{
|
|
432015
|
+
cmd: "/restart",
|
|
432016
|
+
ic: "ghost",
|
|
432017
|
+
desc: "Full restart",
|
|
432018
|
+
category: "System",
|
|
432019
|
+
tags: ["reboot"]
|
|
432020
|
+
},
|
|
432021
|
+
{
|
|
432022
|
+
cmd: "/setup",
|
|
432023
|
+
ic: "ghost",
|
|
432024
|
+
desc: "Check & install prerequisites",
|
|
432025
|
+
category: "System",
|
|
432026
|
+
tags: ["install", "check"]
|
|
432027
|
+
},
|
|
432028
|
+
{
|
|
432029
|
+
cmd: "/status",
|
|
432030
|
+
ic: "info",
|
|
432031
|
+
desc: "System status dashboard",
|
|
432032
|
+
category: "System",
|
|
432033
|
+
tags: ["info", "health", "context", "tokens"]
|
|
432034
|
+
},
|
|
432035
|
+
{
|
|
432036
|
+
cmd: "/storage",
|
|
432037
|
+
ic: "system",
|
|
432038
|
+
desc: "View & manage storage usage",
|
|
432039
|
+
category: "System",
|
|
432040
|
+
tags: ["disk", "cleanup"]
|
|
432041
|
+
},
|
|
432042
|
+
{
|
|
432043
|
+
cmd: "/update",
|
|
432044
|
+
ic: "ghost",
|
|
432045
|
+
desc: "Check for SoulForge updates",
|
|
432046
|
+
category: "System",
|
|
432047
|
+
tags: ["upgrade", "version"]
|
|
432048
|
+
},
|
|
432049
|
+
{
|
|
432050
|
+
cmd: "/wizard",
|
|
432051
|
+
ic: "ghost",
|
|
432052
|
+
desc: "Re-run the first-run setup wizard",
|
|
432053
|
+
category: "System",
|
|
432054
|
+
tags: ["onboarding", "setup", "welcome"]
|
|
432055
|
+
}
|
|
432056
|
+
];
|
|
431902
432057
|
});
|
|
431903
432058
|
|
|
431904
432059
|
// src/core/terminal/suspend.ts
|
|
@@ -438801,6 +438956,9 @@ ${description}`,
|
|
|
438801
438956
|
if (tc) {
|
|
438802
438957
|
tc.state = "done";
|
|
438803
438958
|
tc.result = resultStr;
|
|
438959
|
+
if (typeof part.output === "object" && part.output !== null && "_imageArt" in part.output) {
|
|
438960
|
+
tc.imageArt = part.output._imageArt;
|
|
438961
|
+
}
|
|
438804
438962
|
}
|
|
438805
438963
|
toolCharsRef.current += resultStr.length;
|
|
438806
438964
|
const parsedArgs = safeParseArgs(toolCallArgs.get(part.toolCallId));
|
|
@@ -438829,12 +438987,17 @@ ${description}`,
|
|
|
438829
438987
|
if (d3.miniForge)
|
|
438830
438988
|
toolResult.miniForge = true;
|
|
438831
438989
|
}
|
|
438832
|
-
|
|
438990
|
+
const streamingTc = tcBuf.find((c) => c.id === part.toolCallId);
|
|
438991
|
+
const completedCall = {
|
|
438833
438992
|
id: part.toolCallId,
|
|
438834
438993
|
name: part.toolName,
|
|
438835
438994
|
args: parsedArgs,
|
|
438836
438995
|
result: toolResult
|
|
438837
|
-
}
|
|
438996
|
+
};
|
|
438997
|
+
if (streamingTc?.imageArt) {
|
|
438998
|
+
completedCall.imageArt = streamingTc.imageArt;
|
|
438999
|
+
}
|
|
439000
|
+
completedCalls.push(completedCall);
|
|
438838
439001
|
if (workingStateRef.current) {
|
|
438839
439002
|
extractFromToolCall(workingStateRef.current, part.toolName, parsedArgs);
|
|
438840
439003
|
extractFromToolResult(workingStateRef.current, part.toolName, resultStr, parsedArgs);
|
|
@@ -439856,7 +440019,7 @@ var init_InputBox = __esm(async () => {
|
|
|
439856
440019
|
indices: m5.indices
|
|
439857
440020
|
});
|
|
439858
440021
|
}
|
|
439859
|
-
results.sort((a2, b5) => b5.score - a2.score);
|
|
440022
|
+
results.sort((a2, b5) => b5.score - a2.score || a2.cmd.localeCompare(b5.cmd));
|
|
439860
440023
|
return results;
|
|
439861
440024
|
}, [showAutocomplete, commandToken]);
|
|
439862
440025
|
const hasMatches = matches3.length > 0;
|
|
@@ -444912,7 +445075,7 @@ var init_tool_formatters = __esm(async () => {
|
|
|
444912
445075
|
|
|
444913
445076
|
// src/components/chat/StaticToolRow.tsx
|
|
444914
445077
|
function StaticToolRow(t0) {
|
|
444915
|
-
const $5 = import_compiler_runtime17.c(
|
|
445078
|
+
const $5 = import_compiler_runtime17.c(56);
|
|
444916
445079
|
const {
|
|
444917
445080
|
statusContent,
|
|
444918
445081
|
isDone,
|
|
@@ -444929,7 +445092,8 @@ function StaticToolRow(t0) {
|
|
|
444929
445092
|
suffix,
|
|
444930
445093
|
suffixColor,
|
|
444931
445094
|
diff,
|
|
444932
|
-
diffStyle: t1
|
|
445095
|
+
diffStyle: t1,
|
|
445096
|
+
imageArt
|
|
444933
445097
|
} = t0;
|
|
444934
445098
|
const diffStyle = t1 === undefined ? "default" : t1;
|
|
444935
445099
|
const t2 = useTheme();
|
|
@@ -445142,21 +445306,44 @@ function StaticToolRow(t0) {
|
|
|
445142
445306
|
t11 = $5[49];
|
|
445143
445307
|
}
|
|
445144
445308
|
let t12;
|
|
445145
|
-
if ($5[50] !==
|
|
445146
|
-
t12 =
|
|
445309
|
+
if ($5[50] !== imageArt) {
|
|
445310
|
+
t12 = imageArt && imageArt.length > 0 ? imageArt.map(_temp17) : null;
|
|
445311
|
+
$5[50] = imageArt;
|
|
445312
|
+
$5[51] = t12;
|
|
445313
|
+
} else {
|
|
445314
|
+
t12 = $5[51];
|
|
445315
|
+
}
|
|
445316
|
+
let t13;
|
|
445317
|
+
if ($5[52] !== t10 || $5[53] !== t11 || $5[54] !== t12) {
|
|
445318
|
+
t13 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
445147
445319
|
flexDirection: "column",
|
|
445148
445320
|
children: [
|
|
445149
445321
|
t10,
|
|
445150
|
-
t11
|
|
445322
|
+
t11,
|
|
445323
|
+
t12
|
|
445151
445324
|
]
|
|
445152
445325
|
}, undefined, true, undefined, this);
|
|
445153
|
-
$5[
|
|
445154
|
-
$5[
|
|
445155
|
-
$5[
|
|
445326
|
+
$5[52] = t10;
|
|
445327
|
+
$5[53] = t11;
|
|
445328
|
+
$5[54] = t12;
|
|
445329
|
+
$5[55] = t13;
|
|
445156
445330
|
} else {
|
|
445157
|
-
|
|
445331
|
+
t13 = $5[55];
|
|
445158
445332
|
}
|
|
445159
|
-
return
|
|
445333
|
+
return t13;
|
|
445334
|
+
}
|
|
445335
|
+
function _temp17(img) {
|
|
445336
|
+
return /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
445337
|
+
flexDirection: "column",
|
|
445338
|
+
marginTop: 1,
|
|
445339
|
+
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("ghostty-terminal", {
|
|
445340
|
+
ansi: img.lines.join(`
|
|
445341
|
+
`),
|
|
445342
|
+
cols: 130,
|
|
445343
|
+
rows: img.lines.length,
|
|
445344
|
+
trimEnd: true
|
|
445345
|
+
}, undefined, false, undefined, this)
|
|
445346
|
+
}, img.name, false, undefined, this);
|
|
445160
445347
|
}
|
|
445161
445348
|
function resolveBackendCategory(toolCategory, backend) {
|
|
445162
445349
|
const hasSplit = !!(backend && toolCategory && backend !== toolCategory);
|
|
@@ -445298,7 +445485,8 @@ function buildLiveToolRowProps(tc, extra) {
|
|
|
445298
445485
|
suffix,
|
|
445299
445486
|
suffixColor,
|
|
445300
445487
|
diff,
|
|
445301
|
-
diffStyle: extra?.diffStyle
|
|
445488
|
+
diffStyle: extra?.diffStyle,
|
|
445489
|
+
imageArt: tc.imageArt
|
|
445302
445490
|
};
|
|
445303
445491
|
}
|
|
445304
445492
|
function buildFinalToolRowProps(tc) {
|
|
@@ -445359,7 +445547,8 @@ function buildFinalToolRowProps(tc) {
|
|
|
445359
445547
|
editResultText,
|
|
445360
445548
|
suffix,
|
|
445361
445549
|
suffixColor,
|
|
445362
|
-
diff
|
|
445550
|
+
diff,
|
|
445551
|
+
imageArt: tc.imageArt
|
|
445363
445552
|
};
|
|
445364
445553
|
}
|
|
445365
445554
|
var import_compiler_runtime17, EDIT_TOOL_NAMES2;
|
|
@@ -445565,7 +445754,7 @@ function SystemMessage(t0) {
|
|
|
445565
445754
|
setDone(true);
|
|
445566
445755
|
return;
|
|
445567
445756
|
}
|
|
445568
|
-
const timer = setTimeout(() => setStep(
|
|
445757
|
+
const timer = setTimeout(() => setStep(_temp18), REVEAL_INTERVAL);
|
|
445569
445758
|
return () => clearTimeout(timer);
|
|
445570
445759
|
};
|
|
445571
445760
|
t5 = [step, totalSteps, done];
|
|
@@ -445727,7 +445916,7 @@ function SystemMessage(t0) {
|
|
|
445727
445916
|
}
|
|
445728
445917
|
return t20;
|
|
445729
445918
|
}
|
|
445730
|
-
function
|
|
445919
|
+
function _temp18(s2) {
|
|
445731
445920
|
return s2 + 1;
|
|
445732
445921
|
}
|
|
445733
445922
|
function isFailedEditCall(tc) {
|
|
@@ -447252,7 +447441,7 @@ function DripText(t0) {
|
|
|
447252
447441
|
}
|
|
447253
447442
|
return t2;
|
|
447254
447443
|
}
|
|
447255
|
-
function
|
|
447444
|
+
function _temp19(tc) {
|
|
447256
447445
|
return [tc.id, tc];
|
|
447257
447446
|
}
|
|
447258
447447
|
function _temp27(tc_0) {
|
|
@@ -447287,7 +447476,7 @@ var init_StreamSegmentList = __esm(async () => {
|
|
|
447287
447476
|
const reasoningExpanded = t5 === undefined ? false : t5;
|
|
447288
447477
|
let t6;
|
|
447289
447478
|
if ($5[0] !== toolCalls) {
|
|
447290
|
-
t6 = new Map(toolCalls.map(
|
|
447479
|
+
t6 = new Map(toolCalls.map(_temp19));
|
|
447291
447480
|
$5[0] = toolCalls;
|
|
447292
447481
|
$5[1] = t6;
|
|
447293
447482
|
} else {
|
|
@@ -447474,7 +447663,7 @@ function TaskList(t0) {
|
|
|
447474
447663
|
}
|
|
447475
447664
|
let t3;
|
|
447476
447665
|
if ($5[6] !== tasks) {
|
|
447477
|
-
t3 = tasks.filter(
|
|
447666
|
+
t3 = tasks.filter(_temp20);
|
|
447478
447667
|
$5[6] = tasks;
|
|
447479
447668
|
$5[7] = t3;
|
|
447480
447669
|
} else {
|
|
@@ -447728,7 +447917,7 @@ function _temp37(t_1) {
|
|
|
447728
447917
|
function _temp28(t_0) {
|
|
447729
447918
|
return t_0.status === "in-progress";
|
|
447730
447919
|
}
|
|
447731
|
-
function
|
|
447920
|
+
function _temp20(t2) {
|
|
447732
447921
|
return t2.status === "done";
|
|
447733
447922
|
}
|
|
447734
447923
|
function TaskProgress(t0) {
|
|
@@ -447866,7 +448055,7 @@ function PlanProgress(t0) {
|
|
|
447866
448055
|
const STATUS_COLORS = t1;
|
|
447867
448056
|
let t22;
|
|
447868
448057
|
if ($5[5] !== plan.steps) {
|
|
447869
|
-
t22 = plan.steps.filter(
|
|
448058
|
+
t22 = plan.steps.filter(_temp21);
|
|
447870
448059
|
$5[5] = plan.steps;
|
|
447871
448060
|
$5[6] = t22;
|
|
447872
448061
|
} else {
|
|
@@ -448076,7 +448265,7 @@ function PlanProgress(t0) {
|
|
|
448076
448265
|
function _temp29(s_0) {
|
|
448077
448266
|
return s_0.status === "active";
|
|
448078
448267
|
}
|
|
448079
|
-
function
|
|
448268
|
+
function _temp21(s2) {
|
|
448080
448269
|
return s2.status === "done";
|
|
448081
448270
|
}
|
|
448082
448271
|
var import_compiler_runtime21, STATUS_ICONS, MAX_VISIBLE3 = 7;
|
|
@@ -448183,7 +448372,7 @@ function PlanReviewPrompt(t0) {
|
|
|
448183
448372
|
if (plan.depth === "light") {
|
|
448184
448373
|
let t72;
|
|
448185
448374
|
if ($5[13] !== allOptions) {
|
|
448186
|
-
t72 = allOptions.filter(
|
|
448375
|
+
t72 = allOptions.filter(_temp30);
|
|
448187
448376
|
$5[13] = allOptions;
|
|
448188
448377
|
$5[14] = t72;
|
|
448189
448378
|
} else {
|
|
@@ -448556,7 +448745,7 @@ function PlanReviewPrompt(t0) {
|
|
|
448556
448745
|
}
|
|
448557
448746
|
return t20;
|
|
448558
448747
|
}
|
|
448559
|
-
function
|
|
448748
|
+
function _temp30(o3) {
|
|
448560
448749
|
return o3.id !== "clear_implement";
|
|
448561
448750
|
}
|
|
448562
448751
|
var import_compiler_runtime22, import_react44;
|
|
@@ -448893,7 +449082,7 @@ function useChangedFiles(messages) {
|
|
|
448893
449082
|
}
|
|
448894
449083
|
}
|
|
448895
449084
|
}
|
|
448896
|
-
t0 = [...fileMap.values()].sort(
|
|
449085
|
+
t0 = [...fileMap.values()].sort(_temp38);
|
|
448897
449086
|
$5[0] = messages;
|
|
448898
449087
|
$5[1] = t0;
|
|
448899
449088
|
} else {
|
|
@@ -448901,7 +449090,7 @@ function useChangedFiles(messages) {
|
|
|
448901
449090
|
}
|
|
448902
449091
|
return t0;
|
|
448903
449092
|
}
|
|
448904
|
-
function
|
|
449093
|
+
function _temp38(a2, b5) {
|
|
448905
449094
|
return a2.path.localeCompare(b5.path);
|
|
448906
449095
|
}
|
|
448907
449096
|
function ChangedFilesBar(t0) {
|
|
@@ -449263,7 +449452,7 @@ function ChangesSection(t0) {
|
|
|
449263
449452
|
const rows = t1;
|
|
449264
449453
|
let t22;
|
|
449265
449454
|
if ($5[4] !== files) {
|
|
449266
|
-
t22 = files.filter(
|
|
449455
|
+
t22 = files.filter(_temp39);
|
|
449267
449456
|
$5[4] = files;
|
|
449268
449457
|
$5[5] = t22;
|
|
449269
449458
|
} else {
|
|
@@ -449485,7 +449674,7 @@ function ChangesSection(t0) {
|
|
|
449485
449674
|
}
|
|
449486
449675
|
return t13;
|
|
449487
449676
|
}
|
|
449488
|
-
function
|
|
449677
|
+
function _temp39(f3) {
|
|
449489
449678
|
return f3.created;
|
|
449490
449679
|
}
|
|
449491
449680
|
function ChangesPanel(t0) {
|
|
@@ -449605,7 +449794,7 @@ function ScanDivider(t0) {
|
|
|
449605
449794
|
if ($5[8] !== chars) {
|
|
449606
449795
|
t4 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
449607
449796
|
flexDirection: "row",
|
|
449608
|
-
children: chars.map(
|
|
449797
|
+
children: chars.map(_temp40)
|
|
449609
449798
|
}, undefined, false, undefined, this);
|
|
449610
449799
|
$5[8] = chars;
|
|
449611
449800
|
$5[9] = t4;
|
|
@@ -449614,7 +449803,7 @@ function ScanDivider(t0) {
|
|
|
449614
449803
|
}
|
|
449615
449804
|
return t4;
|
|
449616
449805
|
}
|
|
449617
|
-
function
|
|
449806
|
+
function _temp40(c, i_0) {
|
|
449618
449807
|
return /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
449619
449808
|
fg: c.color,
|
|
449620
449809
|
children: c.ch
|
|
@@ -449822,7 +450011,7 @@ function LandingPage(t0) {
|
|
|
449822
450011
|
import_react50.useEffect(t6, t7);
|
|
449823
450012
|
let t8;
|
|
449824
450013
|
if ($5[15] !== bootProviders) {
|
|
449825
|
-
t8 = bootProviders.filter(
|
|
450014
|
+
t8 = bootProviders.filter(_temp311);
|
|
449826
450015
|
$5[15] = bootProviders;
|
|
449827
450016
|
$5[16] = t8;
|
|
449828
450017
|
} else {
|
|
@@ -450237,7 +450426,7 @@ function _temp53(p_1) {
|
|
|
450237
450426
|
function _temp46(p_0) {
|
|
450238
450427
|
return !p_0.available;
|
|
450239
450428
|
}
|
|
450240
|
-
function
|
|
450429
|
+
function _temp311(p2) {
|
|
450241
450430
|
return p2.available;
|
|
450242
450431
|
}
|
|
450243
450432
|
function _temp211(s2) {
|
|
@@ -460416,119 +460605,62 @@ var init_DiagnosePopup = __esm(async () => {
|
|
|
460416
460605
|
});
|
|
460417
460606
|
|
|
460418
460607
|
// src/components/modals/wizard/data.ts
|
|
460419
|
-
var STEPS, STEP_LABELS,
|
|
460608
|
+
var STEPS, STEP_LABELS, SHORTCUTS2, INTELLIGENCE_ITEMS, WORKFLOW_ITEMS, WELCOME_BULLETS, QUICK_START, WELCOME_TITLE = "Welcome to SoulForge", TYPEWRITER_MS = 45, BLINK_COUNT = 4, BLINK_MS = 300, BLINK_INITIAL_MS = 400, MAX_W = 100;
|
|
460420
460609
|
var init_data = __esm(() => {
|
|
460421
|
-
STEPS = ["welcome", "setup", "
|
|
460610
|
+
STEPS = ["welcome", "setup", "intelligence", "workflow", "shortcuts", "theme", "ready"];
|
|
460422
460611
|
STEP_LABELS = {
|
|
460423
460612
|
welcome: "Welcome",
|
|
460424
460613
|
setup: "Provider & Key",
|
|
460425
|
-
|
|
460614
|
+
intelligence: "Intelligence",
|
|
460615
|
+
workflow: "Workflow",
|
|
460426
460616
|
shortcuts: "Shortcuts",
|
|
460427
460617
|
theme: "Theme",
|
|
460428
460618
|
ready: "Ready"
|
|
460429
460619
|
};
|
|
460430
|
-
FEATURES = [{
|
|
460431
|
-
section: "Editor & Intelligence",
|
|
460432
|
-
items: [{
|
|
460433
|
-
ic: "editor",
|
|
460434
|
-
title: "Editor Panel",
|
|
460435
|
-
keys: "Ctrl+E",
|
|
460436
|
-
desc: "Built-in Neovim with LSP, diagnostics, hover, go-to-def"
|
|
460437
|
-
}, {
|
|
460438
|
-
ic: "search",
|
|
460439
|
-
title: "Soul Map",
|
|
460440
|
-
keys: "/repo-map",
|
|
460441
|
-
desc: "AST index of your entire codebase for smart context"
|
|
460442
|
-
}, {
|
|
460443
|
-
ic: "brain",
|
|
460444
|
-
title: "Code Intelligence",
|
|
460445
|
-
keys: "/lsp",
|
|
460446
|
-
desc: "Tree-sitter + LSP \u2014 symbols, refs, rename"
|
|
460447
|
-
}]
|
|
460448
|
-
}, {
|
|
460449
|
-
section: "Workflow",
|
|
460450
|
-
items: [{
|
|
460451
|
-
ic: "chat",
|
|
460452
|
-
title: "Tabs & Sessions",
|
|
460453
|
-
keys: "Ctrl+T / Ctrl+P",
|
|
460454
|
-
desc: "Multiple chats, browse & restore sessions"
|
|
460455
|
-
}, {
|
|
460456
|
-
ic: "git",
|
|
460457
|
-
title: "Git Integration",
|
|
460458
|
-
keys: "Ctrl+G",
|
|
460459
|
-
desc: "Commit, diff, branch \u2014 AI adds co-author tag"
|
|
460460
|
-
}, {
|
|
460461
|
-
ic: "ai",
|
|
460462
|
-
title: "Task Router",
|
|
460463
|
-
keys: "/router",
|
|
460464
|
-
desc: "Route coding, search, compact to different models"
|
|
460465
|
-
}, {
|
|
460466
|
-
ic: "skills",
|
|
460467
|
-
title: "Skills & Plugins",
|
|
460468
|
-
keys: "Ctrl+S",
|
|
460469
|
-
desc: "Browse & install community skills"
|
|
460470
|
-
}]
|
|
460471
|
-
}];
|
|
460472
|
-
MODES = ["auto", "default", "architect", "plan", "socratic", "challenge"];
|
|
460473
460620
|
SHORTCUTS2 = [{
|
|
460474
|
-
section: "
|
|
460621
|
+
section: "Most Used",
|
|
460475
460622
|
items: [{
|
|
460476
|
-
keys: "Ctrl+L",
|
|
460477
|
-
desc: "Model selector",
|
|
460478
|
-
slash: false
|
|
460479
|
-
}, {
|
|
460480
460623
|
keys: "Ctrl+K",
|
|
460481
460624
|
desc: "Command palette \u2014 search all commands",
|
|
460482
460625
|
slash: false
|
|
460483
460626
|
}, {
|
|
460484
|
-
keys: "Ctrl+
|
|
460485
|
-
desc: "
|
|
460627
|
+
keys: "Ctrl+L",
|
|
460628
|
+
desc: "Switch model",
|
|
460486
460629
|
slash: false
|
|
460487
460630
|
}, {
|
|
460488
460631
|
keys: "Ctrl+E",
|
|
460489
460632
|
desc: "Toggle editor panel",
|
|
460490
460633
|
slash: false
|
|
460491
|
-
}]
|
|
460492
|
-
}, {
|
|
460493
|
-
section: "Workflow",
|
|
460494
|
-
items: [{
|
|
460495
|
-
keys: "Ctrl+G",
|
|
460496
|
-
desc: "Git menu \u2014 commit, diff, branch",
|
|
460497
|
-
slash: false
|
|
460498
460634
|
}, {
|
|
460499
460635
|
keys: "Ctrl+T",
|
|
460500
460636
|
desc: "New tab",
|
|
460501
460637
|
slash: false
|
|
460502
|
-
}, {
|
|
460503
|
-
keys: "Ctrl+N",
|
|
460504
|
-
desc: "New session (clear chat)",
|
|
460505
|
-
slash: false
|
|
460506
460638
|
}, {
|
|
460507
460639
|
keys: "Ctrl+W",
|
|
460508
460640
|
desc: "Close tab",
|
|
460509
460641
|
slash: false
|
|
460510
460642
|
}, {
|
|
460511
|
-
keys: "Ctrl+
|
|
460512
|
-
desc: "
|
|
460643
|
+
keys: "Ctrl+G",
|
|
460644
|
+
desc: "Git menu",
|
|
460513
460645
|
slash: false
|
|
460514
460646
|
}, {
|
|
460515
|
-
keys: "Ctrl+
|
|
460516
|
-
desc: "
|
|
460647
|
+
keys: "Ctrl+S",
|
|
460648
|
+
desc: "Skills browser",
|
|
460517
460649
|
slash: false
|
|
460518
460650
|
}, {
|
|
460519
|
-
keys: "Ctrl+
|
|
460520
|
-
desc: "
|
|
460651
|
+
keys: "Ctrl+D",
|
|
460652
|
+
desc: "Cycle mode",
|
|
460521
460653
|
slash: false
|
|
460522
460654
|
}, {
|
|
460523
460655
|
keys: "Ctrl+C",
|
|
460524
|
-
desc: "Cancel
|
|
460656
|
+
desc: "Cancel generation",
|
|
460525
460657
|
slash: false
|
|
460526
460658
|
}]
|
|
460527
460659
|
}, {
|
|
460528
|
-
section: "
|
|
460660
|
+
section: "Quick Commands",
|
|
460529
460661
|
items: [{
|
|
460530
460662
|
keys: "/help",
|
|
460531
|
-
desc: "
|
|
460663
|
+
desc: "All commands & shortcuts",
|
|
460532
460664
|
slash: true
|
|
460533
460665
|
}, {
|
|
460534
460666
|
keys: "/setup",
|
|
@@ -460536,22 +460668,76 @@ var init_data = __esm(() => {
|
|
|
460536
460668
|
slash: true
|
|
460537
460669
|
}, {
|
|
460538
460670
|
keys: "/settings",
|
|
460539
|
-
desc: "Settings hub \u2014 all options",
|
|
460671
|
+
desc: "Settings hub \u2014 all options in one place",
|
|
460540
460672
|
slash: true
|
|
460541
460673
|
}, {
|
|
460542
460674
|
keys: "/keys",
|
|
460543
460675
|
desc: "Manage API keys",
|
|
460544
460676
|
slash: true
|
|
460545
|
-
}, {
|
|
460546
|
-
keys: "/privacy",
|
|
460547
|
-
desc: "Manage forbidden file patterns",
|
|
460548
|
-
slash: true
|
|
460549
|
-
}, {
|
|
460550
|
-
keys: "/sessions",
|
|
460551
|
-
desc: "Browse & restore sessions",
|
|
460552
|
-
slash: true
|
|
460553
460677
|
}]
|
|
460554
460678
|
}];
|
|
460679
|
+
INTELLIGENCE_ITEMS = [{
|
|
460680
|
+
ic: "repomap",
|
|
460681
|
+
title: "Soul Map",
|
|
460682
|
+
cmd: "/repo-map",
|
|
460683
|
+
desc: "Live AST index of your entire codebase \u2014 files, symbols, signatures, dependencies",
|
|
460684
|
+
bullets: ["Tree-sitter parses every file \u2192 exports, types, functions with line numbers", "PageRank ranks files by importance \u2014 AI sees the most relevant code first", "Summaries: [AST] structure \xB7 [AST+SYN] + synthetic \xB7 [AST+LLM] + AI-generated"]
|
|
460685
|
+
}, {
|
|
460686
|
+
ic: "editor",
|
|
460687
|
+
title: "Editor & LSP",
|
|
460688
|
+
cmd: "Ctrl+E",
|
|
460689
|
+
desc: "Built-in Neovim with full language intelligence",
|
|
460690
|
+
bullets: ["Diagnostics, hover, go-to-definition, references, rename \u2014 all in-terminal", "Tree-sitter + LSP work together to power the Soul Map and agent tools"]
|
|
460691
|
+
}, {
|
|
460692
|
+
ic: "tools",
|
|
460693
|
+
title: "Agent Tools",
|
|
460694
|
+
cmd: "/tools",
|
|
460695
|
+
desc: "Toggle which tools the AI can use \u2014 fine-tune what it's allowed to do",
|
|
460696
|
+
bullets: ["File editing, shell, grep, LSP navigation, web search, and more", "Disable tools to restrict the agent (e.g. no shell in review mode)"]
|
|
460697
|
+
}, {
|
|
460698
|
+
ic: "skills",
|
|
460699
|
+
title: "Skills",
|
|
460700
|
+
cmd: "/skills",
|
|
460701
|
+
desc: "Community plugins that give the AI domain expertise",
|
|
460702
|
+
bullets: ["Search & install from skills.sh \u2014 React, testing, SEO, and more", "Skills inject context so the AI follows best practices for your stack"]
|
|
460703
|
+
}, {
|
|
460704
|
+
ic: "cog",
|
|
460705
|
+
title: "Modes",
|
|
460706
|
+
cmd: "/mode",
|
|
460707
|
+
desc: "Switch how the AI approaches tasks",
|
|
460708
|
+
bullets: ["auto (default) \xB7 architect \xB7 plan \xB7 socratic \xB7 challenge", "Cycle quickly with Ctrl+D or pick with /mode"]
|
|
460709
|
+
}];
|
|
460710
|
+
WORKFLOW_ITEMS = [{
|
|
460711
|
+
ic: "router",
|
|
460712
|
+
title: "Task Router",
|
|
460713
|
+
cmd: "/router",
|
|
460714
|
+
desc: "Assign different models to different tasks \u2014 code, explore, review, compact",
|
|
460715
|
+
bullets: ["Route coding to a strong model, exploration to a fast one", "Each tab has its own model \u2014 switch with Ctrl+L"]
|
|
460716
|
+
}, {
|
|
460717
|
+
ic: "tabs",
|
|
460718
|
+
title: "Tabs & Sessions",
|
|
460719
|
+
cmd: "/tab",
|
|
460720
|
+
desc: "Each tab is an independent chat with its own model and context",
|
|
460721
|
+
bullets: ["/tab new \xB7 /tab close \xB7 /tab rename", "Ctrl+P browse & restore past sessions"]
|
|
460722
|
+
}, {
|
|
460723
|
+
ic: "git",
|
|
460724
|
+
title: "Git",
|
|
460725
|
+
cmd: "/git",
|
|
460726
|
+
desc: "Full git workflow from chat \u2014 AI adds co-author tag to commits",
|
|
460727
|
+
bullets: ["/git commit \xB7 /git diff \xB7 /git branch \xB7 /git stash \u2014 or Ctrl+G for the menu"]
|
|
460728
|
+
}, {
|
|
460729
|
+
ic: "memory",
|
|
460730
|
+
title: "Memory",
|
|
460731
|
+
cmd: "/memory",
|
|
460732
|
+
desc: "Persistent knowledge the AI remembers across sessions",
|
|
460733
|
+
bullets: ["Project-scoped or global \u2014 Forge learns your preferences over time"]
|
|
460734
|
+
}, {
|
|
460735
|
+
ic: "system",
|
|
460736
|
+
title: "Tuning",
|
|
460737
|
+
cmd: "/provider-settings",
|
|
460738
|
+
desc: "Fine-tune the AI's behavior and output quality",
|
|
460739
|
+
bullets: ["/provider-settings \u2014 thinking budget, effort, speed, context window", "/agent-features \u2014 de-sloppify, tier routing, auto-compact, auto-verify"]
|
|
460740
|
+
}];
|
|
460555
460741
|
WELCOME_BULLETS = ["Chat with AI to build, debug, and refactor code", "Edit files directly \u2014 AI reads and writes your codebase", "Run shell commands, git operations, and tests from chat", "Dispatch parallel agents for large multi-file tasks", "Built-in Neovim editor with LSP intelligence"];
|
|
460556
460742
|
QUICK_START = ['"fix the bug in auth.ts"', '"add tests for the user service"', '"refactor this to use async/await"', '"explain how the payment flow works"'];
|
|
460557
460743
|
});
|
|
@@ -461027,9 +461213,9 @@ var init_primitives = __esm(async () => {
|
|
|
461027
461213
|
});
|
|
461028
461214
|
});
|
|
461029
461215
|
|
|
461030
|
-
// src/components/modals/wizard/steps/
|
|
461031
|
-
var import_compiler_runtime46, import_react79,
|
|
461032
|
-
var
|
|
461216
|
+
// src/components/modals/wizard/steps/IntelligenceStep.tsx
|
|
461217
|
+
var import_compiler_runtime46, import_react79, IntelligenceStep;
|
|
461218
|
+
var init_IntelligenceStep = __esm(async () => {
|
|
461033
461219
|
init_icons();
|
|
461034
461220
|
init_theme();
|
|
461035
461221
|
init_shared2();
|
|
@@ -461041,8 +461227,8 @@ var init_FeaturesStep = __esm(async () => {
|
|
|
461041
461227
|
]);
|
|
461042
461228
|
import_compiler_runtime46 = __toESM(require_compiler_runtime(), 1);
|
|
461043
461229
|
import_react79 = __toESM(require_react(), 1);
|
|
461044
|
-
|
|
461045
|
-
const $5 = import_compiler_runtime46.c(
|
|
461230
|
+
IntelligenceStep = import_react79.memo(function IntelligenceStep2(t0) {
|
|
461231
|
+
const $5 = import_compiler_runtime46.c(27);
|
|
461046
461232
|
const {
|
|
461047
461233
|
iw
|
|
461048
461234
|
} = t0;
|
|
@@ -461062,200 +461248,156 @@ var init_FeaturesStep = __esm(async () => {
|
|
|
461062
461248
|
}
|
|
461063
461249
|
let t22;
|
|
461064
461250
|
if ($5[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
461065
|
-
t22 = icon("
|
|
461251
|
+
t22 = icon("brain");
|
|
461066
461252
|
$5[2] = t22;
|
|
461067
461253
|
} else {
|
|
461068
461254
|
t22 = $5[2];
|
|
461069
461255
|
}
|
|
461070
461256
|
let t3;
|
|
461257
|
+
let t4;
|
|
461071
461258
|
if ($5[3] !== iw) {
|
|
461072
461259
|
t3 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(StepHeader, {
|
|
461073
461260
|
iw,
|
|
461074
461261
|
ic: t22,
|
|
461075
|
-
title: "
|
|
461262
|
+
title: "Codebase Intelligence"
|
|
461263
|
+
}, undefined, false, undefined, this);
|
|
461264
|
+
t4 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
|
|
461265
|
+
iw
|
|
461076
461266
|
}, undefined, false, undefined, this);
|
|
461077
461267
|
$5[3] = iw;
|
|
461078
461268
|
$5[4] = t3;
|
|
461269
|
+
$5[5] = t4;
|
|
461079
461270
|
} else {
|
|
461080
461271
|
t3 = $5[4];
|
|
461081
|
-
|
|
461082
|
-
let t4;
|
|
461083
|
-
if ($5[5] !== bg2 || $5[6] !== iw) {
|
|
461084
|
-
t4 = FEATURES.map((group) => /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
461085
|
-
flexDirection: "column",
|
|
461086
|
-
backgroundColor: bg2,
|
|
461087
|
-
children: [
|
|
461088
|
-
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
|
|
461089
|
-
iw
|
|
461090
|
-
}, undefined, false, undefined, this),
|
|
461091
|
-
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(SectionLabel, {
|
|
461092
|
-
iw,
|
|
461093
|
-
label: group.section
|
|
461094
|
-
}, undefined, false, undefined, this),
|
|
461095
|
-
group.items.map((f3) => /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Feat, {
|
|
461096
|
-
iw,
|
|
461097
|
-
ic: icon(f3.ic),
|
|
461098
|
-
title: f3.title,
|
|
461099
|
-
keys: f3.keys,
|
|
461100
|
-
desc: f3.desc
|
|
461101
|
-
}, f3.title, false, undefined, this))
|
|
461102
|
-
]
|
|
461103
|
-
}, group.section, true, undefined, this));
|
|
461104
|
-
$5[5] = bg2;
|
|
461105
|
-
$5[6] = iw;
|
|
461106
|
-
$5[7] = t4;
|
|
461107
|
-
} else {
|
|
461108
|
-
t4 = $5[7];
|
|
461272
|
+
t4 = $5[5];
|
|
461109
461273
|
}
|
|
461110
461274
|
let t5;
|
|
461111
|
-
|
|
461112
|
-
|
|
461113
|
-
|
|
461114
|
-
iw
|
|
461115
|
-
}, undefined, false, undefined, this);
|
|
461116
|
-
t6 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(SectionLabel, {
|
|
461117
|
-
iw,
|
|
461118
|
-
label: "Modes"
|
|
461119
|
-
}, undefined, false, undefined, this);
|
|
461120
|
-
$5[8] = iw;
|
|
461121
|
-
$5[9] = t5;
|
|
461122
|
-
$5[10] = t6;
|
|
461123
|
-
} else {
|
|
461124
|
-
t5 = $5[9];
|
|
461125
|
-
t6 = $5[10];
|
|
461126
|
-
}
|
|
461127
|
-
const t7 = t2.textDim;
|
|
461128
|
-
let t8;
|
|
461129
|
-
if ($5[11] !== t2.warning) {
|
|
461130
|
-
t8 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
461131
|
-
fg: t2.warning,
|
|
461132
|
-
children: MODES[0]
|
|
461133
|
-
}, undefined, false, undefined, this);
|
|
461134
|
-
$5[11] = t2.warning;
|
|
461135
|
-
$5[12] = t8;
|
|
461136
|
-
} else {
|
|
461137
|
-
t8 = $5[12];
|
|
461138
|
-
}
|
|
461139
|
-
let t9;
|
|
461140
|
-
if ($5[13] === Symbol.for("react.memo_cache_sentinel")) {
|
|
461141
|
-
t9 = MODES.slice(1).join(" \xB7 ");
|
|
461142
|
-
$5[13] = t9;
|
|
461143
|
-
} else {
|
|
461144
|
-
t9 = $5[13];
|
|
461145
|
-
}
|
|
461146
|
-
let t10;
|
|
461147
|
-
if ($5[14] !== bg2 || $5[15] !== t2.textDim || $5[16] !== t8) {
|
|
461148
|
-
t10 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
461149
|
-
fg: t7,
|
|
461275
|
+
if ($5[6] !== bg2 || $5[7] !== t2.textSecondary) {
|
|
461276
|
+
t5 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
461277
|
+
fg: t2.textSecondary,
|
|
461150
461278
|
bg: bg2,
|
|
461151
461279
|
children: [
|
|
461152
461280
|
" ",
|
|
461153
|
-
|
|
461154
|
-
` \xB7 ${t9}`
|
|
461281
|
+
"SoulForge understands your code before the AI even reads it:"
|
|
461155
461282
|
]
|
|
461156
461283
|
}, undefined, true, undefined, this);
|
|
461157
|
-
$5[
|
|
461158
|
-
$5[
|
|
461159
|
-
$5[
|
|
461160
|
-
$5[17] = t10;
|
|
461284
|
+
$5[6] = bg2;
|
|
461285
|
+
$5[7] = t2.textSecondary;
|
|
461286
|
+
$5[8] = t5;
|
|
461161
461287
|
} else {
|
|
461162
|
-
|
|
461288
|
+
t5 = $5[8];
|
|
461163
461289
|
}
|
|
461164
|
-
let
|
|
461165
|
-
if ($5[
|
|
461166
|
-
|
|
461290
|
+
let t6;
|
|
461291
|
+
if ($5[9] !== iw || $5[10] !== t5) {
|
|
461292
|
+
t6 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
|
|
461167
461293
|
w: iw,
|
|
461168
|
-
children:
|
|
461169
|
-
}, undefined, false, undefined, this);
|
|
461170
|
-
$5[18] = iw;
|
|
461171
|
-
$5[19] = t10;
|
|
461172
|
-
$5[20] = t11;
|
|
461173
|
-
} else {
|
|
461174
|
-
t11 = $5[20];
|
|
461175
|
-
}
|
|
461176
|
-
let t12;
|
|
461177
|
-
if ($5[21] !== t2.info) {
|
|
461178
|
-
t12 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
461179
|
-
fg: t2.info,
|
|
461180
|
-
attributes: BOLD3,
|
|
461181
|
-
children: "Ctrl+D"
|
|
461182
|
-
}, undefined, false, undefined, this);
|
|
461183
|
-
$5[21] = t2.info;
|
|
461184
|
-
$5[22] = t12;
|
|
461185
|
-
} else {
|
|
461186
|
-
t12 = $5[22];
|
|
461187
|
-
}
|
|
461188
|
-
let t13;
|
|
461189
|
-
if ($5[23] !== t2.brand) {
|
|
461190
|
-
t13 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
461191
|
-
fg: t2.brand,
|
|
461192
|
-
children: "/mode"
|
|
461294
|
+
children: t5
|
|
461193
461295
|
}, undefined, false, undefined, this);
|
|
461194
|
-
$5[
|
|
461195
|
-
$5[
|
|
461296
|
+
$5[9] = iw;
|
|
461297
|
+
$5[10] = t5;
|
|
461298
|
+
$5[11] = t6;
|
|
461196
461299
|
} else {
|
|
461197
|
-
|
|
461300
|
+
t6 = $5[11];
|
|
461198
461301
|
}
|
|
461199
|
-
let
|
|
461200
|
-
if ($5[
|
|
461201
|
-
|
|
461202
|
-
|
|
461203
|
-
|
|
461302
|
+
let t7;
|
|
461303
|
+
if ($5[12] !== bg2 || $5[13] !== iw || $5[14] !== t2.brand || $5[15] !== t2.info || $5[16] !== t2.textDim || $5[17] !== t2.textFaint || $5[18] !== t2.textPrimary || $5[19] !== t2.textSecondary) {
|
|
461304
|
+
t7 = INTELLIGENCE_ITEMS.map((item) => /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
461305
|
+
flexDirection: "column",
|
|
461306
|
+
backgroundColor: bg2,
|
|
461204
461307
|
children: [
|
|
461205
|
-
|
|
461206
|
-
|
|
461207
|
-
|
|
461208
|
-
|
|
461209
|
-
|
|
461210
|
-
|
|
461211
|
-
|
|
461308
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
|
|
461309
|
+
iw
|
|
461310
|
+
}, undefined, false, undefined, this),
|
|
461311
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
|
|
461312
|
+
w: iw,
|
|
461313
|
+
children: [
|
|
461314
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
461315
|
+
fg: t2.brand,
|
|
461316
|
+
bg: bg2,
|
|
461317
|
+
children: [
|
|
461318
|
+
" ",
|
|
461319
|
+
icon(item.ic),
|
|
461320
|
+
" "
|
|
461321
|
+
]
|
|
461322
|
+
}, undefined, true, undefined, this),
|
|
461323
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
461324
|
+
fg: t2.textPrimary,
|
|
461325
|
+
attributes: BOLD3,
|
|
461326
|
+
bg: bg2,
|
|
461327
|
+
children: item.title
|
|
461328
|
+
}, undefined, false, undefined, this),
|
|
461329
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
461330
|
+
fg: t2.info,
|
|
461331
|
+
bg: bg2,
|
|
461332
|
+
children: [
|
|
461333
|
+
" ",
|
|
461334
|
+
item.cmd
|
|
461335
|
+
]
|
|
461336
|
+
}, undefined, true, undefined, this)
|
|
461337
|
+
]
|
|
461338
|
+
}, undefined, true, undefined, this),
|
|
461339
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
|
|
461340
|
+
w: iw,
|
|
461341
|
+
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
461342
|
+
fg: t2.textSecondary,
|
|
461343
|
+
bg: bg2,
|
|
461344
|
+
children: [
|
|
461345
|
+
" ",
|
|
461346
|
+
item.desc
|
|
461347
|
+
]
|
|
461348
|
+
}, undefined, true, undefined, this)
|
|
461349
|
+
}, undefined, false, undefined, this),
|
|
461350
|
+
item.bullets.map((b5) => /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
|
|
461351
|
+
w: iw,
|
|
461352
|
+
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
461353
|
+
fg: t2.textDim,
|
|
461354
|
+
bg: bg2,
|
|
461355
|
+
children: [
|
|
461356
|
+
" ",
|
|
461357
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
461358
|
+
fg: t2.textFaint,
|
|
461359
|
+
children: "\u2022"
|
|
461360
|
+
}, undefined, false, undefined, this),
|
|
461361
|
+
" ",
|
|
461362
|
+
b5
|
|
461363
|
+
]
|
|
461364
|
+
}, undefined, true, undefined, this)
|
|
461365
|
+
}, b5, false, undefined, this))
|
|
461212
461366
|
]
|
|
461213
|
-
},
|
|
461214
|
-
$5[
|
|
461215
|
-
$5[
|
|
461216
|
-
$5[
|
|
461217
|
-
$5[
|
|
461218
|
-
$5[
|
|
461219
|
-
|
|
461220
|
-
|
|
461221
|
-
|
|
461222
|
-
|
|
461223
|
-
if ($5[30] !== iw || $5[31] !== t14) {
|
|
461224
|
-
t15 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
|
|
461225
|
-
w: iw,
|
|
461226
|
-
children: t14
|
|
461227
|
-
}, undefined, false, undefined, this);
|
|
461228
|
-
$5[30] = iw;
|
|
461229
|
-
$5[31] = t14;
|
|
461230
|
-
$5[32] = t15;
|
|
461367
|
+
}, item.cmd, true, undefined, this));
|
|
461368
|
+
$5[12] = bg2;
|
|
461369
|
+
$5[13] = iw;
|
|
461370
|
+
$5[14] = t2.brand;
|
|
461371
|
+
$5[15] = t2.info;
|
|
461372
|
+
$5[16] = t2.textDim;
|
|
461373
|
+
$5[17] = t2.textFaint;
|
|
461374
|
+
$5[18] = t2.textPrimary;
|
|
461375
|
+
$5[19] = t2.textSecondary;
|
|
461376
|
+
$5[20] = t7;
|
|
461231
461377
|
} else {
|
|
461232
|
-
|
|
461378
|
+
t7 = $5[20];
|
|
461233
461379
|
}
|
|
461234
|
-
let
|
|
461235
|
-
if ($5[
|
|
461236
|
-
|
|
461380
|
+
let t8;
|
|
461381
|
+
if ($5[21] !== t1 || $5[22] !== t3 || $5[23] !== t4 || $5[24] !== t6 || $5[25] !== t7) {
|
|
461382
|
+
t8 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
|
|
461237
461383
|
children: [
|
|
461238
461384
|
t1,
|
|
461239
461385
|
t3,
|
|
461240
461386
|
t4,
|
|
461241
|
-
t5,
|
|
461242
461387
|
t6,
|
|
461243
|
-
|
|
461244
|
-
t15
|
|
461388
|
+
t7
|
|
461245
461389
|
]
|
|
461246
461390
|
}, undefined, true, undefined, this);
|
|
461247
|
-
$5[
|
|
461248
|
-
$5[
|
|
461249
|
-
$5[
|
|
461250
|
-
$5[
|
|
461251
|
-
$5[
|
|
461252
|
-
$5[
|
|
461253
|
-
$5[39] = t6;
|
|
461254
|
-
$5[40] = t16;
|
|
461391
|
+
$5[21] = t1;
|
|
461392
|
+
$5[22] = t3;
|
|
461393
|
+
$5[23] = t4;
|
|
461394
|
+
$5[24] = t6;
|
|
461395
|
+
$5[25] = t7;
|
|
461396
|
+
$5[26] = t8;
|
|
461255
461397
|
} else {
|
|
461256
|
-
|
|
461398
|
+
t8 = $5[26];
|
|
461257
461399
|
}
|
|
461258
|
-
return
|
|
461400
|
+
return t8;
|
|
461259
461401
|
});
|
|
461260
461402
|
});
|
|
461261
461403
|
|
|
@@ -462479,7 +462621,7 @@ var init_ShortcutsStep = __esm(async () => {
|
|
|
462479
462621
|
import_compiler_runtime49 = __toESM(require_compiler_runtime(), 1);
|
|
462480
462622
|
import_react83 = __toESM(require_react(), 1);
|
|
462481
462623
|
ShortcutsStep = import_react83.memo(function ShortcutsStep2(t0) {
|
|
462482
|
-
const $5 = import_compiler_runtime49.c(
|
|
462624
|
+
const $5 = import_compiler_runtime49.c(31);
|
|
462483
462625
|
const {
|
|
462484
462626
|
iw
|
|
462485
462627
|
} = t0;
|
|
@@ -462517,7 +462659,7 @@ var init_ShortcutsStep = __esm(async () => {
|
|
|
462517
462659
|
t3 = $5[4];
|
|
462518
462660
|
}
|
|
462519
462661
|
let t4;
|
|
462520
|
-
if ($5[5] !== bg2 || $5[6] !== iw || $5[7] !== t2) {
|
|
462662
|
+
if ($5[5] !== bg2 || $5[6] !== iw || $5[7] !== t2.brand || $5[8] !== t2.info || $5[9] !== t2.textSecondary) {
|
|
462521
462663
|
t4 = SHORTCUTS2.map((group) => /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
462522
462664
|
flexDirection: "column",
|
|
462523
462665
|
backgroundColor: bg2,
|
|
@@ -462552,28 +462694,104 @@ var init_ShortcutsStep = __esm(async () => {
|
|
|
462552
462694
|
}, group.section, true, undefined, this));
|
|
462553
462695
|
$5[5] = bg2;
|
|
462554
462696
|
$5[6] = iw;
|
|
462555
|
-
$5[7] = t2;
|
|
462556
|
-
$5[8] =
|
|
462697
|
+
$5[7] = t2.brand;
|
|
462698
|
+
$5[8] = t2.info;
|
|
462699
|
+
$5[9] = t2.textSecondary;
|
|
462700
|
+
$5[10] = t4;
|
|
462557
462701
|
} else {
|
|
462558
|
-
t4 = $5[
|
|
462702
|
+
t4 = $5[10];
|
|
462559
462703
|
}
|
|
462560
462704
|
let t5;
|
|
462561
|
-
if ($5[
|
|
462562
|
-
t5 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(
|
|
462705
|
+
if ($5[11] !== iw) {
|
|
462706
|
+
t5 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
|
|
462707
|
+
iw,
|
|
462708
|
+
n: 2
|
|
462709
|
+
}, undefined, false, undefined, this);
|
|
462710
|
+
$5[11] = iw;
|
|
462711
|
+
$5[12] = t5;
|
|
462712
|
+
} else {
|
|
462713
|
+
t5 = $5[12];
|
|
462714
|
+
}
|
|
462715
|
+
let t6;
|
|
462716
|
+
if ($5[13] !== t2.brand) {
|
|
462717
|
+
t6 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
462718
|
+
fg: t2.brand,
|
|
462719
|
+
children: "/help"
|
|
462720
|
+
}, undefined, false, undefined, this);
|
|
462721
|
+
$5[13] = t2.brand;
|
|
462722
|
+
$5[14] = t6;
|
|
462723
|
+
} else {
|
|
462724
|
+
t6 = $5[14];
|
|
462725
|
+
}
|
|
462726
|
+
let t7;
|
|
462727
|
+
if ($5[15] !== t2.info) {
|
|
462728
|
+
t7 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
462729
|
+
fg: t2.info,
|
|
462730
|
+
attributes: BOLD3,
|
|
462731
|
+
children: "Ctrl+K"
|
|
462732
|
+
}, undefined, false, undefined, this);
|
|
462733
|
+
$5[15] = t2.info;
|
|
462734
|
+
$5[16] = t7;
|
|
462735
|
+
} else {
|
|
462736
|
+
t7 = $5[16];
|
|
462737
|
+
}
|
|
462738
|
+
let t8;
|
|
462739
|
+
if ($5[17] !== bg2 || $5[18] !== t2.textFaint || $5[19] !== t6 || $5[20] !== t7) {
|
|
462740
|
+
t8 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
462741
|
+
fg: t2.textFaint,
|
|
462742
|
+
bg: bg2,
|
|
462743
|
+
children: [
|
|
462744
|
+
" ",
|
|
462745
|
+
"These are just the highlights \u2014 type ",
|
|
462746
|
+
t6,
|
|
462747
|
+
" or press",
|
|
462748
|
+
" ",
|
|
462749
|
+
t7,
|
|
462750
|
+
" ",
|
|
462751
|
+
"to browse all commands"
|
|
462752
|
+
]
|
|
462753
|
+
}, undefined, true, undefined, this);
|
|
462754
|
+
$5[17] = bg2;
|
|
462755
|
+
$5[18] = t2.textFaint;
|
|
462756
|
+
$5[19] = t6;
|
|
462757
|
+
$5[20] = t7;
|
|
462758
|
+
$5[21] = t8;
|
|
462759
|
+
} else {
|
|
462760
|
+
t8 = $5[21];
|
|
462761
|
+
}
|
|
462762
|
+
let t9;
|
|
462763
|
+
if ($5[22] !== iw || $5[23] !== t8) {
|
|
462764
|
+
t9 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
|
|
462765
|
+
w: iw,
|
|
462766
|
+
children: t8
|
|
462767
|
+
}, undefined, false, undefined, this);
|
|
462768
|
+
$5[22] = iw;
|
|
462769
|
+
$5[23] = t8;
|
|
462770
|
+
$5[24] = t9;
|
|
462771
|
+
} else {
|
|
462772
|
+
t9 = $5[24];
|
|
462773
|
+
}
|
|
462774
|
+
let t10;
|
|
462775
|
+
if ($5[25] !== t1 || $5[26] !== t3 || $5[27] !== t4 || $5[28] !== t5 || $5[29] !== t9) {
|
|
462776
|
+
t10 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
|
|
462563
462777
|
children: [
|
|
462564
462778
|
t1,
|
|
462565
462779
|
t3,
|
|
462566
|
-
t4
|
|
462780
|
+
t4,
|
|
462781
|
+
t5,
|
|
462782
|
+
t9
|
|
462567
462783
|
]
|
|
462568
462784
|
}, undefined, true, undefined, this);
|
|
462569
|
-
$5[
|
|
462570
|
-
$5[
|
|
462571
|
-
$5[
|
|
462572
|
-
$5[
|
|
462785
|
+
$5[25] = t1;
|
|
462786
|
+
$5[26] = t3;
|
|
462787
|
+
$5[27] = t4;
|
|
462788
|
+
$5[28] = t5;
|
|
462789
|
+
$5[29] = t9;
|
|
462790
|
+
$5[30] = t10;
|
|
462573
462791
|
} else {
|
|
462574
|
-
|
|
462792
|
+
t10 = $5[30];
|
|
462575
462793
|
}
|
|
462576
|
-
return
|
|
462794
|
+
return t10;
|
|
462577
462795
|
});
|
|
462578
462796
|
});
|
|
462579
462797
|
|
|
@@ -463518,6 +463736,267 @@ var init_WelcomeStep = __esm(async () => {
|
|
|
463518
463736
|
});
|
|
463519
463737
|
});
|
|
463520
463738
|
|
|
463739
|
+
// src/components/modals/wizard/steps/WorkflowStep.tsx
|
|
463740
|
+
var import_compiler_runtime52, import_react87, WorkflowStep;
|
|
463741
|
+
var init_WorkflowStep = __esm(async () => {
|
|
463742
|
+
init_icons();
|
|
463743
|
+
init_theme();
|
|
463744
|
+
init_shared2();
|
|
463745
|
+
init_data();
|
|
463746
|
+
init_jsx_dev_runtime();
|
|
463747
|
+
await __promiseAll([
|
|
463748
|
+
init_primitives(),
|
|
463749
|
+
init_theme2()
|
|
463750
|
+
]);
|
|
463751
|
+
import_compiler_runtime52 = __toESM(require_compiler_runtime(), 1);
|
|
463752
|
+
import_react87 = __toESM(require_react(), 1);
|
|
463753
|
+
WorkflowStep = import_react87.memo(function WorkflowStep2(t0) {
|
|
463754
|
+
const $5 = import_compiler_runtime52.c(43);
|
|
463755
|
+
const {
|
|
463756
|
+
iw
|
|
463757
|
+
} = t0;
|
|
463758
|
+
const t2 = useTheme();
|
|
463759
|
+
const {
|
|
463760
|
+
bg: bg2
|
|
463761
|
+
} = usePopupColors();
|
|
463762
|
+
let t1;
|
|
463763
|
+
if ($5[0] !== iw) {
|
|
463764
|
+
t1 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
|
|
463765
|
+
iw
|
|
463766
|
+
}, undefined, false, undefined, this);
|
|
463767
|
+
$5[0] = iw;
|
|
463768
|
+
$5[1] = t1;
|
|
463769
|
+
} else {
|
|
463770
|
+
t1 = $5[1];
|
|
463771
|
+
}
|
|
463772
|
+
let t22;
|
|
463773
|
+
if ($5[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
463774
|
+
t22 = icon("router");
|
|
463775
|
+
$5[2] = t22;
|
|
463776
|
+
} else {
|
|
463777
|
+
t22 = $5[2];
|
|
463778
|
+
}
|
|
463779
|
+
let t3;
|
|
463780
|
+
let t4;
|
|
463781
|
+
if ($5[3] !== iw) {
|
|
463782
|
+
t3 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(StepHeader, {
|
|
463783
|
+
iw,
|
|
463784
|
+
ic: t22,
|
|
463785
|
+
title: "Models, Tabs & Workflow"
|
|
463786
|
+
}, undefined, false, undefined, this);
|
|
463787
|
+
t4 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
|
|
463788
|
+
iw
|
|
463789
|
+
}, undefined, false, undefined, this);
|
|
463790
|
+
$5[3] = iw;
|
|
463791
|
+
$5[4] = t3;
|
|
463792
|
+
$5[5] = t4;
|
|
463793
|
+
} else {
|
|
463794
|
+
t3 = $5[4];
|
|
463795
|
+
t4 = $5[5];
|
|
463796
|
+
}
|
|
463797
|
+
let t5;
|
|
463798
|
+
if ($5[6] !== bg2 || $5[7] !== t2.textSecondary) {
|
|
463799
|
+
t5 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
463800
|
+
fg: t2.textSecondary,
|
|
463801
|
+
bg: bg2,
|
|
463802
|
+
children: [
|
|
463803
|
+
" ",
|
|
463804
|
+
"Route models per task, manage tabs, and tune agent behavior:"
|
|
463805
|
+
]
|
|
463806
|
+
}, undefined, true, undefined, this);
|
|
463807
|
+
$5[6] = bg2;
|
|
463808
|
+
$5[7] = t2.textSecondary;
|
|
463809
|
+
$5[8] = t5;
|
|
463810
|
+
} else {
|
|
463811
|
+
t5 = $5[8];
|
|
463812
|
+
}
|
|
463813
|
+
let t6;
|
|
463814
|
+
if ($5[9] !== iw || $5[10] !== t5) {
|
|
463815
|
+
t6 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
|
|
463816
|
+
w: iw,
|
|
463817
|
+
children: t5
|
|
463818
|
+
}, undefined, false, undefined, this);
|
|
463819
|
+
$5[9] = iw;
|
|
463820
|
+
$5[10] = t5;
|
|
463821
|
+
$5[11] = t6;
|
|
463822
|
+
} else {
|
|
463823
|
+
t6 = $5[11];
|
|
463824
|
+
}
|
|
463825
|
+
let t7;
|
|
463826
|
+
if ($5[12] !== bg2 || $5[13] !== iw || $5[14] !== t2.brand || $5[15] !== t2.info || $5[16] !== t2.textDim || $5[17] !== t2.textFaint || $5[18] !== t2.textPrimary || $5[19] !== t2.textSecondary) {
|
|
463827
|
+
t7 = WORKFLOW_ITEMS.map((item) => /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
463828
|
+
flexDirection: "column",
|
|
463829
|
+
backgroundColor: bg2,
|
|
463830
|
+
children: [
|
|
463831
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
|
|
463832
|
+
iw
|
|
463833
|
+
}, undefined, false, undefined, this),
|
|
463834
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
|
|
463835
|
+
w: iw,
|
|
463836
|
+
children: [
|
|
463837
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
463838
|
+
fg: t2.brand,
|
|
463839
|
+
bg: bg2,
|
|
463840
|
+
children: [
|
|
463841
|
+
" ",
|
|
463842
|
+
icon(item.ic),
|
|
463843
|
+
" "
|
|
463844
|
+
]
|
|
463845
|
+
}, undefined, true, undefined, this),
|
|
463846
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
463847
|
+
fg: t2.textPrimary,
|
|
463848
|
+
attributes: BOLD3,
|
|
463849
|
+
bg: bg2,
|
|
463850
|
+
children: item.title
|
|
463851
|
+
}, undefined, false, undefined, this),
|
|
463852
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
463853
|
+
fg: t2.info,
|
|
463854
|
+
bg: bg2,
|
|
463855
|
+
children: [
|
|
463856
|
+
" ",
|
|
463857
|
+
item.cmd
|
|
463858
|
+
]
|
|
463859
|
+
}, undefined, true, undefined, this)
|
|
463860
|
+
]
|
|
463861
|
+
}, undefined, true, undefined, this),
|
|
463862
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
|
|
463863
|
+
w: iw,
|
|
463864
|
+
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
463865
|
+
fg: t2.textSecondary,
|
|
463866
|
+
bg: bg2,
|
|
463867
|
+
children: [
|
|
463868
|
+
" ",
|
|
463869
|
+
item.desc
|
|
463870
|
+
]
|
|
463871
|
+
}, undefined, true, undefined, this)
|
|
463872
|
+
}, undefined, false, undefined, this),
|
|
463873
|
+
item.bullets.map((b5) => /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
|
|
463874
|
+
w: iw,
|
|
463875
|
+
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
463876
|
+
fg: t2.textDim,
|
|
463877
|
+
bg: bg2,
|
|
463878
|
+
children: [
|
|
463879
|
+
" ",
|
|
463880
|
+
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
463881
|
+
fg: t2.textFaint,
|
|
463882
|
+
children: "\u2022"
|
|
463883
|
+
}, undefined, false, undefined, this),
|
|
463884
|
+
" ",
|
|
463885
|
+
b5
|
|
463886
|
+
]
|
|
463887
|
+
}, undefined, true, undefined, this)
|
|
463888
|
+
}, b5, false, undefined, this))
|
|
463889
|
+
]
|
|
463890
|
+
}, item.cmd, true, undefined, this));
|
|
463891
|
+
$5[12] = bg2;
|
|
463892
|
+
$5[13] = iw;
|
|
463893
|
+
$5[14] = t2.brand;
|
|
463894
|
+
$5[15] = t2.info;
|
|
463895
|
+
$5[16] = t2.textDim;
|
|
463896
|
+
$5[17] = t2.textFaint;
|
|
463897
|
+
$5[18] = t2.textPrimary;
|
|
463898
|
+
$5[19] = t2.textSecondary;
|
|
463899
|
+
$5[20] = t7;
|
|
463900
|
+
} else {
|
|
463901
|
+
t7 = $5[20];
|
|
463902
|
+
}
|
|
463903
|
+
let t8;
|
|
463904
|
+
if ($5[21] !== iw) {
|
|
463905
|
+
t8 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Gap, {
|
|
463906
|
+
iw
|
|
463907
|
+
}, undefined, false, undefined, this);
|
|
463908
|
+
$5[21] = iw;
|
|
463909
|
+
$5[22] = t8;
|
|
463910
|
+
} else {
|
|
463911
|
+
t8 = $5[22];
|
|
463912
|
+
}
|
|
463913
|
+
let t9;
|
|
463914
|
+
if ($5[23] !== t2.brand) {
|
|
463915
|
+
t9 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
463916
|
+
fg: t2.brand,
|
|
463917
|
+
children: "/help"
|
|
463918
|
+
}, undefined, false, undefined, this);
|
|
463919
|
+
$5[23] = t2.brand;
|
|
463920
|
+
$5[24] = t9;
|
|
463921
|
+
} else {
|
|
463922
|
+
t9 = $5[24];
|
|
463923
|
+
}
|
|
463924
|
+
let t10;
|
|
463925
|
+
if ($5[25] !== t2.info) {
|
|
463926
|
+
t10 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("span", {
|
|
463927
|
+
fg: t2.info,
|
|
463928
|
+
attributes: BOLD3,
|
|
463929
|
+
children: "Ctrl+K"
|
|
463930
|
+
}, undefined, false, undefined, this);
|
|
463931
|
+
$5[25] = t2.info;
|
|
463932
|
+
$5[26] = t10;
|
|
463933
|
+
} else {
|
|
463934
|
+
t10 = $5[26];
|
|
463935
|
+
}
|
|
463936
|
+
let t11;
|
|
463937
|
+
if ($5[27] !== bg2 || $5[28] !== t2.textFaint || $5[29] !== t10 || $5[30] !== t9) {
|
|
463938
|
+
t11 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
463939
|
+
fg: t2.textFaint,
|
|
463940
|
+
bg: bg2,
|
|
463941
|
+
children: [
|
|
463942
|
+
" ",
|
|
463943
|
+
"Type ",
|
|
463944
|
+
t9,
|
|
463945
|
+
" or press",
|
|
463946
|
+
" ",
|
|
463947
|
+
t10,
|
|
463948
|
+
" ",
|
|
463949
|
+
"to see all commands"
|
|
463950
|
+
]
|
|
463951
|
+
}, undefined, true, undefined, this);
|
|
463952
|
+
$5[27] = bg2;
|
|
463953
|
+
$5[28] = t2.textFaint;
|
|
463954
|
+
$5[29] = t10;
|
|
463955
|
+
$5[30] = t9;
|
|
463956
|
+
$5[31] = t11;
|
|
463957
|
+
} else {
|
|
463958
|
+
t11 = $5[31];
|
|
463959
|
+
}
|
|
463960
|
+
let t12;
|
|
463961
|
+
if ($5[32] !== iw || $5[33] !== t11) {
|
|
463962
|
+
t12 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
|
|
463963
|
+
w: iw,
|
|
463964
|
+
children: t11
|
|
463965
|
+
}, undefined, false, undefined, this);
|
|
463966
|
+
$5[32] = iw;
|
|
463967
|
+
$5[33] = t11;
|
|
463968
|
+
$5[34] = t12;
|
|
463969
|
+
} else {
|
|
463970
|
+
t12 = $5[34];
|
|
463971
|
+
}
|
|
463972
|
+
let t13;
|
|
463973
|
+
if ($5[35] !== t1 || $5[36] !== t12 || $5[37] !== t3 || $5[38] !== t4 || $5[39] !== t6 || $5[40] !== t7 || $5[41] !== t8) {
|
|
463974
|
+
t13 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(import_jsx_dev_runtime2.Fragment, {
|
|
463975
|
+
children: [
|
|
463976
|
+
t1,
|
|
463977
|
+
t3,
|
|
463978
|
+
t4,
|
|
463979
|
+
t6,
|
|
463980
|
+
t7,
|
|
463981
|
+
t8,
|
|
463982
|
+
t12
|
|
463983
|
+
]
|
|
463984
|
+
}, undefined, true, undefined, this);
|
|
463985
|
+
$5[35] = t1;
|
|
463986
|
+
$5[36] = t12;
|
|
463987
|
+
$5[37] = t3;
|
|
463988
|
+
$5[38] = t4;
|
|
463989
|
+
$5[39] = t6;
|
|
463990
|
+
$5[40] = t7;
|
|
463991
|
+
$5[41] = t8;
|
|
463992
|
+
$5[42] = t13;
|
|
463993
|
+
} else {
|
|
463994
|
+
t13 = $5[42];
|
|
463995
|
+
}
|
|
463996
|
+
return t13;
|
|
463997
|
+
});
|
|
463998
|
+
});
|
|
463999
|
+
|
|
463521
464000
|
// src/components/modals/wizard/index.tsx
|
|
463522
464001
|
function _temp74(i4) {
|
|
463523
464002
|
return i4 + 1;
|
|
@@ -463525,7 +464004,7 @@ function _temp74(i4) {
|
|
|
463525
464004
|
function _temp226(i_0) {
|
|
463526
464005
|
return i_0 - 1;
|
|
463527
464006
|
}
|
|
463528
|
-
var
|
|
464007
|
+
var import_compiler_runtime53, import_react89, FirstRunWizard;
|
|
463529
464008
|
var init_wizard = __esm(async () => {
|
|
463530
464009
|
init_theme();
|
|
463531
464010
|
init_shared2();
|
|
@@ -463536,17 +464015,18 @@ var init_wizard = __esm(async () => {
|
|
|
463536
464015
|
await __promiseAll([
|
|
463537
464016
|
init_react2(),
|
|
463538
464017
|
init_primitives(),
|
|
463539
|
-
|
|
464018
|
+
init_IntelligenceStep(),
|
|
463540
464019
|
init_ReadyStep(),
|
|
463541
464020
|
init_SetupStep(),
|
|
463542
464021
|
init_ShortcutsStep(),
|
|
463543
464022
|
init_ThemeStep(),
|
|
463544
|
-
init_WelcomeStep()
|
|
464023
|
+
init_WelcomeStep(),
|
|
464024
|
+
init_WorkflowStep()
|
|
463545
464025
|
]);
|
|
463546
|
-
|
|
463547
|
-
|
|
463548
|
-
FirstRunWizard =
|
|
463549
|
-
const $5 =
|
|
464026
|
+
import_compiler_runtime53 = __toESM(require_compiler_runtime(), 1);
|
|
464027
|
+
import_react89 = __toESM(require_react(), 1);
|
|
464028
|
+
FirstRunWizard = import_react89.memo(function FirstRunWizard2(t0) {
|
|
464029
|
+
const $5 = import_compiler_runtime53.c(70);
|
|
463550
464030
|
const {
|
|
463551
464031
|
visible,
|
|
463552
464032
|
hasModel,
|
|
@@ -463560,10 +464040,10 @@ var init_wizard = __esm(async () => {
|
|
|
463560
464040
|
} = useTerminalDimensions();
|
|
463561
464041
|
const pw = Math.min(MAX_W, Math.floor(termCols * 0.92));
|
|
463562
464042
|
const iw = pw - 2;
|
|
463563
|
-
const [stepIdx, setStepIdx] =
|
|
464043
|
+
const [stepIdx, setStepIdx] = import_react89.useState(0);
|
|
463564
464044
|
const step = STEPS[stepIdx] ?? "welcome";
|
|
463565
|
-
const [setupActive, setSetupActive] =
|
|
463566
|
-
const hasOpened =
|
|
464045
|
+
const [setupActive, setSetupActive] = import_react89.useState(false);
|
|
464046
|
+
const hasOpened = import_react89.useRef(false);
|
|
463567
464047
|
let t1;
|
|
463568
464048
|
let t2;
|
|
463569
464049
|
if ($5[0] !== visible) {
|
|
@@ -463585,7 +464065,7 @@ var init_wizard = __esm(async () => {
|
|
|
463585
464065
|
t1 = $5[1];
|
|
463586
464066
|
t2 = $5[2];
|
|
463587
464067
|
}
|
|
463588
|
-
|
|
464068
|
+
import_react89.useEffect(t1, t2);
|
|
463589
464069
|
let t3;
|
|
463590
464070
|
if ($5[3] !== onClose || $5[4] !== stepIdx) {
|
|
463591
464071
|
t3 = () => {
|
|
@@ -463722,7 +464202,7 @@ var init_wizard = __esm(async () => {
|
|
|
463722
464202
|
}
|
|
463723
464203
|
let t10;
|
|
463724
464204
|
if ($5[30] !== iw || $5[31] !== step) {
|
|
463725
|
-
t10 = step === "
|
|
464205
|
+
t10 = step === "intelligence" && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(IntelligenceStep, {
|
|
463726
464206
|
iw
|
|
463727
464207
|
}, undefined, false, undefined, this);
|
|
463728
464208
|
$5[30] = iw;
|
|
@@ -463733,7 +464213,7 @@ var init_wizard = __esm(async () => {
|
|
|
463733
464213
|
}
|
|
463734
464214
|
let t11;
|
|
463735
464215
|
if ($5[33] !== iw || $5[34] !== step) {
|
|
463736
|
-
t11 = step === "
|
|
464216
|
+
t11 = step === "workflow" && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(WorkflowStep, {
|
|
463737
464217
|
iw
|
|
463738
464218
|
}, undefined, false, undefined, this);
|
|
463739
464219
|
$5[33] = iw;
|
|
@@ -463743,33 +464223,44 @@ var init_wizard = __esm(async () => {
|
|
|
463743
464223
|
t11 = $5[35];
|
|
463744
464224
|
}
|
|
463745
464225
|
let t12;
|
|
463746
|
-
if ($5[36] !== iw || $5[37] !==
|
|
463747
|
-
t12 = step === "
|
|
463748
|
-
iw
|
|
463749
|
-
active: setupActive,
|
|
463750
|
-
setActive: setSetupActive
|
|
464226
|
+
if ($5[36] !== iw || $5[37] !== step) {
|
|
464227
|
+
t12 = step === "shortcuts" && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(ShortcutsStep, {
|
|
464228
|
+
iw
|
|
463751
464229
|
}, undefined, false, undefined, this);
|
|
463752
464230
|
$5[36] = iw;
|
|
463753
|
-
$5[37] =
|
|
463754
|
-
$5[38] =
|
|
463755
|
-
$5[39] = t12;
|
|
464231
|
+
$5[37] = step;
|
|
464232
|
+
$5[38] = t12;
|
|
463756
464233
|
} else {
|
|
463757
|
-
t12 = $5[
|
|
464234
|
+
t12 = $5[38];
|
|
463758
464235
|
}
|
|
463759
464236
|
let t13;
|
|
463760
|
-
if ($5[
|
|
463761
|
-
t13 = step === "
|
|
463762
|
-
iw
|
|
464237
|
+
if ($5[39] !== iw || $5[40] !== setupActive || $5[41] !== step) {
|
|
464238
|
+
t13 = step === "theme" && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(ThemeStep, {
|
|
464239
|
+
iw,
|
|
464240
|
+
active: setupActive,
|
|
464241
|
+
setActive: setSetupActive
|
|
463763
464242
|
}, undefined, false, undefined, this);
|
|
463764
|
-
$5[
|
|
464243
|
+
$5[39] = iw;
|
|
464244
|
+
$5[40] = setupActive;
|
|
463765
464245
|
$5[41] = step;
|
|
463766
464246
|
$5[42] = t13;
|
|
463767
464247
|
} else {
|
|
463768
464248
|
t13 = $5[42];
|
|
463769
464249
|
}
|
|
463770
464250
|
let t14;
|
|
463771
|
-
if ($5[43] !==
|
|
463772
|
-
t14 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(
|
|
464251
|
+
if ($5[43] !== iw || $5[44] !== step) {
|
|
464252
|
+
t14 = step === "ready" && /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(ReadyStep, {
|
|
464253
|
+
iw
|
|
464254
|
+
}, undefined, false, undefined, this);
|
|
464255
|
+
$5[43] = iw;
|
|
464256
|
+
$5[44] = step;
|
|
464257
|
+
$5[45] = t14;
|
|
464258
|
+
} else {
|
|
464259
|
+
t14 = $5[45];
|
|
464260
|
+
}
|
|
464261
|
+
let t15;
|
|
464262
|
+
if ($5[46] !== t10 || $5[47] !== t11 || $5[48] !== t12 || $5[49] !== t13 || $5[50] !== t14 || $5[51] !== t8 || $5[52] !== t9) {
|
|
464263
|
+
t15 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
463773
464264
|
flexDirection: "column",
|
|
463774
464265
|
flexGrow: 1,
|
|
463775
464266
|
overflow: "hidden",
|
|
@@ -463779,46 +464270,48 @@ var init_wizard = __esm(async () => {
|
|
|
463779
464270
|
t10,
|
|
463780
464271
|
t11,
|
|
463781
464272
|
t12,
|
|
463782
|
-
t13
|
|
464273
|
+
t13,
|
|
464274
|
+
t14
|
|
463783
464275
|
]
|
|
463784
464276
|
}, undefined, true, undefined, this);
|
|
463785
|
-
$5[
|
|
463786
|
-
$5[
|
|
463787
|
-
$5[
|
|
463788
|
-
$5[
|
|
463789
|
-
$5[
|
|
463790
|
-
$5[
|
|
463791
|
-
$5[
|
|
464277
|
+
$5[46] = t10;
|
|
464278
|
+
$5[47] = t11;
|
|
464279
|
+
$5[48] = t12;
|
|
464280
|
+
$5[49] = t13;
|
|
464281
|
+
$5[50] = t14;
|
|
464282
|
+
$5[51] = t8;
|
|
464283
|
+
$5[52] = t9;
|
|
464284
|
+
$5[53] = t15;
|
|
463792
464285
|
} else {
|
|
463793
|
-
|
|
464286
|
+
t15 = $5[53];
|
|
463794
464287
|
}
|
|
463795
|
-
let
|
|
463796
|
-
if ($5[
|
|
463797
|
-
|
|
464288
|
+
let t16;
|
|
464289
|
+
if ($5[54] !== iw) {
|
|
464290
|
+
t16 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Hr2, {
|
|
463798
464291
|
iw
|
|
463799
464292
|
}, undefined, false, undefined, this);
|
|
463800
|
-
$5[
|
|
463801
|
-
$5[
|
|
464293
|
+
$5[54] = iw;
|
|
464294
|
+
$5[55] = t16;
|
|
463802
464295
|
} else {
|
|
463803
|
-
|
|
464296
|
+
t16 = $5[55];
|
|
463804
464297
|
}
|
|
463805
|
-
let
|
|
463806
|
-
if ($5[
|
|
463807
|
-
|
|
464298
|
+
let t17;
|
|
464299
|
+
if ($5[56] !== iw || $5[57] !== step || $5[58] !== stepIdx) {
|
|
464300
|
+
t17 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(FooterNav, {
|
|
463808
464301
|
iw,
|
|
463809
464302
|
stepIdx,
|
|
463810
464303
|
step
|
|
463811
464304
|
}, undefined, false, undefined, this);
|
|
463812
|
-
$5[
|
|
463813
|
-
$5[
|
|
463814
|
-
$5[
|
|
463815
|
-
$5[
|
|
464305
|
+
$5[56] = iw;
|
|
464306
|
+
$5[57] = step;
|
|
464307
|
+
$5[58] = stepIdx;
|
|
464308
|
+
$5[59] = t17;
|
|
463816
464309
|
} else {
|
|
463817
|
-
|
|
464310
|
+
t17 = $5[59];
|
|
463818
464311
|
}
|
|
463819
|
-
let
|
|
463820
|
-
if ($5[
|
|
463821
|
-
|
|
464312
|
+
let t18;
|
|
464313
|
+
if ($5[60] !== bg2 || $5[61] !== maxH || $5[62] !== pw || $5[63] !== t6.brandAlt || $5[64] !== t15 || $5[65] !== t16 || $5[66] !== t17 || $5[67] !== t62 || $5[68] !== t7) {
|
|
464314
|
+
t18 = /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(Overlay, {
|
|
463822
464315
|
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("box", {
|
|
463823
464316
|
flexDirection: "column",
|
|
463824
464317
|
borderStyle: "rounded",
|
|
@@ -463830,26 +464323,26 @@ var init_wizard = __esm(async () => {
|
|
|
463830
464323
|
children: [
|
|
463831
464324
|
t62,
|
|
463832
464325
|
t7,
|
|
463833
|
-
t14,
|
|
463834
464326
|
t15,
|
|
463835
|
-
t16
|
|
464327
|
+
t16,
|
|
464328
|
+
t17
|
|
463836
464329
|
]
|
|
463837
464330
|
}, undefined, true, undefined, this)
|
|
463838
464331
|
}, undefined, false, undefined, this);
|
|
463839
|
-
$5[
|
|
463840
|
-
$5[
|
|
463841
|
-
$5[
|
|
463842
|
-
$5[
|
|
463843
|
-
$5[
|
|
463844
|
-
$5[
|
|
463845
|
-
$5[
|
|
463846
|
-
$5[
|
|
463847
|
-
$5[
|
|
463848
|
-
$5[
|
|
464332
|
+
$5[60] = bg2;
|
|
464333
|
+
$5[61] = maxH;
|
|
464334
|
+
$5[62] = pw;
|
|
464335
|
+
$5[63] = t6.brandAlt;
|
|
464336
|
+
$5[64] = t15;
|
|
464337
|
+
$5[65] = t16;
|
|
464338
|
+
$5[66] = t17;
|
|
464339
|
+
$5[67] = t62;
|
|
464340
|
+
$5[68] = t7;
|
|
464341
|
+
$5[69] = t18;
|
|
463849
464342
|
} else {
|
|
463850
|
-
|
|
464343
|
+
t18 = $5[69];
|
|
463851
464344
|
}
|
|
463852
|
-
return
|
|
464345
|
+
return t18;
|
|
463853
464346
|
});
|
|
463854
464347
|
});
|
|
463855
464348
|
|
|
@@ -463860,7 +464353,7 @@ var init_FirstRunWizard = __esm(async () => {
|
|
|
463860
464353
|
|
|
463861
464354
|
// src/components/modals/GitCommitModal.tsx
|
|
463862
464355
|
function GitCommitModal(t0) {
|
|
463863
|
-
const $5 =
|
|
464356
|
+
const $5 = import_compiler_runtime54.c(109);
|
|
463864
464357
|
const {
|
|
463865
464358
|
visible,
|
|
463866
464359
|
cwd: cwd2,
|
|
@@ -463875,7 +464368,7 @@ function GitCommitModal(t0) {
|
|
|
463875
464368
|
} = useTerminalDimensions();
|
|
463876
464369
|
const popupWidth = Math.min(MAX_POPUP_WIDTH7, Math.floor(termCols * 0.8));
|
|
463877
464370
|
const innerW = popupWidth - 2;
|
|
463878
|
-
const [message, setMessage] =
|
|
464371
|
+
const [message, setMessage] = import_react91.useState("");
|
|
463879
464372
|
let t1;
|
|
463880
464373
|
if ($5[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
463881
464374
|
t1 = [];
|
|
@@ -463883,7 +464376,7 @@ function GitCommitModal(t0) {
|
|
|
463883
464376
|
} else {
|
|
463884
464377
|
t1 = $5[0];
|
|
463885
464378
|
}
|
|
463886
|
-
const [stagedFiles, setStagedFiles] =
|
|
464379
|
+
const [stagedFiles, setStagedFiles] = import_react91.useState(t1);
|
|
463887
464380
|
let t22;
|
|
463888
464381
|
if ($5[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
463889
464382
|
t22 = [];
|
|
@@ -463891,7 +464384,7 @@ function GitCommitModal(t0) {
|
|
|
463891
464384
|
} else {
|
|
463892
464385
|
t22 = $5[1];
|
|
463893
464386
|
}
|
|
463894
|
-
const [modifiedFiles, setModifiedFiles] =
|
|
464387
|
+
const [modifiedFiles, setModifiedFiles] = import_react91.useState(t22);
|
|
463895
464388
|
let t3;
|
|
463896
464389
|
if ($5[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
463897
464390
|
t3 = [];
|
|
@@ -463899,10 +464392,10 @@ function GitCommitModal(t0) {
|
|
|
463899
464392
|
} else {
|
|
463900
464393
|
t3 = $5[2];
|
|
463901
464394
|
}
|
|
463902
|
-
const [untrackedFiles, setUntrackedFiles] =
|
|
463903
|
-
const [diffSummary, setDiffSummary] =
|
|
463904
|
-
const [error48, setError] =
|
|
463905
|
-
const [stageAll, setStageAll] =
|
|
464395
|
+
const [untrackedFiles, setUntrackedFiles] = import_react91.useState(t3);
|
|
464396
|
+
const [diffSummary, setDiffSummary] = import_react91.useState("");
|
|
464397
|
+
const [error48, setError] = import_react91.useState(null);
|
|
464398
|
+
const [stageAll, setStageAll] = import_react91.useState(false);
|
|
463906
464399
|
let t4;
|
|
463907
464400
|
let t5;
|
|
463908
464401
|
if ($5[3] !== cwd2 || $5[4] !== visible) {
|
|
@@ -463932,7 +464425,7 @@ function GitCommitModal(t0) {
|
|
|
463932
464425
|
t4 = $5[5];
|
|
463933
464426
|
t5 = $5[6];
|
|
463934
464427
|
}
|
|
463935
|
-
|
|
464428
|
+
import_react91.useEffect(t4, t5);
|
|
463936
464429
|
let t6;
|
|
463937
464430
|
if ($5[7] !== coAuthor || $5[8] !== cwd2 || $5[9] !== message || $5[10] !== modifiedFiles || $5[11] !== onClose || $5[12] !== onCommitted || $5[13] !== onRefresh || $5[14] !== stageAll || $5[15] !== stagedFiles || $5[16] !== untrackedFiles) {
|
|
463938
464431
|
t6 = async () => {
|
|
@@ -464402,7 +464895,7 @@ function _temp227(prev) {
|
|
|
464402
464895
|
return !prev;
|
|
464403
464896
|
}
|
|
464404
464897
|
function _temp76() {}
|
|
464405
|
-
var
|
|
464898
|
+
var import_compiler_runtime54, import_react91, MAX_POPUP_WIDTH7 = 64;
|
|
464406
464899
|
var init_GitCommitModal = __esm(async () => {
|
|
464407
464900
|
init_status();
|
|
464408
464901
|
init_icons();
|
|
@@ -464413,13 +464906,13 @@ var init_GitCommitModal = __esm(async () => {
|
|
|
464413
464906
|
init_core4(),
|
|
464414
464907
|
init_react2()
|
|
464415
464908
|
]);
|
|
464416
|
-
|
|
464417
|
-
|
|
464909
|
+
import_compiler_runtime54 = __toESM(require_compiler_runtime(), 1);
|
|
464910
|
+
import_react91 = __toESM(require_react(), 1);
|
|
464418
464911
|
});
|
|
464419
464912
|
|
|
464420
464913
|
// src/components/modals/GitMenu.tsx
|
|
464421
464914
|
function GitMenu(t0) {
|
|
464422
|
-
const $5 =
|
|
464915
|
+
const $5 = import_compiler_runtime55.c(77);
|
|
464423
464916
|
const {
|
|
464424
464917
|
visible,
|
|
464425
464918
|
cwd: cwd2,
|
|
@@ -464436,9 +464929,9 @@ function GitMenu(t0) {
|
|
|
464436
464929
|
const containerRows = termRows - 2;
|
|
464437
464930
|
const popupWidth = Math.min(MAX_POPUP_WIDTH8, Math.floor(termCols * 0.8));
|
|
464438
464931
|
const maxVisible = Math.max(4, Math.floor(containerRows * 0.8) - CHROME_ROWS11);
|
|
464439
|
-
const [cursor, setCursor] =
|
|
464440
|
-
const [scrollOffset, setScrollOffset] =
|
|
464441
|
-
const [busy, setBusy] =
|
|
464932
|
+
const [cursor, setCursor] = import_react93.useState(0);
|
|
464933
|
+
const [scrollOffset, setScrollOffset] = import_react93.useState(0);
|
|
464934
|
+
const [busy, setBusy] = import_react93.useState(false);
|
|
464442
464935
|
let t1;
|
|
464443
464936
|
if ($5[0] !== maxVisible) {
|
|
464444
464937
|
t1 = (next) => {
|
|
@@ -464873,7 +465366,7 @@ function GitMenu(t0) {
|
|
|
464873
465366
|
function _temp77(e) {
|
|
464874
465367
|
return `${e.hash} ${e.subject} (${e.date})`;
|
|
464875
465368
|
}
|
|
464876
|
-
var
|
|
465369
|
+
var import_compiler_runtime55, import_react93, MAX_POPUP_WIDTH8 = 54, CHROME_ROWS11 = 7, MENU_ITEMS;
|
|
464877
465370
|
var init_GitMenu = __esm(async () => {
|
|
464878
465371
|
init_status();
|
|
464879
465372
|
init_icons();
|
|
@@ -464884,8 +465377,8 @@ var init_GitMenu = __esm(async () => {
|
|
|
464884
465377
|
init_core4(),
|
|
464885
465378
|
init_react2()
|
|
464886
465379
|
]);
|
|
464887
|
-
|
|
464888
|
-
|
|
465380
|
+
import_compiler_runtime55 = __toESM(require_compiler_runtime(), 1);
|
|
465381
|
+
import_react93 = __toESM(require_react(), 1);
|
|
464889
465382
|
MENU_ITEMS = [{
|
|
464890
465383
|
key: "c",
|
|
464891
465384
|
label: "Commit",
|
|
@@ -464919,7 +465412,7 @@ var init_GitMenu = __esm(async () => {
|
|
|
464919
465412
|
|
|
464920
465413
|
// src/components/modals/InfoPopup.tsx
|
|
464921
465414
|
function InfoPopup(t0) {
|
|
464922
|
-
const $5 =
|
|
465415
|
+
const $5 = import_compiler_runtime56.c(81);
|
|
464923
465416
|
const {
|
|
464924
465417
|
visible,
|
|
464925
465418
|
config: config2,
|
|
@@ -464937,7 +465430,7 @@ function InfoPopup(t0) {
|
|
|
464937
465430
|
const labelW = config2?.labelWidth ?? 20;
|
|
464938
465431
|
const maxVisible = Math.max(6, Math.floor(containerRows * 0.8) - CHROME_ROWS12);
|
|
464939
465432
|
const maxTextW = innerW - 4;
|
|
464940
|
-
const [scrollOffset, setScrollOffset] =
|
|
465433
|
+
const [scrollOffset, setScrollOffset] = import_react95.useState(0);
|
|
464941
465434
|
let t1;
|
|
464942
465435
|
let t22;
|
|
464943
465436
|
if ($5[0] !== visible) {
|
|
@@ -464954,7 +465447,7 @@ function InfoPopup(t0) {
|
|
|
464954
465447
|
t1 = $5[1];
|
|
464955
465448
|
t22 = $5[2];
|
|
464956
465449
|
}
|
|
464957
|
-
|
|
465450
|
+
import_react95.useEffect(t1, t22);
|
|
464958
465451
|
let t3;
|
|
464959
465452
|
if ($5[3] !== config2 || $5[4] !== maxVisible || $5[5] !== onClose || $5[6] !== visible) {
|
|
464960
465453
|
t3 = (evt) => {
|
|
@@ -465353,7 +465846,7 @@ function _temp228(text3, max) {
|
|
|
465353
465846
|
function _temp78(prev) {
|
|
465354
465847
|
return Math.max(0, prev - 1);
|
|
465355
465848
|
}
|
|
465356
|
-
var
|
|
465849
|
+
var import_compiler_runtime56, import_react95, CHROME_ROWS12 = 6;
|
|
465357
465850
|
var init_InfoPopup = __esm(async () => {
|
|
465358
465851
|
init_theme();
|
|
465359
465852
|
init_shared2();
|
|
@@ -465362,8 +465855,8 @@ var init_InfoPopup = __esm(async () => {
|
|
|
465362
465855
|
init_core4(),
|
|
465363
465856
|
init_react2()
|
|
465364
465857
|
]);
|
|
465365
|
-
|
|
465366
|
-
|
|
465858
|
+
import_compiler_runtime56 = __toESM(require_compiler_runtime(), 1);
|
|
465859
|
+
import_react95 = __toESM(require_react(), 1);
|
|
465367
465860
|
});
|
|
465368
465861
|
|
|
465369
465862
|
// src/hooks/useAllProviderModels.ts
|
|
@@ -465375,7 +465868,7 @@ function flattenGrouped(r4) {
|
|
|
465375
465868
|
return out2;
|
|
465376
465869
|
}
|
|
465377
465870
|
function useAllProviderModels(active) {
|
|
465378
|
-
const $5 =
|
|
465871
|
+
const $5 = import_compiler_runtime57.c(8);
|
|
465379
465872
|
let t0;
|
|
465380
465873
|
if ($5[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
465381
465874
|
t0 = {};
|
|
@@ -465383,8 +465876,8 @@ function useAllProviderModels(active) {
|
|
|
465383
465876
|
} else {
|
|
465384
465877
|
t0 = $5[0];
|
|
465385
465878
|
}
|
|
465386
|
-
const [providerData, setProviderData] =
|
|
465387
|
-
const [availability, setAvailability] =
|
|
465879
|
+
const [providerData, setProviderData] = import_react96.useState(t0);
|
|
465880
|
+
const [availability, setAvailability] = import_react96.useState(_temp79);
|
|
465388
465881
|
let t1;
|
|
465389
465882
|
let t2;
|
|
465390
465883
|
if ($5[1] !== active) {
|
|
@@ -465461,7 +465954,7 @@ function useAllProviderModels(active) {
|
|
|
465461
465954
|
t1 = $5[2];
|
|
465462
465955
|
t2 = $5[3];
|
|
465463
465956
|
}
|
|
465464
|
-
|
|
465957
|
+
import_react96.useEffect(t1, t2);
|
|
465465
465958
|
const anyLoading = Object.values(providerData).some(_temp325);
|
|
465466
465959
|
let t3;
|
|
465467
465960
|
if ($5[4] !== anyLoading || $5[5] !== availability || $5[6] !== providerData) {
|
|
@@ -465498,13 +465991,13 @@ function _temp79() {
|
|
|
465498
465991
|
}
|
|
465499
465992
|
return map2;
|
|
465500
465993
|
}
|
|
465501
|
-
var
|
|
465994
|
+
var import_compiler_runtime57, import_react96, ENV_SK;
|
|
465502
465995
|
var init_useAllProviderModels = __esm(() => {
|
|
465503
465996
|
init_models();
|
|
465504
465997
|
init_provider();
|
|
465505
465998
|
init_secrets();
|
|
465506
|
-
|
|
465507
|
-
|
|
465999
|
+
import_compiler_runtime57 = __toESM(require_compiler_runtime(), 1);
|
|
466000
|
+
import_react96 = __toESM(require_react(), 1);
|
|
465508
466001
|
ENV_SK = {
|
|
465509
466002
|
ANTHROPIC_API_KEY: "anthropic-api-key",
|
|
465510
466003
|
OPENAI_API_KEY: "openai-api-key",
|
|
@@ -465524,7 +466017,7 @@ function fmtCtx(n) {
|
|
|
465524
466017
|
return `${String(Math.round(n / 1e6))}M`;
|
|
465525
466018
|
return `${String(Math.round(n / 1000))}k`;
|
|
465526
466019
|
}
|
|
465527
|
-
var
|
|
466020
|
+
var import_react98, MAX_W2 = 72, LlmSelector;
|
|
465528
466021
|
var init_LlmSelector = __esm(async () => {
|
|
465529
466022
|
init_icons();
|
|
465530
466023
|
init_models();
|
|
@@ -465537,8 +466030,8 @@ var init_LlmSelector = __esm(async () => {
|
|
|
465537
466030
|
init_core4(),
|
|
465538
466031
|
init_react2()
|
|
465539
466032
|
]);
|
|
465540
|
-
|
|
465541
|
-
LlmSelector =
|
|
466033
|
+
import_react98 = __toESM(require_react(), 1);
|
|
466034
|
+
LlmSelector = import_react98.memo(function LlmSelector2({
|
|
465542
466035
|
visible,
|
|
465543
466036
|
activeModel,
|
|
465544
466037
|
onSelect,
|
|
@@ -465557,12 +466050,12 @@ var init_LlmSelector = __esm(async () => {
|
|
|
465557
466050
|
availability,
|
|
465558
466051
|
anyLoading
|
|
465559
466052
|
} = useAllProviderModels(visible);
|
|
465560
|
-
const [query2, setQuery] =
|
|
465561
|
-
const [cursor, setCursor] =
|
|
465562
|
-
const [scrollOff, setScrollOff] =
|
|
465563
|
-
const [spinFrame, setSpinFrame] =
|
|
465564
|
-
const [collapsed, setCollapsed] =
|
|
465565
|
-
|
|
466053
|
+
const [query2, setQuery] = import_react98.useState("");
|
|
466054
|
+
const [cursor, setCursor] = import_react98.useState(0);
|
|
466055
|
+
const [scrollOff, setScrollOff] = import_react98.useState(0);
|
|
466056
|
+
const [spinFrame, setSpinFrame] = import_react98.useState(0);
|
|
466057
|
+
const [collapsed, setCollapsed] = import_react98.useState({});
|
|
466058
|
+
import_react98.useEffect(() => {
|
|
465566
466059
|
if (!visible)
|
|
465567
466060
|
return;
|
|
465568
466061
|
setQuery("");
|
|
@@ -465575,7 +466068,7 @@ var init_LlmSelector = __esm(async () => {
|
|
|
465575
466068
|
}
|
|
465576
466069
|
setCollapsed(init2);
|
|
465577
466070
|
}, [visible, activeModel]);
|
|
465578
|
-
|
|
466071
|
+
import_react98.useEffect(() => {
|
|
465579
466072
|
if (!anyLoading || !visible)
|
|
465580
466073
|
return;
|
|
465581
466074
|
const timer = setInterval(() => {
|
|
@@ -465586,7 +466079,7 @@ var init_LlmSelector = __esm(async () => {
|
|
|
465586
466079
|
const {
|
|
465587
466080
|
providerFilter,
|
|
465588
466081
|
modelFilter
|
|
465589
|
-
} =
|
|
466082
|
+
} = import_react98.useMemo(() => {
|
|
465590
466083
|
const raw2 = query2.toLowerCase().trim();
|
|
465591
466084
|
const slashIdx = raw2.indexOf("/");
|
|
465592
466085
|
if (slashIdx >= 0) {
|
|
@@ -465600,7 +466093,7 @@ var init_LlmSelector = __esm(async () => {
|
|
|
465600
466093
|
modelFilter: raw2
|
|
465601
466094
|
};
|
|
465602
466095
|
}, [query2]);
|
|
465603
|
-
const entries2 =
|
|
466096
|
+
const entries2 = import_react98.useMemo(() => {
|
|
465604
466097
|
const out2 = [];
|
|
465605
466098
|
for (const cfg_0 of PROVIDER_CONFIGS) {
|
|
465606
466099
|
const pd = provData[cfg_0.id];
|
|
@@ -465663,7 +466156,7 @@ var init_LlmSelector = __esm(async () => {
|
|
|
465663
466156
|
}
|
|
465664
466157
|
return out2;
|
|
465665
466158
|
}, [provData, providerFilter, modelFilter, availability]);
|
|
465666
|
-
const displayEntries =
|
|
466159
|
+
const displayEntries = import_react98.useMemo(() => {
|
|
465667
466160
|
if (query2)
|
|
465668
466161
|
return entries2;
|
|
465669
466162
|
return entries2.filter((e) => {
|
|
@@ -465672,23 +466165,23 @@ var init_LlmSelector = __esm(async () => {
|
|
|
465672
466165
|
return !collapsed[e.providerId];
|
|
465673
466166
|
});
|
|
465674
466167
|
}, [entries2, collapsed, query2]);
|
|
465675
|
-
const eH =
|
|
465676
|
-
const visualRowCount =
|
|
466168
|
+
const eH = import_react98.useCallback((e_0) => e_0.kind === "model" && e_0.hasDesc ? 2 : 1, []);
|
|
466169
|
+
const visualRowCount = import_react98.useMemo(() => {
|
|
465677
466170
|
let count = 0;
|
|
465678
466171
|
for (const e_1 of displayEntries)
|
|
465679
466172
|
count += eH(e_1);
|
|
465680
466173
|
return count;
|
|
465681
466174
|
}, [displayEntries, eH]);
|
|
465682
|
-
const prevDisplayRef =
|
|
465683
|
-
const cursorRef =
|
|
466175
|
+
const prevDisplayRef = import_react98.useRef(displayEntries);
|
|
466176
|
+
const cursorRef = import_react98.useRef(cursor);
|
|
465684
466177
|
cursorRef.current = cursor;
|
|
465685
|
-
const scrollRef =
|
|
466178
|
+
const scrollRef = import_react98.useRef(scrollOff);
|
|
465686
466179
|
scrollRef.current = scrollOff;
|
|
465687
|
-
const displayRef =
|
|
466180
|
+
const displayRef = import_react98.useRef(displayEntries);
|
|
465688
466181
|
displayRef.current = displayEntries;
|
|
465689
|
-
const collapsedRef =
|
|
466182
|
+
const collapsedRef = import_react98.useRef(collapsed);
|
|
465690
466183
|
collapsedRef.current = collapsed;
|
|
465691
|
-
const ensureVisible =
|
|
466184
|
+
const ensureVisible = import_react98.useCallback((idx) => {
|
|
465692
466185
|
const ents = displayRef.current;
|
|
465693
466186
|
const so = scrollRef.current;
|
|
465694
466187
|
if (idx < so) {
|
|
@@ -465716,7 +466209,7 @@ var init_LlmSelector = __esm(async () => {
|
|
|
465716
466209
|
}
|
|
465717
466210
|
}
|
|
465718
466211
|
}, [eH, maxVis]);
|
|
465719
|
-
|
|
466212
|
+
import_react98.useEffect(() => {
|
|
465720
466213
|
if (displayEntries !== prevDisplayRef.current) {
|
|
465721
466214
|
const prev = prevDisplayRef.current;
|
|
465722
466215
|
prevDisplayRef.current = displayEntries;
|
|
@@ -465751,7 +466244,7 @@ var init_LlmSelector = __esm(async () => {
|
|
|
465751
466244
|
scrollRef.current = 0;
|
|
465752
466245
|
}
|
|
465753
466246
|
}, [displayEntries, query2, ensureVisible]);
|
|
465754
|
-
const toggleCollapse =
|
|
466247
|
+
const toggleCollapse = import_react98.useCallback((providerId) => {
|
|
465755
466248
|
setCollapsed((prev_0) => ({
|
|
465756
466249
|
...prev_0,
|
|
465757
466250
|
[providerId]: !prev_0[providerId]
|
|
@@ -466145,7 +466638,7 @@ function lpad(s2, w5) {
|
|
|
466145
466638
|
return s2.length >= w5 ? s2.slice(0, w5) : " ".repeat(w5 - s2.length) + s2;
|
|
466146
466639
|
}
|
|
466147
466640
|
function SessionPicker(t0) {
|
|
466148
|
-
const $5 =
|
|
466641
|
+
const $5 = import_compiler_runtime58.c(128);
|
|
466149
466642
|
const {
|
|
466150
466643
|
visible,
|
|
466151
466644
|
cwd: cwd2,
|
|
@@ -466161,9 +466654,9 @@ function SessionPicker(t0) {
|
|
|
466161
466654
|
} else {
|
|
466162
466655
|
t1 = $5[0];
|
|
466163
466656
|
}
|
|
466164
|
-
const [sessions, setSessions] =
|
|
466165
|
-
const [query2, setQuery] =
|
|
466166
|
-
const [confirmClear, setConfirmClear] =
|
|
466657
|
+
const [sessions, setSessions] = import_react100.useState(t1);
|
|
466658
|
+
const [query2, setQuery] = import_react100.useState("");
|
|
466659
|
+
const [confirmClear, setConfirmClear] = import_react100.useState(false);
|
|
466167
466660
|
const {
|
|
466168
466661
|
width: termCols,
|
|
466169
466662
|
height: termRows
|
|
@@ -466221,7 +466714,7 @@ function SessionPicker(t0) {
|
|
|
466221
466714
|
t4 = $5[8];
|
|
466222
466715
|
t5 = $5[9];
|
|
466223
466716
|
}
|
|
466224
|
-
|
|
466717
|
+
import_react100.useEffect(t4, t5);
|
|
466225
466718
|
const filterQuery = query2.toLowerCase().trim();
|
|
466226
466719
|
const filtered = filterQuery ? sessions.filter((s2) => s2.title.toLowerCase().includes(filterQuery)) : sessions;
|
|
466227
466720
|
useKeyboard((evt) => {
|
|
@@ -466842,7 +467335,7 @@ function _temp230(prev_3) {
|
|
|
466842
467335
|
function _temp80(prev_1) {
|
|
466843
467336
|
return prev_1.slice(0, -1);
|
|
466844
467337
|
}
|
|
466845
|
-
var
|
|
467338
|
+
var import_compiler_runtime58, import_react100, POPUP_CHROME = 8, COL_MSGS = 7, COL_SIZE = 7, COL_TIME = 11, COL_FIXED;
|
|
466846
467339
|
var init_SessionPicker = __esm(async () => {
|
|
466847
467340
|
init_icons();
|
|
466848
467341
|
init_manager4();
|
|
@@ -466854,8 +467347,8 @@ var init_SessionPicker = __esm(async () => {
|
|
|
466854
467347
|
init_core4(),
|
|
466855
467348
|
init_react2()
|
|
466856
467349
|
]);
|
|
466857
|
-
|
|
466858
|
-
|
|
467350
|
+
import_compiler_runtime58 = __toESM(require_compiler_runtime(), 1);
|
|
467351
|
+
import_react100 = __toESM(require_react(), 1);
|
|
466859
467352
|
COL_FIXED = COL_MSGS + COL_SIZE + COL_TIME + 6;
|
|
466860
467353
|
});
|
|
466861
467354
|
|
|
@@ -466878,7 +467371,7 @@ function fmtMem(mb) {
|
|
|
466878
467371
|
return mb >= 1024 ? `${(mb / 1024).toFixed(1)} GB` : `${String(mb)} MB`;
|
|
466879
467372
|
}
|
|
466880
467373
|
function BarRow(t0) {
|
|
466881
|
-
const $5 =
|
|
467374
|
+
const $5 = import_compiler_runtime59.c(43);
|
|
466882
467375
|
const {
|
|
466883
467376
|
label,
|
|
466884
467377
|
pct,
|
|
@@ -467037,7 +467530,7 @@ function BarRow(t0) {
|
|
|
467037
467530
|
return t13;
|
|
467038
467531
|
}
|
|
467039
467532
|
function EntryRow(t0) {
|
|
467040
|
-
const $5 =
|
|
467533
|
+
const $5 = import_compiler_runtime59.c(17);
|
|
467041
467534
|
const {
|
|
467042
467535
|
label,
|
|
467043
467536
|
value,
|
|
@@ -467117,7 +467610,7 @@ function EntryRow(t0) {
|
|
|
467117
467610
|
return t8;
|
|
467118
467611
|
}
|
|
467119
467612
|
function SectionHeader(t0) {
|
|
467120
|
-
const $5 =
|
|
467613
|
+
const $5 = import_compiler_runtime59.c(6);
|
|
467121
467614
|
const {
|
|
467122
467615
|
label,
|
|
467123
467616
|
color,
|
|
@@ -467154,7 +467647,7 @@ function SectionHeader(t0) {
|
|
|
467154
467647
|
return t3;
|
|
467155
467648
|
}
|
|
467156
467649
|
function Spacer(t0) {
|
|
467157
|
-
const $5 =
|
|
467650
|
+
const $5 = import_compiler_runtime59.c(3);
|
|
467158
467651
|
const {
|
|
467159
467652
|
innerW
|
|
467160
467653
|
} = t0;
|
|
@@ -467199,22 +467692,22 @@ function StatusDashboard({
|
|
|
467199
467692
|
const popupWidth = Math.min(82, Math.floor(termCols * 0.85));
|
|
467200
467693
|
const innerW = popupWidth - 2;
|
|
467201
467694
|
const maxVisible = Math.max(6, Math.floor((termRows - 2) * 0.8) - CHROME_ROWS13);
|
|
467202
|
-
const [tab, setTab] =
|
|
467695
|
+
const [tab, setTab] = import_react102.useState(initialTab ?? "Context");
|
|
467203
467696
|
const TAB_COLORS = {
|
|
467204
467697
|
Context: t2.info,
|
|
467205
467698
|
System: t2.brand
|
|
467206
467699
|
};
|
|
467207
|
-
const [scrollOffset, setScrollOffset] =
|
|
467700
|
+
const [scrollOffset, setScrollOffset] = import_react102.useState(0);
|
|
467208
467701
|
const sb = useStatusBarStore();
|
|
467209
467702
|
const rm2 = useRepoMapStore();
|
|
467210
467703
|
const wk = useWorkerStore();
|
|
467211
|
-
|
|
467704
|
+
import_react102.useEffect(() => {
|
|
467212
467705
|
if (visible) {
|
|
467213
467706
|
setTab(initialTab ?? "Context");
|
|
467214
467707
|
setScrollOffset(0);
|
|
467215
467708
|
}
|
|
467216
467709
|
}, [visible, initialTab]);
|
|
467217
|
-
const pollWorkerMemory =
|
|
467710
|
+
const pollWorkerMemory = import_react102.useCallback(async () => {
|
|
467218
467711
|
const store = useWorkerStore.getState();
|
|
467219
467712
|
try {
|
|
467220
467713
|
const intel = contextManager.getRepoMap();
|
|
@@ -467229,8 +467722,8 @@ function StatusDashboard({
|
|
|
467229
467722
|
store.setWorkerMemory("io", Math.round(res_0.heapUsed / 1024 / 1024), Math.round(res_0.rss / 1024 / 1024));
|
|
467230
467723
|
} catch {}
|
|
467231
467724
|
}, [contextManager]);
|
|
467232
|
-
const pollRef =
|
|
467233
|
-
|
|
467725
|
+
const pollRef = import_react102.useRef(null);
|
|
467726
|
+
import_react102.useEffect(() => {
|
|
467234
467727
|
if (visible && tab === "System") {
|
|
467235
467728
|
pollWorkerMemory();
|
|
467236
467729
|
pollRef.current = setInterval(pollWorkerMemory, 5000);
|
|
@@ -467244,7 +467737,7 @@ function StatusDashboard({
|
|
|
467244
467737
|
}, [visible, tab, pollWorkerMemory]);
|
|
467245
467738
|
const modelId = chat?.activeModel ?? "none";
|
|
467246
467739
|
const tu = sb.tokenUsage;
|
|
467247
|
-
const contextLines =
|
|
467740
|
+
const contextLines = import_react102.useMemo(() => {
|
|
467248
467741
|
const breakdown = contextManager.getContextBreakdown();
|
|
467249
467742
|
const systemChars = breakdown.reduce((sum, s2) => sum + s2.chars, 0);
|
|
467250
467743
|
const ctxWindow = sb.contextWindow > 0 ? sb.contextWindow : getModelContextInfo(modelId).tokens;
|
|
@@ -467477,11 +467970,11 @@ function StatusDashboard({
|
|
|
467477
467970
|
}
|
|
467478
467971
|
return lines;
|
|
467479
467972
|
}, [contextManager, sb.contextWindow, modelId, tu, tabMgr, innerW, sb.chatChars, sb.contextTokens, sb.subagentChars, sb.chatCharsAtSnapshot, t2]);
|
|
467480
|
-
const [lspCount, setLspCount] =
|
|
467481
|
-
|
|
467973
|
+
const [lspCount, setLspCount] = import_react102.useState(0);
|
|
467974
|
+
import_react102.useEffect(() => {
|
|
467482
467975
|
getIntelligenceStatus().then((s_4) => setLspCount(s_4?.lspServers.length ?? 0));
|
|
467483
467976
|
}, []);
|
|
467484
|
-
const systemLines =
|
|
467977
|
+
const systemLines = import_react102.useMemo(() => {
|
|
467485
467978
|
const rssMB = sb.rssMB;
|
|
467486
467979
|
const memColor = rssMB < 2048 ? t2.success : rssMB < 4096 ? t2.amber : t2.error;
|
|
467487
467980
|
const lines_0 = [];
|
|
@@ -467806,7 +468299,7 @@ function StatusDashboard({
|
|
|
467806
468299
|
}, undefined, true, undefined, this)
|
|
467807
468300
|
}, undefined, false, undefined, this);
|
|
467808
468301
|
}
|
|
467809
|
-
var
|
|
468302
|
+
var import_compiler_runtime59, import_react102, CHROME_ROWS13 = 6, TABS;
|
|
467810
468303
|
var init_StatusDashboard = __esm(async () => {
|
|
467811
468304
|
init_instance();
|
|
467812
468305
|
init_icons();
|
|
@@ -467824,8 +468317,8 @@ var init_StatusDashboard = __esm(async () => {
|
|
|
467824
468317
|
init_core4(),
|
|
467825
468318
|
init_react2()
|
|
467826
468319
|
]);
|
|
467827
|
-
|
|
467828
|
-
|
|
468320
|
+
import_compiler_runtime59 = __toESM(require_compiler_runtime(), 1);
|
|
468321
|
+
import_react102 = __toESM(require_react(), 1);
|
|
467829
468322
|
TABS = ["Context", "System"];
|
|
467830
468323
|
});
|
|
467831
468324
|
|
|
@@ -467834,7 +468327,7 @@ function trunc(s2, max) {
|
|
|
467834
468327
|
return s2.length > max ? `${s2.slice(0, max - 1)}\u2026` : s2;
|
|
467835
468328
|
}
|
|
467836
468329
|
function Hr4(t0) {
|
|
467837
|
-
const $5 =
|
|
468330
|
+
const $5 = import_compiler_runtime60.c(9);
|
|
467838
468331
|
const {
|
|
467839
468332
|
w: w5,
|
|
467840
468333
|
bg: bg2,
|
|
@@ -467877,7 +468370,7 @@ function Hr4(t0) {
|
|
|
467877
468370
|
return t3;
|
|
467878
468371
|
}
|
|
467879
468372
|
function Gap3(t0) {
|
|
467880
|
-
const $5 =
|
|
468373
|
+
const $5 = import_compiler_runtime60.c(4);
|
|
467881
468374
|
const {
|
|
467882
468375
|
w: w5,
|
|
467883
468376
|
bg: bg2,
|
|
@@ -467909,7 +468402,7 @@ function Gap3(t0) {
|
|
|
467909
468402
|
return t2;
|
|
467910
468403
|
}
|
|
467911
468404
|
function UpdateModal(t0) {
|
|
467912
|
-
const $5 =
|
|
468405
|
+
const $5 = import_compiler_runtime60.c(569);
|
|
467913
468406
|
const {
|
|
467914
468407
|
visible,
|
|
467915
468408
|
onClose,
|
|
@@ -467927,10 +468420,10 @@ function UpdateModal(t0) {
|
|
|
467927
468420
|
installMethod,
|
|
467928
468421
|
updateAvailable
|
|
467929
468422
|
} = useVersionStore();
|
|
467930
|
-
const [copied, setCopied] =
|
|
467931
|
-
const [phase, setPhase] =
|
|
467932
|
-
const [quipIdx, setQuipIdx] =
|
|
467933
|
-
const [spinIdx, setSpinIdx] =
|
|
468423
|
+
const [copied, setCopied] = import_react104.useState(false);
|
|
468424
|
+
const [phase, setPhase] = import_react104.useState("info");
|
|
468425
|
+
const [quipIdx, setQuipIdx] = import_react104.useState(0);
|
|
468426
|
+
const [spinIdx, setSpinIdx] = import_react104.useState(0);
|
|
467934
468427
|
let t1;
|
|
467935
468428
|
if ($5[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
467936
468429
|
t1 = [];
|
|
@@ -467938,11 +468431,11 @@ function UpdateModal(t0) {
|
|
|
467938
468431
|
} else {
|
|
467939
468432
|
t1 = $5[0];
|
|
467940
468433
|
}
|
|
467941
|
-
const [logLines, setLogLines] =
|
|
467942
|
-
const [errorMsg, setErrorMsg] =
|
|
467943
|
-
const upgrading =
|
|
467944
|
-
const [tick, setTick] =
|
|
467945
|
-
const prevVisible =
|
|
468434
|
+
const [logLines, setLogLines] = import_react104.useState(t1);
|
|
468435
|
+
const [errorMsg, setErrorMsg] = import_react104.useState("");
|
|
468436
|
+
const upgrading = import_react104.useRef(false);
|
|
468437
|
+
const [tick, setTick] = import_react104.useState(0);
|
|
468438
|
+
const prevVisible = import_react104.useRef(false);
|
|
467946
468439
|
let t22;
|
|
467947
468440
|
let t3;
|
|
467948
468441
|
if ($5[1] !== visible) {
|
|
@@ -467961,7 +468454,7 @@ function UpdateModal(t0) {
|
|
|
467961
468454
|
t22 = $5[2];
|
|
467962
468455
|
t3 = $5[3];
|
|
467963
468456
|
}
|
|
467964
|
-
|
|
468457
|
+
import_react104.useEffect(t22, t3);
|
|
467965
468458
|
let t4;
|
|
467966
468459
|
let t5;
|
|
467967
468460
|
if ($5[4] !== tick || $5[5] !== visible) {
|
|
@@ -467981,7 +468474,7 @@ function UpdateModal(t0) {
|
|
|
467981
468474
|
t4 = $5[6];
|
|
467982
468475
|
t5 = $5[7];
|
|
467983
468476
|
}
|
|
467984
|
-
|
|
468477
|
+
import_react104.useEffect(t4, t5);
|
|
467985
468478
|
const pw = Math.min(60, Math.floor(termCols * 0.85));
|
|
467986
468479
|
const iw = pw - 2;
|
|
467987
468480
|
const maxChangelog = Math.max(3, Math.floor(termRows * 0.3) - 8);
|
|
@@ -468008,7 +468501,7 @@ function UpdateModal(t0) {
|
|
|
468008
468501
|
t6 = $5[9];
|
|
468009
468502
|
t7 = $5[10];
|
|
468010
468503
|
}
|
|
468011
|
-
|
|
468504
|
+
import_react104.useEffect(t6, t7);
|
|
468012
468505
|
let t8;
|
|
468013
468506
|
if ($5[11] !== installMethod) {
|
|
468014
468507
|
t8 = async () => {
|
|
@@ -470519,7 +471012,7 @@ function _temp231(i4) {
|
|
|
470519
471012
|
function _temp81(prev) {
|
|
470520
471013
|
return prev + 1;
|
|
470521
471014
|
}
|
|
470522
|
-
var
|
|
471015
|
+
var import_compiler_runtime60, import_react104, UPGRADE_QUIPS, LATEST_QUIPS, SPINNER2, GHOST_FADE, WISP, MAX_LOG = 50, BOLD4, ITALIC3, DIM3;
|
|
470523
471016
|
var init_UpdateModal = __esm(async () => {
|
|
470524
471017
|
init_icons();
|
|
470525
471018
|
init_theme();
|
|
@@ -470532,8 +471025,8 @@ var init_UpdateModal = __esm(async () => {
|
|
|
470532
471025
|
init_core4(),
|
|
470533
471026
|
init_react2()
|
|
470534
471027
|
]);
|
|
470535
|
-
|
|
470536
|
-
|
|
471028
|
+
import_compiler_runtime60 = __toESM(require_compiler_runtime(), 1);
|
|
471029
|
+
import_react104 = __toESM(require_react(), 1);
|
|
470537
471030
|
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"];
|
|
470538
471031
|
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."];
|
|
470539
471032
|
SPINNER2 = ["\u280B", "\u2819", "\u2839", "\u2838", "\u283C", "\u2834", "\u2826", "\u2827", "\u2807", "\u280F"];
|
|
@@ -470553,7 +471046,7 @@ function getAgentAccessColors(t2) {
|
|
|
470553
471046
|
};
|
|
470554
471047
|
}
|
|
470555
471048
|
function EditorSettings(t0) {
|
|
470556
|
-
const $5 =
|
|
471049
|
+
const $5 = import_compiler_runtime61.c(107);
|
|
470557
471050
|
const {
|
|
470558
471051
|
visible,
|
|
470559
471052
|
settings,
|
|
@@ -470575,7 +471068,7 @@ function EditorSettings(t0) {
|
|
|
470575
471068
|
scrollOffset,
|
|
470576
471069
|
adjustScroll
|
|
470577
471070
|
} = usePopupScroll(maxVisible);
|
|
470578
|
-
const [scope, setScope] =
|
|
471071
|
+
const [scope, setScope] = import_react106.useState(initialScope ?? "project");
|
|
470579
471072
|
const t2 = useTheme();
|
|
470580
471073
|
const current = settings ?? ALL_ON;
|
|
470581
471074
|
let t1;
|
|
@@ -470595,7 +471088,7 @@ function EditorSettings(t0) {
|
|
|
470595
471088
|
t1 = $5[2];
|
|
470596
471089
|
t22 = $5[3];
|
|
470597
471090
|
}
|
|
470598
|
-
|
|
471091
|
+
import_react106.useEffect(t1, t22);
|
|
470599
471092
|
let t3;
|
|
470600
471093
|
if ($5[4] !== adjustScroll || $5[5] !== current || $5[6] !== cursor || $5[7] !== onClose || $5[8] !== onUpdate || $5[9] !== scope || $5[10] !== setCursor || $5[11] !== visible) {
|
|
470601
471094
|
t3 = (evt) => {
|
|
@@ -471103,7 +471596,7 @@ function EditorSettings(t0) {
|
|
|
471103
471596
|
}
|
|
471104
471597
|
return t32;
|
|
471105
471598
|
}
|
|
471106
|
-
var
|
|
471599
|
+
var import_compiler_runtime61, import_react106, AGENT_ACCESS_MODES, AGENT_ACCESS_LABELS, MAX_POPUP_WIDTH9 = 70, CHROME_ROWS14 = 8, ITEMS, ALL_ON, ALL_OFF;
|
|
471107
471600
|
var init_EditorSettings = __esm(async () => {
|
|
471108
471601
|
init_theme();
|
|
471109
471602
|
init_usePopupScroll();
|
|
@@ -471113,8 +471606,8 @@ var init_EditorSettings = __esm(async () => {
|
|
|
471113
471606
|
init_core4(),
|
|
471114
471607
|
init_react2()
|
|
471115
471608
|
]);
|
|
471116
|
-
|
|
471117
|
-
|
|
471609
|
+
import_compiler_runtime61 = __toESM(require_compiler_runtime(), 1);
|
|
471610
|
+
import_react106 = __toESM(require_react(), 1);
|
|
471118
471611
|
AGENT_ACCESS_MODES = ["on", "off", "when-open"];
|
|
471119
471612
|
AGENT_ACCESS_LABELS = {
|
|
471120
471613
|
on: "Always",
|
|
@@ -471802,7 +472295,7 @@ function langLabel(pkg) {
|
|
|
471802
472295
|
return pkg.languages.join(", ");
|
|
471803
472296
|
return `${pkg.languages.slice(0, 2).join(", ")} +${pkg.languages.length - 2}`;
|
|
471804
472297
|
}
|
|
471805
|
-
var
|
|
472298
|
+
var import_react108, MAX_POPUP_WIDTH10 = 110, CHROME_ROWS15 = 10, TABS2, TAB_LABELS, CATEGORY_FILTERS, LspInstallSearch;
|
|
471806
472299
|
var init_LspInstallSearch = __esm(async () => {
|
|
471807
472300
|
init_installer();
|
|
471808
472301
|
init_server_registry();
|
|
@@ -471814,7 +472307,7 @@ var init_LspInstallSearch = __esm(async () => {
|
|
|
471814
472307
|
init_core4(),
|
|
471815
472308
|
init_react2()
|
|
471816
472309
|
]);
|
|
471817
|
-
|
|
472310
|
+
import_react108 = __toESM(require_react(), 1);
|
|
471818
472311
|
TABS2 = ["search", "installed", "disabled", "recommended"];
|
|
471819
472312
|
TAB_LABELS = {
|
|
471820
472313
|
search: "Search",
|
|
@@ -471823,7 +472316,7 @@ var init_LspInstallSearch = __esm(async () => {
|
|
|
471823
472316
|
recommended: "Recommended"
|
|
471824
472317
|
};
|
|
471825
472318
|
CATEGORY_FILTERS = ["All", "LSP", "Formatter", "Linter", "DAP"];
|
|
471826
|
-
LspInstallSearch =
|
|
472319
|
+
LspInstallSearch = import_react108.memo(function LspInstallSearch2({
|
|
471827
472320
|
visible,
|
|
471828
472321
|
cwd: cwd2,
|
|
471829
472322
|
onClose,
|
|
@@ -471834,18 +472327,18 @@ var init_LspInstallSearch = __esm(async () => {
|
|
|
471834
472327
|
initialTab = "installed"
|
|
471835
472328
|
}) {
|
|
471836
472329
|
const t2 = useTheme();
|
|
471837
|
-
const [tab, setTab] =
|
|
471838
|
-
const [query2, setQuery] =
|
|
471839
|
-
const [categoryFilter, setCategoryFilter] =
|
|
471840
|
-
const [allStatus, setAllStatus] =
|
|
471841
|
-
const [recommended, setRecommended] =
|
|
471842
|
-
const [installing, setInstalling] =
|
|
471843
|
-
const [registryLoaded, setRegistryLoaded] =
|
|
471844
|
-
const [registryLoading, setRegistryLoading] =
|
|
471845
|
-
const [pendingToggle, setPendingToggle] =
|
|
472330
|
+
const [tab, setTab] = import_react108.useState(initialTab);
|
|
472331
|
+
const [query2, setQuery] = import_react108.useState("");
|
|
472332
|
+
const [categoryFilter, setCategoryFilter] = import_react108.useState("All");
|
|
472333
|
+
const [allStatus, setAllStatus] = import_react108.useState([]);
|
|
472334
|
+
const [recommended, setRecommended] = import_react108.useState([]);
|
|
472335
|
+
const [installing, setInstalling] = import_react108.useState(false);
|
|
472336
|
+
const [registryLoaded, setRegistryLoaded] = import_react108.useState(false);
|
|
472337
|
+
const [registryLoading, setRegistryLoading] = import_react108.useState(false);
|
|
472338
|
+
const [pendingToggle, setPendingToggle] = import_react108.useState(null);
|
|
471846
472339
|
const defaultScopeCursor = detectScope("disabledLspServers") === "project" ? 0 : 1;
|
|
471847
|
-
const [scopeCursor, setScopeCursor] =
|
|
471848
|
-
const downloadAttemptedRef =
|
|
472340
|
+
const [scopeCursor, setScopeCursor] = import_react108.useState(defaultScopeCursor);
|
|
472341
|
+
const downloadAttemptedRef = import_react108.useRef(false);
|
|
471849
472342
|
const isInProject = existsSync34(join46(cwd2, ".git"));
|
|
471850
472343
|
const {
|
|
471851
472344
|
width: termCols,
|
|
@@ -471862,7 +472355,7 @@ var init_LspInstallSearch = __esm(async () => {
|
|
|
471862
472355
|
adjustScroll,
|
|
471863
472356
|
resetScroll
|
|
471864
472357
|
} = usePopupScroll(maxVisible);
|
|
471865
|
-
const refreshAll =
|
|
472358
|
+
const refreshAll = import_react108.useCallback(async () => {
|
|
471866
472359
|
setRegistryLoading(true);
|
|
471867
472360
|
await new Promise((r4) => setTimeout(r4, 16));
|
|
471868
472361
|
const statuses = getAllPackageStatus();
|
|
@@ -471871,7 +472364,7 @@ var init_LspInstallSearch = __esm(async () => {
|
|
|
471871
472364
|
setRecommended(getRecommendedPackages(cwd2));
|
|
471872
472365
|
setRegistryLoading(false);
|
|
471873
472366
|
}, [cwd2]);
|
|
471874
|
-
|
|
472367
|
+
import_react108.useEffect(() => {
|
|
471875
472368
|
if (!visible)
|
|
471876
472369
|
return;
|
|
471877
472370
|
setTab(initialTab);
|
|
@@ -471894,7 +472387,7 @@ var init_LspInstallSearch = __esm(async () => {
|
|
|
471894
472387
|
}
|
|
471895
472388
|
}, [visible, refreshAll, onSystemMessage, resetScroll, initialTab]);
|
|
471896
472389
|
const filterQuery = query2.toLowerCase().trim();
|
|
471897
|
-
const filteredList =
|
|
472390
|
+
const filteredList = import_react108.useMemo(() => {
|
|
471898
472391
|
let list = allStatus;
|
|
471899
472392
|
if (categoryFilter !== "All") {
|
|
471900
472393
|
list = list.filter((s2) => s2.pkg.categories.includes(categoryFilter));
|
|
@@ -471904,21 +472397,21 @@ var init_LspInstallSearch = __esm(async () => {
|
|
|
471904
472397
|
}
|
|
471905
472398
|
return list;
|
|
471906
472399
|
}, [allStatus, categoryFilter, filterQuery]);
|
|
471907
|
-
const installedList =
|
|
472400
|
+
const installedList = import_react108.useMemo(() => {
|
|
471908
472401
|
let list_0 = allStatus.filter((s_1) => s_1.installed);
|
|
471909
472402
|
if (filterQuery) {
|
|
471910
472403
|
list_0 = list_0.filter((s_2) => s_2.pkg.name.toLowerCase().includes(filterQuery) || s_2.pkg.languages.some((l_0) => l_0.toLowerCase().includes(filterQuery)));
|
|
471911
472404
|
}
|
|
471912
472405
|
return list_0;
|
|
471913
472406
|
}, [allStatus, filterQuery]);
|
|
471914
|
-
const disabledList =
|
|
472407
|
+
const disabledList = import_react108.useMemo(() => {
|
|
471915
472408
|
let list_1 = allStatus.filter((s_3) => disabledServers.includes(s_3.pkg.name));
|
|
471916
472409
|
if (filterQuery) {
|
|
471917
472410
|
list_1 = list_1.filter((s_4) => s_4.pkg.name.toLowerCase().includes(filterQuery) || s_4.pkg.languages.some((l_1) => l_1.toLowerCase().includes(filterQuery)));
|
|
471918
472411
|
}
|
|
471919
472412
|
return list_1;
|
|
471920
472413
|
}, [allStatus, disabledServers, filterQuery]);
|
|
471921
|
-
const filteredRecommended =
|
|
472414
|
+
const filteredRecommended = import_react108.useMemo(() => {
|
|
471922
472415
|
if (!filterQuery)
|
|
471923
472416
|
return recommended;
|
|
471924
472417
|
return recommended.filter((s_5) => s_5.pkg.name.toLowerCase().includes(filterQuery) || s_5.pkg.languages.some((l_2) => l_2.toLowerCase().includes(filterQuery)));
|
|
@@ -472547,7 +473040,7 @@ function detectInitialScope(project) {
|
|
|
472547
473040
|
return "global";
|
|
472548
473041
|
}
|
|
472549
473042
|
function ProviderSettings(t0) {
|
|
472550
|
-
const $5 =
|
|
473043
|
+
const $5 = import_compiler_runtime62.c(126);
|
|
472551
473044
|
const {
|
|
472552
473045
|
visible,
|
|
472553
473046
|
globalConfig: globalConfig2,
|
|
@@ -472564,7 +473057,7 @@ function ProviderSettings(t0) {
|
|
|
472564
473057
|
const innerW = popupWidth - 2;
|
|
472565
473058
|
const maxVisible = Math.max(4, Math.floor(containerRows * 0.8) - CHROME_ROWS16);
|
|
472566
473059
|
const t2 = useTheme();
|
|
472567
|
-
const [tab, setTab] =
|
|
473060
|
+
const [tab, setTab] = import_react110.useState("claude");
|
|
472568
473061
|
const {
|
|
472569
473062
|
cursor,
|
|
472570
473063
|
setCursor,
|
|
@@ -472580,7 +473073,7 @@ function ProviderSettings(t0) {
|
|
|
472580
473073
|
} else {
|
|
472581
473074
|
t1 = $5[1];
|
|
472582
473075
|
}
|
|
472583
|
-
const [scope, setScope] =
|
|
473076
|
+
const [scope, setScope] = import_react110.useState(t1);
|
|
472584
473077
|
let t22;
|
|
472585
473078
|
if ($5[2] !== globalConfig2 || $5[3] !== projectConfig) {
|
|
472586
473079
|
t22 = effectiveValues(globalConfig2, projectConfig);
|
|
@@ -472610,7 +473103,7 @@ function ProviderSettings(t0) {
|
|
|
472610
473103
|
t3 = $5[7];
|
|
472611
473104
|
t4 = $5[8];
|
|
472612
473105
|
}
|
|
472613
|
-
|
|
473106
|
+
import_react110.useEffect(t3, t4);
|
|
472614
473107
|
let t5;
|
|
472615
473108
|
if ($5[9] !== resetScroll) {
|
|
472616
473109
|
t5 = () => {
|
|
@@ -472630,7 +473123,7 @@ function ProviderSettings(t0) {
|
|
|
472630
473123
|
} else {
|
|
472631
473124
|
t6 = $5[13];
|
|
472632
473125
|
}
|
|
472633
|
-
|
|
473126
|
+
import_react110.useEffect(t5, t6);
|
|
472634
473127
|
const isBudgetDisabled = vals.thinkingMode !== "enabled";
|
|
472635
473128
|
let t7;
|
|
472636
473129
|
if ($5[14] !== isBudgetDisabled || $5[15] !== onUpdate || $5[16] !== scope || $5[17] !== vals) {
|
|
@@ -473165,7 +473658,7 @@ function ProviderSettings(t0) {
|
|
|
473165
473658
|
}
|
|
473166
473659
|
return t33;
|
|
473167
473660
|
}
|
|
473168
|
-
var
|
|
473661
|
+
var import_compiler_runtime62, import_react110, MAX_POPUP_WIDTH11 = 78, CHROME_ROWS16 = 7, TABS3, TAB_LABELS2, TAB_ICONS, CLAUDE_ITEMS, OPENAI_ITEMS, GENERAL_ITEMS, TAB_ITEMS, DEFAULTS;
|
|
473169
473662
|
var init_ProviderSettings = __esm(async () => {
|
|
473170
473663
|
init_icons();
|
|
473171
473664
|
init_theme();
|
|
@@ -473176,8 +473669,8 @@ var init_ProviderSettings = __esm(async () => {
|
|
|
473176
473669
|
init_core4(),
|
|
473177
473670
|
init_react2()
|
|
473178
473671
|
]);
|
|
473179
|
-
|
|
473180
|
-
|
|
473672
|
+
import_compiler_runtime62 = __toESM(require_compiler_runtime(), 1);
|
|
473673
|
+
import_react110 = __toESM(require_react(), 1);
|
|
473181
473674
|
TABS3 = ["claude", "openai", "general"];
|
|
473182
473675
|
TAB_LABELS2 = {
|
|
473183
473676
|
claude: "Claude",
|
|
@@ -473342,19 +473835,19 @@ function RepoMapStatusPopup({
|
|
|
473342
473835
|
} = useTerminalDimensions();
|
|
473343
473836
|
const popupWidth = Math.min(POPUP_W, Math.floor(termCols * 0.8));
|
|
473344
473837
|
const innerW = popupWidth - 2;
|
|
473345
|
-
const stateRef =
|
|
473346
|
-
const [, setRenderTick] =
|
|
473347
|
-
const spinnerRef =
|
|
473838
|
+
const stateRef = import_react112.useRef(useRepoMapStore.getState());
|
|
473839
|
+
const [, setRenderTick] = import_react112.useState(0);
|
|
473840
|
+
const spinnerRef = import_react112.useRef(0);
|
|
473348
473841
|
const initialMode = currentMode ?? "off";
|
|
473349
473842
|
const initialLimit = currentLimit ?? 300;
|
|
473350
|
-
const [selectedMode, setSelectedMode] =
|
|
473351
|
-
const [selectedLimit, setSelectedLimit] =
|
|
473352
|
-
const [selectedAutoRegen, setSelectedAutoRegen] =
|
|
473353
|
-
const [selectedTokenBudget, setSelectedTokenBudget] =
|
|
473354
|
-
const [selectedScope, setSelectedScope] =
|
|
473355
|
-
const [focusRow, setFocusRow] =
|
|
473356
|
-
const [confirmClear, setConfirmClear] =
|
|
473357
|
-
|
|
473843
|
+
const [selectedMode, setSelectedMode] = import_react112.useState(initialMode);
|
|
473844
|
+
const [selectedLimit, setSelectedLimit] = import_react112.useState(initialLimit);
|
|
473845
|
+
const [selectedAutoRegen, setSelectedAutoRegen] = import_react112.useState(currentAutoRegen ?? false);
|
|
473846
|
+
const [selectedTokenBudget, setSelectedTokenBudget] = import_react112.useState(currentTokenBudget);
|
|
473847
|
+
const [selectedScope, setSelectedScope] = import_react112.useState(currentScope ?? "project");
|
|
473848
|
+
const [focusRow, setFocusRow] = import_react112.useState(0 /* Mode */);
|
|
473849
|
+
const [confirmClear, setConfirmClear] = import_react112.useState(false);
|
|
473850
|
+
import_react112.useEffect(() => {
|
|
473358
473851
|
if (!visible)
|
|
473359
473852
|
return;
|
|
473360
473853
|
setSelectedMode(currentMode ?? "off");
|
|
@@ -473365,7 +473858,7 @@ function RepoMapStatusPopup({
|
|
|
473365
473858
|
setFocusRow(0 /* Mode */);
|
|
473366
473859
|
setConfirmClear(false);
|
|
473367
473860
|
}, [visible, currentMode, currentLimit, currentAutoRegen, currentTokenBudget, currentScope]);
|
|
473368
|
-
|
|
473861
|
+
import_react112.useEffect(() => {
|
|
473369
473862
|
if (!visible)
|
|
473370
473863
|
return;
|
|
473371
473864
|
stateRef.current = useRepoMapStore.getState();
|
|
@@ -473375,7 +473868,7 @@ function RepoMapStatusPopup({
|
|
|
473375
473868
|
setRenderTick((n_0) => n_0 + 1);
|
|
473376
473869
|
});
|
|
473377
473870
|
}, [visible]);
|
|
473378
|
-
|
|
473871
|
+
import_react112.useEffect(() => {
|
|
473379
473872
|
if (!visible)
|
|
473380
473873
|
return;
|
|
473381
473874
|
const timer = setInterval(() => {
|
|
@@ -473974,7 +474467,7 @@ function RepoMapStatusPopup({
|
|
|
473974
474467
|
}, undefined, true, undefined, this)
|
|
473975
474468
|
}, undefined, false, undefined, this);
|
|
473976
474469
|
}
|
|
473977
|
-
var
|
|
474470
|
+
var import_react112, LABEL_W = 18, POPUP_W = 72, SEMANTIC_MODES, MODE_DESCRIPTIONS, MODE_LABELS2, LLM_LIMIT_PRESETS, TOKEN_BUDGET_PRESETS;
|
|
473978
474471
|
var init_RepoMapStatusPopup = __esm(async () => {
|
|
473979
474472
|
init_icons();
|
|
473980
474473
|
init_theme();
|
|
@@ -473985,7 +474478,7 @@ var init_RepoMapStatusPopup = __esm(async () => {
|
|
|
473985
474478
|
init_core4(),
|
|
473986
474479
|
init_react2()
|
|
473987
474480
|
]);
|
|
473988
|
-
|
|
474481
|
+
import_react112 = __toESM(require_react(), 1);
|
|
473989
474482
|
SEMANTIC_MODES = ["off", "ast", "synthetic", "llm", "full"];
|
|
473990
474483
|
MODE_DESCRIPTIONS = {
|
|
473991
474484
|
off: "disabled",
|
|
@@ -474007,7 +474500,7 @@ var init_RepoMapStatusPopup = __esm(async () => {
|
|
|
474007
474500
|
|
|
474008
474501
|
// src/components/settings/RouterSettings.tsx
|
|
474009
474502
|
function RouterSettings(t0) {
|
|
474010
|
-
const $5 =
|
|
474503
|
+
const $5 = import_compiler_runtime63.c(100);
|
|
474011
474504
|
const {
|
|
474012
474505
|
visible,
|
|
474013
474506
|
router: router2,
|
|
@@ -474505,7 +474998,7 @@ function RouterSettings(t0) {
|
|
|
474505
474998
|
}
|
|
474506
474999
|
return t31;
|
|
474507
475000
|
}
|
|
474508
|
-
var
|
|
475001
|
+
var import_compiler_runtime63, import_react114, MAX_POPUP_WIDTH12 = 76, CHROME_ROWS17 = 12, ROWS, SELECTABLE, SectionHeader2, SlotRowView;
|
|
474509
475002
|
var init_RouterSettings = __esm(async () => {
|
|
474510
475003
|
init_icons();
|
|
474511
475004
|
init_theme();
|
|
@@ -474516,8 +475009,8 @@ var init_RouterSettings = __esm(async () => {
|
|
|
474516
475009
|
init_core4(),
|
|
474517
475010
|
init_react2()
|
|
474518
475011
|
]);
|
|
474519
|
-
|
|
474520
|
-
|
|
475012
|
+
import_compiler_runtime63 = __toESM(require_compiler_runtime(), 1);
|
|
475013
|
+
import_react114 = __toESM(require_react(), 1);
|
|
474521
475014
|
ROWS = [
|
|
474522
475015
|
{
|
|
474523
475016
|
kind: "section",
|
|
@@ -474597,8 +475090,8 @@ var init_RouterSettings = __esm(async () => {
|
|
|
474597
475090
|
});
|
|
474598
475091
|
return acc;
|
|
474599
475092
|
}, []);
|
|
474600
|
-
SectionHeader2 =
|
|
474601
|
-
const $5 =
|
|
475093
|
+
SectionHeader2 = import_react114.memo(function SectionHeader3(t0) {
|
|
475094
|
+
const $5 = import_compiler_runtime63.c(25);
|
|
474602
475095
|
const {
|
|
474603
475096
|
title,
|
|
474604
475097
|
subtitle,
|
|
@@ -474725,8 +475218,8 @@ var init_RouterSettings = __esm(async () => {
|
|
|
474725
475218
|
}
|
|
474726
475219
|
return t10;
|
|
474727
475220
|
});
|
|
474728
|
-
SlotRowView =
|
|
474729
|
-
const $5 =
|
|
475221
|
+
SlotRowView = import_react114.memo(function SlotRowView2(t0) {
|
|
475222
|
+
const $5 = import_compiler_runtime63.c(25);
|
|
474730
475223
|
const {
|
|
474731
475224
|
slot,
|
|
474732
475225
|
modelId,
|
|
@@ -474838,7 +475331,7 @@ var init_RouterSettings = __esm(async () => {
|
|
|
474838
475331
|
// src/components/settings/SkillSearch.tsx
|
|
474839
475332
|
import { existsSync as existsSync35 } from "fs";
|
|
474840
475333
|
import { join as join47 } from "path";
|
|
474841
|
-
var
|
|
475334
|
+
var import_react116, MAX_POPUP_WIDTH13 = 100, CHROME_ROWS18 = 9, TABS4, TAB_LABELS3, SkillSearch;
|
|
474842
475335
|
var init_SkillSearch = __esm(async () => {
|
|
474843
475336
|
init_manager2();
|
|
474844
475337
|
init_theme();
|
|
@@ -474849,33 +475342,31 @@ var init_SkillSearch = __esm(async () => {
|
|
|
474849
475342
|
init_core4(),
|
|
474850
475343
|
init_react2()
|
|
474851
475344
|
]);
|
|
474852
|
-
|
|
475345
|
+
import_react116 = __toESM(require_react(), 1);
|
|
474853
475346
|
TABS4 = ["search", "installed", "active"];
|
|
474854
475347
|
TAB_LABELS3 = {
|
|
474855
475348
|
search: "Search",
|
|
474856
475349
|
installed: "Installed",
|
|
474857
475350
|
active: "Active"
|
|
474858
475351
|
};
|
|
474859
|
-
SkillSearch =
|
|
475352
|
+
SkillSearch = import_react116.memo(function SkillSearch2({
|
|
474860
475353
|
visible,
|
|
474861
475354
|
contextManager,
|
|
474862
|
-
agentSkillsEnabled,
|
|
474863
|
-
onToggleAgentSkills,
|
|
474864
475355
|
onClose,
|
|
474865
475356
|
onSystemMessage
|
|
474866
475357
|
}) {
|
|
474867
475358
|
const t2 = useTheme();
|
|
474868
|
-
const [tab, setTab] =
|
|
474869
|
-
const [query2, setQuery] =
|
|
474870
|
-
const [popular, setPopular] =
|
|
474871
|
-
const [results, setResults] =
|
|
474872
|
-
const [installed, setInstalled] =
|
|
474873
|
-
const [activeSkills, setActiveSkills] =
|
|
474874
|
-
const [searching, setSearching] =
|
|
474875
|
-
const [installing, setInstalling] =
|
|
474876
|
-
const [pendingInstall, setPendingInstall] =
|
|
474877
|
-
const [scopeCursor, setScopeCursor] =
|
|
474878
|
-
const debounceRef =
|
|
475359
|
+
const [tab, setTab] = import_react116.useState("search");
|
|
475360
|
+
const [query2, setQuery] = import_react116.useState("");
|
|
475361
|
+
const [popular, setPopular] = import_react116.useState([]);
|
|
475362
|
+
const [results, setResults] = import_react116.useState([]);
|
|
475363
|
+
const [installed, setInstalled] = import_react116.useState([]);
|
|
475364
|
+
const [activeSkills, setActiveSkills] = import_react116.useState([]);
|
|
475365
|
+
const [searching, setSearching] = import_react116.useState(false);
|
|
475366
|
+
const [installing, setInstalling] = import_react116.useState(false);
|
|
475367
|
+
const [pendingInstall, setPendingInstall] = import_react116.useState(null);
|
|
475368
|
+
const [scopeCursor, setScopeCursor] = import_react116.useState(0);
|
|
475369
|
+
const debounceRef = import_react116.useRef(null);
|
|
474879
475370
|
const isInProject = existsSync35(join47(process.cwd(), ".git"));
|
|
474880
475371
|
const {
|
|
474881
475372
|
width: termCols,
|
|
@@ -474897,13 +475388,13 @@ var init_SkillSearch = __esm(async () => {
|
|
|
474897
475388
|
const filteredInstalled = filterQuery ? installed.filter((s_0) => s_0.name.toLowerCase().includes(filterQuery)) : installed;
|
|
474898
475389
|
const filteredActive = filterQuery ? activeSkills.filter((s_1) => s_1.toLowerCase().includes(filterQuery)) : activeSkills;
|
|
474899
475390
|
const displayResults = query2.trim() ? results : popular;
|
|
474900
|
-
const refreshInstalled =
|
|
475391
|
+
const refreshInstalled = import_react116.useCallback(() => {
|
|
474901
475392
|
setInstalled(listInstalledSkills());
|
|
474902
475393
|
}, []);
|
|
474903
|
-
const refreshActive =
|
|
475394
|
+
const refreshActive = import_react116.useCallback(() => {
|
|
474904
475395
|
setActiveSkills(contextManager.getActiveSkills());
|
|
474905
475396
|
}, [contextManager]);
|
|
474906
|
-
|
|
475397
|
+
import_react116.useEffect(() => {
|
|
474907
475398
|
if (visible) {
|
|
474908
475399
|
setTab("search");
|
|
474909
475400
|
setQuery("");
|
|
@@ -474914,7 +475405,7 @@ var init_SkillSearch = __esm(async () => {
|
|
|
474914
475405
|
listPopularSkills().then((r4) => setPopular(r4)).catch(() => {});
|
|
474915
475406
|
}
|
|
474916
475407
|
}, [visible, refreshInstalled, refreshActive, setCursor]);
|
|
474917
|
-
|
|
475408
|
+
import_react116.useEffect(() => {
|
|
474918
475409
|
if (!visible || tab !== "search")
|
|
474919
475410
|
return;
|
|
474920
475411
|
if (debounceRef.current)
|
|
@@ -474940,7 +475431,7 @@ var init_SkillSearch = __esm(async () => {
|
|
|
474940
475431
|
clearTimeout(debounceRef.current);
|
|
474941
475432
|
};
|
|
474942
475433
|
}, [query2, visible, tab, popular.length, setCursor]);
|
|
474943
|
-
|
|
475434
|
+
import_react116.useEffect(() => {
|
|
474944
475435
|
setQuery("");
|
|
474945
475436
|
setResults([]);
|
|
474946
475437
|
resetScroll();
|
|
@@ -475040,10 +475531,6 @@ var init_SkillSearch = __esm(async () => {
|
|
|
475040
475531
|
resetScroll();
|
|
475041
475532
|
return;
|
|
475042
475533
|
}
|
|
475043
|
-
if (evt.name === "a" && !evt.ctrl && !evt.meta && !query2) {
|
|
475044
|
-
onToggleAgentSkills();
|
|
475045
|
-
return;
|
|
475046
|
-
}
|
|
475047
475534
|
if (evt.name === "space") {
|
|
475048
475535
|
setQuery((prev_3) => `${prev_3} `);
|
|
475049
475536
|
resetScroll();
|
|
@@ -475469,32 +475956,6 @@ var init_SkillSearch = __esm(async () => {
|
|
|
475469
475956
|
children: ""
|
|
475470
475957
|
}, undefined, false, undefined, this)
|
|
475471
475958
|
}, undefined, false, undefined, this),
|
|
475472
|
-
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
|
|
475473
|
-
w: innerW,
|
|
475474
|
-
children: [
|
|
475475
|
-
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
475476
|
-
fg: t2.textMuted,
|
|
475477
|
-
bg: POPUP_BG,
|
|
475478
|
-
children: [
|
|
475479
|
-
"Agent access:",
|
|
475480
|
-
" "
|
|
475481
|
-
]
|
|
475482
|
-
}, undefined, true, undefined, this),
|
|
475483
|
-
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
475484
|
-
fg: agentSkillsEnabled ? t2.success : t2.error,
|
|
475485
|
-
bg: POPUP_BG,
|
|
475486
|
-
children: agentSkillsEnabled ? "on" : "off"
|
|
475487
|
-
}, undefined, false, undefined, this),
|
|
475488
|
-
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
475489
|
-
fg: t2.textDim,
|
|
475490
|
-
bg: POPUP_BG,
|
|
475491
|
-
children: [
|
|
475492
|
-
" ",
|
|
475493
|
-
"(a to toggle)"
|
|
475494
|
-
]
|
|
475495
|
-
}, undefined, true, undefined, this)
|
|
475496
|
-
]
|
|
475497
|
-
}, undefined, true, undefined, this),
|
|
475498
475959
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(PopupRow, {
|
|
475499
475960
|
w: innerW,
|
|
475500
475961
|
children: /* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV("text", {
|
|
@@ -475519,7 +475980,7 @@ var init_SkillSearch = __esm(async () => {
|
|
|
475519
475980
|
|
|
475520
475981
|
// src/components/settings/ToolsPopup.tsx
|
|
475521
475982
|
function ToolsPopup(t0) {
|
|
475522
|
-
const $5 =
|
|
475983
|
+
const $5 = import_compiler_runtime64.c(58);
|
|
475523
475984
|
const {
|
|
475524
475985
|
visible,
|
|
475525
475986
|
disabledTools,
|
|
@@ -475540,7 +476001,7 @@ function ToolsPopup(t0) {
|
|
|
475540
476001
|
scrollOffset,
|
|
475541
476002
|
adjustScroll
|
|
475542
476003
|
} = usePopupScroll(maxVisible);
|
|
475543
|
-
const [initialized2, setInitialized] =
|
|
476004
|
+
const [initialized2, setInitialized] = import_react118.useState(false);
|
|
475544
476005
|
if (visible && !initialized2) {
|
|
475545
476006
|
setCursor(0);
|
|
475546
476007
|
adjustScroll(0);
|
|
@@ -475767,7 +476228,7 @@ function ToolsPopup(t0) {
|
|
|
475767
476228
|
}
|
|
475768
476229
|
return t11;
|
|
475769
476230
|
}
|
|
475770
|
-
var
|
|
476231
|
+
var import_compiler_runtime64, import_react118, MAX_POPUP_WIDTH14 = 100, CHROME_ROWS19 = 5, ALL_TOOLS, ToolRow3;
|
|
475771
476232
|
var init_ToolsPopup = __esm(async () => {
|
|
475772
476233
|
init_theme();
|
|
475773
476234
|
init_constants2();
|
|
@@ -475778,14 +476239,14 @@ var init_ToolsPopup = __esm(async () => {
|
|
|
475778
476239
|
init_core4(),
|
|
475779
476240
|
init_react2()
|
|
475780
476241
|
]);
|
|
475781
|
-
|
|
475782
|
-
|
|
476242
|
+
import_compiler_runtime64 = __toESM(require_compiler_runtime(), 1);
|
|
476243
|
+
import_react118 = __toESM(require_react(), 1);
|
|
475783
476244
|
ALL_TOOLS = Object.entries(TOOL_CATALOG).map(([name21, desc]) => ({
|
|
475784
476245
|
name: name21,
|
|
475785
476246
|
desc
|
|
475786
476247
|
}));
|
|
475787
|
-
ToolRow3 =
|
|
475788
|
-
const $5 =
|
|
476248
|
+
ToolRow3 = import_react118.memo(function ToolRow4(t0) {
|
|
476249
|
+
const $5 = import_compiler_runtime64.c(21);
|
|
475789
476250
|
const {
|
|
475790
476251
|
tool: tool2,
|
|
475791
476252
|
enabled,
|
|
@@ -475896,7 +476357,7 @@ function truncate3(str, max) {
|
|
|
475896
476357
|
return str.length > max ? `${str.slice(0, max - 1)}\u2026` : str;
|
|
475897
476358
|
}
|
|
475898
476359
|
function ShutdownSplash(t0) {
|
|
475899
|
-
const $5 =
|
|
476360
|
+
const $5 = import_compiler_runtime65.c(39);
|
|
475900
476361
|
const {
|
|
475901
476362
|
phase,
|
|
475902
476363
|
sessionId,
|
|
@@ -475911,7 +476372,7 @@ function ShutdownSplash(t0) {
|
|
|
475911
476372
|
t1 = $5[1];
|
|
475912
476373
|
}
|
|
475913
476374
|
const shortId = t1;
|
|
475914
|
-
const [tick, setTick] =
|
|
476375
|
+
const [tick, setTick] = import_react120.useState(0);
|
|
475915
476376
|
let t2;
|
|
475916
476377
|
let t3;
|
|
475917
476378
|
if ($5[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
@@ -475926,7 +476387,7 @@ function ShutdownSplash(t0) {
|
|
|
475926
476387
|
t2 = $5[2];
|
|
475927
476388
|
t3 = $5[3];
|
|
475928
476389
|
}
|
|
475929
|
-
|
|
476390
|
+
import_react120.useEffect(t2, t3);
|
|
475930
476391
|
const t_0 = useTheme();
|
|
475931
476392
|
let t4;
|
|
475932
476393
|
if ($5[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
@@ -476141,9 +476602,9 @@ function App({
|
|
|
476141
476602
|
} = useTerminalDimensions();
|
|
476142
476603
|
useThemeStore((s2) => s2.name);
|
|
476143
476604
|
const t2 = useTheme();
|
|
476144
|
-
const [shutdownPhase, setShutdownPhase] =
|
|
476145
|
-
const savedSessionIdRef =
|
|
476146
|
-
|
|
476605
|
+
const [shutdownPhase, setShutdownPhase] = import_react120.useState(-1);
|
|
476606
|
+
const savedSessionIdRef = import_react120.useRef(null);
|
|
476607
|
+
import_react120.useEffect(() => {
|
|
476147
476608
|
const stdin = process.stdin;
|
|
476148
476609
|
const originalRead = stdin.read.bind(stdin);
|
|
476149
476610
|
const patchedRead = (size) => {
|
|
@@ -476166,12 +476627,12 @@ function App({
|
|
|
476166
476627
|
stdin.read = originalRead;
|
|
476167
476628
|
};
|
|
476168
476629
|
}, []);
|
|
476169
|
-
const copyToClipboard2 =
|
|
476630
|
+
const copyToClipboard2 = import_react120.useCallback((text3) => {
|
|
476170
476631
|
if (!renderer2.copyToClipboardOSC52(text3)) {
|
|
476171
476632
|
nativeCopy(text3);
|
|
476172
476633
|
}
|
|
476173
476634
|
}, [renderer2]);
|
|
476174
|
-
|
|
476635
|
+
import_react120.useEffect(() => {
|
|
476175
476636
|
const onSelection = (sel) => {
|
|
476176
476637
|
const text_0 = sel.getSelectedText();
|
|
476177
476638
|
if (text_0)
|
|
@@ -476182,14 +476643,14 @@ function App({
|
|
|
476182
476643
|
renderer2.off("selection", onSelection);
|
|
476183
476644
|
};
|
|
476184
476645
|
}, [renderer2, copyToClipboard2]);
|
|
476185
|
-
|
|
476646
|
+
import_react120.useEffect(() => {
|
|
476186
476647
|
fetchOpenRouterMetadata();
|
|
476187
476648
|
}, []);
|
|
476188
|
-
const [globalConfig2, setGlobalConfig] =
|
|
476189
|
-
const [projConfig, setProjConfig] =
|
|
476190
|
-
const [routerScope, setRouterScope] =
|
|
476191
|
-
const modelScope =
|
|
476192
|
-
const effectiveConfig =
|
|
476649
|
+
const [globalConfig2, setGlobalConfig] = import_react120.useState(config2);
|
|
476650
|
+
const [projConfig, setProjConfig] = import_react120.useState(projectConfig ?? null);
|
|
476651
|
+
const [routerScope, setRouterScope] = import_react120.useState(() => projectConfig && ("taskRouter" in projectConfig) ? "project" : "global");
|
|
476652
|
+
const modelScope = import_react120.useMemo(() => projConfig && ("defaultModel" in projConfig) ? "project" : "global", [projConfig]);
|
|
476653
|
+
const effectiveConfig = import_react120.useMemo(() => mergeConfigs(globalConfig2, projConfig), [globalConfig2, projConfig]);
|
|
476193
476654
|
const {
|
|
476194
476655
|
focusMode,
|
|
476195
476656
|
editorOpen,
|
|
@@ -476199,13 +476660,13 @@ function App({
|
|
|
476199
476660
|
focusChat,
|
|
476200
476661
|
focusEditor
|
|
476201
476662
|
} = useEditorFocus();
|
|
476202
|
-
const [editorVisible, setEditorVisible] =
|
|
476663
|
+
const [editorVisible, setEditorVisible] = import_react120.useState(false);
|
|
476203
476664
|
const tabMgr = useTabs();
|
|
476204
|
-
const tabMgrRef =
|
|
476665
|
+
const tabMgrRef = import_react120.useRef(tabMgr);
|
|
476205
476666
|
tabMgrRef.current = tabMgr;
|
|
476206
|
-
const hasTabBarRef =
|
|
476667
|
+
const hasTabBarRef = import_react120.useRef(false);
|
|
476207
476668
|
hasTabBarRef.current = tabMgr.tabCount > 1;
|
|
476208
|
-
const editorSplitRef =
|
|
476669
|
+
const editorSplitRef = import_react120.useRef(60);
|
|
476209
476670
|
const {
|
|
476210
476671
|
ready: nvimReady,
|
|
476211
476672
|
screenLines,
|
|
@@ -476221,8 +476682,8 @@ function App({
|
|
|
476221
476682
|
sendMouse,
|
|
476222
476683
|
error: nvimError
|
|
476223
476684
|
} = useNeovim(true, effectiveConfig.nvimPath, effectiveConfig.nvimConfig, closeEditor, effectiveConfig.vimHints !== false, hasTabBarRef.current, editorSplitRef.current);
|
|
476224
|
-
const pendingEditorFileRef =
|
|
476225
|
-
|
|
476685
|
+
const pendingEditorFileRef = import_react120.useRef(null);
|
|
476686
|
+
import_react120.useEffect(() => {
|
|
476226
476687
|
if (nvimReady && pendingEditorFileRef.current) {
|
|
476227
476688
|
const file2 = pendingEditorFileRef.current;
|
|
476228
476689
|
pendingEditorFileRef.current = null;
|
|
@@ -476231,7 +476692,7 @@ function App({
|
|
|
476231
476692
|
});
|
|
476232
476693
|
}
|
|
476233
476694
|
}, [nvimReady, nvimOpen]);
|
|
476234
|
-
const openEditorWithFile =
|
|
476695
|
+
const openEditorWithFile = import_react120.useCallback((file_0) => {
|
|
476235
476696
|
if (editorOpen && nvimReady) {
|
|
476236
476697
|
nvimOpen(file_0).catch((err_0) => {
|
|
476237
476698
|
logBackgroundError("editor", `failed to open ${file_0}: ${err_0 instanceof Error ? err_0.message : String(err_0)}`);
|
|
@@ -476241,24 +476702,24 @@ function App({
|
|
|
476241
476702
|
openEditor();
|
|
476242
476703
|
}
|
|
476243
476704
|
}, [editorOpen, nvimReady, nvimOpen, openEditor]);
|
|
476244
|
-
|
|
476705
|
+
import_react120.useEffect(() => {
|
|
476245
476706
|
setEditorRequestCallback((file_1) => {
|
|
476246
476707
|
if (file_1)
|
|
476247
476708
|
openEditorWithFile(file_1);
|
|
476248
476709
|
});
|
|
476249
476710
|
return () => setEditorRequestCallback(null);
|
|
476250
476711
|
}, [openEditorWithFile]);
|
|
476251
|
-
|
|
476712
|
+
import_react120.useEffect(() => {
|
|
476252
476713
|
if (editorOpen)
|
|
476253
476714
|
setEditorVisible(true);
|
|
476254
476715
|
}, [editorOpen]);
|
|
476255
476716
|
const reasoningExpanded = useUIStore((s_0) => s_0.reasoningExpanded);
|
|
476256
476717
|
const codeExpanded = useUIStore((s_1) => s_1.codeExpanded);
|
|
476257
476718
|
const hasTabBar = tabMgr.tabCount > 1;
|
|
476258
|
-
|
|
476719
|
+
import_react120.useEffect(() => {
|
|
476259
476720
|
renderer2.requestRender();
|
|
476260
476721
|
}, [editorOpen, editorVisible, focusMode, reasoningExpanded, codeExpanded, hasTabBar, renderer2]);
|
|
476261
|
-
const handleEditorClosed =
|
|
476722
|
+
const handleEditorClosed = import_react120.useCallback(() => {
|
|
476262
476723
|
setEditorVisible(false);
|
|
476263
476724
|
}, []);
|
|
476264
476725
|
useEditorInput({
|
|
@@ -476302,10 +476763,10 @@ function App({
|
|
|
476302
476763
|
const modalFirstRunWizard = useUIStore((s_18) => s_18.modals.firstRunWizard);
|
|
476303
476764
|
const modalUpdateModal = useUIStore((s_19) => s_19.modals.updateModal);
|
|
476304
476765
|
const toolsState = useToolsStore();
|
|
476305
|
-
|
|
476766
|
+
import_react120.useEffect(() => {
|
|
476306
476767
|
toolsState.initFromConfig(effectiveConfig.disabledTools);
|
|
476307
476768
|
}, [effectiveConfig.disabledTools, toolsState.initFromConfig]);
|
|
476308
|
-
|
|
476769
|
+
import_react120.useEffect(() => {
|
|
476309
476770
|
saveGlobalConfig({
|
|
476310
476771
|
disabledTools: [...toolsState.disabledTools]
|
|
476311
476772
|
});
|
|
@@ -476313,15 +476774,15 @@ function App({
|
|
|
476313
476774
|
const statusDashboardTab = useUIStore((s_20) => s_20.statusDashboardTab);
|
|
476314
476775
|
const modalRepoMapStatus = useUIStore((s_21) => s_21.modals.repoMapStatus);
|
|
476315
476776
|
const isModalOpen = useUIStore(selectIsAnyModalOpen);
|
|
476316
|
-
const wizardOpenedLlm =
|
|
476317
|
-
const closerCache2 =
|
|
476777
|
+
const wizardOpenedLlm = import_react120.useRef(false);
|
|
476778
|
+
const closerCache2 = import_react120.useRef({});
|
|
476318
476779
|
const getCloser2 = (name21) => closerCache2.current[name21] ??= () => useUIStore.getState().closeModal(name21);
|
|
476319
476780
|
useVersionCheck();
|
|
476320
476781
|
const versionCurrent = useVersionStore((s_22) => s_22.current);
|
|
476321
476782
|
const versionLatest = useVersionStore((s_23) => s_23.latest);
|
|
476322
476783
|
const versionUpdateAvailable = useVersionStore((s_24) => s_24.updateAvailable);
|
|
476323
|
-
const updateModalShown =
|
|
476324
|
-
|
|
476784
|
+
const updateModalShown = import_react120.useRef(false);
|
|
476785
|
+
import_react120.useEffect(() => {
|
|
476325
476786
|
if (!versionUpdateAvailable || !versionLatest || updateModalShown.current)
|
|
476326
476787
|
return;
|
|
476327
476788
|
if (isDismissed(versionLatest))
|
|
@@ -476335,7 +476796,7 @@ function App({
|
|
|
476335
476796
|
}, 500);
|
|
476336
476797
|
return () => clearTimeout(timer);
|
|
476337
476798
|
}, [versionUpdateAvailable, versionLatest]);
|
|
476338
|
-
|
|
476799
|
+
import_react120.useEffect(() => {
|
|
476339
476800
|
if (getMissingRequired().length > 0) {
|
|
476340
476801
|
useUIStore.getState().openModal("setup");
|
|
476341
476802
|
} else if (forceWizard || !config2.onboardingComplete && !resumeSessionId) {
|
|
@@ -476343,7 +476804,7 @@ function App({
|
|
|
476343
476804
|
}
|
|
476344
476805
|
}, [config2.onboardingComplete, forceWizard, resumeSessionId]);
|
|
476345
476806
|
const cwd2 = process.cwd();
|
|
476346
|
-
const saveToScope =
|
|
476807
|
+
const saveToScope = import_react120.useCallback((patch, toScope, fromScope) => {
|
|
476347
476808
|
if (toScope === "global") {
|
|
476348
476809
|
saveGlobalConfig(patch);
|
|
476349
476810
|
setGlobalConfig((prev) => applyConfigPatch(prev, patch));
|
|
@@ -476363,18 +476824,18 @@ function App({
|
|
|
476363
476824
|
}
|
|
476364
476825
|
}
|
|
476365
476826
|
}, [cwd2]);
|
|
476366
|
-
const detectScope =
|
|
476827
|
+
const detectScope = import_react120.useCallback((key3) => {
|
|
476367
476828
|
if (projConfig && key3 in projConfig)
|
|
476368
476829
|
return "project";
|
|
476369
476830
|
return "global";
|
|
476370
476831
|
}, [projConfig]);
|
|
476371
|
-
|
|
476832
|
+
import_react120.useEffect(() => {
|
|
476372
476833
|
initForbidden(cwd2);
|
|
476373
476834
|
}, []);
|
|
476374
|
-
const contextManager =
|
|
476375
|
-
const sessionManager =
|
|
476835
|
+
const contextManager = import_react120.useMemo(() => preloadedContextManager ?? new ContextManager(cwd2), [cwd2, preloadedContextManager]);
|
|
476836
|
+
const sessionManager = import_react120.useMemo(() => new SessionManager(cwd2), [cwd2]);
|
|
476376
476837
|
const git = useGitStatus(cwd2);
|
|
476377
|
-
const [forgeMode, setForgeModeHeader] =
|
|
476838
|
+
const [forgeMode, setForgeModeHeader] = import_react120.useState("default");
|
|
476378
476839
|
const modeLabel2 = getModeLabel(forgeMode);
|
|
476379
476840
|
const modeColor = getModeColor(forgeMode);
|
|
476380
476841
|
useConfigSync({
|
|
@@ -476388,7 +476849,7 @@ function App({
|
|
|
476388
476849
|
cursorCol,
|
|
476389
476850
|
visualSelection
|
|
476390
476851
|
});
|
|
476391
|
-
const handleSuspend =
|
|
476852
|
+
const handleSuspend = import_react120.useCallback(async (opts) => {
|
|
476392
476853
|
useUIStore.getState().setSuspended(true);
|
|
476393
476854
|
await new Promise((r4) => setTimeout(r4, 50));
|
|
476394
476855
|
const result = await suspendAndRun({
|
|
@@ -476408,20 +476869,20 @@ function App({
|
|
|
476408
476869
|
git.refresh();
|
|
476409
476870
|
}, [cwd2, git]);
|
|
476410
476871
|
editorSplitRef.current = editorSplit;
|
|
476411
|
-
const sharedResources =
|
|
476872
|
+
const sharedResources = import_react120.useMemo(() => ({
|
|
476412
476873
|
...contextManager.getSharedResources(),
|
|
476413
476874
|
workspaceCoordinator: getWorkspaceCoordinator()
|
|
476414
476875
|
}), [contextManager]);
|
|
476415
|
-
const workspaceSnapshotRef =
|
|
476876
|
+
const workspaceSnapshotRef = import_react120.useRef(null);
|
|
476416
476877
|
workspaceSnapshotRef.current = () => ({
|
|
476417
476878
|
tabStates: tabMgr.getAllTabStates(),
|
|
476418
476879
|
activeTabId: tabMgr.activeTabId
|
|
476419
476880
|
});
|
|
476420
|
-
const getWorkspaceSnapshot =
|
|
476881
|
+
const getWorkspaceSnapshot = import_react120.useCallback(() => workspaceSnapshotRef.current?.() ?? {
|
|
476421
476882
|
tabStates: [],
|
|
476422
476883
|
activeTabId: ""
|
|
476423
476884
|
}, []);
|
|
476424
|
-
const addSystemMessage =
|
|
476885
|
+
const addSystemMessage = import_react120.useCallback((msg) => {
|
|
476425
476886
|
const activeChat_0 = tabMgrRef.current?.getActiveChat();
|
|
476426
476887
|
activeChat_0?.setMessages((prev_4) => [...prev_4, {
|
|
476427
476888
|
id: crypto.randomUUID(),
|
|
@@ -476430,13 +476891,13 @@ function App({
|
|
|
476430
476891
|
timestamp: Date.now()
|
|
476431
476892
|
}]);
|
|
476432
476893
|
}, []);
|
|
476433
|
-
const refreshGit =
|
|
476894
|
+
const refreshGit = import_react120.useCallback(() => {
|
|
476434
476895
|
git.refresh();
|
|
476435
476896
|
}, [git]);
|
|
476436
|
-
const shutdownPhaseRef =
|
|
476897
|
+
const shutdownPhaseRef = import_react120.useRef(shutdownPhase);
|
|
476437
476898
|
shutdownPhaseRef.current = shutdownPhase;
|
|
476438
|
-
const exitTimersRef =
|
|
476439
|
-
const handleExit =
|
|
476899
|
+
const exitTimersRef = import_react120.useRef([]);
|
|
476900
|
+
const handleExit = import_react120.useCallback(() => {
|
|
476440
476901
|
if (shutdownPhaseRef.current >= 0)
|
|
476441
476902
|
return;
|
|
476442
476903
|
setShutdownPhase(0);
|
|
@@ -476490,8 +476951,8 @@ function App({
|
|
|
476490
476951
|
}, 300);
|
|
476491
476952
|
}, 250);
|
|
476492
476953
|
}, [cwd2, sessionManager, contextManager, renderer2]);
|
|
476493
|
-
const hasRestoredRef =
|
|
476494
|
-
|
|
476954
|
+
const hasRestoredRef = import_react120.useRef(false);
|
|
476955
|
+
import_react120.useEffect(() => {
|
|
476495
476956
|
if (hasRestoredRef.current || !resumeSessionId)
|
|
476496
476957
|
return;
|
|
476497
476958
|
hasRestoredRef.current = true;
|
|
@@ -476507,9 +476968,9 @@ function App({
|
|
|
476507
476968
|
setExitSessionId(data.meta.id);
|
|
476508
476969
|
}
|
|
476509
476970
|
}, []);
|
|
476510
|
-
const [activeModelForHeader, setActiveModelForHeader] =
|
|
476511
|
-
const activeChatRef =
|
|
476512
|
-
|
|
476971
|
+
const [activeModelForHeader, setActiveModelForHeader] = import_react120.useState(effectiveConfig.defaultModel);
|
|
476972
|
+
const activeChatRef = import_react120.useRef(null);
|
|
476973
|
+
import_react120.useEffect(() => {
|
|
476513
476974
|
const chat = tabMgr.getActiveChat();
|
|
476514
476975
|
activeChatRef.current = chat;
|
|
476515
476976
|
if (chat) {
|
|
@@ -476519,7 +476980,7 @@ function App({
|
|
|
476519
476980
|
setExitSessionId(hasContent ? chat.sessionId : null);
|
|
476520
476981
|
}
|
|
476521
476982
|
}, [tabMgr.activeTabId]);
|
|
476522
|
-
|
|
476983
|
+
import_react120.useEffect(() => {
|
|
476523
476984
|
if (tabMgr.tabCount <= 1)
|
|
476524
476985
|
return;
|
|
476525
476986
|
(async () => {
|
|
@@ -476547,7 +477008,7 @@ function App({
|
|
|
476547
477008
|
displayModel,
|
|
476548
477009
|
isGateway,
|
|
476549
477010
|
isProxy
|
|
476550
|
-
} =
|
|
477011
|
+
} = import_react120.useMemo(() => {
|
|
476551
477012
|
const model = activeModelForHeader;
|
|
476552
477013
|
if (model === "none") {
|
|
476553
477014
|
return {
|
|
@@ -476578,22 +477039,23 @@ function App({
|
|
|
476578
477039
|
isProxy: false
|
|
476579
477040
|
};
|
|
476580
477041
|
}, [activeModelForHeader]);
|
|
476581
|
-
|
|
477042
|
+
import_react120.useEffect(() => {
|
|
476582
477043
|
if (nvimError)
|
|
476583
477044
|
addSystemMessage(`Neovim error: ${nvimError}`);
|
|
476584
477045
|
}, [nvimError]);
|
|
476585
|
-
const handleTabCommand =
|
|
477046
|
+
const handleTabCommand = import_react120.useCallback((input, chat_0) => {
|
|
476586
477047
|
const cmd = input.trim().toLowerCase().split(/\s+/)[0] ?? "";
|
|
476587
|
-
|
|
477048
|
+
const twoWord = input.trim().toLowerCase().split(/\s+/).slice(0, 2).join(" ");
|
|
477049
|
+
if (chat_0.isLoading && (ABORT_ON_LOADING.has(cmd) || ABORT_ON_LOADING.has(twoWord))) {
|
|
476588
477050
|
chat_0.abort();
|
|
476589
477051
|
chat_0.setMessageQueue([]);
|
|
476590
477052
|
}
|
|
476591
|
-
if (cmd === "/continue") {
|
|
477053
|
+
if (cmd === "/continue" || twoWord === "/session continue") {
|
|
476592
477054
|
chat_0.handleSubmit("Continue from where you left off. Complete any remaining work.");
|
|
476593
477055
|
return;
|
|
476594
477056
|
}
|
|
476595
|
-
if (cmd === "/plan" || input.trim().toLowerCase().startsWith("/plan ")) {
|
|
476596
|
-
const desc = input.trim().
|
|
477057
|
+
if (cmd === "/plan" || input.trim().toLowerCase().startsWith("/plan ") || twoWord === "/session plan" || input.trim().toLowerCase().startsWith("/session plan ")) {
|
|
477058
|
+
const desc = input.trim().replace(/^\/(session\s+)?plan\s*/i, "").trim();
|
|
476597
477059
|
if (chat_0.planMode) {
|
|
476598
477060
|
chat_0.setPlanMode(false);
|
|
476599
477061
|
chat_0.setPlanRequest(null);
|
|
@@ -476680,7 +477142,7 @@ function App({
|
|
|
476680
477142
|
instructionFiles: effectiveConfig.instructionFiles
|
|
476681
477143
|
});
|
|
476682
477144
|
}, [tabMgr, toggleEditor, nvimOpen, handleExit, cwd2, git, contextManager, handleSuspend, openEditorWithFile, effectiveConfig.nvimConfig, effectiveConfig.vimHints, effectiveConfig.verbose, effectiveConfig.diffStyle, effectiveConfig.autoCompactDiffs, effectiveConfig.compaction?.strategy, saveToScope, detectScope, effectiveConfig.agentFeatures, effectiveConfig.instructionFiles]);
|
|
476683
|
-
const closeLlmSelector =
|
|
477145
|
+
const closeLlmSelector = import_react120.useCallback(() => {
|
|
476684
477146
|
const wasPickingSlot = useUIStore.getState().routerSlotPicking != null;
|
|
476685
477147
|
const wasFromWizard = wizardOpenedLlm.current;
|
|
476686
477148
|
useUIStore.getState().closeModal("llmSelector");
|
|
@@ -476692,16 +477154,16 @@ function App({
|
|
|
476692
477154
|
useUIStore.getState().openModal("firstRunWizard");
|
|
476693
477155
|
}
|
|
476694
477156
|
}, []);
|
|
476695
|
-
const closeInfoPopup =
|
|
477157
|
+
const closeInfoPopup = import_react120.useCallback(() => {
|
|
476696
477158
|
const cfg = useUIStore.getState().infoPopupConfig;
|
|
476697
477159
|
useUIStore.getState().closeInfoPopup();
|
|
476698
477160
|
cfg?.onClose?.();
|
|
476699
477161
|
}, []);
|
|
476700
|
-
const onGitMenuCommit =
|
|
477162
|
+
const onGitMenuCommit = import_react120.useCallback(() => {
|
|
476701
477163
|
useUIStore.getState().closeModal("gitMenu");
|
|
476702
477164
|
useUIStore.getState().openModal("gitCommit");
|
|
476703
477165
|
}, []);
|
|
476704
|
-
const handleNewSession =
|
|
477166
|
+
const handleNewSession = import_react120.useCallback(async () => {
|
|
476705
477167
|
const activeChat_3 = tabMgrRef.current?.getActiveChat();
|
|
476706
477168
|
const hasContent_0 = activeChat_3?.messages.some((m_2) => m_2.role === "user" || m_2.role === "assistant");
|
|
476707
477169
|
if (hasContent_0 && activeChat_3) {
|
|
@@ -476735,7 +477197,7 @@ function App({
|
|
|
476735
477197
|
renderer: renderer2,
|
|
476736
477198
|
copyToClipboard: copyToClipboard2,
|
|
476737
477199
|
activeChatRef,
|
|
476738
|
-
cycleMode:
|
|
477200
|
+
cycleMode: import_react120.useCallback(() => {
|
|
476739
477201
|
const chat_1 = tabMgrRef.current?.getActiveChat();
|
|
476740
477202
|
if (chat_1) {
|
|
476741
477203
|
const next = chat_1.cycleMode();
|
|
@@ -477061,11 +477523,6 @@ function App({
|
|
|
477061
477523
|
/* @__PURE__ */ import_jsx_dev_runtime2.jsxDEV(SkillSearch, {
|
|
477062
477524
|
visible: modalSkillSearch,
|
|
477063
477525
|
contextManager: tabMgr.getActiveChat()?.contextManager ?? contextManager,
|
|
477064
|
-
agentSkillsEnabled: !toolsState.disabledTools.has("skills"),
|
|
477065
|
-
onToggleAgentSkills: () => {
|
|
477066
|
-
toolsState.toggleTool("skills");
|
|
477067
|
-
addSystemMessage(`Agent skills ${toolsState.disabledTools.has("skills") ? "enabled" : "disabled"}`);
|
|
477068
|
-
},
|
|
477069
477526
|
onClose: getCloser2("skillSearch"),
|
|
477070
477527
|
onSystemMessage: addSystemMessage
|
|
477071
477528
|
}, undefined, false, undefined, this),
|
|
@@ -477245,7 +477702,7 @@ function App({
|
|
|
477245
477702
|
]
|
|
477246
477703
|
}, undefined, true, undefined, this);
|
|
477247
477704
|
}
|
|
477248
|
-
var
|
|
477705
|
+
var import_compiler_runtime65, import_react120, ABORT_ON_LOADING, DEFAULT_TASK_ROUTER, SHUTDOWN_SPINNER, SHUTDOWN_STEPS, KITTY_PROTOCOL_RESPONSE_RE;
|
|
477249
477706
|
var init_App = __esm(async () => {
|
|
477250
477707
|
init_shallow2();
|
|
477251
477708
|
init_config();
|
|
@@ -477311,10 +477768,10 @@ var init_App = __esm(async () => {
|
|
|
477311
477768
|
init_SkillSearch(),
|
|
477312
477769
|
init_ToolsPopup()
|
|
477313
477770
|
]);
|
|
477314
|
-
|
|
477315
|
-
|
|
477771
|
+
import_compiler_runtime65 = __toESM(require_compiler_runtime(), 1);
|
|
477772
|
+
import_react120 = __toESM(require_react(), 1);
|
|
477316
477773
|
startMemoryPoll();
|
|
477317
|
-
ABORT_ON_LOADING = new Set(["/clear", "/compact", "/plan"]);
|
|
477774
|
+
ABORT_ON_LOADING = new Set(["/clear", "/compact", "/plan", "/session clear", "/session compact", "/session plan"]);
|
|
477318
477775
|
DEFAULT_TASK_ROUTER = {
|
|
477319
477776
|
coding: null,
|
|
477320
477777
|
exploration: null,
|
|
@@ -477530,7 +477987,7 @@ var brandPlain = getBrandSegments().map((s2) => s2.text).join("");
|
|
|
477530
477987
|
var brandCol = Math.max(1, Math.floor((cols - brandPlain.length) / 2) + 1);
|
|
477531
477988
|
var charIdx = 0;
|
|
477532
477989
|
for (const part of brandParts) {
|
|
477533
|
-
for (let
|
|
477990
|
+
for (let _c66 = 0;_c66 < part.text.length; _c66++) {
|
|
477534
477991
|
charIdx++;
|
|
477535
477992
|
let out2 = `${at(ROW.brand, brandCol)}`;
|
|
477536
477993
|
let pos = 0;
|