@spenceriam/impulse 0.15.0 → 0.15.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/bin/impulse +95 -0
- package/package.json +17 -51
- package/postinstall.mjs +115 -0
- package/README.md +0 -194
- package/dist/api/client.d.ts +0 -53
- package/dist/api/client.d.ts.map +0 -1
- package/dist/api/client.js +0 -271
- package/dist/api/client.js.map +0 -1
- package/dist/api/index.d.ts +0 -6
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/index.js +0 -7
- package/dist/api/index.js.map +0 -1
- package/dist/api/stream.d.ts +0 -98
- package/dist/api/stream.d.ts.map +0 -1
- package/dist/api/stream.js +0 -202
- package/dist/api/stream.js.map +0 -1
- package/dist/api/types.d.ts +0 -1353
- package/dist/api/types.d.ts.map +0 -1
- package/dist/api/types.js +0 -143
- package/dist/api/types.js.map +0 -1
- package/dist/bash.txt +0 -28
- package/dist/bus/bus.d.ts +0 -21
- package/dist/bus/bus.d.ts.map +0 -1
- package/dist/bus/bus.js +0 -22
- package/dist/bus/bus.js.map +0 -1
- package/dist/bus/events.d.ts +0 -100
- package/dist/bus/events.d.ts.map +0 -1
- package/dist/bus/events.js +0 -45
- package/dist/bus/events.js.map +0 -1
- package/dist/bus/index.d.ts +0 -3
- package/dist/bus/index.d.ts.map +0 -1
- package/dist/bus/index.js +0 -3
- package/dist/bus/index.js.map +0 -1
- package/dist/file-edit.txt +0 -21
- package/dist/file-read.txt +0 -18
- package/dist/file-write.txt +0 -16
- package/dist/glob.txt +0 -19
- package/dist/global.d.ts +0 -8
- package/dist/global.d.ts.map +0 -1
- package/dist/global.js +0 -14
- package/dist/global.js.map +0 -1
- package/dist/grep.txt +0 -20
- package/dist/highlights-eq9cgrbb.scm +0 -604
- package/dist/highlights-ghv9g403.scm +0 -205
- package/dist/highlights-hk7bwhj4.scm +0 -284
- package/dist/highlights-r812a2qc.scm +0 -150
- package/dist/highlights-x6tmsnaa.scm +0 -115
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -62122
- package/dist/index.js.map +0 -1
- package/dist/index.jsx +0 -5
- package/dist/index.jsx.map +0 -1
- package/dist/injections-73j83es3.scm +0 -27
- package/dist/input/at-refs.d.ts +0 -42
- package/dist/input/at-refs.d.ts.map +0 -1
- package/dist/input/at-refs.js +0 -154
- package/dist/input/at-refs.js.map +0 -1
- package/dist/input/history.d.ts +0 -26
- package/dist/input/history.d.ts.map +0 -1
- package/dist/input/history.js +0 -109
- package/dist/input/history.js.map +0 -1
- package/dist/input/index.d.ts +0 -5
- package/dist/input/index.d.ts.map +0 -1
- package/dist/input/index.js +0 -5
- package/dist/input/index.js.map +0 -1
- package/dist/input/paste.d.ts +0 -19
- package/dist/input/paste.d.ts.map +0 -1
- package/dist/input/paste.js +0 -75
- package/dist/input/paste.js.map +0 -1
- package/dist/input/shortcuts.d.ts +0 -6
- package/dist/input/shortcuts.d.ts.map +0 -1
- package/dist/input/shortcuts.js +0 -84
- package/dist/input/shortcuts.js.map +0 -1
- package/dist/mcp/index.d.ts +0 -3
- package/dist/mcp/index.d.ts.map +0 -1
- package/dist/mcp/index.js +0 -3
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/manager.d.ts +0 -51
- package/dist/mcp/manager.d.ts.map +0 -1
- package/dist/mcp/manager.js +0 -158
- package/dist/mcp/manager.js.map +0 -1
- package/dist/mcp/types.d.ts +0 -18
- package/dist/mcp/types.d.ts.map +0 -1
- package/dist/mcp/types.js +0 -5
- package/dist/mcp/types.js.map +0 -1
- package/dist/session/todo.d.ts +0 -24
- package/dist/session/todo.d.ts.map +0 -1
- package/dist/session/todo.js +0 -39
- package/dist/session/todo.js.map +0 -1
- package/dist/storage/index.d.ts +0 -2
- package/dist/storage/index.d.ts.map +0 -1
- package/dist/storage/index.js +0 -2
- package/dist/storage/index.js.map +0 -1
- package/dist/storage/storage.d.ts +0 -13
- package/dist/storage/storage.d.ts.map +0 -1
- package/dist/storage/storage.js +0 -84
- package/dist/storage/storage.js.map +0 -1
- package/dist/task.txt +0 -26
- package/dist/todo-read.txt +0 -14
- package/dist/todo-write.txt +0 -166
- package/dist/tools/bash.d.ts +0 -22
- package/dist/tools/bash.d.ts.map +0 -1
- package/dist/tools/bash.js +0 -70
- package/dist/tools/bash.js.map +0 -1
- package/dist/tools/file-edit.d.ts +0 -22
- package/dist/tools/file-edit.d.ts.map +0 -1
- package/dist/tools/file-edit.js +0 -67
- package/dist/tools/file-edit.js.map +0 -1
- package/dist/tools/file-read.d.ts +0 -19
- package/dist/tools/file-read.d.ts.map +0 -1
- package/dist/tools/file-read.js +0 -70
- package/dist/tools/file-read.js.map +0 -1
- package/dist/tools/file-write.d.ts +0 -16
- package/dist/tools/file-write.d.ts.map +0 -1
- package/dist/tools/file-write.js +0 -45
- package/dist/tools/file-write.js.map +0 -1
- package/dist/tools/glob.d.ts +0 -16
- package/dist/tools/glob.d.ts.map +0 -1
- package/dist/tools/glob.js +0 -45
- package/dist/tools/glob.js.map +0 -1
- package/dist/tools/grep.d.ts +0 -19
- package/dist/tools/grep.d.ts.map +0 -1
- package/dist/tools/grep.js +0 -65
- package/dist/tools/grep.js.map +0 -1
- package/dist/tools/index.d.ts +0 -11
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -11
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/registry.d.ts +0 -22
- package/dist/tools/registry.d.ts.map +0 -1
- package/dist/tools/registry.js +0 -75
- package/dist/tools/registry.js.map +0 -1
- package/dist/tools/task.d.ts +0 -19
- package/dist/tools/task.d.ts.map +0 -1
- package/dist/tools/task.js +0 -51
- package/dist/tools/task.js.map +0 -1
- package/dist/tools/todo-read.d.ts +0 -7
- package/dist/tools/todo-read.d.ts.map +0 -1
- package/dist/tools/todo-read.js +0 -56
- package/dist/tools/todo-read.js.map +0 -1
- package/dist/tools/todo-write.d.ts +0 -38
- package/dist/tools/todo-write.d.ts.map +0 -1
- package/dist/tools/todo-write.js +0 -40
- package/dist/tools/todo-write.js.map +0 -1
- package/dist/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
- package/dist/tree-sitter-markdown-411r6y9b.wasm +0 -0
- package/dist/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
- package/dist/tree-sitter-typescript-zxjzwt75.wasm +0 -0
- package/dist/tree-sitter-zig-e78zbjpm.wasm +0 -0
- package/dist/ui/App.d.ts +0 -6
- package/dist/ui/App.d.ts.map +0 -1
- package/dist/ui/App.jsx +0 -37
- package/dist/ui/App.jsx.map +0 -1
- package/dist/ui/components/Autocomplete.d.ts +0 -24
- package/dist/ui/components/Autocomplete.d.ts.map +0 -1
- package/dist/ui/components/Autocomplete.jsx +0 -67
- package/dist/ui/components/Autocomplete.jsx.map +0 -1
- package/dist/ui/components/ChatView.d.ts +0 -14
- package/dist/ui/components/ChatView.d.ts.map +0 -1
- package/dist/ui/components/ChatView.jsx +0 -11
- package/dist/ui/components/ChatView.jsx.map +0 -1
- package/dist/ui/components/InputArea.d.ts +0 -18
- package/dist/ui/components/InputArea.d.ts.map +0 -1
- package/dist/ui/components/InputArea.jsx +0 -35
- package/dist/ui/components/InputArea.jsx.map +0 -1
- package/dist/ui/components/MessageBlock.d.ts +0 -21
- package/dist/ui/components/MessageBlock.d.ts.map +0 -1
- package/dist/ui/components/MessageBlock.jsx +0 -94
- package/dist/ui/components/MessageBlock.jsx.map +0 -1
- package/dist/ui/components/Overlay.d.ts +0 -28
- package/dist/ui/components/Overlay.d.ts.map +0 -1
- package/dist/ui/components/Overlay.jsx +0 -102
- package/dist/ui/components/Overlay.jsx.map +0 -1
- package/dist/ui/components/ProgressBar.d.ts +0 -9
- package/dist/ui/components/ProgressBar.d.ts.map +0 -1
- package/dist/ui/components/ProgressBar.jsx +0 -17
- package/dist/ui/components/ProgressBar.jsx.map +0 -1
- package/dist/ui/components/Sidebar.d.ts +0 -22
- package/dist/ui/components/Sidebar.d.ts.map +0 -1
- package/dist/ui/components/Sidebar.jsx +0 -96
- package/dist/ui/components/Sidebar.jsx.map +0 -1
- package/dist/ui/components/StatusLine.d.ts +0 -6
- package/dist/ui/components/StatusLine.d.ts.map +0 -1
- package/dist/ui/components/StatusLine.jsx +0 -32
- package/dist/ui/components/StatusLine.jsx.map +0 -1
- package/dist/ui/components/ThinkingBlock.d.ts +0 -15
- package/dist/ui/components/ThinkingBlock.d.ts.map +0 -1
- package/dist/ui/components/ThinkingBlock.jsx +0 -33
- package/dist/ui/components/ThinkingBlock.jsx.map +0 -1
- package/dist/ui/components/TodoItem.d.ts +0 -22
- package/dist/ui/components/TodoItem.d.ts.map +0 -1
- package/dist/ui/components/TodoItem.jsx +0 -11
- package/dist/ui/components/TodoItem.jsx.map +0 -1
- package/dist/ui/components/ToolBlock.d.ts +0 -27
- package/dist/ui/components/ToolBlock.d.ts.map +0 -1
- package/dist/ui/components/ToolBlock.jsx +0 -76
- package/dist/ui/components/ToolBlock.jsx.map +0 -1
- package/dist/ui/components/index.d.ts +0 -12
- package/dist/ui/components/index.d.ts.map +0 -1
- package/dist/ui/components/index.js +0 -12
- package/dist/ui/components/index.js.map +0 -1
- package/dist/ui/context/index.d.ts +0 -4
- package/dist/ui/context/index.d.ts.map +0 -1
- package/dist/ui/context/index.js +0 -4
- package/dist/ui/context/index.js.map +0 -1
- package/dist/ui/context/mode.d.ts +0 -24
- package/dist/ui/context/mode.d.ts.map +0 -1
- package/dist/ui/context/mode.jsx +0 -53
- package/dist/ui/context/mode.jsx.map +0 -1
- package/dist/ui/context/session.d.ts +0 -43
- package/dist/ui/context/session.d.ts.map +0 -1
- package/dist/ui/context/session.jsx +0 -63
- package/dist/ui/context/session.jsx.map +0 -1
- package/dist/ui/context/todo.d.ts +0 -32
- package/dist/ui/context/todo.d.ts.map +0 -1
- package/dist/ui/context/todo.jsx +0 -75
- package/dist/ui/context/todo.jsx.map +0 -1
- package/dist/ui/design.d.ts +0 -182
- package/dist/ui/design.d.ts.map +0 -1
- package/dist/ui/design.js +0 -189
- package/dist/ui/design.js.map +0 -1
- package/dist/ui/index.d.ts +0 -4
- package/dist/ui/index.d.ts.map +0 -1
- package/dist/ui/index.js +0 -3
- package/dist/ui/index.js.map +0 -1
- package/dist/util/config.d.ts +0 -22
- package/dist/util/config.d.ts.map +0 -1
- package/dist/util/config.js +0 -55
- package/dist/util/config.js.map +0 -1
- package/dist/util/instructions.d.ts +0 -39
- package/dist/util/instructions.d.ts.map +0 -1
- package/dist/util/instructions.js +0 -96
- package/dist/util/instructions.js.map +0 -1
- package/dist/util/lock.d.ts +0 -18
- package/dist/util/lock.d.ts.map +0 -1
- package/dist/util/lock.js +0 -65
- package/dist/util/lock.js.map +0 -1
- package/dist/util/logger.d.ts +0 -8
- package/dist/util/logger.d.ts.map +0 -1
- package/dist/util/logger.js +0 -81
- package/dist/util/logger.js.map +0 -1
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { type Message } from "./MessageBlock";
|
|
2
|
-
/**
|
|
3
|
-
* Chat View Component
|
|
4
|
-
* Scrollable message list with auto-scroll support
|
|
5
|
-
*
|
|
6
|
-
* Props:
|
|
7
|
-
* - messages: Array of messages to display
|
|
8
|
-
*/
|
|
9
|
-
interface ChatViewProps {
|
|
10
|
-
messages?: Message[];
|
|
11
|
-
}
|
|
12
|
-
export declare function ChatView(props: ChatViewProps): any;
|
|
13
|
-
export {};
|
|
14
|
-
//# sourceMappingURL=ChatView.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ChatView.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ChatView.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE5D;;;;;;GAMG;AAEH,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,OAU5C"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { For } from "solid-js";
|
|
2
|
-
import { MessageBlock } from "./MessageBlock";
|
|
3
|
-
export function ChatView(props) {
|
|
4
|
-
const messages = () => props.messages ?? [];
|
|
5
|
-
return (<scrollbox height="100%" focused>
|
|
6
|
-
<For each={messages()}>
|
|
7
|
-
{(message) => <MessageBlock message={message}/>}
|
|
8
|
-
</For>
|
|
9
|
-
</scrollbox>);
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=ChatView.jsx.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ChatView.jsx","sourceRoot":"","sources":["../../../src/ui/components/ChatView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAc5D,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;IAE5C,OAAO,CACL,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAC9B;MAAA,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CACpB;QAAA,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAG,CAClD;MAAA,EAAE,GAAG,CACP;IAAA,EAAE,SAAS,CAAC,CACb,CAAC;AACJ,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Mode } from "../design";
|
|
2
|
-
/**
|
|
3
|
-
* Input Area Component
|
|
4
|
-
* Boxed input with mode in title, ghost text, and multi-line support
|
|
5
|
-
*
|
|
6
|
-
* Props:
|
|
7
|
-
* - mode: Current mode (AUTO, AGENT, PLANNER, PLAN-PRD, DEBUG)
|
|
8
|
-
* - thinking: Whether thinking mode is enabled
|
|
9
|
-
* - onSubmit: Callback when user presses Enter to submit
|
|
10
|
-
*/
|
|
11
|
-
interface InputAreaProps {
|
|
12
|
-
mode: Mode;
|
|
13
|
-
thinking: boolean;
|
|
14
|
-
onSubmit?: (value: string) => void;
|
|
15
|
-
}
|
|
16
|
-
export declare function InputArea(props: InputAreaProps): any;
|
|
17
|
-
export {};
|
|
18
|
-
//# sourceMappingURL=InputArea.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InputArea.d.ts","sourceRoot":"","sources":["../../../src/ui/components/InputArea.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,IAAI,EAAU,MAAM,WAAW,CAAC;AAEjD;;;;;;;;GAQG;AAEH,UAAU,cAAc;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,OAgD9C"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { createSignal, Show } from "solid-js";
|
|
2
|
-
import { useKeyboard } from "@opentui/solid";
|
|
3
|
-
import { Colors, Layout } from "../design";
|
|
4
|
-
export function InputArea(props) {
|
|
5
|
-
const [value, setValue] = createSignal("");
|
|
6
|
-
const ghostText = "What are we building, breaking, or making better?";
|
|
7
|
-
useKeyboard((key) => {
|
|
8
|
-
if (key.name === "enter" && !key.shift) {
|
|
9
|
-
if (value().trim()) {
|
|
10
|
-
props.onSubmit?.(value());
|
|
11
|
-
setValue("");
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
|
-
const title = () => {
|
|
16
|
-
const thinkingSuffix = props.thinking ? " (Thinking)" : "";
|
|
17
|
-
return `${props.mode}${thinkingSuffix}`;
|
|
18
|
-
};
|
|
19
|
-
return (<box border title={title()} titleAlignment="left" flexDirection="column" padding={1}>
|
|
20
|
-
<box flexDirection="column">
|
|
21
|
-
<box flexDirection="row">
|
|
22
|
-
<text fg={Colors.ui.dim}>{">"} </text>
|
|
23
|
-
<textarea
|
|
24
|
-
// @ts-expect-error: OpenTUI types incomplete for SolidJS
|
|
25
|
-
value={value()} onInput={setValue} placeholder="" width={-1} height={Layout.input.maxHeight - 2} focused/>
|
|
26
|
-
</box>
|
|
27
|
-
<Show when={!value()}>
|
|
28
|
-
<text fg={Colors.ui.dim}>
|
|
29
|
-
{" "}{ghostText}
|
|
30
|
-
</text>
|
|
31
|
-
</Show>
|
|
32
|
-
</box>
|
|
33
|
-
</box>);
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=InputArea.jsx.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InputArea.jsx","sourceRoot":"","sources":["../../../src/ui/components/InputArea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAQ,MAAM,EAAE,MAAM,WAAW,CAAC;AAkBjD,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAE3C,MAAM,SAAS,GAAG,mDAAmD,CAAC;IAEtE,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnB,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1B,QAAQ,CAAC,EAAE,CAAC,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,OAAO,GAAG,KAAK,CAAC,IAAI,GAAG,cAAc,EAAE,CAAC;IAC1C,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,GAAG,CACF,MAAM,CACN,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CACf,cAAc,CAAC,MAAM,CACrB,aAAa,CAAC,QAAQ,CACtB,OAAO,CAAC,CAAC,CAAC,CAAC,CAEX;MAAA,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CACzB;QAAA,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CACtB;UAAA,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAE,CAAA,EAAE,IAAI,CACrC;UAAA,CAAC,QAAQ;IACP,yDAAyD;IACzD,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CACf,OAAO,CAAC,CAAC,QAAQ,CAAC,CAClB,WAAW,CAAC,EAAE,CACd,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CACV,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CACnC,OAAO,EAEX;QAAA,EAAE,GAAG,CACL;QAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CACnB;UAAA,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CACtB;YAAA,CAAC,IAAI,CAAC,CAAC,SAAS,CAClB;UAAA,EAAE,IAAI,CACR;QAAA,EAAE,IAAI,CACR;MAAA,EAAE,GAAG,CACP;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Message type
|
|
3
|
-
*/
|
|
4
|
-
export interface Message {
|
|
5
|
-
id: string;
|
|
6
|
-
role: "user" | "assistant";
|
|
7
|
-
content: string;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Message Block Component
|
|
11
|
-
* Message display with role-based styling and markdown rendering
|
|
12
|
-
*
|
|
13
|
-
* Props:
|
|
14
|
-
* - message: Message to display
|
|
15
|
-
*/
|
|
16
|
-
interface MessageBlockProps {
|
|
17
|
-
message: Message;
|
|
18
|
-
}
|
|
19
|
-
export declare function MessageBlock(props: MessageBlockProps): any;
|
|
20
|
-
export {};
|
|
21
|
-
//# sourceMappingURL=MessageBlock.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MessageBlock.d.ts","sourceRoot":"","sources":["../../../src/ui/components/MessageBlock.tsx"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAqGD;;;;;;GAMG;AAEH,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,OAsBpD"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { For } from "solid-js";
|
|
2
|
-
import { Colors } from "../design";
|
|
3
|
-
/**
|
|
4
|
-
* Simple markdown parser
|
|
5
|
-
* Supports: **bold**, `code`, - lists
|
|
6
|
-
*/
|
|
7
|
-
function parseMarkdown(text) {
|
|
8
|
-
const nodes = [];
|
|
9
|
-
const lines = text.split("\n");
|
|
10
|
-
for (const line of lines) {
|
|
11
|
-
const trimmed = line.trim();
|
|
12
|
-
// Code block
|
|
13
|
-
if (trimmed.startsWith("```")) {
|
|
14
|
-
const parts = trimmed.split(" ");
|
|
15
|
-
const language = parts[1]?.trim() || "text";
|
|
16
|
-
nodes.push({ type: "code", content: "", language });
|
|
17
|
-
continue;
|
|
18
|
-
}
|
|
19
|
-
// List item
|
|
20
|
-
if (trimmed.startsWith("- ")) {
|
|
21
|
-
const lastNode = nodes[nodes.length - 1];
|
|
22
|
-
if (lastNode && lastNode.type === "list") {
|
|
23
|
-
lastNode.items.push(trimmed.slice(2));
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
nodes.push({ type: "list", items: [trimmed.slice(2)] });
|
|
27
|
-
}
|
|
28
|
-
continue;
|
|
29
|
-
}
|
|
30
|
-
// Bold text (**text**)
|
|
31
|
-
const boldMatch = trimmed.match(/\*\*(.*?)\*\*/);
|
|
32
|
-
if (boldMatch && boldMatch[1]) {
|
|
33
|
-
nodes.push({ type: "bold", content: boldMatch[1] });
|
|
34
|
-
continue;
|
|
35
|
-
}
|
|
36
|
-
// Inline code (`code`)
|
|
37
|
-
const codeMatch = trimmed.match(/`(.*?)`/);
|
|
38
|
-
if (codeMatch && codeMatch[1]) {
|
|
39
|
-
nodes.push({ type: "code", content: codeMatch[1], language: "text" });
|
|
40
|
-
continue;
|
|
41
|
-
}
|
|
42
|
-
// Plain text
|
|
43
|
-
nodes.push({ type: "text", content: line });
|
|
44
|
-
}
|
|
45
|
-
return nodes;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Render markdown node
|
|
49
|
-
*/
|
|
50
|
-
function renderMarkdownNode(node) {
|
|
51
|
-
switch (node.type) {
|
|
52
|
-
case "text":
|
|
53
|
-
return <text>{node.content}</text>;
|
|
54
|
-
case "bold":
|
|
55
|
-
return (<text>
|
|
56
|
-
<strong>{node.content}</strong>
|
|
57
|
-
</text>);
|
|
58
|
-
case "code":
|
|
59
|
-
return (<code
|
|
60
|
-
// @ts-ignore: OpenTUI types incomplete for SolidJS
|
|
61
|
-
code={node.content} language={node.language}/>);
|
|
62
|
-
case "list":
|
|
63
|
-
return (<box flexDirection="column">
|
|
64
|
-
<For each={node.items}>
|
|
65
|
-
{(item) => (<box flexDirection="row">
|
|
66
|
-
<text fg={Colors.ui.dim}>• </text>
|
|
67
|
-
<text>{item}</text>
|
|
68
|
-
</box>)}
|
|
69
|
-
</For>
|
|
70
|
-
</box>);
|
|
71
|
-
default:
|
|
72
|
-
return null;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
export function MessageBlock(props) {
|
|
76
|
-
const parsed = () => parseMarkdown(props.message.content);
|
|
77
|
-
const isUser = () => props.message.role === "user";
|
|
78
|
-
return (<box flexDirection="column" marginBottom={2}>
|
|
79
|
-
<box flexDirection="row" marginBottom={1}>
|
|
80
|
-
<text>
|
|
81
|
-
<strong>
|
|
82
|
-
{isUser() ? "You" : "GLM-4.7"}
|
|
83
|
-
</strong>
|
|
84
|
-
</text>
|
|
85
|
-
<text fg={Colors.ui.dim}> ─── </text>
|
|
86
|
-
</box>
|
|
87
|
-
<box flexDirection="column">
|
|
88
|
-
<For each={parsed()}>
|
|
89
|
-
{(node) => renderMarkdownNode(node)}
|
|
90
|
-
</For>
|
|
91
|
-
</box>
|
|
92
|
-
</box>);
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=MessageBlock.jsx.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MessageBlock.jsx","sourceRoot":"","sources":["../../../src/ui/components/MessageBlock.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Overlay mode
|
|
3
|
-
*/
|
|
4
|
-
export type OverlayMode = "command-palette" | "mcp-status" | "session-stats" | "help" | "config" | null;
|
|
5
|
-
/**
|
|
6
|
-
* Command option for palette
|
|
7
|
-
*/
|
|
8
|
-
export interface CommandOption {
|
|
9
|
-
name: string;
|
|
10
|
-
description: string;
|
|
11
|
-
shortcut?: string;
|
|
12
|
-
action: () => void;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Overlay Props
|
|
16
|
-
*/
|
|
17
|
-
interface OverlayProps {
|
|
18
|
-
mode: OverlayMode;
|
|
19
|
-
onClose: () => void;
|
|
20
|
-
commands?: CommandOption[];
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Overlay Component
|
|
24
|
-
* Modal overlay for commands, dialogs, and informational displays
|
|
25
|
-
*/
|
|
26
|
-
export declare function Overlay(props: OverlayProps): any;
|
|
27
|
-
export {};
|
|
28
|
-
//# sourceMappingURL=Overlay.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Overlay.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,iBAAiB,GACjB,YAAY,GACZ,eAAe,GACf,MAAM,GACN,QAAQ,GACR,IAAI,CAAC;AAET;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED;;GAEG;AACH,UAAU,YAAY;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,OA6H1C"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { createSignal, Show, For } from "solid-js";
|
|
2
|
-
import { useKeyboard } from "@opentui/solid";
|
|
3
|
-
import { Colors } from "../design";
|
|
4
|
-
/**
|
|
5
|
-
* Overlay Component
|
|
6
|
-
* Modal overlay for commands, dialogs, and informational displays
|
|
7
|
-
*/
|
|
8
|
-
export function Overlay(props) {
|
|
9
|
-
const [selectedIndex, setSelectedIndex] = createSignal(0);
|
|
10
|
-
useKeyboard((key) => {
|
|
11
|
-
if (key.name === "escape") {
|
|
12
|
-
props.onClose();
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
|
-
const handleSelect = (index) => {
|
|
16
|
-
setSelectedIndex(index);
|
|
17
|
-
props.commands?.[index]?.action();
|
|
18
|
-
};
|
|
19
|
-
const renderContent = () => {
|
|
20
|
-
switch (props.mode) {
|
|
21
|
-
case "command-palette":
|
|
22
|
-
return (<box flexDirection="column">
|
|
23
|
-
<text><strong>Command Palette</strong></text>
|
|
24
|
-
<text>────────────────</text>
|
|
25
|
-
<Show when={props.commands && props.commands.length > 0}>
|
|
26
|
-
<box flexDirection="column" marginTop={1}>
|
|
27
|
-
<For each={props.commands}>
|
|
28
|
-
{(cmd, i) => (<box flexDirection="row"
|
|
29
|
-
// @ts-ignore: OpenTUI types incomplete
|
|
30
|
-
onMouseDown={() => handleSelect(i())}>
|
|
31
|
-
<text fg={i() === selectedIndex() ? Colors.ui.primary : Colors.ui.text}>
|
|
32
|
-
{i() === selectedIndex() ? ">" : " "}
|
|
33
|
-
</text>
|
|
34
|
-
<text>{cmd.name}</text>
|
|
35
|
-
<text fg={Colors.ui.dim}> - {cmd.description}</text>
|
|
36
|
-
<Show when={cmd.shortcut}>
|
|
37
|
-
<box flexGrow={1}/>
|
|
38
|
-
<text fg={Colors.ui.dim}>({cmd.shortcut})</text>
|
|
39
|
-
</Show>
|
|
40
|
-
</box>)}
|
|
41
|
-
</For>
|
|
42
|
-
</box>
|
|
43
|
-
</Show>
|
|
44
|
-
</box>);
|
|
45
|
-
case "mcp-status":
|
|
46
|
-
return (<box flexDirection="column">
|
|
47
|
-
<text><strong>MCP Status</strong></text>
|
|
48
|
-
<text>─────────────</text>
|
|
49
|
-
<box flexDirection="column" marginTop={1}>
|
|
50
|
-
<text fg={Colors.status.success}>Vision: Connected</text>
|
|
51
|
-
<text fg={Colors.status.success}>Web Search: Connected</text>
|
|
52
|
-
<text fg={Colors.status.success}>Web Reader: Connected</text>
|
|
53
|
-
<text fg={Colors.status.success}>Zread: Connected</text>
|
|
54
|
-
</box>
|
|
55
|
-
</box>);
|
|
56
|
-
case "session-stats":
|
|
57
|
-
return (<box flexDirection="column">
|
|
58
|
-
<text><strong>Session Statistics</strong></text>
|
|
59
|
-
<text>───────────────────────</text>
|
|
60
|
-
<box flexDirection="column" marginTop={1}>
|
|
61
|
-
<text>Messages: 5</text>
|
|
62
|
-
<text>Tokens: 8,450</text>
|
|
63
|
-
<text>Cost: $0.12</text>
|
|
64
|
-
<text>Duration: 12m 34s</text>
|
|
65
|
-
</box>
|
|
66
|
-
</box>);
|
|
67
|
-
case "help":
|
|
68
|
-
return (<box flexDirection="column">
|
|
69
|
-
<text><strong>Keyboard Shortcuts</strong></text>
|
|
70
|
-
<text>───────────────────────</text>
|
|
71
|
-
<box flexDirection="column" marginTop={1}>
|
|
72
|
-
<text>Tab - Cycle modes</text>
|
|
73
|
-
<text>Shift+Tab - Reverse cycle modes</text>
|
|
74
|
-
<text>Enter - Submit / Select</text>
|
|
75
|
-
<text>Esc (2x) - Cancel operation</text>
|
|
76
|
-
<text>Ctrl+C (2x) - Exit</text>
|
|
77
|
-
<text>Ctrl+P - Command palette</text>
|
|
78
|
-
<text>Ctrl+M - MCP status</text>
|
|
79
|
-
</box>
|
|
80
|
-
</box>);
|
|
81
|
-
default:
|
|
82
|
-
return <text>Unknown overlay mode</text>;
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
return (<Show when={props.mode !== null}>
|
|
86
|
-
<box flexDirection="column" width="100%" height="100%"
|
|
87
|
-
// @ts-ignore: OpenTUI types incomplete
|
|
88
|
-
style={{
|
|
89
|
-
backgroundColor: "rgba(0, 0, 0, 0.8)",
|
|
90
|
-
}} padding={4}>
|
|
91
|
-
<box border flexDirection="column" padding={2} width={50}
|
|
92
|
-
// @ts-ignore: OpenTUI types incomplete
|
|
93
|
-
style={{
|
|
94
|
-
backgroundColor: "#000000",
|
|
95
|
-
}}>
|
|
96
|
-
<text fg={Colors.ui.dim}>(Esc to close)</text>
|
|
97
|
-
{renderContent()}
|
|
98
|
-
</box>
|
|
99
|
-
</box>
|
|
100
|
-
</Show>);
|
|
101
|
-
}
|
|
102
|
-
//# sourceMappingURL=Overlay.jsx.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Overlay.jsx","sourceRoot":"","sources":["../../../src/ui/components/Overlay.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ProgressBar.tsx"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,wBAAgB,WAAW,CAAC,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,OAarE"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Indicators } from "../design";
|
|
2
|
-
/**
|
|
3
|
-
* Progress Bar Component
|
|
4
|
-
* Displays context usage as a visual progress bar
|
|
5
|
-
*/
|
|
6
|
-
export function ProgressBar(props) {
|
|
7
|
-
const width = props.width ?? 10;
|
|
8
|
-
const filled = Math.round((props.percent / 100) * width);
|
|
9
|
-
const empty = width - filled;
|
|
10
|
-
return (<text>
|
|
11
|
-
<text>[</text>
|
|
12
|
-
<text>{Indicators.progress.filled.repeat(filled)}</text>
|
|
13
|
-
<text>{Indicators.progress.empty.repeat(empty)}</text>
|
|
14
|
-
<text>] {props.percent}%</text>
|
|
15
|
-
</text>);
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=ProgressBar.jsx.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressBar.jsx","sourceRoot":"","sources":["../../../src/ui/components/ProgressBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC;;;GAGG;AAEH,MAAM,UAAU,WAAW,CAAC,KAA0C;IACpE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAE7B,OAAO,CACL,CAAC,IAAI,CACH;MAAA,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CACb;MAAA,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CACvD;MAAA,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CACrD;MAAA,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAChC;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sidebar Panel Component
|
|
3
|
-
* Right sidebar with session info, todos, MCP status
|
|
4
|
-
*
|
|
5
|
-
* Props: None (uses props for extensibility)
|
|
6
|
-
*/
|
|
7
|
-
interface SidebarProps {
|
|
8
|
-
messages?: {
|
|
9
|
-
id: string;
|
|
10
|
-
content: string;
|
|
11
|
-
}[];
|
|
12
|
-
todos?: {
|
|
13
|
-
id: string;
|
|
14
|
-
content: string;
|
|
15
|
-
status: string;
|
|
16
|
-
}[];
|
|
17
|
-
contextUsage?: number;
|
|
18
|
-
cost?: number;
|
|
19
|
-
}
|
|
20
|
-
export declare function Sidebar(props?: SidebarProps): any;
|
|
21
|
-
export {};
|
|
22
|
-
//# sourceMappingURL=Sidebar.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Sidebar.tsx"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,UAAU,YAAY;IACpB,QAAQ,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,OAAO,CAAC,KAAK,GAAE,YAAiB,OA8G/C"}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { createSignal, Show, For } from "solid-js";
|
|
2
|
-
import { Colors, Indicators, Layout } from "../design";
|
|
3
|
-
export function Sidebar(props = {}) {
|
|
4
|
-
const [mcpExpanded, setMcpExpanded] = createSignal(false);
|
|
5
|
-
const [todoExpanded, setTodoExpanded] = createSignal(false);
|
|
6
|
-
const [filesExpanded, setFilesExpanded] = createSignal(false);
|
|
7
|
-
const hasTodos = () => (props.todos?.length ?? 0) > 0;
|
|
8
|
-
const incompleteTodos = () => props.todos?.filter(t => t.status !== "completed") ?? [];
|
|
9
|
-
const shouldShowTodo = () => !!(hasTodos() && incompleteTodos().length > 0);
|
|
10
|
-
const contextUsage = () => props.contextUsage ?? 0;
|
|
11
|
-
const cost = () => props.cost ?? 0;
|
|
12
|
-
return (<box border width={Layout.sidebar.width} flexDirection="column" padding={1}>
|
|
13
|
-
{/* Session Info */}
|
|
14
|
-
<box flexDirection="column" marginBottom={2}>
|
|
15
|
-
<text><strong>Session</strong></text>
|
|
16
|
-
<text>──────────</text>
|
|
17
|
-
</box>
|
|
18
|
-
|
|
19
|
-
{/* Context Usage */}
|
|
20
|
-
<Show when={props.contextUsage !== undefined}>
|
|
21
|
-
<box flexDirection="column" marginBottom={2}>
|
|
22
|
-
<text fg={Colors.ui.dim}>Context:</text>
|
|
23
|
-
<text>
|
|
24
|
-
{contextUsage()}% ({(contextUsage() / 100 * 200).toFixed(0)}k/200k)
|
|
25
|
-
</text>
|
|
26
|
-
<Show when={props.cost !== undefined}>
|
|
27
|
-
<text fg={Colors.ui.dim}>Cost: ${cost().toFixed(2)}</text>
|
|
28
|
-
</Show>
|
|
29
|
-
</box>
|
|
30
|
-
</Show>
|
|
31
|
-
|
|
32
|
-
{/* Todo Section */}
|
|
33
|
-
<Show when={shouldShowTodo()}>
|
|
34
|
-
<box flexDirection="column" marginBottom={2}>
|
|
35
|
-
<box flexDirection="row"
|
|
36
|
-
// @ts-ignore: OpenTUI types incomplete
|
|
37
|
-
onMouseDown={() => setTodoExpanded((e) => !e)}>
|
|
38
|
-
<text fg={Colors.ui.dim}>
|
|
39
|
-
{todoExpanded() ? Indicators.expanded : Indicators.collapsed}{" "}
|
|
40
|
-
</text>
|
|
41
|
-
<text><strong>Todo</strong></text>
|
|
42
|
-
<text fg={Colors.ui.dim}> ({incompleteTodos().length})</text>
|
|
43
|
-
</box>
|
|
44
|
-
<Show when={todoExpanded()}>
|
|
45
|
-
<box flexDirection="column" marginLeft={1} marginTop={1}>
|
|
46
|
-
<For each={incompleteTodos()}>
|
|
47
|
-
{(todo) => (<text fg={Colors.ui.dim}>
|
|
48
|
-
[ ] {todo.content}
|
|
49
|
-
</text>)}
|
|
50
|
-
</For>
|
|
51
|
-
</box>
|
|
52
|
-
</Show>
|
|
53
|
-
</box>
|
|
54
|
-
</Show>
|
|
55
|
-
|
|
56
|
-
{/* MCP Section */}
|
|
57
|
-
<box flexDirection="column" marginBottom={2}>
|
|
58
|
-
<box flexDirection="row"
|
|
59
|
-
// @ts-ignore: OpenTUI types incomplete
|
|
60
|
-
onMouseDown={() => setMcpExpanded((e) => !e)}>
|
|
61
|
-
<text fg={Colors.ui.dim}>
|
|
62
|
-
{mcpExpanded() ? Indicators.expanded : Indicators.collapsed}{" "}
|
|
63
|
-
</text>
|
|
64
|
-
<text><strong>MCPs</strong></text>
|
|
65
|
-
<text fg={Colors.status.success}> 4/4</text>
|
|
66
|
-
</box>
|
|
67
|
-
<Show when={mcpExpanded()}>
|
|
68
|
-
<box flexDirection="column" marginLeft={1} marginTop={1}>
|
|
69
|
-
<text fg={Colors.ui.dim}> Vision - Connected</text>
|
|
70
|
-
<text fg={Colors.ui.dim}> Web Search - Connected</text>
|
|
71
|
-
<text fg={Colors.ui.dim}> Web Reader - Connected</text>
|
|
72
|
-
<text fg={Colors.ui.dim}> Zread - Connected</text>
|
|
73
|
-
</box>
|
|
74
|
-
</Show>
|
|
75
|
-
</box>
|
|
76
|
-
|
|
77
|
-
{/* Modified Files Section */}
|
|
78
|
-
<box flexDirection="column">
|
|
79
|
-
<box flexDirection="row"
|
|
80
|
-
// @ts-ignore: OpenTUI types incomplete
|
|
81
|
-
onMouseDown={() => setFilesExpanded((e) => !e)}>
|
|
82
|
-
<text fg={Colors.ui.dim}>
|
|
83
|
-
{filesExpanded() ? Indicators.expanded : Indicators.collapsed}{" "}
|
|
84
|
-
</text>
|
|
85
|
-
<text><strong>Modified Files</strong></text>
|
|
86
|
-
</box>
|
|
87
|
-
<Show when={filesExpanded()}>
|
|
88
|
-
<box flexDirection="column" marginLeft={1} marginTop={1}>
|
|
89
|
-
<text fg={Colors.ui.dim}> src/ui/App.tsx</text>
|
|
90
|
-
<text fg={Colors.ui.dim}> src/ui/components/InputArea.tsx</text>
|
|
91
|
-
</box>
|
|
92
|
-
</Show>
|
|
93
|
-
</box>
|
|
94
|
-
</box>);
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=Sidebar.jsx.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.jsx","sourceRoot":"","sources":["../../../src/ui/components/Sidebar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StatusLine.d.ts","sourceRoot":"","sources":["../../../src/ui/components/StatusLine.tsx"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,wBAAgB,UAAU,QA4BzB"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { ProgressBar } from "./ProgressBar";
|
|
2
|
-
/**
|
|
3
|
-
* Status Line Component
|
|
4
|
-
* Bottom status bar with comprehensive information display
|
|
5
|
-
*/
|
|
6
|
-
export function StatusLine() {
|
|
7
|
-
const model = "GLM-4.7";
|
|
8
|
-
const mode = "AUTO";
|
|
9
|
-
const progress = 0;
|
|
10
|
-
const dir = "~/glm-cli";
|
|
11
|
-
const branch = "main";
|
|
12
|
-
const mcpStatus = "4/4";
|
|
13
|
-
const date = "01-20-2026";
|
|
14
|
-
return (<box border height={1} padding={1}>
|
|
15
|
-
<text>
|
|
16
|
-
<span>{model}</span>
|
|
17
|
-
<span> │ </span>
|
|
18
|
-
<span>{mode}</span>
|
|
19
|
-
<span> │ </span>
|
|
20
|
-
<ProgressBar percent={progress} width={8}/>
|
|
21
|
-
<span> │ </span>
|
|
22
|
-
<span>{dir}</span>
|
|
23
|
-
<span> │ </span>
|
|
24
|
-
<span>{branch}</span>
|
|
25
|
-
<span> │ MCPs: </span>
|
|
26
|
-
<span>{mcpStatus}</span>
|
|
27
|
-
<span> │ </span>
|
|
28
|
-
<span>{date}</span>
|
|
29
|
-
</text>
|
|
30
|
-
</box>);
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=StatusLine.jsx.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StatusLine.jsx","sourceRoot":"","sources":["../../../src/ui/components/StatusLine.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;GAGG;AAEH,MAAM,UAAU,UAAU;IACxB,MAAM,KAAK,GAAG,SAAS,CAAC;IACxB,MAAM,IAAI,GAAG,MAAM,CAAC;IACpB,MAAM,QAAQ,GAAG,CAAC,CAAC;IACnB,MAAM,GAAG,GAAG,WAAW,CAAC;IACxB,MAAM,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,SAAS,GAAG,KAAK,CAAC;IACxB,MAAM,IAAI,GAAG,YAAY,CAAC;IAE1B,OAAO,CACL,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAChC;MAAA,CAAC,IAAI,CACH;QAAA,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CACnB;QAAA,CAAC,IAAI,CAAE,GAAE,EAAE,IAAI,CACf;QAAA,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAClB;QAAA,CAAC,IAAI,CAAE,GAAE,EAAE,IAAI,CACf;QAAA,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACzC;QAAA,CAAC,IAAI,CAAE,GAAE,EAAE,IAAI,CACf;QAAA,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CACjB;QAAA,CAAC,IAAI,CAAE,GAAE,EAAE,IAAI,CACf;QAAA,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CACpB;QAAA,CAAC,IAAI,CAAE,SAAQ,EAAE,IAAI,CACrB;QAAA,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CACvB;QAAA,CAAC,IAAI,CAAE,GAAE,EAAE,IAAI,CACf;QAAA,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CACpB;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Thinking Block Component
|
|
3
|
-
* Collapsible thinking display with "Thinking..." label
|
|
4
|
-
*
|
|
5
|
-
* Props:
|
|
6
|
-
* - content: Thinking content to display
|
|
7
|
-
* - streaming: Whether content is currently being streamed
|
|
8
|
-
*/
|
|
9
|
-
interface ThinkingBlockProps {
|
|
10
|
-
content?: string;
|
|
11
|
-
streaming?: boolean;
|
|
12
|
-
}
|
|
13
|
-
export declare function ThinkingBlock(props: ThinkingBlockProps): any;
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=ThinkingBlock.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ThinkingBlock.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ThinkingBlock.tsx"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,UAAU,kBAAkB;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,OAqCtD"}
|