@nanocollective/nanocoder 1.14.3 → 1.15.1

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 (192) hide show
  1. package/README.md +31 -1
  2. package/dist/ai-sdk-client.d.ts +22 -0
  3. package/dist/ai-sdk-client.d.ts.map +1 -0
  4. package/dist/ai-sdk-client.js +389 -0
  5. package/dist/ai-sdk-client.js.map +1 -0
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +1 -1
  8. package/dist/app.js.map +1 -1
  9. package/dist/client-factory.d.ts.map +1 -1
  10. package/dist/client-factory.js +5 -5
  11. package/dist/client-factory.js.map +1 -1
  12. package/dist/commands/index.d.ts +1 -0
  13. package/dist/commands/index.d.ts.map +1 -1
  14. package/dist/commands/index.js +1 -0
  15. package/dist/commands/index.js.map +1 -1
  16. package/dist/commands/recommendations.js +1 -1
  17. package/dist/commands/recommendations.js.map +1 -1
  18. package/dist/commands/streaming.d.ts +3 -0
  19. package/dist/commands/streaming.d.ts.map +1 -0
  20. package/dist/commands/streaming.js +23 -0
  21. package/dist/commands/streaming.js.map +1 -0
  22. package/dist/commands.d.ts.map +1 -1
  23. package/dist/commands.js +17 -3
  24. package/dist/commands.js.map +1 -1
  25. package/dist/components/assistant-message.d.ts +0 -1
  26. package/dist/components/assistant-message.d.ts.map +1 -1
  27. package/dist/components/assistant-message.js +70 -122
  28. package/dist/components/assistant-message.js.map +1 -1
  29. package/dist/components/thinking-indicator.js +1 -1
  30. package/dist/components/thinking-indicator.js.map +1 -1
  31. package/dist/components/user-input.d.ts.map +1 -1
  32. package/dist/components/user-input.js +135 -27
  33. package/dist/components/user-input.js.map +1 -1
  34. package/dist/components/user-message.d.ts.map +1 -1
  35. package/dist/components/user-message.js +34 -1
  36. package/dist/components/user-message.js.map +1 -1
  37. package/dist/config/index.d.ts.map +1 -1
  38. package/dist/config/index.js +2 -1
  39. package/dist/config/index.js.map +1 -1
  40. package/dist/config/index.spec.d.ts +2 -0
  41. package/dist/config/index.spec.d.ts.map +1 -0
  42. package/dist/config/index.spec.js +99 -0
  43. package/dist/config/index.spec.js.map +1 -0
  44. package/dist/config/preferences.d.ts +2 -0
  45. package/dist/config/preferences.d.ts.map +1 -1
  46. package/dist/config/preferences.js +10 -0
  47. package/dist/config/preferences.js.map +1 -1
  48. package/dist/hooks/useAppInitialization.d.ts.map +1 -1
  49. package/dist/hooks/useAppInitialization.js +2 -1
  50. package/dist/hooks/useAppInitialization.js.map +1 -1
  51. package/dist/hooks/useChatHandler.d.ts +2 -0
  52. package/dist/hooks/useChatHandler.d.ts.map +1 -1
  53. package/dist/hooks/useChatHandler.js +59 -9
  54. package/dist/hooks/useChatHandler.js.map +1 -1
  55. package/dist/mcp/mcp-client.d.ts +20 -1
  56. package/dist/mcp/mcp-client.d.ts.map +1 -1
  57. package/dist/mcp/mcp-client.js +57 -0
  58. package/dist/mcp/mcp-client.js.map +1 -1
  59. package/dist/message-handler.d.ts.map +1 -1
  60. package/dist/message-handler.js +7 -2
  61. package/dist/message-handler.js.map +1 -1
  62. package/dist/tool-calling/index.d.ts +1 -1
  63. package/dist/tool-calling/index.d.ts.map +1 -1
  64. package/dist/tool-calling/index.js +1 -1
  65. package/dist/tool-calling/index.js.map +1 -1
  66. package/dist/tool-calling/json-parser.d.ts +19 -2
  67. package/dist/tool-calling/json-parser.d.ts.map +1 -1
  68. package/dist/tool-calling/json-parser.js +65 -28
  69. package/dist/tool-calling/json-parser.js.map +1 -1
  70. package/dist/tool-calling/json-parser.spec.d.ts +2 -0
  71. package/dist/tool-calling/json-parser.spec.d.ts.map +1 -0
  72. package/dist/tool-calling/json-parser.spec.js +518 -0
  73. package/dist/tool-calling/json-parser.spec.js.map +1 -0
  74. package/dist/tool-calling/tool-parser.d.ts +20 -0
  75. package/dist/tool-calling/tool-parser.d.ts.map +1 -0
  76. package/dist/tool-calling/tool-parser.js +58 -0
  77. package/dist/tool-calling/tool-parser.js.map +1 -0
  78. package/dist/tool-calling/tool-parser.spec.d.ts +2 -0
  79. package/dist/tool-calling/tool-parser.spec.d.ts.map +1 -0
  80. package/dist/tool-calling/tool-parser.spec.js +250 -0
  81. package/dist/tool-calling/tool-parser.spec.js.map +1 -0
  82. package/dist/tool-calling/xml-parser.d.ts +17 -0
  83. package/dist/tool-calling/xml-parser.d.ts.map +1 -1
  84. package/dist/tool-calling/xml-parser.js +101 -13
  85. package/dist/tool-calling/xml-parser.js.map +1 -1
  86. package/dist/tool-calling/xml-parser.spec.d.ts +2 -0
  87. package/dist/tool-calling/xml-parser.spec.d.ts.map +1 -0
  88. package/dist/tool-calling/xml-parser.spec.js +437 -0
  89. package/dist/tool-calling/xml-parser.spec.js.map +1 -0
  90. package/dist/tools/create-file.d.ts.map +1 -1
  91. package/dist/tools/create-file.js +26 -23
  92. package/dist/tools/create-file.js.map +1 -1
  93. package/dist/tools/delete-lines.d.ts.map +1 -1
  94. package/dist/tools/delete-lines.js +29 -27
  95. package/dist/tools/delete-lines.js.map +1 -1
  96. package/dist/tools/execute-bash.d.ts.map +1 -1
  97. package/dist/tools/execute-bash.js +21 -19
  98. package/dist/tools/execute-bash.js.map +1 -1
  99. package/dist/tools/fetch-url.d.ts.map +1 -1
  100. package/dist/tools/fetch-url.js +21 -19
  101. package/dist/tools/fetch-url.js.map +1 -1
  102. package/dist/tools/index.d.ts +2 -2
  103. package/dist/tools/index.d.ts.map +1 -1
  104. package/dist/tools/index.js +8 -6
  105. package/dist/tools/index.js.map +1 -1
  106. package/dist/tools/insert-lines.d.ts.map +1 -1
  107. package/dist/tools/insert-lines.js +29 -27
  108. package/dist/tools/insert-lines.js.map +1 -1
  109. package/dist/tools/read-file.d.ts.map +1 -1
  110. package/dist/tools/read-file.js +23 -19
  111. package/dist/tools/read-file.js.map +1 -1
  112. package/dist/tools/read-many-files.d.ts.map +1 -1
  113. package/dist/tools/read-many-files.js +24 -20
  114. package/dist/tools/read-many-files.js.map +1 -1
  115. package/dist/tools/replace-lines.d.ts.map +1 -1
  116. package/dist/tools/replace-lines.js +33 -31
  117. package/dist/tools/replace-lines.js.map +1 -1
  118. package/dist/tools/search-files.d.ts.map +1 -1
  119. package/dist/tools/search-files.js +33 -31
  120. package/dist/tools/search-files.js.map +1 -1
  121. package/dist/tools/tool-manager.d.ts +35 -19
  122. package/dist/tools/tool-manager.d.ts.map +1 -1
  123. package/dist/tools/tool-manager.js +63 -33
  124. package/dist/tools/tool-manager.js.map +1 -1
  125. package/dist/tools/tool-registry.d.ts +121 -0
  126. package/dist/tools/tool-registry.d.ts.map +1 -0
  127. package/dist/tools/tool-registry.js +195 -0
  128. package/dist/tools/tool-registry.js.map +1 -0
  129. package/dist/tools/web-search.d.ts.map +1 -1
  130. package/dist/tools/web-search.js +25 -23
  131. package/dist/tools/web-search.js.map +1 -1
  132. package/dist/types/config.d.ts +2 -1
  133. package/dist/types/config.d.ts.map +1 -1
  134. package/dist/types/core.d.ts +58 -3
  135. package/dist/types/core.d.ts.map +1 -1
  136. package/dist/types/core.js +2 -0
  137. package/dist/types/core.js.map +1 -1
  138. package/dist/utils/file-autocomplete.d.ts +31 -0
  139. package/dist/utils/file-autocomplete.d.ts.map +1 -0
  140. package/dist/utils/file-autocomplete.js +156 -0
  141. package/dist/utils/file-autocomplete.js.map +1 -0
  142. package/dist/utils/file-autocomplete.spec.d.ts +2 -0
  143. package/dist/utils/file-autocomplete.spec.d.ts.map +1 -0
  144. package/dist/utils/file-autocomplete.spec.js +142 -0
  145. package/dist/utils/file-autocomplete.spec.js.map +1 -0
  146. package/dist/utils/file-content-loader.d.ts +31 -0
  147. package/dist/utils/file-content-loader.d.ts.map +1 -0
  148. package/dist/utils/file-content-loader.js +142 -0
  149. package/dist/utils/file-content-loader.js.map +1 -0
  150. package/dist/utils/file-content-loader.spec.d.ts +2 -0
  151. package/dist/utils/file-content-loader.spec.d.ts.map +1 -0
  152. package/dist/utils/file-content-loader.spec.js +140 -0
  153. package/dist/utils/file-content-loader.spec.js.map +1 -0
  154. package/dist/utils/file-mention-handler.d.ts +21 -0
  155. package/dist/utils/file-mention-handler.d.ts.map +1 -0
  156. package/dist/utils/file-mention-handler.js +59 -0
  157. package/dist/utils/file-mention-handler.js.map +1 -0
  158. package/dist/utils/file-mention-handler.spec.d.ts +2 -0
  159. package/dist/utils/file-mention-handler.spec.d.ts.map +1 -0
  160. package/dist/utils/file-mention-handler.spec.js +147 -0
  161. package/dist/utils/file-mention-handler.spec.js.map +1 -0
  162. package/dist/utils/file-mention-parser.d.ts +40 -0
  163. package/dist/utils/file-mention-parser.d.ts.map +1 -0
  164. package/dist/utils/file-mention-parser.js +122 -0
  165. package/dist/utils/file-mention-parser.js.map +1 -0
  166. package/dist/utils/file-mention-parser.spec.d.ts +2 -0
  167. package/dist/utils/file-mention-parser.spec.d.ts.map +1 -0
  168. package/dist/utils/file-mention-parser.spec.js +149 -0
  169. package/dist/utils/file-mention-parser.spec.js.map +1 -0
  170. package/dist/utils/fuzzy-matching.d.ts +13 -0
  171. package/dist/utils/fuzzy-matching.d.ts.map +1 -0
  172. package/dist/utils/fuzzy-matching.js +127 -0
  173. package/dist/utils/fuzzy-matching.js.map +1 -0
  174. package/dist/utils/fuzzy-matching.spec.d.ts +2 -0
  175. package/dist/utils/fuzzy-matching.spec.d.ts.map +1 -0
  176. package/dist/utils/fuzzy-matching.spec.js +123 -0
  177. package/dist/utils/fuzzy-matching.spec.js.map +1 -0
  178. package/dist/utils/prompt-assembly.spec.js +100 -2
  179. package/dist/utils/prompt-assembly.spec.js.map +1 -1
  180. package/dist/utils/prompt-processor.d.ts +2 -2
  181. package/dist/utils/prompt-processor.d.ts.map +1 -1
  182. package/dist/utils/prompt-processor.js +24 -41
  183. package/dist/utils/prompt-processor.js.map +1 -1
  184. package/package.json +8 -5
  185. package/dist/langgraph-client.d.ts +0 -19
  186. package/dist/langgraph-client.d.ts.map +0 -1
  187. package/dist/langgraph-client.js +0 -295
  188. package/dist/langgraph-client.js.map +0 -1
  189. package/dist/mcp/mcp-tool-adapter.d.ts +0 -22
  190. package/dist/mcp/mcp-tool-adapter.d.ts.map +0 -1
  191. package/dist/mcp/mcp-tool-adapter.js +0 -50
  192. package/dist/mcp/mcp-tool-adapter.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text, useFocus, useInput } from 'ink';
3
3
  import TextInput from 'ink-text-input';
4
- import { useCallback, useEffect, useState } from 'react';
4
+ import { useCallback, useEffect, useMemo, useState } from 'react';
5
5
  import { useTheme } from '../hooks/useTheme.js';
6
6
  import { promptHistory } from '../prompt-history.js';
7
7
  import { commandRegistry } from '../commands.js';
@@ -10,6 +10,8 @@ import { useUIStateContext } from '../hooks/useUIState.js';
10
10
  import { useInputState } from '../hooks/useInputState.js';
11
11
  import { assemblePrompt } from '../utils/prompt-processor.js';
12
12
  import { DEVELOPMENT_MODE_LABELS } from '../types/core.js';
13
+ import { getCurrentFileMention, getFileCompletions, } from '../utils/file-autocomplete.js';
14
+ import { handleFileMention } from '../utils/file-mention-handler.js';
13
15
  export default function UserInput({ onSubmit, placeholder, customCommands = [], disabled = false, onCancel, onToggleMode, developmentMode = 'normal', }) {
14
16
  const { isFocused, focus } = useFocus({ autoFocus: !disabled, id: 'user-input' });
15
17
  const { colors } = useTheme();
@@ -17,6 +19,10 @@ export default function UserInput({ onSubmit, placeholder, customCommands = [],
17
19
  const uiState = useUIStateContext();
18
20
  const { boxWidth, isNarrow } = useResponsiveTerminal();
19
21
  const [textInputKey, setTextInputKey] = useState(0);
22
+ // File autocomplete state
23
+ const [isFileAutocompleteMode, setIsFileAutocompleteMode] = useState(false);
24
+ const [fileCompletions, setFileCompletions] = useState([]);
25
+ const [selectedFileIndex, setSelectedFileIndex] = useState(0);
20
26
  // Responsive placeholder text
21
27
  const defaultPlaceholder = isNarrow
22
28
  ? '/ for commands, ! for bash, ↑/↓ history'
@@ -28,33 +34,98 @@ export default function UserInput({ onSubmit, placeholder, customCommands = [],
28
34
  const { showClearMessage, showCompletions, completions, setShowClearMessage, setShowCompletions, setCompletions, resetUIState, } = uiState;
29
35
  // Check if we're in bash mode (input starts with !)
30
36
  const isBashMode = input.trim().startsWith('!');
37
+ // Check if we're in command mode (input starts with /)
38
+ const isCommandMode = input.trim().startsWith('/');
31
39
  // Load history on mount
32
40
  useEffect(() => {
33
41
  void promptHistory.loadHistory();
34
42
  }, []);
35
- // Helper functions
36
- // Command completion logic
37
- const handleCommandCompletion = useCallback((commandPrefix) => {
43
+ // Trigger file autocomplete when input changes
44
+ useEffect(() => {
45
+ const runFileAutocomplete = async () => {
46
+ const mention = getCurrentFileMention(input, input.length);
47
+ if (mention) {
48
+ setIsFileAutocompleteMode(true);
49
+ const cwd = process.cwd();
50
+ const completions = await getFileCompletions(mention.mention, cwd);
51
+ setFileCompletions(completions);
52
+ setSelectedFileIndex(0); // Reset selection when completions change
53
+ }
54
+ else {
55
+ setIsFileAutocompleteMode(false);
56
+ setFileCompletions([]);
57
+ setSelectedFileIndex(0);
58
+ }
59
+ };
60
+ void runFileAutocomplete();
61
+ }, [input]);
62
+ // Calculate command completions using useMemo to prevent flashing
63
+ const commandCompletions = useMemo(() => {
64
+ if (!isCommandMode || isFileAutocompleteMode) {
65
+ return [];
66
+ }
67
+ const commandPrefix = input.slice(1).split(' ')[0];
68
+ if (commandPrefix.length === 0) {
69
+ return [];
70
+ }
38
71
  const builtInCompletions = commandRegistry.getCompletions(commandPrefix);
39
- const customCompletions = customCommands.filter(cmd => cmd.startsWith(commandPrefix));
40
- const allCompletions = [
72
+ const customCompletions = customCommands
73
+ .filter(cmd => {
74
+ return cmd.toLowerCase().includes(commandPrefix.toLowerCase());
75
+ })
76
+ .sort((a, b) => a.localeCompare(b));
77
+ return [
41
78
  ...builtInCompletions.map(cmd => ({ name: cmd, isCustom: false })),
42
79
  ...customCompletions.map(cmd => ({ name: cmd, isCustom: true })),
43
80
  ];
44
- if (allCompletions.length === 1) {
45
- // Auto-complete when there's exactly one match
46
- const completion = allCompletions[0];
47
- const completedText = `/${completion.name}`;
48
- // Force TextInput to remount by changing its key, which resets cursor position
49
- updateInput(completedText);
50
- setTextInputKey(prev => prev + 1);
51
- }
52
- else if (allCompletions.length > 1) {
53
- // Show completions when there are multiple matches
54
- setCompletions(allCompletions);
81
+ }, [input, isCommandMode, isFileAutocompleteMode, customCommands]);
82
+ // Update UI state for command completions
83
+ useEffect(() => {
84
+ if (commandCompletions.length > 0) {
85
+ setCompletions(commandCompletions);
55
86
  setShowCompletions(true);
56
87
  }
57
- }, [customCommands, setCompletions, setShowCompletions, updateInput]);
88
+ else if (showCompletions) {
89
+ setCompletions([]);
90
+ setShowCompletions(false);
91
+ }
92
+ }, [commandCompletions, showCompletions, setCompletions, setShowCompletions]);
93
+ // Helper functions
94
+ // Handle file mention selection (Tab key in file autocomplete mode)
95
+ const handleFileSelection = useCallback(async () => {
96
+ if (!isFileAutocompleteMode || fileCompletions.length === 0) {
97
+ return false;
98
+ }
99
+ const mention = getCurrentFileMention(input, input.length);
100
+ if (!mention) {
101
+ return false;
102
+ }
103
+ // Select the currently highlighted file
104
+ const selectedPath = fileCompletions[selectedFileIndex]?.path;
105
+ if (!selectedPath) {
106
+ return false;
107
+ }
108
+ // Extract the original mention text (the @... part we're replacing)
109
+ const mentionText = input.substring(mention.startIndex, mention.endIndex);
110
+ // Handle the file mention to create placeholder
111
+ const result = await handleFileMention(selectedPath, currentState.displayValue, currentState.placeholderContent, mentionText);
112
+ if (result) {
113
+ setInputState(result);
114
+ setIsFileAutocompleteMode(false);
115
+ setFileCompletions([]);
116
+ setSelectedFileIndex(0);
117
+ setTextInputKey(prev => prev + 1);
118
+ return true;
119
+ }
120
+ return false;
121
+ }, [
122
+ isFileAutocompleteMode,
123
+ fileCompletions,
124
+ selectedFileIndex,
125
+ input,
126
+ currentState,
127
+ setInputState,
128
+ ]);
58
129
  // Handle form submission
59
130
  const handleSubmit = useCallback(() => {
60
131
  if (input.trim() && onSubmit) {
@@ -162,16 +233,43 @@ export default function UserInput({ onSubmit, placeholder, customCommands = [],
162
233
  redo();
163
234
  return;
164
235
  }
165
- if (key.tab && input.startsWith('/')) {
166
- const commandPrefix = input.slice(1).split(' ')[0];
167
- handleCommandCompletion(commandPrefix);
168
- return;
236
+ // Handle Tab key
237
+ if (key.tab) {
238
+ // File autocomplete takes priority
239
+ if (isFileAutocompleteMode) {
240
+ void handleFileSelection();
241
+ return;
242
+ }
243
+ // Command completion - just show suggestions, no selection
244
+ if (input.startsWith('/')) {
245
+ const commandPrefix = input.slice(1).split(' ')[0];
246
+ const builtInCompletions = commandRegistry.getCompletions(commandPrefix);
247
+ const customCompletions = customCommands.filter(cmd => cmd.startsWith(commandPrefix));
248
+ const allCompletions = [
249
+ ...builtInCompletions.map(cmd => ({ name: cmd, isCustom: false })),
250
+ ...customCompletions.map(cmd => ({ name: cmd, isCustom: true })),
251
+ ];
252
+ if (allCompletions.length === 1) {
253
+ // Auto-complete when there's exactly one match
254
+ const completion = allCompletions[0];
255
+ const completedText = `/${completion.name}`;
256
+ updateInput(completedText);
257
+ setTextInputKey(prev => prev + 1);
258
+ }
259
+ else if (allCompletions.length > 1) {
260
+ // Show completions when there are multiple matches
261
+ setCompletions(allCompletions);
262
+ setShowCompletions(true);
263
+ }
264
+ return;
265
+ }
169
266
  }
170
- // Clear UI state on other input
171
- if (showCompletions) {
172
- setShowCompletions(false);
173
- setCompletions([]);
267
+ // Space exits file autocomplete mode
268
+ if (inputChar === ' ' && isFileAutocompleteMode) {
269
+ setIsFileAutocompleteMode(false);
270
+ setFileCompletions([]);
174
271
  }
272
+ // Clear clear message on other input
175
273
  if (showClearMessage) {
176
274
  setShowClearMessage(false);
177
275
  focus('user-input');
@@ -183,16 +281,26 @@ export default function UserInput({ onSubmit, placeholder, customCommands = [],
183
281
  }
184
282
  // Handle navigation
185
283
  if (key.upArrow) {
284
+ // File autocomplete navigation takes priority
285
+ if (isFileAutocompleteMode && fileCompletions.length > 0) {
286
+ setSelectedFileIndex(prev => prev > 0 ? prev - 1 : fileCompletions.length - 1);
287
+ return;
288
+ }
186
289
  handleHistoryNavigation('up');
187
290
  return;
188
291
  }
189
292
  if (key.downArrow) {
293
+ // File autocomplete navigation takes priority
294
+ if (isFileAutocompleteMode && fileCompletions.length > 0) {
295
+ setSelectedFileIndex(prev => prev < fileCompletions.length - 1 ? prev + 1 : 0);
296
+ return;
297
+ }
190
298
  handleHistoryNavigation('down');
191
299
  return;
192
300
  }
193
301
  });
194
302
  const textColor = disabled || !input ? colors.secondary : colors.primary;
195
- return (_jsxs(Box, { flexDirection: "column", paddingY: 1, width: "100%", marginTop: 1, children: [_jsxs(Box, { flexDirection: "column", borderStyle: isBashMode ? 'round' : undefined, borderColor: isBashMode ? colors.tool : undefined, paddingX: isBashMode ? 1 : 0, width: isBashMode ? boxWidth : undefined, children: [!isBashMode && (_jsx(_Fragment, { children: _jsx(Text, { color: colors.primary, bold: true, children: disabled ? '' : 'What would you like me to help with?' }) })), _jsxs(Box, { children: [_jsxs(Text, { color: textColor, children: ['>', " "] }), disabled ? (_jsx(Text, { color: colors.secondary, children: "..." })) : (_jsx(TextInput, { value: input, onChange: updateInput, onSubmit: handleSubmit, placeholder: actualPlaceholder, focus: isFocused }, textInputKey))] }), isBashMode && (_jsx(Text, { color: colors.tool, dimColor: true, children: "Bash Mode" })), showClearMessage && (_jsx(Text, { color: colors.secondary, dimColor: true, children: "Press escape again to clear" })), showCompletions && completions.length > 0 && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: colors.secondary, children: "Available commands:" }), completions.map((completion, index) => (_jsxs(Text, { color: completion.isCustom ? colors.info : colors.primary, children: ["/", completion.name] }, index)))] }))] }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: developmentMode === 'normal'
303
+ return (_jsxs(Box, { flexDirection: "column", paddingY: 1, width: "100%", marginTop: 1, children: [_jsxs(Box, { flexDirection: "column", borderStyle: isBashMode ? 'round' : undefined, borderColor: isBashMode ? colors.tool : undefined, paddingX: isBashMode ? 1 : 0, width: isBashMode ? boxWidth : undefined, children: [!isBashMode && (_jsx(_Fragment, { children: _jsx(Text, { color: colors.primary, bold: true, children: disabled ? '' : 'What would you like me to help with?' }) })), _jsxs(Box, { children: [_jsxs(Text, { color: textColor, children: ['>', " "] }), disabled ? (_jsx(Text, { color: colors.secondary, children: "..." })) : (_jsx(TextInput, { value: input, onChange: updateInput, onSubmit: handleSubmit, placeholder: actualPlaceholder, focus: isFocused }, textInputKey))] }), isBashMode && (_jsx(Text, { color: colors.tool, dimColor: true, children: "Bash Mode" })), showClearMessage && (_jsx(Text, { color: colors.secondary, dimColor: true, children: "Press escape again to clear" })), showCompletions && completions.length > 0 && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: colors.secondary, children: "Available commands:" }), completions.map((completion, index) => (_jsxs(Text, { color: completion.isCustom ? colors.info : colors.primary, children: ["/", completion.name] }, index)))] })), isFileAutocompleteMode && fileCompletions.length > 0 && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: colors.secondary, children: "File suggestions (\u2191/\u2193 to navigate, Tab to select):" }), fileCompletions.slice(0, 5).map((file, index) => (_jsxs(Text, { color: index === selectedFileIndex ? colors.info : colors.primary, bold: index === selectedFileIndex, children: [index === selectedFileIndex ? '▸ ' : ' ', file.path] }, index)))] }))] }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: developmentMode === 'normal'
196
304
  ? colors.secondary
197
305
  : developmentMode === 'auto-accept'
198
306
  ? colors.info
@@ -1 +1 @@
1
- {"version":3,"file":"user-input.js","sourceRoot":"","sources":["../../source/components/user-input.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-input.js","sourceRoot":"","sources":["../../source/components/user-input.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"user-message.d.ts","sourceRoot":"","sources":["../../source/components/user-message.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAC;;AAEpD,wBAqBG"}
1
+ {"version":3,"file":"user-message.d.ts","sourceRoot":"","sources":["../../source/components/user-message.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAC;;AAsCpD,wBAgCG"}
@@ -2,9 +2,42 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text } from 'ink';
3
3
  import { memo } from 'react';
4
4
  import { useTheme } from '../hooks/useTheme.js';
5
+ // Parse a line and return segments with file placeholders highlighted
6
+ function parseLineWithPlaceholders(line) {
7
+ const segments = [];
8
+ const filePattern = /\[@[^\]]+\]/g;
9
+ let lastIndex = 0;
10
+ let match;
11
+ while ((match = filePattern.exec(line)) !== null) {
12
+ // Add text before the placeholder
13
+ if (match.index > lastIndex) {
14
+ segments.push({
15
+ text: line.slice(lastIndex, match.index),
16
+ isPlaceholder: false,
17
+ });
18
+ }
19
+ // Add the placeholder
20
+ segments.push({
21
+ text: match[0],
22
+ isPlaceholder: true,
23
+ });
24
+ lastIndex = match.index + match[0].length;
25
+ }
26
+ // Add remaining text
27
+ if (lastIndex < line.length) {
28
+ segments.push({
29
+ text: line.slice(lastIndex),
30
+ isPlaceholder: false,
31
+ });
32
+ }
33
+ return segments;
34
+ }
5
35
  export default memo(function UserMessage({ message }) {
6
36
  const { colors } = useTheme();
7
37
  const lines = message.split('\n');
8
- return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Box, { children: _jsx(Text, { color: colors.secondary, bold: true, children: "You:" }) }), _jsx(Box, { flexDirection: "column", children: lines.map((line, index) => (_jsx(Text, { color: colors.white, children: line }, index))) })] }));
38
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Box, { children: _jsx(Text, { color: colors.secondary, bold: true, children: "You:" }) }), _jsx(Box, { flexDirection: "column", children: lines.map((line, lineIndex) => {
39
+ const segments = parseLineWithPlaceholders(line);
40
+ return (_jsx(Text, { children: segments.map((segment, segIndex) => (_jsx(Text, { color: segment.isPlaceholder ? colors.info : colors.white, bold: segment.isPlaceholder, children: segment.text }, segIndex))) }, lineIndex));
41
+ }) })] }));
9
42
  });
10
43
  //# sourceMappingURL=user-message.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-message.js","sourceRoot":"","sources":["../../source/components/user-message.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,EAAC,IAAI,EAAC,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAG1C,eAAe,IAAI,CAAC,SAAS,WAAW,CAAC,EAAC,OAAO,EAAmB;IACnE,MAAM,EAAC,MAAM,EAAC,GAAG,QAAQ,EAAE,CAAC;IAE5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aAC1C,KAAC,GAAG,cACH,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,2BAE5B,GACF,EACN,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACzB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC3B,KAAC,IAAI,IAAa,KAAK,EAAE,MAAM,CAAC,KAAK,YACnC,IAAI,IADK,KAAK,CAET,CACP,CAAC,GACG,IACD,CACN,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"user-message.js","sourceRoot":"","sources":["../../source/components/user-message.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,EAAC,IAAI,EAAC,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAG1C,sEAAsE;AACtE,SAAS,yBAAyB,CAAC,IAAY;IAC9C,MAAM,QAAQ,GAAkD,EAAE,CAAC;IACnE,MAAM,WAAW,GAAG,cAAc,CAAC;IACnC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,kCAAkC;QAClC,IAAI,KAAK,CAAC,KAAK,GAAG,SAAS,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC;gBACxC,aAAa,EAAE,KAAK;aACpB,CAAC,CAAC;QACJ,CAAC;QAED,sBAAsB;QACtB,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,aAAa,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3C,CAAC;IAED,qBAAqB;IACrB,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAC3B,aAAa,EAAE,KAAK;SACpB,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,eAAe,IAAI,CAAC,SAAS,WAAW,CAAC,EAAC,OAAO,EAAmB;IACnE,MAAM,EAAC,MAAM,EAAC,GAAG,QAAQ,EAAE,CAAC;IAE5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,OAAO,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aAC1C,KAAC,GAAG,cACH,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,2BAE5B,GACF,EACN,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACzB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;oBAC9B,MAAM,QAAQ,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;oBACjD,OAAO,CACN,KAAC,IAAI,cACH,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CACpC,KAAC,IAAI,IAEJ,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EACzD,IAAI,EAAE,OAAO,CAAC,aAAa,YAE1B,OAAO,CAAC,IAAI,IAJR,QAAQ,CAKP,CACP,CAAC,IATQ,SAAS,CAUb,CACP,CAAC;gBACH,CAAC,CAAC,GACG,IACD,CACN,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AA0BrD,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,CAAC;AAGrD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmC7D;AA8CD,eAAO,IAAI,SAAS,WAAkB,CAAC;AAGvC,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAGD,eAAO,MAAM,MAAM,EAAE,MAAoB,CAAC;AAM1C,eAAO,MAAM,UAAU,QAGtB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AA0BrD,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,CAAC;AAGrD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmC7D;AA8CD,eAAO,IAAI,SAAS,WAAkB,CAAC;AAGvC,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAGD,eAAO,MAAM,MAAM,EAAE,MAAoB,CAAC;AAO1C,eAAO,MAAM,UAAU,QAGtB,CAAC"}
@@ -103,5 +103,6 @@ export const colors = getColors();
103
103
  const __filename = fileURLToPath(import.meta.url);
104
104
  const __dirname = dirname(__filename);
105
105
  // Go up from dist/config to package root, then to source/app/prompts/main-prompt.md
106
- export const promptPath = join(__dirname, '@/source/app/prompts/main-prompt.md');
106
+ // This works because source/app/prompts/main-prompt.md is included in the package.json files array
107
+ export const promptPath = join(__dirname, '../../source/app/prompts/main-prompt.md');
107
108
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/config/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.spec.d.ts","sourceRoot":"","sources":["../../source/config/index.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,99 @@
1
+ import test from 'ava';
2
+ import { existsSync, readFileSync, mkdirSync, writeFileSync, rmSync } from 'fs';
3
+ import { join } from 'path';
4
+ import { tmpdir } from 'os';
5
+ import { getClosestConfigFile, confDirMap, reloadAppConfig } from './index.js';
6
+ console.log(`\nindex.spec.ts`);
7
+ // Create a temporary test directory
8
+ const testDir = join(tmpdir(), `nanocoder-test-${Date.now()}`);
9
+ test.before(() => {
10
+ // Create test directory
11
+ mkdirSync(testDir, { recursive: true });
12
+ });
13
+ test.after.always(() => {
14
+ // Clean up test directory
15
+ if (existsSync(testDir)) {
16
+ rmSync(testDir, { recursive: true, force: true });
17
+ }
18
+ });
19
+ test('getClosestConfigFile creates default config if none exists', t => {
20
+ const fileName = 'test-config.json';
21
+ const configPath = getClosestConfigFile(fileName);
22
+ t.true(existsSync(configPath), 'Config file should be created');
23
+ t.true(configPath.includes(fileName), 'Config path should include filename');
24
+ // Clean up
25
+ if (existsSync(configPath)) {
26
+ rmSync(configPath, { force: true });
27
+ }
28
+ });
29
+ test('getClosestConfigFile prefers cwd config over home config', t => {
30
+ const fileName = 'test-priority.json';
31
+ const cwdConfig = join(process.cwd(), fileName);
32
+ // Create a config in cwd
33
+ writeFileSync(cwdConfig, JSON.stringify({ test: 'cwd' }), 'utf-8');
34
+ try {
35
+ const configPath = getClosestConfigFile(fileName);
36
+ t.is(configPath, cwdConfig, 'Should prefer cwd config');
37
+ t.is(confDirMap[fileName], cwdConfig, 'Should store cwd path in map');
38
+ // Verify it returns the cwd config content
39
+ const content = JSON.parse(readFileSync(configPath, 'utf-8'));
40
+ t.deepEqual(content, { test: 'cwd' });
41
+ }
42
+ finally {
43
+ // Clean up
44
+ if (existsSync(cwdConfig)) {
45
+ rmSync(cwdConfig, { force: true });
46
+ }
47
+ }
48
+ });
49
+ test('confDirMap stores config file locations', t => {
50
+ const fileName = 'test-map.json';
51
+ // Clear any existing entry
52
+ delete confDirMap[fileName];
53
+ const configPath = getClosestConfigFile(fileName);
54
+ t.true(fileName in confDirMap, 'Config map should have entry');
55
+ t.is(confDirMap[fileName], configPath, 'Config map should store correct path');
56
+ // Clean up
57
+ if (existsSync(configPath)) {
58
+ rmSync(configPath, { force: true });
59
+ }
60
+ });
61
+ test('getClosestConfigFile handles missing config directory gracefully', t => {
62
+ const fileName = 'new-config.json';
63
+ // This should create the config directory and file
64
+ t.notThrows(() => {
65
+ const configPath = getClosestConfigFile(fileName);
66
+ t.true(existsSync(configPath), 'Should create config file');
67
+ });
68
+ // Clean up
69
+ const configPath = confDirMap[fileName];
70
+ if (configPath && existsSync(configPath)) {
71
+ rmSync(configPath, { force: true });
72
+ }
73
+ });
74
+ test('reloadAppConfig can be called without errors', t => {
75
+ // This test ensures reloadAppConfig doesn't throw
76
+ t.notThrows(() => {
77
+ reloadAppConfig();
78
+ });
79
+ });
80
+ test('default config file contains valid JSON', t => {
81
+ const fileName = 'test-default.json';
82
+ const configPath = getClosestConfigFile(fileName);
83
+ // Read and parse the created config
84
+ const content = readFileSync(configPath, 'utf-8');
85
+ t.notThrows(() => {
86
+ JSON.parse(content);
87
+ }, 'Default config should be valid JSON');
88
+ // Clean up
89
+ if (existsSync(configPath)) {
90
+ rmSync(configPath, { force: true });
91
+ }
92
+ });
93
+ test('promptPath points to main-prompt.md', async (t) => {
94
+ // Dynamic import to get the promptPath
95
+ const { promptPath } = await import('./index.js');
96
+ t.true(promptPath.includes('main-prompt.md'), 'promptPath should point to main-prompt.md');
97
+ t.true(promptPath.includes('source/app/prompts'), 'promptPath should include source/app/prompts directory');
98
+ });
99
+ //# sourceMappingURL=index.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../source/config/index.spec.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,6 @@ export declare function loadPreferences(): UserPreferences;
3
3
  export declare function savePreferences(preferences: UserPreferences): void;
4
4
  export declare function updateLastUsed(provider: string, model: string): void;
5
5
  export declare function getLastUsedModel(provider: string): string | undefined;
6
+ export declare function isStreamingEnabled(): boolean;
7
+ export declare function setStreamingEnabled(enabled: boolean): void;
6
8
  //# sourceMappingURL=preferences.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../source/config/preferences.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAWnD,wBAAgB,eAAe,IAAI,eAAe,CAQjD;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI,CAMlE;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAYpE;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGrE"}
1
+ {"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../source/config/preferences.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAWnD,wBAAgB,eAAe,IAAI,eAAe,CAQjD;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI,CAMlE;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAYpE;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGrE;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAI5C;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAI1D"}
@@ -41,4 +41,14 @@ export function getLastUsedModel(provider) {
41
41
  const preferences = loadPreferences();
42
42
  return preferences.providerModels?.[provider];
43
43
  }
44
+ export function isStreamingEnabled() {
45
+ const preferences = loadPreferences();
46
+ // Default to true if not set
47
+ return preferences.streamingEnabled ?? true;
48
+ }
49
+ export function setStreamingEnabled(enabled) {
50
+ const preferences = loadPreferences();
51
+ preferences.streamingEnabled = enabled;
52
+ savePreferences(preferences);
53
+ }
44
54
  //# sourceMappingURL=preferences.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../source/config/preferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,IAAI,CAAC;AAC/C,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAC,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AAIpD,IAAI,gBAAgB,GAAkB,IAAI,CAAC;AAE3C,SAAS,kBAAkB;IAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvB,gBAAgB,GAAG,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,gBAAgB,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,eAAe;IAC9B,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,YAAY,CAAC,kBAAkB,EAAE,EAAE,OAAO,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,QAAQ,CAAC,+BAA+B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAA4B;IAC3D,IAAI,CAAC;QACJ,aAAa,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,QAAQ,CAAC,+BAA+B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;AACF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,KAAa;IAC7D,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;IACpC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;IAE9B,iDAAiD;IACjD,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;QACjC,WAAW,CAAC,cAAc,GAAG,EAAE,CAAC;IACjC,CAAC;IACD,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;IAE7C,eAAe,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAChD,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,OAAO,WAAW,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../source/config/preferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,IAAI,CAAC;AAC/C,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAC,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AAIpD,IAAI,gBAAgB,GAAkB,IAAI,CAAC;AAE3C,SAAS,kBAAkB;IAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvB,gBAAgB,GAAG,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,gBAAgB,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,eAAe;IAC9B,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,YAAY,CAAC,kBAAkB,EAAE,EAAE,OAAO,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,QAAQ,CAAC,+BAA+B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAA4B;IAC3D,IAAI,CAAC;QACJ,aAAa,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,QAAQ,CAAC,+BAA+B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;AACF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,KAAa;IAC7D,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;IACpC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;IAE9B,iDAAiD;IACjD,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;QACjC,WAAW,CAAC,cAAc,GAAG,EAAE,CAAC;IACjC,CAAC;IACD,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;IAE7C,eAAe,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAChD,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,OAAO,WAAW,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,kBAAkB;IACjC,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,6BAA6B;IAC7B,OAAO,WAAW,CAAC,gBAAgB,IAAI,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IACnD,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,WAAW,CAAC,gBAAgB,GAAG,OAAO,CAAC;IACvC,eAAe,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAppInitialization.d.ts","sourceRoot":"","sources":["../../source/hooks/useAppInitialization.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AAQjE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAwBpD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAE9C,UAAU,yBAAyB;IAClC,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,cAAc,EAAE,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,sBAAsB,EAAE,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,KAAK,IAAI,CAAC;IACrE,wBAAwB,EAAE,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3E,qBAAqB,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,IAAI,CAAC;IACnE,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,iBAAiB,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IACrD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/C,qBAAqB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C;AAED,wBAAgB,oBAAoB,CAAC,EACpC,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EAAE,sBAAsB,EAC7C,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACrB,EAAE,yBAAyB;2CAEyB,MAAM;iCA4BtB,mBAAmB;wCA4BN,WAAW;EA+K5D"}
1
+ {"version":3,"file":"useAppInitialization.d.ts","sourceRoot":"","sources":["../../source/hooks/useAppInitialization.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AAQjE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAyBpD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAE9C,UAAU,yBAAyB;IAClC,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,cAAc,EAAE,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,sBAAsB,EAAE,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,KAAK,IAAI,CAAC;IACrE,wBAAwB,EAAE,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3E,qBAAqB,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,IAAI,CAAC;IACnE,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,iBAAiB,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IACrD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/C,qBAAqB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C;AAED,wBAAgB,oBAAoB,CAAC,EACpC,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EAAE,sBAAsB,EAC7C,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACrB,EAAE,yBAAyB;2CAEyB,MAAM;iCA4BtB,mBAAmB;wCA4BN,WAAW;EAgL5D"}
@@ -8,7 +8,7 @@ import { getLastUsedModel, loadPreferences, updateLastUsed, } from '../config/pr
8
8
  import { setToolManagerGetter, setToolRegistryGetter } from '../message-handler.js';
9
9
  import { commandRegistry } from '../commands.js';
10
10
  import { appConfig } from '../config/index.js';
11
- import { clearCommand, commandsCommand, exitCommand, exportCommand, helpCommand, initCommand, mcpCommand, modelCommand, providerCommand, recommendationsCommand, setupConfigCommand, statusCommand, themeCommand, updateCommand, } from '../commands/index.js';
11
+ import { clearCommand, commandsCommand, exitCommand, exportCommand, helpCommand, initCommand, mcpCommand, modelCommand, providerCommand, recommendationsCommand, setupConfigCommand, statusCommand, streamingCommand, themeCommand, updateCommand, } from '../commands/index.js';
12
12
  import SuccessMessage from '../components/success-message.js';
13
13
  import ErrorMessage from '../components/error-message.js';
14
14
  import InfoMessage from '../components/info-message.js';
@@ -145,6 +145,7 @@ export function useAppInitialization({ setClient, setCurrentModel, setCurrentPro
145
145
  recommendationsCommand,
146
146
  statusCommand,
147
147
  setupConfigCommand,
148
+ streamingCommand,
148
149
  ]);
149
150
  // Now start with the properly initialized objects (excluding MCP)
150
151
  await start(newToolManager, newCustomCommandLoader, preferences);
@@ -1 +1 @@
1
- {"version":3,"file":"useAppInitialization.js","sourceRoot":"","sources":["../../source/hooks/useAppInitialization.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAppInitialization.js","sourceRoot":"","sources":["../../source/hooks/useAppInitialization.tsx"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ interface UseChatHandlerProps {
19
19
  export declare function useChatHandler({ client, toolManager, messages, setMessages, currentModel, setIsThinking, setIsCancelling, addToChatQueue, componentKeyCounter, abortController, setAbortController, developmentMode, onStartToolConfirmationFlow, }: UseChatHandlerProps): {
20
20
  handleChatMessage: (message: string) => Promise<void>;
21
21
  processAssistantResponse: (systemMessage: Message, messages: Message[]) => Promise<void>;
22
+ isStreaming: boolean;
23
+ streamingContent: string;
22
24
  };
23
25
  export {};
24
26
  //# sourceMappingURL=useChatHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useChatHandler.d.ts","sourceRoot":"","sources":["../../source/hooks/useChatHandler.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAa,MAAM,cAAc,CAAC;AACtE,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAajD,OAAO,KAAK,MAAM,OAAO,CAAC;AAuC1B,UAAU,mBAAmB;IAC5B,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,eAAe,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAE/C,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IACrD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,kBAAkB,EAAE,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,eAAe,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,MAAM,CAAC;IACpD,2BAA2B,EAAE,CAC5B,SAAS,EAAE,QAAQ,EAAE,EACrB,eAAe,EAAE,OAAO,EAAE,EAC1B,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,OAAO,KAClB,IAAI,CAAC;CACV;AAED,wBAAgB,cAAc,CAAC,EAC9B,MAAM,EACN,WAAW,EACX,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,eAA0B,EAC1B,2BAA2B,GAC3B,EAAE,mBAAmB;iCA0ZqB,MAAM;8CAhVhC,OAAO,YACZ,OAAO,EAAE;EA+ZpB"}
1
+ {"version":3,"file":"useChatHandler.d.ts","sourceRoot":"","sources":["../../source/hooks/useChatHandler.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,SAAS,EAET,OAAO,EACP,QAAQ,EAER,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAWjD,OAAO,KAAK,MAAM,OAAO,CAAC;AAuC1B,UAAU,mBAAmB;IAC5B,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,eAAe,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAE/C,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IACrD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,kBAAkB,EAAE,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,eAAe,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,MAAM,CAAC;IACpD,2BAA2B,EAAE,CAC5B,SAAS,EAAE,QAAQ,EAAE,EACrB,eAAe,EAAE,OAAO,EAAE,EAC1B,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,OAAO,KAClB,IAAI,CAAC;CACV;AAED,wBAAgB,cAAc,CAAC,EAC9B,MAAM,EACN,WAAW,EACX,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,eAA0B,EAC1B,2BAA2B,GAC3B,EAAE,mBAAmB;iCAydqB,MAAM;8CAzXhC,OAAO,YACZ,OAAO,EAAE;;;EA8cpB"}