deepcode-ai 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +187 -50
- package/dist/index.js.map +1 -1
- package/package.json +11 -12
- package/dist/chunk-4KEEGKT2.js +0 -5060
- package/dist/chunk-4KEEGKT2.js.map +0 -1
- package/dist/chunk-AAXRI5RV.js +0 -5129
- package/dist/chunk-AAXRI5RV.js.map +0 -1
- package/dist/chunk-APWRVQPJ.js +0 -5173
- package/dist/chunk-APWRVQPJ.js.map +0 -1
- package/dist/chunk-CAHOGANP.js +0 -5168
- package/dist/chunk-CAHOGANP.js.map +0 -1
- package/dist/chunk-FJJL7EIW.js +0 -5168
- package/dist/chunk-FJJL7EIW.js.map +0 -1
- package/dist/chunk-GJCDWQFZ.js +0 -5168
- package/dist/chunk-GJCDWQFZ.js.map +0 -1
- package/dist/chunk-KOC7P5XI.js +0 -5112
- package/dist/chunk-KOC7P5XI.js.map +0 -1
- package/dist/chunk-RM2LOG7S.js +0 -5173
- package/dist/chunk-RM2LOG7S.js.map +0 -1
- package/dist/chunk-RZVJYHLY.js +0 -5094
- package/dist/chunk-RZVJYHLY.js.map +0 -1
- package/dist/chunk-U7CBV2OO.js +0 -5077
- package/dist/chunk-U7CBV2OO.js.map +0 -1
- package/dist/chunk-ULBBL2CT.js +0 -5173
- package/dist/chunk-ULBBL2CT.js.map +0 -1
- package/dist/dist-666VPXNY.js +0 -134
- package/dist/dist-666VPXNY.js.map +0 -1
- package/dist/dist-6KFIWVBN.js +0 -134
- package/dist/dist-6KFIWVBN.js.map +0 -1
- package/dist/dist-GZFQHTL6.js +0 -130
- package/dist/dist-GZFQHTL6.js.map +0 -1
- package/dist/dist-JJUMR3R7.js +0 -130
- package/dist/dist-JJUMR3R7.js.map +0 -1
- package/dist/dist-O5DFAJW3.js +0 -130
- package/dist/dist-O5DFAJW3.js.map +0 -1
- package/dist/dist-OJ34KP2R.js +0 -134
- package/dist/dist-OJ34KP2R.js.map +0 -1
- package/dist/dist-SYNK3FFE.js +0 -130
- package/dist/dist-SYNK3FFE.js.map +0 -1
- package/dist/dist-VGP7VJCS.js +0 -130
- package/dist/dist-VGP7VJCS.js.map +0 -1
- package/dist/dist-WGPZ5MGT.js +0 -130
- package/dist/dist-WGPZ5MGT.js.map +0 -1
- package/dist/dist-WRI7RF64.js +0 -130
- package/dist/dist-WRI7RF64.js.map +0 -1
- package/dist/dist-ZKESO7K3.js +0 -130
- package/dist/dist-ZKESO7K3.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
// ../../packages/cli/dist/index.js
|
|
4
4
|
import { render } from "ink";
|
|
5
|
-
import
|
|
5
|
+
import React16 from "react";
|
|
6
6
|
import { Command } from "commander";
|
|
7
7
|
|
|
8
8
|
// ../../packages/core/dist/index.js
|
|
@@ -5182,8 +5182,8 @@ import path12 from "path";
|
|
|
5182
5182
|
import { mkdtemp, rm as rm3 } from "fs/promises";
|
|
5183
5183
|
import { tmpdir } from "os";
|
|
5184
5184
|
import path23 from "path";
|
|
5185
|
-
import
|
|
5186
|
-
import { Box as
|
|
5185
|
+
import React15, { useEffect as useEffect13, useRef as useRef9, useMemo as useMemo6, useCallback as useCallback12 } from "react";
|
|
5186
|
+
import { Box as Box32, Text as Text32, useApp, useInput as useInput19, useStdout as useStdout5 } from "ink";
|
|
5187
5187
|
import { Box } from "ink";
|
|
5188
5188
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5189
5189
|
import { Box as Box2, Text as Text2 } from "ink";
|
|
@@ -5935,7 +5935,12 @@ import { Box as Box28, Text as Text28, useInput as useInput16 } from "ink";
|
|
|
5935
5935
|
import { jsx as jsx29, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
5936
5936
|
import { Box as Box29, Text as Text29 } from "ink";
|
|
5937
5937
|
import { jsx as jsx30, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
5938
|
-
import {
|
|
5938
|
+
import { Box as Box30, Text as Text30, useInput as useInput17 } from "ink";
|
|
5939
|
+
import { jsx as jsx31, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
5940
|
+
import { useState as useState24, useEffect as useEffect12 } from "react";
|
|
5941
|
+
import { Box as Box31, Text as Text31, useInput as useInput18 } from "ink";
|
|
5942
|
+
import { Fragment as Fragment6, jsx as jsx32, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
5943
|
+
import { Fragment as Fragment7, jsx as jsx33, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
5939
5944
|
async function createRuntime(options) {
|
|
5940
5945
|
const worktree = path12.resolve(options.cwd);
|
|
5941
5946
|
const config = await new ConfigLoader().load({ cwd: worktree, configPath: options.configPath });
|
|
@@ -7100,6 +7105,11 @@ var en = {
|
|
|
7100
7105
|
historySearchTitle: "Search History",
|
|
7101
7106
|
previewTitle: "Change Preview",
|
|
7102
7107
|
detailPanelPlaceholder: "Detail Panel",
|
|
7108
|
+
toolInspectorTitle: "Tool Inspector",
|
|
7109
|
+
toolInspectorHint: "\u2191\u2193 navigate \xB7 Esc close",
|
|
7110
|
+
toolInspectorEmpty: "No tool calls yet in this session.",
|
|
7111
|
+
toolInspectorExecuting: "Executing tool\u2026",
|
|
7112
|
+
toolInspectorResult: "Result:",
|
|
7103
7113
|
contextPanelTitle: "Context",
|
|
7104
7114
|
executionPanelTitle: "Execution",
|
|
7105
7115
|
undoNotAvailable: "No file changes to undo in this session.",
|
|
@@ -7498,6 +7508,11 @@ var ptBR = {
|
|
|
7498
7508
|
historySearchTitle: "Pesquisar Hist\xF3rico",
|
|
7499
7509
|
previewTitle: "Preview de Altera\xE7\xF5es",
|
|
7500
7510
|
detailPanelPlaceholder: "Painel de Detalhes",
|
|
7511
|
+
toolInspectorTitle: "Inspetor de Ferramentas",
|
|
7512
|
+
toolInspectorHint: "\u2191\u2193 navegar \xB7 Esc fechar",
|
|
7513
|
+
toolInspectorEmpty: "Nenhuma ferramenta executada nesta sess\xE3o.",
|
|
7514
|
+
toolInspectorExecuting: "Executando ferramenta\u2026",
|
|
7515
|
+
toolInspectorResult: "Resultado:",
|
|
7501
7516
|
contextPanelTitle: "Contexto",
|
|
7502
7517
|
executionPanelTitle: "Execu\xE7\xE3o",
|
|
7503
7518
|
undoNotAvailable: "Nenhuma altera\xE7\xE3o de arquivo para desfazer nesta sess\xE3o.",
|
|
@@ -8359,7 +8374,7 @@ function AppLayout({
|
|
|
8359
8374
|
const activePanel = useUIStore((s) => s.activePanel);
|
|
8360
8375
|
const togglePanel = useUIStore((s) => s.togglePanel);
|
|
8361
8376
|
const resizePanel = useUIStore((s) => s.resizePanel);
|
|
8362
|
-
const
|
|
8377
|
+
const _setActivePanel = useUIStore((s) => s.setActivePanel);
|
|
8363
8378
|
useInput22((inputChar, key) => {
|
|
8364
8379
|
if (key.ctrl && inputChar === "1") {
|
|
8365
8380
|
togglePanel("context");
|
|
@@ -12936,6 +12951,108 @@ function FileTreePanel({ files, theme, cwd }) {
|
|
|
12936
12951
|
files.length === 0 && /* @__PURE__ */ jsx30(Text29, { color: theme.fgMuted, dimColor: true, children: "Loading\u2026" })
|
|
12937
12952
|
] });
|
|
12938
12953
|
}
|
|
12954
|
+
function DiffDetailPanel({ diff, theme, isActive, onClose }) {
|
|
12955
|
+
useInput17(
|
|
12956
|
+
(_, key) => {
|
|
12957
|
+
if (key.escape) onClose?.();
|
|
12958
|
+
},
|
|
12959
|
+
{ isActive: Boolean(isActive) }
|
|
12960
|
+
);
|
|
12961
|
+
if (!diff) {
|
|
12962
|
+
return /* @__PURE__ */ jsx31(Box30, { paddingX: 1, paddingY: 1, children: /* @__PURE__ */ jsx31(Text30, { color: theme.fgMuted, dimColor: true, children: t("diffNoPendingChanges") }) });
|
|
12963
|
+
}
|
|
12964
|
+
return /* @__PURE__ */ jsxs31(Box30, { flexDirection: "column", children: [
|
|
12965
|
+
/* @__PURE__ */ jsx31(
|
|
12966
|
+
DiffView,
|
|
12967
|
+
{
|
|
12968
|
+
oldText: diff.before,
|
|
12969
|
+
newText: diff.after,
|
|
12970
|
+
oldPath: diff.filePath,
|
|
12971
|
+
newPath: diff.filePath,
|
|
12972
|
+
theme
|
|
12973
|
+
}
|
|
12974
|
+
),
|
|
12975
|
+
/* @__PURE__ */ jsx31(Box30, { paddingX: 1, children: /* @__PURE__ */ jsx31(Text30, { color: theme.fgMuted, dimColor: true, children: "Esc close" }) })
|
|
12976
|
+
] });
|
|
12977
|
+
}
|
|
12978
|
+
var LIST_SIZE = 6;
|
|
12979
|
+
function formatValue(v, max = 60) {
|
|
12980
|
+
const s = typeof v === "string" ? v : JSON.stringify(v) ?? "";
|
|
12981
|
+
return s.length > max ? `${s.slice(0, max)}\u2026` : s;
|
|
12982
|
+
}
|
|
12983
|
+
function ToolInspector({
|
|
12984
|
+
toolCalls,
|
|
12985
|
+
toolExecuting,
|
|
12986
|
+
theme,
|
|
12987
|
+
isActive,
|
|
12988
|
+
onClose
|
|
12989
|
+
}) {
|
|
12990
|
+
const [selectedIndex, setSelectedIndex] = useState24(Math.max(0, toolCalls.length - 1));
|
|
12991
|
+
useEffect12(() => {
|
|
12992
|
+
setSelectedIndex(Math.max(0, toolCalls.length - 1));
|
|
12993
|
+
}, [toolCalls.length]);
|
|
12994
|
+
const clamped = Math.max(0, Math.min(selectedIndex, Math.max(0, toolCalls.length - 1)));
|
|
12995
|
+
const selected = toolCalls[clamped];
|
|
12996
|
+
const windowStart = Math.max(0, Math.min(clamped - Math.floor(LIST_SIZE / 2), Math.max(0, toolCalls.length - LIST_SIZE)));
|
|
12997
|
+
const visible = toolCalls.slice(windowStart, windowStart + LIST_SIZE);
|
|
12998
|
+
useInput18(
|
|
12999
|
+
(_, key) => {
|
|
13000
|
+
if (key.escape) {
|
|
13001
|
+
onClose?.();
|
|
13002
|
+
return;
|
|
13003
|
+
}
|
|
13004
|
+
if (key.upArrow) setSelectedIndex((i) => Math.max(0, i - 1));
|
|
13005
|
+
if (key.downArrow) setSelectedIndex((i) => Math.min(toolCalls.length - 1, i + 1));
|
|
13006
|
+
},
|
|
13007
|
+
{ isActive: Boolean(isActive) }
|
|
13008
|
+
);
|
|
13009
|
+
let parsedArgs = {};
|
|
13010
|
+
try {
|
|
13011
|
+
parsedArgs = JSON.parse(selected?.args ?? "{}");
|
|
13012
|
+
} catch {
|
|
13013
|
+
}
|
|
13014
|
+
return /* @__PURE__ */ jsxs32(Box31, { flexDirection: "column", paddingX: 1, paddingY: 1, children: [
|
|
13015
|
+
/* @__PURE__ */ jsxs32(Box31, { flexDirection: "row", justifyContent: "space-between", marginBottom: 1, children: [
|
|
13016
|
+
/* @__PURE__ */ jsx32(Text31, { bold: true, color: theme.primary, children: t("toolInspectorTitle") }),
|
|
13017
|
+
/* @__PURE__ */ jsx32(Text31, { color: theme.fgMuted, dimColor: true, children: t("toolInspectorHint") })
|
|
13018
|
+
] }),
|
|
13019
|
+
toolCalls.length === 0 ? /* @__PURE__ */ jsx32(Text31, { color: theme.fgMuted, dimColor: true, children: toolExecuting ? t("toolInspectorExecuting") : t("toolInspectorEmpty") }) : /* @__PURE__ */ jsxs32(Fragment6, { children: [
|
|
13020
|
+
/* @__PURE__ */ jsx32(Box31, { flexDirection: "column", marginBottom: 1, children: visible.map((tc, i) => {
|
|
13021
|
+
const absIdx = windowStart + i;
|
|
13022
|
+
const sel = absIdx === clamped;
|
|
13023
|
+
const done = tc.result !== void 0;
|
|
13024
|
+
return /* @__PURE__ */ jsxs32(Box31, { flexDirection: "row", gap: 1, children: [
|
|
13025
|
+
/* @__PURE__ */ jsx32(Text31, { color: sel ? theme.primary : theme.fgMuted, children: sel ? "\u25B6" : " " }),
|
|
13026
|
+
/* @__PURE__ */ jsx32(Text31, { color: done ? theme.success : theme.warning, children: done ? "\u2713" : toolExecuting && absIdx === toolCalls.length - 1 ? "\u2026" : "\u25CB" }),
|
|
13027
|
+
/* @__PURE__ */ jsx32(Text31, { color: sel ? theme.fg : theme.fgMuted, bold: sel, children: tc.name })
|
|
13028
|
+
] }, tc.id);
|
|
13029
|
+
}) }),
|
|
13030
|
+
selected && /* @__PURE__ */ jsxs32(Box31, { flexDirection: "column", borderStyle: "single", borderColor: theme.border, paddingX: 1, children: [
|
|
13031
|
+
/* @__PURE__ */ jsx32(Text31, { bold: true, color: theme.fg, children: selected.name }),
|
|
13032
|
+
/* @__PURE__ */ jsx32(Text31, { children: " " }),
|
|
13033
|
+
Object.entries(parsedArgs).slice(0, 5).map(([k, v]) => /* @__PURE__ */ jsxs32(Box31, { flexDirection: "row", gap: 1, children: [
|
|
13034
|
+
/* @__PURE__ */ jsxs32(Text31, { color: theme.accent, children: [
|
|
13035
|
+
k,
|
|
13036
|
+
":"
|
|
13037
|
+
] }),
|
|
13038
|
+
/* @__PURE__ */ jsx32(Text31, { color: theme.fgMuted, wrap: "truncate", children: formatValue(v) })
|
|
13039
|
+
] }, k)),
|
|
13040
|
+
selected.result !== void 0 && /* @__PURE__ */ jsxs32(Fragment6, { children: [
|
|
13041
|
+
/* @__PURE__ */ jsx32(Text31, { children: " " }),
|
|
13042
|
+
/* @__PURE__ */ jsx32(Text31, { bold: true, color: theme.fg, children: t("toolInspectorResult") }),
|
|
13043
|
+
/* @__PURE__ */ jsx32(Text31, { color: theme.fgMuted, wrap: "wrap", children: formatValue(selected.result, 300) })
|
|
13044
|
+
] })
|
|
13045
|
+
] }),
|
|
13046
|
+
toolCalls.length > LIST_SIZE && /* @__PURE__ */ jsx32(Box31, { marginTop: 1, children: /* @__PURE__ */ jsxs32(Text31, { color: theme.fgMuted, dimColor: true, children: [
|
|
13047
|
+
windowStart + 1,
|
|
13048
|
+
"\u2013",
|
|
13049
|
+
Math.min(windowStart + LIST_SIZE, toolCalls.length),
|
|
13050
|
+
"/",
|
|
13051
|
+
toolCalls.length
|
|
13052
|
+
] }) })
|
|
13053
|
+
] })
|
|
13054
|
+
] });
|
|
13055
|
+
}
|
|
12939
13056
|
var useConfigStore = create()((set) => ({
|
|
12940
13057
|
activeProvider: "openrouter",
|
|
12941
13058
|
activeModel: "",
|
|
@@ -12951,7 +13068,7 @@ var useConfigStore = create()((set) => ({
|
|
|
12951
13068
|
function App(props) {
|
|
12952
13069
|
const { exit } = useApp();
|
|
12953
13070
|
const { stdout } = useStdout5();
|
|
12954
|
-
const [contextView, setContextView] =
|
|
13071
|
+
const [contextView, setContextView] = React15.useState("sidebar");
|
|
12955
13072
|
const runtime = useAgentStore((s) => s.runtime);
|
|
12956
13073
|
const session = useAgentStore((s) => s.session);
|
|
12957
13074
|
const input = useAgentStore((s) => s.input);
|
|
@@ -13011,7 +13128,7 @@ function App(props) {
|
|
|
13011
13128
|
const activeSessionIdRef = useRef9(null);
|
|
13012
13129
|
const telemetryRef = useRef9(null);
|
|
13013
13130
|
const uiStateRef = useRef9(null);
|
|
13014
|
-
const [telemetryCollector, setTelemetryCollector] =
|
|
13131
|
+
const [telemetryCollector, setTelemetryCollector] = React15.useState(null);
|
|
13015
13132
|
const applyUpdatedConfig = useCallback12(
|
|
13016
13133
|
(activeRuntime, updatedConfig) => {
|
|
13017
13134
|
Object.assign(activeRuntime.config, updatedConfig);
|
|
@@ -13078,14 +13195,14 @@ function App(props) {
|
|
|
13078
13195
|
recordTokenUsage,
|
|
13079
13196
|
resetMetrics
|
|
13080
13197
|
});
|
|
13081
|
-
|
|
13198
|
+
useEffect13(() => {
|
|
13082
13199
|
if (!stdout.isTTY) return;
|
|
13083
13200
|
stdout.write("\x1B[?1049h\x1B[?25l");
|
|
13084
13201
|
return () => {
|
|
13085
13202
|
stdout.write("\x1B[?25h\x1B[?1049l");
|
|
13086
13203
|
};
|
|
13087
13204
|
}, [stdout]);
|
|
13088
|
-
|
|
13205
|
+
useEffect13(() => {
|
|
13089
13206
|
let mounted = true;
|
|
13090
13207
|
let cleanupRuntime;
|
|
13091
13208
|
createRuntime({ cwd: props.cwd, configPath: props.config, interactive: true }).then(async (created) => {
|
|
@@ -13178,13 +13295,13 @@ function App(props) {
|
|
|
13178
13295
|
cleanupRuntime?.();
|
|
13179
13296
|
};
|
|
13180
13297
|
}, [activateTelemetrySession, props.cwd, props.config, setApprovals, dispatch]);
|
|
13181
|
-
|
|
13298
|
+
useEffect13(() => {
|
|
13182
13299
|
if (!currentPlan && sidebarTab === "plan") {
|
|
13183
13300
|
setSidebarTab("activities");
|
|
13184
13301
|
}
|
|
13185
13302
|
}, [currentPlan, sidebarTab, setSidebarTab]);
|
|
13186
13303
|
const firstApproval = approvals[0];
|
|
13187
|
-
|
|
13304
|
+
useEffect13(() => {
|
|
13188
13305
|
if (firstApproval?.diff) {
|
|
13189
13306
|
openPreview(firstApproval.operation, [
|
|
13190
13307
|
{
|
|
@@ -13198,18 +13315,18 @@ function App(props) {
|
|
|
13198
13315
|
closePreview();
|
|
13199
13316
|
}
|
|
13200
13317
|
}, [firstApproval?.id, firstApproval?.diff]);
|
|
13201
|
-
|
|
13318
|
+
useEffect13(() => {
|
|
13202
13319
|
useAgentStore.getState().setSelectedSlashCommandIndex(0);
|
|
13203
13320
|
useAgentStore.getState().setSlashMenuDismissed(false);
|
|
13204
13321
|
}, [input]);
|
|
13205
|
-
|
|
13322
|
+
useEffect13(() => {
|
|
13206
13323
|
if (!session) return;
|
|
13207
13324
|
const cs = useConfigStore.getState();
|
|
13208
13325
|
cs.setActiveProvider(session.provider);
|
|
13209
13326
|
cs.setActiveModel(session.model ?? "");
|
|
13210
13327
|
cs.setAgentMode(agentMode);
|
|
13211
13328
|
}, [session?.provider, session?.model, agentMode]);
|
|
13212
|
-
|
|
13329
|
+
useEffect13(() => {
|
|
13213
13330
|
const cs = useConfigStore.getState();
|
|
13214
13331
|
cs.setGitBranch(gitStatus.branch);
|
|
13215
13332
|
cs.setGitStatus(gitStatus.status);
|
|
@@ -13269,7 +13386,7 @@ function App(props) {
|
|
|
13269
13386
|
};
|
|
13270
13387
|
void uiStateRef.current.save(stateToSave);
|
|
13271
13388
|
}, [session]);
|
|
13272
|
-
|
|
13389
|
+
useInput19((inputChar, key) => {
|
|
13273
13390
|
if (key.ctrl && inputChar === "q") {
|
|
13274
13391
|
saveUIState();
|
|
13275
13392
|
abortRef.current?.abort();
|
|
@@ -13604,18 +13721,18 @@ function App(props) {
|
|
|
13604
13721
|
setPendingInput("");
|
|
13605
13722
|
}
|
|
13606
13723
|
if (error) {
|
|
13607
|
-
return /* @__PURE__ */
|
|
13608
|
-
/* @__PURE__ */
|
|
13609
|
-
/* @__PURE__ */
|
|
13724
|
+
return /* @__PURE__ */ jsxs33(Box32, { flexDirection: "column", children: [
|
|
13725
|
+
/* @__PURE__ */ jsx33(Text32, { color: theme.error, bold: true, children: t("appDeepCodeError") }),
|
|
13726
|
+
/* @__PURE__ */ jsx33(Text32, { children: error })
|
|
13610
13727
|
] });
|
|
13611
13728
|
}
|
|
13612
13729
|
if (!runtime || !session) {
|
|
13613
|
-
return /* @__PURE__ */
|
|
13730
|
+
return /* @__PURE__ */ jsx33(Text32, { children: t("loadingDeepCode") });
|
|
13614
13731
|
}
|
|
13615
13732
|
const activeApproval = approvals[0];
|
|
13616
13733
|
const hasParallelTasks = Object.keys(taskBuffers).length > 1;
|
|
13617
13734
|
const approvalHasDiff = Boolean(activeApproval?.diff);
|
|
13618
|
-
const detailPanelContent = detailContent === "timeline" ? /* @__PURE__ */
|
|
13735
|
+
const detailPanelContent = detailContent === "timeline" ? /* @__PURE__ */ jsx33(
|
|
13619
13736
|
SessionTimeline,
|
|
13620
13737
|
{
|
|
13621
13738
|
activities,
|
|
@@ -13626,7 +13743,7 @@ function App(props) {
|
|
|
13626
13743
|
useUIStore.getState().closePanel("detail");
|
|
13627
13744
|
}
|
|
13628
13745
|
}
|
|
13629
|
-
) : detailContent === "config" && runtime ? /* @__PURE__ */
|
|
13746
|
+
) : detailContent === "config" && runtime ? /* @__PURE__ */ jsx33(
|
|
13630
13747
|
ConfigPanel,
|
|
13631
13748
|
{
|
|
13632
13749
|
runtime,
|
|
@@ -13641,13 +13758,33 @@ function App(props) {
|
|
|
13641
13758
|
if (field) await saveConfigEdit(runtime, field, value);
|
|
13642
13759
|
}
|
|
13643
13760
|
}
|
|
13644
|
-
) :
|
|
13645
|
-
|
|
13761
|
+
) : detailContent === "diff" ? /* @__PURE__ */ jsx33(
|
|
13762
|
+
DiffDetailPanel,
|
|
13763
|
+
{
|
|
13764
|
+
diff: activeApproval?.diff ?? null,
|
|
13765
|
+
theme,
|
|
13766
|
+
isActive: !activeModal,
|
|
13767
|
+
onClose: () => {
|
|
13768
|
+
setDetailContent("none");
|
|
13769
|
+
useUIStore.getState().closePanel("detail");
|
|
13770
|
+
}
|
|
13771
|
+
}
|
|
13772
|
+
) : /* @__PURE__ */ jsx33(
|
|
13773
|
+
ToolInspector,
|
|
13774
|
+
{
|
|
13775
|
+
toolCalls,
|
|
13776
|
+
toolExecuting,
|
|
13777
|
+
theme,
|
|
13778
|
+
isActive: detailContent === "none" && !activeModal,
|
|
13779
|
+
onClose: () => useUIStore.getState().closePanel("detail")
|
|
13780
|
+
}
|
|
13781
|
+
);
|
|
13782
|
+
return /* @__PURE__ */ jsx33(
|
|
13646
13783
|
AppLayout,
|
|
13647
13784
|
{
|
|
13648
13785
|
height: stdout.rows,
|
|
13649
13786
|
theme,
|
|
13650
|
-
header: /* @__PURE__ */
|
|
13787
|
+
header: /* @__PURE__ */ jsx33(
|
|
13651
13788
|
Header,
|
|
13652
13789
|
{
|
|
13653
13790
|
provider: activeModeSelection?.provider ?? activeProviderId,
|
|
@@ -13657,7 +13794,7 @@ function App(props) {
|
|
|
13657
13794
|
providerStatus: activeProviderStatus
|
|
13658
13795
|
}
|
|
13659
13796
|
),
|
|
13660
|
-
contextPanel: contextView === "files" ? /* @__PURE__ */
|
|
13797
|
+
contextPanel: contextView === "files" ? /* @__PURE__ */ jsx33(FileTreePanel, { files: fileTree, theme, cwd: props.cwd }) : /* @__PURE__ */ jsx33(
|
|
13661
13798
|
Sidebar,
|
|
13662
13799
|
{
|
|
13663
13800
|
theme,
|
|
@@ -13688,8 +13825,8 @@ function App(props) {
|
|
|
13688
13825
|
}
|
|
13689
13826
|
),
|
|
13690
13827
|
detailPanel: detailPanelContent,
|
|
13691
|
-
executionPanel: /* @__PURE__ */
|
|
13692
|
-
activeModal === "provider" && /* @__PURE__ */
|
|
13828
|
+
executionPanel: /* @__PURE__ */ jsxs33(Box32, { flexDirection: "column", flexGrow: 1, children: [
|
|
13829
|
+
activeModal === "provider" && /* @__PURE__ */ jsx33(ErrorBoundary, { theme, onReset: () => setActiveModal(null), children: /* @__PURE__ */ jsx33(
|
|
13693
13830
|
ProviderModal,
|
|
13694
13831
|
{
|
|
13695
13832
|
theme,
|
|
@@ -13775,7 +13912,7 @@ function App(props) {
|
|
|
13775
13912
|
}
|
|
13776
13913
|
}
|
|
13777
13914
|
) }),
|
|
13778
|
-
activeModal === "model" && /* @__PURE__ */
|
|
13915
|
+
activeModal === "model" && /* @__PURE__ */ jsx33(ErrorBoundary, { theme, onReset: () => setActiveModal(null), children: /* @__PURE__ */ jsx33(
|
|
13779
13916
|
ModelSelector,
|
|
13780
13917
|
{
|
|
13781
13918
|
theme,
|
|
@@ -13821,7 +13958,7 @@ function App(props) {
|
|
|
13821
13958
|
onClose: () => setActiveModal(null)
|
|
13822
13959
|
}
|
|
13823
13960
|
) }),
|
|
13824
|
-
activeModal === "telemetry" && /* @__PURE__ */
|
|
13961
|
+
activeModal === "telemetry" && /* @__PURE__ */ jsx33(ErrorBoundary, { theme, onReset: () => setActiveModal(null), children: /* @__PURE__ */ jsx33(
|
|
13825
13962
|
TelemetryPanel,
|
|
13826
13963
|
{
|
|
13827
13964
|
theme,
|
|
@@ -13834,7 +13971,7 @@ function App(props) {
|
|
|
13834
13971
|
onClose: () => setActiveModal(null)
|
|
13835
13972
|
}
|
|
13836
13973
|
) }),
|
|
13837
|
-
showInputPreview && /* @__PURE__ */
|
|
13974
|
+
showInputPreview && /* @__PURE__ */ jsx33(
|
|
13838
13975
|
InputPreview,
|
|
13839
13976
|
{
|
|
13840
13977
|
theme,
|
|
@@ -13845,8 +13982,8 @@ function App(props) {
|
|
|
13845
13982
|
estimatedTokens
|
|
13846
13983
|
}
|
|
13847
13984
|
),
|
|
13848
|
-
githubOAuth.status !== "idle" && /* @__PURE__ */
|
|
13849
|
-
!activeModal && activeApproval && approvalHasDiff && previewState.open && /* @__PURE__ */
|
|
13985
|
+
githubOAuth.status !== "idle" && /* @__PURE__ */ jsx33(OAuthWizard, { state: githubOAuth, theme }),
|
|
13986
|
+
!activeModal && activeApproval && approvalHasDiff && previewState.open && /* @__PURE__ */ jsx33(
|
|
13850
13987
|
PreviewOverlay,
|
|
13851
13988
|
{
|
|
13852
13989
|
summary: previewState.summary,
|
|
@@ -13866,7 +14003,7 @@ function App(props) {
|
|
|
13866
14003
|
onPrev: prevFile
|
|
13867
14004
|
}
|
|
13868
14005
|
),
|
|
13869
|
-
!activeModal && activeApproval && !approvalHasDiff && /* @__PURE__ */
|
|
14006
|
+
!activeModal && activeApproval && !approvalHasDiff && /* @__PURE__ */ jsx33(
|
|
13870
14007
|
ApprovalPanel,
|
|
13871
14008
|
{
|
|
13872
14009
|
request: activeApproval,
|
|
@@ -13875,7 +14012,7 @@ function App(props) {
|
|
|
13875
14012
|
theme
|
|
13876
14013
|
}
|
|
13877
14014
|
),
|
|
13878
|
-
!activeModal && viewMode === "sessions" && /* @__PURE__ */
|
|
14015
|
+
!activeModal && viewMode === "sessions" && /* @__PURE__ */ jsx33(
|
|
13879
14016
|
SessionSwitcher,
|
|
13880
14017
|
{
|
|
13881
14018
|
sessions: sessionList,
|
|
@@ -13884,7 +14021,7 @@ function App(props) {
|
|
|
13884
14021
|
theme
|
|
13885
14022
|
}
|
|
13886
14023
|
),
|
|
13887
|
-
!activeModal && viewMode === "config" && /* @__PURE__ */
|
|
14024
|
+
!activeModal && viewMode === "config" && /* @__PURE__ */ jsx33(
|
|
13888
14025
|
ConfigEditor,
|
|
13889
14026
|
{
|
|
13890
14027
|
runtime,
|
|
@@ -13895,9 +14032,9 @@ function App(props) {
|
|
|
13895
14032
|
theme
|
|
13896
14033
|
}
|
|
13897
14034
|
),
|
|
13898
|
-
!activeModal && viewMode === "help" && /* @__PURE__ */
|
|
13899
|
-
!activeModal && viewMode === "chat" && /* @__PURE__ */
|
|
13900
|
-
showHistorySearch && /* @__PURE__ */
|
|
14035
|
+
!activeModal && viewMode === "help" && /* @__PURE__ */ jsx33(HelpView, { theme }),
|
|
14036
|
+
!activeModal && viewMode === "chat" && /* @__PURE__ */ jsxs33(Box32, { flexDirection: "column", flexGrow: 1, paddingX: 1, children: [
|
|
14037
|
+
showHistorySearch && /* @__PURE__ */ jsx33(
|
|
13901
14038
|
HistorySearch,
|
|
13902
14039
|
{
|
|
13903
14040
|
history: useAgentStore.getState().history,
|
|
@@ -13907,7 +14044,7 @@ function App(props) {
|
|
|
13907
14044
|
onClose: () => setShowHistorySearch(false)
|
|
13908
14045
|
}
|
|
13909
14046
|
),
|
|
13910
|
-
hasParallelTasks && /* @__PURE__ */
|
|
14047
|
+
hasParallelTasks && /* @__PURE__ */ jsx33(
|
|
13911
14048
|
ParallelTasksPanel,
|
|
13912
14049
|
{
|
|
13913
14050
|
taskBuffers,
|
|
@@ -13915,9 +14052,9 @@ function App(props) {
|
|
|
13915
14052
|
theme
|
|
13916
14053
|
}
|
|
13917
14054
|
),
|
|
13918
|
-
executionTasks.length > 0 && /* @__PURE__ */
|
|
13919
|
-
currentPlan && streaming && /* @__PURE__ */
|
|
13920
|
-
/* @__PURE__ */
|
|
14055
|
+
executionTasks.length > 0 && /* @__PURE__ */ jsx33(TaskProgress, { tasks: executionTasks, theme }),
|
|
14056
|
+
currentPlan && streaming && /* @__PURE__ */ jsx33(ProgressMatrix, { plan: currentPlan, theme }),
|
|
14057
|
+
/* @__PURE__ */ jsx33(Box32, { flexDirection: "column", flexGrow: 1, children: visibleMessages.length === 0 && !streaming ? /* @__PURE__ */ jsx33(
|
|
13921
14058
|
EmptyChatState,
|
|
13922
14059
|
{
|
|
13923
14060
|
theme,
|
|
@@ -13928,8 +14065,8 @@ function App(props) {
|
|
|
13928
14065
|
buildSelection: buildModeSelection,
|
|
13929
14066
|
approvalCount: approvals.length
|
|
13930
14067
|
}
|
|
13931
|
-
) : /* @__PURE__ */
|
|
13932
|
-
/* @__PURE__ */
|
|
14068
|
+
) : /* @__PURE__ */ jsxs33(Fragment7, { children: [
|
|
14069
|
+
/* @__PURE__ */ jsx33(
|
|
13933
14070
|
MessageList,
|
|
13934
14071
|
{
|
|
13935
14072
|
messages: visibleMessages,
|
|
@@ -13940,9 +14077,9 @@ function App(props) {
|
|
|
13940
14077
|
vimMode
|
|
13941
14078
|
}
|
|
13942
14079
|
),
|
|
13943
|
-
approvals.length > 0 && activeApproval && /* @__PURE__ */
|
|
14080
|
+
approvals.length > 0 && activeApproval && /* @__PURE__ */ jsx33(ChatApprovalIndicator, { request: activeApproval, theme })
|
|
13944
14081
|
] }) }),
|
|
13945
|
-
showSlashMenu && /* @__PURE__ */
|
|
14082
|
+
showSlashMenu && /* @__PURE__ */ jsx33(
|
|
13946
14083
|
SlashCommandMenu,
|
|
13947
14084
|
{
|
|
13948
14085
|
commands: slashCommandSuggestions,
|
|
@@ -13950,7 +14087,7 @@ function App(props) {
|
|
|
13950
14087
|
theme
|
|
13951
14088
|
}
|
|
13952
14089
|
),
|
|
13953
|
-
!showSlashMenu && !showHistorySearch && autocompleteSuggestions.length > 0 && /* @__PURE__ */
|
|
14090
|
+
!showSlashMenu && !showHistorySearch && autocompleteSuggestions.length > 0 && /* @__PURE__ */ jsx33(
|
|
13954
14091
|
CommandSuggestions,
|
|
13955
14092
|
{
|
|
13956
14093
|
commands: [],
|
|
@@ -13959,7 +14096,7 @@ function App(props) {
|
|
|
13959
14096
|
theme
|
|
13960
14097
|
}
|
|
13961
14098
|
),
|
|
13962
|
-
/* @__PURE__ */
|
|
14099
|
+
/* @__PURE__ */ jsx33(
|
|
13963
14100
|
InputField,
|
|
13964
14101
|
{
|
|
13965
14102
|
value: input,
|
|
@@ -13973,7 +14110,7 @@ function App(props) {
|
|
|
13973
14110
|
)
|
|
13974
14111
|
] })
|
|
13975
14112
|
] }),
|
|
13976
|
-
statusBar: /* @__PURE__ */
|
|
14113
|
+
statusBar: /* @__PURE__ */ jsx33(
|
|
13977
14114
|
StatusBar,
|
|
13978
14115
|
{
|
|
13979
14116
|
theme,
|
|
@@ -14103,7 +14240,7 @@ function createProgram() {
|
|
|
14103
14240
|
});
|
|
14104
14241
|
});
|
|
14105
14242
|
program.command("chat", { isDefault: true }).description("open the terminal UI").action(() => {
|
|
14106
|
-
render(
|
|
14243
|
+
render(React16.createElement(App, { cwd: program.opts().cwd, config: program.opts().config }));
|
|
14107
14244
|
});
|
|
14108
14245
|
return program;
|
|
14109
14246
|
}
|