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 +0,0 @@
1
- {"version":3,"file":"devTools.js","sourceRoot":"","sources":["../../src/tools/devTools.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Email Tools - SMTP email sending capabilities
3
- *
4
- * Supports Gmail, Outlook, and custom SMTP servers with app password authentication.
5
- * Users configure their email credentials via /secrets or environment variables.
6
- */
7
- import type { ToolDefinition } from '../core/toolRuntime.js';
8
- interface EmailConfig {
9
- provider: string;
10
- host: string;
11
- port: number;
12
- secure: boolean;
13
- user: string;
14
- password: string;
15
- fromName?: string;
16
- }
17
- declare function getEmailConfig(): EmailConfig | null;
18
- export declare function createEmailTools(): ToolDefinition[];
19
- export type { EmailConfig };
20
- export { getEmailConfig };
21
- //# sourceMappingURL=emailTools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emailTools.d.ts","sourceRoot":"","sources":["../../src/tools/emailTools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAqC7D,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,iBAAS,cAAc,IAAI,WAAW,GAAG,IAAI,CA0B5C;AAsBD,wBAAgB,gBAAgB,IAAI,cAAc,EAAE,CAoXnD;AAgCD,YAAY,EAAE,WAAW,EAAE,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1,449 +0,0 @@
1
- /**
2
- * Email Tools - SMTP email sending capabilities
3
- *
4
- * Supports Gmail, Outlook, and custom SMTP servers with app password authentication.
5
- * Users configure their email credentials via /secrets or environment variables.
6
- */
7
- import * as nodemailer from 'nodemailer';
8
- import { getSecretValue } from '../core/secretStore.js';
9
- // SMTP provider presets
10
- const SMTP_PRESETS = {
11
- gmail: {
12
- host: 'smtp.gmail.com',
13
- port: 587,
14
- secure: false, // Uses STARTTLS
15
- },
16
- outlook: {
17
- host: 'smtp.office365.com',
18
- port: 587,
19
- secure: false,
20
- },
21
- hotmail: {
22
- host: 'smtp.office365.com',
23
- port: 587,
24
- secure: false,
25
- },
26
- yahoo: {
27
- host: 'smtp.mail.yahoo.com',
28
- port: 587,
29
- secure: false,
30
- },
31
- icloud: {
32
- host: 'smtp.mail.me.com',
33
- port: 587,
34
- secure: false,
35
- },
36
- zoho: {
37
- host: 'smtp.zoho.com',
38
- port: 587,
39
- secure: false,
40
- },
41
- };
42
- function getEmailConfig() {
43
- // Check secretStore first, then fall back to environment variables
44
- const provider = (getSecretValue('SMTP_PROVIDER') || process.env['SMTP_PROVIDER'] || 'gmail').toLowerCase();
45
- const user = getSecretValue('SMTP_USER') || process.env['SMTP_USER'] || process.env['EMAIL_USER'];
46
- const password = getSecretValue('SMTP_PASSWORD') || process.env['SMTP_PASSWORD'] || process.env['EMAIL_APP_PASSWORD'] || process.env['SMTP_APP_PASSWORD'];
47
- if (!user || !password) {
48
- return null;
49
- }
50
- // Get preset or custom config
51
- const preset = SMTP_PRESETS[provider];
52
- const customHost = getSecretValue('SMTP_HOST') || process.env['SMTP_HOST'];
53
- const customPort = getSecretValue('SMTP_PORT') || process.env['SMTP_PORT'];
54
- const fromName = getSecretValue('SMTP_FROM_NAME') || process.env['SMTP_FROM_NAME'] || process.env['EMAIL_FROM_NAME'];
55
- return {
56
- provider,
57
- host: customHost || preset?.host || 'smtp.gmail.com',
58
- port: parseInt(customPort || String(preset?.port || 587), 10),
59
- secure: process.env['SMTP_SECURE'] === 'true' || preset?.secure || false,
60
- user,
61
- password,
62
- fromName: fromName || undefined,
63
- };
64
- }
65
- async function createTransporter(config) {
66
- const transporter = nodemailer.createTransport({
67
- host: config.host,
68
- port: config.port,
69
- secure: config.secure,
70
- auth: {
71
- user: config.user,
72
- pass: config.password,
73
- },
74
- tls: {
75
- // Allow self-signed certificates for custom SMTP servers
76
- rejectUnauthorized: process.env['SMTP_REJECT_UNAUTHORIZED'] !== 'false',
77
- },
78
- });
79
- // Verify connection
80
- await transporter.verify();
81
- return transporter;
82
- }
83
- export function createEmailTools() {
84
- return [
85
- {
86
- name: 'send_email',
87
- description: `Send an email via SMTP. Supports Gmail, Outlook, Yahoo, iCloud, Zoho, and custom SMTP servers.
88
-
89
- Configuration (set via /secrets or environment variables):
90
- - SMTP_USER or EMAIL_USER: Your email address
91
- - SMTP_PASSWORD or EMAIL_APP_PASSWORD: Your app password (NOT your regular password)
92
- - SMTP_PROVIDER: gmail, outlook, yahoo, icloud, zoho (default: gmail)
93
- - SMTP_FROM_NAME: Display name for sent emails (optional)
94
-
95
- For Gmail:
96
- 1. Enable 2-Factor Authentication
97
- 2. Go to https://myaccount.google.com/apppasswords
98
- 3. Generate an app password for "Mail"
99
- 4. Use that app password as SMTP_PASSWORD
100
-
101
- For Outlook/Hotmail:
102
- 1. Go to https://account.live.com/proofs/AppPassword
103
- 2. Generate an app password
104
- 3. Use that as SMTP_PASSWORD
105
-
106
- Use cases:
107
- - Send notifications, reports, or alerts
108
- - Automated outreach (investors, leads, contacts)
109
- - Send formatted HTML emails with attachments
110
- - Batch email campaigns with personalization`,
111
- parameters: {
112
- type: 'object',
113
- properties: {
114
- to: {
115
- type: 'string',
116
- description: 'Recipient email address(es). For multiple recipients, use comma-separated values.',
117
- },
118
- subject: {
119
- type: 'string',
120
- description: 'Email subject line',
121
- },
122
- body: {
123
- type: 'string',
124
- description: 'Email body content. Can be plain text or HTML.',
125
- },
126
- html: {
127
- type: 'boolean',
128
- description: 'Set to true if body contains HTML content (default: false)',
129
- },
130
- cc: {
131
- type: 'string',
132
- description: 'CC recipient(s), comma-separated (optional)',
133
- },
134
- bcc: {
135
- type: 'string',
136
- description: 'BCC recipient(s), comma-separated (optional)',
137
- },
138
- reply_to: {
139
- type: 'string',
140
- description: 'Reply-To address (optional)',
141
- },
142
- attachments: {
143
- type: 'array',
144
- items: {
145
- type: 'object',
146
- properties: {
147
- filename: { type: 'string' },
148
- path: { type: 'string', description: 'File path to attach' },
149
- content: { type: 'string', description: 'Base64 encoded content (alternative to path)' },
150
- },
151
- },
152
- description: 'Array of attachments (optional)',
153
- },
154
- },
155
- required: ['to', 'subject', 'body'],
156
- },
157
- handler: async (args) => {
158
- const config = getEmailConfig();
159
- if (!config) {
160
- return `Email not configured. Please set up SMTP credentials:
161
-
162
- Required environment variables:
163
- - SMTP_USER or EMAIL_USER: Your email address
164
- - SMTP_PASSWORD or EMAIL_APP_PASSWORD: Your app password
165
-
166
- Optional:
167
- - SMTP_PROVIDER: gmail, outlook, yahoo, icloud, zoho (default: gmail)
168
- - SMTP_FROM_NAME: Display name for sent emails
169
-
170
- For Gmail, create an app password at: https://myaccount.google.com/apppasswords
171
- For Outlook, create an app password at: https://account.live.com/proofs/AppPassword
172
-
173
- Use /secrets to configure these values.`;
174
- }
175
- const to = args['to'];
176
- const subject = args['subject'];
177
- const body = args['body'];
178
- const isHtml = args['html'] === true;
179
- const cc = args['cc'];
180
- const bcc = args['bcc'];
181
- const replyTo = args['reply_to'];
182
- const attachments = args['attachments'];
183
- if (!to || !subject || !body) {
184
- return 'Error: to, subject, and body are required parameters.';
185
- }
186
- try {
187
- const transporter = await createTransporter(config);
188
- const fromAddress = config.fromName
189
- ? `"${config.fromName}" <${config.user}>`
190
- : config.user;
191
- const mailOptions = {
192
- from: fromAddress,
193
- to,
194
- subject,
195
- ...(isHtml ? { html: body } : { text: body }),
196
- ...(cc && { cc }),
197
- ...(bcc && { bcc }),
198
- ...(replyTo && { replyTo }),
199
- ...(attachments && {
200
- attachments: attachments.map(att => ({
201
- filename: att.filename,
202
- ...(att.path ? { path: att.path } : {}),
203
- ...(att.content ? { content: att.content, encoding: 'base64' } : {}),
204
- })),
205
- }),
206
- };
207
- const info = await transporter.sendMail(mailOptions);
208
- return `āœ… Email sent successfully!
209
-
210
- To: ${to}
211
- Subject: ${subject}
212
- Message ID: ${info.messageId}
213
- Provider: ${config.provider}
214
- ${cc ? `CC: ${cc}` : ''}
215
- ${bcc ? `BCC: ${bcc}` : ''}
216
- ${attachments?.length ? `Attachments: ${attachments.length} file(s)` : ''}
217
-
218
- Response: ${info.response || 'Accepted'}`;
219
- }
220
- catch (error) {
221
- const errorMessage = error instanceof Error ? error.message : String(error);
222
- // Provide helpful error messages
223
- if (errorMessage.includes('Invalid login') || errorMessage.includes('authentication')) {
224
- return `āŒ Authentication failed.
225
-
226
- Error: ${errorMessage}
227
-
228
- Common fixes:
229
- 1. Make sure you're using an APP PASSWORD, not your regular password
230
- 2. For Gmail: https://myaccount.google.com/apppasswords
231
- 3. For Outlook: https://account.live.com/proofs/AppPassword
232
- 4. Ensure 2-Factor Authentication is enabled on your account
233
- 5. Check that SMTP_USER matches the email account`;
234
- }
235
- if (errorMessage.includes('ENOTFOUND') || errorMessage.includes('ECONNREFUSED')) {
236
- return `āŒ Could not connect to SMTP server.
237
-
238
- Error: ${errorMessage}
239
-
240
- Current config:
241
- - Host: ${config.host}
242
- - Port: ${config.port}
243
- - Provider: ${config.provider}
244
-
245
- Try setting SMTP_HOST and SMTP_PORT manually if using a custom server.`;
246
- }
247
- return `āŒ Failed to send email: ${errorMessage}`;
248
- }
249
- },
250
- },
251
- {
252
- name: 'verify_email_config',
253
- description: 'Verify that email/SMTP configuration is correct and can connect to the mail server.',
254
- parameters: {
255
- type: 'object',
256
- properties: {},
257
- },
258
- handler: async () => {
259
- const config = getEmailConfig();
260
- if (!config) {
261
- return `āŒ Email not configured.
262
-
263
- Required environment variables:
264
- - SMTP_USER or EMAIL_USER
265
- - SMTP_PASSWORD or EMAIL_APP_PASSWORD
266
-
267
- Optional:
268
- - SMTP_PROVIDER: gmail, outlook, yahoo, icloud, zoho
269
- - SMTP_HOST, SMTP_PORT: For custom SMTP servers
270
- - SMTP_FROM_NAME: Display name
271
-
272
- Use /secrets to configure these values.`;
273
- }
274
- try {
275
- await createTransporter(config);
276
- return `āœ… Email configuration verified!
277
-
278
- Provider: ${config.provider}
279
- Host: ${config.host}
280
- Port: ${config.port}
281
- User: ${config.user}
282
- Secure: ${config.secure ? 'Yes (SSL/TLS)' : 'No (STARTTLS)'}
283
- From Name: ${config.fromName || '(not set)'}
284
-
285
- SMTP connection successful. You can now use send_email to send emails.`;
286
- }
287
- catch (error) {
288
- const errorMessage = error instanceof Error ? error.message : String(error);
289
- return `āŒ Email configuration verification failed.
290
-
291
- Provider: ${config.provider}
292
- Host: ${config.host}
293
- Port: ${config.port}
294
- User: ${config.user}
295
-
296
- Error: ${errorMessage}
297
-
298
- Common issues:
299
- 1. Wrong app password (must use app password, not regular password)
300
- 2. 2FA not enabled on email account
301
- 3. Wrong SMTP provider selected
302
- 4. Network/firewall blocking SMTP ports`;
303
- }
304
- },
305
- },
306
- {
307
- name: 'send_batch_emails',
308
- description: `Send personalized emails to multiple recipients in batch.
309
-
310
- Useful for:
311
- - Investor outreach campaigns
312
- - Lead nurturing sequences
313
- - Newsletter distribution
314
- - Bulk notifications with personalization
315
-
316
- Supports template variables: {{name}}, {{company}}, {{custom_field}}`,
317
- parameters: {
318
- type: 'object',
319
- properties: {
320
- recipients: {
321
- type: 'array',
322
- items: {
323
- type: 'object',
324
- properties: {
325
- email: { type: 'string', description: 'Recipient email' },
326
- name: { type: 'string', description: 'Recipient name for personalization' },
327
- company: { type: 'string', description: 'Company name (optional)' },
328
- custom: {
329
- type: 'object',
330
- description: 'Custom fields for template substitution',
331
- },
332
- },
333
- required: ['email'],
334
- },
335
- description: 'Array of recipients with personalization data',
336
- },
337
- subject_template: {
338
- type: 'string',
339
- description: 'Subject line template with {{variables}}',
340
- },
341
- body_template: {
342
- type: 'string',
343
- description: 'Email body template with {{variables}}',
344
- },
345
- html: {
346
- type: 'boolean',
347
- description: 'Set to true if body contains HTML (default: false)',
348
- },
349
- delay_ms: {
350
- type: 'number',
351
- description: 'Delay between emails in milliseconds (default: 1000). Helps avoid rate limits.',
352
- },
353
- },
354
- required: ['recipients', 'subject_template', 'body_template'],
355
- },
356
- handler: async (args) => {
357
- const config = getEmailConfig();
358
- if (!config) {
359
- return 'Email not configured. Use /secrets to set SMTP_USER and SMTP_PASSWORD.';
360
- }
361
- const recipients = args['recipients'];
362
- const subjectTemplate = args['subject_template'];
363
- const bodyTemplate = args['body_template'];
364
- const isHtml = args['html'] === true;
365
- const delayMs = args['delay_ms'] || 1000;
366
- if (!recipients?.length || !subjectTemplate || !bodyTemplate) {
367
- return 'Error: recipients, subject_template, and body_template are required.';
368
- }
369
- try {
370
- const transporter = await createTransporter(config);
371
- const fromAddress = config.fromName
372
- ? `"${config.fromName}" <${config.user}>`
373
- : config.user;
374
- const results = [];
375
- for (let i = 0; i < recipients.length; i++) {
376
- const recipient = recipients[i];
377
- if (!recipient)
378
- continue;
379
- // Apply template substitution
380
- const personalizedSubject = applyTemplate(subjectTemplate, recipient);
381
- const personalizedBody = applyTemplate(bodyTemplate, recipient);
382
- try {
383
- await transporter.sendMail({
384
- from: fromAddress,
385
- to: recipient.email,
386
- subject: personalizedSubject,
387
- ...(isHtml ? { html: personalizedBody } : { text: personalizedBody }),
388
- });
389
- results.push({ email: recipient.email, success: true });
390
- }
391
- catch (error) {
392
- results.push({
393
- email: recipient.email,
394
- success: false,
395
- error: error instanceof Error ? error.message : String(error),
396
- });
397
- }
398
- // Delay between emails (except for last one)
399
- if (i < recipients.length - 1 && delayMs > 0) {
400
- await new Promise(resolve => setTimeout(resolve, delayMs));
401
- }
402
- }
403
- const successful = results.filter(r => r.success).length;
404
- const failed = results.filter(r => !r.success);
405
- let summary = `šŸ“§ Batch Email Results
406
-
407
- Total: ${recipients.length}
408
- Sent: ${successful}
409
- Failed: ${failed.length}
410
- Provider: ${config.provider}
411
- `;
412
- if (failed.length > 0) {
413
- summary += '\nāŒ Failed emails:\n';
414
- for (const f of failed) {
415
- summary += `- ${f.email}: ${f.error}\n`;
416
- }
417
- }
418
- return summary;
419
- }
420
- catch (error) {
421
- return `āŒ Batch email failed: ${error instanceof Error ? error.message : String(error)}`;
422
- }
423
- },
424
- },
425
- ];
426
- }
427
- function applyTemplate(template, data) {
428
- let result = template;
429
- // Standard fields
430
- result = result.replace(/\{\{email\}\}/gi, data.email);
431
- result = result.replace(/\{\{name\}\}/gi, data.name || '');
432
- result = result.replace(/\{\{company\}\}/gi, data.company || '');
433
- // First name extraction
434
- const firstName = data.name?.split(' ')[0] || '';
435
- result = result.replace(/\{\{first_name\}\}/gi, firstName);
436
- result = result.replace(/\{\{firstName\}\}/gi, firstName);
437
- // Custom fields
438
- if (data.custom) {
439
- for (const [key, value] of Object.entries(data.custom)) {
440
- const regex = new RegExp(`\\{\\{${key}\\}\\}`, 'gi');
441
- result = result.replace(regex, value);
442
- }
443
- }
444
- // Clean up any remaining unmatched placeholders
445
- result = result.replace(/\{\{[^}]+\}\}/g, '');
446
- return result;
447
- }
448
- export { getEmailConfig };
449
- //# sourceMappingURL=emailTools.js.map