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,2 @@
1
+ export declare function main(): Promise<void>;
2
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.tsx"],"names":[],"mappings":"AAkDA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAoJ1C"}
@@ -0,0 +1,152 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { render } from 'ink';
3
+ import yargs from 'yargs';
4
+ import { hideBin } from 'yargs/helpers';
5
+ import { initClient } from './api/client.js';
6
+ import { authApi } from './api/auth.js';
7
+ import { modelsApi } from './api/models.js';
8
+ import { commandsApi } from './api/commands.js';
9
+ import { toolsApi } from './api/tools.js';
10
+ import { sessionsApi } from './api/sessions.js';
11
+ import { getServerUrl, loadToken, saveToken, clearToken } from './utils/config.js';
12
+ import { VERSION } from './utils/constants.js';
13
+ import { App } from './components/App.js';
14
+ function parseArgs() {
15
+ const argv = yargs(hideBin(process.argv))
16
+ .option('server', {
17
+ alias: 's',
18
+ type: 'string',
19
+ description: 'Backend server URL',
20
+ })
21
+ .option('username', {
22
+ alias: 'u',
23
+ type: 'string',
24
+ description: 'Username for auto-login',
25
+ })
26
+ .version(VERSION)
27
+ .help()
28
+ .parseSync();
29
+ return {
30
+ server: argv.server,
31
+ username: argv.username,
32
+ };
33
+ }
34
+ export async function main() {
35
+ const args = parseArgs();
36
+ const serverUrl = getServerUrl(args.server);
37
+ // Initialize API client
38
+ const client = initClient(serverUrl);
39
+ // Health check — try /health, then /api/health, then just verify server is reachable
40
+ let healthData = null;
41
+ for (const path of ['/api/v1/health', '/health']) {
42
+ try {
43
+ healthData = await client.get(path);
44
+ break;
45
+ }
46
+ catch {
47
+ // Try next path
48
+ }
49
+ }
50
+ if (!healthData) {
51
+ // Server responded (404 means it's reachable), just no health endpoint
52
+ try {
53
+ await fetch(serverUrl);
54
+ }
55
+ catch (err) {
56
+ process.stderr.write(`Failed to connect to ${serverUrl}: ${err instanceof Error ? err.message : String(err)}\n`);
57
+ process.exit(1);
58
+ }
59
+ }
60
+ // Check auth status
61
+ let authStatus;
62
+ try {
63
+ authStatus = await authApi.getStatus();
64
+ }
65
+ catch {
66
+ authStatus = { auth_enabled: false };
67
+ }
68
+ // Try to restore token
69
+ let token = null;
70
+ let username = null;
71
+ let isAuthenticated = false;
72
+ if (authStatus.auth_enabled) {
73
+ const savedToken = loadToken();
74
+ if (savedToken) {
75
+ client.setToken(savedToken);
76
+ try {
77
+ const me = await authApi.getMe();
78
+ token = savedToken;
79
+ username = me.username;
80
+ isAuthenticated = true;
81
+ }
82
+ catch {
83
+ client.setToken(null);
84
+ }
85
+ }
86
+ }
87
+ else {
88
+ isAuthenticated = true;
89
+ }
90
+ // Fetch initial data in parallel
91
+ let models = [];
92
+ let currentModel = null;
93
+ let commands = [];
94
+ let tools = [];
95
+ let initialSessions = [];
96
+ try {
97
+ const [modelsRes, currentRes, commandsRes, toolsRes, sessionsRes] = await Promise.all([
98
+ modelsApi.list().catch(() => ({ models: [] })),
99
+ modelsApi.current().catch(() => null),
100
+ commandsApi.list().catch(() => ({ commands: [] })),
101
+ toolsApi.list().catch(() => ({ tools: [] })),
102
+ sessionsApi.list().catch(() => ({ sessions: [] })),
103
+ ]);
104
+ models = modelsRes.models;
105
+ currentModel = currentRes;
106
+ commands = commandsRes.commands;
107
+ tools = toolsRes.tools;
108
+ initialSessions = sessionsRes.sessions;
109
+ }
110
+ catch {
111
+ // Best effort
112
+ }
113
+ // Append local client-side commands for autocomplete discovery
114
+ const localCommands = [
115
+ { name: '/init', description: 'Analyze current directory code and generate knowledge graph', usage: '/init' },
116
+ ];
117
+ commands.push(...localCommands);
118
+ // Login handler
119
+ let loginError = null;
120
+ const renderApp = (overrides = {}) => (_jsx(App, { serverUrl: serverUrl, token: overrides.token ?? token, username: overrides.username ?? username, authEnabled: authStatus.auth_enabled, version: healthData?.version ?? VERSION, healthData: healthData, availableCommands: commands, availableTools: tools, initialModels: models, initialCurrentModel: currentModel, initialSessions: initialSessions, onLogin: handleLogin, onLogout: handleLogout, loginError: overrides.loginError ?? loginError, isAuthenticated: overrides.isAuthenticated ?? isAuthenticated }));
121
+ const handleLogin = async (user, pass) => {
122
+ try {
123
+ const res = await authApi.login(user, pass);
124
+ client.setToken(res.access_token);
125
+ saveToken(res.access_token);
126
+ token = res.access_token;
127
+ username = res.user.username;
128
+ isAuthenticated = true;
129
+ loginError = null;
130
+ rerender(renderApp({ token, username, isAuthenticated: true, loginError: null }));
131
+ }
132
+ catch (err) {
133
+ loginError = err instanceof Error ? err.message : 'Login failed';
134
+ rerender(renderApp({ token: null, username: null, isAuthenticated: false, loginError }));
135
+ }
136
+ };
137
+ const handleLogout = () => {
138
+ client.setToken(null);
139
+ clearToken();
140
+ token = null;
141
+ username = null;
142
+ isAuthenticated = false;
143
+ loginError = null;
144
+ rerender(renderApp({ token: null, username: null, isAuthenticated: false, loginError: null }));
145
+ };
146
+ // Render the app
147
+ const { rerender } = render(renderApp(), {
148
+ exitOnCtrlC: false,
149
+ kittyKeyboard: { mode: 'auto' },
150
+ });
151
+ }
152
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const shouldIgnorePath: (filePath: string) => boolean;
2
+ //# sourceMappingURL=ignore-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ignore-service.d.ts","sourceRoot":"","sources":["../../../../../src/tools/code-analyzer/config/ignore-service.ts"],"names":[],"mappings":"AA4LA,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,KAAG,OAiDnD,CAAA"}
@@ -0,0 +1,209 @@
1
+ const DEFAULT_IGNORE_LIST = new Set([
2
+ // Version Control
3
+ '.git',
4
+ '.svn',
5
+ '.hg',
6
+ '.bzr',
7
+ // IDEs & Editors
8
+ '.idea',
9
+ '.vscode',
10
+ '.vs',
11
+ '.eclipse',
12
+ '.settings',
13
+ '.DS_Store',
14
+ 'Thumbs.db',
15
+ // Dependencies
16
+ 'node_modules',
17
+ 'bower_components',
18
+ 'jspm_packages',
19
+ 'vendor', // PHP/Go
20
+ // 'packages' removed - commonly used for monorepo source code (lerna, pnpm, yarn workspaces)
21
+ 'venv',
22
+ '.venv',
23
+ 'env',
24
+ '.env',
25
+ '__pycache__',
26
+ '.pytest_cache',
27
+ '.mypy_cache',
28
+ 'site-packages',
29
+ '.tox',
30
+ 'eggs',
31
+ '.eggs',
32
+ 'lib64',
33
+ 'parts',
34
+ 'sdist',
35
+ 'wheels',
36
+ // Build Outputs
37
+ 'dist',
38
+ 'build',
39
+ 'out',
40
+ 'output',
41
+ 'bin',
42
+ 'obj',
43
+ 'target', // Java/Rust
44
+ '.next',
45
+ '.nuxt',
46
+ '.output',
47
+ '.vercel',
48
+ '.netlify',
49
+ '.serverless',
50
+ '_build',
51
+ 'public/build',
52
+ '.parcel-cache',
53
+ '.turbo',
54
+ '.svelte-kit',
55
+ // Test & Coverage
56
+ 'coverage',
57
+ '.nyc_output',
58
+ 'htmlcov',
59
+ '.coverage',
60
+ '__tests__', // Often just test files
61
+ '__mocks__',
62
+ '.jest',
63
+ // Logs & Temp
64
+ 'logs',
65
+ 'log',
66
+ 'tmp',
67
+ 'temp',
68
+ 'cache',
69
+ '.cache',
70
+ '.tmp',
71
+ '.temp',
72
+ // Generated/Compiled
73
+ '.generated',
74
+ 'generated',
75
+ 'auto-generated',
76
+ '.terraform',
77
+ '.serverless',
78
+ // Documentation (optional - might want to keep)
79
+ // 'docs',
80
+ // 'documentation',
81
+ // Misc
82
+ '.husky',
83
+ '.github', // GitHub config, not code
84
+ '.circleci',
85
+ '.gitlab',
86
+ 'fixtures', // Test fixtures
87
+ 'snapshots', // Jest snapshots
88
+ '__snapshots__',
89
+ ]);
90
+ const IGNORED_EXTENSIONS = new Set([
91
+ // Images
92
+ '.png', '.jpg', '.jpeg', '.gif', '.svg', '.ico', '.webp', '.bmp', '.tiff', '.tif',
93
+ '.psd', '.ai', '.sketch', '.fig', '.xd',
94
+ // Archives
95
+ '.zip', '.tar', '.gz', '.rar', '.7z', '.bz2', '.xz', '.tgz',
96
+ // Binary/Compiled
97
+ '.exe', '.dll', '.so', '.dylib', '.a', '.lib', '.o', '.obj',
98
+ '.class', '.jar', '.war', '.ear',
99
+ '.pyc', '.pyo', '.pyd',
100
+ '.beam', // Erlang
101
+ '.wasm', // WebAssembly - important!
102
+ '.node', // Native Node addons
103
+ // Documents
104
+ '.pdf', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx',
105
+ '.odt', '.ods', '.odp',
106
+ // Media
107
+ '.mp4', '.mp3', '.wav', '.mov', '.avi', '.mkv', '.flv', '.wmv',
108
+ '.ogg', '.webm', '.flac', '.aac', '.m4a',
109
+ // Fonts
110
+ '.woff', '.woff2', '.ttf', '.eot', '.otf',
111
+ // Databases
112
+ '.db', '.sqlite', '.sqlite3', '.mdb', '.accdb',
113
+ // Minified/Bundled files
114
+ '.min.js', '.min.css', '.bundle.js', '.chunk.js',
115
+ // Source maps (debug files, not source)
116
+ '.map',
117
+ // Lock files (handled separately, but also here)
118
+ '.lock',
119
+ // Certificates & Keys (security - don't index!)
120
+ '.pem', '.key', '.crt', '.cer', '.p12', '.pfx',
121
+ // Data files (often large/binary)
122
+ '.csv', '.tsv', '.parquet', '.avro', '.feather',
123
+ '.npy', '.npz', '.pkl', '.pickle', '.h5', '.hdf5',
124
+ // Misc binary
125
+ '.bin', '.dat', '.data', '.raw',
126
+ '.iso', '.img', '.dmg',
127
+ ]);
128
+ // Files to ignore by exact name
129
+ const IGNORED_FILES = new Set([
130
+ 'package-lock.json',
131
+ 'yarn.lock',
132
+ 'pnpm-lock.yaml',
133
+ 'composer.lock',
134
+ 'Gemfile.lock',
135
+ 'poetry.lock',
136
+ 'Cargo.lock',
137
+ 'go.sum',
138
+ '.gitignore',
139
+ '.gitattributes',
140
+ '.npmrc',
141
+ '.yarnrc',
142
+ '.editorconfig',
143
+ '.prettierrc',
144
+ '.prettierignore',
145
+ '.eslintignore',
146
+ '.dockerignore',
147
+ 'Thumbs.db',
148
+ '.DS_Store',
149
+ 'LICENSE',
150
+ 'LICENSE.md',
151
+ 'LICENSE.txt',
152
+ 'CHANGELOG.md',
153
+ 'CHANGELOG',
154
+ 'CONTRIBUTING.md',
155
+ 'CODE_OF_CONDUCT.md',
156
+ 'SECURITY.md',
157
+ '.env',
158
+ '.env.local',
159
+ '.env.development',
160
+ '.env.production',
161
+ '.env.test',
162
+ '.env.example',
163
+ ]);
164
+ export const shouldIgnorePath = (filePath) => {
165
+ const normalizedPath = filePath.replace(/\\/g, '/');
166
+ const parts = normalizedPath.split('/');
167
+ const fileName = parts[parts.length - 1];
168
+ const fileNameLower = fileName.toLowerCase();
169
+ // Check if any path segment is in ignore list
170
+ for (const part of parts) {
171
+ if (DEFAULT_IGNORE_LIST.has(part)) {
172
+ return true;
173
+ }
174
+ }
175
+ // Check exact filename matches
176
+ if (IGNORED_FILES.has(fileName) || IGNORED_FILES.has(fileNameLower)) {
177
+ return true;
178
+ }
179
+ // Check extension
180
+ const lastDotIndex = fileNameLower.lastIndexOf('.');
181
+ if (lastDotIndex !== -1) {
182
+ const ext = fileNameLower.substring(lastDotIndex);
183
+ if (IGNORED_EXTENSIONS.has(ext))
184
+ return true;
185
+ // Handle compound extensions like .min.js, .bundle.js
186
+ const secondLastDot = fileNameLower.lastIndexOf('.', lastDotIndex - 1);
187
+ if (secondLastDot !== -1) {
188
+ const compoundExt = fileNameLower.substring(secondLastDot);
189
+ if (IGNORED_EXTENSIONS.has(compoundExt))
190
+ return true;
191
+ }
192
+ }
193
+ // Ignore hidden files (starting with .)
194
+ if (fileName.startsWith('.') && fileName !== '.') {
195
+ // But allow some important config files
196
+ const allowedDotFiles = ['.env', '.gitignore']; // Already in IGNORED_FILES, so this is redundant
197
+ // Actually, let's NOT ignore all dot files - many are important configs
198
+ // Just rely on the explicit lists above
199
+ }
200
+ // Ignore files that look like generated/bundled code
201
+ if (fileNameLower.includes('.bundle.') ||
202
+ fileNameLower.includes('.chunk.') ||
203
+ fileNameLower.includes('.generated.') ||
204
+ fileNameLower.endsWith('.d.ts')) { // TypeScript declaration files
205
+ return true;
206
+ }
207
+ return false;
208
+ };
209
+ //# sourceMappingURL=ignore-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ignore-service.js","sourceRoot":"","sources":["../../../../../src/tools/code-analyzer/config/ignore-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export declare enum SupportedLanguages {
2
+ JavaScript = "javascript",
3
+ TypeScript = "typescript",
4
+ Python = "python",
5
+ Java = "java",
6
+ C = "c",
7
+ CPlusPlus = "cpp",
8
+ CSharp = "csharp",
9
+ Go = "go",
10
+ Rust = "rust",
11
+ Solidity = "solidity"
12
+ }
13
+ //# sourceMappingURL=supported-languages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supported-languages.d.ts","sourceRoot":"","sources":["../../../../../src/tools/code-analyzer/config/supported-languages.ts"],"names":[],"mappings":"AAAA,oBAAY,kBAAkB;IAC1B,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,CAAC,MAAM;IACP,SAAS,QAAQ;IACjB,MAAM,WAAW;IACjB,EAAE,OAAO;IACT,IAAI,SAAS;IACb,QAAQ,aAAa;CAIxB"}
@@ -0,0 +1,17 @@
1
+ export var SupportedLanguages;
2
+ (function (SupportedLanguages) {
3
+ SupportedLanguages["JavaScript"] = "javascript";
4
+ SupportedLanguages["TypeScript"] = "typescript";
5
+ SupportedLanguages["Python"] = "python";
6
+ SupportedLanguages["Java"] = "java";
7
+ SupportedLanguages["C"] = "c";
8
+ SupportedLanguages["CPlusPlus"] = "cpp";
9
+ SupportedLanguages["CSharp"] = "csharp";
10
+ SupportedLanguages["Go"] = "go";
11
+ SupportedLanguages["Rust"] = "rust";
12
+ SupportedLanguages["Solidity"] = "solidity";
13
+ // PHP = 'php',
14
+ // Ruby = 'ruby',
15
+ // Swift = 'swift',
16
+ })(SupportedLanguages || (SupportedLanguages = {}));
17
+ //# sourceMappingURL=supported-languages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supported-languages.js","sourceRoot":"","sources":["../../../../../src/tools/code-analyzer/config/supported-languages.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,kBAcX;AAdD,WAAY,kBAAkB;IAC1B,+CAAyB,CAAA;IACzB,+CAAyB,CAAA;IACzB,uCAAiB,CAAA;IACjB,mCAAa,CAAA;IACb,6BAAO,CAAA;IACP,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,+BAAS,CAAA;IACT,mCAAa,CAAA;IACb,2CAAqB,CAAA;IACrB,eAAe;IACf,iBAAiB;IACjB,mBAAmB;AACvB,CAAC,EAdW,kBAAkB,KAAlB,kBAAkB,QAc7B"}
@@ -0,0 +1,3 @@
1
+ import { KnowledgeGraph } from './types.js';
2
+ export declare const createKnowledgeGraph: () => KnowledgeGraph;
3
+ //# sourceMappingURL=graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../../../src/tools/code-analyzer/core/graph/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,cAAc,EAAE,MAAM,YAAY,CAAA;AAEzE,eAAO,MAAM,oBAAoB,QAAO,cA6EvC,CAAC"}
@@ -0,0 +1,67 @@
1
+ export const createKnowledgeGraph = () => {
2
+ const nodeMap = new Map();
3
+ const relationshipMap = new Map();
4
+ const addNode = (node) => {
5
+ if (!nodeMap.has(node.id)) {
6
+ nodeMap.set(node.id, node);
7
+ }
8
+ };
9
+ const addRelationship = (relationship) => {
10
+ if (!relationshipMap.has(relationship.id)) {
11
+ relationshipMap.set(relationship.id, relationship);
12
+ }
13
+ };
14
+ /**
15
+ * Remove a single node and all relationships involving it
16
+ */
17
+ const removeNode = (nodeId) => {
18
+ if (!nodeMap.has(nodeId))
19
+ return false;
20
+ nodeMap.delete(nodeId);
21
+ // Remove all relationships involving this node
22
+ for (const [relId, rel] of relationshipMap) {
23
+ if (rel.sourceId === nodeId || rel.targetId === nodeId) {
24
+ relationshipMap.delete(relId);
25
+ }
26
+ }
27
+ return true;
28
+ };
29
+ /**
30
+ * Remove all nodes (and their relationships) belonging to a file
31
+ */
32
+ const removeNodesByFile = (filePath) => {
33
+ let removed = 0;
34
+ for (const [nodeId, node] of nodeMap) {
35
+ if (node.properties?.filePath === filePath) {
36
+ removeNode(nodeId);
37
+ removed++;
38
+ }
39
+ }
40
+ return removed;
41
+ };
42
+ return {
43
+ get nodes() {
44
+ return Array.from(nodeMap.values());
45
+ },
46
+ get relationships() {
47
+ return Array.from(relationshipMap.values());
48
+ },
49
+ iterNodes: () => nodeMap.values(),
50
+ iterRelationships: () => relationshipMap.values(),
51
+ forEachNode(fn) { nodeMap.forEach(fn); },
52
+ forEachRelationship(fn) { relationshipMap.forEach(fn); },
53
+ getNode: (id) => nodeMap.get(id),
54
+ // O(1) count getters - avoid creating arrays just for length
55
+ get nodeCount() {
56
+ return nodeMap.size;
57
+ },
58
+ get relationshipCount() {
59
+ return relationshipMap.size;
60
+ },
61
+ addNode,
62
+ addRelationship,
63
+ removeNode,
64
+ removeNodesByFile,
65
+ };
66
+ };
67
+ //# sourceMappingURL=graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../../../src/tools/code-analyzer/core/graph/graph.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAmB,EAAE;IACvD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC7C,MAAM,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;IAE7D,MAAM,OAAO,GAAG,CAAC,IAAe,EAAE,EAAE;QAClC,IAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,YAA+B,EAAE,EAAE;QAC1D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1C,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,UAAU,GAAG,CAAC,MAAc,EAAW,EAAE;QAC7C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAEvC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEvB,+CAA+C;QAC/C,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC;YAC3C,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACvD,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAU,EAAE;QACrD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,UAAU,EAAE,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC3C,UAAU,CAAC,MAAM,CAAC,CAAC;gBACnB,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,OAAM;QACJ,IAAI,KAAK;YACP,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QACrC,CAAC;QAED,IAAI,aAAa;YACf,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAA;QAC7C,CAAC;QAED,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE;QACjC,iBAAiB,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE;QACjD,WAAW,CAAC,EAA6B,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnE,mBAAmB,CAAC,EAAoC,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1F,OAAO,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAExC,6DAA6D;QAC7D,IAAI,SAAS;YACX,OAAO,OAAO,CAAC,IAAI,CAAC;QACtB,CAAC;QAED,IAAI,iBAAiB;YACnB,OAAO,eAAe,CAAC,IAAI,CAAC;QAC9B,CAAC;QAED,OAAO;QACP,eAAe;QACf,UAAU;QACV,iBAAiB;KAElB,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,62 @@
1
+ export type NodeLabel = 'Project' | 'Package' | 'Module' | 'Folder' | 'File' | 'Class' | 'Function' | 'Method' | 'Variable' | 'Interface' | 'Enum' | 'Decorator' | 'Import' | 'Type' | 'CodeElement' | 'Community' | 'Process' | 'Struct' | 'Macro' | 'Typedef' | 'Union' | 'Namespace' | 'Trait' | 'Impl' | 'TypeAlias' | 'Const' | 'Static' | 'Property' | 'Record' | 'Delegate' | 'Annotation' | 'Constructor' | 'Template';
2
+ export type NodeProperties = {
3
+ name: string;
4
+ filePath: string;
5
+ startLine?: number;
6
+ endLine?: number;
7
+ language?: string;
8
+ isExported?: boolean;
9
+ heuristicLabel?: string;
10
+ cohesion?: number;
11
+ symbolCount?: number;
12
+ keywords?: string[];
13
+ description?: string;
14
+ enrichedBy?: 'heuristic' | 'llm';
15
+ processType?: 'intra_community' | 'cross_community';
16
+ stepCount?: number;
17
+ communities?: string[];
18
+ entryPointId?: string;
19
+ terminalId?: string;
20
+ entryPointScore?: number;
21
+ entryPointReason?: string;
22
+ };
23
+ export type RelationshipType = 'CONTAINS' | 'CALLS' | 'INHERITS' | 'OVERRIDES' | 'IMPORTS' | 'USES' | 'DEFINES' | 'DECORATES' | 'IMPLEMENTS' | 'EXTENDS' | 'MEMBER_OF' | 'STEP_IN_PROCESS';
24
+ export interface GraphNode {
25
+ id: string;
26
+ label: NodeLabel;
27
+ properties: NodeProperties;
28
+ }
29
+ export interface GraphRelationship {
30
+ id: string;
31
+ sourceId: string;
32
+ targetId: string;
33
+ type: RelationshipType;
34
+ /** Confidence score 0-1 (1.0 = certain, lower = uncertain resolution) */
35
+ confidence: number;
36
+ /** Resolution reason: 'import-resolved', 'same-file', 'fuzzy-global', or empty for non-CALLS */
37
+ reason: string;
38
+ /** Step number for STEP_IN_PROCESS relationships (1-indexed) */
39
+ step?: number;
40
+ }
41
+ export interface KnowledgeGraph {
42
+ /** Returns a full array copy — prefer iterNodes() for iteration */
43
+ nodes: GraphNode[];
44
+ /** Returns a full array copy — prefer iterRelationships() for iteration */
45
+ relationships: GraphRelationship[];
46
+ /** Zero-copy iterator over nodes */
47
+ iterNodes: () => IterableIterator<GraphNode>;
48
+ /** Zero-copy iterator over relationships */
49
+ iterRelationships: () => IterableIterator<GraphRelationship>;
50
+ /** Zero-copy forEach — avoids iterator protocol overhead in hot loops */
51
+ forEachNode: (fn: (node: GraphNode) => void) => void;
52
+ forEachRelationship: (fn: (rel: GraphRelationship) => void) => void;
53
+ /** Lookup a single node by id — O(1) */
54
+ getNode: (id: string) => GraphNode | undefined;
55
+ nodeCount: number;
56
+ relationshipCount: number;
57
+ addNode: (node: GraphNode) => void;
58
+ addRelationship: (relationship: GraphRelationship) => void;
59
+ removeNode: (nodeId: string) => boolean;
60
+ removeNodesByFile: (filePath: string) => number;
61
+ }
62
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/tools/code-analyzer/core/graph/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/tools/code-analyzer/core/graph/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import Parser from 'tree-sitter';
2
+ export interface ASTCache {
3
+ get: (filePath: string) => Parser.Tree | undefined;
4
+ set: (filePath: string, tree: Parser.Tree) => void;
5
+ clear: () => void;
6
+ stats: () => {
7
+ size: number;
8
+ maxSize: number;
9
+ };
10
+ }
11
+ export declare const createASTCache: (maxSize?: number) => ASTCache;
12
+ //# sourceMappingURL=ast-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-cache.d.ts","sourceRoot":"","sources":["../../../../../../src/tools/code-analyzer/core/ingestion/ast-cache.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,aAAa,CAAC;AAGjC,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;IACnD,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;IACnD,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD;AAED,eAAO,MAAM,cAAc,GAAI,UAAS,MAAW,KAAG,QAmCrD,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { LRUCache } from 'lru-cache';
2
+ export const createASTCache = (maxSize = 50) => {
3
+ // Initialize the cache with a 'dispose' handler
4
+ // This is the magic: When an item is evicted (dropped), this runs automatically.
5
+ const cache = new LRUCache({
6
+ max: maxSize,
7
+ dispose: (tree) => {
8
+ try {
9
+ // NOTE: web-tree-sitter has tree.delete(); native tree-sitter trees are GC-managed.
10
+ // Keep this try/catch so we don't crash on either runtime.
11
+ tree.delete?.();
12
+ }
13
+ catch (e) {
14
+ console.warn('Failed to delete tree from WASM memory', e);
15
+ }
16
+ }
17
+ });
18
+ return {
19
+ get: (filePath) => {
20
+ const tree = cache.get(filePath);
21
+ return tree; // Returns undefined if not found
22
+ },
23
+ set: (filePath, tree) => {
24
+ cache.set(filePath, tree);
25
+ },
26
+ clear: () => {
27
+ cache.clear();
28
+ },
29
+ stats: () => ({
30
+ size: cache.size,
31
+ maxSize: maxSize
32
+ })
33
+ };
34
+ };
35
+ //# sourceMappingURL=ast-cache.js.map