arc402-cli 0.7.3 → 0.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/TUI-SPEC.md +214 -0
  2. package/dist/index.js +55 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/repl.d.ts.map +1 -1
  5. package/dist/repl.js +46 -558
  6. package/dist/repl.js.map +1 -1
  7. package/dist/tui/App.d.ts +20 -0
  8. package/dist/tui/App.d.ts.map +1 -0
  9. package/dist/tui/App.js +166 -0
  10. package/dist/tui/App.js.map +1 -0
  11. package/dist/tui/Footer.d.ts +11 -0
  12. package/dist/tui/Footer.d.ts.map +1 -0
  13. package/dist/tui/Footer.js +13 -0
  14. package/dist/tui/Footer.js.map +1 -0
  15. package/dist/tui/Header.d.ts +15 -0
  16. package/dist/tui/Header.d.ts.map +1 -0
  17. package/dist/tui/Header.js +19 -0
  18. package/dist/tui/Header.js.map +1 -0
  19. package/dist/tui/InputLine.d.ts +11 -0
  20. package/dist/tui/InputLine.d.ts.map +1 -0
  21. package/dist/tui/InputLine.js +145 -0
  22. package/dist/tui/InputLine.js.map +1 -0
  23. package/dist/tui/Viewport.d.ts +13 -0
  24. package/dist/tui/Viewport.d.ts.map +1 -0
  25. package/dist/tui/Viewport.js +38 -0
  26. package/dist/tui/Viewport.js.map +1 -0
  27. package/dist/tui/index.d.ts +2 -0
  28. package/dist/tui/index.d.ts.map +1 -0
  29. package/dist/tui/index.js +55 -0
  30. package/dist/tui/index.js.map +1 -0
  31. package/dist/tui/useChat.d.ts +11 -0
  32. package/dist/tui/useChat.d.ts.map +1 -0
  33. package/dist/tui/useChat.js +91 -0
  34. package/dist/tui/useChat.js.map +1 -0
  35. package/dist/tui/useCommand.d.ts +17 -0
  36. package/dist/tui/useCommand.d.ts.map +1 -0
  37. package/dist/tui/useCommand.js +219 -0
  38. package/dist/tui/useCommand.js.map +1 -0
  39. package/dist/tui/useScroll.d.ts +17 -0
  40. package/dist/tui/useScroll.d.ts.map +1 -0
  41. package/dist/tui/useScroll.js +46 -0
  42. package/dist/tui/useScroll.js.map +1 -0
  43. package/package.json +5 -1
  44. package/src/index.ts +21 -1
  45. package/src/repl.ts +50 -663
  46. package/src/tui/App.tsx +240 -0
  47. package/src/tui/Footer.tsx +18 -0
  48. package/src/tui/Header.tsx +37 -0
  49. package/src/tui/InputLine.tsx +164 -0
  50. package/src/tui/Viewport.tsx +66 -0
  51. package/src/tui/index.tsx +72 -0
  52. package/src/tui/useChat.ts +103 -0
  53. package/src/tui/useCommand.ts +245 -0
  54. package/src/tui/useScroll.ts +65 -0
  55. package/tsconfig.json +6 -1
package/dist/repl.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ interface AppProps {
2
+ version: string;
3
+ network?: string;
4
+ wallet?: string;
5
+ balance?: string;
6
+ }
7
+ /**
8
+ * Root TUI component — box-drawn frame with fixed header/footer, scrollable viewport.
9
+ *
10
+ * ┌─────────────────────────────────────────────┐
11
+ * │ ASCII banner + status info │ ← FIXED header
12
+ * ├─────────────────────────────────────────────┤
13
+ * │ scrollable output │ ← VIEWPORT
14
+ * ├─────────────────────────────────────────────┤
15
+ * │ ◈ arc402 > _ │ ← FIXED footer
16
+ * └─────────────────────────────────────────────┘
17
+ */
18
+ export declare function App({ version, network, wallet, balance }: AppProps): import("react/jsx-runtime").JSX.Element;
19
+ export {};
20
+ //# sourceMappingURL=App.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"AAaA,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,2CAgNlE"}
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.App = App;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = require("react");
9
+ const ink_1 = require("ink");
10
+ const Header_1 = require("./Header");
11
+ const Viewport_1 = require("./Viewport");
12
+ const InputLine_1 = require("./InputLine");
13
+ const useCommand_1 = require("./useCommand");
14
+ const useChat_1 = require("./useChat");
15
+ const useScroll_1 = require("./useScroll");
16
+ const program_1 = require("../program");
17
+ const chalk_1 = __importDefault(require("chalk"));
18
+ const BUILTIN_CMDS = ["help", "exit", "quit", "clear", "status"];
19
+ /**
20
+ * Root TUI component — box-drawn frame with fixed header/footer, scrollable viewport.
21
+ *
22
+ * ┌─────────────────────────────────────────────┐
23
+ * │ ASCII banner + status info │ ← FIXED header
24
+ * ├─────────────────────────────────────────────┤
25
+ * │ scrollable output │ ← VIEWPORT
26
+ * ├─────────────────────────────────────────────┤
27
+ * │ ◈ arc402 > _ │ ← FIXED footer
28
+ * └─────────────────────────────────────────────┘
29
+ */
30
+ function App({ version, network, wallet, balance }) {
31
+ const { exit } = (0, ink_1.useApp)();
32
+ const { stdout } = (0, ink_1.useStdout)();
33
+ const cols = stdout?.columns ?? 60;
34
+ const W = Math.min(cols, 80); // inner width between │ chars
35
+ const inner = W - 2; // space between the two │ border chars
36
+ const [outputBuffer, setOutputBuffer] = (0, react_1.useState)([
37
+ chalk_1.default.dim(" Type 'help' to see available commands"),
38
+ "",
39
+ ]);
40
+ const [isProcessing, setIsProcessing] = (0, react_1.useState)(false);
41
+ const { execute, isRunning } = (0, useCommand_1.useCommand)();
42
+ const { send, isSending } = (0, useChat_1.useChat)();
43
+ // Approximate viewport height for scroll management
44
+ const HEADER_ROWS = 17;
45
+ const FOOTER_ROWS = 3;
46
+ const rows = process.stdout.rows ?? 24;
47
+ const viewportHeight = Math.max(1, rows - HEADER_ROWS - FOOTER_ROWS);
48
+ const { scrollOffset, isAutoScroll, scrollUp, scrollDown, snapToBottom } = (0, useScroll_1.useScroll)(viewportHeight);
49
+ // Get top-level command names for dispatch detection
50
+ const [topCmds] = (0, react_1.useState)(() => {
51
+ try {
52
+ const prog = (0, program_1.createProgram)();
53
+ return prog.commands.map((cmd) => cmd.name());
54
+ }
55
+ catch {
56
+ return [];
57
+ }
58
+ });
59
+ const appendLine = (0, react_1.useCallback)((line) => {
60
+ setOutputBuffer((prev) => [...prev, line]);
61
+ }, []);
62
+ const handleCommand = (0, react_1.useCallback)(async (input) => {
63
+ // Echo command to viewport
64
+ appendLine(chalk_1.default.cyanBright("◈") +
65
+ " " +
66
+ chalk_1.default.dim("arc402") +
67
+ " " +
68
+ chalk_1.default.white(">") +
69
+ " " +
70
+ chalk_1.default.white(input));
71
+ // Snap to bottom on new command
72
+ snapToBottom();
73
+ setIsProcessing(true);
74
+ const firstWord = input.split(/\s+/)[0];
75
+ const allKnown = [...BUILTIN_CMDS, ...topCmds];
76
+ // ── Built-in: exit/quit ────────────────────────────────────────────────
77
+ if (input === "exit" || input === "quit") {
78
+ appendLine(" " + chalk_1.default.cyanBright("◈") + chalk_1.default.dim(" goodbye"));
79
+ setIsProcessing(false);
80
+ setTimeout(() => exit(), 100);
81
+ return;
82
+ }
83
+ // ── Built-in: clear ────────────────────────────────────────────────────
84
+ if (input === "clear") {
85
+ setOutputBuffer([]);
86
+ setIsProcessing(false);
87
+ return;
88
+ }
89
+ // ── Built-in: help ─────────────────────────────────────────────────────
90
+ if (input === "help" || input === "/help") {
91
+ const lines = [];
92
+ try {
93
+ const prog = (0, program_1.createProgram)();
94
+ prog.exitOverride();
95
+ const helpText = [];
96
+ prog.configureOutput({
97
+ writeOut: (str) => helpText.push(str),
98
+ writeErr: (str) => helpText.push(str),
99
+ });
100
+ try {
101
+ await prog.parseAsync(["node", "arc402", "--help"]);
102
+ }
103
+ catch {
104
+ /* commander throws after printing help */
105
+ }
106
+ for (const chunk of helpText) {
107
+ for (const l of chunk.split("\n"))
108
+ lines.push(l);
109
+ }
110
+ }
111
+ catch {
112
+ lines.push(chalk_1.default.red("Failed to load help"));
113
+ }
114
+ lines.push("");
115
+ lines.push(chalk_1.default.cyanBright("Chat"));
116
+ lines.push(" " +
117
+ chalk_1.default.white("<message>") +
118
+ chalk_1.default.dim(" Send message to OpenClaw gateway"));
119
+ lines.push(" " +
120
+ chalk_1.default.white("/chat <message>") +
121
+ chalk_1.default.dim(" Explicitly route to chat"));
122
+ lines.push(chalk_1.default.dim(" Gateway: http://localhost:19000 (openclaw gateway start)"));
123
+ lines.push("");
124
+ for (const l of lines)
125
+ appendLine(l);
126
+ setIsProcessing(false);
127
+ return;
128
+ }
129
+ // ── Built-in: status ───────────────────────────────────────────────────
130
+ if (input === "status") {
131
+ if (network)
132
+ appendLine(` ${chalk_1.default.dim("Network")} ${chalk_1.default.white(network)}`);
133
+ if (wallet)
134
+ appendLine(` ${chalk_1.default.dim("Wallet")} ${chalk_1.default.white(wallet)}`);
135
+ if (balance)
136
+ appendLine(` ${chalk_1.default.dim("Balance")} ${chalk_1.default.white(balance)}`);
137
+ if (!network && !wallet && !balance)
138
+ appendLine(chalk_1.default.dim(" No config found. Run 'config init' to get started."));
139
+ appendLine("");
140
+ setIsProcessing(false);
141
+ return;
142
+ }
143
+ // ── /chat prefix or unknown command → chat ─────────────────────────────
144
+ const isExplicitChat = input.startsWith("/chat ");
145
+ const isChatInput = isExplicitChat || (!allKnown.includes(firstWord) && firstWord !== "");
146
+ if (isChatInput) {
147
+ const msg = isExplicitChat ? input.slice(6).trim() : input;
148
+ if (msg) {
149
+ await send(msg, appendLine);
150
+ }
151
+ appendLine("");
152
+ setIsProcessing(false);
153
+ return;
154
+ }
155
+ // ── Dispatch to commander ──────────────────────────────────────────────
156
+ await execute(input, appendLine);
157
+ appendLine("");
158
+ setIsProcessing(false);
159
+ }, [appendLine, execute, send, snapToBottom, topCmds, network, wallet, balance, exit]);
160
+ const isDisabled = isProcessing || isRunning || isSending;
161
+ const topBorder = "┌" + "─".repeat(inner) + "┐";
162
+ const midBorder = "├" + "─".repeat(inner) + "┤";
163
+ const botBorder = "└" + "─".repeat(inner) + "┘";
164
+ return ((0, jsx_runtime_1.jsxs)(ink_1.Box, { flexDirection: "column", height: "100%", children: [(0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: topBorder }), (0, jsx_runtime_1.jsx)(Header_1.Header, { version: version, network: network, wallet: wallet, balance: balance, innerWidth: inner }), (0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: midBorder }), (0, jsx_runtime_1.jsx)(Viewport_1.Viewport, { lines: outputBuffer, scrollOffset: scrollOffset, isAutoScroll: isAutoScroll, innerWidth: inner }), (0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: midBorder }), (0, jsx_runtime_1.jsxs)(ink_1.Box, { children: [(0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: "\u2502" }), (0, jsx_runtime_1.jsx)(ink_1.Box, { flexGrow: 1, children: (0, jsx_runtime_1.jsx)(InputLine_1.InputLine, { onSubmit: handleCommand, isDisabled: isDisabled }) }), (0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: "\u2502" })] }), (0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: botBorder })] }));
165
+ }
166
+ //# sourceMappingURL=App.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ interface FooterProps {
3
+ children: React.ReactNode;
4
+ }
5
+ /**
6
+ * Fixed footer containing the input line.
7
+ * Pinned at the bottom of the screen.
8
+ */
9
+ export declare function Footer({ children }: FooterProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=Footer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../src/tui/Footer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,WAAW;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,WAAW,2CAM/C"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Footer = Footer;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const ink_1 = require("ink");
6
+ /**
7
+ * Fixed footer containing the input line.
8
+ * Pinned at the bottom of the screen.
9
+ */
10
+ function Footer({ children }) {
11
+ return ((0, jsx_runtime_1.jsx)(ink_1.Box, { flexShrink: 0, children: children }));
12
+ }
13
+ //# sourceMappingURL=Footer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../src/tui/Footer.tsx"],"names":[],"mappings":";;AAWA,wBAMC;;AAhBD,6BAA0B;AAM1B;;;GAGG;AACH,SAAgB,MAAM,CAAC,EAAE,QAAQ,EAAe;IAC9C,OAAO,CACL,uBAAC,SAAG,IAAC,UAAU,EAAE,CAAC,YACf,QAAQ,GACL,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ interface HeaderProps {
3
+ version: string;
4
+ network?: string;
5
+ wallet?: string;
6
+ balance?: string;
7
+ innerWidth?: number;
8
+ }
9
+ /**
10
+ * Fixed header showing the ASCII art banner + status info.
11
+ * Each line is framed with │ … │ box-drawing borders.
12
+ */
13
+ export declare const Header: React.NamedExoticComponent<HeaderProps>;
14
+ export {};
15
+ //# sourceMappingURL=Header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../src/tui/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,yCAoBjB,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Header = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = __importDefault(require("react"));
9
+ const ink_1 = require("ink");
10
+ const banner_1 = require("../ui/banner");
11
+ /**
12
+ * Fixed header showing the ASCII art banner + status info.
13
+ * Each line is framed with │ … │ box-drawing borders.
14
+ */
15
+ exports.Header = react_1.default.memo(function Header({ network, wallet, balance, innerWidth = 58, }) {
16
+ const bannerLines = (0, banner_1.getBannerLines)({ network, wallet, balance });
17
+ return ((0, jsx_runtime_1.jsx)(ink_1.Box, { flexDirection: "column", children: bannerLines.map((line, i) => ((0, jsx_runtime_1.jsxs)(ink_1.Box, { children: [(0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: "\u2502" }), (0, jsx_runtime_1.jsx)(ink_1.Text, { children: " " + line }), (0, jsx_runtime_1.jsx)(ink_1.Box, { flexGrow: 1 }), (0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: "\u2502" })] }, i))) }));
18
+ });
19
+ //# sourceMappingURL=Header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../src/tui/Header.tsx"],"names":[],"mappings":";;;;;;;AAAA,kDAA0B;AAC1B,6BAAgC;AAChC,yCAA8C;AAU9C;;;GAGG;AACU,QAAA,MAAM,GAAG,eAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,EAC/C,OAAO,EACP,MAAM,EACN,OAAO,EACP,UAAU,GAAG,EAAE,GACH;IACZ,MAAM,WAAW,GAAG,IAAA,uBAAc,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAEjE,OAAO,CACL,uBAAC,SAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5B,wBAAC,SAAG,eACF,uBAAC,UAAI,IAAC,QAAQ,6BAAS,EACvB,uBAAC,UAAI,cAAE,GAAG,GAAG,IAAI,GAAQ,EACzB,uBAAC,SAAG,IAAC,QAAQ,EAAE,CAAC,GAAI,EACpB,uBAAC,UAAI,IAAC,QAAQ,6BAAS,KAJf,CAAC,CAKL,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ interface InputLineProps {
2
+ onSubmit: (value: string) => void;
3
+ isDisabled?: boolean;
4
+ }
5
+ /**
6
+ * Input line with command history navigation and tab completion.
7
+ * Uses ink-text-input for text input with cursor.
8
+ */
9
+ export declare function InputLine({ onSubmit, isDisabled }: InputLineProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=InputLine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputLine.d.ts","sourceRoot":"","sources":["../../src/tui/InputLine.tsx"],"names":[],"mappings":"AAOA,UAAU,cAAc;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,UAAkB,EAAE,EAAE,cAAc,2CAmJzE"}
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.InputLine = InputLine;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_1 = require("react");
9
+ const ink_1 = require("ink");
10
+ const ink_text_input_1 = __importDefault(require("ink-text-input"));
11
+ const program_1 = require("../program");
12
+ const BUILTIN_CMDS = ["help", "exit", "quit", "clear", "status"];
13
+ /**
14
+ * Input line with command history navigation and tab completion.
15
+ * Uses ink-text-input for text input with cursor.
16
+ */
17
+ function InputLine({ onSubmit, isDisabled = false }) {
18
+ const [value, setValue] = (0, react_1.useState)("");
19
+ const [history, setHistory] = (0, react_1.useState)([]);
20
+ const [historyIdx, setHistoryIdx] = (0, react_1.useState)(-1);
21
+ const [historyTemp, setHistoryTemp] = (0, react_1.useState)("");
22
+ // Lazily build command list for tab completion
23
+ const [topCmds] = (0, react_1.useState)(() => {
24
+ try {
25
+ const prog = (0, program_1.createProgram)();
26
+ return prog.commands.map((cmd) => cmd.name());
27
+ }
28
+ catch {
29
+ return [];
30
+ }
31
+ });
32
+ const [subCmds] = (0, react_1.useState)(() => {
33
+ try {
34
+ const prog = (0, program_1.createProgram)();
35
+ const map = new Map();
36
+ for (const cmd of prog.commands) {
37
+ if (cmd.commands.length > 0) {
38
+ map.set(cmd.name(), cmd.commands.map((s) => s.name()));
39
+ }
40
+ }
41
+ return map;
42
+ }
43
+ catch {
44
+ return new Map();
45
+ }
46
+ });
47
+ const handleSubmit = (0, react_1.useCallback)((val) => {
48
+ const trimmed = val.trim();
49
+ if (!trimmed)
50
+ return;
51
+ // Add to history (avoid duplicate of last entry)
52
+ setHistory((prev) => {
53
+ if (prev[prev.length - 1] === trimmed)
54
+ return prev;
55
+ return [...prev, trimmed];
56
+ });
57
+ setHistoryIdx(-1);
58
+ setHistoryTemp("");
59
+ setValue("");
60
+ onSubmit(trimmed);
61
+ }, [onSubmit]);
62
+ (0, ink_1.useInput)((_input, key) => {
63
+ if (isDisabled)
64
+ return;
65
+ // Up arrow — history prev
66
+ if (key.upArrow) {
67
+ setHistory((hist) => {
68
+ setHistoryIdx((idx) => {
69
+ if (idx === -1) {
70
+ setHistoryTemp(value);
71
+ const newIdx = hist.length - 1;
72
+ if (newIdx >= 0)
73
+ setValue(hist[newIdx]);
74
+ return newIdx;
75
+ }
76
+ else if (idx > 0) {
77
+ const newIdx = idx - 1;
78
+ setValue(hist[newIdx]);
79
+ return newIdx;
80
+ }
81
+ return idx;
82
+ });
83
+ return hist;
84
+ });
85
+ return;
86
+ }
87
+ // Down arrow — history next
88
+ if (key.downArrow) {
89
+ setHistory((hist) => {
90
+ setHistoryIdx((idx) => {
91
+ if (idx >= 0) {
92
+ const newIdx = idx + 1;
93
+ if (newIdx >= hist.length) {
94
+ setValue(historyTemp);
95
+ return -1;
96
+ }
97
+ else {
98
+ setValue(hist[newIdx]);
99
+ return newIdx;
100
+ }
101
+ }
102
+ return idx;
103
+ });
104
+ return hist;
105
+ });
106
+ return;
107
+ }
108
+ // Tab — completion
109
+ if (_input === "\t") {
110
+ const allTop = [...BUILTIN_CMDS, ...topCmds];
111
+ const trimmed = value.trimStart();
112
+ const spaceIdx = trimmed.indexOf(" ");
113
+ let completions;
114
+ if (spaceIdx === -1) {
115
+ completions = allTop.filter((cmd) => cmd.startsWith(trimmed));
116
+ }
117
+ else {
118
+ const parent = trimmed.slice(0, spaceIdx);
119
+ const rest = trimmed.slice(spaceIdx + 1);
120
+ const subs = subCmds.get(parent) ?? [];
121
+ completions = subs
122
+ .filter((s) => s.startsWith(rest))
123
+ .map((s) => `${parent} ${s}`);
124
+ }
125
+ if (completions.length === 0)
126
+ return;
127
+ if (completions.length === 1) {
128
+ setValue(completions[0] + " ");
129
+ return;
130
+ }
131
+ // Find common prefix
132
+ const common = completions.reduce((a, b) => {
133
+ let i = 0;
134
+ while (i < a.length && i < b.length && a[i] === b[i])
135
+ i++;
136
+ return a.slice(0, i);
137
+ });
138
+ if (common.length > value.trimStart().length) {
139
+ setValue(common);
140
+ }
141
+ }
142
+ }, { isActive: !isDisabled });
143
+ return ((0, jsx_runtime_1.jsxs)(ink_1.Box, { children: [(0, jsx_runtime_1.jsx)(ink_1.Text, { color: "cyan", children: "\u25C8" }), (0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: " arc402 " }), (0, jsx_runtime_1.jsxs)(ink_1.Text, { color: "white", children: [">", " "] }), (0, jsx_runtime_1.jsx)(ink_text_input_1.default, { value: value, onChange: setValue, onSubmit: handleSubmit, focus: !isDisabled })] }));
144
+ }
145
+ //# sourceMappingURL=InputLine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputLine.js","sourceRoot":"","sources":["../../src/tui/InputLine.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ interface ViewportProps {
2
+ lines: string[];
3
+ scrollOffset: number;
4
+ isAutoScroll: boolean;
5
+ innerWidth?: number;
6
+ }
7
+ /**
8
+ * Scrollable output area framed with │ … │ box-drawing borders.
9
+ * Fills remaining terminal space between header and footer separators.
10
+ */
11
+ export declare function Viewport({ lines, scrollOffset, isAutoScroll, innerWidth }: ViewportProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=Viewport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../src/tui/Viewport.tsx"],"names":[],"mappings":"AAGA,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,UAAe,EAAE,EAAE,aAAa,2CAmD7F"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Viewport = Viewport;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const ink_1 = require("ink");
6
+ /**
7
+ * Scrollable output area framed with │ … │ box-drawing borders.
8
+ * Fills remaining terminal space between header and footer separators.
9
+ */
10
+ function Viewport({ lines, scrollOffset, isAutoScroll, innerWidth = 58 }) {
11
+ const { stdout } = (0, ink_1.useStdout)();
12
+ const termRows = stdout?.rows ?? 24;
13
+ // Header (~14 rows) + top/mid/mid/bot borders (4) + footer input (1) = ~19 fixed rows
14
+ const FIXED_ROWS = 19;
15
+ const viewportHeight = Math.max(1, termRows - FIXED_ROWS);
16
+ // Compute the window slice
17
+ const totalLines = lines.length;
18
+ let endIdx;
19
+ let startIdx;
20
+ if (scrollOffset === 0) {
21
+ endIdx = totalLines;
22
+ startIdx = Math.max(0, endIdx - viewportHeight);
23
+ }
24
+ else {
25
+ endIdx = Math.max(0, totalLines - scrollOffset);
26
+ startIdx = Math.max(0, endIdx - viewportHeight);
27
+ }
28
+ const visibleLines = lines.slice(startIdx, endIdx);
29
+ // Pad with empty lines if fewer than viewportHeight
30
+ const padCount = Math.max(0, viewportHeight - visibleLines.length);
31
+ const paddedLines = [
32
+ ...Array(padCount).fill(""),
33
+ ...visibleLines,
34
+ ];
35
+ const canScrollDown = scrollOffset > 0;
36
+ return ((0, jsx_runtime_1.jsxs)(ink_1.Box, { flexDirection: "column", flexGrow: 1, children: [paddedLines.map((line, i) => ((0, jsx_runtime_1.jsxs)(ink_1.Box, { children: [(0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: "\u2502" }), (0, jsx_runtime_1.jsx)(ink_1.Text, { children: " " + line }), (0, jsx_runtime_1.jsx)(ink_1.Box, { flexGrow: 1 }), (0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: "\u2502" })] }, i))), canScrollDown && !isAutoScroll && ((0, jsx_runtime_1.jsxs)(ink_1.Box, { justifyContent: "flex-end", children: [(0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: "\u2502 \u2193 more" }), (0, jsx_runtime_1.jsx)(ink_1.Box, { flexGrow: 1 }), (0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: "\u2502" })] }))] }));
37
+ }
38
+ //# sourceMappingURL=Viewport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Viewport.js","sourceRoot":"","sources":["../../src/tui/Viewport.tsx"],"names":[],"mappings":";;AAcA,4BAmDC;;AAhED,6BAA2C;AAS3C;;;GAGG;AACH,SAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,GAAG,EAAE,EAAiB;IAC5F,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,eAAS,GAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;IAEpC,sFAAsF;IACtF,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,CAAC;IAE1D,2BAA2B;IAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IAChC,IAAI,MAAc,CAAC;IACnB,IAAI,QAAgB,CAAC;IAErB,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,UAAU,CAAC;QACpB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC,CAAC;QAChD,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEnD,oDAAoD;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG;QAClB,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,GAAG,YAAY;KAChB,CAAC;IAEF,MAAM,aAAa,GAAG,YAAY,GAAG,CAAC,CAAC;IAEvC,OAAO,CACL,wBAAC,SAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aACpC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5B,wBAAC,SAAG,eACF,uBAAC,UAAI,IAAC,QAAQ,6BAAS,EACvB,uBAAC,UAAI,cAAE,GAAG,GAAG,IAAI,GAAQ,EACzB,uBAAC,SAAG,IAAC,QAAQ,EAAE,CAAC,GAAI,EACpB,uBAAC,UAAI,IAAC,QAAQ,6BAAS,KAJf,CAAC,CAKL,CACP,CAAC,EACD,aAAa,IAAI,CAAC,YAAY,IAAI,CACjC,wBAAC,SAAG,IAAC,cAAc,EAAC,UAAU,aAC5B,uBAAC,UAAI,IAAC,QAAQ,yCAAgB,EAC9B,uBAAC,SAAG,IAAC,QAAQ,EAAE,CAAC,GAAI,EACpB,uBAAC,UAAI,IAAC,QAAQ,6BAAS,IACnB,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function launchTUI(): Promise<void>;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tui/index.tsx"],"names":[],"mappings":"AA+CA,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAwB/C"}