arc402-cli 0.7.3 → 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 -558
- 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 -663
- 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/TUI-SPEC.md
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
# ARC-402 TUI Specification — Ink-based Terminal UI
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-03-22
|
|
4
|
+
**Status:** Ready for implementation
|
|
5
|
+
**Pattern:** Fixed header/footer with scrollable viewport (split-pane TUI)
|
|
6
|
+
**Library:** Ink (React for CLIs) — same architecture as Claude Code
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Architecture
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
┌─────────────────────────────────────────────────┐
|
|
14
|
+
│ HEADER (fixed, 8-10 rows) │
|
|
15
|
+
│ ┌─────────────────────────────────────────────┐ │
|
|
16
|
+
│ │ ██████╗ ██████╗ ██████╗ ... │ │
|
|
17
|
+
│ │ agent-to-agent arcing · v0.7.3 │ │
|
|
18
|
+
│ │ ◈ ──────────────────────────────────────── │ │
|
|
19
|
+
│ │ Network Base Mainnet Wallet 0xA34B.. │ │
|
|
20
|
+
│ └─────────────────────────────────────────────┘ │
|
|
21
|
+
├─────────────────────────────────────────────────┤
|
|
22
|
+
│ VIEWPORT (scrollable, fills remaining space) │
|
|
23
|
+
│ │
|
|
24
|
+
│ ◈ arc402 > wallet status │
|
|
25
|
+
│ ├ Address 0xA34B...a5dc │
|
|
26
|
+
│ ├ ETH 0.002 ETH │
|
|
27
|
+
│ └ Trust 100 Restricted │
|
|
28
|
+
│ │
|
|
29
|
+
│ ◈ arc402 > shake send --to 0xa9e0... │
|
|
30
|
+
│ ◈ Submitting handshake... │
|
|
31
|
+
│ ✓ Handshake sent — tx 0xabc1... │
|
|
32
|
+
│ │
|
|
33
|
+
│ ◈ arc402 > doctor │
|
|
34
|
+
│ ├ Config ✓ │
|
|
35
|
+
│ ├ RPC ✓ Base Mainnet │
|
|
36
|
+
│ └ Daemon ✗ Not running │
|
|
37
|
+
│ │
|
|
38
|
+
├─────────────────────────────────────────────────┤
|
|
39
|
+
│ FOOTER (fixed, 1-2 rows) │
|
|
40
|
+
│ ◈ arc402 > _ │
|
|
41
|
+
└─────────────────────────────────────────────────┘
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Component Tree (Ink/React)
|
|
47
|
+
|
|
48
|
+
```tsx
|
|
49
|
+
<App>
|
|
50
|
+
<Box flexDirection="column" height="100%">
|
|
51
|
+
|
|
52
|
+
{/* HEADER — fixed height, never scrolls */}
|
|
53
|
+
<Header
|
|
54
|
+
version={version}
|
|
55
|
+
network={config.network}
|
|
56
|
+
wallet={config.walletContractAddress}
|
|
57
|
+
balance={balance}
|
|
58
|
+
/>
|
|
59
|
+
|
|
60
|
+
<Box borderStyle="single" borderTop borderBottom={false} borderLeft={false} borderRight={false}>
|
|
61
|
+
<Text dimColor>─</Text>
|
|
62
|
+
</Box>
|
|
63
|
+
|
|
64
|
+
{/* VIEWPORT — flexGrow, scrollable */}
|
|
65
|
+
<Viewport
|
|
66
|
+
lines={outputBuffer}
|
|
67
|
+
scrollOffset={scrollOffset}
|
|
68
|
+
/>
|
|
69
|
+
|
|
70
|
+
{/* FOOTER — fixed height, input pinned */}
|
|
71
|
+
<Footer>
|
|
72
|
+
<InputLine
|
|
73
|
+
value={inputValue}
|
|
74
|
+
onChange={setInputValue}
|
|
75
|
+
onSubmit={handleCommand}
|
|
76
|
+
history={history}
|
|
77
|
+
/>
|
|
78
|
+
</Footer>
|
|
79
|
+
|
|
80
|
+
</Box>
|
|
81
|
+
</App>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Components
|
|
87
|
+
|
|
88
|
+
### `<Header />`
|
|
89
|
+
- Renders the ASCII art banner (cyan)
|
|
90
|
+
- Version from package.json
|
|
91
|
+
- Network, wallet (truncated), balance
|
|
92
|
+
- Fixed height: exactly `bannerLines.length + 3` rows
|
|
93
|
+
- Never re-renders unless config changes
|
|
94
|
+
|
|
95
|
+
### `<Viewport />`
|
|
96
|
+
- `flexGrow: 1` — fills all remaining terminal rows
|
|
97
|
+
- Maintains an internal `outputBuffer: string[]`
|
|
98
|
+
- Renders a window slice: `buffer.slice(scrollOffset, scrollOffset + viewportHeight)`
|
|
99
|
+
- Scroll up/down with Page Up/Page Down or mouse wheel
|
|
100
|
+
- Auto-scrolls to bottom when new output arrives (unless user scrolled up)
|
|
101
|
+
- Supports ANSI colors in output lines (chalk passes through)
|
|
102
|
+
|
|
103
|
+
### `<Footer />`
|
|
104
|
+
- Fixed height: 1 row (or 2 with status bar)
|
|
105
|
+
- Contains `<InputLine />`
|
|
106
|
+
- Prompt: `◈ arc402 > ` (◈ cyan, arc402 dim, > white)
|
|
107
|
+
|
|
108
|
+
### `<InputLine />`
|
|
109
|
+
- Uses `ink-text-input` for text input with cursor
|
|
110
|
+
- Up/down arrow: command history navigation
|
|
111
|
+
- Tab: command completion
|
|
112
|
+
- Enter: dispatch command
|
|
113
|
+
- Ctrl+C: graceful exit
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Behavior
|
|
118
|
+
|
|
119
|
+
### Command Dispatch
|
|
120
|
+
1. User types command + Enter
|
|
121
|
+
2. Command + output appended to `outputBuffer` as: `◈ arc402 > {command}` then output lines
|
|
122
|
+
3. Commander parses and executes (stdout/stderr captured and routed to viewport)
|
|
123
|
+
4. Viewport auto-scrolls to bottom
|
|
124
|
+
5. Input line clears, cursor returns
|
|
125
|
+
|
|
126
|
+
### Stdout/Stderr Capture
|
|
127
|
+
- During command execution, monkey-patch `process.stdout.write` and `process.stderr.write`
|
|
128
|
+
- Route all output to `outputBuffer` instead of raw terminal
|
|
129
|
+
- Restore after command completes
|
|
130
|
+
- This ensures spinners, tree output, console.log all render in the viewport
|
|
131
|
+
|
|
132
|
+
### Scroll Behavior
|
|
133
|
+
- **Auto-scroll:** viewport stays at bottom as new lines arrive
|
|
134
|
+
- **Manual scroll:** Page Up / Page Down moves viewport
|
|
135
|
+
- **Scroll indicator:** if not at bottom, show `↓ more` in bottom-right
|
|
136
|
+
- **Return to bottom:** any new command output snaps back to bottom
|
|
137
|
+
|
|
138
|
+
### Chat Integration
|
|
139
|
+
- Non-command input detected → POST to OpenClaw gateway
|
|
140
|
+
- Response streamed line-by-line into viewport
|
|
141
|
+
- Prefixed with `◈ ` in dim
|
|
142
|
+
|
|
143
|
+
### Resize Handling
|
|
144
|
+
- Listen for `SIGWINCH`
|
|
145
|
+
- Recalculate viewport height
|
|
146
|
+
- Re-render (Ink handles this natively)
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Dependencies
|
|
151
|
+
|
|
152
|
+
```json
|
|
153
|
+
{
|
|
154
|
+
"ink": "^4.0.0",
|
|
155
|
+
"ink-text-input": "^5.0.0",
|
|
156
|
+
"react": "^18.0.0"
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
~150KB total. Well-maintained. Same stack as Claude Code.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## File Structure
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
cli/src/
|
|
168
|
+
tui/
|
|
169
|
+
App.tsx — root component
|
|
170
|
+
Header.tsx — banner + status
|
|
171
|
+
Viewport.tsx — scrollable output area
|
|
172
|
+
Footer.tsx — input line wrapper
|
|
173
|
+
InputLine.tsx — text input with history + completion
|
|
174
|
+
useCommand.ts — hook: dispatch to commander, capture output
|
|
175
|
+
useChat.ts — hook: OpenClaw gateway chat
|
|
176
|
+
useScroll.ts — hook: scroll state management
|
|
177
|
+
index.tsx — render <App /> with Ink
|
|
178
|
+
repl.ts — KEEP as fallback for --print mode and non-TTY
|
|
179
|
+
index.ts — route: TTY → tui/, non-TTY/--print → repl.ts
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Migration Plan
|
|
185
|
+
|
|
186
|
+
1. Keep existing `repl.ts` as fallback (--print mode, piped input)
|
|
187
|
+
2. New `tui/` directory with Ink components
|
|
188
|
+
3. `index.ts` checks: if TTY and no --print → launch Ink TUI, else → use simple REPL
|
|
189
|
+
4. All existing commands unchanged — only the rendering layer changes
|
|
190
|
+
5. `repl.ts` simplified back to basic readline (no ANSI tricks)
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Exit Behavior
|
|
195
|
+
|
|
196
|
+
- Ctrl+C → `\x1b[?1049l` (leave alternate screen) → show goodbye → exit
|
|
197
|
+
- All terminal state restored on exit (cursor visible, normal scroll, etc.)
|
|
198
|
+
- Alternate screen means the TUI disappears on exit, revealing the original terminal — clean
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## What This Does NOT Change
|
|
203
|
+
|
|
204
|
+
- Command implementations (wallet.ts, agent.ts, etc.) — untouched
|
|
205
|
+
- Config system — untouched
|
|
206
|
+
- Daemon — untouched
|
|
207
|
+
- SDKs — untouched
|
|
208
|
+
- One-shot mode (`arc402 wallet deploy` without REPL) — untouched
|
|
209
|
+
|
|
210
|
+
Only the interactive shell rendering layer changes.
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
*Build this exactly as specified. The spec is the contract.*
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
3
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
37
|
const program_1 = require("./program");
|
|
5
38
|
const repl_1 = require("./repl");
|
|
@@ -27,6 +60,18 @@ function checkUpgrade() {
|
|
|
27
60
|
}
|
|
28
61
|
}
|
|
29
62
|
const printMode = process.argv.includes("--print");
|
|
63
|
+
// Detect if a subcommand was provided (any arg after the binary that doesn't start with -)
|
|
64
|
+
const knownSubcommands = (() => {
|
|
65
|
+
try {
|
|
66
|
+
const prog = (0, program_1.createProgram)();
|
|
67
|
+
return new Set(prog.commands.map((cmd) => cmd.name()));
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return new Set();
|
|
71
|
+
}
|
|
72
|
+
})();
|
|
73
|
+
const argv = process.argv.slice(2).filter((a) => a !== "--print");
|
|
74
|
+
const hasSubcommand = argv.some((a) => !a.startsWith("-") && knownSubcommands.has(a));
|
|
30
75
|
if (printMode) {
|
|
31
76
|
// --print mode: skip REPL entirely, suppress ANSI/spinners, run command, exit.
|
|
32
77
|
// Used by OpenClaw agents running arc402 commands via ACP.
|
|
@@ -41,8 +86,17 @@ if (printMode) {
|
|
|
41
86
|
process.exit(1);
|
|
42
87
|
});
|
|
43
88
|
}
|
|
89
|
+
else if (process.stdout.isTTY && !hasSubcommand && process.argv.length <= 2) {
|
|
90
|
+
// TTY with no subcommand — launch Ink TUI
|
|
91
|
+
checkUpgrade();
|
|
92
|
+
void Promise.resolve().then(() => __importStar(require("./tui/index"))).then(({ launchTUI }) => launchTUI()).catch((e) => {
|
|
93
|
+
console.error("TUI failed to start:", e instanceof Error ? e.message : String(e));
|
|
94
|
+
// Fallback to REPL
|
|
95
|
+
void (0, repl_1.startREPL)();
|
|
96
|
+
});
|
|
97
|
+
}
|
|
44
98
|
else if (process.argv.length <= 2) {
|
|
45
|
-
// No subcommand — enter
|
|
99
|
+
// No subcommand, not TTY — enter basic REPL fallback
|
|
46
100
|
checkUpgrade();
|
|
47
101
|
void (0, repl_1.startREPL)();
|
|
48
102
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/repl.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"AAiFA,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAgG/C"}
|