nexusforge-cli 1.0.9 → 1.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.
@@ -0,0 +1,15 @@
1
+ /**
2
+ * NexusForge CLI - Main Ink App Component
3
+ *
4
+ * Full TUI with collapsible thinking sections and auto-executing commands.
5
+ */
6
+ import React from 'react';
7
+ interface AppProps {
8
+ version: string;
9
+ serverUrl: string;
10
+ model: string;
11
+ conversationId?: string;
12
+ }
13
+ export declare const App: React.FC<AppProps>;
14
+ export default App;
15
+ //# sourceMappingURL=App.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/components/App.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAA2C,MAAM,OAAO,CAAC;AAkBhE,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA2HD,eAAO,MAAM,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CA6NlC,CAAC;AAEF,eAAe,GAAG,CAAC"}
@@ -0,0 +1,249 @@
1
+ /**
2
+ * NexusForge CLI - Main Ink App Component
3
+ *
4
+ * Full TUI with collapsible thinking sections and auto-executing commands.
5
+ */
6
+ import React, { useState, useEffect, useCallback } from 'react';
7
+ import { Box, Text, useInput, useApp, useStdin } from 'ink';
8
+ import TextInput from 'ink-text-input';
9
+ import Spinner from 'ink-spinner';
10
+ import * as api from '../services/api.js';
11
+ import * as executor from '../services/executor.js';
12
+ import { COLORS } from '../utils/theme.js';
13
+ // Thinking words that cycle during AI response
14
+ const THINKING_WORDS = [
15
+ 'Contemplating', 'Analyzing', 'Processing', 'Synthesizing',
16
+ 'Evaluating', 'Computing', 'Reasoning', 'Formulating',
17
+ ];
18
+ // Progress bar component with alternating colors
19
+ const ProgressBar = ({ progress }) => {
20
+ const width = 20;
21
+ const chars = ['░', '▒', '▓', '█'];
22
+ return (React.createElement(Box, null, Array.from({ length: width }, (_, i) => {
23
+ const charIndex = (i + progress) % chars.length;
24
+ const color = i % 2 === 0 ? COLORS.tealLight : COLORS.terracotta;
25
+ return React.createElement(Text, { key: i, color: color }, chars[charIndex]);
26
+ })));
27
+ };
28
+ // Collapsible section for commands/output
29
+ const CollapsibleOutput = ({ commands, output, isExpanded, onToggle, isActive }) => {
30
+ const icon = isExpanded ? '▼' : '▶';
31
+ const summary = `Executed ${commands.length} command(s)`;
32
+ return (React.createElement(Box, { flexDirection: "column", marginY: 1 },
33
+ React.createElement(Box, null,
34
+ React.createElement(Text, { color: COLORS.tealLight },
35
+ icon,
36
+ " "),
37
+ React.createElement(Text, { color: COLORS.textMuted }, summary),
38
+ !isExpanded && isActive && (React.createElement(Text, { color: COLORS.textSecondary }, " (Tab to expand)"))),
39
+ isExpanded && (React.createElement(Box, { flexDirection: "column", marginLeft: 2, marginTop: 1 },
40
+ commands.map((cmd, i) => (React.createElement(Text, { key: i, color: COLORS.textMuted },
41
+ "$ ",
42
+ cmd))),
43
+ output && (React.createElement(Box, { marginTop: 1 },
44
+ React.createElement(Text, { color: COLORS.cream }, output)))))));
45
+ };
46
+ // Single message display
47
+ const MessageDisplay = ({ message, isActive, onToggle }) => {
48
+ if (message.role === 'user') {
49
+ return (React.createElement(Box, { marginY: 1 },
50
+ React.createElement(Text, { color: COLORS.teal, bold: true }, "You"),
51
+ React.createElement(Text, { color: COLORS.teal }, " \u276F "),
52
+ React.createElement(Text, { color: COLORS.teal }, message.content)));
53
+ }
54
+ // Assistant message - parse out commands
55
+ const bashBlockRegex = /```(?:bash|shell|sh|zsh)\n([\s\S]*?)```/g;
56
+ let displayContent = message.content;
57
+ const foundCommands = [];
58
+ let match;
59
+ while ((match = bashBlockRegex.exec(message.content)) !== null) {
60
+ foundCommands.push(...match[1].trim().split('\n').filter(l => l.trim() && !l.startsWith('#')));
61
+ }
62
+ // Remove bash blocks from display
63
+ displayContent = message.content.replace(bashBlockRegex, '').trim();
64
+ // Also handle /read commands
65
+ displayContent = displayContent.replace(/\/read\s+\S+/g, '').trim();
66
+ const hasCommands = (message.commands && message.commands.length > 0) || foundCommands.length > 0;
67
+ const commands = message.commands || foundCommands;
68
+ return (React.createElement(Box, { flexDirection: "column", marginY: 1 },
69
+ React.createElement(Box, null,
70
+ React.createElement(Text, { color: COLORS.terracotta, bold: true }, "NexusForge"),
71
+ React.createElement(Text, { color: COLORS.teal }, " \u276F")),
72
+ hasCommands && (React.createElement(CollapsibleOutput, { commands: commands, output: message.commandOutput || '', isExpanded: message.isExpanded || false, onToggle: onToggle, isActive: isActive })),
73
+ displayContent && (React.createElement(Box, { marginTop: 1 },
74
+ React.createElement(Text, { color: COLORS.cream }, displayContent)))));
75
+ };
76
+ // Main App
77
+ export const App = ({ version, serverUrl, model, conversationId: initialConversationId }) => {
78
+ const { exit } = useApp();
79
+ const { setRawMode } = useStdin();
80
+ const [messages, setMessages] = useState([]);
81
+ const [input, setInput] = useState('');
82
+ const [isLoading, setIsLoading] = useState(false);
83
+ const [streamingContent, setStreamingContent] = useState('');
84
+ const [thinkingWord, setThinkingWord] = useState(0);
85
+ const [progressIndex, setProgressIndex] = useState(0);
86
+ const [conversationId, setConversationId] = useState(initialConversationId);
87
+ const [activeMessageIndex, setActiveMessageIndex] = useState(-1);
88
+ const [showWelcome, setShowWelcome] = useState(true);
89
+ // Cycle thinking words during loading
90
+ useEffect(() => {
91
+ if (!isLoading)
92
+ return;
93
+ const wordInterval = setInterval(() => {
94
+ setThinkingWord(prev => (prev + 1) % THINKING_WORDS.length);
95
+ }, 1500);
96
+ const progressInterval = setInterval(() => {
97
+ setProgressIndex(prev => (prev + 1) % 20);
98
+ }, 80);
99
+ return () => {
100
+ clearInterval(wordInterval);
101
+ clearInterval(progressInterval);
102
+ };
103
+ }, [isLoading]);
104
+ // Handle keyboard input
105
+ useInput((inputChar, key) => {
106
+ if (isLoading)
107
+ return;
108
+ // Exit on Ctrl+C or /exit
109
+ if (key.ctrl && inputChar === 'c') {
110
+ exit();
111
+ return;
112
+ }
113
+ // Tab to toggle expand/collapse on active message
114
+ if (key.tab && activeMessageIndex >= 0) {
115
+ setMessages(prev => prev.map((msg, i) => i === activeMessageIndex ? { ...msg, isExpanded: !msg.isExpanded } : msg));
116
+ }
117
+ // Arrow up/down to navigate messages
118
+ if (key.upArrow && messages.length > 0) {
119
+ setActiveMessageIndex(prev => Math.max(0, prev - 1));
120
+ }
121
+ if (key.downArrow && messages.length > 0) {
122
+ setActiveMessageIndex(prev => Math.min(messages.length - 1, prev + 1));
123
+ }
124
+ });
125
+ // Handle input submission
126
+ const handleSubmit = useCallback(async (value) => {
127
+ const trimmed = value.trim();
128
+ if (!trimmed)
129
+ return;
130
+ setShowWelcome(false);
131
+ setInput('');
132
+ // Handle slash commands
133
+ if (trimmed.startsWith('/')) {
134
+ const [cmd, ...args] = trimmed.slice(1).split(' ');
135
+ if (cmd === 'exit' || cmd === 'quit' || cmd === 'q') {
136
+ exit();
137
+ return;
138
+ }
139
+ if (cmd === 'clear' || cmd === 'c') {
140
+ setMessages([]);
141
+ return;
142
+ }
143
+ if (cmd === 'help' || cmd === 'h') {
144
+ setMessages(prev => [...prev, {
145
+ role: 'assistant',
146
+ content: `Available commands:
147
+ /help, /h - Show help
148
+ /exit, /q - Exit CLI
149
+ /clear, /c - Clear messages
150
+ /read <path> - Read a file
151
+
152
+ Arrow keys: Navigate messages
153
+ Tab: Expand/collapse command output`
154
+ }]);
155
+ return;
156
+ }
157
+ return;
158
+ }
159
+ // Add user message
160
+ const userMessage = { role: 'user', content: trimmed };
161
+ setMessages(prev => [...prev, userMessage]);
162
+ setIsLoading(true);
163
+ setStreamingContent('');
164
+ try {
165
+ // Stream AI response
166
+ let fullResponse = '';
167
+ for await (const chunk of api.streamMessage(trimmed, conversationId, model)) {
168
+ fullResponse += chunk;
169
+ setStreamingContent(fullResponse);
170
+ }
171
+ // Parse commands from response
172
+ const commands = executor.parseCommandsFromResponse(fullResponse);
173
+ let commandOutput = '';
174
+ // Auto-execute safe commands
175
+ for (const cmd of commands) {
176
+ if (executor.isSafeCommand(cmd) && !executor.isDangerous(cmd)) {
177
+ const result = await executor.executeCommand(cmd);
178
+ commandOutput += `$ ${cmd}\n${result.stdout}${result.stderr ? '\n' + result.stderr : ''}\n`;
179
+ }
180
+ }
181
+ // Check for /read commands
182
+ const readMatches = fullResponse.match(/\/read\s+(\S+)/g);
183
+ if (readMatches) {
184
+ for (const match of readMatches) {
185
+ const filePath = match.replace('/read ', '').trim();
186
+ try {
187
+ const fs = await import('fs');
188
+ const content = fs.readFileSync(filePath, 'utf-8');
189
+ commandOutput += `--- ${filePath} ---\n${content}\n`;
190
+ }
191
+ catch (e) {
192
+ commandOutput += `Error reading ${filePath}\n`;
193
+ }
194
+ }
195
+ }
196
+ // Add assistant message
197
+ const assistantMessage = {
198
+ role: 'assistant',
199
+ content: fullResponse,
200
+ commands: commands.length > 0 ? commands : undefined,
201
+ commandOutput: commandOutput || undefined,
202
+ isExpanded: false,
203
+ };
204
+ setMessages(prev => [...prev, assistantMessage]);
205
+ setActiveMessageIndex(prev => prev + 2); // Point to new assistant message
206
+ }
207
+ catch (error) {
208
+ setMessages(prev => [...prev, {
209
+ role: 'assistant',
210
+ content: `Error: ${error instanceof Error ? error.message : 'Unknown error'}`
211
+ }]);
212
+ }
213
+ finally {
214
+ setIsLoading(false);
215
+ setStreamingContent('');
216
+ }
217
+ }, [conversationId, model, exit]);
218
+ return (React.createElement(Box, { flexDirection: "column", padding: 1 },
219
+ showWelcome && (React.createElement(Box, { flexDirection: "column", marginBottom: 1 },
220
+ React.createElement(Text, { color: COLORS.tealLight, bold: true },
221
+ "\u2550\u2550\u2550 NexusForge CLI v",
222
+ version,
223
+ " \u2550\u2550\u2550"),
224
+ React.createElement(Text, { color: COLORS.cream }, "Your AI-powered development companion"),
225
+ React.createElement(Text, { color: COLORS.textMuted },
226
+ "Connected: ",
227
+ serverUrl,
228
+ " | Model: ",
229
+ model),
230
+ React.createElement(Text, { color: COLORS.textMuted }, "Type /help for commands or start chatting!"))),
231
+ React.createElement(Box, { flexDirection: "column", marginBottom: 1 }, messages.map((msg, i) => (React.createElement(MessageDisplay, { key: i, message: msg, isActive: i === activeMessageIndex, onToggle: () => setMessages(prev => prev.map((m, j) => j === i ? { ...m, isExpanded: !m.isExpanded } : m)) })))),
232
+ isLoading && (React.createElement(Box, { flexDirection: "column", marginY: 1 },
233
+ React.createElement(Box, null,
234
+ React.createElement(Text, { color: COLORS.tealLight },
235
+ React.createElement(Spinner, { type: "dots" })),
236
+ React.createElement(Text, { color: COLORS.textMuted },
237
+ " ",
238
+ THINKING_WORDS[thinkingWord],
239
+ "...")),
240
+ React.createElement(ProgressBar, { progress: progressIndex }),
241
+ streamingContent && (React.createElement(Box, { marginTop: 1 },
242
+ React.createElement(Text, { color: COLORS.cream, dimColor: true }, streamingContent.slice(-200)))))),
243
+ !isLoading && (React.createElement(Box, null,
244
+ React.createElement(Text, { color: COLORS.teal, bold: true }, "You"),
245
+ React.createElement(Text, { color: COLORS.teal }, " \u276F "),
246
+ React.createElement(TextInput, { value: input, onChange: setInput, onSubmit: handleSubmit, placeholder: "Type a message..." })))));
247
+ };
248
+ export default App;
249
+ //# sourceMappingURL=App.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/components/App.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * ChatMessage - Renders a chat message with collapsible thinking sections
3
+ */
4
+ import React from 'react';
5
+ interface ChatMessageProps {
6
+ role: 'user' | 'assistant';
7
+ content: string;
8
+ isActive?: boolean;
9
+ }
10
+ export declare const ChatMessage: React.FC<ChatMessageProps>;
11
+ export default ChatMessage;
12
+ //# sourceMappingURL=ChatMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../src/components/ChatMessage.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAqCD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAwClD,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * ChatMessage - Renders a chat message with collapsible thinking sections
3
+ */
4
+ import React from 'react';
5
+ import { Box, Text } from 'ink';
6
+ import CollapsibleSection from './CollapsibleSection.js';
7
+ // Extract bash code blocks and other thinking content
8
+ function parseMessage(content) {
9
+ const commands = [];
10
+ let thinking = '';
11
+ let display = content;
12
+ // Extract bash blocks
13
+ const bashBlockRegex = /```(?:bash|shell|sh|zsh)\n([\s\S]*?)```/g;
14
+ let match;
15
+ while ((match = bashBlockRegex.exec(content)) !== null) {
16
+ const code = match[1].trim();
17
+ commands.push(...code.split('\n').filter(line => line.trim() && !line.trim().startsWith('#')));
18
+ thinking += `$ ${code}\n`;
19
+ }
20
+ // Remove bash blocks from display
21
+ display = content.replace(bashBlockRegex, '').trim();
22
+ // Also extract /read commands
23
+ const readMatches = content.match(/\/read\s+\S+/g);
24
+ if (readMatches) {
25
+ for (const readCmd of readMatches) {
26
+ thinking += `${readCmd}\n`;
27
+ display = display.replace(readCmd, '').trim();
28
+ }
29
+ }
30
+ return {
31
+ display,
32
+ thinking: thinking.trim() || null,
33
+ commands,
34
+ };
35
+ }
36
+ export const ChatMessage = ({ role, content, isActive = false }) => {
37
+ const parsed = parseMessage(content);
38
+ if (role === 'user') {
39
+ return (React.createElement(Box, { marginY: 1 },
40
+ React.createElement(Text, { color: "#14b8a6", bold: true }, "You"),
41
+ React.createElement(Text, { color: "#14b8a6" }, " \u276F "),
42
+ React.createElement(Text, { color: "#14b8a6" }, content)));
43
+ }
44
+ // Assistant message
45
+ return (React.createElement(Box, { flexDirection: "column", marginY: 1 },
46
+ React.createElement(Box, null,
47
+ React.createElement(Text, { color: "#c4a484", bold: true }, "NexusForge"),
48
+ React.createElement(Text, { color: "#14b8a6" }, " \u276F")),
49
+ parsed.thinking && (React.createElement(Box, { marginTop: 1 },
50
+ React.createElement(CollapsibleSection, { title: `Executed ${parsed.commands.length} command(s)`, content: parsed.thinking, isActive: isActive }))),
51
+ parsed.display && (React.createElement(Box, { marginTop: 1 },
52
+ React.createElement(Text, { color: "#faf9f6" }, parsed.display)))));
53
+ };
54
+ export default ChatMessage;
55
+ //# sourceMappingURL=ChatMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../src/components/ChatMessage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * CollapsibleSection - Expandable/collapsible content section
3
+ */
4
+ import React from 'react';
5
+ interface CollapsibleSectionProps {
6
+ title: string;
7
+ content: string;
8
+ defaultExpanded?: boolean;
9
+ isActive?: boolean;
10
+ }
11
+ export declare const CollapsibleSection: React.FC<CollapsibleSectionProps>;
12
+ export default CollapsibleSection;
13
+ //# sourceMappingURL=CollapsibleSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollapsibleSection.d.ts","sourceRoot":"","sources":["../../src/components/CollapsibleSection.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,UAAU,uBAAuB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAoChE,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * CollapsibleSection - Expandable/collapsible content section
3
+ */
4
+ import React, { useState } from 'react';
5
+ import { Box, Text, useInput } from 'ink';
6
+ export const CollapsibleSection = ({ title, content, defaultExpanded = false, isActive = false, }) => {
7
+ const [expanded, setExpanded] = useState(defaultExpanded);
8
+ useInput((input, key) => {
9
+ if (!isActive)
10
+ return;
11
+ if (key.return || input === ' ' || key.tab) {
12
+ setExpanded((prev) => !prev);
13
+ }
14
+ });
15
+ const icon = expanded ? '▼' : '▶';
16
+ const borderColor = isActive ? '#5eead4' : '#6b7280';
17
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: borderColor, paddingX: 1 },
18
+ React.createElement(Box, null,
19
+ React.createElement(Text, { color: "#5eead4" },
20
+ icon,
21
+ " "),
22
+ React.createElement(Text, { color: "#9ca3af" }, title),
23
+ !expanded && (React.createElement(Text, { color: "#6b7280" }, " (press Tab to expand)"))),
24
+ expanded && (React.createElement(Box, { flexDirection: "column", marginTop: 1, paddingLeft: 2 },
25
+ React.createElement(Text, { color: "#e2e8f0" }, content)))));
26
+ };
27
+ export default CollapsibleSection;
28
+ //# sourceMappingURL=CollapsibleSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollapsibleSection.js","sourceRoot":"","sources":["../../src/components/CollapsibleSection.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAS1C,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EACpE,KAAK,EACL,OAAO,EACP,eAAe,GAAG,KAAK,EACvB,QAAQ,GAAG,KAAK,GACjB,EAAE,EAAE;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;IAE1D,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YAC3C,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAErD,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QACnF,oBAAC,GAAG;YACF,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;gBAAE,IAAI;oBAAS;YACpC,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,IAAE,KAAK,CAAQ;YACnC,CAAC,QAAQ,IAAI,CACZ,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,6BAA8B,CACpD,CACG;QAEL,QAAQ,IAAI,CACX,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;YACtD,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS,IAAE,OAAO,CAAQ,CAClC,CACP,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * ThinkingIndicator - Animated thinking indicator with progress bar
3
+ */
4
+ import React from 'react';
5
+ interface ThinkingIndicatorProps {
6
+ isThinking: boolean;
7
+ }
8
+ export declare const ThinkingIndicator: React.FC<ThinkingIndicatorProps>;
9
+ export default ThinkingIndicator;
10
+ //# sourceMappingURL=ThinkingIndicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThinkingIndicator.d.ts","sourceRoot":"","sources":["../../src/components/ThinkingIndicator.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAqBnD,UAAU,sBAAsB;IAC9B,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA+C9D,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * ThinkingIndicator - Animated thinking indicator with progress bar
3
+ */
4
+ import React, { useState, useEffect } from 'react';
5
+ import { Box, Text } from 'ink';
6
+ import Spinner from 'ink-spinner';
7
+ // Ancient/mystical thinking words
8
+ const THINKING_WORDS = [
9
+ 'Contemplating',
10
+ 'Analyzing',
11
+ 'Processing',
12
+ 'Synthesizing',
13
+ 'Evaluating',
14
+ 'Computing',
15
+ 'Reasoning',
16
+ 'Pondering',
17
+ 'Deciphering',
18
+ 'Formulating',
19
+ ];
20
+ // Progress bar characters with alternating colors
21
+ const PROGRESS_CHARS = ['░', '▒', '▓', '█'];
22
+ export const ThinkingIndicator = ({ isThinking }) => {
23
+ const [wordIndex, setWordIndex] = useState(0);
24
+ const [progressIndex, setProgressIndex] = useState(0);
25
+ useEffect(() => {
26
+ if (!isThinking)
27
+ return;
28
+ const wordInterval = setInterval(() => {
29
+ setWordIndex((prev) => (prev + 1) % THINKING_WORDS.length);
30
+ }, 2000);
31
+ const progressInterval = setInterval(() => {
32
+ setProgressIndex((prev) => (prev + 1) % 20);
33
+ }, 100);
34
+ return () => {
35
+ clearInterval(wordInterval);
36
+ clearInterval(progressInterval);
37
+ };
38
+ }, [isThinking]);
39
+ if (!isThinking)
40
+ return null;
41
+ // Generate progress bar with alternating colors
42
+ const progressBar = Array.from({ length: 20 }, (_, i) => {
43
+ const charIndex = (i + progressIndex) % PROGRESS_CHARS.length;
44
+ const color = i % 2 === 0 ? '#5eead4' : '#c4a484'; // teal and terracotta alternating
45
+ return (React.createElement(Text, { key: i, color: color }, PROGRESS_CHARS[charIndex]));
46
+ });
47
+ return (React.createElement(Box, { flexDirection: "column", marginY: 1 },
48
+ React.createElement(Box, null,
49
+ React.createElement(Text, { color: "#5eead4" },
50
+ React.createElement(Spinner, { type: "dots" })),
51
+ React.createElement(Text, { color: "#9ca3af" },
52
+ " ",
53
+ THINKING_WORDS[wordIndex],
54
+ "...")),
55
+ React.createElement(Box, { marginTop: 1 }, progressBar)));
56
+ };
57
+ export default ThinkingIndicator;
58
+ //# sourceMappingURL=ThinkingIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThinkingIndicator.js","sourceRoot":"","sources":["../../src/components/ThinkingIndicator.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,OAAO,MAAM,aAAa,CAAC;AAElC,kCAAkC;AAClC,MAAM,cAAc,GAAG;IACrB,eAAe;IACf,WAAW;IACX,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,WAAW;IACX,WAAW;IACX,WAAW;IACX,aAAa;IACb,aAAa;CACd,CAAC;AAEF,kDAAkD;AAClD,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAM5C,MAAM,CAAC,MAAM,iBAAiB,GAAqC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;IACpF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;YACpC,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7D,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;YACxC,gBAAgB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9C,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO,GAAG,EAAE;YACV,aAAa,CAAC,YAAY,CAAC,CAAC;YAC5B,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,gDAAgD;IAChD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACtD,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC;QAC9D,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,kCAAkC;QACrF,OAAO,CACL,oBAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,IACvB,cAAc,CAAC,SAAS,CAAC,CACrB,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC;QACpC,oBAAC,GAAG;YACF,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;gBACnB,oBAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG,CAClB;YACP,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;;gBAAG,cAAc,CAAC,SAAS,CAAC;sBAAW,CACxD;QACN,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,IACd,WAAW,CACR,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -3,7 +3,6 @@
3
3
  * NexusForge CLI
4
4
  *
5
5
  * AI-powered development companion for your terminal.
6
- * Like Claude Code, but for NexusForge.
7
6
  *
8
7
  * Usage:
9
8
  * nexusforge - Start interactive chat
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG"}
package/dist/index.js CHANGED
@@ -3,7 +3,6 @@
3
3
  * NexusForge CLI
4
4
  *
5
5
  * AI-powered development companion for your terminal.
6
- * Like Claude Code, but for NexusForge.
7
6
  *
8
7
  * Usage:
9
8
  * nexusforge - Start interactive chat
@@ -13,6 +12,8 @@
13
12
  * nexusforge --session X - Sync with web session
14
13
  * nexusforge --help - Show help
15
14
  */
15
+ import React from 'react';
16
+ import { render } from 'ink';
16
17
  import { Command } from 'commander';
17
18
  import * as readline from 'readline';
18
19
  import * as config from './utils/config.js';
@@ -20,7 +21,8 @@ import { displayWelcome, displayUserMessage, displayAssistantMessage, displaySys
20
21
  import { startDeviceAuth, logout, checkAuth, getCurrentUser } from './services/auth.js';
21
22
  import * as api from './services/api.js';
22
23
  import * as executor from './services/executor.js';
23
- const VERSION = '1.0.0';
24
+ import App from './components/App.js';
25
+ const VERSION = '1.1.0';
24
26
  // Current conversation state
25
27
  let conversationId;
26
28
  let messages = [];
@@ -113,14 +115,29 @@ program
113
115
  displaySystemMessage('Failed to sync with session. Starting fresh.', 'warning');
114
116
  }
115
117
  }
116
- // Display welcome screen
117
- const user = getCurrentUser();
118
- displayWelcome(VERSION, config.getApiUrl(), options.model || config.get('defaultModel') || 'NexusForge');
119
- if (user?.username) {
120
- displaySystemMessage(`Logged in as ${user.username}`, 'success');
118
+ // Get model
119
+ const model = options.model || config.get('defaultModel') || 'NexusForge';
120
+ // Check if we should use Ink TUI or fallback to readline
121
+ const useInkTUI = process.env.NEXUSFORGE_TUI !== 'classic';
122
+ if (useInkTUI) {
123
+ // Render Ink TUI app
124
+ console.clear();
125
+ render(React.createElement(App, {
126
+ version: VERSION,
127
+ serverUrl: config.getApiUrl(),
128
+ model,
129
+ conversationId,
130
+ }));
131
+ }
132
+ else {
133
+ // Fallback to classic readline mode
134
+ const user = getCurrentUser();
135
+ displayWelcome(VERSION, config.getApiUrl(), model);
136
+ if (user?.username) {
137
+ displaySystemMessage(`Logged in as ${user.username}`, 'success');
138
+ }
139
+ await startInteractiveChat(options.model);
121
140
  }
122
- // Start interactive loop
123
- await startInteractiveChat(options.model);
124
141
  });
125
142
  // Parse arguments
126
143
  program.parse();
@@ -167,10 +184,27 @@ async function startInteractiveChat(model) {
167
184
  await readFile(filePath);
168
185
  }
169
186
  }
170
- // Check for executable commands in response
187
+ // Check for executable commands in response and auto-execute safe ones
171
188
  const commands = executor.parseCommandsFromResponse(fullResponse);
172
189
  if (commands.length > 0 && config.get('autoExecute')) {
173
- await promptToExecuteCommands(commands, rl);
190
+ // Separate safe and unsafe commands
191
+ const safeCommands = commands.filter(cmd => executor.isSafeCommand(cmd));
192
+ const unsafeCommands = commands.filter(cmd => !executor.isSafeCommand(cmd));
193
+ // Auto-execute safe commands silently, just show output
194
+ for (const cmd of safeCommands) {
195
+ if (executor.isDangerous(cmd))
196
+ continue;
197
+ console.log(style.muted(`$ ${cmd}`));
198
+ const result = await executor.executeCommandStream(cmd, undefined, (data) => process.stdout.write(data), (data) => process.stderr.write(style.error(data)));
199
+ if (result.exitCode !== 0) {
200
+ displaySystemMessage(`Exit code ${result.exitCode}`, 'error');
201
+ }
202
+ console.log('');
203
+ }
204
+ // Prompt for unsafe commands
205
+ if (unsafeCommands.length > 0) {
206
+ await promptToExecuteCommands(unsafeCommands, rl);
207
+ }
174
208
  }
175
209
  }
176
210
  catch (error) {
@@ -344,46 +378,35 @@ async function runCommand(cmd) {
344
378
  return true;
345
379
  }
346
380
  /**
347
- * Handle detected commands - auto-execute safe ones, prompt for others
381
+ * Prompt for unsafe commands that need user approval
348
382
  */
349
383
  async function promptToExecuteCommands(commands, rl) {
350
- // Separate safe and unsafe commands
351
- const safeCommands = commands.filter(cmd => executor.isSafeCommand(cmd));
352
- const unsafeCommands = commands.filter(cmd => !executor.isSafeCommand(cmd));
353
- // Auto-execute safe commands
354
- if (safeCommands.length > 0) {
355
- console.log('');
356
- for (const cmd of safeCommands) {
357
- await runCommand(cmd);
358
- }
384
+ if (commands.length === 0)
385
+ return;
386
+ console.log('');
387
+ displaySystemMessage(`${commands.length} command(s) require approval:`, 'warning');
388
+ for (let i = 0; i < commands.length; i++) {
389
+ console.log(style.muted(` ${i + 1}. ${commands[i]}`));
359
390
  }
360
- // Prompt for unsafe commands
361
- if (unsafeCommands.length > 0) {
362
- console.log('');
363
- displaySystemMessage(`${unsafeCommands.length} command(s) require approval:`, 'warning');
364
- for (let i = 0; i < unsafeCommands.length; i++) {
365
- console.log(style.muted(` ${i + 1}. ${unsafeCommands[i]}`));
366
- }
367
- console.log('');
368
- return new Promise((resolve) => {
369
- rl.question(`${style.prompt('Execute? [y/N/1-n]: ')}`, async (answer) => {
370
- const trimmed = answer.trim().toLowerCase();
371
- if (trimmed === 'y' || trimmed === 'yes') {
372
- for (const cmd of unsafeCommands) {
373
- const success = await runCommand(cmd);
374
- if (!success)
375
- break;
376
- }
391
+ console.log('');
392
+ return new Promise((resolve) => {
393
+ rl.question(`${style.prompt('Execute? [y/N/1-n]: ')}`, async (answer) => {
394
+ const trimmed = answer.trim().toLowerCase();
395
+ if (trimmed === 'y' || trimmed === 'yes') {
396
+ for (const cmd of commands) {
397
+ const success = await runCommand(cmd);
398
+ if (!success)
399
+ break;
377
400
  }
378
- else if (/^\d+$/.test(trimmed)) {
379
- const index = parseInt(trimmed, 10) - 1;
380
- if (index >= 0 && index < unsafeCommands.length) {
381
- await runCommand(unsafeCommands[index]);
382
- }
401
+ }
402
+ else if (/^\d+$/.test(trimmed)) {
403
+ const index = parseInt(trimmed, 10) - 1;
404
+ if (index >= 0 && index < commands.length) {
405
+ await runCommand(commands[index]);
383
406
  }
384
- resolve();
385
- });
407
+ }
408
+ resolve();
386
409
  });
387
- }
410
+ });
388
411
  }
389
412
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nexusforge-cli",
3
- "version": "1.0.9",
3
+ "version": "1.1.0",
4
4
  "description": "NexusForge CLI - AI-powered development companion for your terminal",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",