arc402-cli 0.7.2 → 0.7.4
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/TUI-SPEC.md +214 -0
- package/dist/index.js +55 -1
- package/dist/index.js.map +1 -1
- package/dist/repl.d.ts.map +1 -1
- package/dist/repl.js +46 -567
- package/dist/repl.js.map +1 -1
- package/dist/tui/App.d.ts +12 -0
- package/dist/tui/App.d.ts.map +1 -0
- package/dist/tui/App.js +154 -0
- package/dist/tui/App.js.map +1 -0
- package/dist/tui/Footer.d.ts +11 -0
- package/dist/tui/Footer.d.ts.map +1 -0
- package/dist/tui/Footer.js +13 -0
- package/dist/tui/Footer.js.map +1 -0
- package/dist/tui/Header.d.ts +14 -0
- package/dist/tui/Header.d.ts.map +1 -0
- package/dist/tui/Header.js +19 -0
- package/dist/tui/Header.js.map +1 -0
- package/dist/tui/InputLine.d.ts +11 -0
- package/dist/tui/InputLine.d.ts.map +1 -0
- package/dist/tui/InputLine.js +145 -0
- package/dist/tui/InputLine.js.map +1 -0
- package/dist/tui/Viewport.d.ts +14 -0
- package/dist/tui/Viewport.d.ts.map +1 -0
- package/dist/tui/Viewport.js +48 -0
- package/dist/tui/Viewport.js.map +1 -0
- package/dist/tui/index.d.ts +2 -0
- package/dist/tui/index.d.ts.map +1 -0
- package/dist/tui/index.js +55 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/useChat.d.ts +11 -0
- package/dist/tui/useChat.d.ts.map +1 -0
- package/dist/tui/useChat.js +91 -0
- package/dist/tui/useChat.js.map +1 -0
- package/dist/tui/useCommand.d.ts +12 -0
- package/dist/tui/useCommand.d.ts.map +1 -0
- package/dist/tui/useCommand.js +137 -0
- package/dist/tui/useCommand.js.map +1 -0
- package/dist/tui/useScroll.d.ts +17 -0
- package/dist/tui/useScroll.d.ts.map +1 -0
- package/dist/tui/useScroll.js +46 -0
- package/dist/tui/useScroll.js.map +1 -0
- package/package.json +5 -1
- package/src/index.ts +21 -1
- package/src/repl.ts +50 -676
- package/src/tui/App.tsx +214 -0
- package/src/tui/Footer.tsx +18 -0
- package/src/tui/Header.tsx +30 -0
- package/src/tui/InputLine.tsx +164 -0
- package/src/tui/Viewport.tsx +70 -0
- package/src/tui/index.tsx +72 -0
- package/src/tui/useChat.ts +103 -0
- package/src/tui/useCommand.ts +148 -0
- package/src/tui/useScroll.ts +65 -0
- 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,12 @@
|
|
|
1
|
+
interface AppProps {
|
|
2
|
+
version: string;
|
|
3
|
+
network?: string;
|
|
4
|
+
wallet?: string;
|
|
5
|
+
balance?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Root TUI component — fixed header/footer with scrollable viewport.
|
|
9
|
+
*/
|
|
10
|
+
export declare function App({ version, network, wallet, balance }: AppProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=App.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"AAiBA,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;;GAEG;AACH,wBAAgB,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,2CA0LlE"}
|
package/dist/tui/App.js
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
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 Footer_1 = require("./Footer");
|
|
13
|
+
const InputLine_1 = require("./InputLine");
|
|
14
|
+
const useCommand_1 = require("./useCommand");
|
|
15
|
+
const useChat_1 = require("./useChat");
|
|
16
|
+
const useScroll_1 = require("./useScroll");
|
|
17
|
+
const program_1 = require("../program");
|
|
18
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
20
|
+
const pkg = require("../../package.json");
|
|
21
|
+
const BUILTIN_CMDS = ["help", "exit", "quit", "clear", "status"];
|
|
22
|
+
/**
|
|
23
|
+
* Root TUI component — fixed header/footer with scrollable viewport.
|
|
24
|
+
*/
|
|
25
|
+
function App({ version, network, wallet, balance }) {
|
|
26
|
+
const { exit } = (0, ink_1.useApp)();
|
|
27
|
+
const [outputBuffer, setOutputBuffer] = (0, react_1.useState)([
|
|
28
|
+
chalk_1.default.dim(" Type 'help' to see available commands"),
|
|
29
|
+
"",
|
|
30
|
+
]);
|
|
31
|
+
const [isProcessing, setIsProcessing] = (0, react_1.useState)(false);
|
|
32
|
+
const { execute, isRunning } = (0, useCommand_1.useCommand)();
|
|
33
|
+
const { send, isSending } = (0, useChat_1.useChat)();
|
|
34
|
+
// Approximate viewport height for scroll management
|
|
35
|
+
const HEADER_ROWS = 15;
|
|
36
|
+
const FOOTER_ROWS = 1;
|
|
37
|
+
const rows = process.stdout.rows ?? 24;
|
|
38
|
+
const viewportHeight = Math.max(1, rows - HEADER_ROWS - FOOTER_ROWS);
|
|
39
|
+
const { scrollOffset, isAutoScroll, scrollUp, scrollDown, snapToBottom } = (0, useScroll_1.useScroll)(viewportHeight);
|
|
40
|
+
// Get top-level command names for dispatch detection
|
|
41
|
+
const [topCmds] = (0, react_1.useState)(() => {
|
|
42
|
+
try {
|
|
43
|
+
const prog = (0, program_1.createProgram)();
|
|
44
|
+
return prog.commands.map((cmd) => cmd.name());
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return [];
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
const appendLine = (0, react_1.useCallback)((line) => {
|
|
51
|
+
setOutputBuffer((prev) => [...prev, line]);
|
|
52
|
+
}, []);
|
|
53
|
+
const handleCommand = (0, react_1.useCallback)(async (input) => {
|
|
54
|
+
// Echo command to viewport
|
|
55
|
+
appendLine(chalk_1.default.cyanBright("◈") +
|
|
56
|
+
" " +
|
|
57
|
+
chalk_1.default.dim("arc402") +
|
|
58
|
+
" " +
|
|
59
|
+
chalk_1.default.white(">") +
|
|
60
|
+
" " +
|
|
61
|
+
chalk_1.default.white(input));
|
|
62
|
+
// Snap to bottom on new command
|
|
63
|
+
snapToBottom();
|
|
64
|
+
setIsProcessing(true);
|
|
65
|
+
const firstWord = input.split(/\s+/)[0];
|
|
66
|
+
const allKnown = [...BUILTIN_CMDS, ...topCmds];
|
|
67
|
+
// ── Built-in: exit/quit ────────────────────────────────────────────────
|
|
68
|
+
if (input === "exit" || input === "quit") {
|
|
69
|
+
appendLine(" " + chalk_1.default.cyanBright("◈") + chalk_1.default.dim(" goodbye"));
|
|
70
|
+
setIsProcessing(false);
|
|
71
|
+
setTimeout(() => exit(), 100);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
// ── Built-in: clear ────────────────────────────────────────────────────
|
|
75
|
+
if (input === "clear") {
|
|
76
|
+
setOutputBuffer([]);
|
|
77
|
+
setIsProcessing(false);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
// ── Built-in: help ─────────────────────────────────────────────────────
|
|
81
|
+
if (input === "help" || input === "/help") {
|
|
82
|
+
const lines = [];
|
|
83
|
+
try {
|
|
84
|
+
const prog = (0, program_1.createProgram)();
|
|
85
|
+
prog.exitOverride();
|
|
86
|
+
const helpText = [];
|
|
87
|
+
prog.configureOutput({
|
|
88
|
+
writeOut: (str) => helpText.push(str),
|
|
89
|
+
writeErr: (str) => helpText.push(str),
|
|
90
|
+
});
|
|
91
|
+
try {
|
|
92
|
+
await prog.parseAsync(["node", "arc402", "--help"]);
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
/* commander throws after printing help */
|
|
96
|
+
}
|
|
97
|
+
for (const chunk of helpText) {
|
|
98
|
+
for (const l of chunk.split("\n"))
|
|
99
|
+
lines.push(l);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
lines.push(chalk_1.default.red("Failed to load help"));
|
|
104
|
+
}
|
|
105
|
+
lines.push("");
|
|
106
|
+
lines.push(chalk_1.default.cyanBright("Chat"));
|
|
107
|
+
lines.push(" " +
|
|
108
|
+
chalk_1.default.white("<message>") +
|
|
109
|
+
chalk_1.default.dim(" Send message to OpenClaw gateway"));
|
|
110
|
+
lines.push(" " +
|
|
111
|
+
chalk_1.default.white("/chat <message>") +
|
|
112
|
+
chalk_1.default.dim(" Explicitly route to chat"));
|
|
113
|
+
lines.push(chalk_1.default.dim(" Gateway: http://localhost:19000 (openclaw gateway start)"));
|
|
114
|
+
lines.push("");
|
|
115
|
+
for (const l of lines)
|
|
116
|
+
appendLine(l);
|
|
117
|
+
setIsProcessing(false);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
// ── Built-in: status ───────────────────────────────────────────────────
|
|
121
|
+
if (input === "status") {
|
|
122
|
+
if (network)
|
|
123
|
+
appendLine(` ${chalk_1.default.dim("Network")} ${chalk_1.default.white(network)}`);
|
|
124
|
+
if (wallet)
|
|
125
|
+
appendLine(` ${chalk_1.default.dim("Wallet")} ${chalk_1.default.white(wallet)}`);
|
|
126
|
+
if (balance)
|
|
127
|
+
appendLine(` ${chalk_1.default.dim("Balance")} ${chalk_1.default.white(balance)}`);
|
|
128
|
+
if (!network && !wallet && !balance)
|
|
129
|
+
appendLine(chalk_1.default.dim(" No config found. Run 'config init' to get started."));
|
|
130
|
+
appendLine("");
|
|
131
|
+
setIsProcessing(false);
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
// ── /chat prefix or unknown command → chat ─────────────────────────────
|
|
135
|
+
const isExplicitChat = input.startsWith("/chat ");
|
|
136
|
+
const isChatInput = isExplicitChat || (!allKnown.includes(firstWord) && firstWord !== "");
|
|
137
|
+
if (isChatInput) {
|
|
138
|
+
const msg = isExplicitChat ? input.slice(6).trim() : input;
|
|
139
|
+
if (msg) {
|
|
140
|
+
await send(msg, appendLine);
|
|
141
|
+
}
|
|
142
|
+
appendLine("");
|
|
143
|
+
setIsProcessing(false);
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
// ── Dispatch to commander ──────────────────────────────────────────────
|
|
147
|
+
await execute(input, appendLine);
|
|
148
|
+
appendLine("");
|
|
149
|
+
setIsProcessing(false);
|
|
150
|
+
}, [appendLine, execute, send, snapToBottom, topCmds, network, wallet, balance, exit]);
|
|
151
|
+
const isDisabled = isProcessing || isRunning || isSending;
|
|
152
|
+
return ((0, jsx_runtime_1.jsxs)(ink_1.Box, { flexDirection: "column", height: "100%", children: [(0, jsx_runtime_1.jsx)(Header_1.Header, { version: version, network: network, wallet: wallet, balance: balance }), (0, jsx_runtime_1.jsx)(ink_1.Box, { children: (0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: "─".repeat(60) }) }), (0, jsx_runtime_1.jsx)(Viewport_1.Viewport, { lines: outputBuffer, scrollOffset: scrollOffset, isAutoScroll: isAutoScroll }), (0, jsx_runtime_1.jsx)(Footer_1.Footer, { children: (0, jsx_runtime_1.jsx)(InputLine_1.InputLine, { onSubmit: handleCommand, isDisabled: isDisabled }) })] }));
|
|
153
|
+
}
|
|
154
|
+
//# 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,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface HeaderProps {
|
|
3
|
+
version: string;
|
|
4
|
+
network?: string;
|
|
5
|
+
wallet?: string;
|
|
6
|
+
balance?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Fixed header showing the ASCII art banner + status info.
|
|
10
|
+
* Never re-renders unless config changes.
|
|
11
|
+
*/
|
|
12
|
+
export declare const Header: React.NamedExoticComponent<HeaderProps>;
|
|
13
|
+
export {};
|
|
14
|
+
//# 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;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,yCAcjB,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
|
+
* Never re-renders unless config changes.
|
|
14
|
+
*/
|
|
15
|
+
exports.Header = react_1.default.memo(function Header({ network, wallet, balance, }) {
|
|
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.jsx)(ink_1.Text, { children: line }, 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;AAS9C;;;GAGG;AACU,QAAA,MAAM,GAAG,eAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,EAC/C,OAAO,EACP,MAAM,EACN,OAAO,GACK;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,uBAAC,UAAI,cAAU,IAAI,IAAR,CAAC,CAAe,CAC5B,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":";;;;;AAgBA,8BAmJC;;AAnKD,iCAAqD;AACrD,6BAA0C;AAC1C,oEAAuC;AACvC,wCAA2C;AAE3C,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAOjE;;;GAGG;AACH,SAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,UAAU,GAAG,KAAK,EAAkB;IACxE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAW,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IAEnD,+CAA+C;IAC/C,MAAM,CAAC,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAW,GAAG,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAA,uBAAa,GAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAwB,GAAG,EAAE;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAA,uBAAa,GAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoB,CAAC;YACxC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAA,mBAAW,EAC9B,CAAC,GAAW,EAAE,EAAE;QACd,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,iDAAiD;QACjD,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,OAAO;gBAAE,OAAO,IAAI,CAAC;YACnD,OAAO,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,cAAc,CAAC,EAAE,CAAC,CAAC;QACnB,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEb,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,IAAA,cAAQ,EACN,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACd,IAAI,UAAU;YAAE,OAAO;QAEvB,0BAA0B;QAC1B,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;gBAClB,aAAa,CAAC,CAAC,GAAG,EAAE,EAAE;oBACpB,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;wBACf,cAAc,CAAC,KAAK,CAAC,CAAC;wBACtB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC/B,IAAI,MAAM,IAAI,CAAC;4BAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;wBACxC,OAAO,MAAM,CAAC;oBAChB,CAAC;yBAAM,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;wBACnB,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;wBACvB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;wBACvB,OAAO,MAAM,CAAC;oBAChB,CAAC;oBACD,OAAO,GAAG,CAAC;gBACb,CAAC,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;gBAClB,aAAa,CAAC,CAAC,GAAG,EAAE,EAAE;oBACpB,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;wBACb,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;wBACvB,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;4BAC1B,QAAQ,CAAC,WAAW,CAAC,CAAC;4BACtB,OAAO,CAAC,CAAC,CAAC;wBACZ,CAAC;6BAAM,CAAC;4BACN,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;4BACvB,OAAO,MAAM,CAAC;wBAChB,CAAC;oBACH,CAAC;oBACD,OAAO,GAAG,CAAC;gBACb,CAAC,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,mBAAmB;QACnB,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAEtC,IAAI,WAAqB,CAAC;YAC1B,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;gBACpB,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;gBACzC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACvC,WAAW,GAAG,IAAI;qBACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;qBACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAErC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;YAED,qBAAqB;YACrB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAAE,CAAC,EAAE,CAAC;gBAC1D,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC;gBAC7C,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC,EACD,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,CAC1B,CAAC;IAEF,OAAO,CACL,wBAAC,SAAG,eACF,uBAAC,UAAI,IAAC,KAAK,EAAC,MAAM,uBAAS,EAC3B,uBAAC,UAAI,IAAC,QAAQ,+BAAgB,EAC9B,wBAAC,UAAI,IAAC,KAAK,EAAC,OAAO,aAAE,GAAG,SAAS,EACjC,uBAAC,wBAAS,IACR,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,CAAC,UAAU,GAClB,IACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
interface ViewportProps {
|
|
2
|
+
lines: string[];
|
|
3
|
+
scrollOffset: number;
|
|
4
|
+
isAutoScroll: boolean;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Scrollable output area that fills remaining terminal space.
|
|
8
|
+
* Renders a window slice of the buffer, not terminal scroll.
|
|
9
|
+
* scrollOffset=0 means pinned to bottom (auto-scroll).
|
|
10
|
+
* Positive scrollOffset means scrolled up by that many lines.
|
|
11
|
+
*/
|
|
12
|
+
export declare function Viewport({ lines, scrollOffset, isAutoScroll }: ViewportProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# 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;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,aAAa,2CAsD5E"}
|
|
@@ -0,0 +1,48 @@
|
|
|
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 that fills remaining terminal space.
|
|
8
|
+
* Renders a window slice of the buffer, not terminal scroll.
|
|
9
|
+
* scrollOffset=0 means pinned to bottom (auto-scroll).
|
|
10
|
+
* Positive scrollOffset means scrolled up by that many lines.
|
|
11
|
+
*/
|
|
12
|
+
function Viewport({ lines, scrollOffset, isAutoScroll }) {
|
|
13
|
+
const { stdout } = (0, ink_1.useStdout)();
|
|
14
|
+
const termRows = stdout?.rows ?? 24;
|
|
15
|
+
// We'll compute the viewport height: total rows minus fixed areas
|
|
16
|
+
// Header is approximately bannerLines + separator (~14-16 rows)
|
|
17
|
+
// Footer is 1 row
|
|
18
|
+
// We'll use a reasonable estimate here; the parent App can pass exact height
|
|
19
|
+
const HEADER_ROWS = 15; // approximate
|
|
20
|
+
const FOOTER_ROWS = 1;
|
|
21
|
+
const viewportHeight = Math.max(1, termRows - HEADER_ROWS - FOOTER_ROWS);
|
|
22
|
+
// Compute the window slice
|
|
23
|
+
// scrollOffset=0 → show last viewportHeight lines
|
|
24
|
+
// scrollOffset=N → show lines ending viewportHeight+N from end
|
|
25
|
+
const totalLines = lines.length;
|
|
26
|
+
let endIdx;
|
|
27
|
+
let startIdx;
|
|
28
|
+
if (scrollOffset === 0) {
|
|
29
|
+
// Auto-scroll: pinned to bottom
|
|
30
|
+
endIdx = totalLines;
|
|
31
|
+
startIdx = Math.max(0, endIdx - viewportHeight);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
// Scrolled up: scrollOffset lines from bottom
|
|
35
|
+
endIdx = Math.max(0, totalLines - scrollOffset);
|
|
36
|
+
startIdx = Math.max(0, endIdx - viewportHeight);
|
|
37
|
+
}
|
|
38
|
+
const visibleLines = lines.slice(startIdx, endIdx);
|
|
39
|
+
// Pad with empty lines if fewer than viewportHeight
|
|
40
|
+
const padCount = Math.max(0, viewportHeight - visibleLines.length);
|
|
41
|
+
const paddedLines = [
|
|
42
|
+
...Array(padCount).fill(""),
|
|
43
|
+
...visibleLines,
|
|
44
|
+
];
|
|
45
|
+
const canScrollDown = scrollOffset > 0;
|
|
46
|
+
return ((0, jsx_runtime_1.jsxs)(ink_1.Box, { flexDirection: "column", flexGrow: 1, children: [(0, jsx_runtime_1.jsx)(ink_1.Box, { flexDirection: "column", flexGrow: 1, children: paddedLines.map((line, i) => ((0, jsx_runtime_1.jsx)(ink_1.Text, { children: line }, i))) }), canScrollDown && !isAutoScroll && ((0, jsx_runtime_1.jsx)(ink_1.Box, { justifyContent: "flex-end", children: (0, jsx_runtime_1.jsx)(ink_1.Text, { dimColor: true, children: "\u2193 more" }) }))] }));
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=Viewport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Viewport.js","sourceRoot":"","sources":["../../src/tui/Viewport.tsx"],"names":[],"mappings":";;AAeA,4BAsDC;;AApED,6BAA2C;AAQ3C;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAiB;IAC3E,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,eAAS,GAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;IAEpC,kEAAkE;IAClE,gEAAgE;IAChE,kBAAkB;IAClB,6EAA6E;IAC7E,MAAM,WAAW,GAAG,EAAE,CAAC,CAAC,cAAc;IACtC,MAAM,WAAW,GAAG,CAAC,CAAC;IACtB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC;IAEzE,2BAA2B;IAC3B,kDAAkD;IAClD,+DAA+D;IAC/D,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IAChC,IAAI,MAAc,CAAC;IACnB,IAAI,QAAgB,CAAC;IAErB,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,gCAAgC;QAChC,MAAM,GAAG,UAAU,CAAC;QACpB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,8CAA8C;QAC9C,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,aACrC,uBAAC,SAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,YACpC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5B,uBAAC,UAAI,cAAU,IAAI,IAAR,CAAC,CAAe,CAC5B,CAAC,GACE,EACL,aAAa,IAAI,CAAC,YAAY,IAAI,CACjC,uBAAC,SAAG,IAAC,cAAc,EAAC,UAAU,YAC5B,uBAAC,UAAI,IAAC,QAAQ,kCAAc,GACxB,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -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"}
|