@nanocollective/nanocoder 1.23.0 → 1.24.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 (433) hide show
  1. package/LICENSE.md +1 -15
  2. package/README.md +25 -884
  3. package/assets/nanocoder-vscode.vsix +0 -0
  4. package/dist/ai-sdk-client/ai-sdk-client.d.ts +3 -2
  5. package/dist/ai-sdk-client/ai-sdk-client.d.ts.map +1 -1
  6. package/dist/ai-sdk-client/ai-sdk-client.js +16 -2
  7. package/dist/ai-sdk-client/ai-sdk-client.js.map +1 -1
  8. package/dist/ai-sdk-client/chat/chat-handler.d.ts +2 -1
  9. package/dist/ai-sdk-client/chat/chat-handler.d.ts.map +1 -1
  10. package/dist/ai-sdk-client/chat/chat-handler.js +37 -70
  11. package/dist/ai-sdk-client/chat/chat-handler.js.map +1 -1
  12. package/dist/ai-sdk-client/chat/streaming-handler.d.ts +2 -2
  13. package/dist/ai-sdk-client/chat/streaming-handler.d.ts.map +1 -1
  14. package/dist/ai-sdk-client/chat/streaming-handler.js +4 -23
  15. package/dist/ai-sdk-client/chat/streaming-handler.js.map +1 -1
  16. package/dist/ai-sdk-client/error-handling/error-parser.d.ts.map +1 -1
  17. package/dist/ai-sdk-client/error-handling/error-parser.js +7 -2
  18. package/dist/ai-sdk-client/error-handling/error-parser.js.map +1 -1
  19. package/dist/ai-sdk-client/providers/provider-factory.d.ts +2 -1
  20. package/dist/ai-sdk-client/providers/provider-factory.d.ts.map +1 -1
  21. package/dist/ai-sdk-client/providers/provider-factory.js +55 -0
  22. package/dist/ai-sdk-client/providers/provider-factory.js.map +1 -1
  23. package/dist/app/App.d.ts +1 -1
  24. package/dist/app/App.d.ts.map +1 -1
  25. package/dist/app/App.js +66 -50
  26. package/dist/app/App.js.map +1 -1
  27. package/dist/app/components/chat-input.d.ts +4 -1
  28. package/dist/app/components/chat-input.d.ts.map +1 -1
  29. package/dist/app/components/chat-input.js +4 -3
  30. package/dist/app/components/chat-input.js.map +1 -1
  31. package/dist/app/components/modal-selectors.d.ts +6 -7
  32. package/dist/app/components/modal-selectors.d.ts.map +1 -1
  33. package/dist/app/components/modal-selectors.js +11 -7
  34. package/dist/app/components/modal-selectors.js.map +1 -1
  35. package/dist/app/components/settings-selector.d.ts.map +1 -1
  36. package/dist/app/components/settings-selector.js +3 -3
  37. package/dist/app/components/settings-selector.js.map +1 -1
  38. package/dist/app/helpers.d.ts.map +1 -1
  39. package/dist/app/helpers.js +2 -4
  40. package/dist/app/helpers.js.map +1 -1
  41. package/dist/app/index.d.ts +0 -1
  42. package/dist/app/index.d.ts.map +1 -1
  43. package/dist/app/index.js +0 -1
  44. package/dist/app/index.js.map +1 -1
  45. package/dist/app/types.d.ts +2 -0
  46. package/dist/app/types.d.ts.map +1 -1
  47. package/dist/app/utils/app-util.d.ts +1 -5
  48. package/dist/app/utils/app-util.d.ts.map +1 -1
  49. package/dist/app/utils/app-util.js +60 -460
  50. package/dist/app/utils/app-util.js.map +1 -1
  51. package/dist/app/utils/handlers/compact-handler.d.ts +6 -0
  52. package/dist/app/utils/handlers/compact-handler.d.ts.map +1 -0
  53. package/dist/app/utils/handlers/compact-handler.js +148 -0
  54. package/dist/app/utils/handlers/compact-handler.js.map +1 -0
  55. package/dist/app/utils/handlers/context-max-handler.d.ts +11 -0
  56. package/dist/app/utils/handlers/context-max-handler.d.ts.map +1 -0
  57. package/dist/app/utils/handlers/context-max-handler.js +102 -0
  58. package/dist/app/utils/handlers/context-max-handler.js.map +1 -0
  59. package/dist/app/utils/handlers/create-handler.d.ts +17 -0
  60. package/dist/app/utils/handlers/create-handler.d.ts.map +1 -0
  61. package/dist/app/utils/handlers/create-handler.js +112 -0
  62. package/dist/app/utils/handlers/create-handler.js.map +1 -0
  63. package/dist/app/utils/handlers/session-handler.d.ts +8 -0
  64. package/dist/app/utils/handlers/session-handler.d.ts.map +1 -0
  65. package/dist/app/utils/handlers/session-handler.js +99 -0
  66. package/dist/app/utils/handlers/session-handler.js.map +1 -0
  67. package/dist/auth/github-copilot.d.ts +44 -0
  68. package/dist/auth/github-copilot.d.ts.map +1 -0
  69. package/dist/auth/github-copilot.js +178 -0
  70. package/dist/auth/github-copilot.js.map +1 -0
  71. package/dist/cli.js +64 -3
  72. package/dist/cli.js.map +1 -1
  73. package/dist/client-factory.d.ts +1 -1
  74. package/dist/client-factory.d.ts.map +1 -1
  75. package/dist/client-factory.js +39 -8
  76. package/dist/client-factory.js.map +1 -1
  77. package/dist/commands/compact.d.ts +1 -6
  78. package/dist/commands/compact.d.ts.map +1 -1
  79. package/dist/commands/compact.js +2 -13
  80. package/dist/commands/compact.js.map +1 -1
  81. package/dist/commands/context-max.d.ts +1 -2
  82. package/dist/commands/context-max.d.ts.map +1 -1
  83. package/dist/commands/context-max.js +2 -9
  84. package/dist/commands/context-max.js.map +1 -1
  85. package/dist/commands/copilot-login-command.d.ts +3 -0
  86. package/dist/commands/copilot-login-command.d.ts.map +1 -0
  87. package/dist/commands/copilot-login-command.js +9 -0
  88. package/dist/commands/copilot-login-command.js.map +1 -0
  89. package/dist/commands/copilot-login.d.ts +9 -0
  90. package/dist/commands/copilot-login.d.ts.map +1 -0
  91. package/dist/commands/copilot-login.js +70 -0
  92. package/dist/commands/copilot-login.js.map +1 -0
  93. package/dist/commands/create-stub-command.d.ts +8 -0
  94. package/dist/commands/create-stub-command.d.ts.map +1 -0
  95. package/dist/commands/create-stub-command.js +14 -0
  96. package/dist/commands/create-stub-command.js.map +1 -0
  97. package/dist/commands/explorer.d.ts +1 -2
  98. package/dist/commands/explorer.d.ts.map +1 -1
  99. package/dist/commands/explorer.js +2 -9
  100. package/dist/commands/explorer.js.map +1 -1
  101. package/dist/commands/help.d.ts.map +1 -1
  102. package/dist/commands/help.js +1 -1
  103. package/dist/commands/help.js.map +1 -1
  104. package/dist/commands/ide.d.ts +1 -2
  105. package/dist/commands/ide.d.ts.map +1 -1
  106. package/dist/commands/ide.js +2 -9
  107. package/dist/commands/ide.js.map +1 -1
  108. package/dist/commands/index.d.ts +2 -0
  109. package/dist/commands/index.d.ts.map +1 -1
  110. package/dist/commands/index.js +2 -0
  111. package/dist/commands/index.js.map +1 -1
  112. package/dist/commands/init.d.ts.map +1 -1
  113. package/dist/commands/init.js +2 -1
  114. package/dist/commands/init.js.map +1 -1
  115. package/dist/commands/model.d.ts +1 -2
  116. package/dist/commands/model.d.ts.map +1 -1
  117. package/dist/commands/model.js +2 -10
  118. package/dist/commands/model.js.map +1 -1
  119. package/dist/commands/provider.d.ts +1 -2
  120. package/dist/commands/provider.d.ts.map +1 -1
  121. package/dist/commands/provider.js +2 -10
  122. package/dist/commands/provider.js.map +1 -1
  123. package/dist/commands/resume.d.ts +8 -0
  124. package/dist/commands/resume.d.ts.map +1 -0
  125. package/dist/commands/resume.js +11 -0
  126. package/dist/commands/resume.js.map +1 -0
  127. package/dist/commands/settings.d.ts +1 -2
  128. package/dist/commands/settings.d.ts.map +1 -1
  129. package/dist/commands/settings.js +2 -10
  130. package/dist/commands/settings.js.map +1 -1
  131. package/dist/commands/status.d.ts +1 -2
  132. package/dist/commands/status.d.ts.map +1 -1
  133. package/dist/commands/status.js +2 -10
  134. package/dist/commands/status.js.map +1 -1
  135. package/dist/components/assistant-message.d.ts.map +1 -1
  136. package/dist/components/assistant-message.js +2 -27
  137. package/dist/components/assistant-message.js.map +1 -1
  138. package/dist/components/provider-selector.d.ts.map +1 -1
  139. package/dist/components/provider-selector.js +4 -3
  140. package/dist/components/provider-selector.js.map +1 -1
  141. package/dist/components/session-selector.d.ts +12 -0
  142. package/dist/components/session-selector.d.ts.map +1 -0
  143. package/dist/components/session-selector.js +108 -0
  144. package/dist/components/session-selector.js.map +1 -0
  145. package/dist/components/tool-confirmation.d.ts.map +1 -1
  146. package/dist/components/tool-confirmation.js +9 -6
  147. package/dist/components/tool-confirmation.js.map +1 -1
  148. package/dist/components/ui/styled-title.js +2 -2
  149. package/dist/components/ui/styled-title.js.map +1 -1
  150. package/dist/components/user-input.d.ts +3 -1
  151. package/dist/components/user-input.d.ts.map +1 -1
  152. package/dist/components/user-input.js +35 -23
  153. package/dist/components/user-input.js.map +1 -1
  154. package/dist/components/user-message.d.ts.map +1 -1
  155. package/dist/components/user-message.js +1 -23
  156. package/dist/components/user-message.js.map +1 -1
  157. package/dist/components/vscode-extension-prompt.d.ts +6 -1
  158. package/dist/components/vscode-extension-prompt.d.ts.map +1 -1
  159. package/dist/components/vscode-extension-prompt.js +80 -36
  160. package/dist/components/vscode-extension-prompt.js.map +1 -1
  161. package/dist/config/copilot-credentials.d.ts +27 -0
  162. package/dist/config/copilot-credentials.d.ts.map +1 -0
  163. package/dist/config/copilot-credentials.js +81 -0
  164. package/dist/config/copilot-credentials.js.map +1 -0
  165. package/dist/config/index.d.ts +0 -2
  166. package/dist/config/index.d.ts.map +1 -1
  167. package/dist/config/index.js +63 -27
  168. package/dist/config/index.js.map +1 -1
  169. package/dist/config/mcp-config-loader.d.ts +2 -3
  170. package/dist/config/mcp-config-loader.d.ts.map +1 -1
  171. package/dist/config/mcp-config-loader.js +136 -181
  172. package/dist/config/mcp-config-loader.js.map +1 -1
  173. package/dist/config/nanocoder-tools-config.js +2 -2
  174. package/dist/config/nanocoder-tools-config.js.map +1 -1
  175. package/dist/config/themes.d.ts.map +1 -1
  176. package/dist/config/themes.js +9 -766
  177. package/dist/config/themes.js.map +1 -1
  178. package/dist/config/validation.d.ts.map +1 -1
  179. package/dist/config/validation.js +0 -19
  180. package/dist/config/validation.js.map +1 -1
  181. package/dist/custom-commands/parser.d.ts.map +1 -1
  182. package/dist/custom-commands/parser.js +0 -9
  183. package/dist/custom-commands/parser.js.map +1 -1
  184. package/dist/hooks/chat-handler/conversation/conversation-loop.d.ts +5 -0
  185. package/dist/hooks/chat-handler/conversation/conversation-loop.d.ts.map +1 -1
  186. package/dist/hooks/chat-handler/conversation/conversation-loop.js +78 -97
  187. package/dist/hooks/chat-handler/conversation/conversation-loop.js.map +1 -1
  188. package/dist/hooks/chat-handler/conversation/tool-executor.d.ts +7 -2
  189. package/dist/hooks/chat-handler/conversation/tool-executor.d.ts.map +1 -1
  190. package/dist/hooks/chat-handler/conversation/tool-executor.js +109 -41
  191. package/dist/hooks/chat-handler/conversation/tool-executor.js.map +1 -1
  192. package/dist/hooks/chat-handler/types.d.ts +3 -0
  193. package/dist/hooks/chat-handler/types.d.ts.map +1 -1
  194. package/dist/hooks/chat-handler/useChatHandler.d.ts +1 -1
  195. package/dist/hooks/chat-handler/useChatHandler.d.ts.map +1 -1
  196. package/dist/hooks/chat-handler/useChatHandler.js +7 -1
  197. package/dist/hooks/chat-handler/useChatHandler.js.map +1 -1
  198. package/dist/hooks/useAppHandlers.d.ts +8 -1
  199. package/dist/hooks/useAppHandlers.d.ts.map +1 -1
  200. package/dist/hooks/useAppHandlers.js +119 -13
  201. package/dist/hooks/useAppHandlers.js.map +1 -1
  202. package/dist/hooks/useAppInitialization.d.ts +5 -3
  203. package/dist/hooks/useAppInitialization.d.ts.map +1 -1
  204. package/dist/hooks/useAppInitialization.js +51 -30
  205. package/dist/hooks/useAppInitialization.js.map +1 -1
  206. package/dist/hooks/useAppState.d.ts +15 -10
  207. package/dist/hooks/useAppState.d.ts.map +1 -1
  208. package/dist/hooks/useAppState.js +37 -28
  209. package/dist/hooks/useAppState.js.map +1 -1
  210. package/dist/hooks/useModeHandlers.d.ts +8 -14
  211. package/dist/hooks/useModeHandlers.d.ts.map +1 -1
  212. package/dist/hooks/useModeHandlers.js +31 -101
  213. package/dist/hooks/useModeHandlers.js.map +1 -1
  214. package/dist/hooks/useNonInteractiveMode.d.ts +7 -0
  215. package/dist/hooks/useNonInteractiveMode.d.ts.map +1 -1
  216. package/dist/hooks/useNonInteractiveMode.js +39 -2
  217. package/dist/hooks/useNonInteractiveMode.js.map +1 -1
  218. package/dist/hooks/useSessionAutosave.d.ts +16 -0
  219. package/dist/hooks/useSessionAutosave.d.ts.map +1 -0
  220. package/dist/hooks/useSessionAutosave.js +133 -0
  221. package/dist/hooks/useSessionAutosave.js.map +1 -0
  222. package/dist/hooks/useToolHandler.d.ts +2 -1
  223. package/dist/hooks/useToolHandler.d.ts.map +1 -1
  224. package/dist/hooks/useToolHandler.js +9 -3
  225. package/dist/hooks/useToolHandler.js.map +1 -1
  226. package/dist/mcp/mcp-client.d.ts.map +1 -1
  227. package/dist/mcp/mcp-client.js +3 -2
  228. package/dist/mcp/mcp-client.js.map +1 -1
  229. package/dist/mcp/transport-factory.d.ts.map +1 -1
  230. package/dist/mcp/transport-factory.js +4 -36
  231. package/dist/mcp/transport-factory.js.map +1 -1
  232. package/dist/models/models-dev-client.d.ts.map +1 -1
  233. package/dist/models/models-dev-client.js +21 -14
  234. package/dist/models/models-dev-client.js.map +1 -1
  235. package/dist/session/session-manager.d.ts +57 -0
  236. package/dist/session/session-manager.d.ts.map +1 -0
  237. package/dist/session/session-manager.js +361 -0
  238. package/dist/session/session-manager.js.map +1 -0
  239. package/dist/test-utils/render-with-theme.d.ts.map +1 -1
  240. package/dist/test-utils/render-with-theme.js +2 -1
  241. package/dist/test-utils/render-with-theme.js.map +1 -1
  242. package/dist/tool-calling/tool-parser.d.ts +3 -2
  243. package/dist/tool-calling/tool-parser.d.ts.map +1 -1
  244. package/dist/tool-calling/tool-parser.js +6 -27
  245. package/dist/tool-calling/tool-parser.js.map +1 -1
  246. package/dist/tools/execute-bash.d.ts.map +1 -1
  247. package/dist/tools/execute-bash.js +5 -0
  248. package/dist/tools/execute-bash.js.map +1 -1
  249. package/dist/tools/fetch-url.d.ts.map +1 -1
  250. package/dist/tools/fetch-url.js +11 -2
  251. package/dist/tools/fetch-url.js.map +1 -1
  252. package/dist/tools/file-ops/copy-file.d.ts.map +1 -1
  253. package/dist/tools/file-ops/copy-file.js +6 -36
  254. package/dist/tools/file-ops/copy-file.js.map +1 -1
  255. package/dist/tools/file-ops/create-directory.d.ts.map +1 -1
  256. package/dist/tools/file-ops/create-directory.js +2 -19
  257. package/dist/tools/file-ops/create-directory.js.map +1 -1
  258. package/dist/tools/file-ops/delete-file.d.ts.map +1 -1
  259. package/dist/tools/file-ops/delete-file.js +6 -20
  260. package/dist/tools/file-ops/delete-file.js.map +1 -1
  261. package/dist/tools/file-ops/move-file.d.ts.map +1 -1
  262. package/dist/tools/file-ops/move-file.js +6 -36
  263. package/dist/tools/file-ops/move-file.js.map +1 -1
  264. package/dist/tools/file-ops/string-replace-preview.d.ts +10 -0
  265. package/dist/tools/file-ops/string-replace-preview.d.ts.map +1 -0
  266. package/dist/tools/file-ops/string-replace-preview.js +171 -0
  267. package/dist/tools/file-ops/string-replace-preview.js.map +1 -0
  268. package/dist/tools/file-ops/string-replace.d.ts.map +1 -1
  269. package/dist/tools/file-ops/string-replace.js +9 -292
  270. package/dist/tools/file-ops/string-replace.js.map +1 -1
  271. package/dist/tools/file-ops/write-file.d.ts.map +1 -1
  272. package/dist/tools/file-ops/write-file.js +7 -66
  273. package/dist/tools/file-ops/write-file.js.map +1 -1
  274. package/dist/tools/find-files.d.ts.map +1 -1
  275. package/dist/tools/find-files.js +1 -0
  276. package/dist/tools/find-files.js.map +1 -1
  277. package/dist/tools/git/git-diff.d.ts.map +1 -1
  278. package/dist/tools/git/git-diff.js +1 -0
  279. package/dist/tools/git/git-diff.js.map +1 -1
  280. package/dist/tools/git/git-log.d.ts.map +1 -1
  281. package/dist/tools/git/git-log.js +1 -0
  282. package/dist/tools/git/git-log.js.map +1 -1
  283. package/dist/tools/git/git-status.d.ts.map +1 -1
  284. package/dist/tools/git/git-status.js +1 -0
  285. package/dist/tools/git/git-status.js.map +1 -1
  286. package/dist/tools/index.d.ts +1 -0
  287. package/dist/tools/index.d.ts.map +1 -1
  288. package/dist/tools/index.js +7 -0
  289. package/dist/tools/index.js.map +1 -1
  290. package/dist/tools/list-directory.d.ts.map +1 -1
  291. package/dist/tools/list-directory.js +2 -1
  292. package/dist/tools/list-directory.js.map +1 -1
  293. package/dist/tools/lsp-get-diagnostics.d.ts.map +1 -1
  294. package/dist/tools/lsp-get-diagnostics.js +1 -5
  295. package/dist/tools/lsp-get-diagnostics.js.map +1 -1
  296. package/dist/tools/read-file.d.ts.map +1 -1
  297. package/dist/tools/read-file.js +1 -0
  298. package/dist/tools/read-file.js.map +1 -1
  299. package/dist/tools/search-file-contents.d.ts.map +1 -1
  300. package/dist/tools/search-file-contents.js +1 -0
  301. package/dist/tools/search-file-contents.js.map +1 -1
  302. package/dist/tools/tasks/list-tasks.d.ts.map +1 -1
  303. package/dist/tools/tasks/list-tasks.js +1 -0
  304. package/dist/tools/tasks/list-tasks.js.map +1 -1
  305. package/dist/tools/tool-manager.d.ts +10 -0
  306. package/dist/tools/tool-manager.d.ts.map +1 -1
  307. package/dist/tools/tool-manager.js +16 -2
  308. package/dist/tools/tool-manager.js.map +1 -1
  309. package/dist/tools/tool-registry.d.ts +9 -1
  310. package/dist/tools/tool-registry.d.ts.map +1 -1
  311. package/dist/tools/tool-registry.js +17 -1
  312. package/dist/tools/tool-registry.js.map +1 -1
  313. package/dist/tools/web-search.d.ts.map +1 -1
  314. package/dist/tools/web-search.js +1 -0
  315. package/dist/tools/web-search.js.map +1 -1
  316. package/dist/types/app.d.ts +3 -0
  317. package/dist/types/app.d.ts.map +1 -1
  318. package/dist/types/commands.d.ts +1 -2
  319. package/dist/types/commands.d.ts.map +1 -1
  320. package/dist/types/config.d.ts +11 -15
  321. package/dist/types/config.d.ts.map +1 -1
  322. package/dist/types/core.d.ts +13 -3
  323. package/dist/types/core.d.ts.map +1 -1
  324. package/dist/types/core.js.map +1 -1
  325. package/dist/types/markdown-parser.d.ts +2 -10
  326. package/dist/types/markdown-parser.d.ts.map +1 -1
  327. package/dist/types/mcp.d.ts +2 -28
  328. package/dist/types/mcp.d.ts.map +1 -1
  329. package/dist/types/ui.d.ts +1 -1
  330. package/dist/types/ui.d.ts.map +1 -1
  331. package/dist/utils/ansi-truncate.d.ts +6 -0
  332. package/dist/utils/ansi-truncate.d.ts.map +1 -0
  333. package/dist/utils/ansi-truncate.js +39 -0
  334. package/dist/utils/ansi-truncate.js.map +1 -0
  335. package/dist/utils/installation-detector.d.ts +6 -0
  336. package/dist/utils/installation-detector.d.ts.map +1 -1
  337. package/dist/utils/installation-detector.js +33 -19
  338. package/dist/utils/installation-detector.js.map +1 -1
  339. package/dist/utils/logging/health-monitor/checks/memory-check.d.ts.map +1 -1
  340. package/dist/utils/logging/health-monitor/checks/memory-check.js +2 -1
  341. package/dist/utils/logging/health-monitor/checks/memory-check.js.map +1 -1
  342. package/dist/utils/logging/health-monitor/core/health-monitor.d.ts.map +1 -1
  343. package/dist/utils/logging/health-monitor/core/health-monitor.js +3 -2
  344. package/dist/utils/logging/health-monitor/core/health-monitor.js.map +1 -1
  345. package/dist/utils/logging/performance.d.ts.map +1 -1
  346. package/dist/utils/logging/performance.js +21 -17
  347. package/dist/utils/logging/performance.js.map +1 -1
  348. package/dist/utils/logging/pino-logger.d.ts.map +1 -1
  349. package/dist/utils/logging/pino-logger.js +7 -8
  350. package/dist/utils/logging/pino-logger.js.map +1 -1
  351. package/dist/utils/logging/redaction.d.ts.map +1 -1
  352. package/dist/utils/logging/redaction.js +2 -0
  353. package/dist/utils/logging/redaction.js.map +1 -1
  354. package/dist/utils/logging/request-tracker.d.ts.map +1 -1
  355. package/dist/utils/logging/request-tracker.js +6 -5
  356. package/dist/utils/logging/request-tracker.js.map +1 -1
  357. package/dist/utils/logging/safe-process.d.ts +16 -0
  358. package/dist/utils/logging/safe-process.d.ts.map +1 -0
  359. package/dist/utils/logging/safe-process.js +37 -0
  360. package/dist/utils/logging/safe-process.js.map +1 -0
  361. package/dist/utils/logging/types.d.ts +0 -3
  362. package/dist/utils/logging/types.d.ts.map +1 -1
  363. package/dist/utils/message-builder.d.ts +0 -5
  364. package/dist/utils/message-builder.d.ts.map +1 -1
  365. package/dist/utils/message-builder.js +0 -8
  366. package/dist/utils/message-builder.js.map +1 -1
  367. package/dist/utils/path-validation.d.ts.map +1 -1
  368. package/dist/utils/path-validation.js +3 -1
  369. package/dist/utils/path-validation.js.map +1 -1
  370. package/dist/utils/path-validators.d.ts +16 -0
  371. package/dist/utils/path-validators.d.ts.map +1 -0
  372. package/dist/utils/path-validators.js +55 -0
  373. package/dist/utils/path-validators.js.map +1 -0
  374. package/dist/utils/response-formatter.d.ts.map +1 -1
  375. package/dist/utils/response-formatter.js +2 -17
  376. package/dist/utils/response-formatter.js.map +1 -1
  377. package/dist/utils/text-wrapping.d.ts +8 -0
  378. package/dist/utils/text-wrapping.d.ts.map +1 -0
  379. package/dist/utils/text-wrapping.js +29 -0
  380. package/dist/utils/text-wrapping.js.map +1 -0
  381. package/dist/utils/tool-approval.d.ts +6 -0
  382. package/dist/utils/tool-approval.d.ts.map +1 -0
  383. package/dist/utils/tool-approval.js +15 -0
  384. package/dist/utils/tool-approval.js.map +1 -0
  385. package/dist/utils/tool-result-display.d.ts +15 -1
  386. package/dist/utils/tool-result-display.d.ts.map +1 -1
  387. package/dist/utils/tool-result-display.js +93 -3
  388. package/dist/utils/tool-result-display.js.map +1 -1
  389. package/dist/vscode/extension-installer.d.ts +34 -7
  390. package/dist/vscode/extension-installer.d.ts.map +1 -1
  391. package/dist/vscode/extension-installer.js +151 -64
  392. package/dist/vscode/extension-installer.js.map +1 -1
  393. package/dist/vscode/index.d.ts +1 -1
  394. package/dist/vscode/index.d.ts.map +1 -1
  395. package/dist/vscode/index.js +1 -1
  396. package/dist/vscode/index.js.map +1 -1
  397. package/dist/wizards/mcp-wizard.d.ts.map +1 -1
  398. package/dist/wizards/mcp-wizard.js +2 -1
  399. package/dist/wizards/mcp-wizard.js.map +1 -1
  400. package/dist/wizards/provider-wizard.d.ts.map +1 -1
  401. package/dist/wizards/provider-wizard.js +4 -2
  402. package/dist/wizards/provider-wizard.js.map +1 -1
  403. package/dist/wizards/steps/location-step.d.ts.map +1 -1
  404. package/dist/wizards/steps/location-step.js +2 -1
  405. package/dist/wizards/steps/location-step.js.map +1 -1
  406. package/dist/wizards/steps/mcp-step.d.ts.map +1 -1
  407. package/dist/wizards/steps/mcp-step.js +2 -1
  408. package/dist/wizards/steps/mcp-step.js.map +1 -1
  409. package/dist/wizards/steps/provider-step.d.ts.map +1 -1
  410. package/dist/wizards/steps/provider-step.js +4 -1
  411. package/dist/wizards/steps/provider-step.js.map +1 -1
  412. package/dist/wizards/steps/summary-step.d.ts.map +1 -1
  413. package/dist/wizards/steps/summary-step.js +2 -1
  414. package/dist/wizards/steps/summary-step.js.map +1 -1
  415. package/dist/wizards/templates/mcp-templates.d.ts +0 -8
  416. package/dist/wizards/templates/mcp-templates.d.ts.map +1 -1
  417. package/dist/wizards/templates/mcp-templates.js.map +1 -1
  418. package/dist/wizards/templates/provider-templates.d.ts.map +1 -1
  419. package/dist/wizards/templates/provider-templates.js +59 -0
  420. package/dist/wizards/templates/provider-templates.js.map +1 -1
  421. package/dist/wizards/validation.d.ts.map +1 -1
  422. package/dist/wizards/validation.js +0 -1
  423. package/dist/wizards/validation.js.map +1 -1
  424. package/package.json +20 -12
  425. package/source/config/themes.json +787 -0
  426. package/dist/ai-sdk-client/chat/tool-processor.d.ts +0 -10
  427. package/dist/ai-sdk-client/chat/tool-processor.d.ts.map +0 -1
  428. package/dist/ai-sdk-client/chat/tool-processor.js +0 -58
  429. package/dist/ai-sdk-client/chat/tool-processor.js.map +0 -1
  430. package/dist/tool-calling/json-parser.d.ts +0 -28
  431. package/dist/tool-calling/json-parser.d.ts.map +0 -1
  432. package/dist/tool-calling/json-parser.js +0 -219
  433. package/dist/tool-calling/json-parser.js.map +0 -1
@@ -4,39 +4,55 @@ import SelectInput from 'ink-select-input';
4
4
  import React, { useEffect, useState } from 'react';
5
5
  import { defaultTheme, getThemeColors } from '../config/themes.js';
6
6
  import { TIMEOUT_VSCODE_EXTENSION_SKIP_MS } from '../constants.js';
7
- import { installExtension, isExtensionInstalled, isVSCodeCliAvailable, } from '../vscode/extension-installer.js';
7
+ import { getExtensionStatus, installExtension, isVSCodeCliAvailable, } from '../vscode/extension-installer.js';
8
8
  var InstallOption;
9
9
  (function (InstallOption) {
10
10
  InstallOption["Yes"] = "yes";
11
11
  InstallOption["No"] = "no";
12
+ InstallOption["Select"] = "select";
12
13
  })(InstallOption || (InstallOption = {}));
13
14
  /**
14
15
  * Ink component that prompts the user to install the VS Code extension
15
16
  * when running with --vscode flag and the extension isn't installed
16
17
  */
17
- // Compute initial state synchronously
18
- function getInitialState() {
19
- if (isExtensionInstalled()) {
20
- return 'checking'; // Will trigger onComplete in effect
21
- }
22
- if (!isVSCodeCliAvailable()) {
23
- return 'no-cli';
24
- }
25
- return 'prompt';
26
- }
27
18
  export function VSCodeExtensionPrompt({ onComplete, onSkip, }) {
28
- const [state, setState] = useState(getInitialState);
19
+ const [state, setState] = useState('checking');
20
+ const [statuses, setStatuses] = useState([]);
29
21
  const [message, setMessage] = useState('');
22
+ const [selectedClis, setSelectedClis] = useState([]);
23
+ const [isSelecting, setIsSelecting] = useState(false);
30
24
  const colors = getThemeColors(defaultTheme);
31
- const handleInstall = React.useCallback(async () => {
32
- const result = await installExtension();
25
+ // Check status on mount
26
+ useEffect(() => {
27
+ async function check() {
28
+ const available = await isVSCodeCliAvailable();
29
+ if (!available) {
30
+ setState('no-cli');
31
+ return;
32
+ }
33
+ const currentStatuses = await getExtensionStatus();
34
+ setStatuses(currentStatuses);
35
+ const missing = currentStatuses.filter(s => !s.extensionInstalled);
36
+ if (missing.length === 0) {
37
+ onComplete();
38
+ }
39
+ else {
40
+ setSelectedClis(missing.map(s => s.cli));
41
+ setState('prompt');
42
+ }
43
+ }
44
+ if (state === 'checking') {
45
+ void check();
46
+ }
47
+ }, [state, onComplete]);
48
+ const handleInstall = React.useCallback(async (clis) => {
49
+ setState('installing');
50
+ const result = await installExtension(clis);
51
+ setMessage(result.message);
33
52
  if (result.success) {
34
- setMessage(result.message);
35
53
  setState('success');
36
- // Wait for user to press Enter
37
54
  }
38
55
  else {
39
- setMessage(result.message);
40
56
  setState('error');
41
57
  // Auto-continue after showing error
42
58
  setTimeout(onSkip, TIMEOUT_VSCODE_EXTENSION_SKIP_MS);
@@ -48,12 +64,6 @@ export function VSCodeExtensionPrompt({ onComplete, onSkip, }) {
48
64
  onComplete();
49
65
  }
50
66
  }, { isActive: state === 'success' });
51
- // Handle already-installed case
52
- useEffect(() => {
53
- if (isExtensionInstalled()) {
54
- onComplete();
55
- }
56
- }, [onComplete]);
57
67
  // Handle no-cli case - auto-skip after showing message
58
68
  useEffect(() => {
59
69
  if (state === 'no-cli') {
@@ -61,11 +71,22 @@ export function VSCodeExtensionPrompt({ onComplete, onSkip, }) {
61
71
  return () => clearTimeout(timer);
62
72
  }
63
73
  }, [state, onSkip]);
74
+ const availableMissing = statuses.filter(s => !s.extensionInstalled);
64
75
  const items = [
65
76
  {
66
- label: 'Yes, install extension',
77
+ label: availableMissing.length > 1
78
+ ? `Yes, install to all (${availableMissing.map(s => s.cli).join(', ')})`
79
+ : `Yes, install to ${availableMissing[0]?.cli}`,
67
80
  value: InstallOption.Yes,
68
81
  },
82
+ ...(availableMissing.length > 1
83
+ ? [
84
+ {
85
+ label: 'Choose editors...',
86
+ value: InstallOption.Select,
87
+ },
88
+ ]
89
+ : []),
69
90
  {
70
91
  label: 'No, skip for now',
71
92
  value: InstallOption.No,
@@ -73,21 +94,49 @@ export function VSCodeExtensionPrompt({ onComplete, onSkip, }) {
73
94
  ];
74
95
  const handleSelect = (item) => {
75
96
  if (item.value === InstallOption.Yes) {
76
- setState('installing');
77
- void handleInstall();
97
+ void handleInstall(availableMissing.map(s => s.cli));
98
+ }
99
+ else if (item.value === InstallOption.Select) {
100
+ setIsSelecting(true);
78
101
  }
79
102
  else {
80
103
  onSkip();
81
104
  }
82
105
  };
106
+ const handleCliToggle = (cli) => {
107
+ setSelectedClis(prev => prev.includes(cli) ? prev.filter(c => c !== cli) : [...prev, cli]);
108
+ };
83
109
  if (state === 'checking') {
84
110
  return (_jsx(Box, { flexDirection: "column", paddingY: 1, children: _jsx(Text, { color: colors.primary, children: "Checking VS Code extension..." }) }));
85
111
  }
86
112
  if (state === 'no-cli') {
87
- return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsx(Text, { color: colors.warning, children: "VS Code CLI not found. To enable VS Code integration:" }), _jsxs(Box, { marginLeft: 2, flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: colors.secondary, children: "1. Open VS Code" }), _jsx(Text, { color: colors.secondary, children: "2. Press Cmd+Shift+P (Mac) or Ctrl+Shift+P (Windows/Linux)" }), _jsx(Text, { color: colors.secondary, children: "3. Type \"Shell Command: Install 'code' command in PATH\"" })] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.secondary, children: "Continuing without VS Code integration..." }) })] }));
113
+ return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsx(Text, { color: colors.warning, children: "No supported VS Code flavor (Code, Cursor, VSCodium, Windsurf, Trae) found in PATH." }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.text, children: "To enable VS Code integration:" }) }), _jsxs(Box, { marginLeft: 2, flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: colors.secondary, children: "1. Open VS Code or your preferred editor" }), _jsx(Text, { color: colors.secondary, children: "2. Press Cmd+Shift+P (Mac) or Ctrl+Shift+P (Windows/Linux)" }), _jsx(Text, { color: colors.secondary, children: "3. Search for \"Shell Command: Install 'code' command in PATH\"" })] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.secondary, children: "Continuing without VS Code integration..." }) })] }));
88
114
  }
89
115
  if (state === 'prompt') {
90
- return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsx(Text, { color: colors.primary, bold: true, children: "VS Code Extension" }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.text, children: "The VS Code extension enables live diff previews when Nanocoder modifies files." }) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.text, children: "Install the extension now?" }) }), _jsx(Box, { marginTop: 1, children: _jsx(SelectInput, { items: items, onSelect: handleSelect }) })] }));
116
+ if (isSelecting) {
117
+ const selectionItems = availableMissing.map(s => ({
118
+ label: `${selectedClis.includes(s.cli) ? '[x]' : '[ ]'} ${s.cli}`,
119
+ value: s.cli,
120
+ }));
121
+ return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsx(Text, { color: colors.primary, bold: true, children: "Select Editors" }), _jsx(Box, { marginTop: 1, children: _jsx(SelectInput, { items: [
122
+ ...selectionItems,
123
+ { label: '--- Confirm ---', value: 'confirm' },
124
+ { label: '--- Back ---', value: 'back' },
125
+ ], onSelect: item => {
126
+ if (item.value === 'confirm') {
127
+ if (selectedClis.length > 0) {
128
+ void handleInstall(selectedClis);
129
+ }
130
+ }
131
+ else if (item.value === 'back') {
132
+ setIsSelecting(false);
133
+ }
134
+ else {
135
+ handleCliToggle(item.value);
136
+ }
137
+ } }) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "Space/Enter to toggle, select Confirm to proceed" }) })] }));
138
+ }
139
+ return (_jsxs(Box, { flexDirection: "column", paddingY: 1, children: [_jsx(Text, { color: colors.primary, bold: true, children: "VS Code Extension" }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.text, children: "The VS Code extension enables live diff previews when Nanocoder modifies files." }) }), statuses.length > 0 && (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: colors.secondary, children: "Detected editors:" }), statuses.map(s => (_jsxs(Text, { color: s.extensionInstalled ? 'gray' : 'white', children: [s.extensionInstalled ? ' ✓' : ' !', " ", s.cli, ' ', s.extensionInstalled ? '(Installed)' : '(Missing)'] }, s.cli)))] })), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.text, children: "Install the extension now?" }) }), _jsx(Box, { marginTop: 1, children: _jsx(SelectInput, { items: items, onSelect: handleSelect }) })] }));
91
140
  }
92
141
  if (state === 'installing') {
93
142
  return (_jsx(Box, { flexDirection: "column", paddingY: 1, children: _jsx(Text, { color: colors.primary, children: "Installing VS Code extension..." }) }));
@@ -102,15 +151,10 @@ export function VSCodeExtensionPrompt({ onComplete, onSkip, }) {
102
151
  }
103
152
  /**
104
153
  * Check if we should show the extension install prompt
105
- * Returns true if --vscode flag is present and extension is not installed
154
+ * Returns true if --vscode flag is present
155
+ * The component itself will check if it's already installed
106
156
  */
107
157
  export function shouldPromptExtensionInstall() {
108
- const hasVSCodeFlag = process.argv.includes('--vscode');
109
- if (!hasVSCodeFlag)
110
- return false;
111
- // Don't prompt if extension is already installed
112
- if (isExtensionInstalled())
113
- return false;
114
- return true;
158
+ return process.argv.includes('--vscode');
115
159
  }
116
160
  //# sourceMappingURL=vscode-extension-prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vscode-extension-prompt.js","sourceRoot":"","sources":["../../source/components/vscode-extension-prompt.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vscode-extension-prompt.js","sourceRoot":"","sources":["../../source/components/vscode-extension-prompt.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * User-level storage for GitHub Copilot credentials.
3
+ * The stored token is the GitHub OAuth access token from the device flow
4
+ * (used to obtain short-lived Copilot API tokens). Stored under config path
5
+ * (e.g. ~/.config/nanocoder/) so they are not in project config.
6
+ */
7
+ /** Shared message when no Copilot credential is found (used by provider-factory and client-factory). */
8
+ export declare function getCopilotNoCredentialsMessage(providerName: string): string;
9
+ export interface CopilotCredential {
10
+ /** GitHub OAuth access token from device flow. */
11
+ oauthToken: string;
12
+ enterpriseUrl?: string;
13
+ }
14
+ export type CopilotCredentialsStore = Record<string, CopilotCredential>;
15
+ /**
16
+ * Get stored Copilot credential for a provider name (e.g. "GitHub Copilot").
17
+ */
18
+ export declare function loadCopilotCredential(providerName: string): CopilotCredential | null;
19
+ /**
20
+ * Save GitHub OAuth token (from device flow) for a provider name.
21
+ */
22
+ export declare function saveCopilotCredential(providerName: string, oauthToken: string, enterpriseUrl?: string): void;
23
+ /**
24
+ * Remove stored credential for a provider name.
25
+ */
26
+ export declare function removeCopilotCredential(providerName: string): void;
27
+ //# sourceMappingURL=copilot-credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot-credentials.d.ts","sourceRoot":"","sources":["../../source/config/copilot-credentials.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,wGAAwG;AACxG,wBAAgB,8BAA8B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED,MAAM,WAAW,iBAAiB;IACjC,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAoCxE;;GAEG;AACH,wBAAgB,qBAAqB,CACpC,YAAY,EAAE,MAAM,GAClB,iBAAiB,GAAG,IAAI,CAW1B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACpC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,GACpB,IAAI,CAIN;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAOlE"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * User-level storage for GitHub Copilot credentials.
3
+ * The stored token is the GitHub OAuth access token from the device flow
4
+ * (used to obtain short-lived Copilot API tokens). Stored under config path
5
+ * (e.g. ~/.config/nanocoder/) so they are not in project config.
6
+ */
7
+ import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync, } from 'fs';
8
+ import { join } from 'path';
9
+ import { clearCopilotTokenCache } from '../auth/github-copilot.js';
10
+ import { getConfigPath } from '../config/paths.js';
11
+ const FILENAME = 'copilot-credentials.json';
12
+ /** Shared message when no Copilot credential is found (used by provider-factory and client-factory). */
13
+ export function getCopilotNoCredentialsMessage(providerName) {
14
+ return `No Copilot credentials for "${providerName}". Type /copilot-login in the chat to log in, or run: nanocoder copilot login (from project: node dist/cli.js copilot login)`;
15
+ }
16
+ function getCredentialsPath() {
17
+ return join(getConfigPath(), FILENAME);
18
+ }
19
+ function loadStore() {
20
+ const path = getCredentialsPath();
21
+ if (!existsSync(path)) {
22
+ return {};
23
+ }
24
+ try {
25
+ const raw = readFileSync(path, 'utf-8');
26
+ const data = JSON.parse(raw);
27
+ if (data !== null && typeof data === 'object' && !Array.isArray(data)) {
28
+ return data;
29
+ }
30
+ }
31
+ catch {
32
+ // Invalid or unreadable
33
+ }
34
+ return {};
35
+ }
36
+ function writeStore(store) {
37
+ const dir = getConfigPath();
38
+ if (!existsSync(dir)) {
39
+ mkdirSync(dir, { recursive: true });
40
+ }
41
+ const filePath = getCredentialsPath();
42
+ writeFileSync(filePath, JSON.stringify(store, null, 2), {
43
+ encoding: 'utf-8',
44
+ mode: 0o600,
45
+ });
46
+ chmodSync(filePath, 0o600);
47
+ }
48
+ /**
49
+ * Get stored Copilot credential for a provider name (e.g. "GitHub Copilot").
50
+ */
51
+ export function loadCopilotCredential(providerName) {
52
+ const store = loadStore();
53
+ const entry = store[providerName];
54
+ if (!entry || typeof entry.oauthToken !== 'string') {
55
+ return null;
56
+ }
57
+ return {
58
+ oauthToken: entry.oauthToken,
59
+ enterpriseUrl: typeof entry.enterpriseUrl === 'string' ? entry.enterpriseUrl : undefined,
60
+ };
61
+ }
62
+ /**
63
+ * Save GitHub OAuth token (from device flow) for a provider name.
64
+ */
65
+ export function saveCopilotCredential(providerName, oauthToken, enterpriseUrl) {
66
+ const store = loadStore();
67
+ store[providerName] = { oauthToken, enterpriseUrl };
68
+ writeStore(store);
69
+ }
70
+ /**
71
+ * Remove stored credential for a provider name.
72
+ */
73
+ export function removeCopilotCredential(providerName) {
74
+ const store = loadStore();
75
+ if (providerName in store) {
76
+ delete store[providerName];
77
+ writeStore(store);
78
+ clearCopilotTokenCache();
79
+ }
80
+ }
81
+ //# sourceMappingURL=copilot-credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot-credentials.js","sourceRoot":"","sources":["../../source/config/copilot-credentials.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,8 @@ export declare function getClosestConfigFile(fileName: string): string;
6
6
  * @public
7
7
  */
8
8
  export declare function getAppConfig(): AppConfig;
9
- export declare const appConfig: AppConfig;
10
9
  export declare function reloadAppConfig(): void;
11
10
  export declare function clearAppConfig(): void;
12
11
  export declare function getColors(): Colors;
13
- export declare const colors: Colors;
14
12
  export declare const promptPath: string;
15
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/config/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACX,SAAS,EAET,MAAM,EAEN,MAAM,eAAe,CAAC;AAiBvB,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,CAAC;AAGrD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+C7D;AAoID;;;GAGG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAKxC;AAGD,eAAO,MAAM,SAAS,WAIpB,CAAC;AAGH,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAGD,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAID,wBAAgB,SAAS,IAAI,MAAM,CAOlC;AAGD,eAAO,MAAM,MAAM,QAIjB,CAAC;AAOH,eAAO,MAAM,UAAU,QAGtB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/config/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACX,SAAS,EAET,MAAM,EAEN,MAAM,eAAe,CAAC;AAiBvB,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,CAAC;AAGrD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAqC7D;AA6ND;;;GAGG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAKxC;AAGD,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAGD,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAID,wBAAgB,SAAS,IAAI,MAAM,CAOlC;AAOD,eAAO,MAAM,UAAU,QAGtB,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { config as loadEnv } from 'dotenv';
2
2
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
3
- import { homedir } from 'os';
4
3
  import { dirname, join } from 'path';
5
4
  import { fileURLToPath } from 'url';
6
5
  import { loadAllMCPConfigs, loadAllProviderConfigs, } from '../config/mcp-config-loader.js';
@@ -38,14 +37,6 @@ export function getClosestConfigFile(fileName) {
38
37
  confDirMap[fileName] = cwdPath; // nosemgrep
39
38
  return cwdPath; // nosemgrep
40
39
  }
41
- // Next lets check the $HOME for a hidden file. This should only be for
42
- // legacy support
43
- const homePath = join(homedir(), `.${fileName}`); // nosemgrep
44
- if (existsSync(homePath)) {
45
- // nosemgrep
46
- confDirMap[fileName] = homePath; // nosemgrep
47
- return homePath; // nosemgrep
48
- }
49
40
  }
50
41
  // Last, lets look for an user level config.
51
42
  // If the file doesn't exist, create it
@@ -130,12 +121,6 @@ function loadAutoCompactConfig() {
130
121
  if (globalConfig) {
131
122
  return globalConfig;
132
123
  }
133
- // Fallback to home directory
134
- const homePath = join(homedir(), '.agents.config.json');
135
- const homeConfig = tryLoadAutoCompactFromPath(homePath, defaults);
136
- if (homeConfig) {
137
- return homeConfig;
138
- }
139
124
  return defaults;
140
125
  }
141
126
  // Validate and clamp threshold to valid range (50-95)
@@ -150,6 +135,66 @@ function validateMode(mode) {
150
135
  }
151
136
  return 'conservative';
152
137
  }
138
+ // Try to load session config from a specific path
139
+ // Returns the config if found and valid, null otherwise
140
+ function tryLoadSessionsFromPath(configPath, defaults) {
141
+ if (!existsSync(configPath)) {
142
+ return null;
143
+ }
144
+ try {
145
+ const rawData = readFileSync(configPath, 'utf-8');
146
+ const config = JSON.parse(rawData);
147
+ const sessions = config.nanocoder?.sessions;
148
+ if (sessions && typeof sessions === 'object') {
149
+ const normalizeSessionNumber = (value, min, fallback) => {
150
+ if (typeof value === 'number' && Number.isFinite(value)) {
151
+ return Math.max(min, value);
152
+ }
153
+ return fallback;
154
+ };
155
+ return {
156
+ autoSave: sessions.autoSave !== undefined
157
+ ? Boolean(sessions.autoSave)
158
+ : defaults.autoSave,
159
+ saveInterval: normalizeSessionNumber(sessions.saveInterval, 1000, // Minimum 1 second
160
+ defaults.saveInterval ?? 30000),
161
+ maxSessions: normalizeSessionNumber(sessions.maxSessions, 1, defaults.maxSessions ?? 100),
162
+ maxMessages: normalizeSessionNumber(sessions.maxMessages, 1, defaults.maxMessages ?? 1000),
163
+ retentionDays: normalizeSessionNumber(sessions.retentionDays, 1, defaults.retentionDays ?? 30),
164
+ directory: sessions.directory || defaults.directory,
165
+ };
166
+ }
167
+ }
168
+ catch (error) {
169
+ logError(`Failed to load session config from ${configPath}: ${String(error)}`);
170
+ }
171
+ return null;
172
+ }
173
+ // Load session configuration and Returns default config if not specified
174
+ function loadSessionConfig() {
175
+ const defaults = {
176
+ autoSave: true,
177
+ saveInterval: 30000, // 30 seconds
178
+ maxSessions: 100,
179
+ maxMessages: 1000,
180
+ retentionDays: 30,
181
+ directory: '',
182
+ };
183
+ // Try to load from project-level config first
184
+ const projectConfigPath = join(process.cwd(), 'agents.config.json');
185
+ const projectConfig = tryLoadSessionsFromPath(projectConfigPath, defaults);
186
+ if (projectConfig) {
187
+ return projectConfig;
188
+ }
189
+ // Try global config
190
+ const configDir = getConfigPath();
191
+ const globalConfigPath = join(configDir, 'agents.config.json');
192
+ const globalConfig = tryLoadSessionsFromPath(globalConfigPath, defaults);
193
+ if (globalConfig) {
194
+ return globalConfig;
195
+ }
196
+ return defaults;
197
+ }
153
198
  // Function to load app configuration from agents.config.json if it exists
154
199
  function loadAppConfig() {
155
200
  // Load providers from the new hierarchical configuration system
@@ -159,10 +204,13 @@ function loadAppConfig() {
159
204
  const mcpServers = mcpServersWithSource.map(item => item.server);
160
205
  // Load auto-compact configuration
161
206
  const autoCompact = loadAutoCompactConfig();
207
+ // Load session configuration
208
+ const sessions = loadSessionConfig();
162
209
  return {
163
210
  providers,
164
211
  mcpServers,
165
212
  autoCompact,
213
+ sessions,
166
214
  };
167
215
  }
168
216
  let _appConfig = null;
@@ -176,12 +224,6 @@ export function getAppConfig() {
176
224
  }
177
225
  return _appConfig;
178
226
  }
179
- // Legacy export for backward compatibility - use a getter
180
- export const appConfig = new Proxy({}, {
181
- get(_target, prop) {
182
- return getAppConfig()[prop];
183
- },
184
- });
185
227
  // Function to reload the app configuration (useful after config file changes)
186
228
  export function reloadAppConfig() {
187
229
  _appConfig = loadAppConfig();
@@ -199,12 +241,6 @@ export function getColors() {
199
241
  }
200
242
  return cachedColors;
201
243
  }
202
- // Legacy export for backwards compatibility - use a getter to avoid circular dependency
203
- export const colors = new Proxy({}, {
204
- get(_target, prop) {
205
- return getColors()[prop];
206
- },
207
- });
208
244
  // Get the package root directory (where this module is installed)
209
245
  const __filename = fileURLToPath(import.meta.url);
210
246
  const __dirname = dirname(__filename);
@@ -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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"}
@@ -1,5 +1,5 @@
1
1
  import type { MCPServerConfig, ProviderConfig } from '../types/config.js';
2
- export type ConfigSource = 'project' | 'global';
2
+ export type ConfigSource = 'project' | 'global' | 'env';
3
3
  export interface MCPServerWithSource {
4
4
  server: MCPServerConfig;
5
5
  source: ConfigSource;
@@ -10,7 +10,6 @@ export interface MCPServerWithSource {
10
10
  export declare function loadProjectMCPConfig(): MCPServerWithSource[];
11
11
  /**
12
12
  * Load global MCP configuration from ~/.config/nanocoder/.mcp.json
13
- * Falls back to agents.config.json with deprecation warning
14
13
  */
15
14
  export declare function loadGlobalMCPConfig(): MCPServerWithSource[];
16
15
  /**
@@ -18,7 +17,7 @@ export declare function loadGlobalMCPConfig(): MCPServerWithSource[];
18
17
  * ALL servers from both locations are loaded (project servers shown first)
19
18
  * No overriding - each unique server is preserved
20
19
  */
21
- export declare function mergeMCPConfigs(projectServers: MCPServerWithSource[], globalServers: MCPServerWithSource[]): MCPServerWithSource[];
20
+ export declare function mergeMCPConfigs(projectServers: MCPServerWithSource[], globalServers: MCPServerWithSource[], envServers?: MCPServerWithSource[]): MCPServerWithSource[];
22
21
  /**
23
22
  * Load all MCP configurations with proper hierarchy and merging
24
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-config-loader.d.ts","sourceRoot":"","sources":["../../source/config/mcp-config-loader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,eAAe,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAIpE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhD,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,YAAY,CAAC;CACrB;AA0ED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,mBAAmB,EAAE,CA4C5D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,mBAAmB,EAAE,CA0D3D;AAuED;;;;GAIG;AACH,wBAAgB,eAAe,CAC9B,cAAc,EAAE,mBAAmB,EAAE,EACrC,aAAa,EAAE,mBAAmB,EAAE,GAClC,mBAAmB,EAAE,CAgBvB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,mBAAmB,EAAE,CAOzD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,cAAc,EAAE,CAqBzD"}
1
+ {"version":3,"file":"mcp-config-loader.d.ts","sourceRoot":"","sources":["../../source/config/mcp-config-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAIpE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC;AAExD,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,YAAY,CAAC;CACrB;AAmDD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,mBAAmB,EAAE,CA0B5D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,mBAAmB,EAAE,CA2B3D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC9B,cAAc,EAAE,mBAAmB,EAAE,EACrC,aAAa,EAAE,mBAAmB,EAAE,EACpC,UAAU,GAAE,mBAAmB,EAAO,GACpC,mBAAmB,EAAE,CAuBvB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,mBAAmB,EAAE,CAQzD;AAmDD;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,cAAc,EAAE,CA0BzD"}