xibecode 0.0.9 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +1 -1
  2. package/dist/commands/chat.d.ts +1 -0
  3. package/dist/commands/chat.d.ts.map +1 -1
  4. package/dist/commands/chat.js +132 -49
  5. package/dist/commands/chat.js.map +1 -1
  6. package/dist/commands/config.d.ts.map +1 -1
  7. package/dist/commands/config.js +268 -174
  8. package/dist/commands/config.js.map +1 -1
  9. package/dist/commands/run.d.ts +1 -0
  10. package/dist/commands/run.d.ts.map +1 -1
  11. package/dist/commands/run.js +2 -1
  12. package/dist/commands/run.js.map +1 -1
  13. package/dist/commands/tui.d.ts +9 -0
  14. package/dist/commands/tui.d.ts.map +1 -0
  15. package/dist/commands/tui.js +83 -0
  16. package/dist/commands/tui.js.map +1 -0
  17. package/dist/core/agent.d.ts +14 -1
  18. package/dist/core/agent.d.ts.map +1 -1
  19. package/dist/core/agent.js +91 -4
  20. package/dist/core/agent.js.map +1 -1
  21. package/dist/index.js +3 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/tui/InkApp.d.ts +21 -0
  24. package/dist/tui/InkApp.d.ts.map +1 -0
  25. package/dist/tui/InkApp.js +146 -0
  26. package/dist/tui/InkApp.js.map +1 -0
  27. package/dist/tui/MarkdownMessage.d.ts +16 -0
  28. package/dist/tui/MarkdownMessage.d.ts.map +1 -0
  29. package/dist/tui/MarkdownMessage.js +63 -0
  30. package/dist/tui/MarkdownMessage.js.map +1 -0
  31. package/dist/tui/blessed-chat.d.ts +9 -0
  32. package/dist/tui/blessed-chat.d.ts.map +1 -0
  33. package/dist/tui/blessed-chat.js +887 -0
  34. package/dist/tui/blessed-chat.js.map +1 -0
  35. package/dist/tui/markdown-to-blessed.d.ts +6 -0
  36. package/dist/tui/markdown-to-blessed.d.ts.map +1 -0
  37. package/dist/tui/markdown-to-blessed.js +26 -0
  38. package/dist/tui/markdown-to-blessed.js.map +1 -0
  39. package/dist/ui/enhanced-tui.js +1 -1
  40. package/dist/ui/ink/App.d.ts +25 -0
  41. package/dist/ui/ink/App.d.ts.map +1 -0
  42. package/dist/ui/ink/App.js +372 -0
  43. package/dist/ui/ink/App.js.map +1 -0
  44. package/dist/utils/config.d.ts +12 -2
  45. package/dist/utils/config.d.ts.map +1 -1
  46. package/dist/utils/config.js +41 -5
  47. package/dist/utils/config.js.map +1 -1
  48. package/package.json +6 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blessed-chat.js","sourceRoot":"","sources":["../../src/tui/blessed-chat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Convert markdown text into a string containing ANSI escape sequences that
3
+ * render nicely in a terminal (and thus inside blessed boxes).
4
+ */
5
+ export declare function renderMarkdownToAnsi(markdown: string): string;
6
+ //# sourceMappingURL=markdown-to-blessed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-to-blessed.d.ts","sourceRoot":"","sources":["../../src/tui/markdown-to-blessed.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAU7D"}
@@ -0,0 +1,26 @@
1
+ import { marked } from 'marked';
2
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
3
+ // @ts-ignore - marked-terminal doesn't ship official types, see src/types/marked-terminal.d.ts
4
+ import TerminalRenderer from 'marked-terminal';
5
+ // Configure marked to render to ANSI suitable for terminal output
6
+ const renderer = new TerminalRenderer({
7
+ colors: true,
8
+ headingBold: true,
9
+ });
10
+ marked.setOptions({ renderer: renderer });
11
+ /**
12
+ * Convert markdown text into a string containing ANSI escape sequences that
13
+ * render nicely in a terminal (and thus inside blessed boxes).
14
+ */
15
+ export function renderMarkdownToAnsi(markdown) {
16
+ if (!markdown.trim())
17
+ return '';
18
+ // marked.parse returns string | Promise<string>; we use the sync form here.
19
+ const result = marked.parse(markdown);
20
+ if (typeof result === 'string') {
21
+ return result;
22
+ }
23
+ // Fallback to original markdown if parser behaves unexpectedly.
24
+ return markdown;
25
+ }
26
+ //# sourceMappingURL=markdown-to-blessed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-to-blessed.js","sourceRoot":"","sources":["../../src/tui/markdown-to-blessed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,6DAA6D;AAC7D,+FAA+F;AAC/F,OAAO,gBAAgB,MAAM,iBAAiB,CAAC;AAE/C,kEAAkE;AAClE,MAAM,QAAQ,GAAG,IAAK,gBAAwB,CAAC;IAC7C,MAAM,EAAE,IAAI;IACZ,WAAW,EAAE,IAAI;CAClB,CAAC,CAAC;AAEH,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAe,EAAE,CAAC,CAAC;AAEjD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAEhC,4EAA4E;IAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAY,CAAC;IACjD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,gEAAgE;IAChE,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -2,7 +2,7 @@ import chalk from 'chalk';
2
2
  import ora from 'ora';
3
3
  import { getTheme } from './themes.js';
4
4
  // ─── Version ────────────────────────────────────────────────────
5
- const VERSION = '0.0.9';
5
+ const VERSION = '0.1.0';
6
6
  const W = 62; // box width
7
7
  // ─── Helpers ────────────────────────────────────────────────────
8
8
  function pad(str, len) {
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import type { EnhancedAgent } from '../../core/agent.js';
3
+ import type { CodingToolExecutor } from '../../core/tools.js';
4
+ import type { SessionManager, ChatSession } from '../../core/session-manager.js';
5
+ import type { ConfigManager } from '../../utils/config.js';
6
+ import type { MCPClientManager } from '../../core/mcp-client.js';
7
+ import type { ContextManager } from '../../core/context.js';
8
+ import type { AgentMode } from '../../core/modes.js';
9
+ interface AppProps {
10
+ agent: EnhancedAgent;
11
+ toolExecutor: CodingToolExecutor;
12
+ sessionManager: SessionManager;
13
+ initialSession: ChatSession;
14
+ config: ConfigManager;
15
+ mcpClientManager: MCPClientManager;
16
+ contextManager: ContextManager;
17
+ initialThemeName: string;
18
+ initialMode: AgentMode;
19
+ allModes: AgentMode[];
20
+ model: string;
21
+ cwd: string;
22
+ }
23
+ declare const InkApp: React.FC<AppProps>;
24
+ export default InkApp;
25
+ //# sourceMappingURL=App.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/ui/ink/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAmB,MAAM,+BAA+B,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAUrD,UAAU,QAAQ;IAChB,KAAK,EAAE,aAAa,CAAC;IACrB,YAAY,EAAE,kBAAkB,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,WAAW,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,SAAS,CAAC;IACvB,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAmf9B,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,372 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { Box, Text, useInput, useApp } from 'ink';
3
+ import TextInput from 'ink-text-input';
4
+ const InkApp = (props) => {
5
+ const { agent, toolExecutor, sessionManager, initialSession, config, contextManager, initialThemeName, initialMode, allModes, model, cwd, } = props;
6
+ const { exit } = useApp();
7
+ const [messages, setMessages] = useState([
8
+ {
9
+ id: 0,
10
+ role: 'system',
11
+ text: `Welcome to XibeCode TUI (Ink) - model: ${model}`,
12
+ },
13
+ ]);
14
+ const [input, setInput] = useState('');
15
+ const [thinking, setThinking] = useState(false);
16
+ const [session, setSession] = useState(initialSession);
17
+ const [mode, setMode] = useState(initialMode);
18
+ const [toolsEnabled, setToolsEnabled] = useState(true);
19
+ const [themeName] = useState(initialThemeName);
20
+ const [suggestions, setSuggestions] = useState([]);
21
+ const [selectedSuggestion, setSelectedSuggestion] = useState(null);
22
+ const [scrollOffset, setScrollOffset] = useState(0);
23
+ const [thinkingFrame, setThinkingFrame] = useState(0);
24
+ const pushMessage = (role, text) => {
25
+ setMessages((prev) => [
26
+ ...prev,
27
+ {
28
+ id: prev.length ? prev[prev.length - 1].id + 1 : 1,
29
+ role,
30
+ text,
31
+ },
32
+ ]);
33
+ };
34
+ // Wire agent events
35
+ useEffect(() => {
36
+ const handler = (event) => {
37
+ switch (event.type) {
38
+ case 'thinking':
39
+ setThinking(true);
40
+ break;
41
+ case 'stream_start':
42
+ pushMessage('assistant', '');
43
+ break;
44
+ case 'stream_text': {
45
+ const chunk = event.data.text || '';
46
+ setMessages((prev) => {
47
+ if (!prev.length)
48
+ return prev;
49
+ const last = prev[prev.length - 1];
50
+ if (last.role !== 'assistant') {
51
+ return [...prev, { id: last.id + 1, role: 'assistant', text: chunk }];
52
+ }
53
+ const updated = { ...last, text: last.text + chunk };
54
+ return [...prev.slice(0, -1), updated];
55
+ });
56
+ break;
57
+ }
58
+ case 'stream_end':
59
+ setThinking(false);
60
+ break;
61
+ case 'response':
62
+ pushMessage('assistant', event.data.text);
63
+ setThinking(false);
64
+ break;
65
+ case 'tool_call':
66
+ pushMessage('tool', `-> ${event.data.name}: ${JSON.stringify(event.data.input)}`);
67
+ break;
68
+ case 'tool_result':
69
+ pushMessage('tool', `OK ${event.data.name}: ${event.data.success ? 'ok' : 'failed'} ${event.data.result?.message ? '- ' + event.data.result.message : ''}`);
70
+ break;
71
+ case 'mode_changed':
72
+ setMode(event.data.to);
73
+ pushMessage('system', `Mode changed to ${event.data.to}`);
74
+ break;
75
+ case 'warning':
76
+ pushMessage('system', `[warning] ${event.data.message}`);
77
+ break;
78
+ case 'error':
79
+ pushMessage('system', `[error] ${event.data.message || event.data.error}`);
80
+ setThinking(false);
81
+ break;
82
+ default:
83
+ break;
84
+ }
85
+ };
86
+ agent.on('event', handler);
87
+ return () => {
88
+ agent.off('event', handler);
89
+ };
90
+ }, [agent]);
91
+ // Animated thinking indicator (spinner-like)
92
+ useEffect(() => {
93
+ if (!thinking)
94
+ return;
95
+ const frames = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
96
+ const id = setInterval(() => {
97
+ setThinkingFrame(prev => (prev + 1) % frames.length);
98
+ }, 120);
99
+ return () => clearInterval(id);
100
+ }, [thinking]);
101
+ const handleSubmit = async (forcedInput) => {
102
+ const raw = forcedInput !== undefined ? forcedInput : input;
103
+ const trimmed = raw.trim();
104
+ if (!trimmed)
105
+ return;
106
+ pushMessage('user', trimmed);
107
+ setInput('');
108
+ setSuggestions([]);
109
+ setSelectedSuggestion(null);
110
+ if (trimmed === '/exit' || trimmed === '/quit') {
111
+ const stats = agent.getStats();
112
+ await sessionManager.saveMessagesAndStats({
113
+ id: session.id,
114
+ messages: agent.getMessages(),
115
+ stats,
116
+ });
117
+ pushMessage('system', 'Goodbye!');
118
+ exit();
119
+ return;
120
+ }
121
+ if (trimmed === '/help') {
122
+ pushMessage('system', 'Commands: /help, /new, /sessions, /mode, /themes, /models, /export, /compact, /details, /thinking, /exit');
123
+ return;
124
+ }
125
+ if (trimmed === '/new') {
126
+ const newSession = await sessionManager.createSession({ model, cwd });
127
+ setSession(newSession);
128
+ agent.setMessages([]);
129
+ pushMessage('system', `Started new session: ${newSession.title}`);
130
+ return;
131
+ }
132
+ if (trimmed === '/sessions') {
133
+ const sessions = await sessionManager.listSessions();
134
+ if (!sessions.length) {
135
+ pushMessage('system', 'No saved sessions.');
136
+ return;
137
+ }
138
+ const list = sessions
139
+ .map((s) => `- ${s.id} - ${s.title} [${s.model}] (${s.updated})${s.id === session.id ? ' (current)' : ''}`)
140
+ .join('\n');
141
+ pushMessage('system', `Sessions:\n${list}\nUse /session <id> to switch in a future version.`);
142
+ return;
143
+ }
144
+ if (trimmed === '/details') {
145
+ const next = !config.getShowDetails();
146
+ config.set('showDetails', next);
147
+ pushMessage('system', `Details ${next ? 'enabled' : 'disabled'} (affects classic chat UI).`);
148
+ return;
149
+ }
150
+ if (trimmed === '/thinking') {
151
+ const next = !config.getShowThinking();
152
+ config.set('showThinking', next);
153
+ pushMessage('system', `Thinking display ${next ? 'enabled' : 'disabled'} (affects classic chat UI).`);
154
+ return;
155
+ }
156
+ if (trimmed === '/mode') {
157
+ const list = allModes.map((m) => (m === mode ? `- ${m} (current)` : `- ${m}`)).join('\n');
158
+ pushMessage('system', `Available modes:\n${list}\nPress Tab to cycle modes.`);
159
+ return;
160
+ }
161
+ // !command: run shell
162
+ if (trimmed.startsWith('!')) {
163
+ const cmd = trimmed.slice(1).trim();
164
+ if (!cmd) {
165
+ pushMessage('system', 'No command provided after "!". Example: !ls -la');
166
+ return;
167
+ }
168
+ pushMessage('system', `Running command: ${cmd}`);
169
+ const result = await toolExecutor.execute('run_command', { command: cmd, cwd, timeout: 300 });
170
+ const stdout = result.stdout || '';
171
+ const stderr = result.stderr || '';
172
+ if (stdout)
173
+ pushMessage('system', stdout);
174
+ if (stderr)
175
+ pushMessage('system', `STDERR:\n${stderr}`);
176
+ const summary = [`Shell command: ${cmd}`, '', stdout, stderr ? `STDERR:\n${stderr}` : ''].join('\n');
177
+ const tools = toolsEnabled ? toolExecutor.getTools() : [];
178
+ await agent.run(summary, tools, toolExecutor);
179
+ const stats = agent.getStats();
180
+ await sessionManager.saveMessagesAndStats({
181
+ id: session.id,
182
+ messages: agent.getMessages(),
183
+ stats,
184
+ });
185
+ return;
186
+ }
187
+ // @path: fuzzy file suggestions via context manager
188
+ if (trimmed.startsWith('@')) {
189
+ const pattern = trimmed.slice(1).trim();
190
+ const glob = pattern ? `**/*${pattern}*` : '**/*';
191
+ try {
192
+ const files = await contextManager.searchFiles(glob, { maxResults: 50 });
193
+ if (!files.length) {
194
+ pushMessage('system', `No files match ${glob}`);
195
+ }
196
+ else {
197
+ setSuggestions(files);
198
+ pushMessage('system', `Files:\n${files.map((f) => `- ${f}`).join('\n')}`);
199
+ }
200
+ }
201
+ catch (err) {
202
+ pushMessage('system', `Error searching files: ${err.message}`);
203
+ }
204
+ return;
205
+ }
206
+ // Normal chat message
207
+ const tools = toolsEnabled ? toolExecutor.getTools() : [];
208
+ try {
209
+ await agent.run(trimmed, tools, toolExecutor);
210
+ const stats = agent.getStats();
211
+ await sessionManager.saveMessagesAndStats({
212
+ id: session.id,
213
+ messages: agent.getMessages(),
214
+ stats,
215
+ });
216
+ }
217
+ catch (err) {
218
+ pushMessage('system', `[error] Failed to process message: ${err.message}`);
219
+ }
220
+ };
221
+ // Input + key handling (Tab for mode, Ctrl+C to exit)
222
+ useInput((inputKey, key) => {
223
+ if (key.ctrl && inputKey === 'c') {
224
+ exit();
225
+ }
226
+ // Scrollback inside the messages box
227
+ if (key.pageUp) {
228
+ setScrollOffset(current => {
229
+ const maxOffset = Math.max(0, messages.length - 40);
230
+ return Math.min(maxOffset, current + 5);
231
+ });
232
+ return;
233
+ }
234
+ if (key.pageDown) {
235
+ setScrollOffset(current => Math.max(0, current - 5));
236
+ return;
237
+ }
238
+ if (key.tab) {
239
+ const idx = allModes.indexOf(mode);
240
+ const next = allModes[(idx + 1 + allModes.length) % allModes.length];
241
+ setMode(next);
242
+ if (typeof agent.setModeFromUser === 'function') {
243
+ agent.setModeFromUser(next, 'User pressed Tab to cycle mode in Ink TUI');
244
+ }
245
+ pushMessage('system', `Mode: ${next} (Tab to cycle)`);
246
+ return;
247
+ }
248
+ // Navigate suggestion list with up/down when typing slash commands
249
+ if (suggestions.length > 0 && input.startsWith('/')) {
250
+ if (key.upArrow) {
251
+ setSelectedSuggestion(current => {
252
+ if (current === null)
253
+ return 0;
254
+ return current <= 0 ? suggestions.length - 1 : current - 1;
255
+ });
256
+ return;
257
+ }
258
+ if (key.downArrow) {
259
+ setSelectedSuggestion(current => {
260
+ if (current === null)
261
+ return 0;
262
+ return current >= suggestions.length - 1 ? 0 : current + 1;
263
+ });
264
+ return;
265
+ }
266
+ if (key.return) {
267
+ const index = selectedSuggestion ?? 0;
268
+ const choice = suggestions[index];
269
+ void handleSubmit(choice);
270
+ return;
271
+ }
272
+ }
273
+ // Default Enter handling when no suggestion is active
274
+ if (key.return) {
275
+ void handleSubmit();
276
+ }
277
+ });
278
+ // Suggestion hints for slash commands
279
+ useEffect(() => {
280
+ const trimmed = input.trim();
281
+ if (trimmed.startsWith('/')) {
282
+ const all = [
283
+ '/help',
284
+ '/new',
285
+ '/sessions',
286
+ '/mode',
287
+ '/themes',
288
+ '/models',
289
+ '/export',
290
+ '/compact',
291
+ '/details',
292
+ '/thinking',
293
+ '/exit',
294
+ ];
295
+ const filtered = all.filter((cmd) => cmd.startsWith(trimmed));
296
+ setSuggestions(filtered);
297
+ setSelectedSuggestion(filtered.length ? 0 : null);
298
+ }
299
+ else if (trimmed.startsWith('@')) {
300
+ // suggestions for @ are populated after search
301
+ }
302
+ else {
303
+ setSuggestions([]);
304
+ setSelectedSuggestion(null);
305
+ }
306
+ }, [input]);
307
+ const visibleCount = 40;
308
+ const maxOffset = Math.max(0, messages.length - visibleCount);
309
+ const statusThinking = thinking ? `thinking ${['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'][thinkingFrame]}` : 'idle';
310
+ const scrollInfo = maxOffset === 0 ? 'scroll: end' : `scroll: ${Math.min(scrollOffset, maxOffset)}/${maxOffset}`;
311
+ const statusLine = `model: ${model} | mode: ${mode} | session: ${session.title} | theme: ${themeName} | tools: ${toolsEnabled ? 'on' : 'off'} | ${statusThinking} | ${scrollInfo}`;
312
+ const renderMessages = () => {
313
+ const total = messages.length;
314
+ const offset = Math.min(scrollOffset, Math.max(0, total - visibleCount));
315
+ const start = Math.max(0, total - visibleCount - offset);
316
+ const end = total - offset;
317
+ const windowMessages = messages.slice(start, end);
318
+ return windowMessages.map((msg) => {
319
+ const label = msg.role === 'user'
320
+ ? 'You'
321
+ : msg.role === 'assistant'
322
+ ? 'XibeCode'
323
+ : msg.role === 'tool'
324
+ ? 'Tool'
325
+ : 'System';
326
+ if (msg.role === 'assistant') {
327
+ // Very lightweight markdown-style rendering without external deps
328
+ const lines = msg.text.split('\n');
329
+ const renderedLines = lines.map((line, idx) => {
330
+ const trimmed = line.trim();
331
+ if (trimmed.startsWith('```')) {
332
+ // Fence line: just draw a separator-style line
333
+ return React.createElement(Text, { key: `code-fence-${msg.id}-${idx}`, color: 'gray' }, '────────────────');
334
+ }
335
+ if (/^#{1,6}\s+/.test(trimmed)) {
336
+ const content = trimmed.replace(/^#{1,6}\s+/, '');
337
+ return React.createElement(Text, { key: `h-${msg.id}-${idx}`, color: 'cyanBright', bold: true }, content);
338
+ }
339
+ if (/^[-*]\s+/.test(trimmed)) {
340
+ const content = trimmed.replace(/^[-*]\s+/, '');
341
+ return React.createElement(Text, { key: `li-${msg.id}-${idx}`, color: 'white' }, `• ${content}`);
342
+ }
343
+ return React.createElement(Text, { key: `p-${msg.id}-${idx}`, color: 'white' }, line);
344
+ });
345
+ return React.createElement(Box, { key: msg.id, flexDirection: 'column' }, React.createElement(Text, { color: 'cyanBright' }, `${label}:`), ...renderedLines);
346
+ }
347
+ return React.createElement(Text, { key: msg.id }, React.createElement(Text, {
348
+ color: msg.role === 'user'
349
+ ? 'greenBright'
350
+ : msg.role === 'tool'
351
+ ? 'magentaBright'
352
+ : 'yellow',
353
+ }, `${label}: `), React.createElement(Text, null, msg.text));
354
+ });
355
+ };
356
+ const renderSuggestions = () => suggestions.length > 0
357
+ ? React.createElement(Box, { flexDirection: 'column', paddingX: 1 }, suggestions.map((s, i) => React.createElement(Text, {
358
+ key: i,
359
+ color: i === selectedSuggestion ? 'white' : 'gray',
360
+ }, `${i === selectedSuggestion ? '› ' : ' '}${s}`)))
361
+ : null;
362
+ return React.createElement(Box, { flexDirection: 'column', padding: 1 }, React.createElement(Box, null, React.createElement(Text, { color: 'cyanBright' }, '⚡ XibeCode'), React.createElement(Text, null, ' — Ink TUI '), React.createElement(Text, { color: 'gray' }, 'Press Tab to change mode, /help for commands, Ctrl+C to exit')), React.createElement(Box, { flexDirection: 'column', flexGrow: 1, marginTop: 1, borderStyle: 'round', borderColor: 'gray' }, React.createElement(Box, { flexDirection: 'column', paddingX: 1, paddingY: 0, flexGrow: 1 }, renderMessages()), React.createElement(Box, { borderStyle: 'single', borderColor: 'gray', flexDirection: 'column' }, React.createElement(Box, { paddingX: 1 }, React.createElement(Text, { color: 'gray' }, statusLine)), renderSuggestions(), React.createElement(Box, { paddingX: 1 }, React.createElement(Text, { color: 'greenBright' }, '> '), React.createElement(TextInput, {
363
+ value: input,
364
+ onChange: setInput,
365
+ // TextInput's onSubmit passes the value, but we already track via state
366
+ onSubmit: () => {
367
+ void handleSubmit();
368
+ },
369
+ })))));
370
+ };
371
+ export default InkApp;
372
+ //# sourceMappingURL=App.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/ui/ink/App.tsx"],"names":[],"mappings":"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"}
@@ -26,6 +26,13 @@ export interface XibeCodeConfig {
26
26
  testCommandOverride?: string;
27
27
  plugins?: string[];
28
28
  mcpServers?: MCPServersConfig;
29
+ provider?: 'anthropic' | 'openai';
30
+ anthropicBaseUrl?: string;
31
+ openaiBaseUrl?: string;
32
+ customModels?: {
33
+ id: string;
34
+ provider: 'anthropic' | 'openai';
35
+ }[];
29
36
  theme?: string;
30
37
  sessionDirectory?: string;
31
38
  showDetails?: boolean;
@@ -65,11 +72,14 @@ export declare class ConfigManager {
65
72
  */
66
73
  getConfigPath(): string;
67
74
  /**
68
- * Get API key from config or environment
75
+ * Get API key from config or environment.
76
+ * Supports both Anthropic and OpenAI style environment variables so
77
+ * you can switch providers just by changing the model id.
69
78
  */
70
79
  getApiKey(): string | undefined;
71
80
  /**
72
- * Get base URL from config or environment
81
+ * Get base URL from config or environment.
82
+ * Supports both Anthropic and OpenAI style environment variables.
73
83
  */
74
84
  getBaseUrl(): string | undefined;
75
85
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAGD,MAAM,WAAW,gBAAgB;IAC/B,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,CAAC;CACvC;AAGD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IACjD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,qBAAqB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B,QAAQ,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,WAAW,GAAG,QAAQ,CAAA;KAAE,EAAE,CAAC;IAEnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAwB;;IA4B9C;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,GAAG,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAI9D;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;IAI3E;;OAEG;IACH,MAAM,IAAI,cAAc;IAIxB;;OAEG;IACH,MAAM,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI;IAIpD;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;;;OAIG;IACH,SAAS,IAAI,MAAM,GAAG,SAAS;IAqB/B;;;OAGG;IACH,UAAU,IAAI,MAAM,GAAG,SAAS;IAuBhC;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,mBAAmB,IAAI,MAAM,GAAG,SAAS;IAIzC,cAAc,IAAI,OAAO;IAKzB,eAAe,IAAI,OAAO;IAK1B,mBAAmB,IAAI,MAAM;IAI7B,gBAAgB,IAAI,MAAM;IAI1B,kBAAkB,IAAI,OAAO;IAK7B,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,QAAQ,IAAI;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IA6BhD;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAQlD;;OAEG;IACH,MAAM,CAAC,gBAAgB,GAAE,OAAe,GAAG,MAAM;IAcjD;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKhC;;OAEG;IACH,OAAO,CAAC,UAAU;IAKlB;;OAEG;IACH,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAiB1C;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAgBhD;;;;OAIG;IACH,iBAAiB,IAAI,gBAAgB;IAIrC;;OAEG;IACH,wBAAwB,IAAI,qBAAqB;IAIjD;;OAEG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,GAAG,IAAI;IAYrE;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAY5C;;OAEG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAK7D;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO;CAWhF"}