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,161 @@
1
+ import { Transform } from 'node:stream';
2
+ // Bracketed paste escape sequences
3
+ const PASTE_START = '\x1b[200~';
4
+ const PASTE_END = '\x1b[201~';
5
+ // Thresholds
6
+ const LARGE_PASTE_LINE_THRESHOLD = 5;
7
+ const LARGE_PASTE_CHAR_THRESHOLD = 500;
8
+ export const PASTE_PLACEHOLDER_REGEX = /\[Pasted: \d+ (?:lines|chars)(?: #\d+)?\]/g;
9
+ function isLargePaste(text) {
10
+ const lineCount = text.split('\n').length;
11
+ return lineCount > LARGE_PASTE_LINE_THRESHOLD || text.length > LARGE_PASTE_CHAR_THRESHOLD;
12
+ }
13
+ /**
14
+ * A Transform stream that sits between raw stdin and Ink.
15
+ * It detects bracketed paste sequences, buffers them, and replaces
16
+ * large pastes with short placeholders.
17
+ *
18
+ * The actual pasted content is stored in `pasteStore` for later expansion.
19
+ */
20
+ export class PasteTransform extends Transform {
21
+ isPasting = false;
22
+ pasteAccum = '';
23
+ pasteStore = new Map();
24
+ constructor() {
25
+ super({ encoding: 'utf-8', decodeStrings: false });
26
+ }
27
+ generatePlaceholder(text) {
28
+ const lineCount = text.split('\n').length;
29
+ const base = lineCount > LARGE_PASTE_LINE_THRESHOLD
30
+ ? `[Pasted: ${lineCount} lines]`
31
+ : `[Pasted: ${text.length} chars]`;
32
+ if (!this.pasteStore.has(base))
33
+ return base;
34
+ let n = 2;
35
+ while (this.pasteStore.has(`${base.slice(0, -1)} #${n}]`))
36
+ n++;
37
+ return `${base.slice(0, -1)} #${n}]`;
38
+ }
39
+ finishPaste(pastedText) {
40
+ if (isLargePaste(pastedText)) {
41
+ const placeholder = this.generatePlaceholder(pastedText);
42
+ this.pasteStore.set(placeholder, pastedText);
43
+ return placeholder;
44
+ }
45
+ // Small paste: collapse newlines for single-line input
46
+ return pastedText.replace(/[\r\n]+/g, ' ');
47
+ }
48
+ _transform(chunk, _encoding, callback) {
49
+ const str = typeof chunk === 'string' ? chunk : chunk.toString('utf-8');
50
+ this.processChunk(str);
51
+ callback();
52
+ }
53
+ processChunk(str) {
54
+ if (this.isPasting) {
55
+ const endIdx = str.indexOf(PASTE_END);
56
+ if (endIdx >= 0) {
57
+ // Paste ended
58
+ this.pasteAccum += str.slice(0, endIdx);
59
+ const result = this.finishPaste(this.pasteAccum);
60
+ this.isPasting = false;
61
+ this.pasteAccum = '';
62
+ this.push(result);
63
+ // Process remaining data after paste end (may contain another paste)
64
+ const after = str.slice(endIdx + PASTE_END.length);
65
+ if (after.length > 0) {
66
+ this.processChunk(after);
67
+ }
68
+ }
69
+ else {
70
+ // Still buffering paste
71
+ this.pasteAccum += str;
72
+ }
73
+ return;
74
+ }
75
+ // Normal mode: look for paste start
76
+ const startIdx = str.indexOf(PASTE_START);
77
+ if (startIdx < 0) {
78
+ // No paste — pass through
79
+ this.push(str);
80
+ return;
81
+ }
82
+ // Data before paste start passes through
83
+ const before = str.slice(0, startIdx);
84
+ if (before.length > 0) {
85
+ this.push(before);
86
+ }
87
+ // Start buffering
88
+ this.isPasting = true;
89
+ const afterStart = str.slice(startIdx + PASTE_START.length);
90
+ // Check if paste end is in the same chunk
91
+ const endIdx = afterStart.indexOf(PASTE_END);
92
+ if (endIdx >= 0) {
93
+ const pastedText = afterStart.slice(0, endIdx);
94
+ const result = this.finishPaste(pastedText);
95
+ this.isPasting = false;
96
+ this.pasteAccum = '';
97
+ this.push(result);
98
+ // Process remaining data after paste end
99
+ const after = afterStart.slice(endIdx + PASTE_END.length);
100
+ if (after.length > 0) {
101
+ this.processChunk(after);
102
+ }
103
+ }
104
+ else {
105
+ this.pasteAccum = afterStart;
106
+ }
107
+ }
108
+ /**
109
+ * Expand all placeholders back to real content.
110
+ */
111
+ expandAll(text) {
112
+ if (this.pasteStore.size === 0)
113
+ return text;
114
+ return text.replace(PASTE_PLACEHOLDER_REGEX, (match) => this.pasteStore.get(match) ?? match);
115
+ }
116
+ /**
117
+ * Clear stored pastes (call after submit).
118
+ */
119
+ clearPastes() {
120
+ this.pasteStore.clear();
121
+ }
122
+ }
123
+ /**
124
+ * Create a PasteTransform that wraps stdin and mimics ReadStream properties
125
+ * needed by Ink (isTTY, setRawMode, ref, unref, setEncoding, etc.).
126
+ */
127
+ export function createPasteStdin(realStdin) {
128
+ const transform = new PasteTransform();
129
+ // Pipe real stdin through our transform
130
+ realStdin.pipe(transform);
131
+ // Proxy properties and methods Ink needs from ReadStream
132
+ const proxy = transform;
133
+ proxy.isTTY = realStdin.isTTY;
134
+ proxy.fd = realStdin.fd;
135
+ proxy.setRawMode = (mode) => {
136
+ if (realStdin.setRawMode) {
137
+ realStdin.setRawMode(mode);
138
+ }
139
+ return proxy;
140
+ };
141
+ // Ink calls stdin.ref() / stdin.unref()
142
+ proxy.ref = () => {
143
+ realStdin.ref();
144
+ return proxy;
145
+ };
146
+ proxy.unref = () => {
147
+ realStdin.unref();
148
+ return proxy;
149
+ };
150
+ // Ink calls stdin.setEncoding
151
+ const origSetEncoding = transform.setEncoding.bind(transform);
152
+ proxy.setEncoding = (enc) => {
153
+ realStdin.setEncoding(enc);
154
+ origSetEncoding(enc);
155
+ return proxy;
156
+ };
157
+ // Enable bracketed paste mode on the terminal
158
+ process.stdout.write('\x1b[?2004h');
159
+ return proxy;
160
+ }
161
+ //# sourceMappingURL=pasteTransform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pasteTransform.js","sourceRoot":"","sources":["../../../src/utils/pasteTransform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA0B,MAAM,aAAa,CAAC;AAEhE,mCAAmC;AACnC,MAAM,WAAW,GAAG,WAAW,CAAC;AAChC,MAAM,SAAS,GAAG,WAAW,CAAC;AAE9B,aAAa;AACb,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACrC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAEvC,MAAM,CAAC,MAAM,uBAAuB,GAAG,4CAA4C,CAAC;AAEpF,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,SAAS,GAAG,0BAA0B,IAAI,IAAI,CAAC,MAAM,GAAG,0BAA0B,CAAC;AAC5F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,cAAe,SAAQ,SAAS;IACnC,SAAS,GAAG,KAAK,CAAC;IAClB,UAAU,GAAG,EAAE,CAAC;IACjB,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE9C;QACE,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC1C,MAAM,IAAI,GACR,SAAS,GAAG,0BAA0B;YACpC,CAAC,CAAC,YAAY,SAAS,SAAS;YAChC,CAAC,CAAC,YAAY,IAAI,CAAC,MAAM,SAAS,CAAC;QAEvC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5C,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,CAAC,EAAE,CAAC;QAC/D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;IACvC,CAAC;IAEO,WAAW,CAAC,UAAkB;QACpC,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACzD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAC7C,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,uDAAuD;QACvD,OAAO,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,UAAU,CAAC,KAAsB,EAAE,SAAiB,EAAE,QAA2B;QAC/E,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACvB,QAAQ,EAAE,CAAC;IACb,CAAC;IAEO,YAAY,CAAC,GAAW;QAC9B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;gBAChB,cAAc;gBACd,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACxC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACjD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACrB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAElB,qEAAqE;gBACrE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBACnD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,wBAAwB;gBACxB,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC;YACzB,CAAC;YACD,OAAO;QACT,CAAC;QAED,oCAAoC;QACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,0BAA0B;YAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAED,kBAAkB;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAE5D,0CAA0C;QAC1C,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAElB,yCAAyC;YACzC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YAC1D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,IAAY;QACpB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;IAC/F,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAA4B;IAC3D,MAAM,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;IAEvC,wCAAwC;IACxC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE1B,yDAAyD;IACzD,MAAM,KAAK,GAAG,SAAgB,CAAC;IAC/B,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;IAC9B,KAAK,CAAC,EAAE,GAAI,SAAiB,CAAC,EAAE,CAAC;IAEjC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAa,EAAE,EAAE;QACnC,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACzB,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,wCAAwC;IACxC,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE;QACf,SAAS,CAAC,GAAG,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,KAAK,CAAC,KAAK,GAAG,GAAG,EAAE;QACjB,SAAS,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,8BAA8B;IAC9B,MAAM,eAAe,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9D,KAAK,CAAC,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;QAClC,SAAS,CAAC,WAAW,CAAC,GAAU,CAAC,CAAC;QAClC,eAAe,CAAC,GAAqB,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,8CAA8C;IAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAEpC,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare const LARGE_PASTE_LINE_THRESHOLD = 5;
2
+ export declare const LARGE_PASTE_CHAR_THRESHOLD = 500;
3
+ export declare const PASTE_PLACEHOLDER_REGEX: RegExp;
4
+ export declare function isLargePaste(text: string): boolean;
5
+ export declare function generatePlaceholder(text: string, existing: Record<string, string>): string;
6
+ export declare function expandPlaceholders(text: string, pasteMap: Record<string, string>): string;
7
+ //# sourceMappingURL=pasteUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pasteUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/pasteUtils.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAG9C,eAAO,MAAM,uBAAuB,QAAgD,CAAC;AAErF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGlD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAY1F;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAOzF"}
@@ -0,0 +1,33 @@
1
+ // Thresholds for treating pasted content as "large"
2
+ export const LARGE_PASTE_LINE_THRESHOLD = 5;
3
+ export const LARGE_PASTE_CHAR_THRESHOLD = 500;
4
+ // Placeholder format: [Pasted text] or [Pasted text +176 lines] or [Pasted text #2 +30 lines]
5
+ export const PASTE_PLACEHOLDER_REGEX = /\[Pasted text(?: #\d+)?(?: \+\d+ lines)?\]/g;
6
+ export function isLargePaste(text) {
7
+ const lineCount = text.split('\n').length;
8
+ return lineCount > LARGE_PASTE_LINE_THRESHOLD || text.length > LARGE_PASTE_CHAR_THRESHOLD;
9
+ }
10
+ export function generatePlaceholder(text, existing) {
11
+ const lineCount = text.split('\n').length;
12
+ const linePart = lineCount > 1 ? ` +${lineCount} lines` : '';
13
+ // Try without index first: [Pasted text +176 lines]
14
+ const base = `[Pasted text${linePart}]`;
15
+ if (!(base in existing))
16
+ return base;
17
+ // Add index: [Pasted text #2 +176 lines]
18
+ let n = 2;
19
+ while (`[Pasted text #${n}${linePart}]` in existing)
20
+ n++;
21
+ return `[Pasted text #${n}${linePart}]`;
22
+ }
23
+ export function expandPlaceholders(text, pasteMap) {
24
+ if (Object.keys(pasteMap).length === 0)
25
+ return text;
26
+ return text.replace(PASTE_PLACEHOLDER_REGEX, (match) => {
27
+ const content = pasteMap[match];
28
+ if (content === undefined)
29
+ return match;
30
+ return `\n<pasted_text>\n${content}\n</pasted_text>\n`;
31
+ });
32
+ }
33
+ //# sourceMappingURL=pasteUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pasteUtils.js","sourceRoot":"","sources":["../../../src/utils/pasteUtils.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,8FAA8F;AAC9F,MAAM,CAAC,MAAM,uBAAuB,GAAG,6CAA6C,CAAC;AAErF,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,SAAS,GAAG,0BAA0B,IAAI,IAAI,CAAC,MAAM,GAAG,0BAA0B,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,QAAgC;IAChF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7D,oDAAoD;IACpD,MAAM,IAAI,GAAG,eAAe,QAAQ,GAAG,CAAC;IACxC,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAErC,yCAAyC;IACzC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,iBAAiB,CAAC,GAAG,QAAQ,GAAG,IAAI,QAAQ;QAAE,CAAC,EAAE,CAAC;IACzD,OAAO,iBAAiB,CAAC,GAAG,QAAQ,GAAG,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,QAAgC;IAC/E,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,KAAK,EAAE,EAAE;QACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACxC,OAAO,oBAAoB,OAAO,oBAAoB,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Wrap a single line to fit within maxWidth columns.
3
+ * Uses string-width for CJK/emoji double-width character support.
4
+ * Returns an array of visual line strings.
5
+ */
6
+ export declare function wrapLine(line: string, maxWidth: number): string[];
7
+ /**
8
+ * Find the previous word boundary in a line, starting from col.
9
+ * Returns the column index of the word start.
10
+ */
11
+ export declare function findPrevWordBoundary(line: string, col: number): number;
12
+ /**
13
+ * Find the next word boundary in a line, starting from col.
14
+ * Returns the column index after the current word.
15
+ */
16
+ export declare function findNextWordBoundary(line: string, col: number): number;
17
+ /**
18
+ * Get the character length (code point count) of a string.
19
+ */
20
+ export declare function cpLen(str: string): number;
21
+ /**
22
+ * Slice a string by code point indices.
23
+ */
24
+ export declare function cpSlice(str: string, start: number, end?: number): string;
25
+ //# sourceMappingURL=textUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/textUtils.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CA2BjE;AAaD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAqBtE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAkBtE;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAGxE"}
@@ -0,0 +1,107 @@
1
+ import stringWidth from 'string-width';
2
+ /**
3
+ * Wrap a single line to fit within maxWidth columns.
4
+ * Uses string-width for CJK/emoji double-width character support.
5
+ * Returns an array of visual line strings.
6
+ */
7
+ export function wrapLine(line, maxWidth) {
8
+ if (maxWidth <= 0)
9
+ return [line];
10
+ if (line.length === 0)
11
+ return [''];
12
+ const width = stringWidth(line);
13
+ if (width <= maxWidth)
14
+ return [line];
15
+ const result = [];
16
+ let current = '';
17
+ let currentWidth = 0;
18
+ for (const char of [...line]) {
19
+ const charWidth = stringWidth(char);
20
+ if (currentWidth + charWidth > maxWidth && current.length > 0) {
21
+ result.push(current);
22
+ current = '';
23
+ currentWidth = 0;
24
+ }
25
+ current += char;
26
+ currentWidth += charWidth;
27
+ }
28
+ if (current.length > 0) {
29
+ result.push(current);
30
+ }
31
+ return result.length > 0 ? result : [''];
32
+ }
33
+ /**
34
+ * Check if a character is a word character (alphanumeric or underscore).
35
+ */
36
+ function isWordChar(char) {
37
+ return /[\w\p{L}\p{N}]/u.test(char);
38
+ }
39
+ function isWhitespace(char) {
40
+ return /\s/.test(char);
41
+ }
42
+ /**
43
+ * Find the previous word boundary in a line, starting from col.
44
+ * Returns the column index of the word start.
45
+ */
46
+ export function findPrevWordBoundary(line, col) {
47
+ const chars = [...line];
48
+ let i = col;
49
+ if (i <= 0)
50
+ return 0;
51
+ i--;
52
+ // Skip whitespace backwards
53
+ while (i >= 0 && isWhitespace(chars[i]))
54
+ i--;
55
+ if (i < 0)
56
+ return 0;
57
+ if (isWordChar(chars[i])) {
58
+ // Skip word chars backwards
59
+ while (i >= 0 && isWordChar(chars[i]))
60
+ i--;
61
+ return i + 1;
62
+ }
63
+ else {
64
+ // Skip punctuation backwards
65
+ while (i >= 0 && !isWordChar(chars[i]) && !isWhitespace(chars[i]))
66
+ i--;
67
+ return i + 1;
68
+ }
69
+ }
70
+ /**
71
+ * Find the next word boundary in a line, starting from col.
72
+ * Returns the column index after the current word.
73
+ */
74
+ export function findNextWordBoundary(line, col) {
75
+ const chars = [...line];
76
+ let i = col;
77
+ if (i >= chars.length)
78
+ return chars.length;
79
+ if (isWordChar(chars[i])) {
80
+ // Skip word chars forwards
81
+ while (i < chars.length && isWordChar(chars[i]))
82
+ i++;
83
+ }
84
+ else if (!isWhitespace(chars[i])) {
85
+ // Skip punctuation forwards
86
+ while (i < chars.length && !isWordChar(chars[i]) && !isWhitespace(chars[i]))
87
+ i++;
88
+ }
89
+ // Skip whitespace forwards
90
+ while (i < chars.length && isWhitespace(chars[i]))
91
+ i++;
92
+ return i;
93
+ }
94
+ /**
95
+ * Get the character length (code point count) of a string.
96
+ */
97
+ export function cpLen(str) {
98
+ return [...str].length;
99
+ }
100
+ /**
101
+ * Slice a string by code point indices.
102
+ */
103
+ export function cpSlice(str, start, end) {
104
+ const chars = [...str];
105
+ return chars.slice(start, end).join('');
106
+ }
107
+ //# sourceMappingURL=textUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textUtils.js","sourceRoot":"","sources":["../../../src/utils/textUtils.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,cAAc,CAAC;AAEvC;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,QAAgB;IACrD,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAEnC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,IAAI,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,YAAY,GAAG,SAAS,GAAG,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,IAAI,CAAC;QAChB,YAAY,IAAI,SAAS,CAAC;IAC5B,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,GAAW;IAC5D,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACxB,IAAI,CAAC,GAAG,GAAG,CAAC;IAEZ,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACrB,CAAC,EAAE,CAAC;IAEJ,4BAA4B;IAC5B,OAAO,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAAE,CAAC,EAAE,CAAC;IAE7C,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAEpB,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,4BAA4B;QAC5B,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;SAAM,CAAC;QACN,6BAA6B;QAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,EAAE,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,GAAW;IAC5D,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACxB,IAAI,CAAC,GAAG,GAAG,CAAC;IAEZ,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IAE3C,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,2BAA2B;QAC3B,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,EAAE,CAAC;IACvD,CAAC;SAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,4BAA4B;QAC5B,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,EAAE,CAAC;IACnF,CAAC;IAED,2BAA2B;IAC3B,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAAE,CAAC,EAAE,CAAC;IAEvD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,KAAa,EAAE,GAAY;IAC9D,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IACvB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1C,CAAC"}
package/package.json ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "mistagent",
3
+ "version": "0.1.0",
4
+ "description": "MistAgent - Terminal AI Assistant",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "mist": "dist/index.js"
9
+ },
10
+ "files": [
11
+ "dist/"
12
+ ],
13
+ "license": "MIT",
14
+ "keywords": [
15
+ "cli",
16
+ "ai",
17
+ "terminal",
18
+ "agent",
19
+ "code-analysis",
20
+ "assistant"
21
+ ],
22
+ "scripts": {
23
+ "postinstall": "node -e \"const fs=require('fs'),p=require('path').join('node_modules','tree-sitter-solidity','bindings','node','index.js');if(!fs.existsSync(p))fs.writeFileSync(p,'const root=require(\\\"path\\\").join(__dirname,\\\"..\\\",\\\"..\\\");module.exports=require(\\\"node-gyp-build\\\")(root);try{module.exports.nodeTypeInfo=require(\\\"../../src/node-types.json\\\")}catch(_){}')\"",
24
+ "build": "tsc",
25
+ "start": "node dist/index.js",
26
+ "dev": "tsx index.ts",
27
+ "typecheck": "tsc --noEmit"
28
+ },
29
+ "dependencies": {
30
+ "react": "^19.2.0",
31
+ "ink": "^6.0.0",
32
+ "ink-text-input": "^6.0.0",
33
+ "ink-spinner": "^5.0.0",
34
+ "chalk": "^5.4.1",
35
+ "yargs": "^17.7.2",
36
+ "marked": "^15.0.0",
37
+ "marked-terminal": "^7.3.0",
38
+ "eventsource-parser": "^3.0.0",
39
+ "figures": "^6.1.0",
40
+ "cli-spinners": "^3.2.0",
41
+ "string-width": "^7.2.0",
42
+ "glob": "^11.0.0",
43
+ "graphology": "^0.25.4",
44
+ "graphology-indices": "^0.17.0",
45
+ "graphology-utils": "^2.3.0",
46
+ "lru-cache": "^11.0.0",
47
+ "mnemonist": "^0.39.0",
48
+ "pandemonium": "^2.4.0",
49
+ "tree-sitter": "^0.21.0",
50
+ "tree-sitter-c": "^0.21.0",
51
+ "tree-sitter-c-sharp": "^0.21.0",
52
+ "tree-sitter-cpp": "^0.22.0",
53
+ "tree-sitter-go": "^0.21.0",
54
+ "tree-sitter-java": "^0.21.0",
55
+ "tree-sitter-javascript": "^0.21.0",
56
+ "tree-sitter-python": "^0.21.0",
57
+ "tree-sitter-rust": "^0.21.0",
58
+ "tree-sitter-solidity": "1.2.9",
59
+ "tree-sitter-typescript": "^0.21.0"
60
+ },
61
+ "devDependencies": {
62
+ "@types/node": "^20.11.24",
63
+ "@types/react": "^19.2.0",
64
+ "@types/yargs": "^17.0.32",
65
+ "typescript": "^5.7.0",
66
+ "tsx": "^4.19.0"
67
+ },
68
+ "engines": {
69
+ "node": ">=20"
70
+ }
71
+ }