mistagent 0.1.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 (353) hide show
  1. package/dist/index.d.ts +3 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +14 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/src/api/auth.d.ts +7 -0
  6. package/dist/src/api/auth.d.ts.map +1 -0
  7. package/dist/src/api/auth.js +16 -0
  8. package/dist/src/api/auth.js.map +1 -0
  9. package/dist/src/api/chat.d.ts +8 -0
  10. package/dist/src/api/chat.d.ts.map +1 -0
  11. package/dist/src/api/chat.js +14 -0
  12. package/dist/src/api/chat.js.map +1 -0
  13. package/dist/src/api/client.d.ts +22 -0
  14. package/dist/src/api/client.d.ts.map +1 -0
  15. package/dist/src/api/client.js +140 -0
  16. package/dist/src/api/client.js.map +1 -0
  17. package/dist/src/api/commands.d.ts +8 -0
  18. package/dist/src/api/commands.d.ts.map +1 -0
  19. package/dist/src/api/commands.js +13 -0
  20. package/dist/src/api/commands.js.map +1 -0
  21. package/dist/src/api/models.d.ts +9 -0
  22. package/dist/src/api/models.d.ts.map +1 -0
  23. package/dist/src/api/models.js +13 -0
  24. package/dist/src/api/models.js.map +1 -0
  25. package/dist/src/api/sessions.d.ts +25 -0
  26. package/dist/src/api/sessions.d.ts.map +1 -0
  27. package/dist/src/api/sessions.js +26 -0
  28. package/dist/src/api/sessions.js.map +1 -0
  29. package/dist/src/api/tools.d.ts +7 -0
  30. package/dist/src/api/tools.d.ts.map +1 -0
  31. package/dist/src/api/tools.js +8 -0
  32. package/dist/src/api/tools.js.map +1 -0
  33. package/dist/src/components/App.d.ts +22 -0
  34. package/dist/src/components/App.d.ts.map +1 -0
  35. package/dist/src/components/App.js +61 -0
  36. package/dist/src/components/App.js.map +1 -0
  37. package/dist/src/components/AppLayout.d.ts +8 -0
  38. package/dist/src/components/AppLayout.d.ts.map +1 -0
  39. package/dist/src/components/AppLayout.js +18 -0
  40. package/dist/src/components/AppLayout.js.map +1 -0
  41. package/dist/src/components/Composer.d.ts +8 -0
  42. package/dist/src/components/Composer.d.ts.map +1 -0
  43. package/dist/src/components/Composer.js +294 -0
  44. package/dist/src/components/Composer.js.map +1 -0
  45. package/dist/src/components/Footer.d.ts +10 -0
  46. package/dist/src/components/Footer.d.ts.map +1 -0
  47. package/dist/src/components/Footer.js +34 -0
  48. package/dist/src/components/Footer.js.map +1 -0
  49. package/dist/src/components/Header.d.ts +3 -0
  50. package/dist/src/components/Header.d.ts.map +1 -0
  51. package/dist/src/components/Header.js +99 -0
  52. package/dist/src/components/Header.js.map +1 -0
  53. package/dist/src/components/HistoryItemDisplay.d.ts +8 -0
  54. package/dist/src/components/HistoryItemDisplay.d.ts.map +1 -0
  55. package/dist/src/components/HistoryItemDisplay.js +32 -0
  56. package/dist/src/components/HistoryItemDisplay.js.map +1 -0
  57. package/dist/src/components/InputPrompt.d.ts +11 -0
  58. package/dist/src/components/InputPrompt.d.ts.map +1 -0
  59. package/dist/src/components/InputPrompt.js +12 -0
  60. package/dist/src/components/InputPrompt.js.map +1 -0
  61. package/dist/src/components/LoadingIndicator.d.ts +8 -0
  62. package/dist/src/components/LoadingIndicator.d.ts.map +1 -0
  63. package/dist/src/components/LoadingIndicator.js +17 -0
  64. package/dist/src/components/LoadingIndicator.js.map +1 -0
  65. package/dist/src/components/LoginPrompt.d.ts +8 -0
  66. package/dist/src/components/LoginPrompt.d.ts.map +1 -0
  67. package/dist/src/components/LoginPrompt.js +76 -0
  68. package/dist/src/components/LoginPrompt.js.map +1 -0
  69. package/dist/src/components/MainContent.d.ts +3 -0
  70. package/dist/src/components/MainContent.d.ts.map +1 -0
  71. package/dist/src/components/MainContent.js +22 -0
  72. package/dist/src/components/MainContent.js.map +1 -0
  73. package/dist/src/components/ModelPicker.d.ts +3 -0
  74. package/dist/src/components/ModelPicker.d.ts.map +1 -0
  75. package/dist/src/components/ModelPicker.js +119 -0
  76. package/dist/src/components/ModelPicker.js.map +1 -0
  77. package/dist/src/components/MultiLineInput.d.ts +19 -0
  78. package/dist/src/components/MultiLineInput.d.ts.map +1 -0
  79. package/dist/src/components/MultiLineInput.js +108 -0
  80. package/dist/src/components/MultiLineInput.js.map +1 -0
  81. package/dist/src/components/SessionPicker.d.ts +3 -0
  82. package/dist/src/components/SessionPicker.d.ts.map +1 -0
  83. package/dist/src/components/SessionPicker.js +131 -0
  84. package/dist/src/components/SessionPicker.js.map +1 -0
  85. package/dist/src/components/SuggestionsDisplay.d.ts +16 -0
  86. package/dist/src/components/SuggestionsDisplay.d.ts.map +1 -0
  87. package/dist/src/components/SuggestionsDisplay.js +34 -0
  88. package/dist/src/components/SuggestionsDisplay.js.map +1 -0
  89. package/dist/src/components/messages/AssistantMessage.d.ts +8 -0
  90. package/dist/src/components/messages/AssistantMessage.d.ts.map +1 -0
  91. package/dist/src/components/messages/AssistantMessage.js +9 -0
  92. package/dist/src/components/messages/AssistantMessage.js.map +1 -0
  93. package/dist/src/components/messages/CommandResult.d.ts +8 -0
  94. package/dist/src/components/messages/CommandResult.d.ts.map +1 -0
  95. package/dist/src/components/messages/CommandResult.js +7 -0
  96. package/dist/src/components/messages/CommandResult.js.map +1 -0
  97. package/dist/src/components/messages/ErrorMessage.d.ts +7 -0
  98. package/dist/src/components/messages/ErrorMessage.d.ts.map +1 -0
  99. package/dist/src/components/messages/ErrorMessage.js +7 -0
  100. package/dist/src/components/messages/ErrorMessage.js.map +1 -0
  101. package/dist/src/components/messages/InfoMessage.d.ts +9 -0
  102. package/dist/src/components/messages/InfoMessage.d.ts.map +1 -0
  103. package/dist/src/components/messages/InfoMessage.js +8 -0
  104. package/dist/src/components/messages/InfoMessage.js.map +1 -0
  105. package/dist/src/components/messages/ModelMessage.d.ts +8 -0
  106. package/dist/src/components/messages/ModelMessage.d.ts.map +1 -0
  107. package/dist/src/components/messages/ModelMessage.js +7 -0
  108. package/dist/src/components/messages/ModelMessage.js.map +1 -0
  109. package/dist/src/components/messages/SessionMessage.d.ts +8 -0
  110. package/dist/src/components/messages/SessionMessage.d.ts.map +1 -0
  111. package/dist/src/components/messages/SessionMessage.js +12 -0
  112. package/dist/src/components/messages/SessionMessage.js.map +1 -0
  113. package/dist/src/components/messages/ToolCallMessage.d.ts +9 -0
  114. package/dist/src/components/messages/ToolCallMessage.d.ts.map +1 -0
  115. package/dist/src/components/messages/ToolCallMessage.js +14 -0
  116. package/dist/src/components/messages/ToolCallMessage.js.map +1 -0
  117. package/dist/src/components/messages/UserMessage.d.ts +7 -0
  118. package/dist/src/components/messages/UserMessage.d.ts.map +1 -0
  119. package/dist/src/components/messages/UserMessage.js +9 -0
  120. package/dist/src/components/messages/UserMessage.js.map +1 -0
  121. package/dist/src/components/shared/HorizontalLine.d.ts +11 -0
  122. package/dist/src/components/shared/HorizontalLine.d.ts.map +1 -0
  123. package/dist/src/components/shared/HorizontalLine.js +10 -0
  124. package/dist/src/components/shared/HorizontalLine.js.map +1 -0
  125. package/dist/src/components/shared/MarkdownRenderer.d.ts +7 -0
  126. package/dist/src/components/shared/MarkdownRenderer.d.ts.map +1 -0
  127. package/dist/src/components/shared/MarkdownRenderer.js +33 -0
  128. package/dist/src/components/shared/MarkdownRenderer.js.map +1 -0
  129. package/dist/src/components/shared/Spinner.d.ts +8 -0
  130. package/dist/src/components/shared/Spinner.d.ts.map +1 -0
  131. package/dist/src/components/shared/Spinner.js +7 -0
  132. package/dist/src/components/shared/Spinner.js.map +1 -0
  133. package/dist/src/components/shared/TextInput.d.ts +10 -0
  134. package/dist/src/components/shared/TextInput.d.ts.map +1 -0
  135. package/dist/src/components/shared/TextInput.js +110 -0
  136. package/dist/src/components/shared/TextInput.js.map +1 -0
  137. package/dist/src/contexts/AppContext.d.ts +21 -0
  138. package/dist/src/contexts/AppContext.d.ts.map +1 -0
  139. package/dist/src/contexts/AppContext.js +16 -0
  140. package/dist/src/contexts/AppContext.js.map +1 -0
  141. package/dist/src/contexts/ChatContext.d.ts +68 -0
  142. package/dist/src/contexts/ChatContext.d.ts.map +1 -0
  143. package/dist/src/contexts/ChatContext.js +158 -0
  144. package/dist/src/contexts/ChatContext.js.map +1 -0
  145. package/dist/src/contexts/KeypressContext.d.ts +47 -0
  146. package/dist/src/contexts/KeypressContext.d.ts.map +1 -0
  147. package/dist/src/contexts/KeypressContext.js +792 -0
  148. package/dist/src/contexts/KeypressContext.js.map +1 -0
  149. package/dist/src/contexts/ModelContext.d.ts +20 -0
  150. package/dist/src/contexts/ModelContext.d.ts.map +1 -0
  151. package/dist/src/contexts/ModelContext.js +42 -0
  152. package/dist/src/contexts/ModelContext.js.map +1 -0
  153. package/dist/src/contexts/PasteContext.d.ts +8 -0
  154. package/dist/src/contexts/PasteContext.d.ts.map +1 -0
  155. package/dist/src/contexts/PasteContext.js +12 -0
  156. package/dist/src/contexts/PasteContext.js.map +1 -0
  157. package/dist/src/contexts/SessionContext.d.ts +19 -0
  158. package/dist/src/contexts/SessionContext.d.ts.map +1 -0
  159. package/dist/src/contexts/SessionContext.js +56 -0
  160. package/dist/src/contexts/SessionContext.js.map +1 -0
  161. package/dist/src/contexts/UIContext.d.ts +15 -0
  162. package/dist/src/contexts/UIContext.d.ts.map +1 -0
  163. package/dist/src/contexts/UIContext.js +16 -0
  164. package/dist/src/contexts/UIContext.js.map +1 -0
  165. package/dist/src/hooks/useChat.d.ts +11 -0
  166. package/dist/src/hooks/useChat.d.ts.map +1 -0
  167. package/dist/src/hooks/useChat.js +146 -0
  168. package/dist/src/hooks/useChat.js.map +1 -0
  169. package/dist/src/hooks/useFileCompletion.d.ts +8 -0
  170. package/dist/src/hooks/useFileCompletion.d.ts.map +1 -0
  171. package/dist/src/hooks/useFileCompletion.js +75 -0
  172. package/dist/src/hooks/useFileCompletion.js.map +1 -0
  173. package/dist/src/hooks/useInputHistory.d.ts +6 -0
  174. package/dist/src/hooks/useInputHistory.d.ts.map +1 -0
  175. package/dist/src/hooks/useInputHistory.js +46 -0
  176. package/dist/src/hooks/useInputHistory.js.map +1 -0
  177. package/dist/src/hooks/useKeypress.d.ts +16 -0
  178. package/dist/src/hooks/useKeypress.d.ts.map +1 -0
  179. package/dist/src/hooks/useKeypress.js +23 -0
  180. package/dist/src/hooks/useKeypress.js.map +1 -0
  181. package/dist/src/hooks/useLoadingIndicator.d.ts +5 -0
  182. package/dist/src/hooks/useLoadingIndicator.d.ts.map +1 -0
  183. package/dist/src/hooks/useLoadingIndicator.js +31 -0
  184. package/dist/src/hooks/useLoadingIndicator.js.map +1 -0
  185. package/dist/src/hooks/useMultiLineInput.d.ts +37 -0
  186. package/dist/src/hooks/useMultiLineInput.d.ts.map +1 -0
  187. package/dist/src/hooks/useMultiLineInput.js +202 -0
  188. package/dist/src/hooks/useMultiLineInput.js.map +1 -0
  189. package/dist/src/hooks/usePasteBuffer.d.ts +10 -0
  190. package/dist/src/hooks/usePasteBuffer.d.ts.map +1 -0
  191. package/dist/src/hooks/usePasteBuffer.js +90 -0
  192. package/dist/src/hooks/usePasteBuffer.js.map +1 -0
  193. package/dist/src/hooks/useSlashCommand.d.ts +6 -0
  194. package/dist/src/hooks/useSlashCommand.d.ts.map +1 -0
  195. package/dist/src/hooks/useSlashCommand.js +198 -0
  196. package/dist/src/hooks/useSlashCommand.js.map +1 -0
  197. package/dist/src/hooks/useStdinInterceptor.d.ts +2 -0
  198. package/dist/src/hooks/useStdinInterceptor.d.ts.map +1 -0
  199. package/dist/src/hooks/useStdinInterceptor.js +85 -0
  200. package/dist/src/hooks/useStdinInterceptor.js.map +1 -0
  201. package/dist/src/hooks/useSymbolCompletion.d.ts +10 -0
  202. package/dist/src/hooks/useSymbolCompletion.d.ts.map +1 -0
  203. package/dist/src/hooks/useSymbolCompletion.js +65 -0
  204. package/dist/src/hooks/useSymbolCompletion.js.map +1 -0
  205. package/dist/src/hooks/useTextBuffer.d.ts +37 -0
  206. package/dist/src/hooks/useTextBuffer.d.ts.map +1 -0
  207. package/dist/src/hooks/useTextBuffer.js +627 -0
  208. package/dist/src/hooks/useTextBuffer.js.map +1 -0
  209. package/dist/src/main.d.ts +2 -0
  210. package/dist/src/main.d.ts.map +1 -0
  211. package/dist/src/main.js +152 -0
  212. package/dist/src/main.js.map +1 -0
  213. package/dist/src/tools/code-analyzer/config/ignore-service.d.ts +2 -0
  214. package/dist/src/tools/code-analyzer/config/ignore-service.d.ts.map +1 -0
  215. package/dist/src/tools/code-analyzer/config/ignore-service.js +209 -0
  216. package/dist/src/tools/code-analyzer/config/ignore-service.js.map +1 -0
  217. package/dist/src/tools/code-analyzer/config/supported-languages.d.ts +13 -0
  218. package/dist/src/tools/code-analyzer/config/supported-languages.d.ts.map +1 -0
  219. package/dist/src/tools/code-analyzer/config/supported-languages.js +17 -0
  220. package/dist/src/tools/code-analyzer/config/supported-languages.js.map +1 -0
  221. package/dist/src/tools/code-analyzer/core/graph/graph.d.ts +3 -0
  222. package/dist/src/tools/code-analyzer/core/graph/graph.d.ts.map +1 -0
  223. package/dist/src/tools/code-analyzer/core/graph/graph.js +67 -0
  224. package/dist/src/tools/code-analyzer/core/graph/graph.js.map +1 -0
  225. package/dist/src/tools/code-analyzer/core/graph/types.d.ts +62 -0
  226. package/dist/src/tools/code-analyzer/core/graph/types.d.ts.map +1 -0
  227. package/dist/src/tools/code-analyzer/core/graph/types.js +2 -0
  228. package/dist/src/tools/code-analyzer/core/graph/types.js.map +1 -0
  229. package/dist/src/tools/code-analyzer/core/ingestion/ast-cache.d.ts +12 -0
  230. package/dist/src/tools/code-analyzer/core/ingestion/ast-cache.d.ts.map +1 -0
  231. package/dist/src/tools/code-analyzer/core/ingestion/ast-cache.js +35 -0
  232. package/dist/src/tools/code-analyzer/core/ingestion/ast-cache.js.map +1 -0
  233. package/dist/src/tools/code-analyzer/core/ingestion/call-processor.d.ts +16 -0
  234. package/dist/src/tools/code-analyzer/core/ingestion/call-processor.d.ts.map +1 -0
  235. package/dist/src/tools/code-analyzer/core/ingestion/call-processor.js +328 -0
  236. package/dist/src/tools/code-analyzer/core/ingestion/call-processor.js.map +1 -0
  237. package/dist/src/tools/code-analyzer/core/ingestion/community-processor.d.ts +40 -0
  238. package/dist/src/tools/code-analyzer/core/ingestion/community-processor.d.ts.map +1 -0
  239. package/dist/src/tools/code-analyzer/core/ingestion/community-processor.js +328 -0
  240. package/dist/src/tools/code-analyzer/core/ingestion/community-processor.js.map +1 -0
  241. package/dist/src/tools/code-analyzer/core/ingestion/entry-point-scoring.d.ts +40 -0
  242. package/dist/src/tools/code-analyzer/core/ingestion/entry-point-scoring.d.ts.map +1 -0
  243. package/dist/src/tools/code-analyzer/core/ingestion/entry-point-scoring.js +236 -0
  244. package/dist/src/tools/code-analyzer/core/ingestion/entry-point-scoring.js.map +1 -0
  245. package/dist/src/tools/code-analyzer/core/ingestion/filesystem-walker.d.ts +29 -0
  246. package/dist/src/tools/code-analyzer/core/ingestion/filesystem-walker.d.ts.map +1 -0
  247. package/dist/src/tools/code-analyzer/core/ingestion/filesystem-walker.js +81 -0
  248. package/dist/src/tools/code-analyzer/core/ingestion/filesystem-walker.js.map +1 -0
  249. package/dist/src/tools/code-analyzer/core/ingestion/framework-detection.d.ts +39 -0
  250. package/dist/src/tools/code-analyzer/core/ingestion/framework-detection.d.ts.map +1 -0
  251. package/dist/src/tools/code-analyzer/core/ingestion/framework-detection.js +184 -0
  252. package/dist/src/tools/code-analyzer/core/ingestion/framework-detection.js.map +1 -0
  253. package/dist/src/tools/code-analyzer/core/ingestion/heritage-processor.d.ts +21 -0
  254. package/dist/src/tools/code-analyzer/core/ingestion/heritage-processor.d.ts.map +1 -0
  255. package/dist/src/tools/code-analyzer/core/ingestion/heritage-processor.js +198 -0
  256. package/dist/src/tools/code-analyzer/core/ingestion/heritage-processor.js.map +1 -0
  257. package/dist/src/tools/code-analyzer/core/ingestion/import-processor.d.ts +39 -0
  258. package/dist/src/tools/code-analyzer/core/ingestion/import-processor.d.ts.map +1 -0
  259. package/dist/src/tools/code-analyzer/core/ingestion/import-processor.js +791 -0
  260. package/dist/src/tools/code-analyzer/core/ingestion/import-processor.js.map +1 -0
  261. package/dist/src/tools/code-analyzer/core/ingestion/parsing-processor.d.ts +16 -0
  262. package/dist/src/tools/code-analyzer/core/ingestion/parsing-processor.d.ts.map +1 -0
  263. package/dist/src/tools/code-analyzer/core/ingestion/parsing-processor.js +296 -0
  264. package/dist/src/tools/code-analyzer/core/ingestion/parsing-processor.js.map +1 -0
  265. package/dist/src/tools/code-analyzer/core/ingestion/pipeline.d.ts +3 -0
  266. package/dist/src/tools/code-analyzer/core/ingestion/pipeline.d.ts.map +1 -0
  267. package/dist/src/tools/code-analyzer/core/ingestion/pipeline.js +309 -0
  268. package/dist/src/tools/code-analyzer/core/ingestion/pipeline.js.map +1 -0
  269. package/dist/src/tools/code-analyzer/core/ingestion/process-processor.d.ts +52 -0
  270. package/dist/src/tools/code-analyzer/core/ingestion/process-processor.d.ts.map +1 -0
  271. package/dist/src/tools/code-analyzer/core/ingestion/process-processor.js +310 -0
  272. package/dist/src/tools/code-analyzer/core/ingestion/process-processor.js.map +1 -0
  273. package/dist/src/tools/code-analyzer/core/ingestion/structure-processor.d.ts +3 -0
  274. package/dist/src/tools/code-analyzer/core/ingestion/structure-processor.d.ts.map +1 -0
  275. package/dist/src/tools/code-analyzer/core/ingestion/structure-processor.js +37 -0
  276. package/dist/src/tools/code-analyzer/core/ingestion/structure-processor.js.map +1 -0
  277. package/dist/src/tools/code-analyzer/core/ingestion/symbol-table.d.ts +34 -0
  278. package/dist/src/tools/code-analyzer/core/ingestion/symbol-table.d.ts.map +1 -0
  279. package/dist/src/tools/code-analyzer/core/ingestion/symbol-table.js +39 -0
  280. package/dist/src/tools/code-analyzer/core/ingestion/symbol-table.js.map +1 -0
  281. package/dist/src/tools/code-analyzer/core/ingestion/tree-sitter-queries.d.ts +13 -0
  282. package/dist/src/tools/code-analyzer/core/ingestion/tree-sitter-queries.d.ts.map +1 -0
  283. package/dist/src/tools/code-analyzer/core/ingestion/tree-sitter-queries.js +355 -0
  284. package/dist/src/tools/code-analyzer/core/ingestion/tree-sitter-queries.js.map +1 -0
  285. package/dist/src/tools/code-analyzer/core/ingestion/utils.d.ts +11 -0
  286. package/dist/src/tools/code-analyzer/core/ingestion/utils.d.ts.map +1 -0
  287. package/dist/src/tools/code-analyzer/core/ingestion/utils.js +48 -0
  288. package/dist/src/tools/code-analyzer/core/ingestion/utils.js.map +1 -0
  289. package/dist/src/tools/code-analyzer/core/ingestion/workers/parse-worker.d.ts +59 -0
  290. package/dist/src/tools/code-analyzer/core/ingestion/workers/parse-worker.d.ts.map +1 -0
  291. package/dist/src/tools/code-analyzer/core/ingestion/workers/parse-worker.js +538 -0
  292. package/dist/src/tools/code-analyzer/core/ingestion/workers/parse-worker.js.map +1 -0
  293. package/dist/src/tools/code-analyzer/core/ingestion/workers/worker-pool.d.ts +17 -0
  294. package/dist/src/tools/code-analyzer/core/ingestion/workers/worker-pool.d.ts.map +1 -0
  295. package/dist/src/tools/code-analyzer/core/ingestion/workers/worker-pool.js +121 -0
  296. package/dist/src/tools/code-analyzer/core/ingestion/workers/worker-pool.js.map +1 -0
  297. package/dist/src/tools/code-analyzer/core/tree-sitter/parser-loader.d.ts +5 -0
  298. package/dist/src/tools/code-analyzer/core/tree-sitter/parser-loader.d.ts.map +1 -0
  299. package/dist/src/tools/code-analyzer/core/tree-sitter/parser-loader.js +45 -0
  300. package/dist/src/tools/code-analyzer/core/tree-sitter/parser-loader.js.map +1 -0
  301. package/dist/src/tools/code-analyzer/index.d.ts +17 -0
  302. package/dist/src/tools/code-analyzer/index.d.ts.map +1 -0
  303. package/dist/src/tools/code-analyzer/index.js +15 -0
  304. package/dist/src/tools/code-analyzer/index.js.map +1 -0
  305. package/dist/src/tools/code-analyzer/lib/utils.d.ts +2 -0
  306. package/dist/src/tools/code-analyzer/lib/utils.d.ts.map +1 -0
  307. package/dist/src/tools/code-analyzer/lib/utils.js +4 -0
  308. package/dist/src/tools/code-analyzer/lib/utils.js.map +1 -0
  309. package/dist/src/tools/code-analyzer/types/pipeline.d.ts +33 -0
  310. package/dist/src/tools/code-analyzer/types/pipeline.d.ts.map +1 -0
  311. package/dist/src/tools/code-analyzer/types/pipeline.js +19 -0
  312. package/dist/src/tools/code-analyzer/types/pipeline.js.map +1 -0
  313. package/dist/src/types/api.d.ts +124 -0
  314. package/dist/src/types/api.d.ts.map +1 -0
  315. package/dist/src/types/api.js +3 -0
  316. package/dist/src/types/api.js.map +1 -0
  317. package/dist/src/types/history.d.ts +49 -0
  318. package/dist/src/types/history.d.ts.map +1 -0
  319. package/dist/src/types/history.js +10 -0
  320. package/dist/src/types/history.js.map +1 -0
  321. package/dist/src/utils/colors.d.ts +40 -0
  322. package/dist/src/utils/colors.d.ts.map +1 -0
  323. package/dist/src/utils/colors.js +48 -0
  324. package/dist/src/utils/colors.js.map +1 -0
  325. package/dist/src/utils/config.d.ts +13 -0
  326. package/dist/src/utils/config.d.ts.map +1 -0
  327. package/dist/src/utils/config.js +74 -0
  328. package/dist/src/utils/config.js.map +1 -0
  329. package/dist/src/utils/constants.d.ts +8 -0
  330. package/dist/src/utils/constants.d.ts.map +1 -0
  331. package/dist/src/utils/constants.js +48 -0
  332. package/dist/src/utils/constants.js.map +1 -0
  333. package/dist/src/utils/fileRef.d.ts +26 -0
  334. package/dist/src/utils/fileRef.d.ts.map +1 -0
  335. package/dist/src/utils/fileRef.js +305 -0
  336. package/dist/src/utils/fileRef.js.map +1 -0
  337. package/dist/src/utils/formatters.d.ts +4 -0
  338. package/dist/src/utils/formatters.d.ts.map +1 -0
  339. package/dist/src/utils/formatters.js +18 -0
  340. package/dist/src/utils/formatters.js.map +1 -0
  341. package/dist/src/utils/pasteTransform.d.ts +37 -0
  342. package/dist/src/utils/pasteTransform.d.ts.map +1 -0
  343. package/dist/src/utils/pasteTransform.js +161 -0
  344. package/dist/src/utils/pasteTransform.js.map +1 -0
  345. package/dist/src/utils/pasteUtils.d.ts +7 -0
  346. package/dist/src/utils/pasteUtils.d.ts.map +1 -0
  347. package/dist/src/utils/pasteUtils.js +33 -0
  348. package/dist/src/utils/pasteUtils.js.map +1 -0
  349. package/dist/src/utils/textUtils.d.ts +25 -0
  350. package/dist/src/utils/textUtils.d.ts.map +1 -0
  351. package/dist/src/utils/textUtils.js +107 -0
  352. package/dist/src/utils/textUtils.js.map +1 -0
  353. package/package.json +71 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeypressContext.js","sourceRoot":"","sources":["../../../src/contexts/KeypressContext.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { ModelInfo, ModelCurrent } from '../types/api.js';
3
+ export interface ModelState {
4
+ models: ModelInfo[];
5
+ currentModel: ModelCurrent | null;
6
+ }
7
+ export interface ModelActions {
8
+ switchModel: (provider: string, model: string) => Promise<void>;
9
+ refreshModels: () => Promise<void>;
10
+ }
11
+ export declare function useModelState(): ModelState;
12
+ export declare function useModelActions(): ModelActions;
13
+ interface ModelProviderProps {
14
+ initialModels: ModelInfo[];
15
+ initialCurrent: ModelCurrent | null;
16
+ children: ReactNode;
17
+ }
18
+ export declare function ModelProvider({ initialModels, initialCurrent, children, }: ModelProviderProps): import("react/jsx-runtime").JSX.Element;
19
+ export {};
20
+ //# sourceMappingURL=ModelContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/ModelContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/D,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAKD,wBAAgB,aAAa,IAAI,UAAU,CAK1C;AAED,wBAAgB,eAAe,IAAI,YAAY,CAK9C;AAED,UAAU,kBAAkB;IAC1B,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,cAAc,EAAE,YAAY,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,EAC5B,aAAa,EACb,cAAc,EACd,QAAQ,GACT,EAAE,kBAAkB,2CAkCpB"}
@@ -0,0 +1,42 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useContext, useState, useCallback, } from 'react';
3
+ import { modelsApi } from '../api/models.js';
4
+ const ModelStateContext = createContext(null);
5
+ const ModelActionsContext = createContext(null);
6
+ export function useModelState() {
7
+ const ctx = useContext(ModelStateContext);
8
+ if (!ctx)
9
+ throw new Error('useModelState must be used within ModelProvider');
10
+ return ctx;
11
+ }
12
+ export function useModelActions() {
13
+ const ctx = useContext(ModelActionsContext);
14
+ if (!ctx)
15
+ throw new Error('useModelActions must be used within ModelProvider');
16
+ return ctx;
17
+ }
18
+ export function ModelProvider({ initialModels, initialCurrent, children, }) {
19
+ const [models, setModels] = useState(initialModels);
20
+ const [currentModel, setCurrentModel] = useState(initialCurrent);
21
+ const refreshModels = useCallback(async () => {
22
+ try {
23
+ const [modelsRes, currentRes] = await Promise.all([
24
+ modelsApi.list(),
25
+ modelsApi.current(),
26
+ ]);
27
+ setModels(modelsRes.models);
28
+ setCurrentModel(currentRes);
29
+ }
30
+ catch {
31
+ // Silently fail
32
+ }
33
+ }, []);
34
+ const switchModel = useCallback(async (provider, model) => {
35
+ const result = await modelsApi.switch(provider, model);
36
+ setCurrentModel(result);
37
+ }, []);
38
+ const state = { models, currentModel };
39
+ const actions = { switchModel, refreshModels };
40
+ return (_jsx(ModelStateContext.Provider, { value: state, children: _jsx(ModelActionsContext.Provider, { value: actions, children: children }) }));
41
+ }
42
+ //# sourceMappingURL=ModelContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelContext.js","sourceRoot":"","sources":["../../../src/contexts/ModelContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,UAAU,EACV,QAAQ,EACR,WAAW,GAEZ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAa7C,MAAM,iBAAiB,GAAG,aAAa,CAAoB,IAAI,CAAC,CAAC;AACjE,MAAM,mBAAmB,GAAG,aAAa,CAAsB,IAAI,CAAC,CAAC;AAErE,MAAM,UAAU,aAAa;IAC3B,MAAM,GAAG,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC1C,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,OAAO,GAAG,CAAC;AACb,CAAC;AAQD,MAAM,UAAU,aAAa,CAAC,EAC5B,aAAa,EACb,cAAc,EACd,QAAQ,GACW;IACnB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAc,aAAa,CAAC,CAAC;IACjE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAC9C,cAAc,CACf,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChD,SAAS,CAAC,IAAI,EAAE;gBAChB,SAAS,CAAC,OAAO,EAAE;aACpB,CAAC,CAAC;YACH,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC5B,eAAe,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,EAAE,QAAgB,EAAE,KAAa,EAAE,EAAE;QACxE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACvD,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAe,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACnD,MAAM,OAAO,GAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;IAE7D,OAAO,CACL,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACtC,KAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YACzC,QAAQ,GACoB,GACJ,CAC9B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { PasteTransform } from '../utils/pasteTransform.js';
3
+ export declare const PasteProvider: React.FC<{
4
+ value: PasteTransform;
5
+ children: React.ReactNode;
6
+ }>;
7
+ export declare function usePasteTransform(): PasteTransform;
8
+ //# sourceMappingURL=PasteContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PasteContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/PasteContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAIjE,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAEA,CAAC;AAEF,wBAAgB,iBAAiB,IAAI,cAAc,CAMlD"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useContext } from 'react';
3
+ const PasteContext = createContext(null);
4
+ export const PasteProvider = ({ value, children }) => (_jsx(PasteContext.Provider, { value: value, children: children }));
5
+ export function usePasteTransform() {
6
+ const ctx = useContext(PasteContext);
7
+ if (!ctx) {
8
+ throw new Error('usePasteTransform must be used within a PasteProvider');
9
+ }
10
+ return ctx;
11
+ }
12
+ //# sourceMappingURL=PasteContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PasteContext.js","sourceRoot":"","sources":["../../../src/contexts/PasteContext.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGzD,MAAM,YAAY,GAAG,aAAa,CAAwB,IAAI,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,aAAa,GAGrB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC5B,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAyB,CACxE,CAAC;AAEF,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACrC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { SessionInfo } from '../types/api.js';
3
+ export interface SessionState {
4
+ sessions: SessionInfo[];
5
+ isLoading: boolean;
6
+ }
7
+ export interface SessionActions {
8
+ refreshSessions: () => Promise<void>;
9
+ createSession: () => Promise<string>;
10
+ deleteSession: (threadId: string) => Promise<void>;
11
+ renameSession: (threadId: string, title: string) => Promise<void>;
12
+ }
13
+ export declare function useSessionState(): SessionState;
14
+ export declare function useSessionActions(): SessionActions;
15
+ export declare function SessionProvider({ children, initialSessions }: {
16
+ children: ReactNode;
17
+ initialSessions?: SessionInfo[];
18
+ }): import("react/jsx-runtime").JSX.Element;
19
+ //# sourceMappingURL=SessionContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/SessionContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AAKD,wBAAgB,eAAe,IAAI,YAAY,CAK9C;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAKlD;AAED,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,eAAoB,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,eAAe,CAAC,EAAE,WAAW,EAAE,CAAA;CAAE,2CAqD3H"}
@@ -0,0 +1,56 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useContext, useState, useCallback, } from 'react';
3
+ import { sessionsApi } from '../api/sessions.js';
4
+ const SessionStateContext = createContext(null);
5
+ const SessionActionsContext = createContext(null);
6
+ export function useSessionState() {
7
+ const ctx = useContext(SessionStateContext);
8
+ if (!ctx)
9
+ throw new Error('useSessionState must be used within SessionProvider');
10
+ return ctx;
11
+ }
12
+ export function useSessionActions() {
13
+ const ctx = useContext(SessionActionsContext);
14
+ if (!ctx)
15
+ throw new Error('useSessionActions must be used within SessionProvider');
16
+ return ctx;
17
+ }
18
+ export function SessionProvider({ children, initialSessions = [] }) {
19
+ const [sessions, setSessions] = useState(initialSessions);
20
+ const [isLoading, setIsLoading] = useState(false);
21
+ const refreshSessions = useCallback(async () => {
22
+ setIsLoading(true);
23
+ try {
24
+ const res = await sessionsApi.list();
25
+ setSessions(res.sessions);
26
+ }
27
+ catch {
28
+ // Silently fail - sessions will remain empty
29
+ }
30
+ finally {
31
+ setIsLoading(false);
32
+ }
33
+ }, []);
34
+ const createSession = useCallback(async () => {
35
+ const res = await sessionsApi.create();
36
+ await refreshSessions();
37
+ return res.thread_id;
38
+ }, [refreshSessions]);
39
+ const deleteSession = useCallback(async (threadId) => {
40
+ await sessionsApi.delete(threadId);
41
+ await refreshSessions();
42
+ }, [refreshSessions]);
43
+ const renameSession = useCallback(async (threadId, title) => {
44
+ await sessionsApi.rename(threadId, title);
45
+ await refreshSessions();
46
+ }, [refreshSessions]);
47
+ const state = { sessions, isLoading };
48
+ const actions = {
49
+ refreshSessions,
50
+ createSession,
51
+ deleteSession,
52
+ renameSession,
53
+ };
54
+ return (_jsx(SessionStateContext.Provider, { value: state, children: _jsx(SessionActionsContext.Provider, { value: actions, children: children }) }));
55
+ }
56
+ //# sourceMappingURL=SessionContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionContext.js","sourceRoot":"","sources":["../../../src/contexts/SessionContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,UAAU,EACV,QAAQ,EACR,WAAW,GAEZ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAejD,MAAM,mBAAmB,GAAG,aAAa,CAAsB,IAAI,CAAC,CAAC;AACrE,MAAM,qBAAqB,GAAG,aAAa,CAAwB,IAAI,CAAC,CAAC;AAEzE,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAC9C,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAE,eAAe,GAAG,EAAE,EAA4D;IAC1H,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAgB,eAAe,CAAC,CAAC;IACzE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC7C,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;YACrC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;QAC/C,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC3C,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,eAAe,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,SAAS,CAAC;IACvB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,aAAa,GAAG,WAAW,CAC/B,KAAK,EAAE,QAAgB,EAAE,EAAE;QACzB,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,eAAe,EAAE,CAAC;IAC1B,CAAC,EACD,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,KAAK,EAAE,QAAgB,EAAE,KAAa,EAAE,EAAE;QACxC,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC1C,MAAM,eAAe,EAAE,CAAC;IAC1B,CAAC,EACD,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,MAAM,KAAK,GAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACpD,MAAM,OAAO,GAAmB;QAC9B,eAAe;QACf,aAAa;QACb,aAAa;QACb,aAAa;KACd,CAAC;IAEF,OAAO,CACL,KAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACxC,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YAC3C,QAAQ,GACsB,GACJ,CAChC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ export type DialogType = 'none' | 'session_browser' | 'model_selector' | 'help';
2
+ export interface UIState {
3
+ terminalWidth: number;
4
+ terminalHeight: number;
5
+ activeDialog: DialogType;
6
+ }
7
+ export interface UIActions {
8
+ openDialog: (dialog: DialogType) => void;
9
+ closeDialog: () => void;
10
+ }
11
+ export declare const UIStateContext: import("react").Context<UIState | null>;
12
+ export declare const UIActionsContext: import("react").Context<UIActions | null>;
13
+ export declare function useUIState(): UIState;
14
+ export declare function useUIActions(): UIActions;
15
+ //# sourceMappingURL=UIContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UIContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/UIContext.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,iBAAiB,GACjB,gBAAgB,GAChB,MAAM,CAAC;AAEX,MAAM,WAAW,OAAO;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,UAAU,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,cAAc,yCAAsC,CAAC;AAClE,eAAO,MAAM,gBAAgB,2CAAwC,CAAC;AAEtE,wBAAgB,UAAU,IAAI,OAAO,CAIpC;AAED,wBAAgB,YAAY,IAAI,SAAS,CAKxC"}
@@ -0,0 +1,16 @@
1
+ import { createContext, useContext } from 'react';
2
+ export const UIStateContext = createContext(null);
3
+ export const UIActionsContext = createContext(null);
4
+ export function useUIState() {
5
+ const ctx = useContext(UIStateContext);
6
+ if (!ctx)
7
+ throw new Error('useUIState must be used within UIStateContext');
8
+ return ctx;
9
+ }
10
+ export function useUIActions() {
11
+ const ctx = useContext(UIActionsContext);
12
+ if (!ctx)
13
+ throw new Error('useUIActions must be used within UIActionsContext');
14
+ return ctx;
15
+ }
16
+ //# sourceMappingURL=UIContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UIContext.js","sourceRoot":"","sources":["../../../src/contexts/UIContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAmBlD,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAiB,IAAI,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAmB,IAAI,CAAC,CAAC;AAEtE,MAAM,UAAU,UAAU;IACxB,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAC3E,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,GAAG,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACzC,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { StreamingState } from '../contexts/ChatContext.js';
2
+ export declare function useChat(): {
3
+ sendMessage: (message: string) => Promise<void>;
4
+ cancelStream: () => Promise<void>;
5
+ streamingState: StreamingState;
6
+ pendingContent: string;
7
+ history: import("../types/history.js").HistoryItem[];
8
+ threadId: string | null;
9
+ sessionTitle: string | null;
10
+ };
11
+ //# sourceMappingURL=useChat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChat.d.ts","sourceRoot":"","sources":["../../../src/hooks/useChat.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,cAAc,EACf,MAAM,4BAA4B,CAAC;AASpC,wBAAgB,OAAO;2BAMH,MAAM;;;;;;;EA+IzB"}
@@ -0,0 +1,146 @@
1
+ import { useCallback, useRef } from 'react';
2
+ import { createParser } from 'eventsource-parser';
3
+ import { writeFileSync, mkdirSync } from 'node:fs';
4
+ import { join } from 'node:path';
5
+ import { chatApi } from '../api/chat.js';
6
+ import { processFileReferences } from '../utils/fileRef.js';
7
+ import { DEBUG_LOG_AITEXT, DEBUG_AITEXT_FILE, CODE_ANALYZER_DIR } from '../utils/config.js';
8
+ import { useChatState, useChatDispatch, StreamingState, } from '../contexts/ChatContext.js';
9
+ export function useChat() {
10
+ const state = useChatState();
11
+ const dispatch = useChatDispatch();
12
+ const abortRef = useRef(null);
13
+ const sendMessage = useCallback(async (message) => {
14
+ if (state.streamingState !== StreamingState.Idle)
15
+ return;
16
+ // Process @file references: displayText for UI, aiText for AI
17
+ const { displayText, aiText } = processFileReferences(message);
18
+ // DEBUG: dump aiText to file for inspection
19
+ if (DEBUG_LOG_AITEXT) {
20
+ try {
21
+ const debugDir = join(process.cwd(), CODE_ANALYZER_DIR);
22
+ mkdirSync(debugDir, { recursive: true });
23
+ writeFileSync(join(debugDir, DEBUG_AITEXT_FILE), aiText, 'utf-8');
24
+ }
25
+ catch { /* ignore */ }
26
+ }
27
+ // Add user message to history (show display text only, without file contents)
28
+ dispatch({ type: 'ADD_ITEM', item: { type: 'user', text: displayText } });
29
+ try {
30
+ const reader = await chatApi.stream(aiText, state.threadId);
31
+ const decoder = new TextDecoder();
32
+ const abort = new AbortController();
33
+ abortRef.current = abort;
34
+ const parser = createParser({
35
+ onEvent(event) {
36
+ if (abort.signal.aborted)
37
+ return;
38
+ try {
39
+ switch (event.event) {
40
+ case 'session_info': {
41
+ const data = JSON.parse(event.data);
42
+ dispatch({ type: 'STREAM_START', threadId: data.thread_id });
43
+ break;
44
+ }
45
+ case 'session_title': {
46
+ const data = JSON.parse(event.data);
47
+ dispatch({
48
+ type: 'SET_SESSION_TITLE',
49
+ title: data.title,
50
+ });
51
+ break;
52
+ }
53
+ case 'text': {
54
+ const data = JSON.parse(event.data);
55
+ dispatch({ type: 'STREAM_TOKEN', content: data.content });
56
+ break;
57
+ }
58
+ case 'tool_call': {
59
+ const data = JSON.parse(event.data);
60
+ if (data.content) {
61
+ const name = data.content.name || 'tool';
62
+ const args = data.content.args
63
+ ? JSON.stringify(data.content.args)
64
+ : undefined;
65
+ dispatch({ type: 'TOOL_CALL_START', name, args });
66
+ }
67
+ break;
68
+ }
69
+ case 'tool_result': {
70
+ dispatch({ type: 'TOOL_CALL_DONE' });
71
+ break;
72
+ }
73
+ case 'done': {
74
+ dispatch({ type: 'STREAM_DONE' });
75
+ break;
76
+ }
77
+ case 'error': {
78
+ const data = JSON.parse(event.data);
79
+ dispatch({ type: 'STREAM_ERROR', error: data.content });
80
+ break;
81
+ }
82
+ }
83
+ }
84
+ catch {
85
+ // Skip malformed events
86
+ }
87
+ },
88
+ });
89
+ // Start streaming state before reading
90
+ dispatch({
91
+ type: 'STREAM_START',
92
+ threadId: state.threadId ?? 'pending',
93
+ });
94
+ // Read the SSE stream
95
+ let streamDoneReceived = false;
96
+ while (!abort.signal.aborted) {
97
+ const { done, value } = await reader.read();
98
+ if (done)
99
+ break;
100
+ const text = decoder.decode(value, { stream: true });
101
+ if (text.includes('"done"'))
102
+ streamDoneReceived = true;
103
+ parser.feed(text);
104
+ }
105
+ // If stream ended without a done event, finalize
106
+ if (!streamDoneReceived && !abort.signal.aborted) {
107
+ dispatch({ type: 'STREAM_DONE' });
108
+ }
109
+ }
110
+ catch (err) {
111
+ const errorMessage = err instanceof Error ? err.message : 'Unknown error';
112
+ dispatch({ type: 'STREAM_ERROR', error: errorMessage });
113
+ }
114
+ finally {
115
+ abortRef.current = null;
116
+ }
117
+ }, [state.streamingState, state.threadId, dispatch]);
118
+ const cancelStream = useCallback(async () => {
119
+ if (state.streamingState !== StreamingState.Streaming &&
120
+ state.streamingState !== StreamingState.Cancelling)
121
+ return;
122
+ dispatch({ type: 'CANCEL_STREAM' });
123
+ // Abort the fetch
124
+ abortRef.current?.abort();
125
+ // Tell the backend to cancel
126
+ if (state.threadId && state.threadId !== 'pending') {
127
+ try {
128
+ await chatApi.cancel(state.threadId);
129
+ }
130
+ catch {
131
+ // Best effort
132
+ }
133
+ }
134
+ dispatch({ type: 'STREAM_DONE' });
135
+ }, [state.streamingState, state.threadId, dispatch]);
136
+ return {
137
+ sendMessage,
138
+ cancelStream,
139
+ streamingState: state.streamingState,
140
+ pendingContent: state.pendingContent,
141
+ history: state.history,
142
+ threadId: state.threadId,
143
+ sessionTitle: state.sessionTitle,
144
+ };
145
+ }
146
+ //# sourceMappingURL=useChat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChat.js","sourceRoot":"","sources":["../../../src/hooks/useChat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface FileSuggestion {
2
+ name: string;
3
+ fullPath: string;
4
+ isDirectory: boolean;
5
+ description: string;
6
+ }
7
+ export declare function useFileCompletion(query: string, enabled: boolean): FileSuggestion[];
8
+ //# sourceMappingURL=useFileCompletion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFileCompletion.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFileCompletion.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAyBD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,GACf,cAAc,EAAE,CAoDlB"}
@@ -0,0 +1,75 @@
1
+ import { useState, useEffect } from 'react';
2
+ import * as fs from 'node:fs';
3
+ import * as path from 'node:path';
4
+ const IGNORED_NAMES = new Set([
5
+ 'node_modules', 'dist', '.git', '.next', '.nuxt',
6
+ '__pycache__', '.cache', '.DS_Store', 'coverage',
7
+ ]);
8
+ const EXT_DESCRIPTIONS = {
9
+ '.ts': 'TypeScript', '.tsx': 'TypeScript React',
10
+ '.js': 'JavaScript', '.jsx': 'JavaScript React',
11
+ '.json': 'JSON', '.md': 'Markdown',
12
+ '.py': 'Python', '.rs': 'Rust', '.go': 'Go',
13
+ '.css': 'CSS', '.scss': 'SCSS', '.less': 'LESS',
14
+ '.html': 'HTML', '.vue': 'Vue',
15
+ '.yaml': 'YAML', '.yml': 'YAML',
16
+ '.toml': 'TOML', '.txt': 'Text', '.sh': 'Shell',
17
+ '.sql': 'SQL', '.graphql': 'GraphQL',
18
+ '.svg': 'SVG', '.png': 'Image', '.jpg': 'Image',
19
+ };
20
+ function describeFile(name) {
21
+ const ext = path.extname(name).toLowerCase();
22
+ return EXT_DESCRIPTIONS[ext] || 'File';
23
+ }
24
+ export function useFileCompletion(query, enabled) {
25
+ const [results, setResults] = useState([]);
26
+ useEffect(() => {
27
+ if (!enabled) {
28
+ setResults([]);
29
+ return;
30
+ }
31
+ const cwd = process.cwd();
32
+ // Split query into directory part and name prefix
33
+ // "src/comp" -> dir="src", prefix="comp"
34
+ // "" -> dir=".", prefix=""
35
+ // "src/" -> dir="src", prefix=""
36
+ const dir = query.includes('/') ? query.substring(0, query.lastIndexOf('/')) || '.' : '.';
37
+ const prefix = query.includes('/') ? query.substring(query.lastIndexOf('/') + 1) : query;
38
+ const targetDir = path.resolve(cwd, dir);
39
+ try {
40
+ const entries = fs.readdirSync(targetDir, { withFileTypes: true });
41
+ const filtered = entries
42
+ .filter((e) => {
43
+ if (e.name.startsWith('.'))
44
+ return false;
45
+ if (IGNORED_NAMES.has(e.name))
46
+ return false;
47
+ if (!prefix)
48
+ return true;
49
+ return e.name.toLowerCase().startsWith(prefix.toLowerCase());
50
+ })
51
+ .sort((a, b) => {
52
+ // Directories first
53
+ if (a.isDirectory() !== b.isDirectory())
54
+ return a.isDirectory() ? -1 : 1;
55
+ return a.name.localeCompare(b.name);
56
+ })
57
+ .slice(0, 20)
58
+ .map((e) => {
59
+ const relPath = dir === '.' ? e.name : `${dir}/${e.name}`;
60
+ return {
61
+ name: e.name,
62
+ fullPath: relPath,
63
+ isDirectory: e.isDirectory(),
64
+ description: e.isDirectory() ? 'Directory' : describeFile(e.name),
65
+ };
66
+ });
67
+ setResults(filtered);
68
+ }
69
+ catch {
70
+ setResults([]);
71
+ }
72
+ }, [query, enabled]);
73
+ return results;
74
+ }
75
+ //# sourceMappingURL=useFileCompletion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFileCompletion.js","sourceRoot":"","sources":["../../../src/hooks/useFileCompletion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function useInputHistory(): {
2
+ addToHistory: (text?: string) => void;
3
+ navigateUp: (currentInput?: string) => string | undefined;
4
+ navigateDown: () => string | undefined;
5
+ };
6
+ //# sourceMappingURL=useInputHistory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInputHistory.d.ts","sourceRoot":"","sources":["../../../src/hooks/useInputHistory.ts"],"names":[],"mappings":"AAMA,wBAAgB,eAAe;0BAOY,MAAM;gCAS7B,MAAM,KAAG,MAAM,GAAG,SAAS;wBAoBR,MAAM,GAAG,SAAS;EAgBxD"}
@@ -0,0 +1,46 @@
1
+ import { useState, useCallback, useRef } from 'react';
2
+ // Module-level storage so input history survives component re-mounts
3
+ // (e.g. when Composer unmounts during session picker dialog)
4
+ const _inputs = [];
5
+ export function useInputHistory() {
6
+ const inputsRef = useRef(_inputs);
7
+ const [historyIndex, setHistoryIndex] = useState(-1);
8
+ // Save the text that was in the input before the user started navigating
9
+ const savedInputRef = useRef('');
10
+ const addToHistory = useCallback((text) => {
11
+ if (text && text.trim()) {
12
+ inputsRef.current.push(text.trim());
13
+ }
14
+ setHistoryIndex(-1);
15
+ savedInputRef.current = '';
16
+ }, []);
17
+ const navigateUp = useCallback((currentInput) => {
18
+ const inputs = inputsRef.current;
19
+ if (inputs.length === 0)
20
+ return undefined;
21
+ // When starting navigation, save the current input
22
+ if (historyIndex === -1) {
23
+ savedInputRef.current = currentInput ?? '';
24
+ }
25
+ const nextIndex = historyIndex === -1
26
+ ? inputs.length - 1 // start from most recent
27
+ : Math.max(historyIndex - 1, 0); // go further back
28
+ setHistoryIndex(nextIndex);
29
+ return inputs[nextIndex];
30
+ }, [historyIndex]);
31
+ const navigateDown = useCallback(() => {
32
+ const inputs = inputsRef.current;
33
+ if (historyIndex === -1)
34
+ return undefined; // not navigating
35
+ if (historyIndex < inputs.length - 1) {
36
+ const nextIndex = historyIndex + 1;
37
+ setHistoryIndex(nextIndex);
38
+ return inputs[nextIndex];
39
+ }
40
+ // Back to the bottom — restore saved input
41
+ setHistoryIndex(-1);
42
+ return savedInputRef.current;
43
+ }, [historyIndex]);
44
+ return { addToHistory, navigateUp, navigateDown };
45
+ }
46
+ //# sourceMappingURL=useInputHistory.js.map