erosolar-cli 2.1.248 → 2.1.252

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 (470) hide show
  1. package/agents/general.rules.json +10 -133
  2. package/agents/general.rules.json.bak +278 -0
  3. package/agents/general.rules.json.bak2 +306 -0
  4. package/dist/bin/erosolar.js +9 -5
  5. package/dist/bin/erosolar.js.map +1 -1
  6. package/dist/capabilities/bidirectionalAuditCapability.d.ts +26 -0
  7. package/dist/capabilities/bidirectionalAuditCapability.d.ts.map +1 -0
  8. package/dist/capabilities/bidirectionalAuditCapability.js +44 -0
  9. package/dist/capabilities/bidirectionalAuditCapability.js.map +1 -0
  10. package/dist/capabilities/globCapability.d.ts +3 -6
  11. package/dist/capabilities/globCapability.d.ts.map +1 -1
  12. package/dist/capabilities/globCapability.js +6 -10
  13. package/dist/capabilities/globCapability.js.map +1 -1
  14. package/dist/capabilities/index.d.ts +1 -18
  15. package/dist/capabilities/index.d.ts.map +1 -1
  16. package/dist/capabilities/index.js +1 -18
  17. package/dist/capabilities/index.js.map +1 -1
  18. package/dist/capabilities/orchestrationCapability.d.ts +177 -3
  19. package/dist/capabilities/orchestrationCapability.d.ts.map +1 -1
  20. package/dist/capabilities/orchestrationCapability.js +1592 -85
  21. package/dist/capabilities/orchestrationCapability.js.map +1 -1
  22. package/dist/capabilities/searchCapability.d.ts +8 -2
  23. package/dist/capabilities/searchCapability.d.ts.map +1 -1
  24. package/dist/capabilities/searchCapability.js +11 -6
  25. package/dist/capabilities/searchCapability.js.map +1 -1
  26. package/dist/contracts/tools.schema.json +9 -133
  27. package/dist/core/agentOrchestrator.d.ts.map +1 -1
  28. package/dist/core/agentOrchestrator.js +18 -1
  29. package/dist/core/agentOrchestrator.js.map +1 -1
  30. package/dist/core/aiErrorFixer.d.ts +1 -14
  31. package/dist/core/aiErrorFixer.d.ts.map +1 -1
  32. package/dist/core/aiErrorFixer.js +51 -239
  33. package/dist/core/aiErrorFixer.js.map +1 -1
  34. package/dist/core/alphaZeroEngine.d.ts +16 -256
  35. package/dist/core/alphaZeroEngine.d.ts.map +1 -1
  36. package/dist/core/alphaZeroEngine.js +22 -513
  37. package/dist/core/alphaZeroEngine.js.map +1 -1
  38. package/dist/core/completeAttackOrchestrator.d.ts +102 -0
  39. package/dist/core/completeAttackOrchestrator.d.ts.map +1 -0
  40. package/dist/core/completeAttackOrchestrator.js +293 -0
  41. package/dist/core/completeAttackOrchestrator.js.map +1 -0
  42. package/dist/core/defensiveSecurityToolkit.d.ts +373 -0
  43. package/dist/core/defensiveSecurityToolkit.d.ts.map +1 -0
  44. package/dist/core/defensiveSecurityToolkit.js +1304 -0
  45. package/dist/core/defensiveSecurityToolkit.js.map +1 -0
  46. package/dist/core/errors/errorTypes.d.ts +30 -57
  47. package/dist/core/errors/errorTypes.d.ts.map +1 -1
  48. package/dist/core/errors/errorTypes.js +51 -228
  49. package/dist/core/errors/errorTypes.js.map +1 -1
  50. package/dist/core/errors/safetyValidator.d.ts +19 -3
  51. package/dist/core/errors/safetyValidator.d.ts.map +1 -1
  52. package/dist/core/errors/safetyValidator.js +33 -71
  53. package/dist/core/errors/safetyValidator.js.map +1 -1
  54. package/dist/core/failureRecovery.d.ts +4 -100
  55. package/dist/core/failureRecovery.d.ts.map +1 -1
  56. package/dist/core/failureRecovery.js +16 -440
  57. package/dist/core/failureRecovery.js.map +1 -1
  58. package/dist/core/intelligentTargetResearcher.d.ts +142 -0
  59. package/dist/core/intelligentTargetResearcher.d.ts.map +1 -0
  60. package/dist/core/intelligentTargetResearcher.js +367 -0
  61. package/dist/core/intelligentTargetResearcher.js.map +1 -0
  62. package/dist/core/intelligentTestFlows.d.ts +26 -107
  63. package/dist/core/intelligentTestFlows.d.ts.map +1 -1
  64. package/dist/core/intelligentTestFlows.js +15 -659
  65. package/dist/core/intelligentTestFlows.js.map +1 -1
  66. package/dist/core/learningPersistence.d.ts +45 -132
  67. package/dist/core/learningPersistence.d.ts.map +1 -1
  68. package/dist/core/learningPersistence.js +32 -463
  69. package/dist/core/learningPersistence.js.map +1 -1
  70. package/dist/core/metricsTracker.d.ts +22 -139
  71. package/dist/core/metricsTracker.d.ts.map +1 -1
  72. package/dist/core/metricsTracker.js +51 -241
  73. package/dist/core/metricsTracker.js.map +1 -1
  74. package/dist/core/performanceMonitor.d.ts +15 -109
  75. package/dist/core/performanceMonitor.d.ts.map +1 -1
  76. package/dist/core/performanceMonitor.js +27 -184
  77. package/dist/core/performanceMonitor.js.map +1 -1
  78. package/dist/core/resultVerification.d.ts +6 -100
  79. package/dist/core/resultVerification.d.ts.map +1 -1
  80. package/dist/core/resultVerification.js +31 -400
  81. package/dist/core/resultVerification.js.map +1 -1
  82. package/dist/core/selfEvolution.d.ts +32 -126
  83. package/dist/core/selfEvolution.d.ts.map +1 -1
  84. package/dist/core/selfEvolution.js +24 -967
  85. package/dist/core/selfEvolution.js.map +1 -1
  86. package/dist/core/selfImprovement.d.ts +50 -109
  87. package/dist/core/selfImprovement.d.ts.map +1 -1
  88. package/dist/core/selfImprovement.js +14 -689
  89. package/dist/core/selfImprovement.js.map +1 -1
  90. package/dist/core/sourceCodeManager.d.ts +89 -0
  91. package/dist/core/sourceCodeManager.d.ts.map +1 -0
  92. package/dist/core/sourceCodeManager.js +332 -0
  93. package/dist/core/sourceCodeManager.js.map +1 -0
  94. package/dist/core/unifiedOrchestrator.d.ts +88 -0
  95. package/dist/core/unifiedOrchestrator.d.ts.map +1 -0
  96. package/dist/core/unifiedOrchestrator.js +284 -0
  97. package/dist/core/unifiedOrchestrator.js.map +1 -0
  98. package/dist/core/userDefenseOrchestrator.d.ts +202 -0
  99. package/dist/core/userDefenseOrchestrator.d.ts.map +1 -0
  100. package/dist/core/userDefenseOrchestrator.js +1006 -0
  101. package/dist/core/userDefenseOrchestrator.js.map +1 -0
  102. package/dist/plugins/index.d.ts +1 -1
  103. package/dist/plugins/index.d.ts.map +1 -1
  104. package/dist/plugins/index.js +36 -26
  105. package/dist/plugins/index.js.map +1 -1
  106. package/dist/plugins/tools/bidirectionalAudit/bidirectionalAuditPlugin.d.ts +8 -0
  107. package/dist/plugins/tools/bidirectionalAudit/bidirectionalAuditPlugin.d.ts.map +1 -0
  108. package/dist/plugins/tools/bidirectionalAudit/bidirectionalAuditPlugin.js +17 -0
  109. package/dist/plugins/tools/bidirectionalAudit/bidirectionalAuditPlugin.js.map +1 -0
  110. package/dist/plugins/tools/nodeDefaults.d.ts +14 -0
  111. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
  112. package/dist/plugins/tools/nodeDefaults.js +17 -54
  113. package/dist/plugins/tools/nodeDefaults.js.map +1 -1
  114. package/dist/plugins/tools/orchestration/orchestrationPlugin.d.ts +9 -0
  115. package/dist/plugins/tools/orchestration/orchestrationPlugin.d.ts.map +1 -0
  116. package/dist/plugins/tools/orchestration/orchestrationPlugin.js +18 -0
  117. package/dist/plugins/tools/orchestration/orchestrationPlugin.js.map +1 -0
  118. package/dist/shell/interactiveShell.d.ts +101 -2
  119. package/dist/shell/interactiveShell.d.ts.map +1 -1
  120. package/dist/shell/interactiveShell.js +1041 -25
  121. package/dist/shell/interactiveShell.js.map +1 -1
  122. package/dist/tools/appleExposureTools.d.ts +108 -0
  123. package/dist/tools/appleExposureTools.d.ts.map +1 -0
  124. package/dist/tools/appleExposureTools.js +850 -0
  125. package/dist/tools/appleExposureTools.js.map +1 -0
  126. package/dist/tools/bidirectionalAuditTools.d.ts +104 -0
  127. package/dist/tools/bidirectionalAuditTools.d.ts.map +1 -0
  128. package/dist/tools/bidirectionalAuditTools.js +1280 -0
  129. package/dist/tools/bidirectionalAuditTools.js.map +1 -0
  130. package/dist/tools/defensiveSecurityTools.d.ts +152 -0
  131. package/dist/tools/defensiveSecurityTools.d.ts.map +1 -0
  132. package/dist/tools/defensiveSecurityTools.js +576 -0
  133. package/dist/tools/defensiveSecurityTools.js.map +1 -0
  134. package/dist/tools/forwardAttackChainTracer.d.ts +73 -0
  135. package/dist/tools/forwardAttackChainTracer.d.ts.map +1 -0
  136. package/dist/tools/forwardAttackChainTracer.js +604 -0
  137. package/dist/tools/forwardAttackChainTracer.js.map +1 -0
  138. package/dist/tools/localExplore.d.ts +12 -199
  139. package/dist/tools/localExplore.d.ts.map +1 -1
  140. package/dist/tools/localExplore.js +18 -1352
  141. package/dist/tools/localExplore.js.map +1 -1
  142. package/dist/tools/offensiveTransparencyTools.d.ts +188 -0
  143. package/dist/tools/offensiveTransparencyTools.d.ts.map +1 -0
  144. package/dist/tools/offensiveTransparencyTools.js +890 -0
  145. package/dist/tools/offensiveTransparencyTools.js.map +1 -0
  146. package/dist/tools/planningTools.d.ts +8 -17
  147. package/dist/tools/planningTools.d.ts.map +1 -1
  148. package/dist/tools/planningTools.js +31 -141
  149. package/dist/tools/planningTools.js.map +1 -1
  150. package/dist/tools/searchTools.d.ts +9 -0
  151. package/dist/tools/searchTools.d.ts.map +1 -1
  152. package/dist/tools/searchTools.js +305 -189
  153. package/dist/tools/searchTools.js.map +1 -1
  154. package/dist/tools/skillTools.d.ts +7 -5
  155. package/dist/tools/skillTools.d.ts.map +1 -1
  156. package/dist/tools/skillTools.js +13 -155
  157. package/dist/tools/skillTools.js.map +1 -1
  158. package/dist/tools/threatIntelligenceTools.d.ts +128 -0
  159. package/dist/tools/threatIntelligenceTools.d.ts.map +1 -0
  160. package/dist/tools/threatIntelligenceTools.js +712 -0
  161. package/dist/tools/threatIntelligenceTools.js.map +1 -0
  162. package/dist/ui/PromptController.d.ts +4 -0
  163. package/dist/ui/PromptController.d.ts.map +1 -1
  164. package/dist/ui/PromptController.js +32 -11
  165. package/dist/ui/PromptController.js.map +1 -1
  166. package/dist/ui/UnifiedUIRenderer.d.ts +36 -0
  167. package/dist/ui/UnifiedUIRenderer.d.ts.map +1 -1
  168. package/dist/ui/UnifiedUIRenderer.js +308 -43
  169. package/dist/ui/UnifiedUIRenderer.js.map +1 -1
  170. package/dist/ui/animatedStatus.d.ts +2 -0
  171. package/dist/ui/animatedStatus.d.ts.map +1 -1
  172. package/dist/ui/animatedStatus.js +36 -2
  173. package/dist/ui/animatedStatus.js.map +1 -1
  174. package/dist/ui/orchestration/StatusOrchestrator.d.ts +10 -0
  175. package/dist/ui/orchestration/StatusOrchestrator.d.ts.map +1 -1
  176. package/dist/ui/orchestration/StatusOrchestrator.js +36 -4
  177. package/dist/ui/orchestration/StatusOrchestrator.js.map +1 -1
  178. package/package.json +2 -2
  179. package/dist/capabilities/advancedTestGenerationCapability.d.ts +0 -17
  180. package/dist/capabilities/advancedTestGenerationCapability.d.ts.map +0 -1
  181. package/dist/capabilities/advancedTestGenerationCapability.js +0 -28
  182. package/dist/capabilities/advancedTestGenerationCapability.js.map +0 -1
  183. package/dist/capabilities/browserAutomationCapability.d.ts +0 -37
  184. package/dist/capabilities/browserAutomationCapability.d.ts.map +0 -1
  185. package/dist/capabilities/browserAutomationCapability.js +0 -49
  186. package/dist/capabilities/browserAutomationCapability.js.map +0 -1
  187. package/dist/capabilities/buildCapability.d.ts +0 -24
  188. package/dist/capabilities/buildCapability.d.ts.map +0 -1
  189. package/dist/capabilities/buildCapability.js +0 -25
  190. package/dist/capabilities/buildCapability.js.map +0 -1
  191. package/dist/capabilities/cloudCapability.d.ts +0 -13
  192. package/dist/capabilities/cloudCapability.d.ts.map +0 -1
  193. package/dist/capabilities/cloudCapability.js +0 -38
  194. package/dist/capabilities/cloudCapability.js.map +0 -1
  195. package/dist/capabilities/codeAnalysisCapability.d.ts +0 -13
  196. package/dist/capabilities/codeAnalysisCapability.d.ts.map +0 -1
  197. package/dist/capabilities/codeAnalysisCapability.js +0 -24
  198. package/dist/capabilities/codeAnalysisCapability.js.map +0 -1
  199. package/dist/capabilities/codeQualityCapability.d.ts +0 -13
  200. package/dist/capabilities/codeQualityCapability.d.ts.map +0 -1
  201. package/dist/capabilities/codeQualityCapability.js +0 -25
  202. package/dist/capabilities/codeQualityCapability.js.map +0 -1
  203. package/dist/capabilities/dependencySecurityCapability.d.ts +0 -13
  204. package/dist/capabilities/dependencySecurityCapability.d.ts.map +0 -1
  205. package/dist/capabilities/dependencySecurityCapability.js +0 -24
  206. package/dist/capabilities/dependencySecurityCapability.js.map +0 -1
  207. package/dist/capabilities/devCapability.d.ts +0 -13
  208. package/dist/capabilities/devCapability.d.ts.map +0 -1
  209. package/dist/capabilities/devCapability.js +0 -24
  210. package/dist/capabilities/devCapability.js.map +0 -1
  211. package/dist/capabilities/emailCapability.d.ts +0 -12
  212. package/dist/capabilities/emailCapability.d.ts.map +0 -1
  213. package/dist/capabilities/emailCapability.js +0 -22
  214. package/dist/capabilities/emailCapability.js.map +0 -1
  215. package/dist/capabilities/enhancedAnalysisCapability.d.ts +0 -13
  216. package/dist/capabilities/enhancedAnalysisCapability.d.ts.map +0 -1
  217. package/dist/capabilities/enhancedAnalysisCapability.js +0 -20
  218. package/dist/capabilities/enhancedAnalysisCapability.js.map +0 -1
  219. package/dist/capabilities/enhancedCodeIntelligenceCapability.d.ts +0 -17
  220. package/dist/capabilities/enhancedCodeIntelligenceCapability.d.ts.map +0 -1
  221. package/dist/capabilities/enhancedCodeIntelligenceCapability.js +0 -28
  222. package/dist/capabilities/enhancedCodeIntelligenceCapability.js.map +0 -1
  223. package/dist/capabilities/enhancedDevWorkflowCapability.d.ts +0 -17
  224. package/dist/capabilities/enhancedDevWorkflowCapability.d.ts.map +0 -1
  225. package/dist/capabilities/enhancedDevWorkflowCapability.js +0 -28
  226. package/dist/capabilities/enhancedDevWorkflowCapability.js.map +0 -1
  227. package/dist/capabilities/frontendTestingCapability.d.ts +0 -13
  228. package/dist/capabilities/frontendTestingCapability.d.ts.map +0 -1
  229. package/dist/capabilities/frontendTestingCapability.js +0 -28
  230. package/dist/capabilities/frontendTestingCapability.js.map +0 -1
  231. package/dist/capabilities/interactionCapability.d.ts +0 -12
  232. package/dist/capabilities/interactionCapability.d.ts.map +0 -1
  233. package/dist/capabilities/interactionCapability.js +0 -22
  234. package/dist/capabilities/interactionCapability.js.map +0 -1
  235. package/dist/capabilities/learnCapability.d.ts +0 -22
  236. package/dist/capabilities/learnCapability.d.ts.map +0 -1
  237. package/dist/capabilities/learnCapability.js +0 -37
  238. package/dist/capabilities/learnCapability.js.map +0 -1
  239. package/dist/capabilities/notebookCapability.d.ts +0 -17
  240. package/dist/capabilities/notebookCapability.d.ts.map +0 -1
  241. package/dist/capabilities/notebookCapability.js +0 -27
  242. package/dist/capabilities/notebookCapability.js.map +0 -1
  243. package/dist/capabilities/planningCapability.d.ts +0 -16
  244. package/dist/capabilities/planningCapability.d.ts.map +0 -1
  245. package/dist/capabilities/planningCapability.js +0 -26
  246. package/dist/capabilities/planningCapability.js.map +0 -1
  247. package/dist/capabilities/refactoringCapability.d.ts +0 -13
  248. package/dist/capabilities/refactoringCapability.d.ts.map +0 -1
  249. package/dist/capabilities/refactoringCapability.js +0 -25
  250. package/dist/capabilities/refactoringCapability.js.map +0 -1
  251. package/dist/capabilities/repoChecksCapability.d.ts +0 -10
  252. package/dist/capabilities/repoChecksCapability.d.ts.map +0 -1
  253. package/dist/capabilities/repoChecksCapability.js +0 -24
  254. package/dist/capabilities/repoChecksCapability.js.map +0 -1
  255. package/dist/capabilities/taskManagementCapability.d.ts +0 -12
  256. package/dist/capabilities/taskManagementCapability.d.ts.map +0 -1
  257. package/dist/capabilities/taskManagementCapability.js +0 -22
  258. package/dist/capabilities/taskManagementCapability.js.map +0 -1
  259. package/dist/capabilities/testingCapability.d.ts +0 -13
  260. package/dist/capabilities/testingCapability.d.ts.map +0 -1
  261. package/dist/capabilities/testingCapability.js +0 -25
  262. package/dist/capabilities/testingCapability.js.map +0 -1
  263. package/dist/capabilities/validationCapability.d.ts +0 -13
  264. package/dist/capabilities/validationCapability.d.ts.map +0 -1
  265. package/dist/capabilities/validationCapability.js +0 -24
  266. package/dist/capabilities/validationCapability.js.map +0 -1
  267. package/dist/capabilities/webCapability.d.ts +0 -12
  268. package/dist/capabilities/webCapability.d.ts.map +0 -1
  269. package/dist/capabilities/webCapability.js +0 -22
  270. package/dist/capabilities/webCapability.js.map +0 -1
  271. package/dist/core/deepBugAnalyzer.d.ts +0 -128
  272. package/dist/core/deepBugAnalyzer.d.ts.map +0 -1
  273. package/dist/core/deepBugAnalyzer.js +0 -406
  274. package/dist/core/deepBugAnalyzer.js.map +0 -1
  275. package/dist/core/hypothesisEngine.d.ts +0 -113
  276. package/dist/core/hypothesisEngine.d.ts.map +0 -1
  277. package/dist/core/hypothesisEngine.js +0 -264
  278. package/dist/core/hypothesisEngine.js.map +0 -1
  279. package/dist/core/productTestHarness.d.ts +0 -113
  280. package/dist/core/productTestHarness.d.ts.map +0 -1
  281. package/dist/core/productTestHarness.js +0 -351
  282. package/dist/core/productTestHarness.js.map +0 -1
  283. package/dist/core/validationRunner.d.ts +0 -106
  284. package/dist/core/validationRunner.d.ts.map +0 -1
  285. package/dist/core/validationRunner.js +0 -892
  286. package/dist/core/validationRunner.js.map +0 -1
  287. package/dist/plugins/tools/browser/browserAutomationPlugin.d.ts +0 -14
  288. package/dist/plugins/tools/browser/browserAutomationPlugin.d.ts.map +0 -1
  289. package/dist/plugins/tools/browser/browserAutomationPlugin.js +0 -26
  290. package/dist/plugins/tools/browser/browserAutomationPlugin.js.map +0 -1
  291. package/dist/plugins/tools/checks/localRepoChecksPlugin.d.ts +0 -3
  292. package/dist/plugins/tools/checks/localRepoChecksPlugin.d.ts.map +0 -1
  293. package/dist/plugins/tools/checks/localRepoChecksPlugin.js +0 -14
  294. package/dist/plugins/tools/checks/localRepoChecksPlugin.js.map +0 -1
  295. package/dist/plugins/tools/cloud/cloudPlugin.d.ts +0 -3
  296. package/dist/plugins/tools/cloud/cloudPlugin.d.ts.map +0 -1
  297. package/dist/plugins/tools/cloud/cloudPlugin.js +0 -14
  298. package/dist/plugins/tools/cloud/cloudPlugin.js.map +0 -1
  299. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.d.ts +0 -3
  300. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.d.ts.map +0 -1
  301. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.js +0 -14
  302. package/dist/plugins/tools/codeAnalysis/codeAnalysisPlugin.js.map +0 -1
  303. package/dist/plugins/tools/codeQuality/codeQualityPlugin.d.ts +0 -3
  304. package/dist/plugins/tools/codeQuality/codeQualityPlugin.d.ts.map +0 -1
  305. package/dist/plugins/tools/codeQuality/codeQualityPlugin.js +0 -14
  306. package/dist/plugins/tools/codeQuality/codeQualityPlugin.js.map +0 -1
  307. package/dist/plugins/tools/dependency/dependencyPlugin.d.ts +0 -3
  308. package/dist/plugins/tools/dependency/dependencyPlugin.d.ts.map +0 -1
  309. package/dist/plugins/tools/dependency/dependencyPlugin.js +0 -12
  310. package/dist/plugins/tools/dependency/dependencyPlugin.js.map +0 -1
  311. package/dist/plugins/tools/development/devPlugin.d.ts +0 -3
  312. package/dist/plugins/tools/development/devPlugin.d.ts.map +0 -1
  313. package/dist/plugins/tools/development/devPlugin.js +0 -14
  314. package/dist/plugins/tools/development/devPlugin.js.map +0 -1
  315. package/dist/plugins/tools/email/emailPlugin.d.ts +0 -3
  316. package/dist/plugins/tools/email/emailPlugin.d.ts.map +0 -1
  317. package/dist/plugins/tools/email/emailPlugin.js +0 -12
  318. package/dist/plugins/tools/email/emailPlugin.js.map +0 -1
  319. package/dist/plugins/tools/enhancedAnalysis/enhancedAnalysisPlugin.d.ts +0 -3
  320. package/dist/plugins/tools/enhancedAnalysis/enhancedAnalysisPlugin.d.ts.map +0 -1
  321. package/dist/plugins/tools/enhancedAnalysis/enhancedAnalysisPlugin.js +0 -14
  322. package/dist/plugins/tools/enhancedAnalysis/enhancedAnalysisPlugin.js.map +0 -1
  323. package/dist/plugins/tools/enhancedCodeIntelligence/enhancedCodeIntelligencePlugin.d.ts +0 -3
  324. package/dist/plugins/tools/enhancedCodeIntelligence/enhancedCodeIntelligencePlugin.d.ts.map +0 -1
  325. package/dist/plugins/tools/enhancedCodeIntelligence/enhancedCodeIntelligencePlugin.js +0 -12
  326. package/dist/plugins/tools/enhancedCodeIntelligence/enhancedCodeIntelligencePlugin.js.map +0 -1
  327. package/dist/plugins/tools/enhancedDevWorkflow/enhancedDevWorkflowPlugin.d.ts +0 -3
  328. package/dist/plugins/tools/enhancedDevWorkflow/enhancedDevWorkflowPlugin.d.ts.map +0 -1
  329. package/dist/plugins/tools/enhancedDevWorkflow/enhancedDevWorkflowPlugin.js +0 -12
  330. package/dist/plugins/tools/enhancedDevWorkflow/enhancedDevWorkflowPlugin.js.map +0 -1
  331. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.d.ts +0 -3
  332. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.d.ts.map +0 -1
  333. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.js +0 -14
  334. package/dist/plugins/tools/frontendTesting/frontendTestingPlugin.js.map +0 -1
  335. package/dist/plugins/tools/interaction/interactionPlugin.d.ts +0 -3
  336. package/dist/plugins/tools/interaction/interactionPlugin.d.ts.map +0 -1
  337. package/dist/plugins/tools/interaction/interactionPlugin.js +0 -12
  338. package/dist/plugins/tools/interaction/interactionPlugin.js.map +0 -1
  339. package/dist/plugins/tools/learn/learnPlugin.d.ts +0 -3
  340. package/dist/plugins/tools/learn/learnPlugin.d.ts.map +0 -1
  341. package/dist/plugins/tools/learn/learnPlugin.js +0 -14
  342. package/dist/plugins/tools/learn/learnPlugin.js.map +0 -1
  343. package/dist/plugins/tools/notebook/notebookPlugin.d.ts +0 -9
  344. package/dist/plugins/tools/notebook/notebookPlugin.d.ts.map +0 -1
  345. package/dist/plugins/tools/notebook/notebookPlugin.js +0 -15
  346. package/dist/plugins/tools/notebook/notebookPlugin.js.map +0 -1
  347. package/dist/plugins/tools/planning/planningPlugin.d.ts +0 -9
  348. package/dist/plugins/tools/planning/planningPlugin.d.ts.map +0 -1
  349. package/dist/plugins/tools/planning/planningPlugin.js +0 -15
  350. package/dist/plugins/tools/planning/planningPlugin.js.map +0 -1
  351. package/dist/plugins/tools/refactoring/refactoringPlugin.d.ts +0 -3
  352. package/dist/plugins/tools/refactoring/refactoringPlugin.d.ts.map +0 -1
  353. package/dist/plugins/tools/refactoring/refactoringPlugin.js +0 -12
  354. package/dist/plugins/tools/refactoring/refactoringPlugin.js.map +0 -1
  355. package/dist/plugins/tools/taskManagement/taskManagementPlugin.d.ts +0 -3
  356. package/dist/plugins/tools/taskManagement/taskManagementPlugin.d.ts.map +0 -1
  357. package/dist/plugins/tools/taskManagement/taskManagementPlugin.js +0 -12
  358. package/dist/plugins/tools/taskManagement/taskManagementPlugin.js.map +0 -1
  359. package/dist/plugins/tools/testing/testingPlugin.d.ts +0 -3
  360. package/dist/plugins/tools/testing/testingPlugin.d.ts.map +0 -1
  361. package/dist/plugins/tools/testing/testingPlugin.js +0 -12
  362. package/dist/plugins/tools/testing/testingPlugin.js.map +0 -1
  363. package/dist/plugins/tools/validation/validationPlugin.d.ts +0 -3
  364. package/dist/plugins/tools/validation/validationPlugin.d.ts.map +0 -1
  365. package/dist/plugins/tools/validation/validationPlugin.js +0 -14
  366. package/dist/plugins/tools/validation/validationPlugin.js.map +0 -1
  367. package/dist/plugins/tools/web/webPlugin.d.ts +0 -3
  368. package/dist/plugins/tools/web/webPlugin.d.ts.map +0 -1
  369. package/dist/plugins/tools/web/webPlugin.js +0 -12
  370. package/dist/plugins/tools/web/webPlugin.js.map +0 -1
  371. package/dist/tools/advancedTestGenerationTools.d.ts +0 -21
  372. package/dist/tools/advancedTestGenerationTools.d.ts.map +0 -1
  373. package/dist/tools/advancedTestGenerationTools.js +0 -304
  374. package/dist/tools/advancedTestGenerationTools.js.map +0 -1
  375. package/dist/tools/browserAutomationTools.d.ts +0 -23
  376. package/dist/tools/browserAutomationTools.d.ts.map +0 -1
  377. package/dist/tools/browserAutomationTools.js +0 -916
  378. package/dist/tools/browserAutomationTools.js.map +0 -1
  379. package/dist/tools/buildTools.d.ts +0 -9
  380. package/dist/tools/buildTools.d.ts.map +0 -1
  381. package/dist/tools/buildTools.js +0 -346
  382. package/dist/tools/buildTools.js.map +0 -1
  383. package/dist/tools/cloudTools.d.ts +0 -49
  384. package/dist/tools/cloudTools.d.ts.map +0 -1
  385. package/dist/tools/cloudTools.js +0 -1258
  386. package/dist/tools/cloudTools.js.map +0 -1
  387. package/dist/tools/codeAnalysisTools.d.ts +0 -74
  388. package/dist/tools/codeAnalysisTools.d.ts.map +0 -1
  389. package/dist/tools/codeAnalysisTools.js +0 -664
  390. package/dist/tools/codeAnalysisTools.js.map +0 -1
  391. package/dist/tools/codeGenerationTools.d.ts +0 -3
  392. package/dist/tools/codeGenerationTools.d.ts.map +0 -1
  393. package/dist/tools/codeGenerationTools.js +0 -439
  394. package/dist/tools/codeGenerationTools.js.map +0 -1
  395. package/dist/tools/codeQualityTools.d.ts +0 -3
  396. package/dist/tools/codeQualityTools.d.ts.map +0 -1
  397. package/dist/tools/codeQualityTools.js +0 -297
  398. package/dist/tools/codeQualityTools.js.map +0 -1
  399. package/dist/tools/dependencyTools.d.ts +0 -3
  400. package/dist/tools/dependencyTools.d.ts.map +0 -1
  401. package/dist/tools/dependencyTools.js +0 -284
  402. package/dist/tools/dependencyTools.js.map +0 -1
  403. package/dist/tools/devTools.d.ts +0 -10
  404. package/dist/tools/devTools.d.ts.map +0 -1
  405. package/dist/tools/devTools.js +0 -2126
  406. package/dist/tools/devTools.js.map +0 -1
  407. package/dist/tools/emailTools.d.ts +0 -21
  408. package/dist/tools/emailTools.d.ts.map +0 -1
  409. package/dist/tools/emailTools.js +0 -449
  410. package/dist/tools/emailTools.js.map +0 -1
  411. package/dist/tools/enhancedAnalysisTools.d.ts +0 -9
  412. package/dist/tools/enhancedAnalysisTools.d.ts.map +0 -1
  413. package/dist/tools/enhancedAnalysisTools.js +0 -370
  414. package/dist/tools/enhancedAnalysisTools.js.map +0 -1
  415. package/dist/tools/enhancedCodeIntelligenceTools.d.ts +0 -7
  416. package/dist/tools/enhancedCodeIntelligenceTools.d.ts.map +0 -1
  417. package/dist/tools/enhancedCodeIntelligenceTools.js +0 -540
  418. package/dist/tools/enhancedCodeIntelligenceTools.js.map +0 -1
  419. package/dist/tools/enhancedDevWorkflowTools.d.ts +0 -7
  420. package/dist/tools/enhancedDevWorkflowTools.d.ts.map +0 -1
  421. package/dist/tools/enhancedDevWorkflowTools.js +0 -432
  422. package/dist/tools/enhancedDevWorkflowTools.js.map +0 -1
  423. package/dist/tools/frontendTestingTools.d.ts +0 -35
  424. package/dist/tools/frontendTestingTools.d.ts.map +0 -1
  425. package/dist/tools/frontendTestingTools.js +0 -1258
  426. package/dist/tools/frontendTestingTools.js.map +0 -1
  427. package/dist/tools/globTools.d.ts +0 -15
  428. package/dist/tools/globTools.d.ts.map +0 -1
  429. package/dist/tools/globTools.js +0 -174
  430. package/dist/tools/globTools.js.map +0 -1
  431. package/dist/tools/grepTools.d.ts +0 -19
  432. package/dist/tools/grepTools.d.ts.map +0 -1
  433. package/dist/tools/grepTools.js +0 -411
  434. package/dist/tools/grepTools.js.map +0 -1
  435. package/dist/tools/interactionTools.d.ts +0 -6
  436. package/dist/tools/interactionTools.d.ts.map +0 -1
  437. package/dist/tools/interactionTools.js +0 -209
  438. package/dist/tools/interactionTools.js.map +0 -1
  439. package/dist/tools/learnTools.d.ts +0 -164
  440. package/dist/tools/learnTools.d.ts.map +0 -1
  441. package/dist/tools/learnTools.js +0 -2098
  442. package/dist/tools/learnTools.js.map +0 -1
  443. package/dist/tools/notebookEditTools.d.ts +0 -15
  444. package/dist/tools/notebookEditTools.d.ts.map +0 -1
  445. package/dist/tools/notebookEditTools.js +0 -197
  446. package/dist/tools/notebookEditTools.js.map +0 -1
  447. package/dist/tools/refactoringTools.d.ts +0 -3
  448. package/dist/tools/refactoringTools.d.ts.map +0 -1
  449. package/dist/tools/refactoringTools.js +0 -294
  450. package/dist/tools/refactoringTools.js.map +0 -1
  451. package/dist/tools/repoChecksTools.d.ts +0 -3
  452. package/dist/tools/repoChecksTools.d.ts.map +0 -1
  453. package/dist/tools/repoChecksTools.js +0 -276
  454. package/dist/tools/repoChecksTools.js.map +0 -1
  455. package/dist/tools/taskManagementTools.d.ts +0 -10
  456. package/dist/tools/taskManagementTools.d.ts.map +0 -1
  457. package/dist/tools/taskManagementTools.js +0 -133
  458. package/dist/tools/taskManagementTools.js.map +0 -1
  459. package/dist/tools/testingTools.d.ts +0 -3
  460. package/dist/tools/testingTools.d.ts.map +0 -1
  461. package/dist/tools/testingTools.js +0 -237
  462. package/dist/tools/testingTools.js.map +0 -1
  463. package/dist/tools/validationTools.d.ts +0 -7
  464. package/dist/tools/validationTools.d.ts.map +0 -1
  465. package/dist/tools/validationTools.js +0 -344
  466. package/dist/tools/validationTools.js.map +0 -1
  467. package/dist/tools/webTools.d.ts +0 -3
  468. package/dist/tools/webTools.d.ts.map +0 -1
  469. package/dist/tools/webTools.js +0 -502
  470. package/dist/tools/webTools.js.map +0 -1
@@ -1,411 +0,0 @@
1
- import { readFileSync, readdirSync, statSync } from 'node:fs';
2
- import { join, relative, extname } from 'node:path';
3
- import { buildError } from '../core/errors.js';
4
- // Maximum file size to search (5MB) to prevent memory exhaustion during grep
5
- const MAX_GREP_FILE_SIZE = 5 * 1024 * 1024;
6
- /**
7
- * Creates the Grep tool - a powerful search tool built on ripgrep patterns
8
- *
9
- * Features:
10
- * - Full regex syntax support
11
- * - Multiple output modes (content, files_with_matches, count)
12
- * - Context lines (-A, -B, -C)
13
- * - Case insensitivity
14
- * - Type filtering (js, ts, py, etc.)
15
- * - Glob pattern filtering
16
- * - Multiline matching
17
- * - Head/offset limiting
18
- *
19
- * @param workingDir - The working directory for searching
20
- * @returns Array containing the Grep tool definition
21
- */
22
- export function createGrepTools(workingDir) {
23
- return [
24
- {
25
- name: 'Grep',
26
- description: 'A powerful search tool built on ripgrep patterns. Supports full regex syntax, multiple output modes, and context lines. Use for searching file contents.',
27
- parameters: {
28
- type: 'object',
29
- properties: {
30
- pattern: {
31
- type: 'string',
32
- description: 'The regular expression pattern to search for in file contents',
33
- },
34
- path: {
35
- type: 'string',
36
- description: 'File or directory to search in (defaults to current working directory)',
37
- },
38
- output_mode: {
39
- type: 'string',
40
- description: 'Output mode: "content" shows matching lines, "files_with_matches" shows file paths (default), "count" shows match counts',
41
- },
42
- '-i': {
43
- type: 'boolean',
44
- description: 'Case insensitive search',
45
- },
46
- i: {
47
- type: 'boolean',
48
- description: 'Alias for -i (case insensitive search)',
49
- },
50
- '-n': {
51
- type: 'boolean',
52
- description: 'Show line numbers in output (requires output_mode: "content"). Defaults to true.',
53
- },
54
- n: {
55
- type: 'boolean',
56
- description: 'Alias for -n (show line numbers; defaults to true)',
57
- },
58
- '-A': {
59
- type: 'number',
60
- description: 'Number of lines to show after each match (requires output_mode: "content")',
61
- },
62
- A: {
63
- type: 'number',
64
- description: 'Alias for -A (lines to show after each match)',
65
- },
66
- '-B': {
67
- type: 'number',
68
- description: 'Number of lines to show before each match (requires output_mode: "content")',
69
- },
70
- B: {
71
- type: 'number',
72
- description: 'Alias for -B (lines to show before each match)',
73
- },
74
- '-C': {
75
- type: 'number',
76
- description: 'Number of lines to show before and after each match (requires output_mode: "content")',
77
- },
78
- C: {
79
- type: 'number',
80
- description: 'Alias for -C (lines to show before and after each match)',
81
- },
82
- glob: {
83
- type: 'string',
84
- description: 'Glob pattern to filter files (e.g. "*.js", "*.{ts,tsx}")',
85
- },
86
- type: {
87
- type: 'string',
88
- description: 'File type to search (e.g. "js", "py", "rust", "go"). More efficient than glob for standard file types.',
89
- },
90
- multiline: {
91
- type: 'boolean',
92
- description: 'Enable multiline mode where . matches newlines and patterns can span lines. Default: false.',
93
- },
94
- head_limit: {
95
- type: 'number',
96
- description: 'Limit output to first N entries. Defaults: content=20, files=30, count=50. Always use low values to prevent context overflow.',
97
- },
98
- limit: {
99
- type: 'number',
100
- description: 'Alias for head_limit (for compatibility with grep_search)',
101
- },
102
- offset: {
103
- type: 'number',
104
- description: 'Skip first N lines/entries before applying head_limit. Defaults to 0.',
105
- },
106
- },
107
- required: ['pattern'],
108
- // Allow unknown properties - models sometimes hallucinate extra params
109
- additionalProperties: true,
110
- },
111
- handler: async (args) => {
112
- const pattern = args['pattern'];
113
- const pathArg = args['path'];
114
- const outputMode = args['output_mode'] || 'files_with_matches';
115
- const caseInsensitive = resolveBooleanFlag(args, '-i', 'i', false);
116
- const showLineNumbers = resolveBooleanFlag(args, '-n', 'n', true); // Default true
117
- const afterContext = resolveNumberFlag(args, '-A', 'A', 0);
118
- const beforeContext = resolveNumberFlag(args, '-B', 'B', 0);
119
- const contextLines = resolveNumberFlag(args, '-C', 'C', 0);
120
- const globPattern = args['glob'];
121
- const fileType = args['type'];
122
- const multiline = args['multiline'] === true;
123
- // Keep defaults minimal to avoid flooding context
124
- const defaultLimit = outputMode === 'content' ? 10 : (outputMode === 'count' ? 30 : 15);
125
- // Support both head_limit and limit (alias for grep_search compatibility)
126
- const headLimit = typeof args['head_limit'] === 'number'
127
- ? args['head_limit']
128
- : (typeof args['limit'] === 'number' ? args['limit'] : defaultLimit);
129
- const offset = typeof args['offset'] === 'number' ? args['offset'] : 0;
130
- // Validate pattern
131
- if (typeof pattern !== 'string' || !pattern.trim()) {
132
- return 'Error: pattern must be a non-empty string.';
133
- }
134
- // Validate output_mode
135
- if (outputMode !== 'content' && outputMode !== 'files_with_matches' && outputMode !== 'count') {
136
- return 'Error: output_mode must be "content", "files_with_matches", or "count".';
137
- }
138
- try {
139
- const searchPath = pathArg && typeof pathArg === 'string'
140
- ? resolveFilePath(workingDir, pathArg)
141
- : workingDir;
142
- const plannedWindow = Math.max(0, offset) + Math.max(1, headLimit);
143
- const maxResults = Math.max(plannedWindow + 10, headLimit * 2);
144
- // Create regex with appropriate flags
145
- const flags = caseInsensitive ? 'gi' : 'g';
146
- const dotallFlags = multiline ? (caseInsensitive ? 'gis' : 'gs') : flags;
147
- const regex = new RegExp(pattern, dotallFlags);
148
- // Perform search
149
- const matches = searchFiles(searchPath, regex, {
150
- globPattern: typeof globPattern === 'string' ? globPattern : undefined,
151
- fileType: typeof fileType === 'string' ? fileType : undefined,
152
- multiline,
153
- }, maxResults);
154
- // Apply offset and head_limit
155
- const totalMatches = matches.length;
156
- const filteredMatches = applyOffsetAndLimit(matches, offset, headLimit);
157
- const truncated = totalMatches > filteredMatches.length;
158
- const capped = totalMatches >= maxResults;
159
- // Format output based on mode
160
- let result;
161
- switch (outputMode) {
162
- case 'content':
163
- result = formatContentOutput(filteredMatches, {
164
- showLineNumbers,
165
- beforeContext: contextLines || beforeContext,
166
- afterContext: contextLines || afterContext,
167
- searchPath,
168
- });
169
- break;
170
- case 'count':
171
- result = formatCountOutput(filteredMatches, searchPath);
172
- break;
173
- case 'files_with_matches':
174
- default:
175
- result = formatFilesOutput(filteredMatches, searchPath);
176
- break;
177
- }
178
- // Add truncation notice
179
- if (truncated) {
180
- result += `\n\n... [${totalMatches - filteredMatches.length} more matches truncated. Use head_limit parameter to see more]`;
181
- }
182
- if (capped) {
183
- result += `\n\nSearch guard: stopped after ${maxResults} matches to avoid context overflow. Narrow the glob/type filters or raise head_limit only if necessary.`;
184
- }
185
- return result;
186
- }
187
- catch (error) {
188
- return buildError('grep search', error, {
189
- pattern: String(pattern),
190
- path: pathArg ? String(pathArg) : undefined,
191
- output_mode: String(outputMode),
192
- });
193
- }
194
- },
195
- },
196
- ];
197
- }
198
- function resolveBooleanFlag(args, primary, alias, defaultValue) {
199
- const primaryVal = args[primary];
200
- const aliasVal = args[alias];
201
- if (primaryVal === false || aliasVal === false) {
202
- return false;
203
- }
204
- if (primaryVal === true || aliasVal === true) {
205
- return true;
206
- }
207
- return defaultValue;
208
- }
209
- function resolveNumberFlag(args, primary, alias, defaultValue) {
210
- const primaryVal = args[primary];
211
- const aliasVal = args[alias];
212
- if (typeof primaryVal === 'number') {
213
- return primaryVal;
214
- }
215
- if (typeof aliasVal === 'number') {
216
- return aliasVal;
217
- }
218
- return defaultValue;
219
- }
220
- function resolveFilePath(workingDir, path) {
221
- const normalized = path.trim();
222
- return normalized.startsWith('/') ? normalized : join(workingDir, normalized);
223
- }
224
- function searchFiles(searchPath, regex, options, maxResults = Infinity) {
225
- const results = [];
226
- const maxMatches = Number.isFinite(maxResults) && maxResults > 0 ? maxResults : Infinity;
227
- const ignoredDirs = new Set([
228
- '.git', 'node_modules', 'dist', '.next', 'build', 'coverage',
229
- '.turbo', '.cache', '__pycache__', '.pytest_cache', '.venv', 'venv',
230
- '.erosolar',
231
- ]);
232
- function search(currentPath) {
233
- if (results.length >= maxMatches) {
234
- return;
235
- }
236
- try {
237
- const stat = statSync(currentPath);
238
- if (stat.isDirectory()) {
239
- const entries = readdirSync(currentPath);
240
- for (const entry of entries) {
241
- if (ignoredDirs.has(entry))
242
- continue;
243
- if (results.length >= maxMatches)
244
- break;
245
- search(join(currentPath, entry));
246
- }
247
- }
248
- else if (stat.isFile()) {
249
- if (results.length >= maxMatches) {
250
- return;
251
- }
252
- // Filter by file type or glob
253
- if (options.fileType && !matchesFileType(currentPath, options.fileType)) {
254
- return;
255
- }
256
- if (options.globPattern && !matchesGlob(currentPath, options.globPattern)) {
257
- return;
258
- }
259
- // Skip binary files
260
- if (isBinaryFile(currentPath)) {
261
- return;
262
- }
263
- // Skip files that are too large to prevent memory exhaustion
264
- if (stat.size > MAX_GREP_FILE_SIZE) {
265
- return;
266
- }
267
- // Read and search file
268
- const content = readFileSync(currentPath, 'utf-8');
269
- if (options.multiline) {
270
- // Multiline mode: search entire content
271
- const matches = content.match(regex);
272
- if (matches) {
273
- for (const match of matches) {
274
- if (results.length >= maxMatches)
275
- break;
276
- results.push({
277
- file: currentPath,
278
- line: 1, // In multiline, line numbers are approximate
279
- content: match,
280
- match,
281
- });
282
- }
283
- }
284
- }
285
- else {
286
- // Line-by-line mode
287
- const lines = content.split('\n');
288
- lines.forEach((line, index) => {
289
- if (results.length >= maxMatches)
290
- return;
291
- const matches = line.match(regex);
292
- if (matches) {
293
- results.push({
294
- file: currentPath,
295
- line: index + 1,
296
- content: line,
297
- match: matches[0],
298
- });
299
- }
300
- });
301
- }
302
- }
303
- }
304
- catch (error) {
305
- // Silently ignore permission errors
306
- }
307
- }
308
- search(searchPath);
309
- return results;
310
- }
311
- function applyOffsetAndLimit(matches, offset, headLimit) {
312
- let result = matches;
313
- if (offset > 0) {
314
- result = result.slice(offset);
315
- }
316
- if (headLimit !== undefined && headLimit > 0) {
317
- result = result.slice(0, headLimit);
318
- }
319
- return result;
320
- }
321
- function formatContentOutput(matches, options) {
322
- if (matches.length === 0) {
323
- return 'No matches found.';
324
- }
325
- const lines = [];
326
- for (const match of matches) {
327
- const relPath = relative(options.searchPath, match.file);
328
- const displayPath = relPath && !relPath.startsWith('..') ? relPath : match.file;
329
- if (options.showLineNumbers) {
330
- lines.push(`${displayPath}:${match.line}:${match.content}`);
331
- }
332
- else {
333
- lines.push(`${displayPath}:${match.content}`);
334
- }
335
- }
336
- return lines.join('\n');
337
- }
338
- function formatFilesOutput(matches, searchPath) {
339
- if (matches.length === 0) {
340
- return 'No matches found.';
341
- }
342
- // Get unique file paths
343
- const uniqueFiles = [...new Set(matches.map(m => m.file))];
344
- const relativePaths = uniqueFiles.map(file => {
345
- const rel = relative(searchPath, file);
346
- return rel && !rel.startsWith('..') ? rel : file;
347
- });
348
- return relativePaths.join('\n');
349
- }
350
- function formatCountOutput(matches, searchPath) {
351
- if (matches.length === 0) {
352
- return 'No matches found.';
353
- }
354
- // Count matches per file
355
- const counts = new Map();
356
- for (const match of matches) {
357
- counts.set(match.file, (counts.get(match.file) || 0) + 1);
358
- }
359
- const lines = [];
360
- for (const [file, count] of counts) {
361
- const relPath = relative(searchPath, file);
362
- const displayPath = relPath && !relPath.startsWith('..') ? relPath : file;
363
- lines.push(`${count}:${displayPath}`);
364
- }
365
- return lines.join('\n');
366
- }
367
- function matchesFileType(filePath, fileType) {
368
- const ext = extname(filePath).toLowerCase();
369
- const typeMap = {
370
- js: ['.js', '.jsx', '.mjs', '.cjs'],
371
- ts: ['.ts', '.tsx'],
372
- py: ['.py'],
373
- rust: ['.rs'],
374
- go: ['.go'],
375
- java: ['.java'],
376
- cpp: ['.cpp', '.cc', '.cxx', '.hpp', '.h'],
377
- c: ['.c', '.h'],
378
- ruby: ['.rb'],
379
- php: ['.php'],
380
- html: ['.html', '.htm'],
381
- css: ['.css', '.scss', '.sass'],
382
- json: ['.json'],
383
- yaml: ['.yaml', '.yml'],
384
- md: ['.md', '.markdown'],
385
- };
386
- const extensions = typeMap[fileType.toLowerCase()];
387
- return extensions ? extensions.includes(ext) : false;
388
- }
389
- function matchesGlob(filePath, globPattern) {
390
- const normalizedPath = filePath.replace(/\\/g, '/');
391
- const escaped = globPattern
392
- // Escape regex metacharacters before applying glob transforms
393
- .replace(/[.+^${}()|[\]\\]/g, '\\$&')
394
- .replace(/\*\*/g, '.*')
395
- .replace(/\*/g, '[^/]*')
396
- .replace(/\?/g, '.');
397
- const regex = new RegExp(`^${escaped}$`);
398
- return regex.test(normalizedPath);
399
- }
400
- function isBinaryFile(filePath) {
401
- const ext = extname(filePath).toLowerCase();
402
- const binaryExts = new Set([
403
- '.png', '.jpg', '.jpeg', '.gif', '.bmp', '.ico', '.svg',
404
- '.pdf', '.zip', '.tar', '.gz', '.7z', '.rar',
405
- '.exe', '.dll', '.so', '.dylib', '.bin',
406
- '.mp3', '.mp4', '.avi', '.mov', '.flv',
407
- '.woff', '.woff2', '.ttf', '.eot',
408
- ]);
409
- return binaryExts.has(ext);
410
- }
411
- //# sourceMappingURL=grepTools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grepTools.js","sourceRoot":"","sources":["../../src/tools/grepTools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,6EAA6E;AAC7E,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,0JAA0J;YACvK,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,+DAA+D;qBAC7E;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wEAAwE;qBACtF;oBACD,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,0HAA0H;qBACxI;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,yBAAyB;qBACvC;oBACD,CAAC,EAAE;wBACD,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,wCAAwC;qBACtD;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,kFAAkF;qBAChG;oBACD,CAAC,EAAE;wBACD,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,oDAAoD;qBAClE;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,4EAA4E;qBAC1F;oBACD,CAAC,EAAE;wBACD,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,+CAA+C;qBAC7D;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,6EAA6E;qBAC3F;oBACD,CAAC,EAAE;wBACD,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gDAAgD;qBAC9D;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uFAAuF;qBACrG;oBACD,CAAC,EAAE;wBACD,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,0DAA0D;qBACxE;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,0DAA0D;qBACxE;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wGAAwG;qBACtH;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,6FAA6F;qBAC3G;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,+HAA+H;qBAC7I;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,2DAA2D;qBACzE;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uEAAuE;qBACrF;iBACF;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;gBACrB,uEAAuE;gBACvE,oBAAoB,EAAE,IAAI;aAC3B;YACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;gBAChC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,oBAAoB,CAAC;gBAC/D,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBACnE,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,eAAe;gBAClF,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC3D,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC5D,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;gBAC7C,kDAAkD;gBAClD,MAAM,YAAY,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxF,0EAA0E;gBAC1E,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,QAAQ;oBACtD,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;oBACpB,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gBACvE,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEvE,mBAAmB;gBACnB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;oBACnD,OAAO,4CAA4C,CAAC;gBACtD,CAAC;gBAED,uBAAuB;gBACvB,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,oBAAoB,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;oBAC9F,OAAO,yEAAyE,CAAC;gBACnF,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;wBACvD,CAAC,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC;wBACtC,CAAC,CAAC,UAAU,CAAC;oBACf,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;oBACnE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,EAAE,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;oBAE/D,sCAAsC;oBACtC,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC3C,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACzE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;oBAE/C,iBAAiB;oBACjB,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE;wBAC7C,WAAW,EAAE,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;wBACtE,QAAQ,EAAE,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;wBAC7D,SAAS;qBACV,EAAE,UAAU,CAAC,CAAC;oBAEf,8BAA8B;oBAC9B,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;oBACpC,MAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;oBACxE,MAAM,SAAS,GAAG,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC;oBACxD,MAAM,MAAM,GAAG,YAAY,IAAI,UAAU,CAAC;oBAE1C,8BAA8B;oBAC9B,IAAI,MAAc,CAAC;oBACnB,QAAQ,UAAU,EAAE,CAAC;wBACnB,KAAK,SAAS;4BACZ,MAAM,GAAG,mBAAmB,CAAC,eAAe,EAAE;gCAC5C,eAAe;gCACf,aAAa,EAAE,YAAY,IAAI,aAAa;gCAC5C,YAAY,EAAE,YAAY,IAAI,YAAY;gCAC1C,UAAU;6BACX,CAAC,CAAC;4BACH,MAAM;wBACR,KAAK,OAAO;4BACV,MAAM,GAAG,iBAAiB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;4BACxD,MAAM;wBACR,KAAK,oBAAoB,CAAC;wBAC1B;4BACE,MAAM,GAAG,iBAAiB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;4BACxD,MAAM;oBACV,CAAC;oBAED,wBAAwB;oBACxB,IAAI,SAAS,EAAE,CAAC;wBACd,MAAM,IAAI,YAAY,YAAY,GAAG,eAAe,CAAC,MAAM,gEAAgE,CAAC;oBAC9H,CAAC;oBACD,IAAI,MAAM,EAAE,CAAC;wBACX,MAAM,IAAI,mCAAmC,UAAU,yGAAyG,CAAC;oBACnK,CAAC;oBAED,OAAO,MAAM,CAAC;gBAEhB,CAAC;gBAAC,OAAO,KAAc,EAAE,CAAC;oBACxB,OAAO,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE;wBACtC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;wBACxB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;wBAC3C,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC;qBAChC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAeD,SAAS,kBAAkB,CACzB,IAA6B,EAC7B,OAAe,EACf,KAAa,EACb,YAAqB;IAErB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAE7B,IAAI,UAAU,KAAK,KAAK,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,UAAU,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,iBAAiB,CACxB,IAA6B,EAC7B,OAAe,EACf,KAAa,EACb,YAAoB;IAEpB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAE7B,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB,EAAE,IAAY;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,OAAO,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,WAAW,CAClB,UAAkB,EAClB,KAAa,EACb,OAAsB,EACtB,aAAqB,QAAQ;IAE7B,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;QAC1B,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU;QAC5D,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM;QACnE,WAAW;KACZ,CAAC,CAAC;IAEH,SAAS,MAAM,CAAC,WAAmB;QACjC,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;YAEnC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;gBACzC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;wBAAE,SAAS;oBACrC,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU;wBAAE,MAAM;oBACxC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;gBACzB,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;oBACjC,OAAO;gBACT,CAAC;gBACD,8BAA8B;gBAC9B,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACxE,OAAO;gBACT,CAAC;gBACD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC1E,OAAO;gBACT,CAAC;gBAED,oBAAoB;gBACpB,IAAI,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC9B,OAAO;gBACT,CAAC;gBAED,6DAA6D;gBAC7D,IAAI,IAAI,CAAC,IAAI,GAAG,kBAAkB,EAAE,CAAC;oBACnC,OAAO;gBACT,CAAC;gBAED,uBAAuB;gBACvB,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBAEnD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACtB,wCAAwC;oBACxC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACrC,IAAI,OAAO,EAAE,CAAC;wBACZ,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;4BAC5B,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU;gCAAE,MAAM;4BACxC,OAAO,CAAC,IAAI,CAAC;gCACX,IAAI,EAAE,WAAW;gCACjB,IAAI,EAAE,CAAC,EAAE,6CAA6C;gCACtD,OAAO,EAAE,KAAK;gCACd,KAAK;6BACN,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,oBAAoB;oBACpB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;wBAC5B,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU;4BAAE,OAAO;wBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAClC,IAAI,OAAO,EAAE,CAAC;4BACZ,OAAO,CAAC,IAAI,CAAC;gCACX,IAAI,EAAE,WAAW;gCACjB,IAAI,EAAE,KAAK,GAAG,CAAC;gCACf,OAAO,EAAE,IAAI;gCACb,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;6BAClB,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oCAAoC;QACtC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,CAAC;IACnB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAAsB,EACtB,MAAc,EACd,SAAkB;IAElB,IAAI,MAAM,GAAG,OAAO,CAAC;IAErB,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAAsB,EACtB,OAAsG;IAEtG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAEhF,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAsB,EAAE,UAAkB;IACnE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,wBAAwB;IACxB,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC3C,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAsB,EAAE,UAAkB;IACnE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,yBAAyB;IACzB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,WAAW,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB,EAAE,QAAgB;IACzD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,OAAO,GAA6B;QACxC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QACnC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;QACnB,EAAE,EAAE,CAAC,KAAK,CAAC;QACX,IAAI,EAAE,CAAC,KAAK,CAAC;QACb,EAAE,EAAE,CAAC,KAAK,CAAC;QACX,IAAI,EAAE,CAAC,OAAO,CAAC;QACf,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;QAC1C,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QACf,IAAI,EAAE,CAAC,KAAK,CAAC;QACb,GAAG,EAAE,CAAC,MAAM,CAAC;QACb,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;QACvB,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QAC/B,IAAI,EAAE,CAAC,OAAO,CAAC;QACf,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;QACvB,EAAE,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC;KACzB,CAAC;IAEF,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IACnD,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACvD,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB,EAAE,WAAmB;IACxD,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,WAAW;QACzB,8DAA8D;SAC7D,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC;SACpC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;SACtB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;SACvB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEvB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,YAAY,CAAC,QAAgB;IACpC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;QACzB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;QACvD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;QAC5C,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM;QACvC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;QACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;KAClC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { ToolDefinition } from '../core/toolRuntime.js';
2
- import { type AskUserOption, type AskUserQuestion } from '../utils/askUserPrompt.js';
3
- export type QuestionOption = AskUserOption;
4
- export type Question = AskUserQuestion;
5
- export declare function createInteractionTools(): ToolDefinition[];
6
- //# sourceMappingURL=interactionTools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interactionTools.d.ts","sourceRoot":"","sources":["../../src/tools/interactionTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAM7D,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAC;AAInC,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC;AAC3C,MAAM,MAAM,QAAQ,GAAG,eAAe,CAAC;AAEvC,wBAAgB,sBAAsB,IAAI,cAAc,EAAE,CAyNzD"}
@@ -1,209 +0,0 @@
1
- import { listSecretDefinitions, setSecretValue, } from '../core/secretStore.js';
2
- import { formatAskUserPrompt, MAX_ASK_USER_OPTIONS, } from '../utils/askUserPrompt.js';
3
- import { display } from '../ui/display.js';
4
- import { theme } from '../ui/theme.js';
5
- export function createInteractionTools() {
6
- return [
7
- {
8
- name: 'AskUserQuestion',
9
- description: `Use this tool when you need to ask the user questions during execution. This allows you to:
10
- 1. Gather user preferences or requirements
11
- 2. Clarify ambiguous instructions
12
- 3. Get decisions on implementation choices as you work
13
- 4. Offer choices to the user about what direction to take
14
-
15
- Usage notes:
16
- - Users will always be able to select "Other" to provide custom text input
17
- - Use multiSelect: true to allow multiple answers to be selected for a question`,
18
- parameters: {
19
- type: 'object',
20
- properties: {
21
- questions: {
22
- description: 'Questions to ask the user (1-4 questions)',
23
- type: 'array',
24
- items: {
25
- type: 'object',
26
- properties: {
27
- question: {
28
- type: 'string',
29
- description: 'The complete question to ask the user. Should be clear, specific, and end with a question mark. Example: "Which library should we use for date formatting?" If multiSelect is true, phrase it accordingly, e.g. "Which features do you want to enable?"',
30
- },
31
- header: {
32
- type: 'string',
33
- description: 'Very short label displayed as a chip/tag (max 12 chars). Examples: "Auth method", "Library", "Approach".',
34
- },
35
- options: {
36
- type: 'array',
37
- description: 'The available choices for this question. Must have 2-9 options (supports 5 more than before). Each option should be a distinct, mutually exclusive choice (unless multiSelect is enabled). There should be no "Other" option, that will be provided automatically.',
38
- minItems: 2,
39
- maxItems: MAX_ASK_USER_OPTIONS,
40
- items: {
41
- type: 'object',
42
- properties: {
43
- label: {
44
- type: 'string',
45
- description: 'The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.',
46
- },
47
- description: {
48
- type: 'string',
49
- description: 'Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.',
50
- },
51
- },
52
- required: ['label', 'description'],
53
- additionalProperties: false,
54
- },
55
- },
56
- multiSelect: {
57
- type: 'boolean',
58
- description: 'Set to true to allow the user to select multiple options instead of just one. Use when choices are not mutually exclusive.',
59
- },
60
- },
61
- required: ['question', 'header', 'options', 'multiSelect'],
62
- additionalProperties: false,
63
- },
64
- },
65
- answers: {
66
- type: 'object',
67
- description: 'User answers collected by the permission component',
68
- },
69
- },
70
- required: ['questions'],
71
- },
72
- handler: async (args) => {
73
- const questions = args['questions'];
74
- const answers = args['answers'];
75
- if (!questions || !Array.isArray(questions)) {
76
- return 'Error: questions parameter is required and must be an array.';
77
- }
78
- if (answers) {
79
- // Answers were already provided (e.g., by an interactive UI layer)
80
- let output = 'šŸ“‹ User Responses:\n\n';
81
- for (const [key, value] of Object.entries(answers)) {
82
- output += `${key}: ${value}\n`;
83
- }
84
- return output;
85
- }
86
- if (!process.stdin.isTTY || !process.stdout.isTTY) {
87
- return 'Interactive input is unavailable (non-TTY).';
88
- }
89
- const userAnswers = {};
90
- try {
91
- const askInput = async (promptLine) => {
92
- if (promptLine) {
93
- display.showInlinePanel([promptLine]);
94
- }
95
- const answer = await display.captureUserInput({ trim: true, resetBuffer: true });
96
- return answer.trim();
97
- };
98
- for (let i = 0; i < questions.length; i++) {
99
- const q = questions[i];
100
- if (!q)
101
- continue;
102
- const { lines, displayOptions } = formatAskUserPrompt(q, { maxOptions: MAX_ASK_USER_OPTIONS });
103
- display.showInlinePanel(lines);
104
- const answer = await askInput();
105
- if (q.multiSelect) {
106
- // Handle multi-select
107
- const selections = answer
108
- .split(',')
109
- .map((s) => s.trim())
110
- .filter((s) => s.length > 0);
111
- const selectedOptions = [];
112
- for (const sel of selections) {
113
- const idx = parseInt(sel, 10);
114
- if (idx >= 1 && idx <= displayOptions.length) {
115
- const option = displayOptions[idx - 1];
116
- if (option) {
117
- selectedOptions.push(option.label);
118
- }
119
- }
120
- else if (idx === displayOptions.length + 1) {
121
- display.showInlinePanel([...lines, theme.ui.muted('Enter custom value:')]);
122
- const customAnswer = await askInput();
123
- selectedOptions.push(customAnswer);
124
- }
125
- }
126
- userAnswers[q.header] = selectedOptions.join(', ');
127
- }
128
- else {
129
- // Handle single select
130
- const idx = parseInt(answer, 10);
131
- if (idx >= 1 && idx <= displayOptions.length) {
132
- const option = displayOptions[idx - 1];
133
- if (option) {
134
- userAnswers[q.header] = option.label;
135
- }
136
- else {
137
- userAnswers[q.header] = 'Invalid selection';
138
- }
139
- }
140
- else if (idx === displayOptions.length + 1) {
141
- display.showInlinePanel([...lines, theme.ui.muted('Enter custom value:')]);
142
- const customAnswer = await askInput();
143
- userAnswers[q.header] = customAnswer;
144
- }
145
- else {
146
- userAnswers[q.header] = 'Invalid selection';
147
- }
148
- }
149
- display.clearInlinePanel();
150
- }
151
- let output = '\nšŸ“‹ User Responses:\n\n';
152
- for (const [key, value] of Object.entries(userAnswers)) {
153
- output += `${key}: ${value}\n`;
154
- }
155
- return output;
156
- }
157
- finally {
158
- display.clearInlinePanel();
159
- }
160
- },
161
- },
162
- {
163
- name: 'PromptUserInput',
164
- description: 'Prompt the user for input (e.g., API keys, tokens, short answers). If a secretId is provided, the value is stored securely and exported to process.env.',
165
- parameters: {
166
- type: 'object',
167
- properties: {
168
- prompt: { type: 'string', description: 'Prompt to display', minLength: 1 },
169
- secretId: {
170
- type: 'string',
171
- enum: listSecretDefinitions().map((s) => s.id),
172
- description: 'Optional secret to store (e.g., OPENAI_API_KEY).',
173
- },
174
- defaultValue: { type: 'string', description: 'Optional default to use if user submits blank.' },
175
- },
176
- required: ['prompt'],
177
- additionalProperties: false,
178
- },
179
- handler: async (args) => {
180
- const prompt = typeof args['prompt'] === 'string' ? args['prompt'].trim() : '';
181
- const secretId = typeof args['secretId'] === 'string' ? args['secretId'] : null;
182
- const defaultValue = typeof args['defaultValue'] === 'string' ? args['defaultValue'] : '';
183
- if (!prompt) {
184
- return 'Error: prompt is required.';
185
- }
186
- if (!process.stdin.isTTY) {
187
- return 'Interactive input is unavailable (non-TTY). Provide the value directly or use /secrets.';
188
- }
189
- const value = await askSingleQuestion(`${prompt}${secretId ? ' (input hidden is not supported; paste carefully)' : ''}: `);
190
- const finalValue = value || defaultValue;
191
- if (!finalValue) {
192
- return 'No input provided.';
193
- }
194
- if (secretId) {
195
- setSecretValue(secretId, finalValue);
196
- return `Saved secret ${secretId}.`;
197
- }
198
- return `Input received: ${finalValue}`;
199
- },
200
- },
201
- ];
202
- }
203
- async function askSingleQuestion(message) {
204
- display.showInlinePanel([message]);
205
- const answer = await display.captureUserInput({ trim: true, resetBuffer: true });
206
- display.clearInlinePanel();
207
- return answer.trim();
208
- }
209
- //# sourceMappingURL=interactionTools.js.map