gencode-ai 0.1.0 → 0.1.2

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 (356) hide show
  1. package/.gencode/settings.local.json +7 -0
  2. package/README.md +20 -102
  3. package/dist/agent/agent.d.ts +43 -2
  4. package/dist/agent/agent.d.ts.map +1 -1
  5. package/dist/agent/agent.js +90 -17
  6. package/dist/agent/agent.js.map +1 -1
  7. package/dist/agent/types.d.ts +9 -1
  8. package/dist/agent/types.d.ts.map +1 -1
  9. package/dist/cli/components/AllModelsSelector.d.ts +11 -0
  10. package/dist/cli/components/AllModelsSelector.d.ts.map +1 -0
  11. package/dist/cli/components/AllModelsSelector.js +153 -0
  12. package/dist/cli/components/AllModelsSelector.js.map +1 -0
  13. package/dist/cli/components/App.d.ts +8 -1
  14. package/dist/cli/components/App.d.ts.map +1 -1
  15. package/dist/cli/components/App.js +276 -40
  16. package/dist/cli/components/App.js.map +1 -1
  17. package/dist/cli/components/CommandSuggestions.d.ts.map +1 -1
  18. package/dist/cli/components/CommandSuggestions.js +3 -0
  19. package/dist/cli/components/CommandSuggestions.js.map +1 -1
  20. package/dist/cli/components/Header.d.ts +1 -1
  21. package/dist/cli/components/Header.d.ts.map +1 -1
  22. package/dist/cli/components/Header.js +4 -6
  23. package/dist/cli/components/Header.js.map +1 -1
  24. package/dist/cli/components/Logo.d.ts +1 -0
  25. package/dist/cli/components/Logo.d.ts.map +1 -1
  26. package/dist/cli/components/Logo.js +16 -3
  27. package/dist/cli/components/Logo.js.map +1 -1
  28. package/dist/cli/components/Messages.d.ts +17 -3
  29. package/dist/cli/components/Messages.d.ts.map +1 -1
  30. package/dist/cli/components/Messages.js +70 -18
  31. package/dist/cli/components/Messages.js.map +1 -1
  32. package/dist/cli/components/ModelSelector.d.ts +7 -7
  33. package/dist/cli/components/ModelSelector.d.ts.map +1 -1
  34. package/dist/cli/components/ModelSelector.js +116 -33
  35. package/dist/cli/components/ModelSelector.js.map +1 -1
  36. package/dist/cli/components/PermissionPrompt.d.ts +60 -0
  37. package/dist/cli/components/PermissionPrompt.d.ts.map +1 -0
  38. package/dist/cli/components/PermissionPrompt.js +192 -0
  39. package/dist/cli/components/PermissionPrompt.js.map +1 -0
  40. package/dist/cli/components/ProviderManager.d.ts +8 -0
  41. package/dist/cli/components/ProviderManager.d.ts.map +1 -0
  42. package/dist/cli/components/ProviderManager.js +280 -0
  43. package/dist/cli/components/ProviderManager.js.map +1 -0
  44. package/dist/cli/components/Spinner.d.ts +7 -2
  45. package/dist/cli/components/Spinner.d.ts.map +1 -1
  46. package/dist/cli/components/Spinner.js +116 -25
  47. package/dist/cli/components/Spinner.js.map +1 -1
  48. package/dist/cli/components/TodoList.d.ts +7 -0
  49. package/dist/cli/components/TodoList.d.ts.map +1 -0
  50. package/dist/cli/components/TodoList.js +34 -0
  51. package/dist/cli/components/TodoList.js.map +1 -0
  52. package/dist/cli/components/index.d.ts +1 -0
  53. package/dist/cli/components/index.d.ts.map +1 -1
  54. package/dist/cli/components/index.js +1 -0
  55. package/dist/cli/components/index.js.map +1 -1
  56. package/dist/cli/components/markdown.d.ts +9 -0
  57. package/dist/cli/components/markdown.d.ts.map +1 -0
  58. package/dist/cli/components/markdown.js +129 -0
  59. package/dist/cli/components/markdown.js.map +1 -0
  60. package/dist/cli/components/theme.d.ts +5 -0
  61. package/dist/cli/components/theme.d.ts.map +1 -1
  62. package/dist/cli/components/theme.js +7 -0
  63. package/dist/cli/components/theme.js.map +1 -1
  64. package/dist/cli/index.js +66 -12
  65. package/dist/cli/index.js.map +1 -1
  66. package/dist/config/index.d.ts +14 -4
  67. package/dist/config/index.d.ts.map +1 -1
  68. package/dist/config/index.js +19 -3
  69. package/dist/config/index.js.map +1 -1
  70. package/dist/config/levels.d.ts +49 -0
  71. package/dist/config/levels.d.ts.map +1 -0
  72. package/dist/config/levels.js +222 -0
  73. package/dist/config/levels.js.map +1 -0
  74. package/dist/config/loader.d.ts +46 -0
  75. package/dist/config/loader.d.ts.map +1 -0
  76. package/dist/config/loader.js +153 -0
  77. package/dist/config/loader.js.map +1 -0
  78. package/dist/config/manager.d.ts +115 -15
  79. package/dist/config/manager.d.ts.map +1 -1
  80. package/dist/config/manager.js +260 -34
  81. package/dist/config/manager.js.map +1 -1
  82. package/dist/config/manager.test.d.ts +5 -0
  83. package/dist/config/manager.test.d.ts.map +1 -0
  84. package/dist/config/manager.test.js +192 -0
  85. package/dist/config/manager.test.js.map +1 -0
  86. package/dist/config/merger.d.ts +56 -0
  87. package/dist/config/merger.d.ts.map +1 -0
  88. package/dist/config/merger.js +177 -0
  89. package/dist/config/merger.js.map +1 -0
  90. package/dist/config/providers-config.d.ts +28 -0
  91. package/dist/config/providers-config.d.ts.map +1 -0
  92. package/dist/config/providers-config.js +79 -0
  93. package/dist/config/providers-config.js.map +1 -0
  94. package/dist/config/test-utils.d.ts +24 -0
  95. package/dist/config/test-utils.d.ts.map +1 -0
  96. package/dist/config/test-utils.js +55 -0
  97. package/dist/config/test-utils.js.map +1 -0
  98. package/dist/config/types.d.ts +108 -9
  99. package/dist/config/types.d.ts.map +1 -1
  100. package/dist/config/types.js +53 -2
  101. package/dist/config/types.js.map +1 -1
  102. package/dist/memory/import-resolver.d.ts +46 -0
  103. package/dist/memory/import-resolver.d.ts.map +1 -0
  104. package/dist/memory/import-resolver.js +117 -0
  105. package/dist/memory/import-resolver.js.map +1 -0
  106. package/dist/memory/index.d.ts +7 -6
  107. package/dist/memory/index.d.ts.map +1 -1
  108. package/dist/memory/index.js +7 -5
  109. package/dist/memory/index.js.map +1 -1
  110. package/dist/memory/init-prompt.d.ts +22 -0
  111. package/dist/memory/init-prompt.d.ts.map +1 -0
  112. package/dist/memory/init-prompt.js +103 -0
  113. package/dist/memory/init-prompt.js.map +1 -0
  114. package/dist/memory/memory-manager.d.ts +119 -0
  115. package/dist/memory/memory-manager.d.ts.map +1 -0
  116. package/dist/memory/memory-manager.js +587 -0
  117. package/dist/memory/memory-manager.js.map +1 -0
  118. package/dist/memory/rules-parser.d.ts +38 -0
  119. package/dist/memory/rules-parser.d.ts.map +1 -0
  120. package/dist/memory/rules-parser.js +69 -0
  121. package/dist/memory/rules-parser.js.map +1 -0
  122. package/dist/memory/test-utils.d.ts +20 -0
  123. package/dist/memory/test-utils.d.ts.map +1 -0
  124. package/dist/memory/test-utils.js +44 -0
  125. package/dist/memory/test-utils.js.map +1 -0
  126. package/dist/memory/types.d.ts +70 -63
  127. package/dist/memory/types.d.ts.map +1 -1
  128. package/dist/memory/types.js +42 -2
  129. package/dist/memory/types.js.map +1 -1
  130. package/dist/permissions/audit.d.ts +82 -0
  131. package/dist/permissions/audit.d.ts.map +1 -0
  132. package/dist/permissions/audit.js +229 -0
  133. package/dist/permissions/audit.js.map +1 -0
  134. package/dist/permissions/index.d.ts +11 -1
  135. package/dist/permissions/index.d.ts.map +1 -1
  136. package/dist/permissions/index.js +15 -0
  137. package/dist/permissions/index.js.map +1 -1
  138. package/dist/permissions/manager.d.ts +149 -13
  139. package/dist/permissions/manager.d.ts.map +1 -1
  140. package/dist/permissions/manager.js +480 -35
  141. package/dist/permissions/manager.js.map +1 -1
  142. package/dist/permissions/manager.test.d.ts +5 -0
  143. package/dist/permissions/manager.test.d.ts.map +1 -0
  144. package/dist/permissions/manager.test.js +213 -0
  145. package/dist/permissions/manager.test.js.map +1 -0
  146. package/dist/permissions/persistence.d.ts +74 -0
  147. package/dist/permissions/persistence.d.ts.map +1 -0
  148. package/dist/permissions/persistence.js +248 -0
  149. package/dist/permissions/persistence.js.map +1 -0
  150. package/dist/permissions/persistence.test.d.ts +5 -0
  151. package/dist/permissions/persistence.test.d.ts.map +1 -0
  152. package/dist/permissions/persistence.test.js +171 -0
  153. package/dist/permissions/persistence.test.js.map +1 -0
  154. package/dist/permissions/prompt-matcher.d.ts +64 -0
  155. package/dist/permissions/prompt-matcher.d.ts.map +1 -0
  156. package/dist/permissions/prompt-matcher.js +415 -0
  157. package/dist/permissions/prompt-matcher.js.map +1 -0
  158. package/dist/permissions/prompt-matcher.test.d.ts +5 -0
  159. package/dist/permissions/prompt-matcher.test.d.ts.map +1 -0
  160. package/dist/permissions/prompt-matcher.test.js +107 -0
  161. package/dist/permissions/prompt-matcher.test.js.map +1 -0
  162. package/dist/permissions/types.d.ts +157 -0
  163. package/dist/permissions/types.d.ts.map +1 -1
  164. package/dist/permissions/types.js +43 -8
  165. package/dist/permissions/types.js.map +1 -1
  166. package/dist/prompts/index.d.ts +92 -0
  167. package/dist/prompts/index.d.ts.map +1 -0
  168. package/dist/prompts/index.js +241 -0
  169. package/dist/prompts/index.js.map +1 -0
  170. package/dist/providers/gemini.d.ts.map +1 -1
  171. package/dist/providers/gemini.js +14 -3
  172. package/dist/providers/gemini.js.map +1 -1
  173. package/dist/providers/index.d.ts +5 -3
  174. package/dist/providers/index.d.ts.map +1 -1
  175. package/dist/providers/index.js +13 -1
  176. package/dist/providers/index.js.map +1 -1
  177. package/dist/providers/registry.d.ts +66 -0
  178. package/dist/providers/registry.d.ts.map +1 -0
  179. package/dist/providers/registry.js +158 -0
  180. package/dist/providers/registry.js.map +1 -0
  181. package/dist/providers/search/brave.d.ts +14 -0
  182. package/dist/providers/search/brave.d.ts.map +1 -0
  183. package/dist/providers/search/brave.js +87 -0
  184. package/dist/providers/search/brave.js.map +1 -0
  185. package/dist/providers/search/exa.d.ts +12 -0
  186. package/dist/providers/search/exa.d.ts.map +1 -0
  187. package/dist/providers/search/exa.js +158 -0
  188. package/dist/providers/search/exa.js.map +1 -0
  189. package/dist/providers/search/index.d.ts +31 -0
  190. package/dist/providers/search/index.d.ts.map +1 -0
  191. package/dist/providers/search/index.js +75 -0
  192. package/dist/providers/search/index.js.map +1 -0
  193. package/dist/providers/search/serper.d.ts +14 -0
  194. package/dist/providers/search/serper.d.ts.map +1 -0
  195. package/dist/providers/search/serper.js +87 -0
  196. package/dist/providers/search/serper.js.map +1 -0
  197. package/dist/providers/search/types.d.ts +21 -0
  198. package/dist/providers/search/types.d.ts.map +1 -0
  199. package/dist/providers/search/types.js +5 -0
  200. package/dist/providers/search/types.js.map +1 -0
  201. package/dist/providers/store.d.ts +104 -0
  202. package/dist/providers/store.d.ts.map +1 -0
  203. package/dist/providers/store.js +171 -0
  204. package/dist/providers/store.js.map +1 -0
  205. package/dist/providers/types.d.ts +7 -1
  206. package/dist/providers/types.d.ts.map +1 -1
  207. package/dist/providers/vertex-ai.d.ts +33 -0
  208. package/dist/providers/vertex-ai.d.ts.map +1 -0
  209. package/dist/providers/vertex-ai.js +407 -0
  210. package/dist/providers/vertex-ai.js.map +1 -0
  211. package/dist/tools/builtin/bash.d.ts.map +1 -1
  212. package/dist/tools/builtin/bash.js +2 -1
  213. package/dist/tools/builtin/bash.js.map +1 -1
  214. package/dist/tools/builtin/edit.d.ts.map +1 -1
  215. package/dist/tools/builtin/edit.js +2 -1
  216. package/dist/tools/builtin/edit.js.map +1 -1
  217. package/dist/tools/builtin/glob.d.ts.map +1 -1
  218. package/dist/tools/builtin/glob.js +2 -1
  219. package/dist/tools/builtin/glob.js.map +1 -1
  220. package/dist/tools/builtin/grep.d.ts.map +1 -1
  221. package/dist/tools/builtin/grep.js +2 -1
  222. package/dist/tools/builtin/grep.js.map +1 -1
  223. package/dist/tools/builtin/read.d.ts.map +1 -1
  224. package/dist/tools/builtin/read.js +2 -1
  225. package/dist/tools/builtin/read.js.map +1 -1
  226. package/dist/tools/builtin/todowrite.d.ts +15 -0
  227. package/dist/tools/builtin/todowrite.d.ts.map +1 -0
  228. package/dist/tools/builtin/todowrite.js +88 -0
  229. package/dist/tools/builtin/todowrite.js.map +1 -0
  230. package/dist/tools/builtin/webfetch.d.ts +20 -0
  231. package/dist/tools/builtin/webfetch.d.ts.map +1 -0
  232. package/dist/tools/builtin/webfetch.js +228 -0
  233. package/dist/tools/builtin/webfetch.js.map +1 -0
  234. package/dist/tools/builtin/websearch.d.ts +17 -0
  235. package/dist/tools/builtin/websearch.d.ts.map +1 -0
  236. package/dist/tools/builtin/websearch.js +87 -0
  237. package/dist/tools/builtin/websearch.js.map +1 -0
  238. package/dist/tools/builtin/write.d.ts.map +1 -1
  239. package/dist/tools/builtin/write.js +2 -1
  240. package/dist/tools/builtin/write.js.map +1 -1
  241. package/dist/tools/index.d.ts +18 -0
  242. package/dist/tools/index.d.ts.map +1 -1
  243. package/dist/tools/index.js +28 -2
  244. package/dist/tools/index.js.map +1 -1
  245. package/dist/tools/types.d.ts +41 -0
  246. package/dist/tools/types.d.ts.map +1 -1
  247. package/dist/tools/types.js +16 -0
  248. package/dist/tools/types.js.map +1 -1
  249. package/dist/tools/utils/ssrf.d.ts +18 -0
  250. package/dist/tools/utils/ssrf.d.ts.map +1 -0
  251. package/dist/tools/utils/ssrf.js +70 -0
  252. package/dist/tools/utils/ssrf.js.map +1 -0
  253. package/docs/README.md +5 -4
  254. package/docs/config-system-comparison.md +707 -0
  255. package/docs/memory-system.md +238 -0
  256. package/docs/permissions.md +368 -0
  257. package/docs/proposals/0001-web-fetch-tool.md +32 -2
  258. package/docs/proposals/0002-web-search-tool.md +59 -2
  259. package/docs/proposals/0005-todo-system.md +350 -85
  260. package/docs/proposals/0006-memory-system.md +11 -10
  261. package/docs/proposals/0012-ask-user-question.md +941 -206
  262. package/docs/proposals/0023-permission-enhancements.md +61 -2
  263. package/docs/proposals/0041-configuration-system.md +587 -0
  264. package/docs/proposals/0042-prompt-optimization.md +866 -0
  265. package/docs/proposals/README.md +8 -6
  266. package/docs/providers.md +220 -0
  267. package/jest.config.js +26 -0
  268. package/package.json +14 -3
  269. package/src/agent/agent.ts +120 -18
  270. package/src/agent/types.ts +9 -1
  271. package/src/cli/components/App.tsx +369 -47
  272. package/src/cli/components/CommandSuggestions.tsx +3 -0
  273. package/src/cli/components/Header.tsx +11 -17
  274. package/src/cli/components/Logo.tsx +76 -9
  275. package/src/cli/components/Messages.tsx +146 -38
  276. package/src/cli/components/ModelSelector.tsx +169 -52
  277. package/src/cli/components/PermissionPrompt.tsx +388 -0
  278. package/src/cli/components/ProviderManager.tsx +534 -0
  279. package/src/cli/components/Spinner.tsx +138 -25
  280. package/src/cli/components/TodoList.tsx +54 -0
  281. package/src/cli/components/index.ts +6 -0
  282. package/src/cli/components/markdown.ts +157 -0
  283. package/src/cli/components/theme.ts +7 -0
  284. package/src/cli/index.tsx +76 -13
  285. package/src/config/index.ts +79 -4
  286. package/src/config/levels.test.ts +163 -0
  287. package/src/config/levels.ts +285 -0
  288. package/src/config/loader.test.ts +120 -0
  289. package/src/config/loader.ts +178 -0
  290. package/src/config/manager.test.ts +215 -0
  291. package/src/config/manager.ts +328 -40
  292. package/src/config/merger.test.ts +360 -0
  293. package/src/config/merger.ts +221 -0
  294. package/src/config/providers-config.ts +85 -0
  295. package/src/config/test-utils.ts +79 -0
  296. package/src/config/types.ts +186 -9
  297. package/src/memory/import-resolver.test.ts +117 -0
  298. package/src/memory/import-resolver.ts +149 -0
  299. package/src/memory/index.ts +11 -0
  300. package/src/memory/init-prompt.ts +113 -0
  301. package/src/memory/memory-manager.test.ts +198 -0
  302. package/src/memory/memory-manager.ts +716 -0
  303. package/src/memory/rules-parser.test.ts +182 -0
  304. package/src/memory/rules-parser.ts +82 -0
  305. package/src/memory/test-utils.ts +60 -0
  306. package/src/memory/types.ts +119 -0
  307. package/src/permissions/audit.ts +284 -0
  308. package/src/permissions/index.ts +20 -1
  309. package/src/permissions/manager.test.ts +260 -0
  310. package/src/permissions/manager.ts +592 -40
  311. package/src/permissions/persistence.test.ts +220 -0
  312. package/src/permissions/persistence.ts +301 -0
  313. package/src/permissions/prompt-matcher.test.ts +213 -0
  314. package/src/permissions/prompt-matcher.ts +472 -0
  315. package/src/permissions/types.ts +236 -8
  316. package/src/prompts/index.test.ts +279 -0
  317. package/src/prompts/index.ts +306 -0
  318. package/src/prompts/system/anthropic.txt +29 -0
  319. package/src/prompts/system/base.txt +124 -0
  320. package/src/prompts/system/gemini.txt +35 -0
  321. package/src/prompts/system/generic.txt +128 -0
  322. package/src/prompts/system/openai.txt +29 -0
  323. package/src/prompts/tools/bash.txt +60 -0
  324. package/src/prompts/tools/edit.txt +29 -0
  325. package/src/prompts/tools/glob.txt +35 -0
  326. package/src/prompts/tools/grep.txt +43 -0
  327. package/src/prompts/tools/read.txt +22 -0
  328. package/src/prompts/tools/todowrite.txt +71 -0
  329. package/src/prompts/tools/webfetch.txt +34 -0
  330. package/src/prompts/tools/websearch.txt +41 -0
  331. package/src/prompts/tools/write.txt +23 -0
  332. package/src/providers/gemini.ts +20 -4
  333. package/src/providers/index.ts +18 -3
  334. package/src/providers/registry.ts +198 -0
  335. package/src/providers/search/brave.ts +132 -0
  336. package/src/providers/search/exa.ts +217 -0
  337. package/src/providers/search/index.ts +79 -0
  338. package/src/providers/search/serper.ts +133 -0
  339. package/src/providers/search/types.ts +24 -0
  340. package/src/providers/store.ts +216 -0
  341. package/src/providers/types.ts +9 -1
  342. package/src/providers/vertex-ai.ts +594 -0
  343. package/src/tools/builtin/bash.ts +2 -1
  344. package/src/tools/builtin/edit.ts +2 -1
  345. package/src/tools/builtin/glob.ts +2 -1
  346. package/src/tools/builtin/grep.ts +2 -1
  347. package/src/tools/builtin/read.ts +2 -1
  348. package/src/tools/builtin/todowrite.ts +102 -0
  349. package/src/tools/builtin/webfetch.ts +261 -0
  350. package/src/tools/builtin/websearch.ts +103 -0
  351. package/src/tools/builtin/write.ts +2 -1
  352. package/src/tools/index.ts +28 -2
  353. package/src/tools/types.ts +32 -0
  354. package/src/tools/utils/ssrf.ts +79 -0
  355. package/tsconfig.json +1 -1
  356. package/CLAUDE.md +0 -70
@@ -1 +1 @@
1
- {"version":3,"file":"CommandSuggestions.js","sourceRoot":"","sources":["../../../src/cli/components/CommandSuggestions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAOpC,MAAM,CAAC,MAAM,QAAQ,GAAc;IACjC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;IAC/C,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE;IACnD,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE;IAClD,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE;IAC5C,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE;IAC9C,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE;IAC7C,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE;IAC9C,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE;IAC3C,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE;IACnD,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAAE;CACtD,CAAC;AAOF,MAAM,UAAU,kBAAkB,CAAC,EAAE,KAAK,EAAE,aAAa,EAA2B;IAClF,iCAAiC;IACjC,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1C,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAC1C,CAAC;IAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,YACtC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,UAAU,GAAG,CAAC,KAAK,aAAa,CAAC;YACvC,OAAO,CACL,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,YAC5D,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GACf,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,YAAG,GAAG,CAAC,WAAW,GAAQ,KAJ/C,GAAG,CAAC,IAAI,CAKZ,CACP,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"CommandSuggestions.js","sourceRoot":"","sources":["../../../src/cli/components/CommandSuggestions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAOpC,MAAM,CAAC,MAAM,QAAQ,GAAc;IACjC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;IAC/C,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE;IACtD,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,uBAAuB,EAAE;IAC9D,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,2BAA2B,EAAE;IACxE,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE;IACnD,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE;IAClD,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE;IAC5C,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE;IAC9C,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE;IAC7C,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE;IAC9C,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE;IAC3C,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE;IACnD,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAAE;CACtD,CAAC;AAOF,MAAM,UAAU,kBAAkB,CAAC,EAAE,KAAK,EAAE,aAAa,EAA2B;IAClF,iCAAiC;IACjC,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1C,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAC1C,CAAC;IAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,YACtC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,UAAU,GAAG,CAAC,KAAK,aAAa,CAAC;YACvC,OAAO,CACL,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,YAC5D,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GACf,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,YAAG,GAAG,CAAC,WAAW,GAAQ,KAJ/C,GAAG,CAAC,IAAI,CAKZ,CACP,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7E,CAAC"}
@@ -3,7 +3,7 @@ interface HeaderProps {
3
3
  model: string;
4
4
  cwd: string;
5
5
  }
6
- export declare function Header({ provider, model, cwd }: HeaderProps): import("react/jsx-runtime").JSX.Element;
6
+ export declare function Header({ model, cwd }: HeaderProps): import("react/jsx-runtime").JSX.Element;
7
7
  export declare function Welcome(): import("react/jsx-runtime").JSX.Element;
8
8
  export {};
9
9
  //# sourceMappingURL=Header.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/cli/components/Header.tsx"],"names":[],"mappings":"AAIA,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,WAAW,2CAiB3D;AAED,wBAAgB,OAAO,4CAMtB"}
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/cli/components/Header.tsx"],"names":[],"mappings":"AAIA,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,WAAW,2CAWjD;AAED,wBAAgB,OAAO,4CAMtB"}
@@ -1,13 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text } from 'ink';
3
3
  import { colors } from './theme.js';
4
- import { Logo } from './Logo.js';
5
- export function Header({ provider, model, cwd }) {
6
- const home = process.env.HOME || '';
7
- const cwdDisplay = cwd.startsWith(home) ? '~' + cwd.slice(home.length) : cwd;
8
- return (_jsxs(Box, { flexDirection: "row", marginBottom: 1, marginTop: 1, children: [_jsx(Logo, {}), _jsxs(Box, { flexDirection: "column", marginLeft: 1, children: [_jsxs(Box, { children: [_jsx(Text, { bold: true, color: colors.text, children: "gencode " }), _jsx(Text, { color: colors.textMuted, children: "v0.1.0" })] }), _jsxs(Text, { color: colors.textMuted, children: [model, " \u00B7 API Usage Billing"] }), _jsx(Text, { color: colors.textMuted, children: cwdDisplay })] })] }));
4
+ import { BigLogo } from './Logo.js';
5
+ export function Header({ model, cwd }) {
6
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(BigLogo, {}), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: colors.textSecondary, children: model }), _jsx(Text, { color: colors.textMuted, children: " \u00B7 " }), _jsx(Text, { color: colors.textMuted, children: cwd })] })] }));
9
7
  }
10
8
  export function Welcome() {
11
- return (_jsx(Text, { color: colors.textMuted, children: "Type a message or /help. Ctrl+C to exit." }));
9
+ return (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.textMuted, children: "? for help \u00B7 Ctrl+C to exit" }) }));
12
10
  }
13
11
  //# sourceMappingURL=Header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/cli/components/Header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAQjC,MAAM,UAAU,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAe;IAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAE7E,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,aACpD,KAAC,IAAI,KAAG,EACR,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,aACvC,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,MAAM,CAAC,IAAI,yBAAiB,EAC9C,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,uBAAe,IACxC,EACN,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,aAAG,KAAK,iCAA4B,EACjE,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,YAAG,UAAU,GAAQ,IAC9C,IACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,yDAEtB,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/cli/components/Header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,MAAM,UAAU,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,EAAe;IAChD,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,aACtC,KAAC,OAAO,KAAG,EACX,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,aACf,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,aAAa,YAAG,KAAK,GAAQ,EACjD,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,yBAAY,EACzC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,YAAG,GAAG,GAAQ,IACvC,IACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,OAAO,CACL,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,iDAAoC,GAC7D,CACP,CAAC;AACJ,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export declare function Logo(): import("react/jsx-runtime").JSX.Element;
2
+ export declare function BigLogo(): import("react/jsx-runtime").JSX.Element;
2
3
  //# sourceMappingURL=Logo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Logo.d.ts","sourceRoot":"","sources":["../../../src/cli/components/Logo.tsx"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,4CAanB"}
1
+ {"version":3,"file":"Logo.d.ts","sourceRoot":"","sources":["../../../src/cli/components/Logo.tsx"],"names":[],"mappings":"AAIA,wBAAgB,IAAI,4CAMnB;AAGD,wBAAgB,OAAO,4CAqEtB"}
@@ -1,8 +1,21 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text } from 'ink';
3
+ import { colors } from './theme.js';
4
+ // Small G logo for inline use
3
5
  export function Logo() {
4
- // Full G with 3D shadow - subdued slate color
5
- const slateColor = "#64748B"; // Slate 500 - stable, professional
6
- return (_jsxs(Box, { flexDirection: "column", marginRight: 1, children: [_jsx(Text, { color: slateColor, children: " \u2588\u2588\u2588\u2588\u2588\u2588\u2557 " }), _jsx(Text, { color: slateColor, children: " \u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D " }), _jsx(Text, { color: slateColor, children: " \u2588\u2588\u2551 \u2588\u2588\u2588\u2557" }), _jsx(Text, { color: slateColor, children: " \u2588\u2588\u2551 \u2588\u2588\u2551" }), _jsx(Text, { color: slateColor, children: " \u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D" }), _jsx(Text, { color: slateColor, children: " \u255A\u2550\u2550\u2550\u2550\u2550\u255D " })] }));
6
+ return (_jsx(Box, { marginRight: 1, children: _jsx(Text, { bold: true, color: colors.brand, children: "\u25C6" }) }));
7
+ }
8
+ // Large ASCII art logo with elegant gradient
9
+ export function BigLogo() {
10
+ // Indigo gradient - brand colors
11
+ const c1 = '#818CF8'; // Indigo 400
12
+ const c2 = '#818CF8'; // Indigo 400
13
+ const c3 = '#A5B4FC'; // Indigo 300
14
+ const c4 = '#A5B4FC'; // Indigo 300
15
+ const c5 = '#C7D2FE'; // Indigo 200
16
+ const c6 = '#C7D2FE'; // Indigo 200
17
+ const c7 = '#C7D2FE'; // Indigo 200
18
+ // G E N C O D E
19
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { color: c1, children: " \u2588\u2588\u2588\u2588\u2588\u2588\u2557 " }), _jsx(Text, { color: c2, children: "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557" }), _jsx(Text, { color: c3, children: "\u2588\u2588\u2588\u2557 \u2588\u2588\u2557" }), _jsx(Text, { color: c4, children: " \u2588\u2588\u2588\u2588\u2588\u2588\u2557" }), _jsx(Text, { color: c5, children: " \u2588\u2588\u2588\u2588\u2588\u2588\u2557 " }), _jsx(Text, { color: c6, children: "\u2588\u2588\u2588\u2588\u2588\u2588\u2557 " }), _jsx(Text, { color: c7, children: "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557" })] }), _jsxs(Text, { children: [_jsx(Text, { color: c1, children: "\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D " }), _jsx(Text, { color: c2, children: "\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D" }), _jsx(Text, { color: c3, children: "\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551" }), _jsx(Text, { color: c4, children: "\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D" }), _jsx(Text, { color: c5, children: "\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557" }), _jsx(Text, { color: c6, children: "\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557" }), _jsx(Text, { color: c7, children: "\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D" })] }), _jsxs(Text, { children: [_jsx(Text, { color: c1, children: "\u2588\u2588\u2551 \u2588\u2588\u2588\u2557" }), _jsx(Text, { color: c2, children: "\u2588\u2588\u2588\u2588\u2588\u2557 " }), _jsx(Text, { color: c3, children: "\u2588\u2588\u2554\u2588\u2588\u2557 \u2588\u2588\u2551" }), _jsx(Text, { color: c4, children: "\u2588\u2588\u2551 " }), _jsx(Text, { color: c5, children: "\u2588\u2588\u2551 \u2588\u2588\u2551" }), _jsx(Text, { color: c6, children: "\u2588\u2588\u2551 \u2588\u2588\u2551" }), _jsx(Text, { color: c7, children: "\u2588\u2588\u2588\u2588\u2588\u2557 " })] }), _jsxs(Text, { children: [_jsx(Text, { color: c1, children: "\u2588\u2588\u2551 \u2588\u2588\u2551" }), _jsx(Text, { color: c2, children: "\u2588\u2588\u2554\u2550\u2550\u255D " }), _jsx(Text, { color: c3, children: "\u2588\u2588\u2551\u255A\u2588\u2588\u2557\u2588\u2588\u2551" }), _jsx(Text, { color: c4, children: "\u2588\u2588\u2551 " }), _jsx(Text, { color: c5, children: "\u2588\u2588\u2551 \u2588\u2588\u2551" }), _jsx(Text, { color: c6, children: "\u2588\u2588\u2551 \u2588\u2588\u2551" }), _jsx(Text, { color: c7, children: "\u2588\u2588\u2554\u2550\u2550\u255D " })] }), _jsxs(Text, { children: [_jsx(Text, { color: c1, children: "\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D" }), _jsx(Text, { color: c2, children: "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557" }), _jsx(Text, { color: c3, children: "\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2588\u2551" }), _jsx(Text, { color: c4, children: "\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2557" }), _jsx(Text, { color: c5, children: "\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D" }), _jsx(Text, { color: c6, children: "\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D" }), _jsx(Text, { color: c7, children: "\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557" })] }), _jsxs(Text, { children: [_jsx(Text, { color: c1, children: " \u255A\u2550\u2550\u2550\u2550\u2550\u255D " }), _jsx(Text, { color: c2, children: "\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D" }), _jsx(Text, { color: c3, children: "\u255A\u2550\u255D \u255A\u2550\u2550\u2550\u255D" }), _jsx(Text, { color: c4, children: " \u255A\u2550\u2550\u2550\u2550\u2550\u255D" }), _jsx(Text, { color: c5, children: " \u255A\u2550\u2550\u2550\u2550\u2550\u255D " }), _jsx(Text, { color: c6, children: "\u255A\u2550\u2550\u2550\u2550\u2550\u255D " }), _jsx(Text, { color: c7, children: "\u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D" })] })] }));
7
20
  }
8
21
  //# sourceMappingURL=Logo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Logo.js","sourceRoot":"","sources":["../../../src/cli/components/Logo.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,MAAM,UAAU,IAAI;IAClB,8CAA8C;IAC9C,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,mCAAmC;IACjE,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,aACxC,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,8DAAmB,EAC1C,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,mEAAmB,EAC1C,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,8DAAmB,EAC1C,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,yDAAmB,EAC1C,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,wEAAmB,EAC1C,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,8DAAmB,IACtC,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Logo.js","sourceRoot":"","sources":["../../../src/cli/components/Logo.tsx"],"names":[],"mappings":"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"}
@@ -11,13 +11,27 @@ interface ToolCallProps {
11
11
  name: string;
12
12
  input: Record<string, unknown>;
13
13
  }
14
- export declare function ToolCall({ name, input }: ToolCallProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function ToolCall({ name, input }: ToolCallProps): import("react/jsx-runtime").JSX.Element | null;
15
+ interface PendingToolCallProps {
16
+ name: string;
17
+ input: Record<string, unknown>;
18
+ }
19
+ export declare function PendingToolCall({ name, input }: PendingToolCallProps): import("react/jsx-runtime").JSX.Element | null;
20
+ interface ToolResultMetadata {
21
+ title?: string;
22
+ subtitle?: string;
23
+ size?: number;
24
+ statusCode?: number;
25
+ contentType?: string;
26
+ duration?: number;
27
+ }
15
28
  interface ToolResultProps {
16
29
  name: string;
17
30
  success: boolean;
18
31
  output: string;
32
+ metadata?: ToolResultMetadata;
19
33
  }
20
- export declare function ToolResult({ name, success, output }: ToolResultProps): import("react/jsx-runtime").JSX.Element;
34
+ export declare function ToolResult({ name, success, output, metadata }: ToolResultProps): import("react/jsx-runtime").JSX.Element | null;
21
35
  interface InfoMessageProps {
22
36
  text: string;
23
37
  type?: 'info' | 'success' | 'warning' | 'error';
@@ -27,7 +41,7 @@ export declare function Separator(): import("react/jsx-runtime").JSX.Element;
27
41
  interface WelcomeMessageProps {
28
42
  model: string;
29
43
  }
30
- export declare function WelcomeMessage({ model }: WelcomeMessageProps): import("react/jsx-runtime").JSX.Element;
44
+ export declare function WelcomeMessage({ model: _model }: WelcomeMessageProps): import("react/jsx-runtime").JSX.Element;
31
45
  export declare function ShortcutsHint(): import("react/jsx-runtime").JSX.Element;
32
46
  interface CompletionMessageProps {
33
47
  durationMs: number;
@@ -1 +1 @@
1
- {"version":3,"file":"Messages.d.ts","sourceRoot":"","sources":["../../../src/cli/components/Messages.tsx"],"names":[],"mappings":"AA2BA,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE,gBAAgB,2CAYrD;AAED,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,qBAAqB,kDA4B1E;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,aAAa,2CAYtD;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,eAAe,2CAcpE;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;CACjD;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,IAAa,EAAE,EAAE,gBAAgB,2CAepE;AAED,wBAAgB,SAAS,4CAGxB;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,mBAAmB,2CAO5D;AAED,wBAAgB,aAAa,4CAM5B;AA4BD,UAAU,sBAAsB;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,UAAU,EAAE,EAAE,sBAAsB,2CAUvE"}
1
+ {"version":3,"file":"Messages.d.ts","sourceRoot":"","sources":["../../../src/cli/components/Messages.tsx"],"names":[],"mappings":"AAkCA,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE,gBAAgB,2CAerD;AAED,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,qBAAqB,kDAuC1E;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AA6BD,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,aAAa,kDAmBtD;AAGD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,oBAAoB,kDAqBpE;AAED,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,eAAe,kDA6B9E;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;CACjD;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,IAAa,EAAE,EAAE,gBAAgB,2CAepE;AAED,wBAAgB,SAAS,4CAGxB;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,mBAAmB,2CAMpE;AAED,wBAAgB,aAAa,4CAM5B;AA4BD,UAAU,sBAAsB;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,UAAU,EAAE,EAAE,sBAAsB,2CAUvE"}
@@ -1,6 +1,10 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { Box, Text } from 'ink';
3
+ import InkSpinner from 'ink-spinner';
3
4
  import { colors, icons } from './theme.js';
5
+ import { renderMarkdown } from './markdown.js';
6
+ // Truncate string with ellipsis
7
+ const truncate = (str, maxLen) => str.length > maxLen ? str.slice(0, maxLen - 3) + '...' : str;
4
8
  // Word wrap text to terminal width
5
9
  function wrapText(text, width) {
6
10
  const lines = [];
@@ -30,29 +34,77 @@ function wrapText(text, width) {
30
34
  }
31
35
  export function UserMessage({ text }) {
32
36
  const lines = text.trimEnd().split('\n');
33
- return (_jsx(Box, { flexDirection: "column", marginTop: 1, marginBottom: 0, children: lines.map((line, i) => (_jsxs(Box, { children: [_jsxs(Text, { color: colors.brand, children: [icons.userPrompt, " "] }), _jsxs(Text, { backgroundColor: "#1E293B", color: colors.text, children: [" ", line, " "] })] }, i))) }));
37
+ // Subtle gray - ~8% darker than pure white
38
+ const inputBg = '#EFEFEF';
39
+ return (_jsx(Box, { flexDirection: "column", marginTop: 1, marginBottom: 0, children: lines.map((line, i) => (_jsxs(Box, { backgroundColor: inputBg, children: [_jsxs(Text, { color: colors.brand, children: [icons.userPrompt, " "] }), _jsx(Text, { children: line })] }, i))) }));
34
40
  }
35
41
  export function AssistantMessage({ text, streaming }) {
36
42
  if (!text)
37
43
  return null;
38
- // Get terminal width for wrapping
39
- const termWidth = process.stdout.columns || 80;
40
- const contentWidth = termWidth - 4; // Account for prefix
41
- // Wrap text to terminal width
42
- const lines = wrapText(text.trimEnd(), contentWidth);
43
- return (_jsx(Box, { flexDirection: "column", marginTop: 1, marginBottom: 0, children: lines.map((line, i) => (_jsxs(Box, { children: [i === 0 && _jsxs(Text, { color: colors.success, children: [icons.assistant, " "] }), i > 0 && _jsx(Text, { children: " " }), _jsxs(Text, { children: [line, streaming && i === lines.length - 1 ? (_jsx(Text, { color: colors.brandLight, children: icons.cursor })) : ('')] })] }, i))) }));
44
+ // Streaming: use simple text display (markdown incomplete during stream)
45
+ if (streaming) {
46
+ const termWidth = process.stdout.columns || 80;
47
+ const contentWidth = termWidth - 4;
48
+ const lines = wrapText(text.trimEnd(), contentWidth);
49
+ return (_jsx(Box, { flexDirection: "column", marginTop: 1, marginBottom: 0, children: lines.map((line, i) => (_jsxs(Box, { children: [i === 0 && _jsxs(Text, { color: colors.success, children: [icons.assistant, " "] }), i > 0 && _jsx(Text, { children: " " }), _jsxs(Text, { children: [line, i === lines.length - 1 && (_jsx(Text, { color: colors.brandLight, children: icons.cursor }))] })] }, i))) }));
50
+ }
51
+ // Completed: render with markdown
52
+ const rendered = renderMarkdown(text);
53
+ return (_jsx(Box, { flexDirection: "column", marginTop: 1, marginBottom: 0, children: _jsxs(Box, { children: [_jsx(Text, { color: colors.success, children: icons.assistant }), _jsx(Text, { children: " " }), _jsx(Text, { wrap: "wrap", children: rendered })] }) }));
54
+ }
55
+ // Format tool input for display
56
+ function formatToolInput(name, input) {
57
+ switch (name) {
58
+ case 'Read':
59
+ return input.file_path || '';
60
+ case 'Write':
61
+ case 'Edit':
62
+ return input.file_path || '';
63
+ case 'Glob':
64
+ return input.pattern || '';
65
+ case 'Grep':
66
+ return `"${input.pattern}"` + (input.path ? ` in ${input.path}` : '');
67
+ case 'Bash':
68
+ return truncate(input.command || '', 50);
69
+ case 'WebFetch':
70
+ return input.url || '';
71
+ case 'WebSearch':
72
+ return `"${input.query}"` || '';
73
+ case 'TodoWrite': {
74
+ const todos = input.todos || [];
75
+ return `${todos.length} task${todos.length !== 1 ? 's' : ''}`;
76
+ }
77
+ default:
78
+ return truncate(JSON.stringify(input), 40);
79
+ }
44
80
  }
45
81
  export function ToolCall({ name, input }) {
46
- const inputStr = JSON.stringify(input);
47
- const shortInput = inputStr.length > 50 ? inputStr.slice(0, 47) + '...' : inputStr;
48
- return (_jsx(Box, { marginLeft: 2, children: _jsxs(Text, { dimColor: true, children: [_jsx(Text, { color: colors.tool, children: icons.tool }), " ", name, ' ', _jsx(Text, { color: colors.textMuted, children: shortInput })] }) }));
82
+ // Hide TodoWrite (shown in TodoList component)
83
+ if (name === 'TodoWrite')
84
+ return null;
85
+ const displayInput = formatToolInput(name, input);
86
+ return (_jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: colors.tool, children: icons.tool }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: name }), displayInput && (_jsxs(_Fragment, { children: [_jsx(Text, { color: colors.textMuted, children: " " }), _jsx(Text, { color: colors.textSecondary, children: truncate(displayInput, 60) })] }))] }));
49
87
  }
50
- export function ToolResult({ name, success, output }) {
51
- const firstLine = output.split('\n')[0]?.trim() || '';
52
- const displayOutput = firstLine.length > 50 ? firstLine.slice(0, 47) + '...' : firstLine;
88
+ export function PendingToolCall({ name, input }) {
89
+ // Hide TodoWrite (shown in TodoList component)
90
+ if (name === 'TodoWrite')
91
+ return null;
92
+ const displayInput = formatToolInput(name, input);
93
+ return (_jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: colors.tool, children: _jsx(InkSpinner, { type: "dots" }) }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: name }), displayInput && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { color: colors.textSecondary, children: truncate(displayInput, 60) })] }))] }));
94
+ }
95
+ export function ToolResult({ name, success, output, metadata }) {
53
96
  const statusColor = success ? colors.success : colors.error;
54
- const statusIcon = success ? icons.success : icons.error;
55
- return (_jsx(Box, { marginLeft: 2, children: _jsxs(Text, { dimColor: true, children: [_jsx(Text, { color: statusColor, children: statusIcon }), " ", name, ' ', _jsx(Text, { color: colors.textMuted, children: displayOutput })] }) }));
97
+ // If metadata has subtitle (e.g., "Received 540.3KB (200 OK)"), show it
98
+ if (metadata?.subtitle) {
99
+ return (_jsxs(Box, { marginLeft: 2, children: [_jsx(Text, { color: colors.textMuted, children: icons.treeEnd }), _jsx(Text, { children: " " }), _jsx(Text, { color: statusColor, children: metadata.subtitle })] }));
100
+ }
101
+ // TodoWrite: Don't show result (TodoList component shows the full list)
102
+ if (name === 'TodoWrite') {
103
+ return null;
104
+ }
105
+ // Default: Show first line of output with status icon
106
+ const displayOutput = truncate(output.split('\n')[0]?.trim() || '', 60);
107
+ return (_jsxs(Box, { marginLeft: 2, children: [_jsx(Text, { color: colors.textMuted, children: icons.treeEnd }), _jsx(Text, { children: " " }), _jsx(Text, { color: statusColor, children: displayOutput || (success ? 'Done' : 'Failed') })] }));
56
108
  }
57
109
  export function InfoMessage({ text, type = 'info' }) {
58
110
  const config = {
@@ -68,8 +120,8 @@ export function Separator() {
68
120
  const width = process.stdout.columns || 80;
69
121
  return _jsx(Text, { color: colors.separator, children: '─'.repeat(width) });
70
122
  }
71
- export function WelcomeMessage({ model }) {
72
- return (_jsxs(Box, { marginTop: 1, marginBottom: 0, children: [_jsx(Text, { color: colors.textMuted, children: "Welcome to " }), _jsx(Text, { color: colors.brand, children: model })] }));
123
+ export function WelcomeMessage({ model: _model }) {
124
+ return (_jsx(Box, { marginTop: 1, marginBottom: 0, children: _jsx(Text, { color: colors.textMuted, children: "? for help \u00B7 Ctrl+C to exit" }) }));
73
125
  }
74
126
  export function ShortcutsHint() {
75
127
  return (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.textMuted, children: " ? for shortcuts" }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"Messages.js","sourceRoot":"","sources":["../../../src/cli/components/Messages.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Messages.js","sourceRoot":"","sources":["../../../src/cli/components/Messages.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,gCAAgC;AAChC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,MAAc,EAAE,EAAE,CAC/C,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAE/D,mCAAmC;AACnC,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAa;IAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,mBAAmB;YACnB,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;oBAClD,WAAW,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,IAAI,WAAW;wBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACzC,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;YACH,CAAC;YACD,IAAI,WAAW;gBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAMD,MAAM,UAAU,WAAW,CAAC,EAAE,IAAI,EAAoB;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,2CAA2C;IAC3C,MAAM,OAAO,GAAG,SAAS,CAAC;IAE1B,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,YACtD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,MAAC,GAAG,IAAS,eAAe,EAAE,OAAO,aACnC,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,aAAG,KAAK,CAAC,UAAU,SAAS,EACrD,KAAC,IAAI,cAAE,IAAI,GAAQ,KAFX,CAAC,CAGL,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAyB;IACzE,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,yEAAyE;IACzE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,SAAS,GAAG,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;QAErD,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,YACtD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,MAAC,GAAG,eACD,CAAC,KAAK,CAAC,IAAI,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,aAAG,KAAK,CAAC,SAAS,SAAS,EACjE,CAAC,GAAG,CAAC,IAAI,KAAC,IAAI,qBAAU,EACzB,MAAC,IAAI,eACF,IAAI,EACJ,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CACzB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,UAAU,YAAG,KAAK,CAAC,MAAM,GAAQ,CACtD,IACI,KARC,CAAC,CASL,CACP,CAAC,GACE,CACP,CAAC;IACJ,CAAC;IAED,kCAAkC;IAClC,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEtC,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,YACvD,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,YAAG,KAAK,CAAC,SAAS,GAAQ,EACrD,KAAC,IAAI,oBAAS,EACd,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,YAAE,QAAQ,GAAQ,IAC/B,GACF,CACP,CAAC;AACJ,CAAC;AAOD,gCAAgC;AAChC,SAAS,eAAe,CAAC,IAAY,EAAE,KAA8B;IACnE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,KAAK,CAAC,SAAmB,IAAI,EAAE,CAAC;QACzC,KAAK,OAAO,CAAC;QACb,KAAK,MAAM;YACT,OAAO,KAAK,CAAC,SAAmB,IAAI,EAAE,CAAC;QACzC,KAAK,MAAM;YACT,OAAO,KAAK,CAAC,OAAiB,IAAI,EAAE,CAAC;QACvC,KAAK,MAAM;YACT,OAAO,IAAI,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxE,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAiB,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACrD,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,GAAa,IAAI,EAAE,CAAC;QACnC,KAAK,WAAW;YACd,OAAO,IAAI,KAAK,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC;QAClC,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAmD,IAAI,EAAE,CAAC;YAC9E,OAAO,GAAG,KAAK,CAAC,MAAM,QAAQ,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAChE,CAAC;QACD;YACE,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAiB;IACrD,+CAA+C;IAC/C,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAElD,OAAO,CACL,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,aACf,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,YAAG,KAAK,CAAC,IAAI,GAAQ,EAC7C,KAAC,IAAI,oBAAS,EACd,KAAC,IAAI,IAAC,IAAI,kBAAE,IAAI,GAAQ,EACvB,YAAY,IAAI,CACf,8BACE,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,kBAAU,EACvC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,aAAa,YAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,GAAQ,IACrE,CACJ,IACG,CACP,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,eAAe,CAAC,EAAE,IAAI,EAAE,KAAK,EAAwB;IACnE,+CAA+C;IAC/C,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAElD,OAAO,CACL,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,aACf,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,YACtB,KAAC,UAAU,IAAC,IAAI,EAAC,MAAM,GAAG,GACrB,EACP,KAAC,IAAI,oBAAS,EACd,KAAC,IAAI,IAAC,IAAI,kBAAE,IAAI,GAAQ,EACvB,YAAY,IAAI,CACf,8BACE,KAAC,IAAI,oBAAS,EACd,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,aAAa,YAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,GAAQ,IACrE,CACJ,IACG,CACP,CAAC;AACJ,CAAC;AAkBD,MAAM,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAmB;IAC7E,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAE5D,wEAAwE;IACxE,IAAI,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACvB,OAAO,CACL,MAAC,GAAG,IAAC,UAAU,EAAE,CAAC,aAChB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,YAAG,KAAK,CAAC,OAAO,GAAQ,EACrD,KAAC,IAAI,oBAAS,EACd,KAAC,IAAI,IAAC,KAAK,EAAE,WAAW,YAAG,QAAQ,CAAC,QAAQ,GAAQ,IAChD,CACP,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sDAAsD;IACtD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAExE,OAAO,CACL,MAAC,GAAG,IAAC,UAAU,EAAE,CAAC,aAChB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,YAAG,KAAK,CAAC,OAAO,GAAQ,EACrD,KAAC,IAAI,oBAAS,EACd,KAAC,IAAI,IAAC,KAAK,EAAE,WAAW,YAAG,aAAa,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAQ,IAC7E,CACP,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAoB;IACnE,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;QAC9C,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE;QACvD,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE;QACvD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE;KAClD,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAErC,OAAO,CACL,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,aAAG,IAAI,SAAS,EAClC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,aAAa,YAAG,IAAI,GAAQ,IAC5C,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAC3C,OAAO,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,YAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAQ,CAAC;AACnE,CAAC;AAMD,MAAM,UAAU,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,EAAuB;IACnE,OAAO,CACL,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,YAChC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,iDAAoC,GAC7D,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,CACL,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,kCAA0B,GACnD,CACP,CAAC;AACJ,CAAC;AAED,0DAA0D;AAC1D,MAAM,gBAAgB,GAAG;IACvB,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;IACV,WAAW;CACZ,CAAC;AAEF,SAAS,cAAc,CAAC,EAAU;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,SAAS,GAAG,EAAE,CAAC;IAC5B,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,OAAO,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,IAAI,GAAG,CAAC;AACpB,CAAC;AAMD,MAAM,UAAU,iBAAiB,CAAC,EAAE,UAAU,EAA0B;IACtE,sFAAsF;IACtF,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnF,OAAO,CACL,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,wBACxB,IAAI,WAAO,cAAc,CAAC,UAAU,CAAC,IACnC,GACH,CACP,CAAC;AACJ,CAAC"}
@@ -1,13 +1,13 @@
1
- interface Model {
2
- id: string;
3
- name: string;
4
- }
1
+ import type { ProviderName } from '../../providers/index.js';
5
2
  interface ModelSelectorProps {
6
3
  currentModel: string;
7
- onSelect: (modelId: string) => void;
4
+ onSelect: (modelId: string, providerId: ProviderName) => void;
8
5
  onCancel: () => void;
9
- listModels: () => Promise<Model[]>;
6
+ listModels: () => Promise<{
7
+ id: string;
8
+ name: string;
9
+ }[]>;
10
10
  }
11
- export declare function ModelSelector({ currentModel, onSelect, onCancel, listModels, }: ModelSelectorProps): import("react/jsx-runtime").JSX.Element | null;
11
+ export declare function ModelSelector({ currentModel, onSelect, onCancel, listModels, }: ModelSelectorProps): import("react/jsx-runtime").JSX.Element;
12
12
  export {};
13
13
  //# sourceMappingURL=ModelSelector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModelSelector.d.ts","sourceRoot":"","sources":["../../../src/cli/components/ModelSelector.tsx"],"names":[],"mappings":"AASA,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,kBAAkB;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;CACpC;AAED,wBAAgB,aAAa,CAAC,EAC5B,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,UAAU,GACX,EAAE,kBAAkB,kDA4GpB"}
1
+ {"version":3,"file":"ModelSelector.d.ts","sourceRoot":"","sources":["../../../src/cli/components/ModelSelector.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQ7D,UAAU,kBAAkB;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9D,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;CAC3D;AAED,wBAAgB,aAAa,CAAC,EAC5B,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,UAAU,GACX,EAAE,kBAAkB,2CA6NpB"}
@@ -1,36 +1,84 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /**
3
- * Model Selector Component - Interactive model selection with fuzzy filter
3
+ * Model Selector Component - Interactive model selection from cached providers
4
4
  */
5
- import { useState, useEffect } from 'react';
5
+ import { useState, useEffect, useMemo } from 'react';
6
6
  import { Box, Text, useInput } from 'ink';
7
7
  import TextInput from 'ink-text-input';
8
8
  import { colors, icons } from './theme.js';
9
9
  import { LoadingSpinner } from './Spinner.js';
10
+ import { getProviderStore } from '../../providers/store.js';
11
+ import { getProvider } from '../../providers/registry.js';
10
12
  export function ModelSelector({ currentModel, onSelect, onCancel, listModels, }) {
11
- const [models, setModels] = useState([]);
13
+ const store = getProviderStore();
12
14
  const [loading, setLoading] = useState(true);
13
- const [error, setError] = useState(null);
14
15
  const [filter, setFilter] = useState('');
15
16
  const [selectedIndex, setSelectedIndex] = useState(0);
17
+ const [allModels, setAllModels] = useState([]);
18
+ // Load models from cache
16
19
  useEffect(() => {
17
- const fetchModels = async () => {
18
- try {
19
- const result = await listModels();
20
- setModels(result);
20
+ const loadModels = async () => {
21
+ const connectedProviders = store.getConnectedProviders();
22
+ const items = [];
23
+ for (const providerId of connectedProviders) {
24
+ const cachedModels = store.getModels(providerId);
25
+ const providerDef = getProvider(providerId);
26
+ const providerName = providerDef?.name || providerId;
27
+ for (const model of cachedModels) {
28
+ items.push({
29
+ providerId,
30
+ providerName,
31
+ model,
32
+ });
33
+ }
21
34
  }
22
- catch (err) {
23
- setError(err instanceof Error ? err.message : 'Failed to fetch models');
24
- }
25
- finally {
26
- setLoading(false);
35
+ // If no cached models, fallback to listModels for current provider
36
+ if (items.length === 0) {
37
+ try {
38
+ const models = await listModels();
39
+ for (const model of models) {
40
+ items.push({
41
+ providerId: 'anthropic', // Default, will be overridden
42
+ providerName: 'Current Provider',
43
+ model,
44
+ });
45
+ }
46
+ }
47
+ catch {
48
+ // Ignore errors
49
+ }
27
50
  }
51
+ setAllModels(items);
52
+ setLoading(false);
28
53
  };
29
- fetchModels();
30
- }, [listModels]);
31
- // Fuzzy filter models
32
- const filtered = models.filter((m) => m.id.toLowerCase().includes(filter.toLowerCase()) ||
33
- m.name.toLowerCase().includes(filter.toLowerCase()));
54
+ loadModels();
55
+ }, [store, listModels]);
56
+ // Filter models
57
+ const filterLower = filter.toLowerCase();
58
+ const filtered = useMemo(() => {
59
+ return allModels.filter((item) => item.model.id.toLowerCase().includes(filterLower) ||
60
+ item.model.name.toLowerCase().includes(filterLower) ||
61
+ item.providerName.toLowerCase().includes(filterLower));
62
+ }, [allModels, filterLower]);
63
+ // Group by provider for display
64
+ const groupedModels = useMemo(() => {
65
+ const groups = {};
66
+ for (const item of filtered) {
67
+ if (!groups[item.providerId]) {
68
+ groups[item.providerId] = [];
69
+ }
70
+ groups[item.providerId].push(item);
71
+ }
72
+ return groups;
73
+ }, [filtered]);
74
+ // Flat list for navigation
75
+ const flatList = useMemo(() => {
76
+ const items = [];
77
+ for (const providerId of Object.keys(groupedModels)) {
78
+ items.push(...groupedModels[providerId]);
79
+ }
80
+ return items;
81
+ }, [groupedModels]);
34
82
  // Reset selection when filter changes
35
83
  useEffect(() => {
36
84
  setSelectedIndex(0);
@@ -41,11 +89,12 @@ export function ModelSelector({ currentModel, onSelect, onCancel, listModels, })
41
89
  setSelectedIndex((i) => Math.max(0, i - 1));
42
90
  }
43
91
  else if (key.downArrow) {
44
- setSelectedIndex((i) => Math.min(filtered.length - 1, i + 1));
92
+ setSelectedIndex((i) => Math.min(flatList.length - 1, i + 1));
45
93
  }
46
94
  else if (key.return) {
47
- if (filtered.length > 0) {
48
- onSelect(filtered[selectedIndex].id);
95
+ if (flatList.length > 0) {
96
+ const selected = flatList[selectedIndex];
97
+ onSelect(selected.model.id, selected.providerId);
49
98
  }
50
99
  }
51
100
  else if (key.escape) {
@@ -55,18 +104,52 @@ export function ModelSelector({ currentModel, onSelect, onCancel, listModels, })
55
104
  if (loading) {
56
105
  return (_jsxs(Box, { children: [_jsx(LoadingSpinner, {}), _jsx(Text, { color: colors.textMuted, children: " Loading models..." })] }));
57
106
  }
58
- if (error) {
59
- onCancel();
60
- return null;
107
+ // Count providers and models
108
+ const providerCount = Object.keys(groupedModels).length;
109
+ const modelCount = flatList.length;
110
+ // Calculate visible window
111
+ const maxVisible = 10;
112
+ const startIndex = Math.max(0, Math.min(selectedIndex - Math.floor(maxVisible / 2), flatList.length - maxVisible));
113
+ const endIndex = Math.min(startIndex + maxVisible, flatList.length);
114
+ // Build visible items with provider headers
115
+ let currentIdx = 0;
116
+ const renderItems = [];
117
+ for (const providerId of Object.keys(groupedModels)) {
118
+ const models = groupedModels[providerId];
119
+ const firstIdx = currentIdx;
120
+ const lastIdx = currentIdx + models.length - 1;
121
+ // Check if any model from this provider is in visible range
122
+ if (lastIdx >= startIndex && firstIdx < endIndex) {
123
+ // Add header if first visible item is from this provider
124
+ const providerDef = getProvider(providerId);
125
+ const connection = store.getConnection(providerId);
126
+ const headerText = `${providerDef?.name || providerId}${connection ? ` (${connection.method})` : ''}:`;
127
+ // Only add header if we're showing models from this provider
128
+ const visibleModelsFromProvider = models.filter((_, i) => {
129
+ const globalIdx = currentIdx + i;
130
+ return globalIdx >= startIndex && globalIdx < endIndex;
131
+ });
132
+ if (visibleModelsFromProvider.length > 0 && (firstIdx >= startIndex || renderItems.length === 0)) {
133
+ renderItems.push({ type: 'header', content: headerText });
134
+ }
135
+ for (let i = 0; i < models.length; i++) {
136
+ const globalIdx = currentIdx + i;
137
+ if (globalIdx >= startIndex && globalIdx < endIndex) {
138
+ renderItems.push({ type: 'model', content: '', item: models[i] });
139
+ }
140
+ }
141
+ }
142
+ currentIdx += models.length;
61
143
  }
62
- const maxVisible = 8;
63
- const startIndex = Math.max(0, Math.min(selectedIndex - Math.floor(maxVisible / 2), filtered.length - maxVisible));
64
- const visibleModels = filtered.slice(startIndex, startIndex + maxVisible);
65
- return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsxs(Text, { color: colors.primary, children: [icons.prompt, " "] }), _jsx(TextInput, { value: filter, onChange: setFilter, placeholder: "Type to filter models..." })] }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: visibleModels.length === 0 ? (_jsxs(Text, { color: colors.textMuted, children: ["No models match \"", filter, "\""] })) : (visibleModels.map((m, i) => {
66
- const actualIndex = startIndex + i;
67
- const isSelected = actualIndex === selectedIndex;
68
- const isCurrent = m.id === currentModel;
69
- return (_jsxs(Box, { children: [_jsx(Text, { color: isSelected ? colors.primary : colors.textMuted, children: isSelected ? icons.arrow : ' ' }), _jsx(Text, { color: isSelected ? colors.text : colors.textSecondary, bold: isSelected, children: m.name }), isCurrent && _jsx(Text, { color: colors.success, children: " (current)" })] }, m.id));
70
- })) }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: colors.textMuted, children: [filtered.length, " models \u00B7 \u2191\u2193 navigate \u00B7 Enter select \u00B7 Esc cancel"] }) })] }));
144
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.primary, bold: true, children: "Select Model" }), _jsxs(Box, { marginTop: 1, children: [_jsxs(Text, { color: colors.textMuted, children: [icons.prompt, " "] }), _jsx(TextInput, { value: filter, onChange: setFilter, placeholder: "Filter models..." })] }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: flatList.length === 0 ? (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.textMuted, children: "No cached models." }), _jsx(Text, { color: colors.textMuted, children: "Use /provider to connect and cache models." })] })) : (renderItems.map((renderItem, i) => {
145
+ if (renderItem.type === 'header') {
146
+ return (_jsx(Text, { color: colors.textSecondary, children: renderItem.content }, `header-${i}`));
147
+ }
148
+ const item = renderItem.item;
149
+ const globalIndex = flatList.findIndex((f) => f.providerId === item.providerId && f.model.id === item.model.id);
150
+ const isSelected = globalIndex === selectedIndex;
151
+ const isCurrent = item.model.id === currentModel;
152
+ return (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Text, { color: isSelected ? colors.primary : colors.textMuted, children: isSelected ? icons.arrow : ' ' }), _jsx(Text, { color: isCurrent ? colors.primary : colors.textMuted, children: isCurrent ? icons.radio : icons.radioEmpty }), _jsxs(Text, { color: isSelected ? colors.text : colors.textSecondary, bold: isSelected, children: [' ', item.model.name || item.model.id] }), isCurrent && _jsx(Text, { color: colors.success, children: " (current)" })] }, `${item.providerId}-${item.model.id}`));
153
+ })) }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: colors.textMuted, children: [providerCount, " provider", providerCount !== 1 ? 's' : '', " \u00B7 ", modelCount, " model", modelCount !== 1 ? 's' : '', " \u00B7 \u2191\u2193 navigate \u00B7 Enter select \u00B7 Esc cancel"] }) })] }));
71
154
  }
72
155
  //# sourceMappingURL=ModelSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModelSelector.js","sourceRoot":"","sources":["../../../src/cli/components/ModelSelector.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelSelector.js","sourceRoot":"","sources":["../../../src/cli/components/ModelSelector.tsx"],"names":[],"mappings":"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"}