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,916 +0,0 @@
1
- /**
2
- * Browser Automation Tools - AI-driven browser control and automation
3
- *
4
- * Provides browser-use-like functionality for AI agents:
5
- * - Browser session management
6
- * - Navigation and interaction
7
- * - Authentication helpers
8
- * - Cookie/session persistence
9
- * - Screenshot and content extraction
10
- * - Form filling and submission
11
- *
12
- * @license MIT
13
- * @author Bo Shang
14
- */
15
- import { getDefaultBrowserSessionManager, } from '../browser/BrowserSessionManager.js';
16
- // Singleton manager for tools
17
- let sessionManager = null;
18
- function getManager() {
19
- if (!sessionManager) {
20
- sessionManager = getDefaultBrowserSessionManager();
21
- }
22
- return sessionManager;
23
- }
24
- /**
25
- * Create browser automation tools
26
- */
27
- export function createBrowserAutomationTools() {
28
- return [
29
- // Session Management Tools
30
- {
31
- name: 'browser_create_session',
32
- description: `Create a new browser session for web automation.
33
-
34
- Creates a browser instance that can be controlled programmatically.
35
- Sessions persist cookies and authentication state across operations.
36
-
37
- Features:
38
- - Multiple browser types (Chromium, Firefox, WebKit)
39
- - Headless or headed mode
40
- - Stealth mode for avoiding bot detection
41
- - Proxy support
42
- - Custom viewport and user agent
43
-
44
- Example: Create a session for automated testing or web scraping.`,
45
- parameters: {
46
- type: 'object',
47
- properties: {
48
- sessionId: {
49
- type: 'string',
50
- description: 'Unique identifier for the session (auto-generated if not provided)',
51
- },
52
- browserType: {
53
- type: 'string',
54
- enum: ['chromium', 'firefox', 'webkit'],
55
- description: 'Browser engine to use (default: chromium)',
56
- },
57
- headless: {
58
- type: 'boolean',
59
- description: 'Run browser in headless mode (default: true)',
60
- },
61
- stealthMode: {
62
- type: 'boolean',
63
- description: 'Enable anti-bot-detection measures (default: false)',
64
- },
65
- viewport: {
66
- type: 'object',
67
- properties: {
68
- width: { type: 'number' },
69
- height: { type: 'number' },
70
- },
71
- description: 'Browser viewport size (default: 1920x1080)',
72
- },
73
- userAgent: {
74
- type: 'string',
75
- description: 'Custom user agent string',
76
- },
77
- proxy: {
78
- type: 'object',
79
- properties: {
80
- server: { type: 'string' },
81
- username: { type: 'string' },
82
- password: { type: 'string' },
83
- },
84
- description: 'Proxy configuration',
85
- },
86
- timeout: {
87
- type: 'number',
88
- description: 'Default timeout in milliseconds (default: 30000)',
89
- },
90
- },
91
- },
92
- handler: async (args) => {
93
- const config = {
94
- sessionId: args['sessionId'] || `session-${Date.now()}`,
95
- browserType: args['browserType'],
96
- headless: args['headless'] !== false,
97
- stealthMode: args['stealthMode'] === true,
98
- viewport: args['viewport'],
99
- userAgent: args['userAgent'],
100
- proxy: args['proxy'],
101
- timeout: args['timeout'],
102
- };
103
- try {
104
- const sessionId = await getManager().createSession(config);
105
- const info = getManager().getSessionInfo(sessionId);
106
- return `✅ Browser session created
107
-
108
- Session ID: ${sessionId}
109
- Browser: ${config.browserType || 'chromium'}
110
- Headless: ${config.headless !== false}
111
- Stealth Mode: ${config.stealthMode || false}
112
- Viewport: ${config.viewport ? `${config.viewport.width}x${config.viewport.height}` : '1920x1080'}
113
- ${info?.isAuthenticated ? `Authenticated: Yes (${info.authDomain})` : 'Authenticated: No'}
114
- ${info?.cookies?.length ? `Stored Cookies: ${info.cookies.length}` : ''}
115
-
116
- The session is ready for navigation and interaction.`;
117
- }
118
- catch (error) {
119
- return `❌ Failed to create browser session: ${error instanceof Error ? error.message : String(error)}`;
120
- }
121
- },
122
- },
123
- {
124
- name: 'browser_navigate',
125
- description: `Navigate to a URL in an active browser session.
126
-
127
- Loads a webpage and waits for it to be ready.
128
- Supports different wait strategies for SPAs and dynamic content.
129
-
130
- Use this to:
131
- - Open websites
132
- - Navigate between pages
133
- - Follow links programmatically`,
134
- parameters: {
135
- type: 'object',
136
- properties: {
137
- sessionId: {
138
- type: 'string',
139
- description: 'Session ID to use',
140
- },
141
- url: {
142
- type: 'string',
143
- description: 'URL to navigate to',
144
- },
145
- waitUntil: {
146
- type: 'string',
147
- enum: ['load', 'domcontentloaded', 'networkidle'],
148
- description: 'Wait strategy (default: domcontentloaded)',
149
- },
150
- },
151
- required: ['sessionId', 'url'],
152
- },
153
- handler: async (args) => {
154
- const sessionId = args['sessionId'];
155
- const url = args['url'];
156
- const waitUntil = args['waitUntil'];
157
- const result = await getManager().navigateTo(sessionId, url, { waitUntil });
158
- if (result.success) {
159
- return `✅ Navigation successful
160
-
161
- URL: ${result.url}
162
- Title: ${result.title}`;
163
- }
164
- else {
165
- return `❌ Navigation failed: ${result.error}`;
166
- }
167
- },
168
- },
169
- // Authentication Tools
170
- {
171
- name: 'browser_login',
172
- description: `Authenticate to a website using various methods.
173
-
174
- Supports multiple authentication types:
175
- - form: Fill login form and submit
176
- - basic: HTTP Basic Authentication
177
- - cookie: Load saved authentication cookies
178
- - token: Set Bearer token in headers
179
-
180
- For form authentication, provide selectors for username/password fields and submit button.
181
- Successful authentication state is saved and can be reused in future sessions.`,
182
- parameters: {
183
- type: 'object',
184
- properties: {
185
- sessionId: {
186
- type: 'string',
187
- description: 'Session ID to use',
188
- },
189
- authType: {
190
- type: 'string',
191
- enum: ['form', 'basic', 'cookie', 'token'],
192
- description: 'Authentication method',
193
- },
194
- loginUrl: {
195
- type: 'string',
196
- description: 'URL of the login page (for form auth)',
197
- },
198
- username: {
199
- type: 'string',
200
- description: 'Username or email',
201
- },
202
- password: {
203
- type: 'string',
204
- description: 'Password',
205
- },
206
- token: {
207
- type: 'string',
208
- description: 'Authentication token (for token auth)',
209
- },
210
- usernameSelector: {
211
- type: 'string',
212
- description: 'CSS selector for username field (default: input[name="username"], input[type="email"])',
213
- },
214
- passwordSelector: {
215
- type: 'string',
216
- description: 'CSS selector for password field (default: input[type="password"])',
217
- },
218
- submitSelector: {
219
- type: 'string',
220
- description: 'CSS selector for submit button (default: button[type="submit"])',
221
- },
222
- successUrl: {
223
- type: 'string',
224
- description: 'URL pattern that indicates successful login',
225
- },
226
- successSelector: {
227
- type: 'string',
228
- description: 'CSS selector that appears after successful login',
229
- },
230
- },
231
- required: ['sessionId', 'authType'],
232
- },
233
- handler: async (args) => {
234
- const sessionId = args['sessionId'];
235
- const authType = args['authType'];
236
- const authConfig = {
237
- type: authType,
238
- credentials: {
239
- username: args['username'],
240
- password: args['password'],
241
- token: args['token'],
242
- },
243
- loginUrl: args['loginUrl'],
244
- formSelectors: authType === 'form' ? {
245
- usernameField: args['usernameSelector'] || 'input[name="username"], input[type="email"], input[name="email"]',
246
- passwordField: args['passwordSelector'] || 'input[type="password"]',
247
- submitButton: args['submitSelector'] || 'button[type="submit"], input[type="submit"]',
248
- } : undefined,
249
- successUrl: args['successUrl'],
250
- successSelector: args['successSelector'],
251
- };
252
- const result = await getManager().authenticate(sessionId, authConfig);
253
- if (result.success) {
254
- const info = getManager().getSessionInfo(sessionId);
255
- return `✅ Authentication successful
256
-
257
- ${result.message}
258
- ${info?.authDomain ? `Domain: ${info.authDomain}` : ''}
259
- Cookies saved for future sessions.`;
260
- }
261
- else {
262
- return `❌ Authentication failed: ${result.message}`;
263
- }
264
- },
265
- },
266
- // Interaction Tools
267
- {
268
- name: 'browser_click',
269
- description: `Click on an element in the browser.
270
-
271
- Uses CSS selectors to find and click elements.
272
- Waits for the element to be visible before clicking.
273
-
274
- Examples:
275
- - Click a button: button.submit-btn
276
- - Click a link: a[href="/dashboard"]
277
- - Click by text: text="Sign In"`,
278
- parameters: {
279
- type: 'object',
280
- properties: {
281
- sessionId: {
282
- type: 'string',
283
- description: 'Session ID to use',
284
- },
285
- selector: {
286
- type: 'string',
287
- description: 'CSS selector or text selector for the element',
288
- },
289
- timeout: {
290
- type: 'number',
291
- description: 'Timeout in milliseconds (default: 10000)',
292
- },
293
- force: {
294
- type: 'boolean',
295
- description: 'Force click even if element is not visible',
296
- },
297
- },
298
- required: ['sessionId', 'selector'],
299
- },
300
- handler: async (args) => {
301
- const sessionId = args['sessionId'];
302
- const selector = args['selector'];
303
- const timeout = args['timeout'];
304
- const force = args['force'];
305
- const result = await getManager().click(sessionId, selector, { timeout, force });
306
- if (result.success) {
307
- return `✅ Clicked element: ${selector}`;
308
- }
309
- else {
310
- return `❌ Failed to click: ${result.error}`;
311
- }
312
- },
313
- },
314
- {
315
- name: 'browser_type',
316
- description: `Type text into an input field.
317
-
318
- Simulates human-like typing with configurable delay.
319
- Can optionally clear the field before typing.
320
-
321
- Use for:
322
- - Filling form fields
323
- - Search inputs
324
- - Text areas`,
325
- parameters: {
326
- type: 'object',
327
- properties: {
328
- sessionId: {
329
- type: 'string',
330
- description: 'Session ID to use',
331
- },
332
- selector: {
333
- type: 'string',
334
- description: 'CSS selector for the input element',
335
- },
336
- text: {
337
- type: 'string',
338
- description: 'Text to type',
339
- },
340
- delay: {
341
- type: 'number',
342
- description: 'Delay between keystrokes in ms (default: 50)',
343
- },
344
- clear: {
345
- type: 'boolean',
346
- description: 'Clear field before typing (default: false)',
347
- },
348
- },
349
- required: ['sessionId', 'selector', 'text'],
350
- },
351
- handler: async (args) => {
352
- const sessionId = args['sessionId'];
353
- const selector = args['selector'];
354
- const text = args['text'];
355
- const delay = args['delay'];
356
- const clear = args['clear'];
357
- const result = await getManager().type(sessionId, selector, text, { delay, clear });
358
- if (result.success) {
359
- return `✅ Typed "${text.slice(0, 50)}${text.length > 50 ? '...' : ''}" into ${selector}`;
360
- }
361
- else {
362
- return `❌ Failed to type: ${result.error}`;
363
- }
364
- },
365
- },
366
- {
367
- name: 'browser_fill',
368
- description: `Fill an input field instantly (faster than type).
369
-
370
- Sets the value of an input field directly.
371
- Use this for quick form filling when typing simulation isn't needed.`,
372
- parameters: {
373
- type: 'object',
374
- properties: {
375
- sessionId: {
376
- type: 'string',
377
- description: 'Session ID to use',
378
- },
379
- selector: {
380
- type: 'string',
381
- description: 'CSS selector for the input element',
382
- },
383
- value: {
384
- type: 'string',
385
- description: 'Value to fill',
386
- },
387
- },
388
- required: ['sessionId', 'selector', 'value'],
389
- },
390
- handler: async (args) => {
391
- const sessionId = args['sessionId'];
392
- const selector = args['selector'];
393
- const value = args['value'];
394
- const result = await getManager().fill(sessionId, selector, value);
395
- if (result.success) {
396
- return `✅ Filled ${selector} with "${value.slice(0, 50)}${value.length > 50 ? '...' : ''}"`;
397
- }
398
- else {
399
- return `❌ Failed to fill: ${result.error}`;
400
- }
401
- },
402
- },
403
- {
404
- name: 'browser_select',
405
- description: `Select an option from a dropdown menu.
406
-
407
- Works with <select> elements.
408
- Can select by value, label, or index.`,
409
- parameters: {
410
- type: 'object',
411
- properties: {
412
- sessionId: {
413
- type: 'string',
414
- description: 'Session ID to use',
415
- },
416
- selector: {
417
- type: 'string',
418
- description: 'CSS selector for the select element',
419
- },
420
- value: {
421
- type: 'string',
422
- description: 'Option value to select',
423
- },
424
- },
425
- required: ['sessionId', 'selector', 'value'],
426
- },
427
- handler: async (args) => {
428
- const sessionId = args['sessionId'];
429
- const selector = args['selector'];
430
- const value = args['value'];
431
- const result = await getManager().selectOption(sessionId, selector, value);
432
- if (result.success) {
433
- return `✅ Selected "${value}" in ${selector}`;
434
- }
435
- else {
436
- return `❌ Failed to select: ${result.error}`;
437
- }
438
- },
439
- },
440
- {
441
- name: 'browser_checkbox',
442
- description: `Check or uncheck a checkbox.`,
443
- parameters: {
444
- type: 'object',
445
- properties: {
446
- sessionId: {
447
- type: 'string',
448
- description: 'Session ID to use',
449
- },
450
- selector: {
451
- type: 'string',
452
- description: 'CSS selector for the checkbox',
453
- },
454
- checked: {
455
- type: 'boolean',
456
- description: 'Whether to check (true) or uncheck (false)',
457
- },
458
- },
459
- required: ['sessionId', 'selector', 'checked'],
460
- },
461
- handler: async (args) => {
462
- const sessionId = args['sessionId'];
463
- const selector = args['selector'];
464
- const checked = args['checked'];
465
- const result = await getManager().setChecked(sessionId, selector, checked);
466
- if (result.success) {
467
- return `✅ ${checked ? 'Checked' : 'Unchecked'} ${selector}`;
468
- }
469
- else {
470
- return `❌ Failed to set checkbox: ${result.error}`;
471
- }
472
- },
473
- },
474
- {
475
- name: 'browser_upload_file',
476
- description: `Upload a file using a file input.`,
477
- parameters: {
478
- type: 'object',
479
- properties: {
480
- sessionId: {
481
- type: 'string',
482
- description: 'Session ID to use',
483
- },
484
- selector: {
485
- type: 'string',
486
- description: 'CSS selector for the file input',
487
- },
488
- filePath: {
489
- type: 'string',
490
- description: 'Path to the file to upload',
491
- },
492
- },
493
- required: ['sessionId', 'selector', 'filePath'],
494
- },
495
- handler: async (args) => {
496
- const sessionId = args['sessionId'];
497
- const selector = args['selector'];
498
- const filePath = args['filePath'];
499
- const result = await getManager().uploadFile(sessionId, selector, filePath);
500
- if (result.success) {
501
- return `✅ Uploaded file to ${selector}`;
502
- }
503
- else {
504
- return `❌ Failed to upload: ${result.error}`;
505
- }
506
- },
507
- },
508
- // Content Extraction Tools
509
- {
510
- name: 'browser_get_text',
511
- description: `Get the text content of an element.
512
-
513
- Extracts visible text from the specified element.
514
- Useful for reading labels, content, or verification.`,
515
- parameters: {
516
- type: 'object',
517
- properties: {
518
- sessionId: {
519
- type: 'string',
520
- description: 'Session ID to use',
521
- },
522
- selector: {
523
- type: 'string',
524
- description: 'CSS selector for the element',
525
- },
526
- },
527
- required: ['sessionId', 'selector'],
528
- },
529
- handler: async (args) => {
530
- const sessionId = args['sessionId'];
531
- const selector = args['selector'];
532
- const result = await getManager().getText(sessionId, selector);
533
- if (result.success) {
534
- return `Text content of ${selector}:\n\n${result.text}`;
535
- }
536
- else {
537
- return `❌ Failed to get text: ${result.error}`;
538
- }
539
- },
540
- },
541
- {
542
- name: 'browser_get_page_content',
543
- description: `Get the full HTML content of the current page.
544
-
545
- Returns the complete HTML source of the page.
546
- Useful for:
547
- - Analyzing page structure
548
- - Extracting data
549
- - Debugging`,
550
- parameters: {
551
- type: 'object',
552
- properties: {
553
- sessionId: {
554
- type: 'string',
555
- description: 'Session ID to use',
556
- },
557
- },
558
- required: ['sessionId'],
559
- },
560
- handler: async (args) => {
561
- const sessionId = args['sessionId'];
562
- const result = await getManager().getPageContent(sessionId);
563
- if (result.success) {
564
- const html = result.html || '';
565
- if (html.length > 50000) {
566
- // CRITICAL: Check if truncated portion might contain error indicators
567
- const truncatedPortion = html.slice(50000);
568
- const errorIndicators = ['error', 'failed', 'exception', '404', '500', 'denied', 'unauthorized'];
569
- const mayContainErrors = errorIndicators.some(indicator => truncatedPortion.toLowerCase().includes(indicator));
570
- let warning = '';
571
- if (mayContainErrors) {
572
- warning = '\n\n⚠️ WARNING: Truncated content may contain error indicators. Full content should be reviewed if operation appears to have failed.';
573
- }
574
- return `Page HTML (truncated to 50000 chars):\n\n${html.slice(0, 50000)}\n\n[... ${html.length - 50000} more characters truncated]${warning}`;
575
- }
576
- return `Page HTML:\n\n${html}`;
577
- }
578
- else {
579
- return `❌ Failed to get page content: ${result.error}`;
580
- }
581
- },
582
- },
583
- {
584
- name: 'browser_screenshot',
585
- description: `Take a screenshot of the current page.
586
-
587
- Captures the visible area or full page.
588
- Returns base64-encoded PNG image data or saves to file.`,
589
- parameters: {
590
- type: 'object',
591
- properties: {
592
- sessionId: {
593
- type: 'string',
594
- description: 'Session ID to use',
595
- },
596
- fullPage: {
597
- type: 'boolean',
598
- description: 'Capture full scrollable page (default: false)',
599
- },
600
- path: {
601
- type: 'string',
602
- description: 'File path to save screenshot (optional)',
603
- },
604
- },
605
- required: ['sessionId'],
606
- },
607
- handler: async (args) => {
608
- const sessionId = args['sessionId'];
609
- const fullPage = args['fullPage'];
610
- const path = args['path'];
611
- const result = await getManager().takeScreenshot(sessionId, { fullPage, path });
612
- if (result.success) {
613
- if (result.path) {
614
- return `✅ Screenshot saved to: ${result.path}`;
615
- }
616
- else {
617
- return `✅ Screenshot captured (base64):\n\ndata:image/png;base64,${result.data?.slice(0, 100)}...\n\n[${result.data?.length || 0} characters total]`;
618
- }
619
- }
620
- else {
621
- return `❌ Failed to take screenshot: ${result.error}`;
622
- }
623
- },
624
- },
625
- // Wait Tools
626
- {
627
- name: 'browser_wait_for',
628
- description: `Wait for an element to appear on the page.
629
-
630
- Useful for waiting for:
631
- - Dynamic content to load
632
- - AJAX responses
633
- - Animations to complete
634
- - Elements to become visible`,
635
- parameters: {
636
- type: 'object',
637
- properties: {
638
- sessionId: {
639
- type: 'string',
640
- description: 'Session ID to use',
641
- },
642
- selector: {
643
- type: 'string',
644
- description: 'CSS selector to wait for',
645
- },
646
- state: {
647
- type: 'string',
648
- enum: ['attached', 'visible', 'hidden'],
649
- description: 'Element state to wait for (default: visible)',
650
- },
651
- timeout: {
652
- type: 'number',
653
- description: 'Timeout in milliseconds (default: 30000)',
654
- },
655
- },
656
- required: ['sessionId', 'selector'],
657
- },
658
- handler: async (args) => {
659
- const sessionId = args['sessionId'];
660
- const selector = args['selector'];
661
- const state = args['state'];
662
- const timeout = args['timeout'];
663
- const result = await getManager().waitForSelector(sessionId, selector, { state, timeout });
664
- if (result.success) {
665
- return `✅ Element ${selector} is now ${state || 'visible'}`;
666
- }
667
- else {
668
- return `❌ Wait failed: ${result.error}`;
669
- }
670
- },
671
- },
672
- // JavaScript Execution
673
- {
674
- name: 'browser_execute_script',
675
- description: `Execute JavaScript in the browser context.
676
-
677
- Run custom JavaScript code on the page.
678
- Can return values from the page context.
679
-
680
- Use for:
681
- - Complex interactions not supported by other tools
682
- - Reading JavaScript variables
683
- - Triggering custom events`,
684
- parameters: {
685
- type: 'object',
686
- properties: {
687
- sessionId: {
688
- type: 'string',
689
- description: 'Session ID to use',
690
- },
691
- script: {
692
- type: 'string',
693
- description: 'JavaScript code to execute',
694
- },
695
- },
696
- required: ['sessionId', 'script'],
697
- },
698
- handler: async (args) => {
699
- const sessionId = args['sessionId'];
700
- const script = args['script'];
701
- const result = await getManager().executeScript(sessionId, script);
702
- if (result.success) {
703
- const resultStr = typeof result.result === 'object'
704
- ? JSON.stringify(result.result, null, 2)
705
- : String(result.result);
706
- return `✅ Script executed\n\nResult:\n${resultStr}`;
707
- }
708
- else {
709
- return `❌ Script execution failed: ${result.error}`;
710
- }
711
- },
712
- },
713
- // Cookie Management
714
- {
715
- name: 'browser_get_cookies',
716
- description: `Get all cookies from the browser session.
717
-
718
- Returns cookies for the current session.
719
- Can filter by specific URLs.`,
720
- parameters: {
721
- type: 'object',
722
- properties: {
723
- sessionId: {
724
- type: 'string',
725
- description: 'Session ID to use',
726
- },
727
- urls: {
728
- type: 'array',
729
- items: { type: 'string' },
730
- description: 'Filter cookies by URLs (optional)',
731
- },
732
- },
733
- required: ['sessionId'],
734
- },
735
- handler: async (args) => {
736
- const sessionId = args['sessionId'];
737
- const urls = args['urls'];
738
- const result = await getManager().getCookies(sessionId, urls);
739
- if (result.success) {
740
- const cookies = result.cookies || [];
741
- if (cookies.length === 0) {
742
- return 'No cookies found';
743
- }
744
- const cookieList = cookies.map(c => `- ${c.name}: ${c.value.slice(0, 30)}${c.value.length > 30 ? '...' : ''} (${c.domain})`).join('\n');
745
- return `Cookies (${cookies.length}):\n\n${cookieList}`;
746
- }
747
- else {
748
- return `❌ Failed to get cookies: ${result.error}`;
749
- }
750
- },
751
- },
752
- {
753
- name: 'browser_clear_cookies',
754
- description: `Clear all cookies from the browser session.
755
-
756
- Removes all cookies and resets authentication state.`,
757
- parameters: {
758
- type: 'object',
759
- properties: {
760
- sessionId: {
761
- type: 'string',
762
- description: 'Session ID to use',
763
- },
764
- },
765
- required: ['sessionId'],
766
- },
767
- handler: async (args) => {
768
- const sessionId = args['sessionId'];
769
- const result = await getManager().clearCookies(sessionId);
770
- if (result.success) {
771
- return '✅ Cookies cleared';
772
- }
773
- else {
774
- return `❌ Failed to clear cookies: ${result.error}`;
775
- }
776
- },
777
- },
778
- // Session Management
779
- {
780
- name: 'browser_close_session',
781
- description: `Close a browser session.
782
-
783
- Closes the browser and optionally saves cookies for future use.`,
784
- parameters: {
785
- type: 'object',
786
- properties: {
787
- sessionId: {
788
- type: 'string',
789
- description: 'Session ID to close',
790
- },
791
- saveCookies: {
792
- type: 'boolean',
793
- description: 'Save cookies before closing (default: true)',
794
- },
795
- },
796
- required: ['sessionId'],
797
- },
798
- handler: async (args) => {
799
- const sessionId = args['sessionId'];
800
- const saveCookies = args['saveCookies'] !== false;
801
- await getManager().closeSession(sessionId, saveCookies);
802
- return `✅ Session ${sessionId} closed${saveCookies ? ' (cookies saved)' : ''}`;
803
- },
804
- },
805
- {
806
- name: 'browser_list_sessions',
807
- description: `List all stored browser sessions.
808
-
809
- Shows sessions that have been saved and can be resumed.`,
810
- parameters: {
811
- type: 'object',
812
- properties: {},
813
- },
814
- handler: async () => {
815
- const sessions = getManager().listStoredSessions();
816
- if (sessions.length === 0) {
817
- return 'No stored sessions found';
818
- }
819
- const sessionInfo = sessions.map(id => {
820
- const info = getManager().getSessionInfo(id);
821
- if (info) {
822
- return `- ${id}
823
- Browser: ${info.browserType}
824
- Created: ${new Date(info.createdAt).toISOString()}
825
- Authenticated: ${info.isAuthenticated ? `Yes (${info.authDomain})` : 'No'}
826
- Cookies: ${info.cookies?.length || 0}`;
827
- }
828
- return `- ${id} (no info available)`;
829
- }).join('\n\n');
830
- return `Stored Sessions:\n\n${sessionInfo}`;
831
- },
832
- },
833
- {
834
- name: 'browser_delete_session',
835
- description: `Delete stored session data.
836
-
837
- Removes saved cookies and authentication state for a session.`,
838
- parameters: {
839
- type: 'object',
840
- properties: {
841
- sessionId: {
842
- type: 'string',
843
- description: 'Session ID to delete',
844
- },
845
- },
846
- required: ['sessionId'],
847
- },
848
- handler: async (args) => {
849
- const sessionId = args['sessionId'];
850
- const deleted = getManager().deleteStoredSession(sessionId);
851
- if (deleted) {
852
- return `✅ Session ${sessionId} data deleted`;
853
- }
854
- else {
855
- return `Session ${sessionId} not found in storage`;
856
- }
857
- },
858
- },
859
- // Form Automation
860
- {
861
- name: 'browser_fill_form',
862
- description: `Fill multiple form fields at once.
863
-
864
- Accepts a mapping of selectors to values and fills them all.
865
- More efficient than individual fill calls for complex forms.`,
866
- parameters: {
867
- type: 'object',
868
- properties: {
869
- sessionId: {
870
- type: 'string',
871
- description: 'Session ID to use',
872
- },
873
- fields: {
874
- type: 'object',
875
- additionalProperties: true,
876
- description: 'Object mapping selectors to values (selector: value pairs)',
877
- },
878
- submit: {
879
- type: 'string',
880
- description: 'Optional selector for submit button to click after filling',
881
- },
882
- },
883
- required: ['sessionId', 'fields'],
884
- },
885
- handler: async (args) => {
886
- const sessionId = args['sessionId'];
887
- const fields = args['fields'];
888
- const submit = args['submit'];
889
- const results = [];
890
- let hasError = false;
891
- for (const [selector, value] of Object.entries(fields)) {
892
- const result = await getManager().fill(sessionId, selector, value);
893
- if (result.success) {
894
- results.push(`✅ ${selector}: "${value.slice(0, 20)}${value.length > 20 ? '...' : ''}"`);
895
- }
896
- else {
897
- results.push(`❌ ${selector}: ${result.error}`);
898
- hasError = true;
899
- }
900
- }
901
- if (submit && !hasError) {
902
- const clickResult = await getManager().click(sessionId, submit);
903
- if (clickResult.success) {
904
- results.push(`✅ Form submitted via ${submit}`);
905
- }
906
- else {
907
- results.push(`❌ Submit failed: ${clickResult.error}`);
908
- }
909
- }
910
- return `Form Fill Results:\n\n${results.join('\n')}`;
911
- },
912
- },
913
- ];
914
- }
915
- export { getManager as getBrowserSessionManager };
916
- //# sourceMappingURL=browserAutomationTools.js.map