@calliopelabs/cli 0.4.6 → 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 CHANGED
@@ -1,7 +1,14 @@
1
1
  /**
2
- * Calliope CLI - Ink UI Integration
2
+ * Calliope CLI - Ink UI
3
3
  *
4
- * Connects the ink-based UI to the existing agent/provider logic.
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;
@@ -1 +1 @@
1
- {"version":3,"file":"ui-cli.d.ts","sourceRoot":"","sources":["../src/ui-cli.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAopBH,wBAAsB,WAAW,CAAC,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5F"}
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 Integration
3
+ * Calliope CLI - Ink UI
4
4
  *
5
- * Connects the ink-based UI to the existing agent/provider logic.
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
- // ASCII Banner
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
- // Separator
57
- function Sep() {
42
+ // ============================================================================
43
+ // Utility Components
44
+ // ============================================================================
45
+ function Separator() {
58
46
  const { stdout } = useStdout();
59
- return _jsx(Text, { dimColor: true, children: '─'.repeat(stdout?.columns || 80) });
47
+ const width = stdout?.columns || 80;
48
+ return _jsx(Text, { dimColor: true, children: '─'.repeat(width) });
60
49
  }
61
- // Message component with nice formatting
62
- function Message({ msg }) {
63
- if (msg.type === 'user') {
64
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: " " }), _jsxs(Text, { children: [_jsx(Text, { color: "cyan", children: "\u203A" }), " ", msg.content] })] }));
65
- }
66
- if (msg.type === 'assistant') {
67
- const lines = msg.content.split('\n');
68
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: " " }), _jsx(Text, { 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))), _jsx(Text, { children: " " })] }));
69
- }
70
- if (msg.type === 'tool') {
71
- // Parse tool message format: "⚡ tool_name: preview" or just result lines
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 })] })] }));
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
- // 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" })] })] }));
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 ModelSelector({ models, selectedIndex, onSelect, onCancel }) {
94
- const [index, setIndex] = useState(selectedIndex);
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 (_jsx(Box, { children: _jsxs(Text, { color: isSelected ? 'cyan' : undefined, bold: isSelected, children: [isSelected ? '❯ ' : ' ', displayName] }) }, model.id));
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
- // Main App
132
- function App({ skipPermissions = false }) {
147
+ // ============================================================================
148
+ // Main Chat Component
149
+ // ============================================================================
150
+ function TerminalChat() {
133
151
  const { exit } = useApp();
134
152
  const { stdout } = useStdout();
135
- // State
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
- // Model selection state
143
- const [modelSelectMode, setModelSelectMode] = useState(false);
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
- const [upgrading, setUpgrading] = useState(false);
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
- messages: 0,
157
- startTime: new Date(),
171
+ messageCount: 0,
158
172
  });
159
- // Conversation history for LLM
173
+ // LLM conversation history
160
174
  const llmMessages = useRef([
161
175
  { role: 'system', content: getSystemPrompt(persona) }
162
176
  ]);
163
- // Add UI message
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, { id: `${Date.now()}-${Math.random()}`, type, content }]);
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', `Commands: /help /provider /model /models /persona /clear /status /config /upgrade /exit\nLoop mode: use --legacy flag`);
175
- return true;
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: ${selectProvider(provider)} | Available: ${getAvailableProviders().join(', ')}`);
206
+ addMessage('system', `Provider: ${actualProvider} | Available: ${getAvailableProviders().join(', ')}`);
186
207
  }
187
- return true;
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
- // Trigger inline model selection
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(selectProvider(provider));
218
+ const models = await getAvailableModels(actualProvider);
201
219
  if (models.length > 0) {
202
220
  setAvailableModels(models);
203
- setModelSelectMode(true);
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
- return true;
231
+ break;
217
232
  case '/models':
218
- // Trigger inline model selection
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(selectProvider(provider));
235
+ const models = await getAvailableModels(actualProvider);
223
236
  if (models.length > 0) {
224
237
  setAvailableModels(models);
225
- setModelSelectMode(true);
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
- finally {
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
- return true;
258
+ break;
249
259
  case '/clear':
250
260
  case '/c':
251
261
  setMessages([]);
252
262
  llmMessages.current = [{ role: 'system', content: getSystemPrompt(persona) }];
253
- setStats(s => ({ ...s, messages: 0, inputTokens: 0, outputTokens: 0, cost: 0 }));
254
- return true;
263
+ setStats({ inputTokens: 0, outputTokens: 0, cost: 0, messageCount: 0 });
264
+ break;
255
265
  case '/status':
256
266
  case '/s':
257
- addMessage('system', `${selectProvider(provider)}:${model || DEFAULT_MODELS[selectProvider(provider)]} | ${stats.messages} msgs | ${formatTokens(stats.inputTokens + stats.outputTokens)} tokens | ${formatCost(stats.cost)}`);
258
- return true;
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
- return true;
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', 'Loop mode requires legacy CLI. Run: calliope --legacy');
267
- return true;
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
- return true;
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
- if (!hasUpdate) {
292
- addMessage('system', `You're on the latest version (v${current})`);
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
- setLatestVersion(latest);
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
- return true;
299
+ break;
303
300
  case '/exit':
304
301
  case '/quit':
305
302
  case '/q':
306
303
  exit();
307
- return true;
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
- }, [provider, model, persona, stats, addMessage, exit]);
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, messages: s.messages + 1 }));
312
+ setStats(s => ({ ...s, messageCount: s.messageCount + 1 }));
317
313
  const maxIterations = config.get('maxIterations');
318
- let iteration = 0;
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 && response.toolCalls.length > 0) {
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
- const msg = error instanceof Error ? error.message : String(error);
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 submit
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
- // Track terminal width for resize
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
- setModelSelectMode(false);
379
+ setModalMode('none');
404
380
  setAvailableModels([]);
405
381
  }, [addMessage]);
406
- const handleModelCancel = useCallback(() => {
407
- setModelSelectMode(false);
382
+ const handleModalCancel = useCallback(() => {
383
+ setModalMode('none');
408
384
  setAvailableModels([]);
409
- addMessage('system', 'Model selection cancelled');
410
- }, [addMessage]);
411
- // Upgrade handlers
385
+ setLatestVersion(null);
386
+ }, []);
412
387
  const handleUpgradeConfirm = useCallback(async () => {
413
- setUpgradeMode(false);
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
- const actualModel = model || DEFAULT_MODELS[selectProvider(provider)];
447
- return (_jsxs(Box, { flexDirection: "column", width: width, children: [_jsx(Static, { items: messages, children: (msg) => (_jsx(Box, { marginBottom: msg.type === 'assistant' ? 1 : 0, children: _jsx(Message, { msg: msg }) }, msg.id)) }), isProcessing && _jsx(Spinner, { label: "Thinking..." }), modelLoading && _jsx(Spinner, { label: "Loading models..." }), modelSelectMode && availableModels.length > 0 && (_jsx(ModelSelector, { models: availableModels, selectedIndex: 0, onSelect: handleModelSelect, onCancel: handleModelCancel })), upgradeMode && latestVersion && (_jsx(UpgradePrompt, { currentVersion: getVersion(), latestVersion: latestVersion, onConfirm: handleUpgradeConfirm, onCancel: handleUpgradeCancel })), upgrading && _jsx(Text, { color: "yellow", children: "\u280B Upgrading..." }), !modelSelectMode && !upgradeMode && !upgrading && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Sep, {}), _jsxs(Box, { children: [_jsx(Text, { color: "cyan", children: "calliope" }), _jsx(Text, { dimColor: true, children: "> " }), _jsx(TextInput, { value: input, onChange: setInput, onSubmit: handleSubmit })] })] })), _jsxs(Box, { flexDirection: "column", children: [_jsx(Sep, {}), _jsxs(Text, { dimColor: true, children: [selectProvider(provider), ":", actualModel.length > 25 ? actualModel.slice(0, 22) + '...' : actualModel, ' │ ', formatTokens(stats.inputTokens + stats.outputTokens), " tokens", ' │ ', formatCost(stats.cost)] })] })] }));
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 c = {
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(`${c.brightCyan}${BANNER_LINES[0]}${c.reset}`);
460
- console.log(`${c.brightCyan}${BANNER_LINES[1]}${c.reset}`);
461
- console.log(`${c.cyan}${BANNER_LINES[2]}${c.reset}`);
462
- console.log(`${c.cyan}${BANNER_LINES[3]}${c.reset}`);
463
- console.log(`${c.brightCyan}${BANNER_LINES[4]}${c.reset}`);
464
- console.log(`${c.cyan}${BANNER_LINES[5]}${c.reset}`);
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(`${c.dim} The Muse of Digital Eloquence${c.reset}`);
441
+ console.log(`${ansi.dim} The Muse of Digital Eloquence${ansi.reset}`);
467
442
  console.log();
468
- console.log(` ${c.dim}v${getVersion()} | ${provider}:${model}${c.reset}`);
469
- console.log(` ${c.dim}/help for commands | ESC to exit${c.reset}`);
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, { skipPermissions: options.skipPermissions }));
451
+ const { waitUntilExit } = render(_jsx(App, {}));
479
452
  await waitUntilExit();
480
453
  }
481
454
  //# sourceMappingURL=ui-cli.js.map
@@ -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":";AAAA;;;;;;;;;;;GAWG;AAEH,OAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7E,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAkB,MAAM,sBAAsB,CAAC;AAoB1E,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,MAAM,YAAY,GAAG;IACnB,8DAA8D;IAC9D,8DAA8D;IAC9D,8DAA8D;IAC9D,8DAA8D;IAC9D,8DAA8D;IAC9D,8DAA8D;CAC/D,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE1E,MAAM,UAAU,GAA2B;IACzC,KAAK,EAAE,GAAG;IACV,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,SAAS,SAAS;IAChB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;IACpC,OAAO,KAAC,IAAI,IAAC,QAAQ,kBAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAQ,CAAC;AACnD,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAE,KAAK,EAAqB;IACvD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,MAAC,GAAG,IAAC,OAAO,EAAE,CAAC,aACb,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,cAAc,CAAC,KAAK,CAAC,GAAQ,EACjD,MAAC,IAAI,IAAC,QAAQ,wBAAG,KAAK,IAAQ,IAC1B,CACP,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,SAAS,WAAW,CAAC,EAAE,GAAG,EAAsB;IAC9C,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,YACtC,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,uBAAS,OAAE,GAAG,CAAC,OAAO,IAAQ,GAClD,CACP,CAAC;QAEJ,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,aACvD,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,iCAAmB,EACrC,KAAC,IAAI,oBAAS,EACb,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,MAAC,IAAI,eAAS,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,uBAAS,OAAE,IAAI,KAApC,CAAC,CAA2C,CACxD,CAAC,IACE,CACP,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACnD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;oBACpC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;oBAC1C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,QAAQ,mCAAU,OAAE,IAAI,OAAE,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,QAAQ,GAAQ,IAAO,EACnF,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,QAAQ,6BAAS,QAAE,KAAC,IAAI,IAAC,QAAQ,kBAAE,OAAO,GAAQ,IAAO,IACjE,CACP,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,cAAc;YACd,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC7D,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACxB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,MAAC,IAAI,eAAS,KAAC,IAAI,IAAC,QAAQ,6BAAS,QAAE,KAAC,IAAI,IAAC,QAAQ,kBAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAQ,KAA1E,CAAC,CAAgF,CAC7F,CAAC,EACD,OAAO,IAAI,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,QAAQ,6BAAS,QAAE,KAAC,IAAI,IAAC,QAAQ,0BAAW,IAAO,EAC3E,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,QAAQ,mCAAU,OAAE,QAAQ,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,uBAAS,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,uBAAS,IAAQ,IACxG,CACP,CAAC;QACJ,CAAC;QAED,KAAK,QAAQ;YACX,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,GAAG,CAAC,OAAO,GAAQ,CAAC;QAEnD,KAAK,OAAO;YACV,OAAO,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,wBAAI,GAAG,CAAC,OAAO,IAAQ,CAAC;QAElD;YACE,OAAO,KAAC,IAAI,cAAE,GAAG,CAAC,OAAO,GAAQ,CAAC;IACtC,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,EAAE,QAAQ,EAA6B;IAC7D,OAAO,CACL,KAAC,MAAM,IAAC,KAAK,EAAE,QAAQ,YACpB,CAAC,GAAG,EAAE,EAAE,CAAC,CACR,KAAC,GAAG,cACF,KAAC,WAAW,IAAC,GAAG,EAAE,GAAG,GAAI,IADjB,GAAG,CAAC,EAAE,CAEV,CACP,GACM,CACV,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,SAAS,aAAa,CAAC,EACrB,MAAM,EACN,QAAQ,EACR,QAAQ,EAKT;IACC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAChG,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;IAEtD,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,OAAO;YAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAC9C,IAAI,GAAG,CAAC,SAAS;YAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACrE,IAAI,GAAG,CAAC,MAAM;YAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aAC3C,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK,KAAK,GAAG;YAAE,QAAQ,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,aACpC,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,iFAA8D,EACjF,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBACxB,MAAM,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC;gBAC9B,MAAM,UAAU,GAAG,WAAW,KAAK,KAAK,CAAC;gBACzC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACpC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxE,OAAO,CACL,MAAC,IAAI,IAAgB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,aAC1E,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,KAD7B,KAAK,CAAC,EAAE,CAEZ,CACR,CAAC;YACJ,CAAC,CAAC,EACD,MAAM,CAAC,MAAM,GAAG,QAAQ,IAAI,CAC3B,MAAC,IAAI,IAAC,QAAQ,0BAAK,KAAK,GAAG,CAAC,OAAG,MAAM,CAAC,MAAM,SAAS,CACtD,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,cAAc,EACd,aAAa,EACb,SAAS,EACT,QAAQ,EAMT;IACC,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG;YAAE,SAAS,EAAE,CAAC;aAC3C,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM;YAAE,QAAQ,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,aACpC,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,oCACE,cAAc,cAAI,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,kBAAG,aAAa,IAAQ,IAC5E,EACP,MAAC,IAAI,gCAAc,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,sBAAa,IAAO,IACrD,CACP,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,SAAS,SAAS,CAAC,EACjB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EAMT;IACC,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,SAAS,KAAG,EACb,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,yBAAgB,EAClC,KAAC,IAAI,IAAC,QAAQ,yBAAa,EAC3B,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAI,IAC/D,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EACjB,QAAQ,EACR,KAAK,EACL,KAAK,EAKN;IACC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtF,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAE5E,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,SAAS,KAAG,EACb,MAAC,IAAI,IAAC,QAAQ,mBACX,QAAQ,OAAG,YAAY,EACvB,KAAK,EACL,YAAY,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,aACpD,KAAK,EACL,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAClB,IACH,CACP,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,SAAS,YAAY;IACnB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;IAEpC,aAAa;IACb,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAc,EAAE,CAAC,CAAC;IAC1D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,eAAe;IACf,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAc,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACrF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAqB,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IACnF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAe,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAE5E,cAAc;IACd,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAA+B,MAAM,CAAC,CAAC;IACjF,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAc,EAAE,CAAC,CAAC;IACxE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAExE,QAAQ;IACR,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe;QAC/C,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,IAAI,EAAE,CAAC;QACP,YAAY,EAAE,CAAC;KAChB,CAAC,CAAC;IAEH,2BAA2B;IAC3B,MAAM,WAAW,GAAG,MAAM,CAAe;QACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE;KACtD,CAAC,CAAC;IAEH,iBAAiB;IACjB,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,KAAK,IAAI,cAAc,CAAC,cAAc,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,SAAS,KAAK,MAAM,CAAC;IAE3C,qBAAqB;IACrB,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,IAAuB,EAAE,OAAe,EAAE,EAAE;QAC1E,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;gBAC5B,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBAC1D,IAAI;gBACJ,OAAO;aACR,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,wBAAwB;IACxB,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,EAAE,GAAW,EAAiB,EAAE;QACrE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAEvC,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,OAAO,CAAC;YACb,KAAK,IAAI;gBACP,UAAU,CAAC,QAAQ,EAAE,uHAAuH,CAAC,CAAC;gBAC9I,MAAM;YAER,KAAK,WAAW,CAAC;YACjB,KAAK,IAAI;gBACP,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACb,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAiB,CAAC;oBAChD,WAAW,CAAC,CAAC,CAAC,CAAC;oBACf,UAAU,CAAC,QAAQ,EAAE,aAAa,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,QAAQ,EAAE,aAAa,cAAc,iBAAiB,qBAAqB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACzG,CAAC;gBACD,MAAM;YAER,KAAK,QAAQ,CAAC;YACd,KAAK,IAAI;gBACP,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACb,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnB,UAAU,CAAC,QAAQ,EAAE,UAAU,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,QAAQ,EAAE,0BAA0B,cAAc,KAAK,CAAC,CAAC;oBACpE,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,cAAc,CAAC,CAAC;wBACxD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACtB,kBAAkB,CAAC,MAAM,CAAC,CAAC;4BAC3B,YAAY,CAAC,OAAO,CAAC,CAAC;wBACxB,CAAC;6BAAM,CAAC;4BACN,UAAU,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;wBACzC,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,UAAU,CAAC,OAAO,EAAE,2BAA2B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC/F,CAAC;gBACH,CAAC;gBACD,MAAM;YAER,KAAK,SAAS;gBACZ,UAAU,CAAC,QAAQ,EAAE,0BAA0B,cAAc,KAAK,CAAC,CAAC;gBACpE,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,cAAc,CAAC,CAAC;oBACxD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtB,kBAAkB,CAAC,MAAM,CAAC,CAAC;wBAC3B,YAAY,CAAC,OAAO,CAAC,CAAC;oBACxB,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,UAAU,CAAC,OAAO,EAAE,2BAA2B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC/F,CAAC;gBACD,MAAM;YAER,KAAK,UAAU;gBACb,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3E,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAiB,CAAC;oBACnC,UAAU,CAAC,CAAC,CAAC,CAAC;oBACd,WAAW,CAAC,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACxE,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,QAAQ,EAAE,YAAY,OAAO,6CAA6C,CAAC,CAAC;gBACzF,CAAC;gBACD,MAAM;YAER,KAAK,QAAQ,CAAC;YACd,KAAK,IAAI;gBACP,WAAW,CAAC,EAAE,CAAC,CAAC;gBAChB,WAAW,CAAC,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC9E,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;gBACxE,MAAM;YAER,KAAK,SAAS,CAAC;YACf,KAAK,IAAI;gBACP,UAAU,CAAC,QAAQ,EAAE,GAAG,cAAc,IAAI,WAAW,MAAM,KAAK,CAAC,YAAY,WAAW,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,YAAY,SAAS,CAAC,CAAC;gBACzI,MAAM;YAER,KAAK,SAAS;gBACZ,UAAU,CAAC,QAAQ,EAAE,WAAW,MAAM,CAAC,aAAa,EAAE,gBAAgB,MAAM,CAAC,sBAAsB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;gBAC9H,MAAM;YAER,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO;gBACV,UAAU,CAAC,QAAQ,EAAE,0DAA0D,CAAC,CAAC;gBACjF,MAAM;YAER,KAAK,UAAU;gBACb,UAAU,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;gBAChD,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;oBAC7B,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;oBACxC,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,UAAU,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC;wBACnD,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC1D,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACzD,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC;oBAEnH,IAAI,SAAS,EAAE,CAAC;wBACd,gBAAgB,CAAC,MAAM,CAAC,CAAC;wBACzB,YAAY,CAAC,SAAS,CAAC,CAAC;oBAC1B,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,QAAQ,EAAE,kCAAkC,OAAO,GAAG,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,UAAU,CAAC,OAAO,EAAE,gCAAgC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpG,CAAC;gBACD,MAAM;YAER,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,IAAI;gBACP,IAAI,EAAE,CAAC;gBACP,MAAM;YAER;gBACE,UAAU,CAAC,OAAO,EAAE,oBAAoB,OAAO,wBAAwB,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;IAEpE,6BAA6B;IAC7B,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,MAAc,EAAE,EAAE;QACpD,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5D,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAE5D,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAElD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAEzE,qBAAqB;gBACrB,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACnB,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACb,GAAG,CAAC;wBACJ,WAAW,EAAE,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,KAAM,CAAC,WAAW;wBACxD,YAAY,EAAE,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAM,CAAC,YAAY;qBAC5D,CAAC,CAAC,CAAC;gBACN,CAAC;gBAED,oBAAoB;gBACpB,IAAI,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;oBAC/B,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;wBACvB,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;qBAC9B,CAAC,CAAC;oBAEH,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;wBAC1C,UAAU,CAAC,MAAM,EAAE,KAAK,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,SAAS,CAAC,OAAO,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;wBAC5G,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;wBAE1D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACjE,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAEpF,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;4BACvB,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE,MAAM,CAAC,MAAM;4BACtB,UAAU,EAAE,QAAQ,CAAC,EAAE;yBACxB,CAAC,CAAC;oBACL,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,iBAAiB;gBACjB,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC3E,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC1C,MAAM;YAER,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,OAAO,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACxF,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAElC,0BAA0B;IAC1B,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,EAAE,KAAa,EAAE,EAAE;QACvD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,IAAI,YAAY;YAAE,OAAO;QAErC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEb,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5B,eAAe,CAAC,IAAI,CAAC,CAAC;QAEtB,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAExD,iBAAiB;IACjB,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,aAAqB,EAAE,EAAE;QAC9D,QAAQ,CAAC,aAAa,CAAC,CAAC;QACxB,UAAU,CAAC,QAAQ,EAAE,UAAU,aAAa,EAAE,CAAC,CAAC;QAChD,YAAY,CAAC,MAAM,CAAC,CAAC;QACrB,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrB,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACvB,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,oBAAoB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAClD,YAAY,CAAC,MAAM,CAAC,CAAC;QACrB,UAAU,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;YACvC,IAAI,OAAO,EAAE,CAAC;gBACZ,UAAU,CAAC,QAAQ,EAAE,iCAAiC,CAAC,CAAC;gBACxD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;gBAChD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBAC1D,KAAK,EAAE,SAAS;oBAChB,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBACH,KAAK,CAAC,KAAK,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,OAAO,EAAE,8DAA8D,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,oCAAoC;IACpC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QAClB,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa;YAAE,IAAI,EAAE,CAAC;IAC3C,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;IAEjC,SAAS;IACT,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAE,KAAK,aAEtC,KAAC,cAAc,IAAC,QAAQ,EAAE,QAAQ,GAAI,EAGrC,YAAY,IAAI,KAAC,mBAAmB,IAAC,KAAK,EAAC,aAAa,GAAG,EAG3D,SAAS,KAAK,OAAO,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,CACtD,KAAC,aAAa,IACZ,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,iBAAiB,GAC3B,CACH,EAGA,SAAS,KAAK,SAAS,IAAI,aAAa,IAAI,CAC3C,KAAC,aAAa,IACZ,cAAc,EAAE,UAAU,EAAE,EAC5B,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,iBAAiB,GAC3B,CACH,EAGD,KAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,aAAa,IAAI,YAAY,GACvC,EAGF,KAAC,SAAS,IACR,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,KAAK,GACZ,IACE,CACP,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E,SAAS,GAAG;IACV,OAAO,KAAC,YAAY,KAAG,CAAC;AAC1B,CAAC;AAED,iCAAiC;AACjC,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,UAAU;IAChB,UAAU,EAAE,UAAU;IACtB,GAAG,EAAE,SAAS;CACf,CAAC;AAEF,SAAS,WAAW,CAAC,QAAgB,EAAE,KAAa;IAClD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,wCAAwC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,mCAAmC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAyC,EAAE;IAC3E,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;IAErE,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE7B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,KAAC,GAAG,KAAG,CAAC,CAAC;IAC1C,MAAM,aAAa,EAAE,CAAC;AACxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@calliopelabs/cli",
3
- "version": "0.4.6",
3
+ "version": "0.4.7",
4
4
  "description": "Calliope - Multi-model AI agent CLI with Ralph Wiggum autonomous loops",
5
5
  "keywords": [
6
6
  "ai",