@calliopelabs/cli 0.4.5 → 0.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui-cli.d.ts +9 -2
- package/dist/ui-cli.d.ts.map +1 -1
- package/dist/ui-cli.js +183 -210
- package/dist/ui-cli.js.map +1 -1
- package/package.json +1 -1
package/dist/ui-cli.d.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Calliope CLI - Ink UI
|
|
2
|
+
* Calliope CLI - Ink UI
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Component hierarchy inspired by Claude Code:
|
|
5
|
+
* App
|
|
6
|
+
* └── TerminalChat (main hub)
|
|
7
|
+
* ├── MessageHistory (Static for messages)
|
|
8
|
+
* │ └── MessageItem (formatted messages)
|
|
9
|
+
* ├── ProcessingIndicator (animated spinner)
|
|
10
|
+
* ├── ChatInput (input line)
|
|
11
|
+
* └── StatusBar (footer)
|
|
5
12
|
*/
|
|
6
13
|
export declare function startInkCLI(options?: {
|
|
7
14
|
skipPermissions?: boolean;
|
package/dist/ui-cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-cli.d.ts","sourceRoot":"","sources":["../src/ui-cli.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ui-cli.d.ts","sourceRoot":"","sources":["../src/ui-cli.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAupBH,wBAAsB,WAAW,CAAC,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5F"}
|
package/dist/ui-cli.js
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
|
-
* Calliope CLI - Ink UI
|
|
3
|
+
* Calliope CLI - Ink UI
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Component hierarchy inspired by Claude Code:
|
|
6
|
+
* App
|
|
7
|
+
* └── TerminalChat (main hub)
|
|
8
|
+
* ├── MessageHistory (Static for messages)
|
|
9
|
+
* │ └── MessageItem (formatted messages)
|
|
10
|
+
* ├── ProcessingIndicator (animated spinner)
|
|
11
|
+
* ├── ChatInput (input line)
|
|
12
|
+
* └── StatusBar (footer)
|
|
6
13
|
*/
|
|
7
14
|
import { useState, useCallback, useRef, useEffect } from 'react';
|
|
8
15
|
import { render, Box, Text, useInput, useApp, useStdout, Static } from 'ink';
|
|
@@ -13,7 +20,9 @@ import { TOOLS, executeTool } from './tools.js';
|
|
|
13
20
|
import { getSystemPrompt, DEFAULT_MODELS } from './types.js';
|
|
14
21
|
import { getVersion, getLatestVersion, performUpgrade } from './version-check.js';
|
|
15
22
|
import { getAvailableModels } from './model-detection.js';
|
|
16
|
-
//
|
|
23
|
+
// ============================================================================
|
|
24
|
+
// Constants
|
|
25
|
+
// ============================================================================
|
|
17
26
|
const BANNER_LINES = [
|
|
18
27
|
' ██████╗ █████╗ ██╗ ██╗ ██╗ ██████╗ ██████╗ ███████╗',
|
|
19
28
|
'██╔════╝██╔══██╗██║ ██║ ██║██╔═══██╗██╔══██╗██╔════╝',
|
|
@@ -22,30 +31,7 @@ const BANNER_LINES = [
|
|
|
22
31
|
'╚██████╗██║ ██║███████╗███████╗██║╚██████╔╝██║ ███████╗',
|
|
23
32
|
' ╚═════╝╚═╝ ╚═╝╚══════╝╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚══════╝',
|
|
24
33
|
];
|
|
25
|
-
// Format helpers
|
|
26
|
-
const formatTokens = (n) => n >= 1000 ? `${(n / 1000).toFixed(1)}K` : String(n);
|
|
27
|
-
const formatCost = (c) => c < 0.01 ? '<$0.01' : `$${c.toFixed(2)}`;
|
|
28
|
-
const formatTime = (d) => {
|
|
29
|
-
const s = Math.floor((Date.now() - d.getTime()) / 1000);
|
|
30
|
-
if (s < 60)
|
|
31
|
-
return `${s}s`;
|
|
32
|
-
const m = Math.floor(s / 60);
|
|
33
|
-
return m < 60 ? `${m}m` : `${Math.floor(m / 60)}h${m % 60}m`;
|
|
34
|
-
};
|
|
35
|
-
// Spinner frames
|
|
36
34
|
const SPINNER_FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
37
|
-
// Animated Spinner component
|
|
38
|
-
function Spinner({ label }) {
|
|
39
|
-
const [frame, setFrame] = useState(0);
|
|
40
|
-
useEffect(() => {
|
|
41
|
-
const timer = setInterval(() => {
|
|
42
|
-
setFrame(f => (f + 1) % SPINNER_FRAMES.length);
|
|
43
|
-
}, 80);
|
|
44
|
-
return () => clearInterval(timer);
|
|
45
|
-
}, []);
|
|
46
|
-
return (_jsxs(Text, { children: [_jsx(Text, { color: "cyan", children: SPINNER_FRAMES[frame] }), _jsxs(Text, { dimColor: true, children: [" ", label] })] }));
|
|
47
|
-
}
|
|
48
|
-
// Tool icons
|
|
49
35
|
const TOOL_ICONS = {
|
|
50
36
|
shell: '⚡',
|
|
51
37
|
read_file: '📄',
|
|
@@ -53,154 +39,186 @@ const TOOL_ICONS = {
|
|
|
53
39
|
list_files: '📁',
|
|
54
40
|
think: '💭',
|
|
55
41
|
};
|
|
56
|
-
//
|
|
57
|
-
|
|
42
|
+
// ============================================================================
|
|
43
|
+
// Utility Components
|
|
44
|
+
// ============================================================================
|
|
45
|
+
function Separator() {
|
|
58
46
|
const { stdout } = useStdout();
|
|
59
|
-
|
|
47
|
+
const width = stdout?.columns || 80;
|
|
48
|
+
return _jsx(Text, { dimColor: true, children: '─'.repeat(width) });
|
|
60
49
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
50
|
+
function ProcessingIndicator({ label }) {
|
|
51
|
+
const [frame, setFrame] = useState(0);
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
const timer = setInterval(() => {
|
|
54
|
+
setFrame(f => (f + 1) % SPINNER_FRAMES.length);
|
|
55
|
+
}, 80);
|
|
56
|
+
return () => clearInterval(timer);
|
|
57
|
+
}, []);
|
|
58
|
+
return (_jsxs(Box, { marginY: 1, children: [_jsx(Text, { color: "cyan", children: SPINNER_FRAMES[frame] }), _jsxs(Text, { dimColor: true, children: [" ", label] })] }));
|
|
59
|
+
}
|
|
60
|
+
// ============================================================================
|
|
61
|
+
// Message Components
|
|
62
|
+
// ============================================================================
|
|
63
|
+
function MessageItem({ msg }) {
|
|
64
|
+
switch (msg.type) {
|
|
65
|
+
case 'user':
|
|
66
|
+
return (_jsx(Box, { flexDirection: "column", marginTop: 1, children: _jsxs(Text, { children: [_jsx(Text, { color: "cyan", children: "\u203A" }), " ", msg.content] }) }));
|
|
67
|
+
case 'assistant': {
|
|
68
|
+
const lines = msg.content.split('\n');
|
|
69
|
+
return (_jsxs(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, children: [_jsx(Text, { color: "cyan", children: "\u2727 Calliope:" }), _jsx(Text, { children: " " }), lines.map((line, i) => (_jsxs(Text, { children: [_jsx(Text, { color: "blue", children: "\u2502" }), " ", line] }, i)))] }));
|
|
70
|
+
}
|
|
71
|
+
case 'tool': {
|
|
72
|
+
const isToolCall = msg.content.startsWith('⚡');
|
|
73
|
+
if (isToolCall) {
|
|
74
|
+
const match = msg.content.match(/^⚡ (\w+): (.*)$/);
|
|
75
|
+
if (match) {
|
|
76
|
+
const [, toolName, preview] = match;
|
|
77
|
+
const icon = TOOL_ICONS[toolName] || '⚙️';
|
|
78
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "\u256D\u2500" }), " ", icon, " ", _jsx(Text, { color: "yellow", children: toolName })] }), _jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "\u2502" }), " ", _jsx(Text, { dimColor: true, children: preview })] })] }));
|
|
79
|
+
}
|
|
79
80
|
}
|
|
81
|
+
// Tool result
|
|
82
|
+
const lines = msg.content.split('\n').slice(0, 5);
|
|
83
|
+
const hasMore = msg.content.split('\n').length > 5;
|
|
84
|
+
const hasError = msg.content.toLowerCase().includes('error');
|
|
85
|
+
return (_jsxs(Box, { flexDirection: "column", children: [lines.map((line, i) => (_jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "\u2502" }), " ", _jsx(Text, { dimColor: true, children: line.substring(0, 100) })] }, i))), hasMore && _jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "\u2502" }), " ", _jsx(Text, { dimColor: true, children: "..." })] }), _jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "\u2570\u2500" }), " ", hasError ? _jsx(Text, { color: "red", children: "\u2717" }) : _jsx(Text, { color: "green", children: "\u2713" })] })] }));
|
|
80
86
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
if (msg.type === 'system') {
|
|
88
|
-
return _jsx(Text, { color: "yellow", children: msg.content });
|
|
87
|
+
case 'system':
|
|
88
|
+
return _jsx(Text, { color: "yellow", children: msg.content });
|
|
89
|
+
case 'error':
|
|
90
|
+
return _jsxs(Text, { color: "red", children: ["\u2717 ", msg.content] });
|
|
91
|
+
default:
|
|
92
|
+
return _jsx(Text, { children: msg.content });
|
|
89
93
|
}
|
|
90
|
-
// error
|
|
91
|
-
return _jsxs(Text, { color: "red", children: ["\u2717 ", msg.content] });
|
|
92
94
|
}
|
|
93
|
-
function
|
|
94
|
-
|
|
95
|
+
function MessageHistory({ messages }) {
|
|
96
|
+
return (_jsx(Static, { items: messages, children: (msg) => (_jsx(Box, { children: _jsx(MessageItem, { msg: msg }) }, msg.id)) }));
|
|
97
|
+
}
|
|
98
|
+
// ============================================================================
|
|
99
|
+
// Modal Components
|
|
100
|
+
// ============================================================================
|
|
101
|
+
function ModelSelector({ models, onSelect, onCancel }) {
|
|
102
|
+
const [index, setIndex] = useState(0);
|
|
95
103
|
const pageSize = 10;
|
|
96
104
|
const start = Math.max(0, Math.min(index - Math.floor(pageSize / 2), models.length - pageSize));
|
|
97
105
|
const visible = models.slice(start, start + pageSize);
|
|
98
106
|
useInput((input, key) => {
|
|
99
|
-
if (key.upArrow)
|
|
107
|
+
if (key.upArrow)
|
|
100
108
|
setIndex(i => Math.max(0, i - 1));
|
|
101
|
-
|
|
102
|
-
else if (key.downArrow) {
|
|
109
|
+
else if (key.downArrow)
|
|
103
110
|
setIndex(i => Math.min(models.length - 1, i + 1));
|
|
104
|
-
|
|
105
|
-
else if (key.return) {
|
|
111
|
+
else if (key.return)
|
|
106
112
|
onSelect(models[index].id);
|
|
107
|
-
|
|
108
|
-
else if (key.escape || input === 'q') {
|
|
113
|
+
else if (key.escape || input === 'q')
|
|
109
114
|
onCancel();
|
|
110
|
-
}
|
|
111
115
|
});
|
|
112
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "yellow", children: "Select model (\u2191/\u2193 navigate, Enter select, Esc cancel):" }), visible.map((model, i) => {
|
|
116
|
+
return (_jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsx(Text, { color: "yellow", children: "Select model (\u2191/\u2193 navigate, Enter select, Esc cancel):" }), visible.map((model, i) => {
|
|
113
117
|
const globalIndex = start + i;
|
|
114
118
|
const isSelected = globalIndex === index;
|
|
115
119
|
const name = model.name || model.id;
|
|
116
120
|
const displayName = name.length > 50 ? name.slice(0, 47) + '...' : name;
|
|
117
|
-
return (
|
|
121
|
+
return (_jsxs(Text, { color: isSelected ? 'cyan' : undefined, bold: isSelected, children: [isSelected ? '❯ ' : ' ', displayName] }, model.id));
|
|
118
122
|
}), models.length > pageSize && (_jsxs(Text, { dimColor: true, children: [" (", index + 1, "/", models.length, ")"] }))] }));
|
|
119
123
|
}
|
|
120
124
|
function UpgradePrompt({ currentVersion, latestVersion, onConfirm, onCancel }) {
|
|
121
125
|
useInput((input, key) => {
|
|
122
|
-
if (input === 'y' || input === 'Y')
|
|
126
|
+
if (input === 'y' || input === 'Y')
|
|
123
127
|
onConfirm();
|
|
124
|
-
|
|
125
|
-
else if (input === 'n' || input === 'N' || key.escape) {
|
|
128
|
+
else if (input === 'n' || input === 'N' || key.escape)
|
|
126
129
|
onCancel();
|
|
127
|
-
}
|
|
128
130
|
});
|
|
129
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: "yellow", children: ["Update available: v", currentVersion, " \u2192 ", _jsxs(Text, { color: "green", children: ["v", latestVersion] })] }), _jsxs(Text, { children: ["Upgrade now? ", _jsx(Text, { color: "cyan", children: "(y/N)" })] })] }));
|
|
131
|
+
return (_jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsxs(Text, { color: "yellow", children: ["Update available: v", currentVersion, " \u2192 ", _jsxs(Text, { color: "green", children: ["v", latestVersion] })] }), _jsxs(Text, { children: ["Upgrade now? ", _jsx(Text, { color: "cyan", children: "(y/N)" })] })] }));
|
|
132
|
+
}
|
|
133
|
+
// ============================================================================
|
|
134
|
+
// Input Components
|
|
135
|
+
// ============================================================================
|
|
136
|
+
function ChatInput({ value, onChange, onSubmit, disabled }) {
|
|
137
|
+
if (disabled)
|
|
138
|
+
return null;
|
|
139
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Separator, {}), _jsxs(Box, { children: [_jsx(Text, { color: "cyan", children: "calliope" }), _jsx(Text, { dimColor: true, children: "> " }), _jsx(TextInput, { value: value, onChange: onChange, onSubmit: onSubmit })] })] }));
|
|
140
|
+
}
|
|
141
|
+
function StatusBar({ provider, model, stats }) {
|
|
142
|
+
const formatTokens = (n) => n >= 1000 ? `${(n / 1000).toFixed(1)}K` : String(n);
|
|
143
|
+
const formatCost = (c) => c < 0.01 ? '<$0.01' : `$${c.toFixed(2)}`;
|
|
144
|
+
const displayModel = model.length > 25 ? model.slice(0, 22) + '...' : model;
|
|
145
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Separator, {}), _jsxs(Text, { dimColor: true, children: [provider, ":", displayModel, ' │ ', formatTokens(stats.inputTokens + stats.outputTokens), " tokens", ' │ ', formatCost(stats.cost)] })] }));
|
|
130
146
|
}
|
|
131
|
-
//
|
|
132
|
-
|
|
147
|
+
// ============================================================================
|
|
148
|
+
// Main Chat Component
|
|
149
|
+
// ============================================================================
|
|
150
|
+
function TerminalChat() {
|
|
133
151
|
const { exit } = useApp();
|
|
134
152
|
const { stdout } = useStdout();
|
|
135
|
-
|
|
153
|
+
const width = stdout?.columns || 80;
|
|
154
|
+
// Core state
|
|
136
155
|
const [input, setInput] = useState('');
|
|
137
156
|
const [messages, setMessages] = useState([]);
|
|
138
157
|
const [isProcessing, setIsProcessing] = useState(false);
|
|
158
|
+
// Config state
|
|
139
159
|
const [provider, setProvider] = useState(config.get('defaultProvider'));
|
|
140
160
|
const [model, setModel] = useState(config.get('defaultModel'));
|
|
141
161
|
const [persona, setPersona] = useState(config.get('persona'));
|
|
142
|
-
//
|
|
143
|
-
const [
|
|
162
|
+
// Modal state
|
|
163
|
+
const [modalMode, setModalMode] = useState('none');
|
|
144
164
|
const [availableModels, setAvailableModels] = useState([]);
|
|
145
|
-
const [modelLoading, setModelLoading] = useState(false);
|
|
146
|
-
// Upgrade state
|
|
147
|
-
const [upgradeMode, setUpgradeMode] = useState(false);
|
|
148
165
|
const [latestVersion, setLatestVersion] = useState(null);
|
|
149
|
-
|
|
166
|
+
// Stats
|
|
150
167
|
const [stats, setStats] = useState({
|
|
151
|
-
provider: selectProvider(config.get('defaultProvider')),
|
|
152
|
-
model: config.get('defaultModel') || DEFAULT_MODELS[selectProvider(config.get('defaultProvider'))],
|
|
153
168
|
inputTokens: 0,
|
|
154
169
|
outputTokens: 0,
|
|
155
170
|
cost: 0,
|
|
156
|
-
|
|
157
|
-
startTime: new Date(),
|
|
171
|
+
messageCount: 0,
|
|
158
172
|
});
|
|
159
|
-
//
|
|
173
|
+
// LLM conversation history
|
|
160
174
|
const llmMessages = useRef([
|
|
161
175
|
{ role: 'system', content: getSystemPrompt(persona) }
|
|
162
176
|
]);
|
|
163
|
-
//
|
|
177
|
+
// Derived values
|
|
178
|
+
const actualProvider = selectProvider(provider);
|
|
179
|
+
const actualModel = model || DEFAULT_MODELS[actualProvider];
|
|
180
|
+
const isModalActive = modalMode !== 'none';
|
|
181
|
+
// Add message helper
|
|
164
182
|
const addMessage = useCallback((type, content) => {
|
|
165
|
-
setMessages(prev => [...prev, {
|
|
183
|
+
setMessages(prev => [...prev, {
|
|
184
|
+
id: `${Date.now()}-${Math.random().toString(36).slice(2)}`,
|
|
185
|
+
type,
|
|
186
|
+
content
|
|
187
|
+
}]);
|
|
166
188
|
}, []);
|
|
167
|
-
// Handle commands
|
|
189
|
+
// Handle slash commands
|
|
168
190
|
const handleCommand = useCallback(async (cmd) => {
|
|
169
191
|
const parts = cmd.split(/\s+/);
|
|
170
192
|
const command = parts[0].toLowerCase();
|
|
171
193
|
switch (command) {
|
|
172
194
|
case '/help':
|
|
173
195
|
case '/h':
|
|
174
|
-
addMessage('system',
|
|
175
|
-
|
|
196
|
+
addMessage('system', 'Commands: /help /provider /model /models /persona /clear /status /config /upgrade /exit\nLoop mode: use --legacy flag');
|
|
197
|
+
break;
|
|
176
198
|
case '/provider':
|
|
177
199
|
case '/p':
|
|
178
200
|
if (parts[1]) {
|
|
179
201
|
const p = parts[1].toLowerCase();
|
|
180
202
|
setProvider(p);
|
|
181
|
-
setStats(s => ({ ...s, provider: selectProvider(p) }));
|
|
182
203
|
addMessage('system', `Provider: ${selectProvider(p)}`);
|
|
183
204
|
}
|
|
184
205
|
else {
|
|
185
|
-
addMessage('system', `Provider: ${
|
|
206
|
+
addMessage('system', `Provider: ${actualProvider} | Available: ${getAvailableProviders().join(', ')}`);
|
|
186
207
|
}
|
|
187
|
-
|
|
208
|
+
break;
|
|
188
209
|
case '/model':
|
|
189
210
|
case '/m':
|
|
190
211
|
if (parts[1]) {
|
|
191
212
|
setModel(parts[1]);
|
|
192
|
-
setStats(s => ({ ...s, model: parts[1] }));
|
|
193
213
|
addMessage('system', `Model: ${parts[1]}`);
|
|
194
214
|
}
|
|
195
215
|
else {
|
|
196
|
-
|
|
197
|
-
setModelLoading(true);
|
|
198
|
-
addMessage('system', `Discovering models for ${selectProvider(provider)}...`);
|
|
216
|
+
addMessage('system', `Discovering models for ${actualProvider}...`);
|
|
199
217
|
try {
|
|
200
|
-
const models = await getAvailableModels(
|
|
218
|
+
const models = await getAvailableModels(actualProvider);
|
|
201
219
|
if (models.length > 0) {
|
|
202
220
|
setAvailableModels(models);
|
|
203
|
-
|
|
221
|
+
setModalMode('model');
|
|
204
222
|
}
|
|
205
223
|
else {
|
|
206
224
|
addMessage('error', 'No models found');
|
|
@@ -209,20 +227,15 @@ function App({ skipPermissions = false }) {
|
|
|
209
227
|
catch (e) {
|
|
210
228
|
addMessage('error', `Failed to fetch models: ${e instanceof Error ? e.message : String(e)}`);
|
|
211
229
|
}
|
|
212
|
-
finally {
|
|
213
|
-
setModelLoading(false);
|
|
214
|
-
}
|
|
215
230
|
}
|
|
216
|
-
|
|
231
|
+
break;
|
|
217
232
|
case '/models':
|
|
218
|
-
|
|
219
|
-
setModelLoading(true);
|
|
220
|
-
addMessage('system', `Discovering models for ${selectProvider(provider)}...`);
|
|
233
|
+
addMessage('system', `Discovering models for ${actualProvider}...`);
|
|
221
234
|
try {
|
|
222
|
-
const models = await getAvailableModels(
|
|
235
|
+
const models = await getAvailableModels(actualProvider);
|
|
223
236
|
if (models.length > 0) {
|
|
224
237
|
setAvailableModels(models);
|
|
225
|
-
|
|
238
|
+
setModalMode('model');
|
|
226
239
|
}
|
|
227
240
|
else {
|
|
228
241
|
addMessage('error', 'No models found');
|
|
@@ -231,10 +244,7 @@ function App({ skipPermissions = false }) {
|
|
|
231
244
|
catch (e) {
|
|
232
245
|
addMessage('error', `Failed to fetch models: ${e instanceof Error ? e.message : String(e)}`);
|
|
233
246
|
}
|
|
234
|
-
|
|
235
|
-
setModelLoading(false);
|
|
236
|
-
}
|
|
237
|
-
return true;
|
|
247
|
+
break;
|
|
238
248
|
case '/persona':
|
|
239
249
|
if (parts[1] && ['calliope', 'professional', 'minimal'].includes(parts[1])) {
|
|
240
250
|
const p = parts[1];
|
|
@@ -245,29 +255,24 @@ function App({ skipPermissions = false }) {
|
|
|
245
255
|
else {
|
|
246
256
|
addMessage('system', `Persona: ${persona} | Options: calliope, professional, minimal`);
|
|
247
257
|
}
|
|
248
|
-
|
|
258
|
+
break;
|
|
249
259
|
case '/clear':
|
|
250
260
|
case '/c':
|
|
251
261
|
setMessages([]);
|
|
252
262
|
llmMessages.current = [{ role: 'system', content: getSystemPrompt(persona) }];
|
|
253
|
-
setStats(
|
|
254
|
-
|
|
263
|
+
setStats({ inputTokens: 0, outputTokens: 0, cost: 0, messageCount: 0 });
|
|
264
|
+
break;
|
|
255
265
|
case '/status':
|
|
256
266
|
case '/s':
|
|
257
|
-
addMessage('system', `${
|
|
258
|
-
|
|
267
|
+
addMessage('system', `${actualProvider}:${actualModel} | ${stats.messageCount} msgs | ${stats.inputTokens + stats.outputTokens} tokens`);
|
|
268
|
+
break;
|
|
259
269
|
case '/config':
|
|
260
270
|
addMessage('system', `Config: ${config.getConfigPath()}\nProviders: ${config.getConfiguredProviders().join(', ') || 'none'}`);
|
|
261
|
-
|
|
271
|
+
break;
|
|
262
272
|
case '/setup':
|
|
263
|
-
addMessage('system', 'Setup requires legacy CLI mode. Run: calliope --legacy then /setup');
|
|
264
|
-
return true;
|
|
265
273
|
case '/loop':
|
|
266
|
-
addMessage('system', '
|
|
267
|
-
|
|
268
|
-
case '/cancel-loop':
|
|
269
|
-
addMessage('system', 'No active loop');
|
|
270
|
-
return true;
|
|
274
|
+
addMessage('system', 'This feature requires legacy CLI. Run: calliope --legacy');
|
|
275
|
+
break;
|
|
271
276
|
case '/upgrade':
|
|
272
277
|
addMessage('system', 'Checking for updates...');
|
|
273
278
|
try {
|
|
@@ -275,49 +280,38 @@ function App({ skipPermissions = false }) {
|
|
|
275
280
|
const latest = await getLatestVersion();
|
|
276
281
|
if (!latest) {
|
|
277
282
|
addMessage('error', 'Could not check for updates');
|
|
278
|
-
|
|
279
|
-
}
|
|
280
|
-
const currentParts = current.split('.').map(Number);
|
|
281
|
-
const latestParts = latest.split('.').map(Number);
|
|
282
|
-
let hasUpdate = false;
|
|
283
|
-
for (let i = 0; i < 3; i++) {
|
|
284
|
-
if ((latestParts[i] || 0) > (currentParts[i] || 0)) {
|
|
285
|
-
hasUpdate = true;
|
|
286
|
-
break;
|
|
287
|
-
}
|
|
288
|
-
if ((latestParts[i] || 0) < (currentParts[i] || 0))
|
|
289
|
-
break;
|
|
283
|
+
break;
|
|
290
284
|
}
|
|
291
|
-
|
|
292
|
-
|
|
285
|
+
const [cMaj, cMin, cPat] = current.split('.').map(Number);
|
|
286
|
+
const [lMaj, lMin, lPat] = latest.split('.').map(Number);
|
|
287
|
+
const hasUpdate = lMaj > cMaj || (lMaj === cMaj && lMin > cMin) || (lMaj === cMaj && lMin === cMin && lPat > cPat);
|
|
288
|
+
if (hasUpdate) {
|
|
289
|
+
setLatestVersion(latest);
|
|
290
|
+
setModalMode('upgrade');
|
|
293
291
|
}
|
|
294
292
|
else {
|
|
295
|
-
|
|
296
|
-
setUpgradeMode(true);
|
|
293
|
+
addMessage('system', `You're on the latest version (v${current})`);
|
|
297
294
|
}
|
|
298
295
|
}
|
|
299
296
|
catch (e) {
|
|
300
297
|
addMessage('error', `Failed to check for updates: ${e instanceof Error ? e.message : String(e)}`);
|
|
301
298
|
}
|
|
302
|
-
|
|
299
|
+
break;
|
|
303
300
|
case '/exit':
|
|
304
301
|
case '/quit':
|
|
305
302
|
case '/q':
|
|
306
303
|
exit();
|
|
307
|
-
|
|
304
|
+
break;
|
|
308
305
|
default:
|
|
309
|
-
addMessage('error', `Unknown command: ${command}
|
|
310
|
-
return true;
|
|
306
|
+
addMessage('error', `Unknown command: ${command}. Type /help for help.`);
|
|
311
307
|
}
|
|
312
|
-
}, [
|
|
313
|
-
// Run agent
|
|
308
|
+
}, [actualProvider, actualModel, persona, stats, addMessage, exit]);
|
|
309
|
+
// Run agent with user prompt
|
|
314
310
|
const runAgent = useCallback(async (prompt) => {
|
|
315
311
|
llmMessages.current.push({ role: 'user', content: prompt });
|
|
316
|
-
setStats(s => ({ ...s,
|
|
312
|
+
setStats(s => ({ ...s, messageCount: s.messageCount + 1 }));
|
|
317
313
|
const maxIterations = config.get('maxIterations');
|
|
318
|
-
let
|
|
319
|
-
while (iteration < maxIterations) {
|
|
320
|
-
iteration++;
|
|
314
|
+
for (let i = 0; i < maxIterations; i++) {
|
|
321
315
|
try {
|
|
322
316
|
const response = await chat(provider, llmMessages.current, TOOLS, model);
|
|
323
317
|
// Update token stats
|
|
@@ -329,7 +323,7 @@ function App({ skipPermissions = false }) {
|
|
|
329
323
|
}));
|
|
330
324
|
}
|
|
331
325
|
// Handle tool calls
|
|
332
|
-
if (response.toolCalls
|
|
326
|
+
if (response.toolCalls?.length) {
|
|
333
327
|
llmMessages.current.push({
|
|
334
328
|
role: 'assistant',
|
|
335
329
|
content: response.content,
|
|
@@ -354,13 +348,12 @@ function App({ skipPermissions = false }) {
|
|
|
354
348
|
break;
|
|
355
349
|
}
|
|
356
350
|
catch (error) {
|
|
357
|
-
|
|
358
|
-
addMessage('error', `Error: ${msg}`);
|
|
351
|
+
addMessage('error', `Error: ${error instanceof Error ? error.message : String(error)}`);
|
|
359
352
|
break;
|
|
360
353
|
}
|
|
361
354
|
}
|
|
362
355
|
}, [provider, model, addMessage]);
|
|
363
|
-
// Handle
|
|
356
|
+
// Handle input submission
|
|
364
357
|
const handleSubmit = useCallback(async (value) => {
|
|
365
358
|
const trimmed = value.trim();
|
|
366
359
|
if (!trimmed || isProcessing)
|
|
@@ -379,45 +372,25 @@ function App({ skipPermissions = false }) {
|
|
|
379
372
|
setIsProcessing(false);
|
|
380
373
|
}
|
|
381
374
|
}, [isProcessing, handleCommand, runAgent, addMessage]);
|
|
382
|
-
//
|
|
383
|
-
const [width, setWidth] = useState(stdout?.columns || 80);
|
|
384
|
-
useEffect(() => {
|
|
385
|
-
const handleResize = () => {
|
|
386
|
-
setWidth(stdout?.columns || 80);
|
|
387
|
-
};
|
|
388
|
-
process.stdout.on('resize', handleResize);
|
|
389
|
-
return () => {
|
|
390
|
-
process.stdout.off('resize', handleResize);
|
|
391
|
-
};
|
|
392
|
-
}, [stdout]);
|
|
393
|
-
// Escape to exit (but not when in model select mode)
|
|
394
|
-
useInput((_, key) => {
|
|
395
|
-
if (key.escape && !modelSelectMode)
|
|
396
|
-
exit();
|
|
397
|
-
}, { isActive: !modelSelectMode });
|
|
398
|
-
// Model selection handlers
|
|
375
|
+
// Modal handlers
|
|
399
376
|
const handleModelSelect = useCallback((selectedModel) => {
|
|
400
377
|
setModel(selectedModel);
|
|
401
|
-
setStats(s => ({ ...s, model: selectedModel }));
|
|
402
378
|
addMessage('system', `Model: ${selectedModel}`);
|
|
403
|
-
|
|
379
|
+
setModalMode('none');
|
|
404
380
|
setAvailableModels([]);
|
|
405
381
|
}, [addMessage]);
|
|
406
|
-
const
|
|
407
|
-
|
|
382
|
+
const handleModalCancel = useCallback(() => {
|
|
383
|
+
setModalMode('none');
|
|
408
384
|
setAvailableModels([]);
|
|
409
|
-
|
|
410
|
-
}, [
|
|
411
|
-
// Upgrade handlers
|
|
385
|
+
setLatestVersion(null);
|
|
386
|
+
}, []);
|
|
412
387
|
const handleUpgradeConfirm = useCallback(async () => {
|
|
413
|
-
|
|
414
|
-
setUpgrading(true);
|
|
388
|
+
setModalMode('none');
|
|
415
389
|
addMessage('system', 'Upgrading...');
|
|
416
390
|
try {
|
|
417
391
|
const success = await performUpgrade();
|
|
418
392
|
if (success) {
|
|
419
393
|
addMessage('system', 'Upgrade complete! Restarting...');
|
|
420
|
-
// Restart the CLI
|
|
421
394
|
const { spawn } = await import('child_process');
|
|
422
395
|
const child = spawn(process.argv[0], process.argv.slice(1), {
|
|
423
396
|
stdio: 'inherit',
|
|
@@ -433,49 +406,49 @@ function App({ skipPermissions = false }) {
|
|
|
433
406
|
catch (e) {
|
|
434
407
|
addMessage('error', `Upgrade failed: ${e instanceof Error ? e.message : String(e)}`);
|
|
435
408
|
}
|
|
436
|
-
finally {
|
|
437
|
-
setUpgrading(false);
|
|
438
|
-
setLatestVersion(null);
|
|
439
|
-
}
|
|
440
|
-
}, [addMessage]);
|
|
441
|
-
const handleUpgradeCancel = useCallback(() => {
|
|
442
|
-
setUpgradeMode(false);
|
|
443
409
|
setLatestVersion(null);
|
|
444
|
-
addMessage('system', 'Upgrade cancelled');
|
|
445
410
|
}, [addMessage]);
|
|
446
|
-
|
|
447
|
-
|
|
411
|
+
// Escape to exit (but not in modal)
|
|
412
|
+
useInput((_, key) => {
|
|
413
|
+
if (key.escape && !isModalActive)
|
|
414
|
+
exit();
|
|
415
|
+
}, { isActive: !isModalActive });
|
|
416
|
+
// Render
|
|
417
|
+
return (_jsxs(Box, { flexDirection: "column", width: width, children: [_jsx(MessageHistory, { messages: messages }), isProcessing && _jsx(ProcessingIndicator, { label: "Thinking..." }), modalMode === 'model' && availableModels.length > 0 && (_jsx(ModelSelector, { models: availableModels, onSelect: handleModelSelect, onCancel: handleModalCancel })), modalMode === 'upgrade' && latestVersion && (_jsx(UpgradePrompt, { currentVersion: getVersion(), latestVersion: latestVersion, onConfirm: handleUpgradeConfirm, onCancel: handleModalCancel })), _jsx(ChatInput, { value: input, onChange: setInput, onSubmit: handleSubmit, disabled: isModalActive || isProcessing }), _jsx(StatusBar, { provider: actualProvider, model: actualModel, stats: stats })] }));
|
|
418
|
+
}
|
|
419
|
+
// ============================================================================
|
|
420
|
+
// App Wrapper & Entry Point
|
|
421
|
+
// ============================================================================
|
|
422
|
+
function App() {
|
|
423
|
+
return _jsx(TerminalChat, {});
|
|
448
424
|
}
|
|
449
|
-
// ANSI colors for banner
|
|
450
|
-
const
|
|
425
|
+
// ANSI colors for pre-Ink banner
|
|
426
|
+
const ansi = {
|
|
451
427
|
reset: '\x1b[0m',
|
|
452
428
|
cyan: '\x1b[36m',
|
|
453
429
|
brightCyan: '\x1b[96m',
|
|
454
430
|
dim: '\x1b[2m',
|
|
455
431
|
};
|
|
456
|
-
// Print banner before Ink starts
|
|
457
432
|
function printBanner(provider, model) {
|
|
458
433
|
console.log();
|
|
459
|
-
console.log(`${
|
|
460
|
-
console.log(`${
|
|
461
|
-
console.log(`${
|
|
462
|
-
console.log(`${
|
|
463
|
-
console.log(`${
|
|
464
|
-
console.log(`${
|
|
434
|
+
console.log(`${ansi.brightCyan}${BANNER_LINES[0]}${ansi.reset}`);
|
|
435
|
+
console.log(`${ansi.brightCyan}${BANNER_LINES[1]}${ansi.reset}`);
|
|
436
|
+
console.log(`${ansi.cyan}${BANNER_LINES[2]}${ansi.reset}`);
|
|
437
|
+
console.log(`${ansi.cyan}${BANNER_LINES[3]}${ansi.reset}`);
|
|
438
|
+
console.log(`${ansi.brightCyan}${BANNER_LINES[4]}${ansi.reset}`);
|
|
439
|
+
console.log(`${ansi.cyan}${BANNER_LINES[5]}${ansi.reset}`);
|
|
465
440
|
console.log();
|
|
466
|
-
console.log(`${
|
|
441
|
+
console.log(`${ansi.dim} The Muse of Digital Eloquence${ansi.reset}`);
|
|
467
442
|
console.log();
|
|
468
|
-
console.log(` ${
|
|
469
|
-
console.log(` ${
|
|
443
|
+
console.log(` ${ansi.dim}v${getVersion()} | ${provider}:${model}${ansi.reset}`);
|
|
444
|
+
console.log(` ${ansi.dim}/help for commands | ESC to exit${ansi.reset}`);
|
|
470
445
|
console.log();
|
|
471
446
|
}
|
|
472
|
-
// Export start function
|
|
473
447
|
export async function startInkCLI(options = {}) {
|
|
474
|
-
// Print banner before Ink takes over
|
|
475
448
|
const provider = selectProvider(config.get('defaultProvider'));
|
|
476
449
|
const model = config.get('defaultModel') || DEFAULT_MODELS[provider];
|
|
477
450
|
printBanner(provider, model);
|
|
478
|
-
const { waitUntilExit } = render(_jsx(App, {
|
|
451
|
+
const { waitUntilExit } = render(_jsx(App, {}));
|
|
479
452
|
await waitUntilExit();
|
|
480
453
|
}
|
|
481
454
|
//# sourceMappingURL=ui-cli.js.map
|
package/dist/ui-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-cli.js","sourceRoot":"","sources":["../src/ui-cli.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui-cli.js","sourceRoot":"","sources":["../src/ui-cli.tsx"],"names":[],"mappings":"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"}
|