erosolar-cli 1.7.412 → 1.7.414

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 (1009) hide show
  1. package/dist/shell/interactiveShell.d.ts +14 -0
  2. package/dist/shell/interactiveShell.d.ts.map +1 -1
  3. package/dist/shell/interactiveShell.js +276 -89
  4. package/dist/shell/interactiveShell.js.map +1 -1
  5. package/package.json +1 -1
  6. package/dist/StringUtils.d.ts +0 -8
  7. package/dist/StringUtils.d.ts.map +0 -1
  8. package/dist/StringUtils.js +0 -11
  9. package/dist/StringUtils.js.map +0 -1
  10. package/dist/adapters/browser/index.d.ts +0 -12
  11. package/dist/adapters/browser/index.d.ts.map +0 -1
  12. package/dist/adapters/browser/index.js +0 -11
  13. package/dist/adapters/browser/index.js.map +0 -1
  14. package/dist/adapters/node/index.d.ts +0 -17
  15. package/dist/adapters/node/index.d.ts.map +0 -1
  16. package/dist/adapters/node/index.js +0 -35
  17. package/dist/adapters/node/index.js.map +0 -1
  18. package/dist/adapters/remote/index.d.ts +0 -13
  19. package/dist/adapters/remote/index.d.ts.map +0 -1
  20. package/dist/adapters/remote/index.js +0 -20
  21. package/dist/adapters/remote/index.js.map +0 -1
  22. package/dist/adapters/types.d.ts +0 -14
  23. package/dist/adapters/types.d.ts.map +0 -1
  24. package/dist/adapters/types.js +0 -2
  25. package/dist/adapters/types.js.map +0 -1
  26. package/dist/bin/erosolar.d.ts +0 -9
  27. package/dist/bin/erosolar.d.ts.map +0 -1
  28. package/dist/bin/erosolar.js +0 -93
  29. package/dist/bin/erosolar.js.map +0 -1
  30. package/dist/bin/selfTest.d.ts +0 -14
  31. package/dist/bin/selfTest.d.ts.map +0 -1
  32. package/dist/bin/selfTest.js +0 -304
  33. package/dist/bin/selfTest.js.map +0 -1
  34. package/dist/browser/BrowserSessionManager.d.ts +0 -307
  35. package/dist/browser/BrowserSessionManager.d.ts.map +0 -1
  36. package/dist/browser/BrowserSessionManager.js +0 -713
  37. package/dist/browser/BrowserSessionManager.js.map +0 -1
  38. package/dist/capabilities/advancedTestGenerationCapability.d.ts +0 -17
  39. package/dist/capabilities/advancedTestGenerationCapability.d.ts.map +0 -1
  40. package/dist/capabilities/advancedTestGenerationCapability.js +0 -28
  41. package/dist/capabilities/advancedTestGenerationCapability.js.map +0 -1
  42. package/dist/capabilities/agentSpawningCapability.d.ts +0 -6
  43. package/dist/capabilities/agentSpawningCapability.d.ts.map +0 -1
  44. package/dist/capabilities/agentSpawningCapability.js +0 -168
  45. package/dist/capabilities/agentSpawningCapability.js.map +0 -1
  46. package/dist/capabilities/askUserCapability.d.ts +0 -21
  47. package/dist/capabilities/askUserCapability.d.ts.map +0 -1
  48. package/dist/capabilities/askUserCapability.js +0 -155
  49. package/dist/capabilities/askUserCapability.js.map +0 -1
  50. package/dist/capabilities/bashCapability.d.ts +0 -13
  51. package/dist/capabilities/bashCapability.d.ts.map +0 -1
  52. package/dist/capabilities/bashCapability.js +0 -24
  53. package/dist/capabilities/bashCapability.js.map +0 -1
  54. package/dist/capabilities/browserAutomationCapability.d.ts +0 -37
  55. package/dist/capabilities/browserAutomationCapability.d.ts.map +0 -1
  56. package/dist/capabilities/browserAutomationCapability.js +0 -49
  57. package/dist/capabilities/browserAutomationCapability.js.map +0 -1
  58. package/dist/capabilities/buildCapability.d.ts +0 -24
  59. package/dist/capabilities/buildCapability.d.ts.map +0 -1
  60. package/dist/capabilities/buildCapability.js +0 -25
  61. package/dist/capabilities/buildCapability.js.map +0 -1
  62. package/dist/capabilities/cloudCapability.d.ts +0 -13
  63. package/dist/capabilities/cloudCapability.d.ts.map +0 -1
  64. package/dist/capabilities/cloudCapability.js +0 -38
  65. package/dist/capabilities/cloudCapability.js.map +0 -1
  66. package/dist/capabilities/codeAnalysisCapability.d.ts +0 -13
  67. package/dist/capabilities/codeAnalysisCapability.d.ts.map +0 -1
  68. package/dist/capabilities/codeAnalysisCapability.js +0 -24
  69. package/dist/capabilities/codeAnalysisCapability.js.map +0 -1
  70. package/dist/capabilities/codeGenerationCapability.d.ts +0 -13
  71. package/dist/capabilities/codeGenerationCapability.d.ts.map +0 -1
  72. package/dist/capabilities/codeGenerationCapability.js +0 -25
  73. package/dist/capabilities/codeGenerationCapability.js.map +0 -1
  74. package/dist/capabilities/codeQualityCapability.d.ts +0 -13
  75. package/dist/capabilities/codeQualityCapability.d.ts.map +0 -1
  76. package/dist/capabilities/codeQualityCapability.js +0 -25
  77. package/dist/capabilities/codeQualityCapability.js.map +0 -1
  78. package/dist/capabilities/dependencySecurityCapability.d.ts +0 -13
  79. package/dist/capabilities/dependencySecurityCapability.d.ts.map +0 -1
  80. package/dist/capabilities/dependencySecurityCapability.js +0 -24
  81. package/dist/capabilities/dependencySecurityCapability.js.map +0 -1
  82. package/dist/capabilities/devCapability.d.ts +0 -13
  83. package/dist/capabilities/devCapability.d.ts.map +0 -1
  84. package/dist/capabilities/devCapability.js +0 -24
  85. package/dist/capabilities/devCapability.js.map +0 -1
  86. package/dist/capabilities/editCapability.d.ts +0 -17
  87. package/dist/capabilities/editCapability.d.ts.map +0 -1
  88. package/dist/capabilities/editCapability.js +0 -27
  89. package/dist/capabilities/editCapability.js.map +0 -1
  90. package/dist/capabilities/emailCapability.d.ts +0 -12
  91. package/dist/capabilities/emailCapability.d.ts.map +0 -1
  92. package/dist/capabilities/emailCapability.js +0 -22
  93. package/dist/capabilities/emailCapability.js.map +0 -1
  94. package/dist/capabilities/enhancedCodeIntelligenceCapability.d.ts +0 -17
  95. package/dist/capabilities/enhancedCodeIntelligenceCapability.d.ts.map +0 -1
  96. package/dist/capabilities/enhancedCodeIntelligenceCapability.js +0 -28
  97. package/dist/capabilities/enhancedCodeIntelligenceCapability.js.map +0 -1
  98. package/dist/capabilities/enhancedDevWorkflowCapability.d.ts +0 -17
  99. package/dist/capabilities/enhancedDevWorkflowCapability.d.ts.map +0 -1
  100. package/dist/capabilities/enhancedDevWorkflowCapability.js +0 -28
  101. package/dist/capabilities/enhancedDevWorkflowCapability.js.map +0 -1
  102. package/dist/capabilities/enhancedGitCapability.d.ts +0 -7
  103. package/dist/capabilities/enhancedGitCapability.d.ts.map +0 -1
  104. package/dist/capabilities/enhancedGitCapability.js +0 -220
  105. package/dist/capabilities/enhancedGitCapability.js.map +0 -1
  106. package/dist/capabilities/filesystemCapability.d.ts +0 -13
  107. package/dist/capabilities/filesystemCapability.d.ts.map +0 -1
  108. package/dist/capabilities/filesystemCapability.js +0 -24
  109. package/dist/capabilities/filesystemCapability.js.map +0 -1
  110. package/dist/capabilities/frontendTestingCapability.d.ts +0 -13
  111. package/dist/capabilities/frontendTestingCapability.d.ts.map +0 -1
  112. package/dist/capabilities/frontendTestingCapability.js +0 -28
  113. package/dist/capabilities/frontendTestingCapability.js.map +0 -1
  114. package/dist/capabilities/globCapability.d.ts +0 -17
  115. package/dist/capabilities/globCapability.d.ts.map +0 -1
  116. package/dist/capabilities/globCapability.js +0 -27
  117. package/dist/capabilities/globCapability.js.map +0 -1
  118. package/dist/capabilities/index.d.ts +0 -26
  119. package/dist/capabilities/index.d.ts.map +0 -1
  120. package/dist/capabilities/index.js +0 -26
  121. package/dist/capabilities/index.js.map +0 -1
  122. package/dist/capabilities/interactionCapability.d.ts +0 -12
  123. package/dist/capabilities/interactionCapability.d.ts.map +0 -1
  124. package/dist/capabilities/interactionCapability.js +0 -22
  125. package/dist/capabilities/interactionCapability.js.map +0 -1
  126. package/dist/capabilities/learnCapability.d.ts +0 -22
  127. package/dist/capabilities/learnCapability.d.ts.map +0 -1
  128. package/dist/capabilities/learnCapability.js +0 -37
  129. package/dist/capabilities/learnCapability.js.map +0 -1
  130. package/dist/capabilities/mcpCapability.d.ts +0 -6
  131. package/dist/capabilities/mcpCapability.d.ts.map +0 -1
  132. package/dist/capabilities/mcpCapability.js +0 -19
  133. package/dist/capabilities/mcpCapability.js.map +0 -1
  134. package/dist/capabilities/notebookCapability.d.ts +0 -17
  135. package/dist/capabilities/notebookCapability.d.ts.map +0 -1
  136. package/dist/capabilities/notebookCapability.js +0 -27
  137. package/dist/capabilities/notebookCapability.js.map +0 -1
  138. package/dist/capabilities/performanceMonitoringCapability.d.ts +0 -108
  139. package/dist/capabilities/performanceMonitoringCapability.d.ts.map +0 -1
  140. package/dist/capabilities/performanceMonitoringCapability.js +0 -176
  141. package/dist/capabilities/performanceMonitoringCapability.js.map +0 -1
  142. package/dist/capabilities/planningCapability.d.ts +0 -16
  143. package/dist/capabilities/planningCapability.d.ts.map +0 -1
  144. package/dist/capabilities/planningCapability.js +0 -26
  145. package/dist/capabilities/planningCapability.js.map +0 -1
  146. package/dist/capabilities/refactoringCapability.d.ts +0 -13
  147. package/dist/capabilities/refactoringCapability.d.ts.map +0 -1
  148. package/dist/capabilities/refactoringCapability.js +0 -25
  149. package/dist/capabilities/refactoringCapability.js.map +0 -1
  150. package/dist/capabilities/repoChecksCapability.d.ts +0 -10
  151. package/dist/capabilities/repoChecksCapability.d.ts.map +0 -1
  152. package/dist/capabilities/repoChecksCapability.js +0 -24
  153. package/dist/capabilities/repoChecksCapability.js.map +0 -1
  154. package/dist/capabilities/searchCapability.d.ts +0 -13
  155. package/dist/capabilities/searchCapability.d.ts.map +0 -1
  156. package/dist/capabilities/searchCapability.js +0 -24
  157. package/dist/capabilities/searchCapability.js.map +0 -1
  158. package/dist/capabilities/skillCapability.d.ts +0 -3
  159. package/dist/capabilities/skillCapability.d.ts.map +0 -1
  160. package/dist/capabilities/skillCapability.js +0 -77
  161. package/dist/capabilities/skillCapability.js.map +0 -1
  162. package/dist/capabilities/taskManagementCapability.d.ts +0 -12
  163. package/dist/capabilities/taskManagementCapability.d.ts.map +0 -1
  164. package/dist/capabilities/taskManagementCapability.js +0 -22
  165. package/dist/capabilities/taskManagementCapability.js.map +0 -1
  166. package/dist/capabilities/testingCapability.d.ts +0 -13
  167. package/dist/capabilities/testingCapability.d.ts.map +0 -1
  168. package/dist/capabilities/testingCapability.js +0 -25
  169. package/dist/capabilities/testingCapability.js.map +0 -1
  170. package/dist/capabilities/todoCapability.d.ts +0 -19
  171. package/dist/capabilities/todoCapability.d.ts.map +0 -1
  172. package/dist/capabilities/todoCapability.js +0 -169
  173. package/dist/capabilities/todoCapability.js.map +0 -1
  174. package/dist/capabilities/toolManifest.d.ts +0 -3
  175. package/dist/capabilities/toolManifest.d.ts.map +0 -1
  176. package/dist/capabilities/toolManifest.js +0 -160
  177. package/dist/capabilities/toolManifest.js.map +0 -1
  178. package/dist/capabilities/toolRegistry.d.ts +0 -24
  179. package/dist/capabilities/toolRegistry.d.ts.map +0 -1
  180. package/dist/capabilities/toolRegistry.js +0 -150
  181. package/dist/capabilities/toolRegistry.js.map +0 -1
  182. package/dist/capabilities/validationCapability.d.ts +0 -13
  183. package/dist/capabilities/validationCapability.d.ts.map +0 -1
  184. package/dist/capabilities/validationCapability.js +0 -24
  185. package/dist/capabilities/validationCapability.js.map +0 -1
  186. package/dist/capabilities/webCapability.d.ts +0 -12
  187. package/dist/capabilities/webCapability.d.ts.map +0 -1
  188. package/dist/capabilities/webCapability.js +0 -22
  189. package/dist/capabilities/webCapability.js.map +0 -1
  190. package/dist/config.d.ts +0 -25
  191. package/dist/config.d.ts.map +0 -1
  192. package/dist/config.js +0 -140
  193. package/dist/config.js.map +0 -1
  194. package/dist/contracts/v1/agent.d.ts +0 -147
  195. package/dist/contracts/v1/agent.d.ts.map +0 -1
  196. package/dist/contracts/v1/agent.js +0 -8
  197. package/dist/contracts/v1/agent.js.map +0 -1
  198. package/dist/contracts/v1/agentProfileManifest.d.ts +0 -60
  199. package/dist/contracts/v1/agentProfileManifest.d.ts.map +0 -1
  200. package/dist/contracts/v1/agentProfileManifest.js +0 -9
  201. package/dist/contracts/v1/agentProfileManifest.js.map +0 -1
  202. package/dist/contracts/v1/agentRules.d.ts +0 -60
  203. package/dist/contracts/v1/agentRules.d.ts.map +0 -1
  204. package/dist/contracts/v1/agentRules.js +0 -10
  205. package/dist/contracts/v1/agentRules.js.map +0 -1
  206. package/dist/contracts/v1/provider.d.ts +0 -149
  207. package/dist/contracts/v1/provider.d.ts.map +0 -1
  208. package/dist/contracts/v1/provider.js +0 -7
  209. package/dist/contracts/v1/provider.js.map +0 -1
  210. package/dist/contracts/v1/tool.d.ts +0 -136
  211. package/dist/contracts/v1/tool.d.ts.map +0 -1
  212. package/dist/contracts/v1/tool.js +0 -7
  213. package/dist/contracts/v1/tool.js.map +0 -1
  214. package/dist/contracts/v1/toolAccess.d.ts +0 -43
  215. package/dist/contracts/v1/toolAccess.d.ts.map +0 -1
  216. package/dist/contracts/v1/toolAccess.js +0 -9
  217. package/dist/contracts/v1/toolAccess.js.map +0 -1
  218. package/dist/core/LazyLoader.d.ts +0 -129
  219. package/dist/core/LazyLoader.d.ts.map +0 -1
  220. package/dist/core/LazyLoader.js +0 -240
  221. package/dist/core/LazyLoader.js.map +0 -1
  222. package/dist/core/agent.d.ts +0 -153
  223. package/dist/core/agent.d.ts.map +0 -1
  224. package/dist/core/agent.js +0 -881
  225. package/dist/core/agent.js.map +0 -1
  226. package/dist/core/agentProfileManifest.d.ts +0 -3
  227. package/dist/core/agentProfileManifest.d.ts.map +0 -1
  228. package/dist/core/agentProfileManifest.js +0 -188
  229. package/dist/core/agentProfileManifest.js.map +0 -1
  230. package/dist/core/agentProfiles.d.ts +0 -22
  231. package/dist/core/agentProfiles.d.ts.map +0 -1
  232. package/dist/core/agentProfiles.js +0 -35
  233. package/dist/core/agentProfiles.js.map +0 -1
  234. package/dist/core/agentRulebook.d.ts +0 -11
  235. package/dist/core/agentRulebook.d.ts.map +0 -1
  236. package/dist/core/agentRulebook.js +0 -136
  237. package/dist/core/agentRulebook.js.map +0 -1
  238. package/dist/core/agentSchemaLoader.d.ts +0 -131
  239. package/dist/core/agentSchemaLoader.d.ts.map +0 -1
  240. package/dist/core/agentSchemaLoader.js +0 -234
  241. package/dist/core/agentSchemaLoader.js.map +0 -1
  242. package/dist/core/aiErrorFixer.d.ts +0 -70
  243. package/dist/core/aiErrorFixer.d.ts.map +0 -1
  244. package/dist/core/aiErrorFixer.js +0 -402
  245. package/dist/core/aiErrorFixer.js.map +0 -1
  246. package/dist/core/alphaZeroEngine.d.ts +0 -269
  247. package/dist/core/alphaZeroEngine.d.ts.map +0 -1
  248. package/dist/core/alphaZeroEngine.js +0 -523
  249. package/dist/core/alphaZeroEngine.js.map +0 -1
  250. package/dist/core/alphaZeroModular.d.ts +0 -186
  251. package/dist/core/alphaZeroModular.d.ts.map +0 -1
  252. package/dist/core/alphaZeroModular.js +0 -755
  253. package/dist/core/alphaZeroModular.js.map +0 -1
  254. package/dist/core/alphaZeroOrchestrator.d.ts +0 -140
  255. package/dist/core/alphaZeroOrchestrator.d.ts.map +0 -1
  256. package/dist/core/alphaZeroOrchestrator.js +0 -418
  257. package/dist/core/alphaZeroOrchestrator.js.map +0 -1
  258. package/dist/core/checkpoint.d.ts +0 -76
  259. package/dist/core/checkpoint.d.ts.map +0 -1
  260. package/dist/core/checkpoint.js +0 -278
  261. package/dist/core/checkpoint.js.map +0 -1
  262. package/dist/core/claudeCodeFeatures.d.ts +0 -64
  263. package/dist/core/claudeCodeFeatures.d.ts.map +0 -1
  264. package/dist/core/claudeCodeFeatures.js +0 -163
  265. package/dist/core/claudeCodeFeatures.js.map +0 -1
  266. package/dist/core/cliTestHarness.d.ts +0 -200
  267. package/dist/core/cliTestHarness.d.ts.map +0 -1
  268. package/dist/core/cliTestHarness.js +0 -549
  269. package/dist/core/cliTestHarness.js.map +0 -1
  270. package/dist/core/contextManager.d.ts +0 -263
  271. package/dist/core/contextManager.d.ts.map +0 -1
  272. package/dist/core/contextManager.js +0 -1073
  273. package/dist/core/contextManager.js.map +0 -1
  274. package/dist/core/contextWindow.d.ts +0 -42
  275. package/dist/core/contextWindow.d.ts.map +0 -1
  276. package/dist/core/contextWindow.js +0 -123
  277. package/dist/core/contextWindow.js.map +0 -1
  278. package/dist/core/costTracker.d.ts +0 -87
  279. package/dist/core/costTracker.d.ts.map +0 -1
  280. package/dist/core/costTracker.js +0 -285
  281. package/dist/core/costTracker.js.map +0 -1
  282. package/dist/core/customCommands.d.ts +0 -19
  283. package/dist/core/customCommands.d.ts.map +0 -1
  284. package/dist/core/customCommands.js +0 -84
  285. package/dist/core/customCommands.js.map +0 -1
  286. package/dist/core/errors/apiKeyErrors.d.ts +0 -11
  287. package/dist/core/errors/apiKeyErrors.d.ts.map +0 -1
  288. package/dist/core/errors/apiKeyErrors.js +0 -159
  289. package/dist/core/errors/apiKeyErrors.js.map +0 -1
  290. package/dist/core/errors/errorTypes.d.ts +0 -111
  291. package/dist/core/errors/errorTypes.d.ts.map +0 -1
  292. package/dist/core/errors/errorTypes.js +0 -348
  293. package/dist/core/errors/errorTypes.js.map +0 -1
  294. package/dist/core/errors/errorUtils.d.ts +0 -87
  295. package/dist/core/errors/errorUtils.d.ts.map +0 -1
  296. package/dist/core/errors/errorUtils.js +0 -158
  297. package/dist/core/errors/errorUtils.js.map +0 -1
  298. package/dist/core/errors/safetyValidator.d.ts +0 -71
  299. package/dist/core/errors/safetyValidator.d.ts.map +0 -1
  300. package/dist/core/errors/safetyValidator.js +0 -302
  301. package/dist/core/errors/safetyValidator.js.map +0 -1
  302. package/dist/core/errors.d.ts +0 -4
  303. package/dist/core/errors.d.ts.map +0 -1
  304. package/dist/core/errors.js +0 -33
  305. package/dist/core/errors.js.map +0 -1
  306. package/dist/core/failureRecovery.d.ts +0 -122
  307. package/dist/core/failureRecovery.d.ts.map +0 -1
  308. package/dist/core/failureRecovery.js +0 -477
  309. package/dist/core/failureRecovery.js.map +0 -1
  310. package/dist/core/hooks.d.ts +0 -113
  311. package/dist/core/hooks.d.ts.map +0 -1
  312. package/dist/core/hooks.js +0 -267
  313. package/dist/core/hooks.js.map +0 -1
  314. package/dist/core/intelligentTestFlows.d.ts +0 -126
  315. package/dist/core/intelligentTestFlows.d.ts.map +0 -1
  316. package/dist/core/intelligentTestFlows.js +0 -678
  317. package/dist/core/intelligentTestFlows.js.map +0 -1
  318. package/dist/core/isolatedVerifier.d.ts +0 -40
  319. package/dist/core/isolatedVerifier.d.ts.map +0 -1
  320. package/dist/core/isolatedVerifier.js +0 -129
  321. package/dist/core/isolatedVerifier.js.map +0 -1
  322. package/dist/core/learningPersistence.d.ts +0 -145
  323. package/dist/core/learningPersistence.d.ts.map +0 -1
  324. package/dist/core/learningPersistence.js +0 -477
  325. package/dist/core/learningPersistence.js.map +0 -1
  326. package/dist/core/memorySystem.d.ts +0 -67
  327. package/dist/core/memorySystem.d.ts.map +0 -1
  328. package/dist/core/memorySystem.js +0 -334
  329. package/dist/core/memorySystem.js.map +0 -1
  330. package/dist/core/metricsTracker.d.ts +0 -157
  331. package/dist/core/metricsTracker.d.ts.map +0 -1
  332. package/dist/core/metricsTracker.js +0 -273
  333. package/dist/core/metricsTracker.js.map +0 -1
  334. package/dist/core/modelDiscovery.d.ts +0 -101
  335. package/dist/core/modelDiscovery.d.ts.map +0 -1
  336. package/dist/core/modelDiscovery.js +0 -780
  337. package/dist/core/modelDiscovery.js.map +0 -1
  338. package/dist/core/multilinePasteHandler.d.ts +0 -35
  339. package/dist/core/multilinePasteHandler.d.ts.map +0 -1
  340. package/dist/core/multilinePasteHandler.js +0 -80
  341. package/dist/core/multilinePasteHandler.js.map +0 -1
  342. package/dist/core/offsecAlphaZero.d.ts +0 -56
  343. package/dist/core/offsecAlphaZero.d.ts.map +0 -1
  344. package/dist/core/offsecAlphaZero.js +0 -395
  345. package/dist/core/offsecAlphaZero.js.map +0 -1
  346. package/dist/core/outputStyles.d.ts +0 -48
  347. package/dist/core/outputStyles.d.ts.map +0 -1
  348. package/dist/core/outputStyles.js +0 -270
  349. package/dist/core/outputStyles.js.map +0 -1
  350. package/dist/core/performanceMonitor.d.ts +0 -124
  351. package/dist/core/performanceMonitor.d.ts.map +0 -1
  352. package/dist/core/performanceMonitor.js +0 -192
  353. package/dist/core/performanceMonitor.js.map +0 -1
  354. package/dist/core/preferences.d.ts +0 -67
  355. package/dist/core/preferences.d.ts.map +0 -1
  356. package/dist/core/preferences.js +0 -314
  357. package/dist/core/preferences.js.map +0 -1
  358. package/dist/core/responseVerifier.d.ts +0 -98
  359. package/dist/core/responseVerifier.d.ts.map +0 -1
  360. package/dist/core/responseVerifier.js +0 -509
  361. package/dist/core/responseVerifier.js.map +0 -1
  362. package/dist/core/resultVerification.d.ts +0 -141
  363. package/dist/core/resultVerification.d.ts.map +0 -1
  364. package/dist/core/resultVerification.js +0 -482
  365. package/dist/core/resultVerification.js.map +0 -1
  366. package/dist/core/schemaValidator.d.ts +0 -44
  367. package/dist/core/schemaValidator.d.ts.map +0 -1
  368. package/dist/core/schemaValidator.js +0 -155
  369. package/dist/core/schemaValidator.js.map +0 -1
  370. package/dist/core/secretStore.d.ts +0 -48
  371. package/dist/core/secretStore.d.ts.map +0 -1
  372. package/dist/core/secretStore.js +0 -367
  373. package/dist/core/secretStore.js.map +0 -1
  374. package/dist/core/securityAssessment.d.ts +0 -91
  375. package/dist/core/securityAssessment.d.ts.map +0 -1
  376. package/dist/core/securityAssessment.js +0 -580
  377. package/dist/core/securityAssessment.js.map +0 -1
  378. package/dist/core/selfEvolution.d.ts +0 -155
  379. package/dist/core/selfEvolution.d.ts.map +0 -1
  380. package/dist/core/selfEvolution.js +0 -1000
  381. package/dist/core/selfEvolution.js.map +0 -1
  382. package/dist/core/selfImprovement.d.ts +0 -141
  383. package/dist/core/selfImprovement.d.ts.map +0 -1
  384. package/dist/core/selfImprovement.js +0 -700
  385. package/dist/core/selfImprovement.js.map +0 -1
  386. package/dist/core/sessionStore.d.ts +0 -35
  387. package/dist/core/sessionStore.d.ts.map +0 -1
  388. package/dist/core/sessionStore.js +0 -189
  389. package/dist/core/sessionStore.js.map +0 -1
  390. package/dist/core/testUtils.d.ts +0 -121
  391. package/dist/core/testUtils.d.ts.map +0 -1
  392. package/dist/core/testUtils.js +0 -235
  393. package/dist/core/testUtils.js.map +0 -1
  394. package/dist/core/toolPreconditions.d.ts +0 -42
  395. package/dist/core/toolPreconditions.d.ts.map +0 -1
  396. package/dist/core/toolPreconditions.js +0 -357
  397. package/dist/core/toolPreconditions.js.map +0 -1
  398. package/dist/core/toolRuntime.d.ts +0 -158
  399. package/dist/core/toolRuntime.d.ts.map +0 -1
  400. package/dist/core/toolRuntime.js +0 -415
  401. package/dist/core/toolRuntime.js.map +0 -1
  402. package/dist/core/toolValidation.d.ts +0 -117
  403. package/dist/core/toolValidation.d.ts.map +0 -1
  404. package/dist/core/toolValidation.js +0 -282
  405. package/dist/core/toolValidation.js.map +0 -1
  406. package/dist/core/types/utilityTypes.d.ts +0 -192
  407. package/dist/core/types/utilityTypes.d.ts.map +0 -1
  408. package/dist/core/types/utilityTypes.js +0 -272
  409. package/dist/core/types/utilityTypes.js.map +0 -1
  410. package/dist/core/types.d.ts +0 -306
  411. package/dist/core/types.d.ts.map +0 -1
  412. package/dist/core/types.js +0 -76
  413. package/dist/core/types.js.map +0 -1
  414. package/dist/core/updateManager.d.ts +0 -62
  415. package/dist/core/updateManager.d.ts.map +0 -1
  416. package/dist/core/updateManager.js +0 -266
  417. package/dist/core/updateManager.js.map +0 -1
  418. package/dist/core/validationRunner.d.ts +0 -106
  419. package/dist/core/validationRunner.d.ts.map +0 -1
  420. package/dist/core/validationRunner.js +0 -888
  421. package/dist/core/validationRunner.js.map +0 -1
  422. package/dist/core/verification.d.ts +0 -137
  423. package/dist/core/verification.d.ts.map +0 -1
  424. package/dist/core/verification.js +0 -323
  425. package/dist/core/verification.js.map +0 -1
  426. package/dist/headless/headlessApp.d.ts +0 -5
  427. package/dist/headless/headlessApp.d.ts.map +0 -1
  428. package/dist/headless/headlessApp.js +0 -210
  429. package/dist/headless/headlessApp.js.map +0 -1
  430. package/dist/intelligence/codeIntelligence.d.ts +0 -118
  431. package/dist/intelligence/codeIntelligence.d.ts.map +0 -1
  432. package/dist/intelligence/codeIntelligence.js +0 -552
  433. package/dist/intelligence/codeIntelligence.js.map +0 -1
  434. package/dist/intelligence/docGenerator.d.ts +0 -86
  435. package/dist/intelligence/docGenerator.d.ts.map +0 -1
  436. package/dist/intelligence/docGenerator.js +0 -564
  437. package/dist/intelligence/docGenerator.js.map +0 -1
  438. package/dist/intelligence/index.d.ts +0 -51
  439. package/dist/intelligence/index.d.ts.map +0 -1
  440. package/dist/intelligence/index.js +0 -253
  441. package/dist/intelligence/index.js.map +0 -1
  442. package/dist/intelligence/refactoring.d.ts +0 -50
  443. package/dist/intelligence/refactoring.d.ts.map +0 -1
  444. package/dist/intelligence/refactoring.js +0 -354
  445. package/dist/intelligence/refactoring.js.map +0 -1
  446. package/dist/intelligence/testGenerator.d.ts +0 -74
  447. package/dist/intelligence/testGenerator.d.ts.map +0 -1
  448. package/dist/intelligence/testGenerator.js +0 -483
  449. package/dist/intelligence/testGenerator.js.map +0 -1
  450. package/dist/mcp/config.d.ts +0 -8
  451. package/dist/mcp/config.d.ts.map +0 -1
  452. package/dist/mcp/config.js +0 -252
  453. package/dist/mcp/config.js.map +0 -1
  454. package/dist/mcp/sseClient.d.ts +0 -34
  455. package/dist/mcp/sseClient.d.ts.map +0 -1
  456. package/dist/mcp/sseClient.js +0 -327
  457. package/dist/mcp/sseClient.js.map +0 -1
  458. package/dist/mcp/stdioClient.d.ts +0 -24
  459. package/dist/mcp/stdioClient.d.ts.map +0 -1
  460. package/dist/mcp/stdioClient.js +0 -179
  461. package/dist/mcp/stdioClient.js.map +0 -1
  462. package/dist/mcp/toolBridge.d.ts +0 -12
  463. package/dist/mcp/toolBridge.d.ts.map +0 -1
  464. package/dist/mcp/toolBridge.js +0 -117
  465. package/dist/mcp/toolBridge.js.map +0 -1
  466. package/dist/mcp/types.d.ts +0 -60
  467. package/dist/mcp/types.d.ts.map +0 -1
  468. package/dist/mcp/types.js +0 -2
  469. package/dist/mcp/types.js.map +0 -1
  470. package/dist/plugins/index.d.ts +0 -49
  471. package/dist/plugins/index.d.ts.map +0 -1
  472. package/dist/plugins/index.js +0 -114
  473. package/dist/plugins/index.js.map +0 -1
  474. package/dist/plugins/providers/anthropic/index.d.ts +0 -11
  475. package/dist/plugins/providers/anthropic/index.d.ts.map +0 -1
  476. package/dist/plugins/providers/anthropic/index.js +0 -38
  477. package/dist/plugins/providers/anthropic/index.js.map +0 -1
  478. package/dist/plugins/providers/deepseek/index.d.ts +0 -11
  479. package/dist/plugins/providers/deepseek/index.d.ts.map +0 -1
  480. package/dist/plugins/providers/deepseek/index.js +0 -52
  481. package/dist/plugins/providers/deepseek/index.js.map +0 -1
  482. package/dist/plugins/providers/google/index.d.ts +0 -11
  483. package/dist/plugins/providers/google/index.d.ts.map +0 -1
  484. package/dist/plugins/providers/google/index.js +0 -40
  485. package/dist/plugins/providers/google/index.js.map +0 -1
  486. package/dist/plugins/providers/index.d.ts +0 -2
  487. package/dist/plugins/providers/index.d.ts.map +0 -1
  488. package/dist/plugins/providers/index.js +0 -20
  489. package/dist/plugins/providers/index.js.map +0 -1
  490. package/dist/plugins/providers/ollama/index.d.ts +0 -21
  491. package/dist/plugins/providers/ollama/index.d.ts.map +0 -1
  492. package/dist/plugins/providers/ollama/index.js +0 -69
  493. package/dist/plugins/providers/ollama/index.js.map +0 -1
  494. package/dist/plugins/providers/openai/index.d.ts +0 -12
  495. package/dist/plugins/providers/openai/index.d.ts.map +0 -1
  496. package/dist/plugins/providers/openai/index.js +0 -39
  497. package/dist/plugins/providers/openai/index.js.map +0 -1
  498. package/dist/plugins/providers/xai/index.d.ts +0 -11
  499. package/dist/plugins/providers/xai/index.d.ts.map +0 -1
  500. package/dist/plugins/providers/xai/index.js +0 -39
  501. package/dist/plugins/providers/xai/index.js.map +0 -1
  502. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts +0 -3
  503. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts.map +0 -1
  504. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js +0 -9
  505. package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js.map +0 -1
  506. package/dist/plugins/tools/bash/localBashPlugin.d.ts +0 -3
  507. package/dist/plugins/tools/bash/localBashPlugin.d.ts.map +0 -1
  508. package/dist/plugins/tools/bash/localBashPlugin.js +0 -14
  509. package/dist/plugins/tools/bash/localBashPlugin.js.map +0 -1
  510. package/dist/plugins/tools/browser/browserAutomationPlugin.d.ts +0 -14
  511. package/dist/plugins/tools/browser/browserAutomationPlugin.d.ts.map +0 -1
  512. package/dist/plugins/tools/browser/browserAutomationPlugin.js +0 -26
  513. package/dist/plugins/tools/browser/browserAutomationPlugin.js.map +0 -1
  514. package/dist/plugins/tools/checks/localRepoChecksPlugin.d.ts +0 -3
  515. package/dist/plugins/tools/checks/localRepoChecksPlugin.d.ts.map +0 -1
  516. package/dist/plugins/tools/checks/localRepoChecksPlugin.js +0 -14
  517. package/dist/plugins/tools/checks/localRepoChecksPlugin.js.map +0 -1
  518. package/dist/plugins/tools/cloud/cloudPlugin.d.ts +0 -3
  519. package/dist/plugins/tools/cloud/cloudPlugin.d.ts.map +0 -1
  520. package/dist/plugins/tools/cloud/cloudPlugin.js +0 -14
  521. package/dist/plugins/tools/cloud/cloudPlugin.js.map +0 -1
  522. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.d.ts +0 -3
  523. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.d.ts.map +0 -1
  524. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.js +0 -14
  525. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.js.map +0 -1
  526. package/dist/plugins/tools/codeQuality/codeQualityPlugin.d.ts +0 -3
  527. package/dist/plugins/tools/codeQuality/codeQualityPlugin.d.ts.map +0 -1
  528. package/dist/plugins/tools/codeQuality/codeQualityPlugin.js +0 -14
  529. package/dist/plugins/tools/codeQuality/codeQualityPlugin.js.map +0 -1
  530. package/dist/plugins/tools/dependency/dependencyPlugin.d.ts +0 -3
  531. package/dist/plugins/tools/dependency/dependencyPlugin.d.ts.map +0 -1
  532. package/dist/plugins/tools/dependency/dependencyPlugin.js +0 -12
  533. package/dist/plugins/tools/dependency/dependencyPlugin.js.map +0 -1
  534. package/dist/plugins/tools/development/devPlugin.d.ts +0 -3
  535. package/dist/plugins/tools/development/devPlugin.d.ts.map +0 -1
  536. package/dist/plugins/tools/development/devPlugin.js +0 -14
  537. package/dist/plugins/tools/development/devPlugin.js.map +0 -1
  538. package/dist/plugins/tools/edit/editPlugin.d.ts +0 -9
  539. package/dist/plugins/tools/edit/editPlugin.d.ts.map +0 -1
  540. package/dist/plugins/tools/edit/editPlugin.js +0 -15
  541. package/dist/plugins/tools/edit/editPlugin.js.map +0 -1
  542. package/dist/plugins/tools/email/emailPlugin.d.ts +0 -3
  543. package/dist/plugins/tools/email/emailPlugin.d.ts.map +0 -1
  544. package/dist/plugins/tools/email/emailPlugin.js +0 -12
  545. package/dist/plugins/tools/email/emailPlugin.js.map +0 -1
  546. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts +0 -3
  547. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts.map +0 -1
  548. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js +0 -9
  549. package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js.map +0 -1
  550. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts +0 -3
  551. package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts.map +0 -1
  552. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js +0 -14
  553. package/dist/plugins/tools/filesystem/localFilesystemPlugin.js.map +0 -1
  554. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.d.ts +0 -3
  555. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.d.ts.map +0 -1
  556. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.js +0 -14
  557. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.js.map +0 -1
  558. package/dist/plugins/tools/glob/globPlugin.d.ts +0 -9
  559. package/dist/plugins/tools/glob/globPlugin.d.ts.map +0 -1
  560. package/dist/plugins/tools/glob/globPlugin.js +0 -15
  561. package/dist/plugins/tools/glob/globPlugin.js.map +0 -1
  562. package/dist/plugins/tools/index.d.ts +0 -3
  563. package/dist/plugins/tools/index.d.ts.map +0 -1
  564. package/dist/plugins/tools/index.js +0 -3
  565. package/dist/plugins/tools/index.js.map +0 -1
  566. package/dist/plugins/tools/interaction/interactionPlugin.d.ts +0 -3
  567. package/dist/plugins/tools/interaction/interactionPlugin.d.ts.map +0 -1
  568. package/dist/plugins/tools/interaction/interactionPlugin.js +0 -12
  569. package/dist/plugins/tools/interaction/interactionPlugin.js.map +0 -1
  570. package/dist/plugins/tools/learn/learnPlugin.d.ts +0 -3
  571. package/dist/plugins/tools/learn/learnPlugin.d.ts.map +0 -1
  572. package/dist/plugins/tools/learn/learnPlugin.js +0 -14
  573. package/dist/plugins/tools/learn/learnPlugin.js.map +0 -1
  574. package/dist/plugins/tools/mcp/mcpPlugin.d.ts +0 -3
  575. package/dist/plugins/tools/mcp/mcpPlugin.d.ts.map +0 -1
  576. package/dist/plugins/tools/mcp/mcpPlugin.js +0 -9
  577. package/dist/plugins/tools/mcp/mcpPlugin.js.map +0 -1
  578. package/dist/plugins/tools/nodeDefaults.d.ts +0 -2
  579. package/dist/plugins/tools/nodeDefaults.d.ts.map +0 -1
  580. package/dist/plugins/tools/nodeDefaults.js +0 -65
  581. package/dist/plugins/tools/nodeDefaults.js.map +0 -1
  582. package/dist/plugins/tools/notebook/notebookPlugin.d.ts +0 -9
  583. package/dist/plugins/tools/notebook/notebookPlugin.d.ts.map +0 -1
  584. package/dist/plugins/tools/notebook/notebookPlugin.js +0 -15
  585. package/dist/plugins/tools/notebook/notebookPlugin.js.map +0 -1
  586. package/dist/plugins/tools/planning/planningPlugin.d.ts +0 -9
  587. package/dist/plugins/tools/planning/planningPlugin.d.ts.map +0 -1
  588. package/dist/plugins/tools/planning/planningPlugin.js +0 -15
  589. package/dist/plugins/tools/planning/planningPlugin.js.map +0 -1
  590. package/dist/plugins/tools/refactoring/refactoringPlugin.d.ts +0 -3
  591. package/dist/plugins/tools/refactoring/refactoringPlugin.d.ts.map +0 -1
  592. package/dist/plugins/tools/refactoring/refactoringPlugin.js +0 -12
  593. package/dist/plugins/tools/refactoring/refactoringPlugin.js.map +0 -1
  594. package/dist/plugins/tools/registry.d.ts +0 -22
  595. package/dist/plugins/tools/registry.d.ts.map +0 -1
  596. package/dist/plugins/tools/registry.js +0 -58
  597. package/dist/plugins/tools/registry.js.map +0 -1
  598. package/dist/plugins/tools/search/localSearchPlugin.d.ts +0 -3
  599. package/dist/plugins/tools/search/localSearchPlugin.d.ts.map +0 -1
  600. package/dist/plugins/tools/search/localSearchPlugin.js +0 -14
  601. package/dist/plugins/tools/search/localSearchPlugin.js.map +0 -1
  602. package/dist/plugins/tools/skills/skillPlugin.d.ts +0 -3
  603. package/dist/plugins/tools/skills/skillPlugin.d.ts.map +0 -1
  604. package/dist/plugins/tools/skills/skillPlugin.js +0 -9
  605. package/dist/plugins/tools/skills/skillPlugin.js.map +0 -1
  606. package/dist/plugins/tools/taskManagement/taskManagementPlugin.d.ts +0 -3
  607. package/dist/plugins/tools/taskManagement/taskManagementPlugin.d.ts.map +0 -1
  608. package/dist/plugins/tools/taskManagement/taskManagementPlugin.js +0 -12
  609. package/dist/plugins/tools/taskManagement/taskManagementPlugin.js.map +0 -1
  610. package/dist/plugins/tools/testing/testingPlugin.d.ts +0 -3
  611. package/dist/plugins/tools/testing/testingPlugin.d.ts.map +0 -1
  612. package/dist/plugins/tools/testing/testingPlugin.js +0 -12
  613. package/dist/plugins/tools/testing/testingPlugin.js.map +0 -1
  614. package/dist/plugins/tools/validation/validationPlugin.d.ts +0 -3
  615. package/dist/plugins/tools/validation/validationPlugin.d.ts.map +0 -1
  616. package/dist/plugins/tools/validation/validationPlugin.js +0 -14
  617. package/dist/plugins/tools/validation/validationPlugin.js.map +0 -1
  618. package/dist/plugins/tools/web/webPlugin.d.ts +0 -3
  619. package/dist/plugins/tools/web/webPlugin.d.ts.map +0 -1
  620. package/dist/plugins/tools/web/webPlugin.js +0 -12
  621. package/dist/plugins/tools/web/webPlugin.js.map +0 -1
  622. package/dist/providers/anthropicProvider.d.ts +0 -41
  623. package/dist/providers/anthropicProvider.d.ts.map +0 -1
  624. package/dist/providers/anthropicProvider.js +0 -446
  625. package/dist/providers/anthropicProvider.js.map +0 -1
  626. package/dist/providers/googleProvider.d.ts +0 -36
  627. package/dist/providers/googleProvider.d.ts.map +0 -1
  628. package/dist/providers/googleProvider.js +0 -312
  629. package/dist/providers/googleProvider.js.map +0 -1
  630. package/dist/providers/openaiChatCompletionsProvider.d.ts +0 -43
  631. package/dist/providers/openaiChatCompletionsProvider.d.ts.map +0 -1
  632. package/dist/providers/openaiChatCompletionsProvider.js +0 -475
  633. package/dist/providers/openaiChatCompletionsProvider.js.map +0 -1
  634. package/dist/providers/openaiResponsesProvider.d.ts +0 -38
  635. package/dist/providers/openaiResponsesProvider.d.ts.map +0 -1
  636. package/dist/providers/openaiResponsesProvider.js +0 -364
  637. package/dist/providers/openaiResponsesProvider.js.map +0 -1
  638. package/dist/providers/providerFactory.d.ts +0 -18
  639. package/dist/providers/providerFactory.d.ts.map +0 -1
  640. package/dist/providers/providerFactory.js +0 -25
  641. package/dist/providers/providerFactory.js.map +0 -1
  642. package/dist/providers/resilientProvider.d.ts +0 -94
  643. package/dist/providers/resilientProvider.d.ts.map +0 -1
  644. package/dist/providers/resilientProvider.js +0 -370
  645. package/dist/providers/resilientProvider.js.map +0 -1
  646. package/dist/runtime/agentController.d.ts +0 -65
  647. package/dist/runtime/agentController.d.ts.map +0 -1
  648. package/dist/runtime/agentController.js +0 -353
  649. package/dist/runtime/agentController.js.map +0 -1
  650. package/dist/runtime/agentHost.d.ts +0 -61
  651. package/dist/runtime/agentHost.d.ts.map +0 -1
  652. package/dist/runtime/agentHost.js +0 -156
  653. package/dist/runtime/agentHost.js.map +0 -1
  654. package/dist/runtime/agentSession.d.ts +0 -40
  655. package/dist/runtime/agentSession.d.ts.map +0 -1
  656. package/dist/runtime/agentSession.js +0 -206
  657. package/dist/runtime/agentSession.js.map +0 -1
  658. package/dist/runtime/browser.d.ts +0 -7
  659. package/dist/runtime/browser.d.ts.map +0 -1
  660. package/dist/runtime/browser.js +0 -10
  661. package/dist/runtime/browser.js.map +0 -1
  662. package/dist/runtime/cloud.d.ts +0 -7
  663. package/dist/runtime/cloud.d.ts.map +0 -1
  664. package/dist/runtime/cloud.js +0 -10
  665. package/dist/runtime/cloud.js.map +0 -1
  666. package/dist/runtime/node.d.ts +0 -8
  667. package/dist/runtime/node.d.ts.map +0 -1
  668. package/dist/runtime/node.js +0 -11
  669. package/dist/runtime/node.js.map +0 -1
  670. package/dist/runtime/universal.d.ts +0 -21
  671. package/dist/runtime/universal.d.ts.map +0 -1
  672. package/dist/runtime/universal.js +0 -29
  673. package/dist/runtime/universal.js.map +0 -1
  674. package/dist/shell/autoExecutor.d.ts +0 -70
  675. package/dist/shell/autoExecutor.d.ts.map +0 -1
  676. package/dist/shell/autoExecutor.js +0 -288
  677. package/dist/shell/autoExecutor.js.map +0 -1
  678. package/dist/shell/composableMessage.d.ts +0 -183
  679. package/dist/shell/composableMessage.d.ts.map +0 -1
  680. package/dist/shell/composableMessage.js +0 -420
  681. package/dist/shell/composableMessage.js.map +0 -1
  682. package/dist/shell/fileChangeTracker.d.ts +0 -39
  683. package/dist/shell/fileChangeTracker.d.ts.map +0 -1
  684. package/dist/shell/fileChangeTracker.js +0 -64
  685. package/dist/shell/fileChangeTracker.js.map +0 -1
  686. package/dist/shell/keyboardShortcuts.d.ts +0 -53
  687. package/dist/shell/keyboardShortcuts.d.ts.map +0 -1
  688. package/dist/shell/keyboardShortcuts.js +0 -166
  689. package/dist/shell/keyboardShortcuts.js.map +0 -1
  690. package/dist/shell/liveStatus.d.ts +0 -30
  691. package/dist/shell/liveStatus.d.ts.map +0 -1
  692. package/dist/shell/liveStatus.js +0 -102
  693. package/dist/shell/liveStatus.js.map +0 -1
  694. package/dist/shell/shellApp.d.ts +0 -19
  695. package/dist/shell/shellApp.d.ts.map +0 -1
  696. package/dist/shell/shellApp.js +0 -408
  697. package/dist/shell/shellApp.js.map +0 -1
  698. package/dist/shell/systemPrompt.d.ts +0 -3
  699. package/dist/shell/systemPrompt.d.ts.map +0 -1
  700. package/dist/shell/systemPrompt.js +0 -81
  701. package/dist/shell/systemPrompt.js.map +0 -1
  702. package/dist/shell/taskCompletionDetector.d.ts +0 -106
  703. package/dist/shell/taskCompletionDetector.d.ts.map +0 -1
  704. package/dist/shell/taskCompletionDetector.js +0 -402
  705. package/dist/shell/taskCompletionDetector.js.map +0 -1
  706. package/dist/shell/terminalInput.d.ts +0 -617
  707. package/dist/shell/terminalInput.d.ts.map +0 -1
  708. package/dist/shell/terminalInput.js +0 -2633
  709. package/dist/shell/terminalInput.js.map +0 -1
  710. package/dist/shell/terminalInputAdapter.d.ts +0 -263
  711. package/dist/shell/terminalInputAdapter.d.ts.map +0 -1
  712. package/dist/shell/terminalInputAdapter.js +0 -406
  713. package/dist/shell/terminalInputAdapter.js.map +0 -1
  714. package/dist/shell/updateManager.d.ts +0 -3
  715. package/dist/shell/updateManager.d.ts.map +0 -1
  716. package/dist/shell/updateManager.js +0 -120
  717. package/dist/shell/updateManager.js.map +0 -1
  718. package/dist/shell/vimMode.d.ts +0 -66
  719. package/dist/shell/vimMode.d.ts.map +0 -1
  720. package/dist/shell/vimMode.js +0 -434
  721. package/dist/shell/vimMode.js.map +0 -1
  722. package/dist/skills/skillRepository.d.ts +0 -103
  723. package/dist/skills/skillRepository.d.ts.map +0 -1
  724. package/dist/skills/skillRepository.js +0 -237
  725. package/dist/skills/skillRepository.js.map +0 -1
  726. package/dist/skills/types.d.ts +0 -37
  727. package/dist/skills/types.d.ts.map +0 -1
  728. package/dist/skills/types.js +0 -2
  729. package/dist/skills/types.js.map +0 -1
  730. package/dist/subagents/agentConfig.d.ts +0 -27
  731. package/dist/subagents/agentConfig.d.ts.map +0 -1
  732. package/dist/subagents/agentConfig.js +0 -89
  733. package/dist/subagents/agentConfig.js.map +0 -1
  734. package/dist/subagents/agentRegistry.d.ts +0 -33
  735. package/dist/subagents/agentRegistry.d.ts.map +0 -1
  736. package/dist/subagents/agentRegistry.js +0 -162
  737. package/dist/subagents/agentRegistry.js.map +0 -1
  738. package/dist/subagents/parallelAgentManager.d.ts +0 -99
  739. package/dist/subagents/parallelAgentManager.d.ts.map +0 -1
  740. package/dist/subagents/parallelAgentManager.js +0 -248
  741. package/dist/subagents/parallelAgentManager.js.map +0 -1
  742. package/dist/subagents/taskRunner.d.ts +0 -34
  743. package/dist/subagents/taskRunner.d.ts.map +0 -1
  744. package/dist/subagents/taskRunner.js +0 -459
  745. package/dist/subagents/taskRunner.js.map +0 -1
  746. package/dist/tools/advancedTestGenerationTools.d.ts +0 -21
  747. package/dist/tools/advancedTestGenerationTools.d.ts.map +0 -1
  748. package/dist/tools/advancedTestGenerationTools.js +0 -301
  749. package/dist/tools/advancedTestGenerationTools.js.map +0 -1
  750. package/dist/tools/backgroundBashTools.d.ts +0 -21
  751. package/dist/tools/backgroundBashTools.d.ts.map +0 -1
  752. package/dist/tools/backgroundBashTools.js +0 -215
  753. package/dist/tools/backgroundBashTools.js.map +0 -1
  754. package/dist/tools/bashTools.d.ts +0 -8
  755. package/dist/tools/bashTools.d.ts.map +0 -1
  756. package/dist/tools/bashTools.js +0 -251
  757. package/dist/tools/bashTools.js.map +0 -1
  758. package/dist/tools/browserAutomationTools.d.ts +0 -23
  759. package/dist/tools/browserAutomationTools.d.ts.map +0 -1
  760. package/dist/tools/browserAutomationTools.js +0 -916
  761. package/dist/tools/browserAutomationTools.js.map +0 -1
  762. package/dist/tools/buildTools.d.ts +0 -9
  763. package/dist/tools/buildTools.d.ts.map +0 -1
  764. package/dist/tools/buildTools.js +0 -344
  765. package/dist/tools/buildTools.js.map +0 -1
  766. package/dist/tools/cloudTools.d.ts +0 -49
  767. package/dist/tools/cloudTools.d.ts.map +0 -1
  768. package/dist/tools/cloudTools.js +0 -1258
  769. package/dist/tools/cloudTools.js.map +0 -1
  770. package/dist/tools/code-quality-dashboard.d.ts +0 -57
  771. package/dist/tools/code-quality-dashboard.d.ts.map +0 -1
  772. package/dist/tools/code-quality-dashboard.js +0 -218
  773. package/dist/tools/code-quality-dashboard.js.map +0 -1
  774. package/dist/tools/codeAnalysisTools.d.ts +0 -74
  775. package/dist/tools/codeAnalysisTools.d.ts.map +0 -1
  776. package/dist/tools/codeAnalysisTools.js +0 -664
  777. package/dist/tools/codeAnalysisTools.js.map +0 -1
  778. package/dist/tools/codeGenerationTools.d.ts +0 -3
  779. package/dist/tools/codeGenerationTools.d.ts.map +0 -1
  780. package/dist/tools/codeGenerationTools.js +0 -439
  781. package/dist/tools/codeGenerationTools.js.map +0 -1
  782. package/dist/tools/codeQualityTools.d.ts +0 -3
  783. package/dist/tools/codeQualityTools.d.ts.map +0 -1
  784. package/dist/tools/codeQualityTools.js +0 -296
  785. package/dist/tools/codeQualityTools.js.map +0 -1
  786. package/dist/tools/dependencyTools.d.ts +0 -3
  787. package/dist/tools/dependencyTools.d.ts.map +0 -1
  788. package/dist/tools/dependencyTools.js +0 -283
  789. package/dist/tools/dependencyTools.js.map +0 -1
  790. package/dist/tools/devTools.d.ts +0 -10
  791. package/dist/tools/devTools.d.ts.map +0 -1
  792. package/dist/tools/devTools.js +0 -2125
  793. package/dist/tools/devTools.js.map +0 -1
  794. package/dist/tools/diffUtils.d.ts +0 -36
  795. package/dist/tools/diffUtils.d.ts.map +0 -1
  796. package/dist/tools/diffUtils.js +0 -528
  797. package/dist/tools/diffUtils.js.map +0 -1
  798. package/dist/tools/editTools.d.ts +0 -29
  799. package/dist/tools/editTools.d.ts.map +0 -1
  800. package/dist/tools/editTools.js +0 -419
  801. package/dist/tools/editTools.js.map +0 -1
  802. package/dist/tools/emailTools.d.ts +0 -21
  803. package/dist/tools/emailTools.d.ts.map +0 -1
  804. package/dist/tools/emailTools.js +0 -449
  805. package/dist/tools/emailTools.js.map +0 -1
  806. package/dist/tools/enhancedCodeIntelligenceTools.d.ts +0 -27
  807. package/dist/tools/enhancedCodeIntelligenceTools.d.ts.map +0 -1
  808. package/dist/tools/enhancedCodeIntelligenceTools.js +0 -418
  809. package/dist/tools/enhancedCodeIntelligenceTools.js.map +0 -1
  810. package/dist/tools/enhancedDevWorkflowTools.d.ts +0 -15
  811. package/dist/tools/enhancedDevWorkflowTools.d.ts.map +0 -1
  812. package/dist/tools/enhancedDevWorkflowTools.js +0 -303
  813. package/dist/tools/enhancedDevWorkflowTools.js.map +0 -1
  814. package/dist/tools/fileTools.d.ts +0 -3
  815. package/dist/tools/fileTools.d.ts.map +0 -1
  816. package/dist/tools/fileTools.js +0 -334
  817. package/dist/tools/fileTools.js.map +0 -1
  818. package/dist/tools/frontendTestingTools.d.ts +0 -35
  819. package/dist/tools/frontendTestingTools.d.ts.map +0 -1
  820. package/dist/tools/frontendTestingTools.js +0 -1254
  821. package/dist/tools/frontendTestingTools.js.map +0 -1
  822. package/dist/tools/globTools.d.ts +0 -15
  823. package/dist/tools/globTools.d.ts.map +0 -1
  824. package/dist/tools/globTools.js +0 -174
  825. package/dist/tools/globTools.js.map +0 -1
  826. package/dist/tools/grepTools.d.ts +0 -19
  827. package/dist/tools/grepTools.d.ts.map +0 -1
  828. package/dist/tools/grepTools.js +0 -358
  829. package/dist/tools/grepTools.js.map +0 -1
  830. package/dist/tools/interactionTools.d.ts +0 -13
  831. package/dist/tools/interactionTools.d.ts.map +0 -1
  832. package/dist/tools/interactionTools.js +0 -171
  833. package/dist/tools/interactionTools.js.map +0 -1
  834. package/dist/tools/learnTools.d.ts +0 -152
  835. package/dist/tools/learnTools.d.ts.map +0 -1
  836. package/dist/tools/learnTools.js +0 -1942
  837. package/dist/tools/learnTools.js.map +0 -1
  838. package/dist/tools/localExplore.d.ts +0 -225
  839. package/dist/tools/localExplore.d.ts.map +0 -1
  840. package/dist/tools/localExplore.js +0 -1291
  841. package/dist/tools/localExplore.js.map +0 -1
  842. package/dist/tools/notebookEditTools.d.ts +0 -15
  843. package/dist/tools/notebookEditTools.d.ts.map +0 -1
  844. package/dist/tools/notebookEditTools.js +0 -197
  845. package/dist/tools/notebookEditTools.js.map +0 -1
  846. package/dist/tools/planningTools.d.ts +0 -21
  847. package/dist/tools/planningTools.d.ts.map +0 -1
  848. package/dist/tools/planningTools.js +0 -185
  849. package/dist/tools/planningTools.js.map +0 -1
  850. package/dist/tools/refactoringTools.d.ts +0 -3
  851. package/dist/tools/refactoringTools.d.ts.map +0 -1
  852. package/dist/tools/refactoringTools.js +0 -294
  853. package/dist/tools/refactoringTools.js.map +0 -1
  854. package/dist/tools/repoChecksTools.d.ts +0 -3
  855. package/dist/tools/repoChecksTools.d.ts.map +0 -1
  856. package/dist/tools/repoChecksTools.js +0 -161
  857. package/dist/tools/repoChecksTools.js.map +0 -1
  858. package/dist/tools/searchTools.d.ts +0 -3
  859. package/dist/tools/searchTools.d.ts.map +0 -1
  860. package/dist/tools/searchTools.js +0 -207
  861. package/dist/tools/searchTools.js.map +0 -1
  862. package/dist/tools/skillTools.d.ts +0 -8
  863. package/dist/tools/skillTools.d.ts.map +0 -1
  864. package/dist/tools/skillTools.js +0 -178
  865. package/dist/tools/skillTools.js.map +0 -1
  866. package/dist/tools/softwareEngineeringTools.d.ts +0 -7
  867. package/dist/tools/softwareEngineeringTools.d.ts.map +0 -1
  868. package/dist/tools/softwareEngineeringTools.js +0 -338
  869. package/dist/tools/softwareEngineeringTools.js.map +0 -1
  870. package/dist/tools/taskManagementTools.d.ts +0 -10
  871. package/dist/tools/taskManagementTools.d.ts.map +0 -1
  872. package/dist/tools/taskManagementTools.js +0 -157
  873. package/dist/tools/taskManagementTools.js.map +0 -1
  874. package/dist/tools/testingTools.d.ts +0 -3
  875. package/dist/tools/testingTools.d.ts.map +0 -1
  876. package/dist/tools/testingTools.js +0 -233
  877. package/dist/tools/testingTools.js.map +0 -1
  878. package/dist/tools/validationTools.d.ts +0 -7
  879. package/dist/tools/validationTools.d.ts.map +0 -1
  880. package/dist/tools/validationTools.js +0 -344
  881. package/dist/tools/validationTools.js.map +0 -1
  882. package/dist/tools/webTools.d.ts +0 -3
  883. package/dist/tools/webTools.d.ts.map +0 -1
  884. package/dist/tools/webTools.js +0 -502
  885. package/dist/tools/webTools.js.map +0 -1
  886. package/dist/ui/ShellUIAdapter.d.ts +0 -194
  887. package/dist/ui/ShellUIAdapter.d.ts.map +0 -1
  888. package/dist/ui/ShellUIAdapter.js +0 -1069
  889. package/dist/ui/ShellUIAdapter.js.map +0 -1
  890. package/dist/ui/UnifiedUIController.d.ts +0 -70
  891. package/dist/ui/UnifiedUIController.d.ts.map +0 -1
  892. package/dist/ui/UnifiedUIController.js +0 -190
  893. package/dist/ui/UnifiedUIController.js.map +0 -1
  894. package/dist/ui/animation/AnimationScheduler.d.ts +0 -192
  895. package/dist/ui/animation/AnimationScheduler.d.ts.map +0 -1
  896. package/dist/ui/animation/AnimationScheduler.js +0 -432
  897. package/dist/ui/animation/AnimationScheduler.js.map +0 -1
  898. package/dist/ui/codeHighlighter.d.ts +0 -6
  899. package/dist/ui/codeHighlighter.d.ts.map +0 -1
  900. package/dist/ui/codeHighlighter.js +0 -855
  901. package/dist/ui/codeHighlighter.js.map +0 -1
  902. package/dist/ui/compactRenderer.d.ts +0 -139
  903. package/dist/ui/compactRenderer.d.ts.map +0 -1
  904. package/dist/ui/compactRenderer.js +0 -398
  905. package/dist/ui/compactRenderer.js.map +0 -1
  906. package/dist/ui/designSystem.d.ts +0 -26
  907. package/dist/ui/designSystem.d.ts.map +0 -1
  908. package/dist/ui/designSystem.js +0 -122
  909. package/dist/ui/designSystem.js.map +0 -1
  910. package/dist/ui/display.d.ts +0 -324
  911. package/dist/ui/display.d.ts.map +0 -1
  912. package/dist/ui/display.js +0 -1328
  913. package/dist/ui/display.js.map +0 -1
  914. package/dist/ui/errorFormatter.d.ts +0 -54
  915. package/dist/ui/errorFormatter.d.ts.map +0 -1
  916. package/dist/ui/errorFormatter.js +0 -251
  917. package/dist/ui/errorFormatter.js.map +0 -1
  918. package/dist/ui/globalWriteLock.d.ts +0 -38
  919. package/dist/ui/globalWriteLock.d.ts.map +0 -1
  920. package/dist/ui/globalWriteLock.js +0 -54
  921. package/dist/ui/globalWriteLock.js.map +0 -1
  922. package/dist/ui/inPlaceUpdater.d.ts +0 -181
  923. package/dist/ui/inPlaceUpdater.d.ts.map +0 -1
  924. package/dist/ui/inPlaceUpdater.js +0 -515
  925. package/dist/ui/inPlaceUpdater.js.map +0 -1
  926. package/dist/ui/interrupts/InterruptManager.d.ts +0 -142
  927. package/dist/ui/interrupts/InterruptManager.d.ts.map +0 -1
  928. package/dist/ui/interrupts/InterruptManager.js +0 -439
  929. package/dist/ui/interrupts/InterruptManager.js.map +0 -1
  930. package/dist/ui/layout.d.ts +0 -17
  931. package/dist/ui/layout.d.ts.map +0 -1
  932. package/dist/ui/layout.js +0 -140
  933. package/dist/ui/layout.js.map +0 -1
  934. package/dist/ui/orchestration/StatusOrchestrator.d.ts +0 -156
  935. package/dist/ui/orchestration/StatusOrchestrator.d.ts.map +0 -1
  936. package/dist/ui/orchestration/StatusOrchestrator.js +0 -406
  937. package/dist/ui/orchestration/StatusOrchestrator.js.map +0 -1
  938. package/dist/ui/orchestration/UIUpdateCoordinator.d.ts +0 -77
  939. package/dist/ui/orchestration/UIUpdateCoordinator.d.ts.map +0 -1
  940. package/dist/ui/orchestration/UIUpdateCoordinator.js +0 -265
  941. package/dist/ui/orchestration/UIUpdateCoordinator.js.map +0 -1
  942. package/dist/ui/outputMode.d.ts +0 -22
  943. package/dist/ui/outputMode.d.ts.map +0 -1
  944. package/dist/ui/outputMode.js +0 -40
  945. package/dist/ui/outputMode.js.map +0 -1
  946. package/dist/ui/richText.d.ts +0 -6
  947. package/dist/ui/richText.d.ts.map +0 -1
  948. package/dist/ui/richText.js +0 -391
  949. package/dist/ui/richText.js.map +0 -1
  950. package/dist/ui/shortcutsHelp.d.ts +0 -39
  951. package/dist/ui/shortcutsHelp.d.ts.map +0 -1
  952. package/dist/ui/shortcutsHelp.js +0 -152
  953. package/dist/ui/shortcutsHelp.js.map +0 -1
  954. package/dist/ui/streamingFormatter.d.ts +0 -17
  955. package/dist/ui/streamingFormatter.d.ts.map +0 -1
  956. package/dist/ui/streamingFormatter.js +0 -71
  957. package/dist/ui/streamingFormatter.js.map +0 -1
  958. package/dist/ui/telemetry/UITelemetry.d.ts +0 -181
  959. package/dist/ui/telemetry/UITelemetry.d.ts.map +0 -1
  960. package/dist/ui/telemetry/UITelemetry.js +0 -446
  961. package/dist/ui/telemetry/UITelemetry.js.map +0 -1
  962. package/dist/ui/textHighlighter.d.ts +0 -83
  963. package/dist/ui/textHighlighter.d.ts.map +0 -1
  964. package/dist/ui/textHighlighter.js +0 -267
  965. package/dist/ui/textHighlighter.js.map +0 -1
  966. package/dist/ui/theme.d.ts +0 -208
  967. package/dist/ui/theme.d.ts.map +0 -1
  968. package/dist/ui/theme.js +0 -249
  969. package/dist/ui/theme.js.map +0 -1
  970. package/dist/ui/toolDisplay.d.ts +0 -195
  971. package/dist/ui/toolDisplay.d.ts.map +0 -1
  972. package/dist/ui/toolDisplay.js +0 -1527
  973. package/dist/ui/toolDisplay.js.map +0 -1
  974. package/dist/ui/unified/index.d.ts +0 -50
  975. package/dist/ui/unified/index.d.ts.map +0 -1
  976. package/dist/ui/unified/index.js +0 -77
  977. package/dist/ui/unified/index.js.map +0 -1
  978. package/dist/ui/unified/layout.d.ts +0 -12
  979. package/dist/ui/unified/layout.d.ts.map +0 -1
  980. package/dist/ui/unified/layout.js +0 -96
  981. package/dist/ui/unified/layout.js.map +0 -1
  982. package/dist/ui/writeLock.d.ts +0 -65
  983. package/dist/ui/writeLock.d.ts.map +0 -1
  984. package/dist/ui/writeLock.js +0 -114
  985. package/dist/ui/writeLock.js.map +0 -1
  986. package/dist/utils/asyncUtils.d.ts +0 -95
  987. package/dist/utils/asyncUtils.d.ts.map +0 -1
  988. package/dist/utils/asyncUtils.js +0 -286
  989. package/dist/utils/asyncUtils.js.map +0 -1
  990. package/dist/utils/errorUtils.d.ts +0 -16
  991. package/dist/utils/errorUtils.d.ts.map +0 -1
  992. package/dist/utils/errorUtils.js +0 -66
  993. package/dist/utils/errorUtils.js.map +0 -1
  994. package/dist/utils/frontmatter.d.ts +0 -10
  995. package/dist/utils/frontmatter.d.ts.map +0 -1
  996. package/dist/utils/frontmatter.js +0 -78
  997. package/dist/utils/frontmatter.js.map +0 -1
  998. package/dist/utils/planFormatter.d.ts +0 -34
  999. package/dist/utils/planFormatter.d.ts.map +0 -1
  1000. package/dist/utils/planFormatter.js +0 -140
  1001. package/dist/utils/planFormatter.js.map +0 -1
  1002. package/dist/workspace.d.ts +0 -8
  1003. package/dist/workspace.d.ts.map +0 -1
  1004. package/dist/workspace.js +0 -107
  1005. package/dist/workspace.js.map +0 -1
  1006. package/dist/workspace.validator.d.ts +0 -49
  1007. package/dist/workspace.validator.d.ts.map +0 -1
  1008. package/dist/workspace.validator.js +0 -214
  1009. package/dist/workspace.validator.js.map +0 -1
@@ -1,1291 +0,0 @@
1
- /**
2
- * Local Explore Engine - Claude Code-style codebase exploration.
3
- *
4
- * This module implements an exploration system that mimics how Claude Code's
5
- * explore agent works. It can work fully offline OR use the active AI model
6
- * for enhanced query understanding and result summarization.
7
- *
8
- * Features:
9
- * 1. Codebase indexing - Build a searchable index of files, functions, classes, imports
10
- * 2. Query processing - Parse natural language questions and map to search strategies
11
- * 3. Smart search - Combine glob, grep, and structure analysis
12
- * 4. Answer generation - Format results in a Claude Code-like way
13
- * 5. Caching - Store the index for fast subsequent queries
14
- * 6. AI Enhancement (optional) - Use the active model for better query understanding
15
- */
16
- import { readFileSync, existsSync, readdirSync, statSync, writeFileSync, mkdirSync } from 'node:fs';
17
- import { join, relative, extname, basename, dirname } from 'node:path';
18
- import { createHash } from 'node:crypto';
19
- import { homedir } from 'node:os';
20
- import { buildError } from '../core/errors.js';
21
- // =====================================================
22
- // Global AI Enhancer Registry
23
- // =====================================================
24
- /**
25
- * Global registry for the AI enhancer.
26
- * This allows the explore tool to automatically use the active AI model
27
- * without requiring explicit wiring at tool creation time.
28
- *
29
- * Usage:
30
- * 1. When a session starts, call: setGlobalAIEnhancer(enhancerFn)
31
- * 2. When the session ends, call: setGlobalAIEnhancer(null)
32
- * 3. The explore tool will automatically use the registered enhancer
33
- */
34
- let globalAIEnhancer = null;
35
- /**
36
- * Register the global AI enhancer function.
37
- * Call this when an AI session becomes available.
38
- */
39
- export function setGlobalAIEnhancer(enhancer) {
40
- globalAIEnhancer = enhancer;
41
- }
42
- /**
43
- * Get the current global AI enhancer.
44
- */
45
- export function getGlobalAIEnhancer() {
46
- return globalAIEnhancer;
47
- }
48
- /**
49
- * Check if an AI enhancer is available (globally or in context).
50
- */
51
- function resolveAIEnhancer(context) {
52
- return context.aiEnhancer ?? globalAIEnhancer ?? undefined;
53
- }
54
- // =====================================================
55
- // Constants
56
- // =====================================================
57
- const INDEX_VERSION = 1;
58
- const CACHE_DIR = join(homedir(), '.erosolar', 'explore-cache');
59
- const IGNORED_DIRS = new Set([
60
- 'node_modules', '.git', '.svn', '.hg', 'dist', 'build', 'out',
61
- '.next', '.nuxt', '.output', 'coverage', '.nyc_output', '.cache',
62
- '.turbo', '.vercel', '.netlify', '__pycache__', '.pytest_cache',
63
- '.mypy_cache', '.ruff_cache', 'venv', '.venv', 'env', '.env',
64
- 'target', 'vendor', '.idea', '.vscode',
65
- ]);
66
- const LANGUAGE_MAP = {
67
- '.ts': 'TypeScript', '.tsx': 'TypeScript React', '.js': 'JavaScript',
68
- '.jsx': 'JavaScript React', '.mjs': 'JavaScript', '.cjs': 'JavaScript',
69
- '.py': 'Python', '.rs': 'Rust', '.go': 'Go', '.java': 'Java',
70
- '.kt': 'Kotlin', '.rb': 'Ruby', '.php': 'PHP', '.cs': 'C#',
71
- '.cpp': 'C++', '.c': 'C', '.h': 'C/C++ Header', '.swift': 'Swift',
72
- '.vue': 'Vue', '.svelte': 'Svelte', '.md': 'Markdown',
73
- '.json': 'JSON', '.yaml': 'YAML', '.yml': 'YAML', '.toml': 'TOML',
74
- };
75
- // Query type detection patterns
76
- const QUERY_PATTERNS = [
77
- { pattern: /where\s+(?:is|are|can\s+i\s+find)\s+.*(file|module|component)/i, type: 'find_file' },
78
- { pattern: /find\s+(?:the\s+)?(?:file|module|component)/i, type: 'find_file' },
79
- { pattern: /which\s+file/i, type: 'find_file' },
80
- { pattern: /where\s+(?:is|are)\s+(?:the\s+)?(\w+)\s+(?:defined|declared|implemented)/i, type: 'find_symbol' },
81
- { pattern: /find\s+(?:the\s+)?(?:function|class|type|interface)\s+/i, type: 'find_symbol' },
82
- { pattern: /definition\s+of/i, type: 'find_symbol' },
83
- { pattern: /where\s+(?:is\s+)?(\w+)\s+used/i, type: 'find_usage' },
84
- { pattern: /who\s+(?:uses|calls|imports)/i, type: 'find_usage' },
85
- { pattern: /usages?\s+of/i, type: 'find_usage' },
86
- { pattern: /how\s+(?:does|do|is)/i, type: 'understand' },
87
- { pattern: /explain\s+(?:the\s+)?(?:how|what)/i, type: 'explain' },
88
- { pattern: /what\s+(?:is|are|does)/i, type: 'explain' },
89
- { pattern: /architecture|structure|organization|layout/i, type: 'architecture' },
90
- { pattern: /dependencies|imports|relationships/i, type: 'dependencies' },
91
- { pattern: /./, type: 'search' }, // Default fallback
92
- ];
93
- // =====================================================
94
- // Local Explore Engine
95
- // =====================================================
96
- export class LocalExploreEngine {
97
- workingDir;
98
- index = null;
99
- indexPath;
100
- context;
101
- constructor(workingDir, context = {}) {
102
- this.workingDir = workingDir;
103
- this.context = context;
104
- const hash = createHash('md5').update(workingDir).digest('hex').slice(0, 12);
105
- this.indexPath = join(CACHE_DIR, `index-${hash}.json`);
106
- }
107
- /**
108
- * Set or update the AI enhancer context.
109
- * Call this to enable AI-enhanced exploration with the active model.
110
- */
111
- setContext(context) {
112
- this.context = { ...this.context, ...context };
113
- }
114
- /**
115
- * Initialize or load the codebase index.
116
- * Returns true if a fresh index was built.
117
- */
118
- async initialize(forceRebuild = false) {
119
- if (!forceRebuild && this.tryLoadCache()) {
120
- return { rebuilt: false, fileCount: this.index.files.length };
121
- }
122
- this.index = await this.buildIndex();
123
- this.saveCache();
124
- return { rebuilt: true, fileCount: this.index.files.length };
125
- }
126
- /**
127
- * Process a natural language query and return exploration results.
128
- * Automatically uses the active AI model for better results when available.
129
- */
130
- async explore(query, options) {
131
- const startTime = Date.now();
132
- if (!this.index) {
133
- await this.initialize();
134
- }
135
- // Resolve AI enhancer (from context or global registry)
136
- const useAI = options?.useAI !== false; // Default to true
137
- const aiEnhancer = useAI ? resolveAIEnhancer(this.context) : undefined;
138
- // Use AI for query parsing if available and enabled
139
- let parsedQuery;
140
- if (aiEnhancer && this.context.aiQueryParsing !== false) {
141
- parsedQuery = await this.parseQueryWithAI(query, aiEnhancer);
142
- }
143
- else {
144
- parsedQuery = this.parseQuery(query);
145
- }
146
- const result = await this.executeQuery(parsedQuery);
147
- // Use AI for result summarization if available and enabled
148
- if (aiEnhancer && this.context.aiSummarization !== false && result.files.length + result.symbols.length > 0) {
149
- result.answer = await this.summarizeWithAI(query, result, aiEnhancer);
150
- }
151
- result.timeTaken = Date.now() - startTime;
152
- return result;
153
- }
154
- /**
155
- * Use AI to parse a natural language query into structured exploration.
156
- */
157
- async parseQueryWithAI(query, aiEnhancer) {
158
- try {
159
- const prompt = `You are helping parse a codebase exploration query. Extract the intent and keywords.
160
-
161
- Query: "${query}"
162
-
163
- Respond in this exact JSON format (no markdown, just JSON):
164
- {
165
- "type": "find_file" | "find_symbol" | "find_usage" | "understand" | "explain" | "search" | "architecture" | "dependencies",
166
- "keywords": ["keyword1", "keyword2"],
167
- "symbolKind": "function" | "class" | "type" | "interface" | null,
168
- "filePattern": "pattern or null"
169
- }
170
-
171
- Types:
172
- - find_file: Looking for specific files
173
- - find_symbol: Looking for function/class/type definitions
174
- - find_usage: Finding where something is used/called
175
- - understand/explain: Understanding how something works
176
- - architecture: Codebase structure overview
177
- - dependencies: Import/export relationships
178
- - search: General keyword search`;
179
- const response = await aiEnhancer(prompt);
180
- // Parse the JSON response
181
- const jsonMatch = response.match(/\{[\s\S]*\}/);
182
- if (jsonMatch) {
183
- const parsed = JSON.parse(jsonMatch[0]);
184
- return {
185
- type: parsed.type || 'search',
186
- keywords: Array.isArray(parsed.keywords) ? parsed.keywords : [query],
187
- filters: {
188
- symbolKind: parsed.symbolKind || undefined,
189
- filePattern: parsed.filePattern || undefined,
190
- limit: 10,
191
- },
192
- originalQuery: query,
193
- };
194
- }
195
- }
196
- catch {
197
- // Fall back to rule-based parsing
198
- }
199
- return this.parseQuery(query);
200
- }
201
- /**
202
- * Use AI to generate a natural language summary of exploration results.
203
- */
204
- async summarizeWithAI(query, result, aiEnhancer) {
205
- try {
206
- const filesInfo = result.files.slice(0, 5).map(f => `- ${f.path}: ${f.reason}`).join('\n');
207
- const symbolsInfo = result.symbols.slice(0, 5).map(s => `- ${s.name} (${s.kind}) at ${s.file}:${s.line}`).join('\n');
208
- const prompt = `Summarize these codebase exploration results concisely.
209
-
210
- User asked: "${query}"
211
-
212
- Files found (${result.files.length} total):
213
- ${filesInfo || 'None'}
214
-
215
- Symbols found (${result.symbols.length} total):
216
- ${symbolsInfo || 'None'}
217
-
218
- Provide a helpful 2-4 sentence summary that directly answers the user's question. Include the most relevant file paths. Be specific and actionable.`;
219
- const summary = await aiEnhancer(prompt);
220
- return summary.trim();
221
- }
222
- catch {
223
- return result.answer;
224
- }
225
- }
226
- /**
227
- * Get a quick overview of the codebase.
228
- */
229
- getOverview() {
230
- if (!this.index) {
231
- return 'Index not loaded. Call initialize() first.';
232
- }
233
- const idx = this.index;
234
- const lines = [
235
- `# Codebase Overview: ${basename(idx.rootDir)}`,
236
- '',
237
- `**Files indexed:** ${idx.files.length}`,
238
- `**Last indexed:** ${idx.createdAt}`,
239
- '',
240
- '## Quick Access',
241
- '',
242
- ];
243
- if (idx.quickLookup.entryPoints.length) {
244
- lines.push(`**Entry Points:** ${idx.quickLookup.entryPoints.slice(0, 5).join(', ')}`);
245
- }
246
- if (idx.quickLookup.configFiles.length) {
247
- lines.push(`**Config Files:** ${idx.quickLookup.configFiles.slice(0, 5).join(', ')}`);
248
- }
249
- if (idx.quickLookup.testFiles.length) {
250
- lines.push(`**Test Files:** ${idx.quickLookup.testFiles.length} files`);
251
- }
252
- lines.push('', '## Architecture');
253
- if (idx.patterns.architecture.length) {
254
- lines.push(`**Detected:** ${idx.patterns.architecture.join(', ')}`);
255
- }
256
- if (idx.patterns.designPatterns.length) {
257
- lines.push(`**Patterns:** ${idx.patterns.designPatterns.slice(0, 5).join(', ')}`);
258
- }
259
- return lines.join('\n');
260
- }
261
- // =====================================================
262
- // Private Methods
263
- // =====================================================
264
- tryLoadCache() {
265
- try {
266
- if (!existsSync(this.indexPath)) {
267
- return false;
268
- }
269
- const content = readFileSync(this.indexPath, 'utf-8');
270
- const cached = JSON.parse(content);
271
- // Check version and hash
272
- if (cached.version !== INDEX_VERSION) {
273
- return false;
274
- }
275
- // Quick validation: check if file count roughly matches
276
- const currentFileCount = this.countFiles(this.workingDir, 0, 4);
277
- const cachedFileCount = cached.files.length;
278
- const drift = Math.abs(currentFileCount - cachedFileCount);
279
- // Allow 10% drift before rebuilding
280
- if (drift > cachedFileCount * 0.1 && drift > 10) {
281
- return false;
282
- }
283
- // Restore Map objects from JSON
284
- this.index = {
285
- ...cached,
286
- symbols: {
287
- byName: new Map(Object.entries(cached.symbols.byName || {})),
288
- byKind: new Map(Object.entries(cached.symbols.byKind || {})),
289
- byFile: new Map(Object.entries(cached.symbols.byFile || {})),
290
- },
291
- imports: {
292
- imports: new Map(Object.entries(cached.imports.imports || {})),
293
- importedBy: new Map(Object.entries(cached.imports.importedBy || {})),
294
- },
295
- };
296
- return true;
297
- }
298
- catch {
299
- return false;
300
- }
301
- }
302
- saveCache() {
303
- try {
304
- mkdirSync(CACHE_DIR, { recursive: true });
305
- // Convert Maps to objects for JSON serialization
306
- const serializable = {
307
- ...this.index,
308
- symbols: {
309
- byName: Object.fromEntries(this.index.symbols.byName),
310
- byKind: Object.fromEntries(this.index.symbols.byKind),
311
- byFile: Object.fromEntries(this.index.symbols.byFile),
312
- },
313
- imports: {
314
- imports: Object.fromEntries(this.index.imports.imports),
315
- importedBy: Object.fromEntries(this.index.imports.importedBy),
316
- },
317
- };
318
- writeFileSync(this.indexPath, JSON.stringify(serializable, null, 2));
319
- }
320
- catch {
321
- // Ignore cache save errors
322
- }
323
- }
324
- countFiles(dir, depth, maxDepth) {
325
- if (depth >= maxDepth)
326
- return 0;
327
- let count = 0;
328
- try {
329
- const entries = readdirSync(dir, { withFileTypes: true });
330
- for (const entry of entries) {
331
- if (entry.name.startsWith('.') || IGNORED_DIRS.has(entry.name))
332
- continue;
333
- if (entry.isDirectory()) {
334
- count += this.countFiles(join(dir, entry.name), depth + 1, maxDepth);
335
- }
336
- else if (entry.isFile() && LANGUAGE_MAP[extname(entry.name).toLowerCase()]) {
337
- count++;
338
- }
339
- }
340
- }
341
- catch {
342
- // Ignore errors
343
- }
344
- return count;
345
- }
346
- async buildIndex() {
347
- const files = [];
348
- const symbolsByName = new Map();
349
- const symbolsByKind = new Map();
350
- const symbolsByFile = new Map();
351
- const importsMap = new Map();
352
- const importedByMap = new Map();
353
- const quickLookup = {
354
- entryPoints: [],
355
- configFiles: [],
356
- testFiles: [],
357
- componentFiles: [],
358
- typeFiles: [],
359
- utilityFiles: [],
360
- routeFiles: [],
361
- modelFiles: [],
362
- };
363
- const patterns = {
364
- architecture: [],
365
- designPatterns: [],
366
- namingConventions: [],
367
- testPatterns: [],
368
- componentPatterns: [],
369
- };
370
- // Collect all files
371
- const allFiles = this.collectFiles(this.workingDir, 0, 6);
372
- // Index each file
373
- for (const filePath of allFiles) {
374
- try {
375
- const indexed = this.indexFile(filePath);
376
- if (!indexed)
377
- continue;
378
- files.push(indexed);
379
- // Build symbol index
380
- const relPath = indexed.path;
381
- const fileSymbols = [];
382
- for (const sym of [...indexed.symbols.functions, ...indexed.symbols.classes,
383
- ...indexed.symbols.interfaces, ...indexed.symbols.types]) {
384
- const location = {
385
- file: relPath,
386
- line: sym.line,
387
- kind: sym.kind,
388
- signature: sym.signature,
389
- };
390
- // By name
391
- const existing = symbolsByName.get(sym.name.toLowerCase()) || [];
392
- existing.push(location);
393
- symbolsByName.set(sym.name.toLowerCase(), existing);
394
- // By kind
395
- const byKind = symbolsByKind.get(sym.kind) || [];
396
- byKind.push(location);
397
- symbolsByKind.set(sym.kind, byKind);
398
- fileSymbols.push(sym.name);
399
- }
400
- symbolsByFile.set(relPath, fileSymbols);
401
- // Build import graph
402
- importsMap.set(relPath, indexed.imports);
403
- for (const imp of indexed.imports) {
404
- const existing = importedByMap.get(imp) || [];
405
- existing.push(relPath);
406
- importedByMap.set(imp, existing);
407
- }
408
- // Categorize files
409
- this.categorizeFile(indexed, quickLookup);
410
- }
411
- catch {
412
- // Skip files we can't index
413
- }
414
- }
415
- // Detect patterns
416
- this.detectPatterns(files, patterns);
417
- // Create hash for cache validation
418
- const hash = createHash('md5')
419
- .update(files.map(f => f.path).sort().join('\n'))
420
- .digest('hex');
421
- return {
422
- version: INDEX_VERSION,
423
- createdAt: new Date().toISOString(),
424
- rootDir: this.workingDir,
425
- hash,
426
- files,
427
- symbols: {
428
- byName: symbolsByName,
429
- byKind: symbolsByKind,
430
- byFile: symbolsByFile,
431
- },
432
- imports: {
433
- imports: importsMap,
434
- importedBy: importedByMap,
435
- },
436
- patterns,
437
- quickLookup,
438
- };
439
- }
440
- collectFiles(dir, depth, maxDepth) {
441
- if (depth >= maxDepth)
442
- return [];
443
- const files = [];
444
- try {
445
- const entries = readdirSync(dir, { withFileTypes: true });
446
- for (const entry of entries) {
447
- if (entry.name.startsWith('.') || IGNORED_DIRS.has(entry.name))
448
- continue;
449
- const fullPath = join(dir, entry.name);
450
- if (entry.isDirectory()) {
451
- files.push(...this.collectFiles(fullPath, depth + 1, maxDepth));
452
- }
453
- else if (entry.isFile()) {
454
- const ext = extname(entry.name).toLowerCase();
455
- if (LANGUAGE_MAP[ext]) {
456
- files.push(fullPath);
457
- }
458
- }
459
- }
460
- }
461
- catch {
462
- // Ignore errors
463
- }
464
- return files;
465
- }
466
- indexFile(filePath) {
467
- try {
468
- const stat = statSync(filePath);
469
- if (stat.size > 500000)
470
- return null; // Skip large files
471
- const content = readFileSync(filePath, 'utf-8');
472
- const lines = content.split('\n');
473
- const ext = extname(filePath).toLowerCase();
474
- const language = LANGUAGE_MAP[ext] || 'Unknown';
475
- const relPath = relative(this.workingDir, filePath);
476
- const symbols = this.extractSymbols(content, ext);
477
- const imports = this.extractImports(content, ext);
478
- const exports = this.extractExports(content, ext);
479
- const purpose = this.inferPurpose(basename(filePath), content, symbols);
480
- const tags = this.generateTags(relPath, content, symbols, purpose);
481
- return {
482
- path: relPath,
483
- language,
484
- size: stat.size,
485
- lineCount: lines.length,
486
- lastModified: stat.mtimeMs,
487
- symbols,
488
- imports,
489
- exports,
490
- purpose,
491
- tags,
492
- };
493
- }
494
- catch {
495
- return null;
496
- }
497
- }
498
- extractSymbols(content, ext) {
499
- const symbols = {
500
- functions: [],
501
- classes: [],
502
- interfaces: [],
503
- types: [],
504
- constants: [],
505
- variables: [],
506
- };
507
- if (!['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs'].includes(ext)) {
508
- return symbols; // Only analyze JS/TS for now
509
- }
510
- const lines = content.split('\n');
511
- // Extract functions
512
- const funcRegex = /(?:export\s+)?(?:async\s+)?function\s+(\w+)\s*\(([^)]*)\)/g;
513
- let match;
514
- while ((match = funcRegex.exec(content)) !== null) {
515
- const line = content.substring(0, match.index).split('\n').length;
516
- symbols.functions.push({
517
- name: match[1] || '',
518
- line,
519
- kind: 'function',
520
- isExported: content.substring(match.index - 20, match.index).includes('export'),
521
- signature: `${match[1]}(${match[2]})`,
522
- });
523
- }
524
- // Arrow functions
525
- const arrowRegex = /(?:export\s+)?(?:const|let)\s+(\w+)\s*=\s*(?:async\s+)?\(?([^)=]*)\)?\s*=>/g;
526
- while ((match = arrowRegex.exec(content)) !== null) {
527
- const line = content.substring(0, match.index).split('\n').length;
528
- symbols.functions.push({
529
- name: match[1] || '',
530
- line,
531
- kind: 'function',
532
- isExported: content.substring(match.index - 20, match.index).includes('export'),
533
- signature: `${match[1]}(${match[2] || ''})`,
534
- });
535
- }
536
- // Classes
537
- const classRegex = /(?:export\s+)?class\s+(\w+)(?:\s+extends\s+(\w+))?/g;
538
- while ((match = classRegex.exec(content)) !== null) {
539
- const line = content.substring(0, match.index).split('\n').length;
540
- symbols.classes.push({
541
- name: match[1] || '',
542
- line,
543
- kind: 'class',
544
- isExported: content.substring(match.index - 20, match.index).includes('export'),
545
- signature: match[2] ? `class ${match[1]} extends ${match[2]}` : `class ${match[1]}`,
546
- });
547
- }
548
- // Interfaces
549
- const interfaceRegex = /(?:export\s+)?interface\s+(\w+)(?:\s+extends\s+([^{]+))?/g;
550
- while ((match = interfaceRegex.exec(content)) !== null) {
551
- const line = content.substring(0, match.index).split('\n').length;
552
- symbols.interfaces.push({
553
- name: match[1] || '',
554
- line,
555
- kind: 'interface',
556
- isExported: content.substring(match.index - 20, match.index).includes('export'),
557
- signature: `interface ${match[1]}`,
558
- });
559
- }
560
- // Types
561
- const typeRegex = /(?:export\s+)?type\s+(\w+)\s*=/g;
562
- while ((match = typeRegex.exec(content)) !== null) {
563
- const line = content.substring(0, match.index).split('\n').length;
564
- symbols.types.push({
565
- name: match[1] || '',
566
- line,
567
- kind: 'type',
568
- isExported: content.substring(match.index - 20, match.index).includes('export'),
569
- signature: `type ${match[1]}`,
570
- });
571
- }
572
- // Constants
573
- const constRegex = /(?:export\s+)?const\s+([A-Z][A-Z_0-9]+)\s*=/g;
574
- while ((match = constRegex.exec(content)) !== null) {
575
- const line = content.substring(0, match.index).split('\n').length;
576
- symbols.constants.push({
577
- name: match[1] || '',
578
- line,
579
- kind: 'const',
580
- isExported: content.substring(match.index - 20, match.index).includes('export'),
581
- });
582
- }
583
- return symbols;
584
- }
585
- extractImports(content, ext) {
586
- const imports = [];
587
- if (!['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs'].includes(ext)) {
588
- return imports;
589
- }
590
- // ES6 imports
591
- const importRegex = /import\s+.*?\s+from\s+['"]([^'"]+)['"]/g;
592
- let match;
593
- while ((match = importRegex.exec(content)) !== null) {
594
- const source = match[1] || '';
595
- if (source.startsWith('.')) {
596
- // Resolve relative imports
597
- imports.push(source);
598
- }
599
- }
600
- return imports;
601
- }
602
- extractExports(content, ext) {
603
- const exports = [];
604
- if (!['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs'].includes(ext)) {
605
- return exports;
606
- }
607
- // Named exports
608
- const namedExportRegex = /export\s+(?:const|let|var|function|class|interface|type|enum)\s+(\w+)/g;
609
- let match;
610
- while ((match = namedExportRegex.exec(content)) !== null) {
611
- if (match[1])
612
- exports.push(match[1]);
613
- }
614
- // Default export
615
- if (/export\s+default/.test(content)) {
616
- exports.push('default');
617
- }
618
- return exports;
619
- }
620
- inferPurpose(filename, content, symbols) {
621
- const lower = filename.toLowerCase();
622
- if (lower.includes('test') || lower.includes('spec'))
623
- return 'Test file';
624
- if (lower === 'index.ts' || lower === 'index.js')
625
- return 'Module entry point';
626
- if (lower.includes('config'))
627
- return 'Configuration';
628
- if (lower.includes('type') || lower.includes('interface'))
629
- return 'Type definitions';
630
- if (lower.includes('util') || lower.includes('helper'))
631
- return 'Utilities';
632
- if (lower.includes('hook'))
633
- return 'React hooks';
634
- if (lower.includes('context'))
635
- return 'Context provider';
636
- if (lower.includes('store') || lower.includes('reducer'))
637
- return 'State management';
638
- if (lower.includes('service'))
639
- return 'Business logic';
640
- if (lower.includes('api') || lower.includes('client'))
641
- return 'API client';
642
- if (lower.includes('route'))
643
- return 'Routes';
644
- if (lower.includes('middleware'))
645
- return 'Middleware';
646
- if (lower.includes('model') || lower.includes('entity'))
647
- return 'Data models';
648
- if (lower.includes('schema'))
649
- return 'Schema definitions';
650
- if (lower.includes('component'))
651
- return 'UI component';
652
- if (symbols.classes.length > 0)
653
- return `Class: ${symbols.classes[0]?.name}`;
654
- if (symbols.interfaces.length > 0)
655
- return `Types/Interfaces`;
656
- if (symbols.functions.length > 0)
657
- return `Functions: ${symbols.functions.slice(0, 3).map(f => f.name).join(', ')}`;
658
- return 'General module';
659
- }
660
- generateTags(path, content, symbols, purpose) {
661
- const tags = [];
662
- // Add purpose-based tags
663
- tags.push(purpose.toLowerCase().split(':')[0] || '');
664
- // Add path-based tags
665
- const parts = path.split('/');
666
- for (const part of parts.slice(0, -1)) {
667
- if (part && !part.startsWith('.')) {
668
- tags.push(part.toLowerCase());
669
- }
670
- }
671
- // Add symbol-based tags
672
- for (const sym of symbols.functions) {
673
- if (sym.isExported)
674
- tags.push(sym.name.toLowerCase());
675
- }
676
- for (const sym of symbols.classes) {
677
- if (sym.isExported)
678
- tags.push(sym.name.toLowerCase());
679
- }
680
- // Add content-based tags
681
- if (/useEffect|useState|useCallback/.test(content))
682
- tags.push('react', 'hooks');
683
- if (/async\s+function|await\s+/.test(content))
684
- tags.push('async');
685
- if (/express|fastify|koa/.test(content))
686
- tags.push('server', 'http');
687
- if (/import.*prisma|import.*mongoose/.test(content))
688
- tags.push('database');
689
- if (/import.*zod|import.*yup|import.*joi/.test(content))
690
- tags.push('validation');
691
- if (/describe\s*\(|it\s*\(|test\s*\(/.test(content))
692
- tags.push('test');
693
- return [...new Set(tags.filter(Boolean))];
694
- }
695
- categorizeFile(file, lookup) {
696
- const lower = file.path.toLowerCase();
697
- const name = basename(file.path).toLowerCase();
698
- // Entry points
699
- if (['index.ts', 'index.js', 'main.ts', 'main.js', 'app.ts', 'app.js'].includes(name)) {
700
- lookup.entryPoints.push(file.path);
701
- }
702
- // Config files
703
- if (name.includes('config') || name.includes('settings') || name.includes('.rc')) {
704
- lookup.configFiles.push(file.path);
705
- }
706
- // Test files
707
- if (lower.includes('test') || lower.includes('spec') || lower.includes('__tests__')) {
708
- lookup.testFiles.push(file.path);
709
- }
710
- // Component files
711
- if (lower.includes('component') || lower.includes('components/') ||
712
- file.language.includes('React')) {
713
- lookup.componentFiles.push(file.path);
714
- }
715
- // Type files
716
- if (lower.includes('type') || lower.includes('interface') || name.endsWith('.d.ts')) {
717
- lookup.typeFiles.push(file.path);
718
- }
719
- // Utility files
720
- if (lower.includes('util') || lower.includes('helper') || lower.includes('lib/')) {
721
- lookup.utilityFiles.push(file.path);
722
- }
723
- // Route files
724
- if (lower.includes('route') || lower.includes('api/')) {
725
- lookup.routeFiles.push(file.path);
726
- }
727
- // Model files
728
- if (lower.includes('model') || lower.includes('entity') || lower.includes('schema')) {
729
- lookup.modelFiles.push(file.path);
730
- }
731
- }
732
- detectPatterns(files, patterns) {
733
- const dirs = new Set();
734
- for (const file of files) {
735
- const dir = dirname(file.path);
736
- dirs.add(dir.split('/')[0] || dir);
737
- }
738
- // Detect architecture patterns
739
- if (dirs.has('src') && (dirs.has('components') || dirs.has('views'))) {
740
- patterns.architecture.push('Component-based');
741
- }
742
- if (dirs.has('api') || dirs.has('routes')) {
743
- patterns.architecture.push('API-driven');
744
- }
745
- if (dirs.has('services') && dirs.has('controllers')) {
746
- patterns.architecture.push('Layered');
747
- }
748
- if (dirs.has('domain') || dirs.has('entities')) {
749
- patterns.architecture.push('Domain-driven');
750
- }
751
- // Detect design patterns
752
- const allContent = files.slice(0, 50).map(f => {
753
- try {
754
- return readFileSync(join(this.workingDir, f.path), 'utf-8');
755
- }
756
- catch {
757
- return '';
758
- }
759
- }).join('\n');
760
- if (/singleton|getInstance/i.test(allContent))
761
- patterns.designPatterns.push('Singleton');
762
- if (/factory|create\w+/i.test(allContent))
763
- patterns.designPatterns.push('Factory');
764
- if (/observer|subscribe|emit/i.test(allContent))
765
- patterns.designPatterns.push('Observer');
766
- if (/strategy|\bstrategy\b/i.test(allContent))
767
- patterns.designPatterns.push('Strategy');
768
- if (/decorator|@\w+/i.test(allContent))
769
- patterns.designPatterns.push('Decorator');
770
- // Detect naming conventions
771
- const fileNames = files.map(f => basename(f.path, extname(f.path)));
772
- if (fileNames.some(n => /[a-z]+-[a-z]+/.test(n)))
773
- patterns.namingConventions.push('kebab-case');
774
- if (fileNames.some(n => /[a-z]+[A-Z]/.test(n)))
775
- patterns.namingConventions.push('camelCase');
776
- if (fileNames.some(n => /^[A-Z][a-z]+[A-Z]/.test(n)))
777
- patterns.namingConventions.push('PascalCase');
778
- if (fileNames.some(n => /[a-z]+_[a-z]+/.test(n)))
779
- patterns.namingConventions.push('snake_case');
780
- }
781
- parseQuery(query) {
782
- const normalized = query.trim().toLowerCase();
783
- let type = 'search';
784
- for (const { pattern, type: queryType } of QUERY_PATTERNS) {
785
- if (pattern.test(query)) {
786
- type = queryType;
787
- break;
788
- }
789
- }
790
- // Extract keywords
791
- const stopWords = new Set(['the', 'a', 'an', 'is', 'are', 'where', 'what', 'how', 'which', 'find', 'show', 'get', 'me', 'i', 'can', 'do', 'does', 'for', 'to', 'in', 'of']);
792
- const keywords = normalized
793
- .replace(/[^\w\s]/g, ' ')
794
- .split(/\s+/)
795
- .filter(w => w.length > 2 && !stopWords.has(w));
796
- // Extract filters from query
797
- const filters = { limit: 10 };
798
- // File pattern filter
799
- const fileMatch = query.match(/(?:in|from|file)\s+([^\s]+\.[a-z]+)/i);
800
- if (fileMatch) {
801
- filters.filePattern = fileMatch[1];
802
- }
803
- // Language filter
804
- const langMatch = query.match(/(typescript|javascript|python|rust|go)/i);
805
- if (langMatch) {
806
- filters.language = langMatch[1];
807
- }
808
- // Symbol kind filter
809
- const kindMatch = query.match(/(function|class|type|interface|constant)/i);
810
- if (kindMatch && kindMatch[1]) {
811
- filters.symbolKind = kindMatch[1].toLowerCase();
812
- }
813
- return {
814
- type,
815
- keywords,
816
- filters,
817
- originalQuery: query,
818
- };
819
- }
820
- async executeQuery(query) {
821
- const result = {
822
- query: query.originalQuery,
823
- queryType: query.type,
824
- files: [],
825
- symbols: [],
826
- answer: '',
827
- suggestions: [],
828
- timeTaken: 0,
829
- };
830
- switch (query.type) {
831
- case 'find_file':
832
- this.findFiles(query, result);
833
- break;
834
- case 'find_symbol':
835
- this.findSymbols(query, result);
836
- break;
837
- case 'find_usage':
838
- this.findUsages(query, result);
839
- break;
840
- case 'architecture':
841
- this.explainArchitecture(query, result);
842
- break;
843
- case 'dependencies':
844
- this.showDependencies(query, result);
845
- break;
846
- case 'understand':
847
- case 'explain':
848
- this.explainConcept(query, result);
849
- break;
850
- case 'search':
851
- default:
852
- this.generalSearch(query, result);
853
- break;
854
- }
855
- // Generate suggestions
856
- this.generateSuggestions(query, result);
857
- return result;
858
- }
859
- findFiles(query, result) {
860
- const matches = [];
861
- for (const file of this.index.files) {
862
- let relevance = 0;
863
- for (const keyword of query.keywords) {
864
- const keywordLower = keyword.toLowerCase();
865
- // Match in path
866
- if (file.path.toLowerCase().includes(keywordLower)) {
867
- relevance += 10;
868
- }
869
- // Match in tags
870
- if (file.tags.some(t => t.includes(keywordLower))) {
871
- relevance += 5;
872
- }
873
- // Match in purpose
874
- if (file.purpose.toLowerCase().includes(keywordLower)) {
875
- relevance += 3;
876
- }
877
- // Match symbol names
878
- const allSymbols = [...file.symbols.functions, ...file.symbols.classes];
879
- if (allSymbols.some(s => s.name.toLowerCase().includes(keywordLower))) {
880
- relevance += 7;
881
- }
882
- }
883
- // Apply filters
884
- if (query.filters.filePattern && !file.path.includes(query.filters.filePattern)) {
885
- relevance = 0;
886
- }
887
- if (query.filters.language && !file.language.toLowerCase().includes(query.filters.language.toLowerCase())) {
888
- relevance = 0;
889
- }
890
- if (relevance > 0) {
891
- matches.push({
892
- path: file.path,
893
- relevance,
894
- reason: file.purpose,
895
- });
896
- }
897
- }
898
- // Sort by relevance and limit
899
- matches.sort((a, b) => b.relevance - a.relevance);
900
- result.files = matches.slice(0, query.filters.limit || 10);
901
- // Generate answer
902
- if (result.files.length > 0) {
903
- const topFiles = result.files.slice(0, 5);
904
- result.answer = [
905
- `Found ${result.files.length} relevant file(s) for "${query.keywords.join(' ')}":`,
906
- '',
907
- ...topFiles.map(f => `• **${f.path}** - ${f.reason}`),
908
- result.files.length > 5 ? `\n...and ${result.files.length - 5} more files` : '',
909
- ].join('\n');
910
- }
911
- else {
912
- result.answer = `No files found matching "${query.keywords.join(' ')}". Try different keywords or check the spelling.`;
913
- }
914
- }
915
- findSymbols(query, result) {
916
- const matches = [];
917
- for (const keyword of query.keywords) {
918
- const keywordLower = keyword.toLowerCase();
919
- const locations = this.index.symbols.byName.get(keywordLower) || [];
920
- for (const loc of locations) {
921
- // Check kind filter
922
- if (query.filters.symbolKind && loc.kind !== query.filters.symbolKind) {
923
- continue;
924
- }
925
- matches.push({
926
- name: keyword,
927
- file: loc.file,
928
- line: loc.line,
929
- kind: loc.kind,
930
- relevance: 10,
931
- });
932
- }
933
- }
934
- // Also search partial matches
935
- for (const [name, locations] of this.index.symbols.byName) {
936
- for (const keyword of query.keywords) {
937
- if (name.includes(keyword.toLowerCase()) && !matches.some(m => m.name === name)) {
938
- for (const loc of locations) {
939
- if (query.filters.symbolKind && loc.kind !== query.filters.symbolKind)
940
- continue;
941
- matches.push({
942
- name,
943
- file: loc.file,
944
- line: loc.line,
945
- kind: loc.kind,
946
- relevance: 5,
947
- });
948
- }
949
- }
950
- }
951
- }
952
- matches.sort((a, b) => b.relevance - a.relevance);
953
- result.symbols = matches.slice(0, query.filters.limit || 10);
954
- // Generate answer
955
- if (result.symbols.length > 0) {
956
- const topSymbols = result.symbols.slice(0, 5);
957
- result.answer = [
958
- `Found ${result.symbols.length} symbol(s) matching "${query.keywords.join(' ')}":`,
959
- '',
960
- ...topSymbols.map(s => `• **${s.name}** (${s.kind}) at ${s.file}:${s.line}`),
961
- result.symbols.length > 5 ? `\n...and ${result.symbols.length - 5} more symbols` : '',
962
- ].join('\n');
963
- }
964
- else {
965
- result.answer = `No symbols found matching "${query.keywords.join(' ')}".`;
966
- }
967
- }
968
- findUsages(query, result) {
969
- for (const keyword of query.keywords) {
970
- const keywordLower = keyword.toLowerCase();
971
- // Find files that import this symbol
972
- for (const file of this.index.files) {
973
- // Check if file content mentions the keyword
974
- const fullPath = join(this.workingDir, file.path);
975
- try {
976
- const content = readFileSync(fullPath, 'utf-8');
977
- if (content.toLowerCase().includes(keywordLower)) {
978
- const lines = content.split('\n');
979
- const matchingLines = lines
980
- .map((line, i) => ({ line, num: i + 1 }))
981
- .filter(({ line }) => line.toLowerCase().includes(keywordLower))
982
- .slice(0, 3);
983
- result.files.push({
984
- path: file.path,
985
- relevance: matchingLines.length * 3,
986
- reason: `Used on line${matchingLines.length > 1 ? 's' : ''} ${matchingLines.map(l => l.num).join(', ')}`,
987
- snippets: matchingLines.map(l => l.line.trim()),
988
- });
989
- }
990
- }
991
- catch {
992
- // Skip unreadable files
993
- }
994
- }
995
- }
996
- result.files.sort((a, b) => b.relevance - a.relevance);
997
- result.files = result.files.slice(0, query.filters.limit || 10);
998
- if (result.files.length > 0) {
999
- result.answer = [
1000
- `Found ${result.files.length} file(s) using "${query.keywords.join(' ')}":`,
1001
- '',
1002
- ...result.files.slice(0, 5).map(f => `• **${f.path}** - ${f.reason}`),
1003
- ].join('\n');
1004
- }
1005
- else {
1006
- result.answer = `No usages found for "${query.keywords.join(' ')}".`;
1007
- }
1008
- }
1009
- explainArchitecture(_query, result) {
1010
- const patterns = this.index.patterns;
1011
- const lookup = this.index.quickLookup;
1012
- const lines = [
1013
- '# Architecture Overview',
1014
- '',
1015
- ];
1016
- if (patterns.architecture.length) {
1017
- lines.push(`**Architectural Style:** ${patterns.architecture.join(', ')}`);
1018
- lines.push('');
1019
- }
1020
- if (patterns.designPatterns.length) {
1021
- lines.push(`**Design Patterns:** ${patterns.designPatterns.join(', ')}`);
1022
- lines.push('');
1023
- }
1024
- lines.push('## Key Areas');
1025
- lines.push('');
1026
- if (lookup.entryPoints.length) {
1027
- lines.push(`**Entry Points:** ${lookup.entryPoints.slice(0, 3).join(', ')}`);
1028
- }
1029
- if (lookup.componentFiles.length) {
1030
- lines.push(`**Components:** ${lookup.componentFiles.length} files`);
1031
- }
1032
- if (lookup.routeFiles.length) {
1033
- lines.push(`**Routes/API:** ${lookup.routeFiles.length} files`);
1034
- }
1035
- if (lookup.modelFiles.length) {
1036
- lines.push(`**Models:** ${lookup.modelFiles.length} files`);
1037
- }
1038
- if (lookup.testFiles.length) {
1039
- lines.push(`**Tests:** ${lookup.testFiles.length} files`);
1040
- }
1041
- if (patterns.namingConventions.length) {
1042
- lines.push('');
1043
- lines.push(`**Naming Conventions:** ${patterns.namingConventions.join(', ')}`);
1044
- }
1045
- result.answer = lines.join('\n');
1046
- }
1047
- showDependencies(query, result) {
1048
- // Find the most relevant file
1049
- const targetFile = query.keywords.length > 0
1050
- ? this.index.files.find(f => query.keywords.some(k => f.path.toLowerCase().includes(k.toLowerCase())))
1051
- : this.index.quickLookup.entryPoints[0];
1052
- if (!targetFile) {
1053
- result.answer = 'Specify a file to show dependencies for.';
1054
- return;
1055
- }
1056
- const filePath = typeof targetFile === 'string' ? targetFile : targetFile.path;
1057
- const imports = this.index.imports.imports.get(filePath) || [];
1058
- const importedBy = this.index.imports.importedBy.get(filePath) || [];
1059
- const lines = [
1060
- `# Dependencies for ${filePath}`,
1061
- '',
1062
- '## Imports (dependencies)',
1063
- imports.length ? imports.map(i => `• ${i}`).join('\n') : 'No local imports',
1064
- '',
1065
- '## Imported by (dependents)',
1066
- importedBy.length ? importedBy.map(i => `• ${i}`).join('\n') : 'Not imported by other files',
1067
- ];
1068
- result.answer = lines.join('\n');
1069
- }
1070
- explainConcept(query, result) {
1071
- // Combine file and symbol search for conceptual queries
1072
- this.findFiles(query, result);
1073
- this.findSymbols(query, result);
1074
- // Enhanced answer
1075
- const allMatches = result.files.length + result.symbols.length;
1076
- if (allMatches > 0) {
1077
- const parts = [
1078
- `Found ${allMatches} relevant result(s) for "${query.keywords.join(' ')}":`,
1079
- '',
1080
- ];
1081
- if (result.symbols.length > 0) {
1082
- parts.push('**Symbols:**');
1083
- for (const s of result.symbols.slice(0, 3)) {
1084
- parts.push(`• ${s.name} (${s.kind}) at ${s.file}:${s.line}`);
1085
- }
1086
- parts.push('');
1087
- }
1088
- if (result.files.length > 0) {
1089
- parts.push('**Files:**');
1090
- for (const f of result.files.slice(0, 3)) {
1091
- parts.push(`• ${f.path} - ${f.reason}`);
1092
- }
1093
- }
1094
- result.answer = parts.join('\n');
1095
- }
1096
- }
1097
- generalSearch(query, result) {
1098
- // Combine all search methods
1099
- this.findFiles(query, result);
1100
- const fileMatches = [...result.files];
1101
- result.files = [];
1102
- this.findSymbols(query, result);
1103
- const symbolMatches = [...result.symbols];
1104
- // Merge results
1105
- result.files = fileMatches;
1106
- result.symbols = symbolMatches;
1107
- // Generate combined answer
1108
- const parts = [];
1109
- if (symbolMatches.length > 0) {
1110
- parts.push(`**Symbols (${symbolMatches.length}):**`);
1111
- for (const s of symbolMatches.slice(0, 5)) {
1112
- parts.push(` • ${s.name} (${s.kind}) → ${s.file}:${s.line}`);
1113
- }
1114
- }
1115
- if (fileMatches.length > 0) {
1116
- if (parts.length)
1117
- parts.push('');
1118
- parts.push(`**Files (${fileMatches.length}):**`);
1119
- for (const f of fileMatches.slice(0, 5)) {
1120
- parts.push(` • ${f.path} - ${f.reason}`);
1121
- }
1122
- }
1123
- if (parts.length === 0) {
1124
- result.answer = `No results found for "${query.keywords.join(' ')}". Try different terms.`;
1125
- }
1126
- else {
1127
- result.answer = parts.join('\n');
1128
- }
1129
- }
1130
- generateSuggestions(query, result) {
1131
- result.suggestions = [];
1132
- if (result.files.length > 0) {
1133
- result.suggestions.push(`Explore: ${result.files[0]?.path}`);
1134
- }
1135
- if (query.type === 'find_file' && result.files.length === 0) {
1136
- result.suggestions.push('Try broader search terms');
1137
- result.suggestions.push('Check the architecture overview: "show architecture"');
1138
- }
1139
- if (query.type === 'find_symbol') {
1140
- result.suggestions.push('Find usages: "where is X used"');
1141
- }
1142
- // Suggest related queries based on patterns
1143
- const patterns = this.index.patterns;
1144
- if (patterns.designPatterns.length > 0) {
1145
- result.suggestions.push(`Explore pattern: ${patterns.designPatterns[0]}`);
1146
- }
1147
- }
1148
- }
1149
- export function createLocalExploreTool(workingDir, options) {
1150
- const context = {
1151
- aiEnhancer: options?.aiEnhancer,
1152
- aiQueryParsing: options?.aiQueryParsing,
1153
- aiSummarization: options?.aiSummarization,
1154
- };
1155
- const engine = new LocalExploreEngine(workingDir, context);
1156
- let initialized = false;
1157
- // Store reference for dynamic AI enhancer updates
1158
- const toolState = { engine, context };
1159
- return {
1160
- name: 'explore',
1161
- description: `Explore and understand the codebase using natural language queries.
1162
- Works offline by default, but uses the active AI model for better results when available.
1163
-
1164
- Example queries:
1165
- - "Where is authentication handled?"
1166
- - "Find the UserService class"
1167
- - "Show architecture overview"
1168
- - "Where is handleSubmit used?"
1169
- - "What are the entry points?"
1170
- - "Show dependencies for src/app.ts"
1171
-
1172
- Returns file locations, symbol definitions, and explanations.`,
1173
- parameters: {
1174
- type: 'object',
1175
- properties: {
1176
- query: {
1177
- type: 'string',
1178
- description: 'Natural language query about the codebase',
1179
- },
1180
- rebuild: {
1181
- type: 'boolean',
1182
- description: 'Force rebuild of the codebase index (default: false)',
1183
- },
1184
- useAI: {
1185
- type: 'boolean',
1186
- description: 'Use AI for enhanced results (default: true if AI is available)',
1187
- },
1188
- },
1189
- required: ['query'],
1190
- additionalProperties: false,
1191
- },
1192
- cacheable: false,
1193
- // Expose engine for dynamic context updates
1194
- _engine: toolState,
1195
- handler: async (args) => {
1196
- try {
1197
- const query = args['query'];
1198
- const rebuild = args['rebuild'] === true;
1199
- const useAI = args['useAI'] !== false; // Default to true - AI is used by default
1200
- if (!query || !query.trim()) {
1201
- return 'Error: query must be a non-empty string';
1202
- }
1203
- // Initialize on first use
1204
- if (!initialized || rebuild) {
1205
- const { rebuilt, fileCount } = await toolState.engine.initialize(rebuild);
1206
- initialized = true;
1207
- if (rebuilt) {
1208
- const exploreResult = await toolState.engine.explore(query, { useAI });
1209
- return `Indexed ${fileCount} files. Now exploring: "${query}"\n\n${exploreResult.answer}`;
1210
- }
1211
- }
1212
- // Handle special queries
1213
- if (query.toLowerCase() === 'overview' || query.toLowerCase() === 'help') {
1214
- return toolState.engine.getOverview();
1215
- }
1216
- // Execute exploration (AI is used by default when available)
1217
- const result = await toolState.engine.explore(query, { useAI });
1218
- // Format output
1219
- const lines = [result.answer];
1220
- if (result.suggestions.length > 0 && result.files.length + result.symbols.length < 3) {
1221
- lines.push('');
1222
- lines.push('**Suggestions:**');
1223
- for (const s of result.suggestions.slice(0, 3)) {
1224
- lines.push(`• ${s}`);
1225
- }
1226
- }
1227
- // Check if AI was actually available and used
1228
- const aiAvailable = resolveAIEnhancer(toolState.context) !== undefined;
1229
- const aiIndicator = aiAvailable && useAI ? ' | AI' : '';
1230
- lines.push('');
1231
- lines.push(`_Query: "${query}" | Type: ${result.queryType} | Time: ${result.timeTaken}ms${aiIndicator}_`);
1232
- return lines.join('\n');
1233
- }
1234
- catch (error) {
1235
- return buildError('exploring codebase', error, { workingDir });
1236
- }
1237
- },
1238
- };
1239
- }
1240
- /**
1241
- * Create all local exploration tools (explore + index management).
1242
- */
1243
- export function createLocalExploreTools(workingDir, options) {
1244
- return [
1245
- createLocalExploreTool(workingDir, options),
1246
- createIndexTool(workingDir, options),
1247
- ];
1248
- }
1249
- function createIndexTool(workingDir, options) {
1250
- const context = {
1251
- aiEnhancer: options?.aiEnhancer,
1252
- };
1253
- const engine = new LocalExploreEngine(workingDir, context);
1254
- return {
1255
- name: 'explore_index',
1256
- description: 'Manage the codebase index for exploration. Use action "rebuild" to force re-index, "status" to check index state.',
1257
- parameters: {
1258
- type: 'object',
1259
- properties: {
1260
- action: {
1261
- type: 'string',
1262
- enum: ['rebuild', 'status'],
1263
- description: 'Action to perform on the index',
1264
- },
1265
- },
1266
- required: ['action'],
1267
- additionalProperties: false,
1268
- },
1269
- cacheable: false,
1270
- handler: async (args) => {
1271
- try {
1272
- const action = args['action'];
1273
- if (action === 'rebuild') {
1274
- const { fileCount } = await engine.initialize(true);
1275
- return `✓ Rebuilt codebase index: ${fileCount} files analyzed`;
1276
- }
1277
- if (action === 'status') {
1278
- const { rebuilt, fileCount } = await engine.initialize(false);
1279
- return rebuilt
1280
- ? `Built new index: ${fileCount} files`
1281
- : `Using cached index: ${fileCount} files`;
1282
- }
1283
- return 'Unknown action. Use "rebuild" or "status".';
1284
- }
1285
- catch (error) {
1286
- return buildError('managing index', error, { workingDir });
1287
- }
1288
- },
1289
- };
1290
- }
1291
- //# sourceMappingURL=localExplore.js.map