@nanocollective/nanocoder 1.20.4 → 1.22.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 (486) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +157 -72
  3. package/assets/nanocoder-vscode.vsix +0 -0
  4. package/dist/ai-sdk-client/ai-sdk-client.d.ts.map +1 -1
  5. package/dist/ai-sdk-client/ai-sdk-client.js.map +1 -1
  6. package/dist/ai-sdk-client/chat/chat-handler.d.ts +1 -0
  7. package/dist/ai-sdk-client/chat/chat-handler.d.ts.map +1 -1
  8. package/dist/ai-sdk-client/chat/chat-handler.js +66 -7
  9. package/dist/ai-sdk-client/chat/chat-handler.js.map +1 -1
  10. package/dist/ai-sdk-client/error-handling/tool-error-detector.d.ts +8 -0
  11. package/dist/ai-sdk-client/error-handling/tool-error-detector.d.ts.map +1 -0
  12. package/dist/ai-sdk-client/error-handling/tool-error-detector.js +52 -0
  13. package/dist/ai-sdk-client/error-handling/tool-error-detector.js.map +1 -0
  14. package/dist/ai-sdk-client/providers/provider-factory.d.ts +6 -3
  15. package/dist/ai-sdk-client/providers/provider-factory.d.ts.map +1 -1
  16. package/dist/ai-sdk-client/providers/provider-factory.js +18 -4
  17. package/dist/ai-sdk-client/providers/provider-factory.js.map +1 -1
  18. package/dist/ai-sdk-client/tools/tool-prompt-formatter.d.ts +8 -0
  19. package/dist/ai-sdk-client/tools/tool-prompt-formatter.d.ts.map +1 -0
  20. package/dist/ai-sdk-client/tools/tool-prompt-formatter.js +97 -0
  21. package/dist/ai-sdk-client/tools/tool-prompt-formatter.js.map +1 -0
  22. package/dist/app/App.d.ts.map +1 -1
  23. package/dist/app/App.js +22 -12
  24. package/dist/app/App.js.map +1 -1
  25. package/dist/app/components/modal-selectors.d.ts +6 -7
  26. package/dist/app/components/modal-selectors.d.ts.map +1 -1
  27. package/dist/app/components/modal-selectors.js +10 -10
  28. package/dist/app/components/modal-selectors.js.map +1 -1
  29. package/dist/app/components/settings-selector.d.ts +6 -0
  30. package/dist/app/components/settings-selector.d.ts.map +1 -0
  31. package/dist/app/components/settings-selector.js +289 -0
  32. package/dist/app/components/settings-selector.js.map +1 -0
  33. package/dist/app/utils/app-util.d.ts.map +1 -1
  34. package/dist/app/utils/app-util.js +178 -13
  35. package/dist/app/utils/app-util.js.map +1 -1
  36. package/dist/cli.js +22 -0
  37. package/dist/cli.js.map +1 -1
  38. package/dist/client-factory.d.ts.map +1 -1
  39. package/dist/client-factory.js +23 -20
  40. package/dist/client-factory.js.map +1 -1
  41. package/dist/commands/clear.d.ts.map +1 -1
  42. package/dist/commands/clear.js +8 -5
  43. package/dist/commands/clear.js.map +1 -1
  44. package/dist/commands/compact.d.ts +24 -0
  45. package/dist/commands/compact.d.ts.map +1 -0
  46. package/dist/commands/compact.js +31 -0
  47. package/dist/commands/compact.js.map +1 -0
  48. package/dist/commands/custom-commands.d.ts.map +1 -1
  49. package/dist/commands/custom-commands.js +1 -1
  50. package/dist/commands/custom-commands.js.map +1 -1
  51. package/dist/commands/exit.d.ts +1 -0
  52. package/dist/commands/exit.d.ts.map +1 -1
  53. package/dist/commands/exit.js +14 -0
  54. package/dist/commands/exit.js.map +1 -1
  55. package/dist/commands/explorer.d.ts +3 -0
  56. package/dist/commands/explorer.d.ts.map +1 -0
  57. package/dist/commands/explorer.js +10 -0
  58. package/dist/commands/explorer.js.map +1 -0
  59. package/dist/commands/help.d.ts.map +1 -1
  60. package/dist/commands/help.js +1 -1
  61. package/dist/commands/help.js.map +1 -1
  62. package/dist/commands/index.d.ts +6 -3
  63. package/dist/commands/index.d.ts.map +1 -1
  64. package/dist/commands/index.js +6 -3
  65. package/dist/commands/index.js.map +1 -1
  66. package/dist/commands/init.d.ts.map +1 -1
  67. package/dist/commands/init.js +1 -1
  68. package/dist/commands/init.js.map +1 -1
  69. package/dist/commands/lsp.d.ts.map +1 -1
  70. package/dist/commands/lsp.js +1 -1
  71. package/dist/commands/lsp.js.map +1 -1
  72. package/dist/commands/mcp.d.ts.map +1 -1
  73. package/dist/commands/mcp.js +15 -21
  74. package/dist/commands/mcp.js.map +1 -1
  75. package/dist/commands/model-database.d.ts.map +1 -1
  76. package/dist/commands/model-database.js +3 -3
  77. package/dist/commands/model-database.js.map +1 -1
  78. package/dist/commands/settings.d.ts +3 -0
  79. package/dist/commands/settings.d.ts.map +1 -0
  80. package/dist/commands/{theme.js → settings.js} +4 -4
  81. package/dist/commands/settings.js.map +1 -0
  82. package/dist/commands/setup-mcp.d.ts +3 -0
  83. package/dist/commands/setup-mcp.d.ts.map +1 -0
  84. package/dist/commands/setup-mcp.js +15 -0
  85. package/dist/commands/setup-mcp.js.map +1 -0
  86. package/dist/commands/setup-providers.d.ts +3 -0
  87. package/dist/commands/setup-providers.d.ts.map +1 -0
  88. package/dist/commands/{setup-config.js → setup-providers.js} +4 -4
  89. package/dist/commands/setup-providers.js.map +1 -0
  90. package/dist/commands/tasks.d.ts +3 -0
  91. package/dist/commands/tasks.d.ts.map +1 -0
  92. package/dist/commands/tasks.js +117 -0
  93. package/dist/commands/tasks.js.map +1 -0
  94. package/dist/commands/usage.d.ts.map +1 -1
  95. package/dist/commands/usage.js +31 -9
  96. package/dist/commands/usage.js.map +1 -1
  97. package/dist/components/assistant-message.d.ts.map +1 -1
  98. package/dist/components/assistant-message.js +39 -6
  99. package/dist/components/assistant-message.js.map +1 -1
  100. package/dist/components/checkpoint-selector.d.ts.map +1 -1
  101. package/dist/components/checkpoint-selector.js +3 -3
  102. package/dist/components/checkpoint-selector.js.map +1 -1
  103. package/dist/components/file-explorer/index.d.ts +3 -0
  104. package/dist/components/file-explorer/index.d.ts.map +1 -0
  105. package/dist/components/file-explorer/index.js +318 -0
  106. package/dist/components/file-explorer/index.js.map +1 -0
  107. package/dist/components/file-explorer/tree-item.d.ts +3 -0
  108. package/dist/components/file-explorer/tree-item.d.ts.map +1 -0
  109. package/dist/components/file-explorer/tree-item.js +42 -0
  110. package/dist/components/file-explorer/tree-item.js.map +1 -0
  111. package/dist/components/file-explorer/utils.d.ts +18 -0
  112. package/dist/components/file-explorer/utils.d.ts.map +1 -0
  113. package/dist/components/file-explorer/utils.js +51 -0
  114. package/dist/components/file-explorer/utils.js.map +1 -0
  115. package/dist/components/file-explorer.d.ts +2 -0
  116. package/dist/components/file-explorer.d.ts.map +1 -0
  117. package/dist/components/file-explorer.js +3 -0
  118. package/dist/components/file-explorer.js.map +1 -0
  119. package/dist/components/message-box.d.ts +1 -0
  120. package/dist/components/message-box.d.ts.map +1 -1
  121. package/dist/components/message-box.js +2 -2
  122. package/dist/components/message-box.js.map +1 -1
  123. package/dist/components/model-selector.d.ts.map +1 -1
  124. package/dist/components/model-selector.js +3 -3
  125. package/dist/components/model-selector.js.map +1 -1
  126. package/dist/components/provider-selector.d.ts.map +1 -1
  127. package/dist/components/provider-selector.js +1 -1
  128. package/dist/components/provider-selector.js.map +1 -1
  129. package/dist/components/security-disclaimer.d.ts.map +1 -1
  130. package/dist/components/security-disclaimer.js +1 -1
  131. package/dist/components/security-disclaimer.js.map +1 -1
  132. package/dist/components/status.d.ts +11 -0
  133. package/dist/components/status.d.ts.map +1 -1
  134. package/dist/components/status.js +4 -4
  135. package/dist/components/status.js.map +1 -1
  136. package/dist/components/task-list-display.d.ts +8 -0
  137. package/dist/components/task-list-display.d.ts.map +1 -0
  138. package/dist/components/task-list-display.js +26 -0
  139. package/dist/components/task-list-display.js.map +1 -0
  140. package/dist/components/tool-message.d.ts.map +1 -1
  141. package/dist/components/tool-message.js +1 -1
  142. package/dist/components/tool-message.js.map +1 -1
  143. package/dist/components/ui/styled-title.js +38 -38
  144. package/dist/components/usage/progress-bar.d.ts.map +1 -1
  145. package/dist/components/usage/progress-bar.js +6 -3
  146. package/dist/components/usage/progress-bar.js.map +1 -1
  147. package/dist/components/usage/usage-display.d.ts.map +1 -1
  148. package/dist/components/usage/usage-display.js +1 -1
  149. package/dist/components/usage/usage-display.js.map +1 -1
  150. package/dist/components/user-input.d.ts.map +1 -1
  151. package/dist/components/user-input.js +36 -16
  152. package/dist/components/user-input.js.map +1 -1
  153. package/dist/components/user-message.d.ts.map +1 -1
  154. package/dist/components/user-message.js +43 -12
  155. package/dist/components/user-message.js.map +1 -1
  156. package/dist/components/welcome-message.d.ts.map +1 -1
  157. package/dist/components/welcome-message.js +6 -2
  158. package/dist/components/welcome-message.js.map +1 -1
  159. package/dist/config/index.d.ts +7 -1
  160. package/dist/config/index.d.ts.map +1 -1
  161. package/dist/config/index.js +100 -16
  162. package/dist/config/index.js.map +1 -1
  163. package/dist/config/mcp-config-loader.d.ts +31 -0
  164. package/dist/config/mcp-config-loader.d.ts.map +1 -0
  165. package/dist/config/mcp-config-loader.js +341 -0
  166. package/dist/config/mcp-config-loader.js.map +1 -0
  167. package/dist/config/nanocoder-tools-config.d.ts +7 -0
  168. package/dist/config/nanocoder-tools-config.d.ts.map +1 -0
  169. package/dist/config/nanocoder-tools-config.js +14 -0
  170. package/dist/config/nanocoder-tools-config.js.map +1 -0
  171. package/dist/config/preferences.d.ts +4 -0
  172. package/dist/config/preferences.d.ts.map +1 -1
  173. package/dist/config/preferences.js +14 -0
  174. package/dist/config/preferences.js.map +1 -1
  175. package/dist/config/themes.d.ts.map +1 -1
  176. package/dist/config/themes.js +340 -0
  177. package/dist/config/themes.js.map +1 -1
  178. package/dist/config/validation.d.ts +11 -0
  179. package/dist/config/validation.d.ts.map +1 -0
  180. package/dist/config/validation.js +71 -0
  181. package/dist/config/validation.js.map +1 -0
  182. package/dist/constants.d.ts +3 -0
  183. package/dist/constants.d.ts.map +1 -1
  184. package/dist/constants.js +63 -0
  185. package/dist/constants.js.map +1 -1
  186. package/dist/hooks/chat-handler/conversation/conversation-loop.d.ts +3 -1
  187. package/dist/hooks/chat-handler/conversation/conversation-loop.d.ts.map +1 -1
  188. package/dist/hooks/chat-handler/conversation/conversation-loop.js +52 -18
  189. package/dist/hooks/chat-handler/conversation/conversation-loop.js.map +1 -1
  190. package/dist/hooks/chat-handler/useChatHandler.d.ts.map +1 -1
  191. package/dist/hooks/chat-handler/useChatHandler.js +7 -0
  192. package/dist/hooks/chat-handler/useChatHandler.js.map +1 -1
  193. package/dist/hooks/useAppHandlers.d.ts +3 -2
  194. package/dist/hooks/useAppHandlers.d.ts.map +1 -1
  195. package/dist/hooks/useAppHandlers.js +67 -4
  196. package/dist/hooks/useAppHandlers.js.map +1 -1
  197. package/dist/hooks/useAppInitialization.d.ts.map +1 -1
  198. package/dist/hooks/useAppInitialization.js +14 -4
  199. package/dist/hooks/useAppInitialization.js.map +1 -1
  200. package/dist/hooks/useAppState.d.ts +6 -4
  201. package/dist/hooks/useAppState.d.ts.map +1 -1
  202. package/dist/hooks/useAppState.js +9 -6
  203. package/dist/hooks/useAppState.js.map +1 -1
  204. package/dist/hooks/useModeHandlers.d.ts +12 -10
  205. package/dist/hooks/useModeHandlers.d.ts.map +1 -1
  206. package/dist/hooks/useModeHandlers.js +52 -42
  207. package/dist/hooks/useModeHandlers.js.map +1 -1
  208. package/dist/hooks/useTerminalWidth.d.ts +1 -1
  209. package/dist/hooks/useTerminalWidth.d.ts.map +1 -1
  210. package/dist/hooks/useTerminalWidth.js +2 -2
  211. package/dist/hooks/useTerminalWidth.js.map +1 -1
  212. package/dist/hooks/useUIState.d.ts +2 -0
  213. package/dist/hooks/useUIState.d.ts.map +1 -1
  214. package/dist/hooks/useUIState.js +11 -1
  215. package/dist/hooks/useUIState.js.map +1 -1
  216. package/dist/mcp/mcp-client.d.ts +2 -0
  217. package/dist/mcp/mcp-client.d.ts.map +1 -1
  218. package/dist/mcp/mcp-client.js +13 -1
  219. package/dist/mcp/mcp-client.js.map +1 -1
  220. package/dist/models/models-dev-client.d.ts.map +1 -1
  221. package/dist/models/models-dev-client.js +61 -37
  222. package/dist/models/models-dev-client.js.map +1 -1
  223. package/dist/services/bash-executor.d.ts.map +1 -1
  224. package/dist/services/bash-executor.js +7 -0
  225. package/dist/services/bash-executor.js.map +1 -1
  226. package/dist/test-utils/cli-test-harness.d.ts +181 -0
  227. package/dist/test-utils/cli-test-harness.d.ts.map +1 -0
  228. package/dist/test-utils/cli-test-harness.js +413 -0
  229. package/dist/test-utils/cli-test-harness.js.map +1 -0
  230. package/dist/tools/execute-bash.d.ts.map +1 -1
  231. package/dist/tools/execute-bash.js +10 -2
  232. package/dist/tools/execute-bash.js.map +1 -1
  233. package/dist/tools/git/git-add.d.ts +8 -0
  234. package/dist/tools/git/git-add.d.ts.map +1 -0
  235. package/dist/tools/git/git-add.js +141 -0
  236. package/dist/tools/git/git-add.js.map +1 -0
  237. package/dist/tools/git/git-branch.d.ts +8 -0
  238. package/dist/tools/git/git-branch.d.ts.map +1 -0
  239. package/dist/tools/git/git-branch.js +251 -0
  240. package/dist/tools/git/git-branch.js.map +1 -0
  241. package/dist/tools/git/git-commit.d.ts +8 -0
  242. package/dist/tools/git/git-commit.d.ts.map +1 -0
  243. package/dist/tools/git/git-commit.js +176 -0
  244. package/dist/tools/git/git-commit.js.map +1 -0
  245. package/dist/tools/git/git-diff.d.ts +8 -0
  246. package/dist/tools/git/git-diff.d.ts.map +1 -0
  247. package/dist/tools/git/git-diff.js +136 -0
  248. package/dist/tools/git/git-diff.js.map +1 -0
  249. package/dist/tools/git/git-log.d.ts +8 -0
  250. package/dist/tools/git/git-log.d.ts.map +1 -0
  251. package/dist/tools/git/git-log.js +146 -0
  252. package/dist/tools/git/git-log.js.map +1 -0
  253. package/dist/tools/git/git-pr.d.ts +8 -0
  254. package/dist/tools/git/git-pr.d.ts.map +1 -0
  255. package/dist/tools/git/git-pr.js +252 -0
  256. package/dist/tools/git/git-pr.js.map +1 -0
  257. package/dist/tools/git/git-pull.d.ts +8 -0
  258. package/dist/tools/git/git-pull.d.ts.map +1 -0
  259. package/dist/tools/git/git-pull.js +151 -0
  260. package/dist/tools/git/git-pull.js.map +1 -0
  261. package/dist/tools/git/git-push.d.ts +8 -0
  262. package/dist/tools/git/git-push.d.ts.map +1 -0
  263. package/dist/tools/git/git-push.js +157 -0
  264. package/dist/tools/git/git-push.js.map +1 -0
  265. package/dist/tools/git/git-reset.d.ts +8 -0
  266. package/dist/tools/git/git-reset.d.ts.map +1 -0
  267. package/dist/tools/git/git-reset.js +183 -0
  268. package/dist/tools/git/git-reset.js.map +1 -0
  269. package/dist/tools/git/git-stash.d.ts +8 -0
  270. package/dist/tools/git/git-stash.d.ts.map +1 -0
  271. package/dist/tools/git/git-stash.js +260 -0
  272. package/dist/tools/git/git-stash.js.map +1 -0
  273. package/dist/tools/git/git-status.d.ts +8 -0
  274. package/dist/tools/git/git-status.d.ts.map +1 -0
  275. package/dist/tools/git/git-status.js +233 -0
  276. package/dist/tools/git/git-status.js.map +1 -0
  277. package/dist/tools/git/index.d.ts +9 -12
  278. package/dist/tools/git/index.d.ts.map +1 -1
  279. package/dist/tools/git/index.js +43 -11
  280. package/dist/tools/git/index.js.map +1 -1
  281. package/dist/tools/git/utils.d.ts +136 -23
  282. package/dist/tools/git/utils.d.ts.map +1 -1
  283. package/dist/tools/git/utils.js +405 -360
  284. package/dist/tools/git/utils.js.map +1 -1
  285. package/dist/tools/index.d.ts.map +1 -1
  286. package/dist/tools/index.js +15 -9
  287. package/dist/tools/index.js.map +1 -1
  288. package/dist/tools/string-replace.d.ts.map +1 -1
  289. package/dist/tools/string-replace.js +74 -17
  290. package/dist/tools/string-replace.js.map +1 -1
  291. package/dist/tools/tasks/create-task.d.ts +3 -0
  292. package/dist/tools/tasks/create-task.d.ts.map +1 -0
  293. package/dist/tools/tasks/create-task.js +101 -0
  294. package/dist/tools/tasks/create-task.js.map +1 -0
  295. package/dist/tools/tasks/delete-task.d.ts +3 -0
  296. package/dist/tools/tasks/delete-task.d.ts.map +1 -0
  297. package/dist/tools/tasks/delete-task.js +101 -0
  298. package/dist/tools/tasks/delete-task.js.map +1 -0
  299. package/dist/tools/tasks/index.d.ts +7 -0
  300. package/dist/tools/tasks/index.d.ts.map +1 -0
  301. package/dist/tools/tasks/index.js +6 -0
  302. package/dist/tools/tasks/index.js.map +1 -0
  303. package/dist/tools/tasks/list-tasks.d.ts +3 -0
  304. package/dist/tools/tasks/list-tasks.d.ts.map +1 -0
  305. package/dist/tools/tasks/list-tasks.js +67 -0
  306. package/dist/tools/tasks/list-tasks.js.map +1 -0
  307. package/dist/tools/tasks/storage.d.ts +7 -0
  308. package/dist/tools/tasks/storage.d.ts.map +1 -0
  309. package/dist/tools/tasks/storage.js +31 -0
  310. package/dist/tools/tasks/storage.js.map +1 -0
  311. package/dist/tools/tasks/types.d.ts +11 -0
  312. package/dist/tools/tasks/types.d.ts.map +1 -0
  313. package/dist/tools/tasks/types.js +2 -0
  314. package/dist/tools/tasks/types.js.map +1 -0
  315. package/dist/tools/tasks/update-task.d.ts +3 -0
  316. package/dist/tools/tasks/update-task.d.ts.map +1 -0
  317. package/dist/tools/tasks/update-task.js +142 -0
  318. package/dist/tools/tasks/update-task.js.map +1 -0
  319. package/dist/tools/tool-manager.d.ts +1 -0
  320. package/dist/tools/tool-manager.d.ts.map +1 -1
  321. package/dist/tools/write-file.d.ts.map +1 -1
  322. package/dist/tools/write-file.js +52 -3
  323. package/dist/tools/write-file.js.map +1 -1
  324. package/dist/types/app.d.ts +3 -2
  325. package/dist/types/app.d.ts.map +1 -1
  326. package/dist/types/config.d.ts +54 -27
  327. package/dist/types/config.d.ts.map +1 -1
  328. package/dist/types/file-explorer.d.ts +14 -0
  329. package/dist/types/file-explorer.d.ts.map +1 -0
  330. package/dist/types/file-explorer.js +2 -0
  331. package/dist/types/file-explorer.js.map +1 -0
  332. package/dist/types/mcp.d.ts +1 -0
  333. package/dist/types/mcp.d.ts.map +1 -1
  334. package/dist/types/ui.d.ts +2 -2
  335. package/dist/types/ui.d.ts.map +1 -1
  336. package/dist/utils/auto-compact.d.ts +23 -0
  337. package/dist/utils/auto-compact.d.ts.map +1 -0
  338. package/dist/utils/auto-compact.js +149 -0
  339. package/dist/utils/auto-compact.js.map +1 -0
  340. package/dist/utils/completion-note.d.ts +3 -0
  341. package/dist/utils/completion-note.d.ts.map +1 -0
  342. package/dist/utils/completion-note.js +39 -0
  343. package/dist/utils/completion-note.js.map +1 -0
  344. package/dist/utils/compression-backup.d.ts +14 -0
  345. package/dist/utils/compression-backup.d.ts.map +1 -0
  346. package/dist/utils/compression-backup.js +31 -0
  347. package/dist/utils/compression-backup.js.map +1 -0
  348. package/dist/utils/file-tree.d.ts +37 -0
  349. package/dist/utils/file-tree.d.ts.map +1 -0
  350. package/dist/utils/file-tree.js +122 -0
  351. package/dist/utils/file-tree.js.map +1 -0
  352. package/dist/utils/indentation-normalizer.d.ts +10 -0
  353. package/dist/utils/indentation-normalizer.d.ts.map +1 -1
  354. package/dist/utils/indentation-normalizer.js +48 -0
  355. package/dist/utils/indentation-normalizer.js.map +1 -1
  356. package/dist/utils/logging/config.d.ts +11 -0
  357. package/dist/utils/logging/config.d.ts.map +1 -1
  358. package/dist/utils/logging/config.js +19 -4
  359. package/dist/utils/logging/config.js.map +1 -1
  360. package/dist/utils/logging/logger-provider.d.ts +15 -0
  361. package/dist/utils/logging/logger-provider.d.ts.map +1 -1
  362. package/dist/utils/logging/logger-provider.js +48 -24
  363. package/dist/utils/logging/logger-provider.js.map +1 -1
  364. package/dist/utils/message-compression.d.ts +55 -0
  365. package/dist/utils/message-compression.d.ts.map +1 -0
  366. package/dist/utils/message-compression.js +401 -0
  367. package/dist/utils/message-compression.js.map +1 -0
  368. package/dist/vscode/protocol.d.ts +5 -1
  369. package/dist/vscode/protocol.d.ts.map +1 -1
  370. package/dist/vscode/vscode-server.d.ts +4 -0
  371. package/dist/vscode/vscode-server.d.ts.map +1 -1
  372. package/dist/vscode/vscode-server.js +10 -0
  373. package/dist/vscode/vscode-server.js.map +1 -1
  374. package/dist/wizards/mcp-wizard.d.ts +8 -0
  375. package/dist/wizards/mcp-wizard.d.ts.map +1 -0
  376. package/dist/wizards/mcp-wizard.js +256 -0
  377. package/dist/wizards/mcp-wizard.js.map +1 -0
  378. package/dist/wizards/provider-wizard.d.ts +8 -0
  379. package/dist/wizards/provider-wizard.d.ts.map +1 -0
  380. package/dist/wizards/provider-wizard.js +254 -0
  381. package/dist/wizards/provider-wizard.js.map +1 -0
  382. package/dist/wizards/steps/location-step.d.ts +10 -0
  383. package/dist/wizards/steps/location-step.d.ts.map +1 -0
  384. package/dist/{wizard → wizards}/steps/location-step.js +7 -10
  385. package/dist/wizards/steps/location-step.js.map +1 -0
  386. package/dist/{wizard → wizards}/steps/mcp-step.d.ts +3 -1
  387. package/dist/wizards/steps/mcp-step.d.ts.map +1 -0
  388. package/dist/{wizard → wizards}/steps/mcp-step.js +14 -11
  389. package/dist/wizards/steps/mcp-step.js.map +1 -0
  390. package/dist/wizards/steps/provider-step.d.ts +11 -0
  391. package/dist/wizards/steps/provider-step.d.ts.map +1 -0
  392. package/dist/{wizard → wizards}/steps/provider-step.js +12 -10
  393. package/dist/wizards/steps/provider-step.js.map +1 -0
  394. package/dist/{wizard → wizards}/steps/summary-step.d.ts +3 -2
  395. package/dist/wizards/steps/summary-step.d.ts.map +1 -0
  396. package/dist/{wizard → wizards}/steps/summary-step.js +2 -2
  397. package/dist/wizards/steps/summary-step.js.map +1 -0
  398. package/dist/{wizard → wizards}/templates/mcp-templates.d.ts +1 -0
  399. package/dist/wizards/templates/mcp-templates.d.ts.map +1 -0
  400. package/dist/wizards/templates/mcp-templates.js.map +1 -0
  401. package/dist/wizards/templates/provider-templates.d.ts.map +1 -0
  402. package/dist/{wizard → wizards}/templates/provider-templates.js +73 -8
  403. package/dist/wizards/templates/provider-templates.js.map +1 -0
  404. package/dist/wizards/utils/fetch-cloud-models.d.ts.map +1 -0
  405. package/dist/wizards/utils/fetch-cloud-models.js.map +1 -0
  406. package/dist/wizards/utils/fetch-local-models.d.ts.map +1 -0
  407. package/dist/wizards/utils/fetch-local-models.js.map +1 -0
  408. package/dist/wizards/validation.d.ts +72 -0
  409. package/dist/wizards/validation.d.ts.map +1 -0
  410. package/dist/{wizard → wizards}/validation.js +64 -1
  411. package/dist/wizards/validation.js.map +1 -0
  412. package/package.json +21 -6
  413. package/source/app/prompts/main-prompt.md +75 -68
  414. package/dist/commands/setup-config.d.ts +0 -3
  415. package/dist/commands/setup-config.d.ts.map +0 -1
  416. package/dist/commands/setup-config.js.map +0 -1
  417. package/dist/commands/theme.d.ts +0 -3
  418. package/dist/commands/theme.d.ts.map +0 -1
  419. package/dist/commands/theme.js.map +0 -1
  420. package/dist/commands/title-shape.d.ts +0 -3
  421. package/dist/commands/title-shape.d.ts.map +0 -1
  422. package/dist/commands/title-shape.js +0 -54
  423. package/dist/commands/title-shape.js.map +0 -1
  424. package/dist/components/theme-selector.d.ts +0 -8
  425. package/dist/components/theme-selector.d.ts.map +0 -1
  426. package/dist/components/theme-selector.js +0 -51
  427. package/dist/components/theme-selector.js.map +0 -1
  428. package/dist/components/title-shape-selector.d.ts +0 -8
  429. package/dist/components/title-shape-selector.d.ts.map +0 -1
  430. package/dist/components/title-shape-selector.js +0 -108
  431. package/dist/components/title-shape-selector.js.map +0 -1
  432. package/dist/tools/git/git-branch-suggest.d.ts +0 -9
  433. package/dist/tools/git/git-branch-suggest.d.ts.map +0 -1
  434. package/dist/tools/git/git-branch-suggest.js +0 -326
  435. package/dist/tools/git/git-branch-suggest.js.map +0 -1
  436. package/dist/tools/git/git-create-pr.d.ts +0 -9
  437. package/dist/tools/git/git-create-pr.d.ts.map +0 -1
  438. package/dist/tools/git/git-create-pr.js +0 -404
  439. package/dist/tools/git/git-create-pr.js.map +0 -1
  440. package/dist/tools/git/git-smart-commit.d.ts +0 -9
  441. package/dist/tools/git/git-smart-commit.d.ts.map +0 -1
  442. package/dist/tools/git/git-smart-commit.js +0 -308
  443. package/dist/tools/git/git-smart-commit.js.map +0 -1
  444. package/dist/tools/git/git-status-enhanced.d.ts +0 -9
  445. package/dist/tools/git/git-status-enhanced.d.ts.map +0 -1
  446. package/dist/tools/git/git-status-enhanced.js +0 -305
  447. package/dist/tools/git/git-status-enhanced.js.map +0 -1
  448. package/dist/tools/git/types.d.ts +0 -103
  449. package/dist/tools/git/types.d.ts.map +0 -1
  450. package/dist/tools/git/types.js +0 -7
  451. package/dist/tools/git/types.js.map +0 -1
  452. package/dist/utils/gradient-utils.d.ts +0 -25
  453. package/dist/utils/gradient-utils.d.ts.map +0 -1
  454. package/dist/utils/gradient-utils.js +0 -45
  455. package/dist/utils/gradient-utils.js.map +0 -1
  456. package/dist/wizard/config-wizard.d.ts +0 -8
  457. package/dist/wizard/config-wizard.d.ts.map +0 -1
  458. package/dist/wizard/config-wizard.js +0 -212
  459. package/dist/wizard/config-wizard.js.map +0 -1
  460. package/dist/wizard/steps/location-step.d.ts +0 -9
  461. package/dist/wizard/steps/location-step.d.ts.map +0 -1
  462. package/dist/wizard/steps/location-step.js.map +0 -1
  463. package/dist/wizard/steps/mcp-step.d.ts.map +0 -1
  464. package/dist/wizard/steps/mcp-step.js.map +0 -1
  465. package/dist/wizard/steps/provider-step.d.ts +0 -9
  466. package/dist/wizard/steps/provider-step.d.ts.map +0 -1
  467. package/dist/wizard/steps/provider-step.js.map +0 -1
  468. package/dist/wizard/steps/summary-step.d.ts.map +0 -1
  469. package/dist/wizard/steps/summary-step.js.map +0 -1
  470. package/dist/wizard/templates/mcp-templates.d.ts.map +0 -1
  471. package/dist/wizard/templates/mcp-templates.js.map +0 -1
  472. package/dist/wizard/templates/provider-templates.d.ts.map +0 -1
  473. package/dist/wizard/templates/provider-templates.js.map +0 -1
  474. package/dist/wizard/utils/fetch-cloud-models.d.ts.map +0 -1
  475. package/dist/wizard/utils/fetch-cloud-models.js.map +0 -1
  476. package/dist/wizard/utils/fetch-local-models.d.ts.map +0 -1
  477. package/dist/wizard/utils/fetch-local-models.js.map +0 -1
  478. package/dist/wizard/validation.d.ts +0 -64
  479. package/dist/wizard/validation.d.ts.map +0 -1
  480. package/dist/wizard/validation.js.map +0 -1
  481. /package/dist/{wizard → wizards}/templates/mcp-templates.js +0 -0
  482. /package/dist/{wizard → wizards}/templates/provider-templates.d.ts +0 -0
  483. /package/dist/{wizard → wizards}/utils/fetch-cloud-models.d.ts +0 -0
  484. /package/dist/{wizard → wizards}/utils/fetch-cloud-models.js +0 -0
  485. /package/dist/{wizard → wizards}/utils/fetch-local-models.d.ts +0 -0
  486. /package/dist/{wizard → wizards}/utils/fetch-local-models.js +0 -0
@@ -1,108 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Box, Text, useFocus, useInput } from 'ink';
3
- import BigText from 'ink-big-text';
4
- import Gradient from 'ink-gradient';
5
- import SelectInput from 'ink-select-input';
6
- import { useMemo, useState } from 'react';
7
- import { TitledBoxWithPreferences } from '../components/ui/titled-box.js';
8
- import { useTerminalWidth } from '../hooks/useTerminalWidth.js';
9
- import { useTheme } from '../hooks/useTheme.js';
10
- import { useTitleShape } from '../hooks/useTitleShape.js';
11
- export default function TitleShapeSelector({ onComplete, onCancel, }) {
12
- const boxWidth = useTerminalWidth();
13
- const { colors } = useTheme();
14
- const { currentTitleShape, setCurrentTitleShape } = useTitleShape();
15
- // Store original shape for restore on cancel
16
- const [originalShape] = useState(currentTitleShape);
17
- // Auto-focus to ensure keyboard navigation works
18
- useFocus({ autoFocus: true, id: 'title-shape-selector' });
19
- // Handle escape key to cancel
20
- useInput((_, key) => {
21
- if (key.escape) {
22
- // Restore original shape on cancel
23
- setCurrentTitleShape(originalShape);
24
- onCancel();
25
- }
26
- });
27
- // Create title shape options
28
- const shapeOptions = [
29
- { label: 'Pill :- Demo Title', value: 'pill' },
30
- { label: 'Rounded :- ╭ Demo Title ╮', value: 'rounded' },
31
- { label: 'Square :- ┌ Demo Title ┐', value: 'square' },
32
- { label: 'Double :- ╔ Demo Title ╗', value: 'double' },
33
- { label: 'Arrow Left :- ← Demo Title →', value: 'arrow-left' },
34
- { label: 'Arrow Right :- → Demo Title ←', value: 'arrow-right' },
35
- { label: 'Arrow Double :- « Demo Title »', value: 'arrow-double' },
36
- { label: 'Angled Box :- ╱ Demo Title ╲', value: 'angled-box' },
37
- {
38
- label: 'Powerline Angled :-  Demo Title  (Requires Nerd Fonts)',
39
- value: 'powerline-angled',
40
- },
41
- {
42
- label: 'Powerline Angled Thin :-  Demo Title  (Requires Nerd Fonts)',
43
- value: 'powerline-angled-thin',
44
- },
45
- {
46
- label: 'Powerline Block :-  Demo Title  (Requires Nerd Fonts)',
47
- value: 'powerline-block',
48
- },
49
- {
50
- label: 'Powerline Block Alt :-  Demo Title  (Requires Nerd Fonts)',
51
- value: 'powerline-block-alt',
52
- },
53
- {
54
- label: 'Powerline Curved :-  Demo Title  (Requires Nerd Fonts)',
55
- value: 'powerline-curved',
56
- },
57
- {
58
- label: 'Powerline Curved Thin :-  Demo Title  (Requires Nerd Fonts)',
59
- value: 'powerline-curved-thin',
60
- },
61
- {
62
- label: 'Powerline Flame :-  Demo Title  (Requires Nerd Fonts)',
63
- value: 'powerline-flame',
64
- },
65
- {
66
- label: 'Powerline Flame Thin :-  Demo Title  (Requires Nerd Fonts)',
67
- value: 'powerline-flame-thin',
68
- },
69
- {
70
- label: 'Powerline Graph :-  Demo Title  (Requires Nerd Fonts)',
71
- value: 'powerline-graph',
72
- },
73
- {
74
- label: 'Powerline Ribbon :-  Demo Title  (Requires Nerd Fonts)',
75
- value: 'powerline-ribbon',
76
- },
77
- {
78
- label: 'Powerline Segment :-  Demo Title  (Requires Nerd Fonts)',
79
- value: 'powerline-segment',
80
- },
81
- {
82
- label: 'Powerline Segment Thin :-  Demo Title  (Requires Nerd Fonts)',
83
- value: 'powerline-segment-thin',
84
- },
85
- ];
86
- // Find index of current shape for initial selection
87
- const initialIndex = useMemo(() => {
88
- const index = shapeOptions.findIndex(option => option.value === originalShape);
89
- return index >= 0 ? index : 0;
90
- }, [originalShape]);
91
- const [_currentIndex, _setCurrentIndex] = useState(initialIndex);
92
- const handleSelect = (item) => {
93
- setCurrentTitleShape(item.value);
94
- onComplete(item.value);
95
- };
96
- // Handle shape preview during navigation
97
- const handleHighlight = (item) => {
98
- // Update the shape temporarily for preview
99
- setCurrentTitleShape(item.value);
100
- };
101
- // Get the display name for current shape
102
- const _getCurrentShapeName = () => {
103
- const currentOption = shapeOptions.find(option => option.value === currentTitleShape);
104
- return currentOption ? currentOption.label : 'Unknown';
105
- };
106
- return (_jsxs(_Fragment, { children: [_jsx(Gradient, { colors: [colors.primary, colors.tool], children: _jsx(BigText, { text: "Title Shapes", font: "tiny" }) }), _jsxs(TitledBoxWithPreferences, { title: "\u273B Choose your preferred title shape! \u273B", reversePowerline: true, width: boxWidth, borderColor: colors.primary, paddingX: 2, paddingY: 1, flexDirection: "column", marginBottom: 1, children: [_jsx(Box, { paddingBottom: 1, children: _jsx(Text, { color: colors.text, children: "Tips for getting started:" }) }), _jsxs(Box, { paddingBottom: 1, flexDirection: "column", children: [_jsx(Text, { color: colors.secondary, children: "1. Use arrow keys to navigate through the shape options." }), _jsx(Text, { color: colors.secondary, children: "2. Each option shows a preview of how the title will look." }), _jsx(Text, { color: colors.secondary, children: "3. Press Enter to select your preferred shape." }), _jsx(Text, { color: colors.secondary, children: "4. Press Esc to cancel and keep your current shape." }), _jsx(Text, { color: colors.secondary, children: "5. The CLI will remember your choice for all title boxes." })] }), _jsx(Text, { color: colors.text, children: "/help for help" })] }), _jsx(Box, { borderStyle: "round", width: boxWidth, borderColor: colors.primary, paddingX: 2, paddingY: 1, marginBottom: 1, children: _jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: colors.secondary, children: "Select a title shape" }) }), _jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: colors.secondary, children: "\u2191/\u2193 Navigate \u2022 Enter Select \u2022 Esc Cancel" }) }), _jsx(SelectInput, { items: shapeOptions, onSelect: handleSelect, onHighlight: handleHighlight })] }) })] }));
107
- }
108
- //# sourceMappingURL=title-shape-selector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"title-shape-selector.js","sourceRoot":"","sources":["../../source/components/title-shape-selector.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Git Branch Suggest Tool
3
- *
4
- * Provides intelligent branch naming suggestions and workflow
5
- * strategy recommendations based on project context.
6
- */
7
- import type { NanocoderToolExport } from '../../types/core.js';
8
- export declare const gitBranchSuggestTool: NanocoderToolExport;
9
- //# sourceMappingURL=git-branch-suggest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git-branch-suggest.d.ts","sourceRoot":"","sources":["../../../source/tools/git/git-branch-suggest.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AA8atD,eAAO,MAAM,oBAAoB,EAAE,mBAKlC,CAAC"}
@@ -1,326 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * Git Branch Suggest Tool
4
- *
5
- * Provides intelligent branch naming suggestions and workflow
6
- * strategy recommendations based on project context.
7
- */
8
- import { Box, Text } from 'ink';
9
- import React from 'react';
10
- import ToolMessage from '../../components/tool-message.js';
11
- import { ThemeContext } from '../../hooks/useTheme.js';
12
- import { jsonSchema, tool } from '../../types/core.js';
13
- import { execGit, getCurrentBranch, getDefaultBranch, isGitRepository, } from './utils.js';
14
- /**
15
- * Normalize description for branch name
16
- */
17
- function normalizeForBranchName(description) {
18
- return description
19
- .toLowerCase()
20
- .replace(/[^a-z0-9\s-]/g, '') // Remove special characters
21
- .replace(/\s+/g, '-') // Replace spaces with hyphens
22
- .replace(/-+/g, '-') // Remove duplicate hyphens
23
- .replace(/^-|-$/g, '') // Trim hyphens from ends
24
- .substring(0, 50); // Limit length
25
- }
26
- /**
27
- * Generate branch name based on work type and description
28
- */
29
- function generateBranchName(workType, description, ticketId) {
30
- const normalizedDesc = normalizeForBranchName(description);
31
- // Validate normalized description isn't empty (could happen with special-char-only input)
32
- if (!normalizedDesc && !ticketId) {
33
- throw new Error('Description must contain at least some alphanumeric characters');
34
- }
35
- // Map work types to conventional prefixes
36
- const prefixMap = {
37
- feature: 'feature',
38
- bugfix: 'bugfix',
39
- hotfix: 'hotfix',
40
- release: 'release',
41
- chore: 'chore',
42
- };
43
- const prefix = prefixMap[workType];
44
- // Build branch name
45
- const parts = [prefix];
46
- if (ticketId) {
47
- parts.push(ticketId.toUpperCase());
48
- }
49
- if (normalizedDesc) {
50
- parts.push(normalizedDesc);
51
- }
52
- return parts.join('/');
53
- }
54
- /**
55
- * Generate alternative branch name formats
56
- */
57
- function generateAlternatives(workType, description, ticketId) {
58
- const normalizedDesc = normalizeForBranchName(description);
59
- const alternatives = [];
60
- // If normalized description is empty, use a fallback
61
- const descPart = normalizedDesc || 'update';
62
- // Alternative 1: Short form with ticket first
63
- if (ticketId) {
64
- alternatives.push(`${ticketId.toLowerCase()}-${descPart}`);
65
- }
66
- // Alternative 2: Kebab-case without prefix (only if we have content)
67
- if (normalizedDesc) {
68
- alternatives.push(normalizedDesc);
69
- }
70
- // Alternative 3: Username prefix (common pattern)
71
- alternatives.push(`user/${workType}/${descPart}`);
72
- // Alternative 4: Date-based
73
- const date = new Date().toISOString().slice(0, 10).replace(/-/g, '');
74
- alternatives.push(`${workType}/${date}-${descPart.substring(0, 20)}`);
75
- return alternatives.filter(Boolean).slice(0, 4);
76
- }
77
- /**
78
- * Analyze repository to suggest workflow strategy
79
- */
80
- async function analyzeWorkflowStrategy() {
81
- try {
82
- // Get list of branches
83
- const branchList = await execGit(['branch', '-a']);
84
- const branches = branchList
85
- .split('\n')
86
- .map(b => b.trim().replace(/^\*?\s*/, ''));
87
- // Check for common patterns
88
- const hasDevelop = branches.some(b => b.includes('develop')) ||
89
- branches.some(b => b.includes('dev'));
90
- const hasReleaseBranches = branches.some(b => b.includes('release/'));
91
- const hasHotfixBranches = branches.some(b => b.includes('hotfix/'));
92
- const hasFeatureBranches = branches.some(b => b.includes('feature/'));
93
- // Check commit frequency (recent commits on main)
94
- let recentCommits = 0;
95
- try {
96
- const log = await execGit([
97
- 'log',
98
- '--oneline',
99
- '--since=1 week ago',
100
- '-n',
101
- '50',
102
- ]);
103
- recentCommits = log.split('\n').filter(l => l.trim()).length;
104
- }
105
- catch {
106
- // May fail on new repos
107
- }
108
- // Determine strategy
109
- if (hasDevelop && hasReleaseBranches) {
110
- return {
111
- strategy: 'gitflow',
112
- rationale: 'Repository uses develop branch and release branches, suggesting GitFlow workflow',
113
- };
114
- }
115
- if (hasReleaseBranches && !hasDevelop) {
116
- return {
117
- strategy: 'release-flow',
118
- rationale: 'Repository uses release branches without develop, suggesting Release Flow',
119
- };
120
- }
121
- if (recentCommits > 30) {
122
- return {
123
- strategy: 'trunk-based',
124
- rationale: 'High commit frequency suggests trunk-based development might be suitable',
125
- };
126
- }
127
- if (hasFeatureBranches || hasHotfixBranches) {
128
- return {
129
- strategy: 'feature-branch',
130
- rationale: 'Repository uses feature/hotfix branches, following feature branch workflow',
131
- };
132
- }
133
- // Default to feature-branch
134
- return {
135
- strategy: 'feature-branch',
136
- rationale: 'Default recommendation: Feature Branch workflow suits most projects',
137
- };
138
- }
139
- catch {
140
- return {
141
- strategy: 'feature-branch',
142
- rationale: 'Unable to analyze repository; recommending Feature Branch workflow',
143
- };
144
- }
145
- }
146
- /**
147
- * Get workflow strategy description
148
- */
149
- function getWorkflowDescription(strategy) {
150
- const descriptions = {
151
- 'feature-branch': `
152
- Feature Branch Workflow:
153
- - Create feature branches from main/master
154
- - Merge via pull requests after review
155
- - Simple and suitable for most teams
156
- - Best for: Small to medium teams, web applications
157
- `,
158
- gitflow: `
159
- GitFlow Workflow:
160
- - main: production-ready code
161
- - develop: integration branch
162
- - feature/*: new features
163
- - release/*: release preparation
164
- - hotfix/*: urgent production fixes
165
- - Best for: Scheduled releases, larger teams
166
- `,
167
- 'trunk-based': `
168
- Trunk-Based Development:
169
- - Short-lived feature branches (< 2 days)
170
- - Frequent merges to main
171
- - Feature flags for incomplete work
172
- - Continuous integration required
173
- - Best for: Experienced teams, continuous deployment
174
- `,
175
- 'release-flow': `
176
- Release Flow (GitHub Flow variant):
177
- - main: always deployable
178
- - feature branches for all work
179
- - release/* for release stabilization
180
- - Deploy from main or release branches
181
- - Best for: Web services, SaaS products
182
- `,
183
- };
184
- return descriptions[strategy] || descriptions['feature-branch'];
185
- }
186
- /**
187
- * Execute the git_branch_suggest tool
188
- */
189
- const executeGitBranchSuggest = async (args) => {
190
- // Check if we're in a git repository
191
- if (!(await isGitRepository())) {
192
- return 'Error: Not a git repository. Please run this command from within a git repository.';
193
- }
194
- const currentBranch = await getCurrentBranch();
195
- const defaultBranch = await getDefaultBranch();
196
- // Analyze workflow
197
- const { strategy, rationale } = await analyzeWorkflowStrategy();
198
- // Generate suggestions
199
- const suggestedName = generateBranchName(args.workType, args.description, args.ticketId);
200
- const alternatives = generateAlternatives(args.workType, args.description, args.ticketId);
201
- // Check if branch already exists
202
- let branchExists = false;
203
- try {
204
- await execGit(['rev-parse', '--verify', suggestedName]);
205
- branchExists = true;
206
- }
207
- catch {
208
- branchExists = false;
209
- }
210
- // Build response
211
- const responseLines = [];
212
- responseLines.push('=== Branch Suggestion ===');
213
- responseLines.push('');
214
- responseLines.push(`Current branch: ${currentBranch}`);
215
- responseLines.push(`Default branch: ${defaultBranch}`);
216
- responseLines.push(`Work type: ${args.workType}`);
217
- if (args.ticketId) {
218
- responseLines.push(`Ticket ID: ${args.ticketId}`);
219
- }
220
- responseLines.push('');
221
- responseLines.push('--- Suggested Branch Name ---');
222
- responseLines.push(` ${suggestedName}${branchExists ? ' (already exists!)' : ''}`);
223
- responseLines.push('');
224
- responseLines.push('--- Alternatives ---');
225
- for (const alt of alternatives) {
226
- responseLines.push(` - ${alt}`);
227
- }
228
- responseLines.push('');
229
- responseLines.push('--- Workflow Analysis ---');
230
- responseLines.push(`Detected strategy: ${strategy}`);
231
- responseLines.push(`Rationale: ${rationale}`);
232
- responseLines.push('');
233
- responseLines.push(getWorkflowDescription(strategy));
234
- responseLines.push('');
235
- responseLines.push('--- Commands ---');
236
- responseLines.push('');
237
- responseLines.push(`# Create and switch to the new branch:`);
238
- responseLines.push(`git checkout -b ${suggestedName}`);
239
- responseLines.push('');
240
- responseLines.push(`# Or using the newer git switch:`);
241
- responseLines.push(`git switch -c ${suggestedName}`);
242
- return responseLines.join('\n');
243
- };
244
- // AI SDK tool definition with execute function
245
- const gitBranchSuggestCoreTool = tool({
246
- description: 'Suggest branch names based on work type and provide workflow strategy recommendations.',
247
- inputSchema: jsonSchema({
248
- type: 'object',
249
- properties: {
250
- workType: {
251
- type: 'string',
252
- enum: ['feature', 'bugfix', 'hotfix', 'release', 'chore'],
253
- description: 'Type of work: feature (new functionality), bugfix (non-urgent fix), hotfix (urgent fix), release (release prep), chore (maintenance)',
254
- },
255
- description: {
256
- type: 'string',
257
- description: 'Brief description of the work (e.g., "add user authentication", "fix login button")',
258
- },
259
- ticketId: {
260
- type: 'string',
261
- description: 'Optional ticket/issue ID (e.g., "PROJ-123", "GH-456")',
262
- },
263
- },
264
- required: ['workType', 'description'],
265
- }),
266
- execute: async (args, _options) => {
267
- return await executeGitBranchSuggest(args);
268
- },
269
- });
270
- // Formatter component
271
- const GitBranchSuggestFormatter = React.memo(({ args, result }) => {
272
- const themeContext = React.useContext(ThemeContext);
273
- if (!themeContext) {
274
- throw new Error('ThemeContext is required');
275
- }
276
- const { colors } = themeContext;
277
- // Parse result for display
278
- let suggestedBranch = '';
279
- let workflow = '';
280
- if (result) {
281
- const branchMatch = result.match(/--- Suggested Branch Name ---\n\s+(\S+)/);
282
- if (branchMatch)
283
- suggestedBranch = branchMatch[1];
284
- const workflowMatch = result.match(/Detected strategy: (\S+)/);
285
- if (workflowMatch)
286
- workflow = workflowMatch[1];
287
- }
288
- const messageContent = (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.tool, children: "git_branch_suggest" }), _jsxs(Box, { children: [_jsx(Text, { color: colors.secondary, children: "Type: " }), _jsx(Text, { color: colors.primary, children: args.workType })] }), args.ticketId && (_jsxs(Box, { children: [_jsx(Text, { color: colors.secondary, children: "Ticket: " }), _jsx(Text, { color: colors.text, children: args.ticketId })] })), suggestedBranch && (_jsxs(Box, { children: [_jsx(Text, { color: colors.secondary, children: "Branch: " }), _jsx(Text, { color: colors.text, children: suggestedBranch })] })), workflow && (_jsxs(Box, { children: [_jsx(Text, { color: colors.secondary, children: "Workflow: " }), _jsx(Text, { color: colors.text, children: workflow })] }))] }));
289
- return _jsx(ToolMessage, { message: messageContent, hideBox: true });
290
- });
291
- const formatter = (args, result) => {
292
- return _jsx(GitBranchSuggestFormatter, { args: args, result: result });
293
- };
294
- const validator = async (args) => {
295
- // Check if in git repository
296
- if (!(await isGitRepository())) {
297
- return {
298
- valid: false,
299
- error: 'git Not in a git repository',
300
- };
301
- }
302
- // Validate work type
303
- const validTypes = ['feature', 'bugfix', 'hotfix', 'release', 'chore'];
304
- if (!validTypes.includes(args.workType)) {
305
- return {
306
- valid: false,
307
- error: `git Invalid work type. Must be one of: ${validTypes.join(', ')}`,
308
- };
309
- }
310
- // Validate description
311
- if (!args.description || args.description.trim().length < 3) {
312
- return {
313
- valid: false,
314
- error: 'git Description must be at least 3 characters',
315
- };
316
- }
317
- return { valid: true };
318
- };
319
- // Export the tool using NanocoderToolExport pattern
320
- export const gitBranchSuggestTool = {
321
- name: 'git_branch_suggest',
322
- tool: gitBranchSuggestCoreTool,
323
- formatter,
324
- validator,
325
- };
326
- //# sourceMappingURL=git-branch-suggest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git-branch-suggest.js","sourceRoot":"","sources":["../../../source/tools/git/git-branch-suggest.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Git Create PR Tool
3
- *
4
- * Generates pull request templates with auto-generated descriptions,
5
- * test plans, and reviewer suggestions based on commit history.
6
- */
7
- import type { NanocoderToolExport } from '../../types/core.js';
8
- export declare const gitCreatePRTool: NanocoderToolExport;
9
- //# sourceMappingURL=git-create-pr.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git-create-pr.d.ts","sourceRoot":"","sources":["../../../source/tools/git/git-create-pr.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AA4hBtD,eAAO,MAAM,eAAe,EAAE,mBAK7B,CAAC"}