@nanocollective/nanocoder 1.22.5 → 1.23.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 (296) hide show
  1. package/README.md +93 -30
  2. package/assets/nanocoder-vscode.vsix +0 -0
  3. package/dist/ai-sdk-client/chat/chat-handler.js +1 -1
  4. package/dist/ai-sdk-client/chat/chat-handler.js.map +1 -1
  5. package/dist/ai-sdk-client/chat/tool-processor.d.ts +1 -1
  6. package/dist/ai-sdk-client/chat/tool-processor.d.ts.map +1 -1
  7. package/dist/ai-sdk-client/chat/tool-processor.js +8 -3
  8. package/dist/ai-sdk-client/chat/tool-processor.js.map +1 -1
  9. package/dist/ai-sdk-client/error-handling/error-parser.d.ts.map +1 -1
  10. package/dist/ai-sdk-client/error-handling/error-parser.js +4 -1
  11. package/dist/ai-sdk-client/error-handling/error-parser.js.map +1 -1
  12. package/dist/app/App.d.ts.map +1 -1
  13. package/dist/app/App.js +106 -11
  14. package/dist/app/App.js.map +1 -1
  15. package/dist/app/components/chat-input.d.ts +6 -1
  16. package/dist/app/components/chat-input.d.ts.map +1 -1
  17. package/dist/app/components/chat-input.js +9 -7
  18. package/dist/app/components/chat-input.js.map +1 -1
  19. package/dist/app/utils/app-util.d.ts +5 -0
  20. package/dist/app/utils/app-util.d.ts.map +1 -1
  21. package/dist/app/utils/app-util.js +265 -0
  22. package/dist/app/utils/app-util.js.map +1 -1
  23. package/dist/client-factory.d.ts.map +1 -1
  24. package/dist/client-factory.js +3 -2
  25. package/dist/client-factory.js.map +1 -1
  26. package/dist/commands/context-max.d.ts +15 -0
  27. package/dist/commands/context-max.d.ts.map +1 -0
  28. package/dist/commands/context-max.js +22 -0
  29. package/dist/commands/context-max.js.map +1 -0
  30. package/dist/commands/custom-commands.d.ts.map +1 -1
  31. package/dist/commands/custom-commands.js +88 -4
  32. package/dist/commands/custom-commands.js.map +1 -1
  33. package/dist/commands/exit.d.ts.map +1 -1
  34. package/dist/commands/exit.js +5 -8
  35. package/dist/commands/exit.js.map +1 -1
  36. package/dist/commands/ide.d.ts +3 -0
  37. package/dist/commands/ide.d.ts.map +1 -0
  38. package/dist/commands/ide.js +10 -0
  39. package/dist/commands/ide.js.map +1 -0
  40. package/dist/commands/index.d.ts +3 -0
  41. package/dist/commands/index.d.ts.map +1 -1
  42. package/dist/commands/index.js +3 -0
  43. package/dist/commands/index.js.map +1 -1
  44. package/dist/commands/schedule.d.ts +3 -0
  45. package/dist/commands/schedule.d.ts.map +1 -0
  46. package/dist/commands/schedule.js +177 -0
  47. package/dist/commands/schedule.js.map +1 -0
  48. package/dist/commands/usage.d.ts.map +1 -1
  49. package/dist/commands/usage.js +4 -3
  50. package/dist/commands/usage.js.map +1 -1
  51. package/dist/components/development-mode-indicator.d.ts +3 -2
  52. package/dist/components/development-mode-indicator.d.ts.map +1 -1
  53. package/dist/components/development-mode-indicator.js +23 -9
  54. package/dist/components/development-mode-indicator.js.map +1 -1
  55. package/dist/components/ide-selector.d.ts +7 -0
  56. package/dist/components/ide-selector.d.ts.map +1 -0
  57. package/dist/components/ide-selector.js +17 -0
  58. package/dist/components/ide-selector.js.map +1 -0
  59. package/dist/components/question-prompt.d.ts +8 -0
  60. package/dist/components/question-prompt.d.ts.map +1 -0
  61. package/dist/components/question-prompt.js +58 -0
  62. package/dist/components/question-prompt.js.map +1 -0
  63. package/dist/components/scheduler-view.d.ts +14 -0
  64. package/dist/components/scheduler-view.d.ts.map +1 -0
  65. package/dist/components/scheduler-view.js +17 -0
  66. package/dist/components/scheduler-view.js.map +1 -0
  67. package/dist/components/text-input.d.ts +13 -0
  68. package/dist/components/text-input.d.ts.map +1 -0
  69. package/dist/components/text-input.js +175 -0
  70. package/dist/components/text-input.js.map +1 -0
  71. package/dist/components/user-input.d.ts +2 -1
  72. package/dist/components/user-input.d.ts.map +1 -1
  73. package/dist/components/user-input.js +8 -15
  74. package/dist/components/user-input.js.map +1 -1
  75. package/dist/config/themes.d.ts.map +1 -1
  76. package/dist/config/themes.js +20 -0
  77. package/dist/config/themes.js.map +1 -1
  78. package/dist/custom-commands/command-integration.d.ts +24 -0
  79. package/dist/custom-commands/command-integration.d.ts.map +1 -0
  80. package/dist/custom-commands/command-integration.js +68 -0
  81. package/dist/custom-commands/command-integration.js.map +1 -0
  82. package/dist/custom-commands/executor.d.ts.map +1 -1
  83. package/dist/custom-commands/executor.js +12 -2
  84. package/dist/custom-commands/executor.js.map +1 -1
  85. package/dist/custom-commands/loader.d.ts +33 -5
  86. package/dist/custom-commands/loader.d.ts.map +1 -1
  87. package/dist/custom-commands/loader.js +191 -18
  88. package/dist/custom-commands/loader.js.map +1 -1
  89. package/dist/custom-commands/parser.d.ts.map +1 -1
  90. package/dist/custom-commands/parser.js +115 -48
  91. package/dist/custom-commands/parser.js.map +1 -1
  92. package/dist/hooks/chat-handler/conversation/conversation-loop.d.ts +1 -1
  93. package/dist/hooks/chat-handler/conversation/conversation-loop.d.ts.map +1 -1
  94. package/dist/hooks/chat-handler/conversation/conversation-loop.js +37 -5
  95. package/dist/hooks/chat-handler/conversation/conversation-loop.js.map +1 -1
  96. package/dist/hooks/chat-handler/types.d.ts +3 -1
  97. package/dist/hooks/chat-handler/types.d.ts.map +1 -1
  98. package/dist/hooks/chat-handler/useChatHandler.d.ts +1 -1
  99. package/dist/hooks/chat-handler/useChatHandler.d.ts.map +1 -1
  100. package/dist/hooks/chat-handler/useChatHandler.js +13 -5
  101. package/dist/hooks/chat-handler/useChatHandler.js.map +1 -1
  102. package/dist/hooks/useAppHandlers.d.ts +2 -0
  103. package/dist/hooks/useAppHandlers.d.ts.map +1 -1
  104. package/dist/hooks/useAppHandlers.js +5 -0
  105. package/dist/hooks/useAppHandlers.js.map +1 -1
  106. package/dist/hooks/useAppInitialization.d.ts.map +1 -1
  107. package/dist/hooks/useAppInitialization.js +4 -1
  108. package/dist/hooks/useAppInitialization.js.map +1 -1
  109. package/dist/hooks/useAppState.d.ts +15 -0
  110. package/dist/hooks/useAppState.d.ts.map +1 -1
  111. package/dist/hooks/useAppState.js +23 -0
  112. package/dist/hooks/useAppState.js.map +1 -1
  113. package/dist/hooks/useContextPercentage.d.ts +17 -0
  114. package/dist/hooks/useContextPercentage.d.ts.map +1 -0
  115. package/dist/hooks/useContextPercentage.js +71 -0
  116. package/dist/hooks/useContextPercentage.js.map +1 -0
  117. package/dist/hooks/useModeHandlers.d.ts +4 -1
  118. package/dist/hooks/useModeHandlers.d.ts.map +1 -1
  119. package/dist/hooks/useModeHandlers.js +11 -1
  120. package/dist/hooks/useModeHandlers.js.map +1 -1
  121. package/dist/hooks/useNonInteractiveMode.d.ts.map +1 -1
  122. package/dist/hooks/useNonInteractiveMode.js +3 -1
  123. package/dist/hooks/useNonInteractiveMode.js.map +1 -1
  124. package/dist/hooks/useSchedulerMode.d.ts +30 -0
  125. package/dist/hooks/useSchedulerMode.d.ts.map +1 -0
  126. package/dist/hooks/useSchedulerMode.js +99 -0
  127. package/dist/hooks/useSchedulerMode.js.map +1 -0
  128. package/dist/lsp/lsp-manager.d.ts.map +1 -1
  129. package/dist/lsp/lsp-manager.js +10 -0
  130. package/dist/lsp/lsp-manager.js.map +1 -1
  131. package/dist/mcp/mcp-client.d.ts.map +1 -1
  132. package/dist/mcp/mcp-client.js +20 -1
  133. package/dist/mcp/mcp-client.js.map +1 -1
  134. package/dist/models/index.d.ts +1 -1
  135. package/dist/models/index.d.ts.map +1 -1
  136. package/dist/models/index.js +1 -1
  137. package/dist/models/index.js.map +1 -1
  138. package/dist/models/models-dev-client.d.ts +8 -1
  139. package/dist/models/models-dev-client.d.ts.map +1 -1
  140. package/dist/models/models-dev-client.js +50 -1
  141. package/dist/models/models-dev-client.js.map +1 -1
  142. package/dist/schedule/cron.d.ts +14 -0
  143. package/dist/schedule/cron.d.ts.map +1 -0
  144. package/dist/schedule/cron.js +107 -0
  145. package/dist/schedule/cron.js.map +1 -0
  146. package/dist/schedule/index.d.ts +4 -0
  147. package/dist/schedule/index.d.ts.map +1 -0
  148. package/dist/schedule/index.js +4 -0
  149. package/dist/schedule/index.js.map +1 -0
  150. package/dist/schedule/runner.d.ts +42 -0
  151. package/dist/schedule/runner.d.ts.map +1 -0
  152. package/dist/schedule/runner.js +136 -0
  153. package/dist/schedule/runner.js.map +1 -0
  154. package/dist/schedule/storage.d.ts +9 -0
  155. package/dist/schedule/storage.d.ts.map +1 -0
  156. package/dist/schedule/storage.js +68 -0
  157. package/dist/schedule/storage.js.map +1 -0
  158. package/dist/schedule/types.d.ts +24 -0
  159. package/dist/schedule/types.d.ts.map +1 -0
  160. package/dist/schedule/types.js +2 -0
  161. package/dist/schedule/types.js.map +1 -0
  162. package/dist/services/bash-executor.d.ts.map +1 -1
  163. package/dist/services/bash-executor.js +5 -0
  164. package/dist/services/bash-executor.js.map +1 -1
  165. package/dist/tool-calling/json-parser.d.ts +7 -3
  166. package/dist/tool-calling/json-parser.d.ts.map +1 -1
  167. package/dist/tool-calling/json-parser.js +30 -13
  168. package/dist/tool-calling/json-parser.js.map +1 -1
  169. package/dist/tool-calling/tool-parser.d.ts +2 -2
  170. package/dist/tool-calling/tool-parser.d.ts.map +1 -1
  171. package/dist/tool-calling/tool-parser.js +27 -23
  172. package/dist/tool-calling/tool-parser.js.map +1 -1
  173. package/dist/tool-calling/xml-parser.d.ts +8 -4
  174. package/dist/tool-calling/xml-parser.d.ts.map +1 -1
  175. package/dist/tool-calling/xml-parser.js +15 -5
  176. package/dist/tool-calling/xml-parser.js.map +1 -1
  177. package/dist/tools/ask-question.d.ts +3 -0
  178. package/dist/tools/ask-question.d.ts.map +1 -0
  179. package/dist/tools/ask-question.js +66 -0
  180. package/dist/tools/ask-question.js.map +1 -0
  181. package/dist/tools/execute-bash.js +1 -1
  182. package/dist/tools/execute-bash.js.map +1 -1
  183. package/dist/tools/file-ops/copy-file.d.ts +3 -0
  184. package/dist/tools/file-ops/copy-file.d.ts.map +1 -0
  185. package/dist/tools/file-ops/copy-file.js +126 -0
  186. package/dist/tools/file-ops/copy-file.js.map +1 -0
  187. package/dist/tools/file-ops/create-directory.d.ts +3 -0
  188. package/dist/tools/file-ops/create-directory.d.ts.map +1 -0
  189. package/dist/tools/file-ops/create-directory.js +76 -0
  190. package/dist/tools/file-ops/create-directory.js.map +1 -0
  191. package/dist/tools/file-ops/delete-file.d.ts +3 -0
  192. package/dist/tools/file-ops/delete-file.d.ts.map +1 -0
  193. package/dist/tools/file-ops/delete-file.js +88 -0
  194. package/dist/tools/file-ops/delete-file.js.map +1 -0
  195. package/dist/tools/file-ops/index.d.ts +3 -0
  196. package/dist/tools/file-ops/index.d.ts.map +1 -0
  197. package/dist/tools/file-ops/index.js +8 -0
  198. package/dist/tools/file-ops/index.js.map +1 -0
  199. package/dist/tools/file-ops/move-file.d.ts +3 -0
  200. package/dist/tools/file-ops/move-file.d.ts.map +1 -0
  201. package/dist/tools/file-ops/move-file.js +126 -0
  202. package/dist/tools/file-ops/move-file.js.map +1 -0
  203. package/dist/tools/file-ops/string-replace.d.ts +3 -0
  204. package/dist/tools/file-ops/string-replace.d.ts.map +1 -0
  205. package/dist/tools/{string-replace.js → file-ops/string-replace.js} +13 -13
  206. package/dist/tools/file-ops/string-replace.js.map +1 -0
  207. package/dist/tools/file-ops/write-file.d.ts +3 -0
  208. package/dist/tools/file-ops/write-file.d.ts.map +1 -0
  209. package/dist/tools/{write-file.js → file-ops/write-file.js} +31 -17
  210. package/dist/tools/file-ops/write-file.js.map +1 -0
  211. package/dist/tools/git/git-reset.js +1 -1
  212. package/dist/tools/git/git-reset.js.map +1 -1
  213. package/dist/tools/git/index.js +3 -3
  214. package/dist/tools/git/index.js.map +1 -1
  215. package/dist/tools/git/utils.d.ts +4 -0
  216. package/dist/tools/git/utils.d.ts.map +1 -1
  217. package/dist/tools/git/utils.js +12 -0
  218. package/dist/tools/git/utils.js.map +1 -1
  219. package/dist/tools/index.d.ts.map +1 -1
  220. package/dist/tools/index.js +8 -2
  221. package/dist/tools/index.js.map +1 -1
  222. package/dist/tools/search-file-contents.d.ts.map +1 -1
  223. package/dist/tools/search-file-contents.js +59 -10
  224. package/dist/tools/search-file-contents.js.map +1 -1
  225. package/dist/tools/tool-manager.d.ts.map +1 -1
  226. package/dist/tools/tool-manager.js +9 -0
  227. package/dist/tools/tool-manager.js.map +1 -1
  228. package/dist/types/app.d.ts +2 -0
  229. package/dist/types/app.d.ts.map +1 -1
  230. package/dist/types/commands.d.ts +20 -0
  231. package/dist/types/commands.d.ts.map +1 -1
  232. package/dist/types/core.d.ts +2 -1
  233. package/dist/types/core.d.ts.map +1 -1
  234. package/dist/types/core.js +7 -0
  235. package/dist/types/core.js.map +1 -1
  236. package/dist/types/ui.d.ts +1 -1
  237. package/dist/types/ui.d.ts.map +1 -1
  238. package/dist/utils/auto-compact.d.ts.map +1 -1
  239. package/dist/utils/auto-compact.js +13 -7
  240. package/dist/utils/auto-compact.js.map +1 -1
  241. package/dist/utils/logging/index.d.ts.map +1 -1
  242. package/dist/utils/logging/index.js +18 -30
  243. package/dist/utils/logging/index.js.map +1 -1
  244. package/dist/utils/question-queue.d.ts +15 -0
  245. package/dist/utils/question-queue.d.ts.map +1 -0
  246. package/dist/utils/question-queue.js +25 -0
  247. package/dist/utils/question-queue.js.map +1 -0
  248. package/dist/utils/response-formatter.d.ts +108 -0
  249. package/dist/utils/response-formatter.d.ts.map +1 -0
  250. package/dist/utils/response-formatter.js +387 -0
  251. package/dist/utils/response-formatter.js.map +1 -0
  252. package/dist/utils/shutdown/index.d.ts +7 -0
  253. package/dist/utils/shutdown/index.d.ts.map +1 -0
  254. package/dist/utils/shutdown/index.js +6 -0
  255. package/dist/utils/shutdown/index.js.map +1 -0
  256. package/dist/utils/shutdown/shutdown-manager.d.ts +19 -0
  257. package/dist/utils/shutdown/shutdown-manager.d.ts.map +1 -0
  258. package/dist/utils/shutdown/shutdown-manager.js +100 -0
  259. package/dist/utils/shutdown/shutdown-manager.js.map +1 -0
  260. package/dist/utils/shutdown/types.d.ts +9 -0
  261. package/dist/utils/shutdown/types.d.ts.map +1 -0
  262. package/dist/utils/shutdown/types.js +2 -0
  263. package/dist/utils/shutdown/types.js.map +1 -0
  264. package/dist/utils/type-helpers.d.ts +140 -0
  265. package/dist/utils/type-helpers.d.ts.map +1 -0
  266. package/dist/utils/type-helpers.js +220 -0
  267. package/dist/utils/type-helpers.js.map +1 -0
  268. package/dist/utils/url-utils.d.ts +6 -0
  269. package/dist/utils/url-utils.d.ts.map +1 -0
  270. package/dist/utils/url-utils.js +22 -0
  271. package/dist/utils/url-utils.js.map +1 -0
  272. package/dist/vscode/vscode-server.d.ts.map +1 -1
  273. package/dist/vscode/vscode-server.js +10 -0
  274. package/dist/vscode/vscode-server.js.map +1 -1
  275. package/dist/wizards/steps/mcp-step.js +1 -1
  276. package/dist/wizards/steps/mcp-step.js.map +1 -1
  277. package/dist/wizards/steps/provider-step.js +1 -1
  278. package/dist/wizards/steps/provider-step.js.map +1 -1
  279. package/dist/wizards/templates/mcp-templates.d.ts.map +1 -1
  280. package/dist/wizards/templates/mcp-templates.js +8 -6
  281. package/dist/wizards/templates/mcp-templates.js.map +1 -1
  282. package/dist/wizards/validation.d.ts.map +1 -1
  283. package/dist/wizards/validation.js +2 -3
  284. package/dist/wizards/validation.js.map +1 -1
  285. package/package.json +8 -17
  286. package/source/app/prompts/main-prompt.md +21 -3
  287. package/dist/hooks/chat-handler/utils/context-checker.d.ts +0 -15
  288. package/dist/hooks/chat-handler/utils/context-checker.d.ts.map +0 -1
  289. package/dist/hooks/chat-handler/utils/context-checker.js +0 -68
  290. package/dist/hooks/chat-handler/utils/context-checker.js.map +0 -1
  291. package/dist/tools/string-replace.d.ts +0 -3
  292. package/dist/tools/string-replace.d.ts.map +0 -1
  293. package/dist/tools/string-replace.js.map +0 -1
  294. package/dist/tools/write-file.d.ts +0 -3
  295. package/dist/tools/write-file.d.ts.map +0 -1
  296. package/dist/tools/write-file.js.map +0 -1
@@ -0,0 +1,100 @@
1
+ import { loggerProvider } from '../../utils/logging/logger-provider.js';
2
+ const DEFAULT_TIMEOUT_MS = 5000;
3
+ const ENV_SHUTDOWN_TIMEOUT = 'NANOCODER_DEFAULT_SHUTDOWN_TIMEOUT';
4
+ export class ShutdownManager {
5
+ handlers = new Map();
6
+ isShuttingDown = false;
7
+ timeoutMs;
8
+ boundSigterm;
9
+ boundSigint;
10
+ boundUncaughtException;
11
+ boundUnhandledRejection;
12
+ constructor(options) {
13
+ const envTimeout = process.env[ENV_SHUTDOWN_TIMEOUT];
14
+ const parsedEnvTimeout = envTimeout ? parseInt(envTimeout, 10) : undefined;
15
+ const isValidTimeout = Number.isFinite(parsedEnvTimeout);
16
+ this.timeoutMs =
17
+ options?.timeoutMs ??
18
+ (isValidTimeout ? parsedEnvTimeout : undefined) ??
19
+ DEFAULT_TIMEOUT_MS;
20
+ this.boundSigterm = () => {
21
+ void this.gracefulShutdown(0);
22
+ };
23
+ this.boundSigint = () => {
24
+ void this.gracefulShutdown(0);
25
+ };
26
+ this.boundUncaughtException = (err) => {
27
+ const logger = loggerProvider.getLogger();
28
+ logger.fatal({ err }, 'Uncaught exception');
29
+ void this.gracefulShutdown(1);
30
+ };
31
+ this.boundUnhandledRejection = (reason, promise) => {
32
+ const logger = loggerProvider.getLogger();
33
+ logger.fatal({ reason, promise }, 'Unhandled promise rejection');
34
+ void this.gracefulShutdown(1);
35
+ };
36
+ this.setupSignalHandlers();
37
+ }
38
+ register(handler) {
39
+ this.handlers.set(handler.name, handler);
40
+ }
41
+ unregister(name) {
42
+ this.handlers.delete(name);
43
+ }
44
+ async gracefulShutdown(exitCode = 0) {
45
+ if (this.isShuttingDown) {
46
+ return;
47
+ }
48
+ this.isShuttingDown = true;
49
+ const logger = loggerProvider.getLogger();
50
+ logger.info('Graceful shutdown initiated', { exitCode });
51
+ const sorted = Array.from(this.handlers.values()).sort((a, b) => a.priority - b.priority);
52
+ const shutdownPromise = (async () => {
53
+ for (const entry of sorted) {
54
+ try {
55
+ logger.info(`Shutting down: ${entry.name}`);
56
+ await entry.handler();
57
+ }
58
+ catch (err) {
59
+ logger.error({ err }, `Shutdown handler failed: ${entry.name}`);
60
+ }
61
+ }
62
+ })();
63
+ const timeoutPromise = new Promise(resolve => {
64
+ setTimeout(() => {
65
+ logger.warn('Shutdown timeout reached, forcing exit');
66
+ resolve();
67
+ }, this.timeoutMs);
68
+ });
69
+ await Promise.race([shutdownPromise, timeoutPromise]);
70
+ process.exit(exitCode);
71
+ }
72
+ setupSignalHandlers() {
73
+ process.once('SIGTERM', this.boundSigterm);
74
+ process.once('SIGINT', this.boundSigint);
75
+ process.on('uncaughtException', this.boundUncaughtException);
76
+ process.on('unhandledRejection', this.boundUnhandledRejection);
77
+ }
78
+ reset() {
79
+ this.handlers.clear();
80
+ this.isShuttingDown = false;
81
+ process.removeListener('SIGTERM', this.boundSigterm);
82
+ process.removeListener('SIGINT', this.boundSigint);
83
+ process.removeListener('uncaughtException', this.boundUncaughtException);
84
+ process.removeListener('unhandledRejection', this.boundUnhandledRejection);
85
+ }
86
+ }
87
+ let instance = null;
88
+ export function getShutdownManager(options) {
89
+ if (!instance) {
90
+ instance = new ShutdownManager(options);
91
+ }
92
+ return instance;
93
+ }
94
+ export function resetShutdownManager() {
95
+ if (instance) {
96
+ instance.reset();
97
+ instance = null;
98
+ }
99
+ }
100
+ //# sourceMappingURL=shutdown-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shutdown-manager.js","sourceRoot":"","sources":["../../../source/utils/shutdown/shutdown-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface ShutdownHandler {
2
+ name: string;
3
+ priority: number;
4
+ handler: () => Promise<void>;
5
+ }
6
+ export interface ShutdownManagerOptions {
7
+ timeoutMs?: number;
8
+ }
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../source/utils/shutdown/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../source/utils/shutdown/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Type-safe helper utilities for handling non-string content
3
+ *
4
+ * This module provides type guards and conversion functions that:
5
+ * 1. Accept unknown types (string, object, array, null, undefined)
6
+ * 2. Convert to appropriate types for processing
7
+ * 3. Preserve types in memory (critical for ToolCall.arguments)
8
+ * 4. Provide safe fallbacks for edge cases
9
+ *
10
+ * TYPE PRESERVATION STRATEGY
11
+ * ===========================
12
+ *
13
+ * "Preserving types" means:
14
+ * 1. When receiving LLM responses (which can be ANY type):
15
+ * - We accept unknown types (string, object, array, null, undefined)
16
+ * - We convert to string ONLY for PARSING OPERATIONS
17
+ * - We preserve the original type in the tool call structure
18
+ *
19
+ * 2. When storing ToolCall.arguments:
20
+ * - MUST preserve as Record<string, unknown> (object type)
21
+ * - NOT convert to string
22
+ * - Enables direct property access without JSON.parse
23
+ *
24
+ * 3. When displaying/writing to disk:
25
+ * - Convert to string for display/storage operations
26
+ * - Use JSON.stringify for objects/arrays
27
+ * - Use String() for primitives
28
+ *
29
+ * The confusion comes from mixing up:
30
+ * - "Preserve types in memory" (CRITICAL: ToolCall.arguments stays as object)
31
+ * - "Convert to string for processing" (NECESSARY: Parser expects strings)
32
+ */
33
+ /**
34
+ * Type guard to check if value is a string
35
+ *
36
+ * @param value - Value to check
37
+ * @returns True if value is a string, false otherwise
38
+ */
39
+ export declare function isString(value: unknown): value is string;
40
+ /**
41
+ * Type guard to check if value is a non-null object
42
+ *
43
+ * @param value - Value to check
44
+ * @returns True if value is a non-null object, false otherwise
45
+ */
46
+ export declare function isObject(value: unknown): value is Record<string, unknown>;
47
+ /**
48
+ * Type guard to check if value is an array
49
+ *
50
+ * @param value - Value to check
51
+ * @returns True if value is an array, false otherwise
52
+ */
53
+ export declare function isArray(value: unknown): value is unknown[];
54
+ /**
55
+ * Type guard to check if value is a plain object (not null, not array, not instance)
56
+ *
57
+ * @param value - Value to check
58
+ * @returns True if value is a plain object, false otherwise
59
+ */
60
+ export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
61
+ /**
62
+ * Type guard to check if value is a valid function
63
+ *
64
+ * @param value - Value to check
65
+ * @returns True if value is a function, false otherwise
66
+ */
67
+ export declare function isFunction(value: unknown): value is Function;
68
+ /**
69
+ * Type guard to check if value is a valid number
70
+ *
71
+ * @param value - Value to check
72
+ * @returns True if value is a number, false otherwise
73
+ */
74
+ export declare function isNumber(value: unknown): value is number;
75
+ /**
76
+ * Type guard to check if value is a valid boolean
77
+ *
78
+ * @param value - Value to check
79
+ * @returns True if value is a boolean, false otherwise
80
+ */
81
+ export declare function isBoolean(value: unknown): value is boolean;
82
+ /**
83
+ * Type guard to check if value is a valid null value
84
+ *
85
+ * @param value - Value to check
86
+ * @returns True if value is null, false otherwise
87
+ */
88
+ export declare function isNull(value: unknown): value is null;
89
+ /**
90
+ * Type guard to check if value is undefined
91
+ *
92
+ * @param value - Value to check
93
+ * @returns True if value is undefined, false otherwise
94
+ */
95
+ export declare function isUndefined(value: unknown): value is undefined;
96
+ /**
97
+ * Ensures value is a string for display/storage operations
98
+ *
99
+ * This function is used for:
100
+ * 1. DISPLAY OPERATIONS - where we need to display content
101
+ * 2. STORAGE OPERATIONS - where we write to disk
102
+ *
103
+ * For display/storage, we convert to string.
104
+ *
105
+ * @param value - Value to convert (unknown type)
106
+ * @returns String representation of the value
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * // ToolCall.arguments is an object in memory
111
+ * const toolCall = {
112
+ * function: {
113
+ * name: 'write_file',
114
+ * arguments: {path: "/tmp/test.txt", content: "hello"}
115
+ * }
116
+ * };
117
+ *
118
+ * // For storage, convert to string
119
+ * const contentStr = ensureString(toolCall.function.arguments);
120
+ * // contentStr = '{"path": "/tmp/test.txt", "content": "hello"}'
121
+ *
122
+ * await writeFile(path, contentStr, 'utf-8');
123
+ * ```
124
+ */
125
+ export declare function ensureString(value: unknown): string;
126
+ /**
127
+ * Checks if value is empty
128
+ *
129
+ * @param value - Value to check
130
+ * @returns True if value is empty, false otherwise
131
+ */
132
+ export declare function isEmpty(value: unknown): boolean;
133
+ /**
134
+ * Checks if value is non-empty (opposite of isEmpty)
135
+ *
136
+ * @param value - Value to check
137
+ * @returns True if value is non-empty, false otherwise
138
+ */
139
+ export declare function isNotEmpty(value: unknown): boolean;
140
+ //# sourceMappingURL=type-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-helpers.d.ts","sourceRoot":"","sources":["../../source/utils/type-helpers.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAMH;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,EAAE,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC5B,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQlC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAiCnD;AAMD;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAsB/C;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAElD"}
@@ -0,0 +1,220 @@
1
+ // source/utils/type-helpers.ts
2
+ /**
3
+ * Type-safe helper utilities for handling non-string content
4
+ *
5
+ * This module provides type guards and conversion functions that:
6
+ * 1. Accept unknown types (string, object, array, null, undefined)
7
+ * 2. Convert to appropriate types for processing
8
+ * 3. Preserve types in memory (critical for ToolCall.arguments)
9
+ * 4. Provide safe fallbacks for edge cases
10
+ *
11
+ * TYPE PRESERVATION STRATEGY
12
+ * ===========================
13
+ *
14
+ * "Preserving types" means:
15
+ * 1. When receiving LLM responses (which can be ANY type):
16
+ * - We accept unknown types (string, object, array, null, undefined)
17
+ * - We convert to string ONLY for PARSING OPERATIONS
18
+ * - We preserve the original type in the tool call structure
19
+ *
20
+ * 2. When storing ToolCall.arguments:
21
+ * - MUST preserve as Record<string, unknown> (object type)
22
+ * - NOT convert to string
23
+ * - Enables direct property access without JSON.parse
24
+ *
25
+ * 3. When displaying/writing to disk:
26
+ * - Convert to string for display/storage operations
27
+ * - Use JSON.stringify for objects/arrays
28
+ * - Use String() for primitives
29
+ *
30
+ * The confusion comes from mixing up:
31
+ * - "Preserve types in memory" (CRITICAL: ToolCall.arguments stays as object)
32
+ * - "Convert to string for processing" (NECESSARY: Parser expects strings)
33
+ */
34
+ // ============================================================================
35
+ // TYPE GUARDS
36
+ // ============================================================================
37
+ /**
38
+ * Type guard to check if value is a string
39
+ *
40
+ * @param value - Value to check
41
+ * @returns True if value is a string, false otherwise
42
+ */
43
+ export function isString(value) {
44
+ return typeof value === 'string';
45
+ }
46
+ /**
47
+ * Type guard to check if value is a non-null object
48
+ *
49
+ * @param value - Value to check
50
+ * @returns True if value is a non-null object, false otherwise
51
+ */
52
+ export function isObject(value) {
53
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
54
+ }
55
+ /**
56
+ * Type guard to check if value is an array
57
+ *
58
+ * @param value - Value to check
59
+ * @returns True if value is an array, false otherwise
60
+ */
61
+ export function isArray(value) {
62
+ return Array.isArray(value);
63
+ }
64
+ /**
65
+ * Type guard to check if value is a plain object (not null, not array, not instance)
66
+ *
67
+ * @param value - Value to check
68
+ * @returns True if value is a plain object, false otherwise
69
+ */
70
+ export function isPlainObject(value) {
71
+ if (value === null || typeof value !== 'object') {
72
+ return false;
73
+ }
74
+ // Check for prototype chain
75
+ const prototype = Object.getPrototypeOf(value);
76
+ return prototype === null || prototype === Object.prototype;
77
+ }
78
+ /**
79
+ * Type guard to check if value is a valid function
80
+ *
81
+ * @param value - Value to check
82
+ * @returns True if value is a function, false otherwise
83
+ */
84
+ export function isFunction(value) {
85
+ return typeof value === 'function';
86
+ }
87
+ /**
88
+ * Type guard to check if value is a valid number
89
+ *
90
+ * @param value - Value to check
91
+ * @returns True if value is a number, false otherwise
92
+ */
93
+ export function isNumber(value) {
94
+ return typeof value === 'number' && !isNaN(value) && isFinite(value);
95
+ }
96
+ /**
97
+ * Type guard to check if value is a valid boolean
98
+ *
99
+ * @param value - Value to check
100
+ * @returns True if value is a boolean, false otherwise
101
+ */
102
+ export function isBoolean(value) {
103
+ return typeof value === 'boolean';
104
+ }
105
+ /**
106
+ * Type guard to check if value is a valid null value
107
+ *
108
+ * @param value - Value to check
109
+ * @returns True if value is null, false otherwise
110
+ */
111
+ export function isNull(value) {
112
+ return value === null;
113
+ }
114
+ /**
115
+ * Type guard to check if value is undefined
116
+ *
117
+ * @param value - Value to check
118
+ * @returns True if value is undefined, false otherwise
119
+ */
120
+ export function isUndefined(value) {
121
+ return value === undefined;
122
+ }
123
+ // ============================================================================
124
+ // STRING CONVERSION FUNCTIONS
125
+ // ============================================================================
126
+ /**
127
+ * Ensures value is a string for display/storage operations
128
+ *
129
+ * This function is used for:
130
+ * 1. DISPLAY OPERATIONS - where we need to display content
131
+ * 2. STORAGE OPERATIONS - where we write to disk
132
+ *
133
+ * For display/storage, we convert to string.
134
+ *
135
+ * @param value - Value to convert (unknown type)
136
+ * @returns String representation of the value
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * // ToolCall.arguments is an object in memory
141
+ * const toolCall = {
142
+ * function: {
143
+ * name: 'write_file',
144
+ * arguments: {path: "/tmp/test.txt", content: "hello"}
145
+ * }
146
+ * };
147
+ *
148
+ * // For storage, convert to string
149
+ * const contentStr = ensureString(toolCall.function.arguments);
150
+ * // contentStr = '{"path": "/tmp/test.txt", "content": "hello"}'
151
+ *
152
+ * await writeFile(path, contentStr, 'utf-8');
153
+ * ```
154
+ */
155
+ export function ensureString(value) {
156
+ // Handle null/undefined
157
+ if (value === null || value === undefined) {
158
+ return '';
159
+ }
160
+ // Handle string - return as-is
161
+ if (isString(value)) {
162
+ return value;
163
+ }
164
+ // Handle number - convert to string
165
+ if (isNumber(value)) {
166
+ return String(value);
167
+ }
168
+ // Handle boolean - convert to string
169
+ if (isBoolean(value)) {
170
+ return String(value);
171
+ }
172
+ // Handle array - convert to JSON string
173
+ if (isArray(value)) {
174
+ return JSON.stringify(value);
175
+ }
176
+ // Handle object - convert to JSON string
177
+ if (isObject(value)) {
178
+ return JSON.stringify(value);
179
+ }
180
+ // Fallback for unknown types
181
+ return String(value);
182
+ }
183
+ // ============================================================================
184
+ // UTILITY FUNCTIONS
185
+ // ============================================================================
186
+ /**
187
+ * Checks if value is empty
188
+ *
189
+ * @param value - Value to check
190
+ * @returns True if value is empty, false otherwise
191
+ */
192
+ export function isEmpty(value) {
193
+ // Check for null or undefined
194
+ if (value === null || value === undefined) {
195
+ return true;
196
+ }
197
+ // Check for empty string
198
+ if (isString(value) && value === '') {
199
+ return true;
200
+ }
201
+ // Check for empty array
202
+ if (isArray(value) && value.length === 0) {
203
+ return true;
204
+ }
205
+ // Check for empty object
206
+ if (isObject(value) && Object.keys(value).length === 0) {
207
+ return true;
208
+ }
209
+ return false;
210
+ }
211
+ /**
212
+ * Checks if value is non-empty (opposite of isEmpty)
213
+ *
214
+ * @param value - Value to check
215
+ * @returns True if value is non-empty, false otherwise
216
+ */
217
+ export function isNotEmpty(value) {
218
+ return !isEmpty(value);
219
+ }
220
+ //# sourceMappingURL=type-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-helpers.js","sourceRoot":"","sources":["../../source/utils/type-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Check if a URL points to a local server.
3
+ * Matches: localhost, 127.0.0.1, 0.0.0.0, ::1
4
+ */
5
+ export declare function isLocalURL(url: string): boolean;
6
+ //# sourceMappingURL=url-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-utils.d.ts","sourceRoot":"","sources":["../../source/utils/url-utils.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAgB/C"}
@@ -0,0 +1,22 @@
1
+ const LOCAL_HOSTNAMES = new Set(['localhost', '127.0.0.1', '0.0.0.0', '[::1]']);
2
+ /**
3
+ * Check if a URL points to a local server.
4
+ * Matches: localhost, 127.0.0.1, 0.0.0.0, ::1
5
+ */
6
+ export function isLocalURL(url) {
7
+ try {
8
+ const parsed = new URL(url);
9
+ if (parsed.hostname) {
10
+ return LOCAL_HOSTNAMES.has(parsed.hostname);
11
+ }
12
+ }
13
+ catch {
14
+ // Fall through to string matching
15
+ }
16
+ // Fallback for malformed URLs or empty hostname: check the raw string
17
+ return (url.includes('localhost') ||
18
+ url.includes('127.0.0.1') ||
19
+ url.includes('0.0.0.0') ||
20
+ url.includes('::1'));
21
+ }
22
+ //# sourceMappingURL=url-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-utils.js","sourceRoot":"","sources":["../../source/utils/url-utils.ts"],"names":[],"mappings":"AAAA,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAEhF;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACrC,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,kCAAkC;IACnC,CAAC;IACD,sEAAsE;IACtE,OAAO,CACN,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;QACzB,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;QACzB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;QACvB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CACnB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-server.d.ts","sourceRoot":"","sources":["../../source/vscode/vscode-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vscode-server.d.ts","sourceRoot":"","sources":["../../source/vscode/vscode-server.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { WebSocket, WebSocketServer } from 'ws';
7
7
  import { BoundedMap } from '../utils/bounded-map.js';
8
8
  import { formatError } from '../utils/error-formatter.js';
9
9
  import { getLogger } from '../utils/logging/index.js';
10
+ import { getShutdownManager } from '../utils/shutdown/index.js';
10
11
  import { DEFAULT_PORT, PROTOCOL_VERSION, } from './protocol.js';
11
12
  let cachedCliVersion = null;
12
13
  async function getCliVersion() {
@@ -345,6 +346,15 @@ export async function getVSCodeServer(port) {
345
346
  // This is important for synchronous functions like sendFileChangeToVSCode
346
347
  serverInstance = new VSCodeServer(port);
347
348
  serverInitPromise = Promise.resolve(serverInstance);
349
+ getShutdownManager().register({
350
+ name: 'vscode-server',
351
+ priority: 10,
352
+ handler: async () => {
353
+ if (serverInstance) {
354
+ await serverInstance.stop();
355
+ }
356
+ },
357
+ });
348
358
  return serverInitPromise;
349
359
  }
350
360
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-server.js","sourceRoot":"","sources":["../../source/vscode/vscode-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vscode-server.js","sourceRoot":"","sources":["../../source/vscode/vscode-server.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text, useInput } from 'ink';
3
3
  import SelectInput from 'ink-select-input';
4
4
  import { Tab, Tabs } from 'ink-tab';
5
- import TextInput from 'ink-text-input';
6
5
  import { useEffect, useState } from 'react';
6
+ import TextInput from '../../components/text-input.js';
7
7
  import { colors } from '../../config/index.js';
8
8
  import { useResponsiveTerminal } from '../../hooks/useTerminalWidth.js';
9
9
  import { MCP_TEMPLATES, } from '../templates/mcp-templates.js';