aurix-ai 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (659) hide show
  1. package/README.md +329 -0
  2. package/bin/aurix +172 -0
  3. package/bin/aurix.cmd +23 -0
  4. package/dist/agent/AgentLoop.d.ts +52 -0
  5. package/dist/agent/AgentLoop.d.ts.map +1 -0
  6. package/dist/agent/AgentLoop.js +543 -0
  7. package/dist/agent/AgentLoop.js.map +1 -0
  8. package/dist/agent/AgentsMD.d.ts +8 -0
  9. package/dist/agent/AgentsMD.d.ts.map +1 -0
  10. package/dist/agent/AgentsMD.js +53 -0
  11. package/dist/agent/AgentsMD.js.map +1 -0
  12. package/dist/agent/CodeReview.d.ts +13 -0
  13. package/dist/agent/CodeReview.d.ts.map +1 -0
  14. package/dist/agent/CodeReview.js +134 -0
  15. package/dist/agent/CodeReview.js.map +1 -0
  16. package/dist/agent/Config.d.ts +63 -0
  17. package/dist/agent/Config.d.ts.map +1 -0
  18. package/dist/agent/Config.js +55 -0
  19. package/dist/agent/Config.js.map +1 -0
  20. package/dist/agent/Context.d.ts +4 -0
  21. package/dist/agent/Context.d.ts.map +1 -0
  22. package/dist/agent/Context.js +390 -0
  23. package/dist/agent/Context.js.map +1 -0
  24. package/dist/agent/ContextManager.d.ts +23 -0
  25. package/dist/agent/ContextManager.d.ts.map +1 -0
  26. package/dist/agent/ContextManager.js +163 -0
  27. package/dist/agent/ContextManager.js.map +1 -0
  28. package/dist/agent/MemoryEngine.d.ts +24 -0
  29. package/dist/agent/MemoryEngine.d.ts.map +1 -0
  30. package/dist/agent/MemoryEngine.js +347 -0
  31. package/dist/agent/MemoryEngine.js.map +1 -0
  32. package/dist/agent/MultiAgent.d.ts +22 -0
  33. package/dist/agent/MultiAgent.d.ts.map +1 -0
  34. package/dist/agent/MultiAgent.js +466 -0
  35. package/dist/agent/MultiAgent.js.map +1 -0
  36. package/dist/agent/ResearchPipeline.d.ts +22 -0
  37. package/dist/agent/ResearchPipeline.d.ts.map +1 -0
  38. package/dist/agent/ResearchPipeline.js +195 -0
  39. package/dist/agent/ResearchPipeline.js.map +1 -0
  40. package/dist/agent/Setup.d.ts +3 -0
  41. package/dist/agent/Setup.d.ts.map +1 -0
  42. package/dist/agent/Setup.js +503 -0
  43. package/dist/agent/Setup.js.map +1 -0
  44. package/dist/agent/TokenCounter.d.ts +6 -0
  45. package/dist/agent/TokenCounter.d.ts.map +1 -0
  46. package/dist/agent/TokenCounter.js +73 -0
  47. package/dist/agent/TokenCounter.js.map +1 -0
  48. package/dist/agent/research/CitationGuardian.d.ts +10 -0
  49. package/dist/agent/research/CitationGuardian.d.ts.map +1 -0
  50. package/dist/agent/research/CitationGuardian.js +43 -0
  51. package/dist/agent/research/CitationGuardian.js.map +1 -0
  52. package/dist/agent/research/ClaimExtractor.d.ts +7 -0
  53. package/dist/agent/research/ClaimExtractor.d.ts.map +1 -0
  54. package/dist/agent/research/ClaimExtractor.js +49 -0
  55. package/dist/agent/research/ClaimExtractor.js.map +1 -0
  56. package/dist/agent/research/DebateSystem.d.ts +6 -0
  57. package/dist/agent/research/DebateSystem.d.ts.map +1 -0
  58. package/dist/agent/research/DebateSystem.js +33 -0
  59. package/dist/agent/research/DebateSystem.js.map +1 -0
  60. package/dist/agent/research/FinalReviewer.d.ts +10 -0
  61. package/dist/agent/research/FinalReviewer.d.ts.map +1 -0
  62. package/dist/agent/research/FinalReviewer.js +35 -0
  63. package/dist/agent/research/FinalReviewer.js.map +1 -0
  64. package/dist/agent/research/JudgeAgent.d.ts +7 -0
  65. package/dist/agent/research/JudgeAgent.d.ts.map +1 -0
  66. package/dist/agent/research/JudgeAgent.js +40 -0
  67. package/dist/agent/research/JudgeAgent.js.map +1 -0
  68. package/dist/agent/research/LogicCritic.d.ts +10 -0
  69. package/dist/agent/research/LogicCritic.d.ts.map +1 -0
  70. package/dist/agent/research/LogicCritic.js +39 -0
  71. package/dist/agent/research/LogicCritic.js.map +1 -0
  72. package/dist/agent/research/PlanningAgent.d.ts +10 -0
  73. package/dist/agent/research/PlanningAgent.d.ts.map +1 -0
  74. package/dist/agent/research/PlanningAgent.js +39 -0
  75. package/dist/agent/research/PlanningAgent.js.map +1 -0
  76. package/dist/agent/research/RequestAnalyzer.d.ts +14 -0
  77. package/dist/agent/research/RequestAnalyzer.d.ts.map +1 -0
  78. package/dist/agent/research/RequestAnalyzer.js +38 -0
  79. package/dist/agent/research/RequestAnalyzer.js.map +1 -0
  80. package/dist/agent/research/ResearchAgent.d.ts +12 -0
  81. package/dist/agent/research/ResearchAgent.d.ts.map +1 -0
  82. package/dist/agent/research/ResearchAgent.js +64 -0
  83. package/dist/agent/research/ResearchAgent.js.map +1 -0
  84. package/dist/agent/research/SkepticAgent.d.ts +9 -0
  85. package/dist/agent/research/SkepticAgent.d.ts.map +1 -0
  86. package/dist/agent/research/SkepticAgent.js +38 -0
  87. package/dist/agent/research/SkepticAgent.js.map +1 -0
  88. package/dist/agent/research/SupporterAgent.d.ts +9 -0
  89. package/dist/agent/research/SupporterAgent.d.ts.map +1 -0
  90. package/dist/agent/research/SupporterAgent.js +31 -0
  91. package/dist/agent/research/SupporterAgent.js.map +1 -0
  92. package/dist/agent/research/VideoAgent.d.ts +10 -0
  93. package/dist/agent/research/VideoAgent.d.ts.map +1 -0
  94. package/dist/agent/research/VideoAgent.js +49 -0
  95. package/dist/agent/research/VideoAgent.js.map +1 -0
  96. package/dist/agent/research/WriterAgent.d.ts +6 -0
  97. package/dist/agent/research/WriterAgent.d.ts.map +1 -0
  98. package/dist/agent/research/WriterAgent.js +30 -0
  99. package/dist/agent/research/WriterAgent.js.map +1 -0
  100. package/dist/agent/research/index.d.ts +15 -0
  101. package/dist/agent/research/index.d.ts.map +1 -0
  102. package/dist/agent/research/index.js +14 -0
  103. package/dist/agent/research/index.js.map +1 -0
  104. package/dist/agent/research/types.d.ts +49 -0
  105. package/dist/agent/research/types.d.ts.map +1 -0
  106. package/dist/agent/research/types.js +17 -0
  107. package/dist/agent/research/types.js.map +1 -0
  108. package/dist/cli/AltScreen.d.ts +3 -0
  109. package/dist/cli/AltScreen.d.ts.map +1 -0
  110. package/dist/cli/AltScreen.js +72 -0
  111. package/dist/cli/AltScreen.js.map +1 -0
  112. package/dist/cli/App.d.ts +11 -0
  113. package/dist/cli/App.d.ts.map +1 -0
  114. package/dist/cli/App.js +1319 -0
  115. package/dist/cli/App.js.map +1 -0
  116. package/dist/cli/Banner.d.ts +13 -0
  117. package/dist/cli/Banner.d.ts.map +1 -0
  118. package/dist/cli/Banner.js +12 -0
  119. package/dist/cli/Banner.js.map +1 -0
  120. package/dist/cli/BlackFill.d.ts +3 -0
  121. package/dist/cli/BlackFill.d.ts.map +1 -0
  122. package/dist/cli/BlackFill.js +9 -0
  123. package/dist/cli/BlackFill.js.map +1 -0
  124. package/dist/cli/ChatArea.d.ts +20 -0
  125. package/dist/cli/ChatArea.d.ts.map +1 -0
  126. package/dist/cli/ChatArea.js +300 -0
  127. package/dist/cli/ChatArea.js.map +1 -0
  128. package/dist/cli/ConnectModal.d.ts +9 -0
  129. package/dist/cli/ConnectModal.d.ts.map +1 -0
  130. package/dist/cli/ConnectModal.js +101 -0
  131. package/dist/cli/ConnectModal.js.map +1 -0
  132. package/dist/cli/FileDiff.d.ts +16 -0
  133. package/dist/cli/FileDiff.d.ts.map +1 -0
  134. package/dist/cli/FileDiff.js +45 -0
  135. package/dist/cli/FileDiff.js.map +1 -0
  136. package/dist/cli/InputBox.d.ts +18 -0
  137. package/dist/cli/InputBox.d.ts.map +1 -0
  138. package/dist/cli/InputBox.js +573 -0
  139. package/dist/cli/InputBox.js.map +1 -0
  140. package/dist/cli/LoginModal.d.ts +10 -0
  141. package/dist/cli/LoginModal.d.ts.map +1 -0
  142. package/dist/cli/LoginModal.js +129 -0
  143. package/dist/cli/LoginModal.js.map +1 -0
  144. package/dist/cli/Menu.d.ts +26 -0
  145. package/dist/cli/Menu.d.ts.map +1 -0
  146. package/dist/cli/Menu.js +115 -0
  147. package/dist/cli/Menu.js.map +1 -0
  148. package/dist/cli/MouseFilter.d.ts +2 -0
  149. package/dist/cli/MouseFilter.d.ts.map +1 -0
  150. package/dist/cli/MouseFilter.js +47 -0
  151. package/dist/cli/MouseFilter.js.map +1 -0
  152. package/dist/cli/Panel.d.ts.map +1 -0
  153. package/dist/cli/Panel.js.map +1 -0
  154. package/dist/cli/PermissionPrompt.d.ts +9 -0
  155. package/dist/cli/PermissionPrompt.d.ts.map +1 -0
  156. package/dist/cli/PermissionPrompt.js +56 -0
  157. package/dist/cli/PermissionPrompt.js.map +1 -0
  158. package/dist/cli/SessionPanel.d.ts +15 -0
  159. package/dist/cli/SessionPanel.d.ts.map +1 -0
  160. package/dist/cli/SessionPanel.js +28 -0
  161. package/dist/cli/SessionPanel.js.map +1 -0
  162. package/dist/cli/SetupUI.d.ts +34 -0
  163. package/dist/cli/SetupUI.d.ts.map +1 -0
  164. package/dist/cli/SetupUI.js +311 -0
  165. package/dist/cli/SetupUI.js.map +1 -0
  166. package/dist/cli/StatusBar.d.ts +12 -0
  167. package/dist/cli/StatusBar.d.ts.map +1 -0
  168. package/dist/cli/StatusBar.js +7 -0
  169. package/dist/cli/StatusBar.js.map +1 -0
  170. package/dist/cli/WhatsAppModal.d.ts +10 -0
  171. package/dist/cli/WhatsAppModal.d.ts.map +1 -0
  172. package/dist/cli/WhatsAppModal.js +78 -0
  173. package/dist/cli/WhatsAppModal.js.map +1 -0
  174. package/dist/cli/animation/useThinking.d.ts +2 -0
  175. package/dist/cli/animation/useThinking.d.ts.map +1 -0
  176. package/dist/cli/animation/useThinking.js +50 -0
  177. package/dist/cli/animation/useThinking.js.map +1 -0
  178. package/dist/cli/commands.d.ts +26 -0
  179. package/dist/cli/commands.d.ts.map +1 -0
  180. package/dist/cli/commands.js +816 -0
  181. package/dist/cli/commands.js.map +1 -0
  182. package/dist/cli/theme.d.ts +101 -0
  183. package/dist/cli/theme.d.ts.map +1 -0
  184. package/dist/cli/theme.js +222 -0
  185. package/dist/cli/theme.js.map +1 -0
  186. package/dist/commands/SlashCommands.d.ts +15 -0
  187. package/dist/commands/SlashCommands.d.ts.map +1 -0
  188. package/dist/commands/SlashCommands.js +238 -0
  189. package/dist/commands/SlashCommands.js.map +1 -0
  190. package/dist/gateway/Discord.d.ts +13 -0
  191. package/dist/gateway/Discord.d.ts.map +1 -0
  192. package/dist/gateway/Discord.js +144 -0
  193. package/dist/gateway/Discord.js.map +1 -0
  194. package/dist/gateway/Gateway.d.ts +71 -0
  195. package/dist/gateway/Gateway.d.ts.map +1 -0
  196. package/dist/gateway/Gateway.js +665 -0
  197. package/dist/gateway/Gateway.js.map +1 -0
  198. package/dist/gateway/Telegram.d.ts +18 -0
  199. package/dist/gateway/Telegram.d.ts.map +1 -0
  200. package/dist/gateway/Telegram.js +224 -0
  201. package/dist/gateway/Telegram.js.map +1 -0
  202. package/dist/gateway/WASessionStore.d.ts +13 -0
  203. package/dist/gateway/WASessionStore.d.ts.map +1 -0
  204. package/dist/gateway/WASessionStore.js +94 -0
  205. package/dist/gateway/WASessionStore.js.map +1 -0
  206. package/dist/gateway/WhatsApp.d.ts +19 -0
  207. package/dist/gateway/WhatsApp.d.ts.map +1 -0
  208. package/dist/gateway/WhatsApp.js +159 -0
  209. package/dist/gateway/WhatsApp.js.map +1 -0
  210. package/dist/gateway-entry.d.ts +3 -0
  211. package/dist/gateway-entry.d.ts.map +1 -0
  212. package/dist/gateway-entry.js +50 -0
  213. package/dist/gateway-entry.js.map +1 -0
  214. package/dist/index.d.ts +5 -0
  215. package/dist/index.d.ts.map +1 -0
  216. package/dist/index.js +213 -0
  217. package/dist/index.js.map +1 -0
  218. package/dist/providers/index.d.ts +70 -0
  219. package/dist/providers/index.d.ts.map +1 -0
  220. package/dist/providers/index.js +390 -0
  221. package/dist/providers/index.js.map +1 -0
  222. package/dist/skills/SkillRegistry.d.ts +33 -0
  223. package/dist/skills/SkillRegistry.d.ts.map +1 -0
  224. package/dist/skills/SkillRegistry.js +102 -0
  225. package/dist/skills/SkillRegistry.js.map +1 -0
  226. package/dist/token-counter.linux-x64-gnu.node +0 -0
  227. package/dist/tools/Backend.d.ts +3 -0
  228. package/dist/tools/Backend.d.ts.map +1 -0
  229. package/dist/tools/Backend.js +154 -0
  230. package/dist/tools/Backend.js.map +1 -0
  231. package/dist/tools/Blockchain.d.ts +3 -0
  232. package/dist/tools/Blockchain.d.ts.map +1 -0
  233. package/dist/tools/Blockchain.js +82 -0
  234. package/dist/tools/Blockchain.js.map +1 -0
  235. package/dist/tools/Browser.d.ts +5 -0
  236. package/dist/tools/Browser.d.ts.map +1 -0
  237. package/dist/tools/Browser.js +2253 -0
  238. package/dist/tools/Browser.js.map +1 -0
  239. package/dist/tools/Cloud.d.ts +3 -0
  240. package/dist/tools/Cloud.d.ts.map +1 -0
  241. package/dist/tools/Cloud.js +115 -0
  242. package/dist/tools/Cloud.js.map +1 -0
  243. package/dist/tools/CodeExec.d.ts +3 -0
  244. package/dist/tools/CodeExec.d.ts.map +1 -0
  245. package/dist/tools/CodeExec.js +76 -0
  246. package/dist/tools/CodeExec.js.map +1 -0
  247. package/dist/tools/Cybersec.d.ts +3 -0
  248. package/dist/tools/Cybersec.d.ts.map +1 -0
  249. package/dist/tools/Cybersec.js +186 -0
  250. package/dist/tools/Cybersec.js.map +1 -0
  251. package/dist/tools/Deploy.d.ts +3 -0
  252. package/dist/tools/Deploy.d.ts.map +1 -0
  253. package/dist/tools/Deploy.js +87 -0
  254. package/dist/tools/Deploy.js.map +1 -0
  255. package/dist/tools/Diagram.d.ts +3 -0
  256. package/dist/tools/Diagram.d.ts.map +1 -0
  257. package/dist/tools/Diagram.js +38 -0
  258. package/dist/tools/Diagram.js.map +1 -0
  259. package/dist/tools/Docker.d.ts +3 -0
  260. package/dist/tools/Docker.d.ts.map +1 -0
  261. package/dist/tools/Docker.js +45 -0
  262. package/dist/tools/Docker.js.map +1 -0
  263. package/dist/tools/Email.d.ts +3 -0
  264. package/dist/tools/Email.d.ts.map +1 -0
  265. package/dist/tools/Email.js +172 -0
  266. package/dist/tools/Email.js.map +1 -0
  267. package/dist/tools/Excel.d.ts +3 -0
  268. package/dist/tools/Excel.d.ts.map +1 -0
  269. package/dist/tools/Excel.js +41 -0
  270. package/dist/tools/Excel.js.map +1 -0
  271. package/dist/tools/FileEdit.d.ts +3 -0
  272. package/dist/tools/FileEdit.d.ts.map +1 -0
  273. package/dist/tools/FileEdit.js +69 -0
  274. package/dist/tools/FileEdit.js.map +1 -0
  275. package/dist/tools/FileOps.d.ts +5 -0
  276. package/dist/tools/FileOps.d.ts.map +1 -0
  277. package/dist/tools/FileOps.js +76 -0
  278. package/dist/tools/FileOps.js.map +1 -0
  279. package/dist/tools/Frontend.d.ts +3 -0
  280. package/dist/tools/Frontend.d.ts.map +1 -0
  281. package/dist/tools/Frontend.js +124 -0
  282. package/dist/tools/Frontend.js.map +1 -0
  283. package/dist/tools/GifSearch.d.ts +3 -0
  284. package/dist/tools/GifSearch.d.ts.map +1 -0
  285. package/dist/tools/GifSearch.js +36 -0
  286. package/dist/tools/GifSearch.js.map +1 -0
  287. package/dist/tools/Github.d.ts +3 -0
  288. package/dist/tools/Github.d.ts.map +1 -0
  289. package/dist/tools/Github.js +95 -0
  290. package/dist/tools/Github.js.map +1 -0
  291. package/dist/tools/GithubConnect.d.ts +3 -0
  292. package/dist/tools/GithubConnect.d.ts.map +1 -0
  293. package/dist/tools/GithubConnect.js +282 -0
  294. package/dist/tools/GithubConnect.js.map +1 -0
  295. package/dist/tools/Humanizer.d.ts +3 -0
  296. package/dist/tools/Humanizer.d.ts.map +1 -0
  297. package/dist/tools/Humanizer.js +45 -0
  298. package/dist/tools/Humanizer.js.map +1 -0
  299. package/dist/tools/Maps.d.ts +3 -0
  300. package/dist/tools/Maps.d.ts.map +1 -0
  301. package/dist/tools/Maps.js +51 -0
  302. package/dist/tools/Maps.js.map +1 -0
  303. package/dist/tools/McpManage.d.ts +26 -0
  304. package/dist/tools/McpManage.d.ts.map +1 -0
  305. package/dist/tools/McpManage.js +229 -0
  306. package/dist/tools/McpManage.js.map +1 -0
  307. package/dist/tools/Memory.d.ts +3 -0
  308. package/dist/tools/Memory.d.ts.map +1 -0
  309. package/dist/tools/Memory.js +68 -0
  310. package/dist/tools/Memory.js.map +1 -0
  311. package/dist/tools/Music.d.ts +3 -0
  312. package/dist/tools/Music.d.ts.map +1 -0
  313. package/dist/tools/Music.js +274 -0
  314. package/dist/tools/Music.js.map +1 -0
  315. package/dist/tools/Notifier.d.ts +3 -0
  316. package/dist/tools/Notifier.d.ts.map +1 -0
  317. package/dist/tools/Notifier.js +31 -0
  318. package/dist/tools/Notifier.js.map +1 -0
  319. package/dist/tools/Osint.d.ts +3 -0
  320. package/dist/tools/Osint.d.ts.map +1 -0
  321. package/dist/tools/Osint.js +57 -0
  322. package/dist/tools/Osint.js.map +1 -0
  323. package/dist/tools/Pdf.d.ts +3 -0
  324. package/dist/tools/Pdf.d.ts.map +1 -0
  325. package/dist/tools/Pdf.js +152 -0
  326. package/dist/tools/Pdf.js.map +1 -0
  327. package/dist/tools/Planning.d.ts +3 -0
  328. package/dist/tools/Planning.d.ts.map +1 -0
  329. package/dist/tools/Planning.js +212 -0
  330. package/dist/tools/Planning.js.map +1 -0
  331. package/dist/tools/Pptx.d.ts +3 -0
  332. package/dist/tools/Pptx.d.ts.map +1 -0
  333. package/dist/tools/Pptx.js +47 -0
  334. package/dist/tools/Pptx.js.map +1 -0
  335. package/dist/tools/Registry.d.ts +39 -0
  336. package/dist/tools/Registry.d.ts.map +1 -0
  337. package/dist/tools/Registry.js +151 -0
  338. package/dist/tools/Registry.js.map +1 -0
  339. package/dist/tools/Research.d.ts +3 -0
  340. package/dist/tools/Research.d.ts.map +1 -0
  341. package/dist/tools/Research.js +126 -0
  342. package/dist/tools/Research.js.map +1 -0
  343. package/dist/tools/ResearchForums.d.ts +3 -0
  344. package/dist/tools/ResearchForums.d.ts.map +1 -0
  345. package/dist/tools/ResearchForums.js +84 -0
  346. package/dist/tools/ResearchForums.js.map +1 -0
  347. package/dist/tools/Scraper.d.ts +3 -0
  348. package/dist/tools/Scraper.d.ts.map +1 -0
  349. package/dist/tools/Scraper.js +54 -0
  350. package/dist/tools/Scraper.js.map +1 -0
  351. package/dist/tools/SendFile.d.ts +4 -0
  352. package/dist/tools/SendFile.d.ts.map +1 -0
  353. package/dist/tools/SendFile.js +71 -0
  354. package/dist/tools/SendFile.js.map +1 -0
  355. package/dist/tools/SkillLoader.d.ts +3 -0
  356. package/dist/tools/SkillLoader.d.ts.map +1 -0
  357. package/dist/tools/SkillLoader.js +132 -0
  358. package/dist/tools/SkillLoader.js.map +1 -0
  359. package/dist/tools/SystemMonitor.d.ts +3 -0
  360. package/dist/tools/SystemMonitor.d.ts.map +1 -0
  361. package/dist/tools/SystemMonitor.js +59 -0
  362. package/dist/tools/SystemMonitor.js.map +1 -0
  363. package/dist/tools/Terminal.d.ts +3 -0
  364. package/dist/tools/Terminal.d.ts.map +1 -0
  365. package/dist/tools/Terminal.js +32 -0
  366. package/dist/tools/Terminal.js.map +1 -0
  367. package/dist/tools/Todo.d.ts +3 -0
  368. package/dist/tools/Todo.d.ts.map +1 -0
  369. package/dist/tools/Todo.js +87 -0
  370. package/dist/tools/Todo.js.map +1 -0
  371. package/dist/tools/Trading.d.ts +3 -0
  372. package/dist/tools/Trading.d.ts.map +1 -0
  373. package/dist/tools/Trading.js +277 -0
  374. package/dist/tools/Trading.js.map +1 -0
  375. package/dist/tools/Vision.d.ts +3 -0
  376. package/dist/tools/Vision.d.ts.map +1 -0
  377. package/dist/tools/Vision.js +99 -0
  378. package/dist/tools/Vision.js.map +1 -0
  379. package/dist/tools/Vps.d.ts +3 -0
  380. package/dist/tools/Vps.d.ts.map +1 -0
  381. package/dist/tools/Vps.js +178 -0
  382. package/dist/tools/Vps.js.map +1 -0
  383. package/dist/tools/WebSearch.d.ts +3 -0
  384. package/dist/tools/WebSearch.d.ts.map +1 -0
  385. package/dist/tools/WebSearch.js +115 -0
  386. package/dist/tools/WebSearch.js.map +1 -0
  387. package/dist/tools/YouTube.d.ts +3 -0
  388. package/dist/tools/YouTube.d.ts.map +1 -0
  389. package/dist/tools/YouTube.js +30 -0
  390. package/dist/tools/YouTube.js.map +1 -0
  391. package/dist/utils/ascii-logo.d.ts +9 -0
  392. package/dist/utils/ascii-logo.d.ts.map +1 -0
  393. package/dist/utils/ascii-logo.js +34 -0
  394. package/dist/utils/ascii-logo.js.map +1 -0
  395. package/dist/utils/base-url.d.ts +9 -0
  396. package/dist/utils/base-url.d.ts.map +1 -0
  397. package/dist/utils/base-url.js +58 -0
  398. package/dist/utils/base-url.js.map +1 -0
  399. package/native/token-counter/index.d.ts +7 -0
  400. package/native/token-counter/index.js +316 -0
  401. package/native/token-counter/node_modules/.package-lock.json +568 -0
  402. package/native/token-counter/node_modules/2/array.js +25 -0
  403. package/native/token-counter/node_modules/2/index.js +12 -0
  404. package/native/token-counter/node_modules/2/iterator.js +13 -0
  405. package/native/token-counter/node_modules/2/license.txt +21 -0
  406. package/native/token-counter/node_modules/2/map.js +27 -0
  407. package/native/token-counter/node_modules/2/number.js +109 -0
  408. package/native/token-counter/node_modules/2/object.js +23 -0
  409. package/native/token-counter/node_modules/2/package.json +60 -0
  410. package/native/token-counter/node_modules/2/readme.md +246 -0
  411. package/native/token-counter/node_modules/2/string.js +11 -0
  412. package/native/token-counter/node_modules/2/test.js +520 -0
  413. package/native/token-counter/node_modules/@lamansky/every/index.js +16 -0
  414. package/native/token-counter/node_modules/@lamansky/every/license.txt +21 -0
  415. package/native/token-counter/node_modules/@lamansky/every/package.json +38 -0
  416. package/native/token-counter/node_modules/@lamansky/every/readme.md +46 -0
  417. package/native/token-counter/node_modules/@lamansky/flatten/index.js +5 -0
  418. package/native/token-counter/node_modules/@lamansky/flatten/license.txt +21 -0
  419. package/native/token-counter/node_modules/@lamansky/flatten/package.json +35 -0
  420. package/native/token-counter/node_modules/@lamansky/flatten/readme.md +41 -0
  421. package/native/token-counter/node_modules/@napi-rs/cli/LICENSE +21 -0
  422. package/native/token-counter/node_modules/@napi-rs/cli/README.md +96 -0
  423. package/native/token-counter/node_modules/@napi-rs/cli/package.json +65 -0
  424. package/native/token-counter/node_modules/@napi-rs/cli/scripts/index.js +51371 -0
  425. package/native/token-counter/node_modules/add-counter/index.js +3 -0
  426. package/native/token-counter/node_modules/add-counter/license.txt +21 -0
  427. package/native/token-counter/node_modules/add-counter/package.json +34 -0
  428. package/native/token-counter/node_modules/add-counter/readme.md +36 -0
  429. package/native/token-counter/node_modules/array-pad/LICENSE +22 -0
  430. package/native/token-counter/node_modules/array-pad/README.md +80 -0
  431. package/native/token-counter/node_modules/array-pad/index.js +30 -0
  432. package/native/token-counter/node_modules/array-pad/package.json +28 -0
  433. package/native/token-counter/node_modules/arrify/index.js +8 -0
  434. package/native/token-counter/node_modules/arrify/license +21 -0
  435. package/native/token-counter/node_modules/arrify/package.json +33 -0
  436. package/native/token-counter/node_modules/arrify/readme.md +36 -0
  437. package/native/token-counter/node_modules/case-insensitive/index.js +72 -0
  438. package/native/token-counter/node_modules/case-insensitive/license.txt +21 -0
  439. package/native/token-counter/node_modules/case-insensitive/package.json +39 -0
  440. package/native/token-counter/node_modules/case-insensitive/readme.md +39 -0
  441. package/native/token-counter/node_modules/case-insensitive/test.js +114 -0
  442. package/native/token-counter/node_modules/class-chain/index.js +32 -0
  443. package/native/token-counter/node_modules/class-chain/license.txt +21 -0
  444. package/native/token-counter/node_modules/class-chain/package.json +39 -0
  445. package/native/token-counter/node_modules/class-chain/readme.md +23 -0
  446. package/native/token-counter/node_modules/class-chain/test.js +77 -0
  447. package/native/token-counter/node_modules/copy-own/index.js +10 -0
  448. package/native/token-counter/node_modules/copy-own/license.txt +21 -0
  449. package/native/token-counter/node_modules/copy-own/package.json +37 -0
  450. package/native/token-counter/node_modules/copy-own/readme.md +67 -0
  451. package/native/token-counter/node_modules/def-props/index.js +43 -0
  452. package/native/token-counter/node_modules/def-props/license.txt +21 -0
  453. package/native/token-counter/node_modules/def-props/node_modules/is-obj/index.d.ts +22 -0
  454. package/native/token-counter/node_modules/def-props/node_modules/is-obj/index.js +6 -0
  455. package/native/token-counter/node_modules/def-props/node_modules/is-obj/license +9 -0
  456. package/native/token-counter/node_modules/def-props/node_modules/is-obj/package.json +34 -0
  457. package/native/token-counter/node_modules/def-props/node_modules/is-obj/readme.md +39 -0
  458. package/native/token-counter/node_modules/def-props/package.json +51 -0
  459. package/native/token-counter/node_modules/def-props/readme.md +117 -0
  460. package/native/token-counter/node_modules/empty-iterator/index.js +3 -0
  461. package/native/token-counter/node_modules/empty-iterator/license.txt +21 -0
  462. package/native/token-counter/node_modules/empty-iterator/package.json +33 -0
  463. package/native/token-counter/node_modules/empty-iterator/readme.md +23 -0
  464. package/native/token-counter/node_modules/enforce-range/index.js +15 -0
  465. package/native/token-counter/node_modules/enforce-range/license.txt +21 -0
  466. package/native/token-counter/node_modules/enforce-range/node_modules/2/array.js +43 -0
  467. package/native/token-counter/node_modules/enforce-range/node_modules/2/index.js +10 -0
  468. package/native/token-counter/node_modules/enforce-range/node_modules/2/iterator.js +26 -0
  469. package/native/token-counter/node_modules/enforce-range/node_modules/2/license.txt +21 -0
  470. package/native/token-counter/node_modules/enforce-range/node_modules/2/map.js +47 -0
  471. package/native/token-counter/node_modules/enforce-range/node_modules/2/number.js +33 -0
  472. package/native/token-counter/node_modules/enforce-range/node_modules/2/object.js +61 -0
  473. package/native/token-counter/node_modules/enforce-range/node_modules/2/package.json +41 -0
  474. package/native/token-counter/node_modules/enforce-range/node_modules/2/readme.md +210 -0
  475. package/native/token-counter/node_modules/enforce-range/node_modules/2/string.js +37 -0
  476. package/native/token-counter/node_modules/enforce-range/node_modules/2/test.js +413 -0
  477. package/native/token-counter/node_modules/enforce-range/package.json +36 -0
  478. package/native/token-counter/node_modules/enforce-range/readme.md +53 -0
  479. package/native/token-counter/node_modules/english-list/.travis.yml +6 -0
  480. package/native/token-counter/node_modules/english-list/LICENSE +22 -0
  481. package/native/token-counter/node_modules/english-list/README.md +44 -0
  482. package/native/token-counter/node_modules/english-list/index.js +34 -0
  483. package/native/token-counter/node_modules/english-list/package.json +31 -0
  484. package/native/token-counter/node_modules/english-list/test.log +6 -0
  485. package/native/token-counter/node_modules/errate/index.js +19 -0
  486. package/native/token-counter/node_modules/errate/license.txt +21 -0
  487. package/native/token-counter/node_modules/errate/package.json +39 -0
  488. package/native/token-counter/node_modules/errate/readme.md +79 -0
  489. package/native/token-counter/node_modules/ffn/index.js +9 -0
  490. package/native/token-counter/node_modules/ffn/license.txt +21 -0
  491. package/native/token-counter/node_modules/ffn/package.json +34 -0
  492. package/native/token-counter/node_modules/ffn/readme.md +51 -0
  493. package/native/token-counter/node_modules/get-own-property/index.js +5 -0
  494. package/native/token-counter/node_modules/get-own-property/license.txt +21 -0
  495. package/native/token-counter/node_modules/get-own-property/package.json +31 -0
  496. package/native/token-counter/node_modules/get-own-property/readme.md +22 -0
  497. package/native/token-counter/node_modules/has-duplicates/index.js +11 -0
  498. package/native/token-counter/node_modules/has-duplicates/license.txt +21 -0
  499. package/native/token-counter/node_modules/has-duplicates/package.json +32 -0
  500. package/native/token-counter/node_modules/has-duplicates/readme.md +23 -0
  501. package/native/token-counter/node_modules/has-duplicates/test.js +30 -0
  502. package/native/token-counter/node_modules/if-else-throw/index.js +8 -0
  503. package/native/token-counter/node_modules/if-else-throw/license.txt +21 -0
  504. package/native/token-counter/node_modules/if-else-throw/package.json +37 -0
  505. package/native/token-counter/node_modules/if-else-throw/readme.md +32 -0
  506. package/native/token-counter/node_modules/is-array-of-length/index.js +7 -0
  507. package/native/token-counter/node_modules/is-array-of-length/license.txt +21 -0
  508. package/native/token-counter/node_modules/is-array-of-length/package.json +42 -0
  509. package/native/token-counter/node_modules/is-array-of-length/readme.md +41 -0
  510. package/native/token-counter/node_modules/is-class-of/index.js +7 -0
  511. package/native/token-counter/node_modules/is-class-of/license.txt +21 -0
  512. package/native/token-counter/node_modules/is-class-of/package.json +35 -0
  513. package/native/token-counter/node_modules/is-class-of/readme.md +57 -0
  514. package/native/token-counter/node_modules/is-global-object/index.js +6 -0
  515. package/native/token-counter/node_modules/is-global-object/license.txt +21 -0
  516. package/native/token-counter/node_modules/is-global-object/package.json +34 -0
  517. package/native/token-counter/node_modules/is-global-object/readme.md +22 -0
  518. package/native/token-counter/node_modules/is-instance-of/index.js +28 -0
  519. package/native/token-counter/node_modules/is-instance-of/license.txt +21 -0
  520. package/native/token-counter/node_modules/is-instance-of/package.json +44 -0
  521. package/native/token-counter/node_modules/is-instance-of/readme.md +55 -0
  522. package/native/token-counter/node_modules/is-iterable/index.js +5 -0
  523. package/native/token-counter/node_modules/is-iterable/license +21 -0
  524. package/native/token-counter/node_modules/is-iterable/package.json +30 -0
  525. package/native/token-counter/node_modules/is-iterable/readme.md +23 -0
  526. package/native/token-counter/node_modules/is-nil/LICENSE +21 -0
  527. package/native/token-counter/node_modules/is-nil/README.md +47 -0
  528. package/native/token-counter/node_modules/is-nil/index.js +6 -0
  529. package/native/token-counter/node_modules/is-nil/package.json +46 -0
  530. package/native/token-counter/node_modules/is-obj/index.js +5 -0
  531. package/native/token-counter/node_modules/is-obj/license +21 -0
  532. package/native/token-counter/node_modules/is-obj/package.json +33 -0
  533. package/native/token-counter/node_modules/is-obj/readme.md +34 -0
  534. package/native/token-counter/node_modules/is-object/.eslintignore +1 -0
  535. package/native/token-counter/node_modules/is-object/.eslintrc +5 -0
  536. package/native/token-counter/node_modules/is-object/.nycrc +13 -0
  537. package/native/token-counter/node_modules/is-object/.testem.json +14 -0
  538. package/native/token-counter/node_modules/is-object/CHANGELOG.md +121 -0
  539. package/native/token-counter/node_modules/is-object/LICENSE +19 -0
  540. package/native/token-counter/node_modules/is-object/README.md +48 -0
  541. package/native/token-counter/node_modules/is-object/index.js +5 -0
  542. package/native/token-counter/node_modules/is-object/package.json +78 -0
  543. package/native/token-counter/node_modules/is-object/test/index.js +44 -0
  544. package/native/token-counter/node_modules/is-plain-object/LICENSE +21 -0
  545. package/native/token-counter/node_modules/is-plain-object/README.md +104 -0
  546. package/native/token-counter/node_modules/is-plain-object/index.d.ts +5 -0
  547. package/native/token-counter/node_modules/is-plain-object/index.js +37 -0
  548. package/native/token-counter/node_modules/is-plain-object/package.json +79 -0
  549. package/native/token-counter/node_modules/isobject/LICENSE +21 -0
  550. package/native/token-counter/node_modules/isobject/README.md +122 -0
  551. package/native/token-counter/node_modules/isobject/index.d.ts +5 -0
  552. package/native/token-counter/node_modules/isobject/index.js +12 -0
  553. package/native/token-counter/node_modules/isobject/package.json +74 -0
  554. package/native/token-counter/node_modules/lodash.set/LICENSE +47 -0
  555. package/native/token-counter/node_modules/lodash.set/README.md +18 -0
  556. package/native/token-counter/node_modules/lodash.set/index.js +990 -0
  557. package/native/token-counter/node_modules/lodash.set/package.json +17 -0
  558. package/native/token-counter/node_modules/longest-first/index.js +3 -0
  559. package/native/token-counter/node_modules/longest-first/license.txt +21 -0
  560. package/native/token-counter/node_modules/longest-first/package.json +36 -0
  561. package/native/token-counter/node_modules/longest-first/readme.md +29 -0
  562. package/native/token-counter/node_modules/m-o/index.js +27 -0
  563. package/native/token-counter/node_modules/m-o/license.txt +21 -0
  564. package/native/token-counter/node_modules/m-o/node_modules/new-object/index.js +23 -0
  565. package/native/token-counter/node_modules/m-o/node_modules/new-object/license.txt +21 -0
  566. package/native/token-counter/node_modules/m-o/node_modules/new-object/package.json +40 -0
  567. package/native/token-counter/node_modules/m-o/node_modules/new-object/readme.md +55 -0
  568. package/native/token-counter/node_modules/m-o/package.json +45 -0
  569. package/native/token-counter/node_modules/m-o/readme.md +87 -0
  570. package/native/token-counter/node_modules/map-iter/index.js +6 -0
  571. package/native/token-counter/node_modules/map-iter/license.txt +21 -0
  572. package/native/token-counter/node_modules/map-iter/package.json +40 -0
  573. package/native/token-counter/node_modules/map-iter/readme.md +46 -0
  574. package/native/token-counter/node_modules/new-object/index.js +5 -0
  575. package/native/token-counter/node_modules/new-object/license.txt +21 -0
  576. package/native/token-counter/node_modules/new-object/package.json +49 -0
  577. package/native/token-counter/node_modules/new-object/readme.md +145 -0
  578. package/native/token-counter/node_modules/ofn/index.js +22 -0
  579. package/native/token-counter/node_modules/ofn/license.txt +21 -0
  580. package/native/token-counter/node_modules/ofn/package.json +40 -0
  581. package/native/token-counter/node_modules/ofn/readme.md +63 -0
  582. package/native/token-counter/node_modules/otherwise/index.js +11 -0
  583. package/native/token-counter/node_modules/otherwise/license.txt +21 -0
  584. package/native/token-counter/node_modules/otherwise/package.json +38 -0
  585. package/native/token-counter/node_modules/otherwise/readme.md +29 -0
  586. package/native/token-counter/node_modules/parser-factory/index.js +138 -0
  587. package/native/token-counter/node_modules/parser-factory/license.txt +21 -0
  588. package/native/token-counter/node_modules/parser-factory/node_modules/arrify/index.d.ts +38 -0
  589. package/native/token-counter/node_modules/parser-factory/node_modules/arrify/index.js +23 -0
  590. package/native/token-counter/node_modules/parser-factory/node_modules/arrify/license +9 -0
  591. package/native/token-counter/node_modules/parser-factory/node_modules/arrify/package.json +35 -0
  592. package/native/token-counter/node_modules/parser-factory/node_modules/arrify/readme.md +39 -0
  593. package/native/token-counter/node_modules/parser-factory/package.json +38 -0
  594. package/native/token-counter/node_modules/parser-factory/readme.md +15 -0
  595. package/native/token-counter/node_modules/pfn/index.js +5 -0
  596. package/native/token-counter/node_modules/pfn/license.txt +21 -0
  597. package/native/token-counter/node_modules/pfn/package.json +41 -0
  598. package/native/token-counter/node_modules/pfn/readme.md +111 -0
  599. package/native/token-counter/node_modules/pfn/strict.js +8 -0
  600. package/native/token-counter/node_modules/plainify/index.js +5 -0
  601. package/native/token-counter/node_modules/plainify/license.txt +21 -0
  602. package/native/token-counter/node_modules/plainify/package.json +36 -0
  603. package/native/token-counter/node_modules/plainify/readme.md +47 -0
  604. package/native/token-counter/node_modules/possible-function/changelog.md +7 -0
  605. package/native/token-counter/node_modules/possible-function/index.js +43 -0
  606. package/native/token-counter/node_modules/possible-function/license.txt +21 -0
  607. package/native/token-counter/node_modules/possible-function/package.json +34 -0
  608. package/native/token-counter/node_modules/possible-function/readme.md +77 -0
  609. package/native/token-counter/node_modules/possible-function/test.js +32 -0
  610. package/native/token-counter/node_modules/qfn/index.js +11 -0
  611. package/native/token-counter/node_modules/qfn/license.txt +21 -0
  612. package/native/token-counter/node_modules/qfn/package.json +40 -0
  613. package/native/token-counter/node_modules/qfn/readme.md +45 -0
  614. package/native/token-counter/node_modules/roadblock/index.js +3 -0
  615. package/native/token-counter/node_modules/roadblock/license.txt +21 -0
  616. package/native/token-counter/node_modules/roadblock/package.json +40 -0
  617. package/native/token-counter/node_modules/roadblock/readme.md +59 -0
  618. package/native/token-counter/node_modules/round-to/index.d.ts +56 -0
  619. package/native/token-counter/node_modules/round-to/index.js +37 -0
  620. package/native/token-counter/node_modules/round-to/license +9 -0
  621. package/native/token-counter/node_modules/round-to/package.json +38 -0
  622. package/native/token-counter/node_modules/round-to/readme.md +71 -0
  623. package/native/token-counter/node_modules/rtrim-array/index.js +10 -0
  624. package/native/token-counter/node_modules/rtrim-array/license.txt +21 -0
  625. package/native/token-counter/node_modules/rtrim-array/package.json +41 -0
  626. package/native/token-counter/node_modules/rtrim-array/readme.md +75 -0
  627. package/native/token-counter/node_modules/sbo/index.js +25 -0
  628. package/native/token-counter/node_modules/sbo/license.txt +21 -0
  629. package/native/token-counter/node_modules/sbo/package.json +50 -0
  630. package/native/token-counter/node_modules/sbo/readme.md +105 -0
  631. package/native/token-counter/node_modules/sorp/index.js +3 -0
  632. package/native/token-counter/node_modules/sorp/license.txt +21 -0
  633. package/native/token-counter/node_modules/sorp/package.json +34 -0
  634. package/native/token-counter/node_modules/sorp/readme.md +25 -0
  635. package/native/token-counter/node_modules/trim-call/index.js +6 -0
  636. package/native/token-counter/node_modules/trim-call/license.txt +21 -0
  637. package/native/token-counter/node_modules/trim-call/package.json +40 -0
  638. package/native/token-counter/node_modules/trim-call/readme.md +80 -0
  639. package/native/token-counter/node_modules/type-error/LICENSE +21 -0
  640. package/native/token-counter/node_modules/type-error/README.md +24 -0
  641. package/native/token-counter/node_modules/type-error/index.js +35 -0
  642. package/native/token-counter/node_modules/type-error/package.json +11 -0
  643. package/native/token-counter/node_modules/vfn/index.js +21 -0
  644. package/native/token-counter/node_modules/vfn/license.txt +21 -0
  645. package/native/token-counter/node_modules/vfn/package.json +40 -0
  646. package/native/token-counter/node_modules/vfn/readme.md +81 -0
  647. package/native/token-counter/node_modules/wfn/index.js +43 -0
  648. package/native/token-counter/node_modules/wfn/license.txt +21 -0
  649. package/native/token-counter/node_modules/wfn/package.json +38 -0
  650. package/native/token-counter/node_modules/wfn/readme.md +81 -0
  651. package/native/token-counter/package-lock.json +578 -0
  652. package/native/token-counter/package.json +21 -0
  653. package/native/token-counter/token-counter.linux-x64-gnu.node +0 -0
  654. package/package.json +98 -0
  655. package/scripts/build.cjs +27 -0
  656. package/scripts/deploy.sh +29 -0
  657. package/scripts/music.py +268 -0
  658. package/scripts/postinstall.mjs +81 -0
  659. package/scripts/push.sh +5 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../src/tools/Browser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Tool } from './Registry.js';
2
+ export declare const cloudTools: Tool[];
3
+ //# sourceMappingURL=Cloud.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cloud.d.ts","sourceRoot":"","sources":["../../src/tools/Cloud.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,eAAO,MAAM,UAAU,EAAE,IAAI,EAiH5B,CAAC"}
@@ -0,0 +1,115 @@
1
+ export const cloudTools = [
2
+ {
3
+ name: 'gcloud_status',
4
+ description: 'Check Google Cloud project status, active services, and billing.',
5
+ parameters: {
6
+ type: 'object',
7
+ properties: {
8
+ project: { type: 'string', description: 'GCP project ID' },
9
+ },
10
+ },
11
+ async execute(args) {
12
+ const { execSync } = await import('child_process');
13
+ const project = args.project;
14
+ const projectFlag = project ? `--project=${project}` : '';
15
+ try {
16
+ const info = execSync(`gcloud config list ${projectFlag} 2>&1`, { encoding: 'utf8', timeout: 15000 });
17
+ const services = execSync(`gcloud services list --enabled ${projectFlag} 2>&1 | head -20`, { encoding: 'utf8', timeout: 15000 });
18
+ return `GCloud Config:\n${info}\n\nEnabled Services:\n${services}`;
19
+ }
20
+ catch (e) {
21
+ return `gcloud error: ${e.message}\nMake sure gcloud CLI is installed and authenticated.`;
22
+ }
23
+ },
24
+ },
25
+ {
26
+ name: 'gcloud_deploy',
27
+ description: 'Deploy to Google Cloud Run or Cloud Functions.',
28
+ parameters: {
29
+ type: 'object',
30
+ properties: {
31
+ service: { type: 'string', description: 'Service name' },
32
+ target: { type: 'string', description: 'cloud-run or cloud-functions' },
33
+ source: { type: 'string', description: 'Source directory or container image' },
34
+ region: { type: 'string', description: 'Region (default: us-central1)' },
35
+ },
36
+ required: ['service', 'target'],
37
+ },
38
+ async execute(args) {
39
+ const service = args.service;
40
+ const target = args.target;
41
+ const source = args.source || '.';
42
+ const region = args.region || 'us-central1';
43
+ if (target === 'cloud-run') {
44
+ return `Deploy to Cloud Run:\n\`\`\`bash\ngcloud run deploy ${service} --source ${source} --region ${region} --allow-unauthenticated\n\`\`\``;
45
+ }
46
+ if (target === 'cloud-functions') {
47
+ return `Deploy to Cloud Functions:\n\`\`\`bash\ngcloud functions deploy ${service} --gen2 --runtime=nodejs20 --region=${region} --source=${source} --trigger-http\n\`\`\``;
48
+ }
49
+ return `Unknown target: ${target}. Use cloud-run or cloud-functions.`;
50
+ },
51
+ },
52
+ {
53
+ name: 'aws_status',
54
+ description: 'Check AWS account status, active services, and costs.',
55
+ parameters: {
56
+ type: 'object',
57
+ properties: {
58
+ profile: { type: 'string', description: 'AWS profile name' },
59
+ },
60
+ },
61
+ async execute(args) {
62
+ const { execSync } = await import('child_process');
63
+ const profile = args.profile ? `--profile ${args.profile}` : '';
64
+ try {
65
+ const identity = execSync(`aws sts get-caller-identity ${profile} 2>&1`, { encoding: 'utf8', timeout: 15000 });
66
+ return `AWS Identity:\n${identity}`;
67
+ }
68
+ catch (e) {
69
+ return `AWS error: ${e.message}\nMake sure AWS CLI is installed and configured.`;
70
+ }
71
+ },
72
+ },
73
+ {
74
+ name: 'aws_deploy',
75
+ description: 'Deploy to AWS Lambda, ECS, or EC2.',
76
+ parameters: {
77
+ type: 'object',
78
+ properties: {
79
+ service: { type: 'string', description: 'Service/function name' },
80
+ target: { type: 'string', description: 'lambda, ecs, or ec2' },
81
+ region: { type: 'string', description: 'AWS region (default: us-east-1)' },
82
+ },
83
+ required: ['service', 'target'],
84
+ },
85
+ async execute(args) {
86
+ const service = args.service;
87
+ const target = args.target;
88
+ const region = args.region || 'us-east-1';
89
+ if (target === 'lambda') {
90
+ return `Deploy to Lambda:\n\`\`\`bash\nzip function.zip index.js\naws lambda update-function-code --function-name ${service} --zip-file fileb://function.zip --region ${region}\n\`\`\``;
91
+ }
92
+ return `AWS ${target} deployment for ${service} in ${region}.\nUse aws CLI or CDK for deployment.`;
93
+ },
94
+ },
95
+ {
96
+ name: 'cloud_cost',
97
+ description: 'Estimate cloud costs or compare pricing between providers.',
98
+ parameters: {
99
+ type: 'object',
100
+ properties: {
101
+ provider: { type: 'string', description: 'gcp, aws, or compare' },
102
+ service: { type: 'string', description: 'Service type: compute, storage, database' },
103
+ spec: { type: 'string', description: 'Spec description (e.g. "2 vCPU, 4GB RAM, 100GB SSD")' },
104
+ },
105
+ required: ['provider', 'service'],
106
+ },
107
+ async execute(args) {
108
+ const provider = args.provider;
109
+ const service = args.service;
110
+ const spec = args.spec || 'default';
111
+ return `Cloud cost estimate for ${provider} ${service}:\nSpec: ${spec}\n\nUse the provider's pricing calculator for accurate estimates:\n- GCP: https://cloud.google.com/products/calculator\n- AWS: https://calculator.aws/`;
112
+ },
113
+ },
114
+ ];
115
+ //# sourceMappingURL=Cloud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cloud.js","sourceRoot":"","sources":["../../src/tools/Cloud.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Tool } from './Registry.js';
2
+ export declare const codeExecTool: Tool;
3
+ //# sourceMappingURL=CodeExec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeExec.d.ts","sourceRoot":"","sources":["../../src/tools/CodeExec.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,eAAO,MAAM,YAAY,EAAE,IAoE1B,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { exec } from 'child_process';
2
+ import fs from 'fs';
3
+ import path from 'path';
4
+ import os from 'os';
5
+ export const codeExecTool = {
6
+ name: 'code_exec',
7
+ description: 'Execute code in Python, Node.js, or shell. Runs code in a temp file and returns output. Use for quick calculations, data processing, or testing snippets.',
8
+ parameters: {
9
+ type: 'object',
10
+ properties: {
11
+ language: {
12
+ type: 'string',
13
+ description: 'Language to run: python, node, bash (default: python)',
14
+ },
15
+ code: {
16
+ type: 'string',
17
+ description: 'Code to execute',
18
+ },
19
+ timeout: {
20
+ type: 'number',
21
+ description: 'Timeout in seconds (default: 30)',
22
+ },
23
+ },
24
+ required: ['code'],
25
+ },
26
+ async execute(args) {
27
+ const language = args.language || 'python';
28
+ const code = args.code;
29
+ const timeout = (args.timeout || 30) * 1000;
30
+ const tmpDir = os.tmpdir();
31
+ let cmd;
32
+ let file;
33
+ switch (language) {
34
+ case 'python':
35
+ case 'py':
36
+ file = path.join(tmpDir, `aurix_${Date.now()}.py`);
37
+ fs.writeFileSync(file, code);
38
+ cmd = `python3 ${file}`;
39
+ break;
40
+ case 'node':
41
+ case 'js':
42
+ case 'javascript':
43
+ file = path.join(tmpDir, `aurix_${Date.now()}.js`);
44
+ fs.writeFileSync(file, code);
45
+ cmd = `node ${file}`;
46
+ break;
47
+ case 'bash':
48
+ case 'sh':
49
+ file = path.join(tmpDir, `aurix_${Date.now()}.sh`);
50
+ fs.writeFileSync(file, code);
51
+ cmd = `bash ${file}`;
52
+ break;
53
+ default:
54
+ return `Unsupported language: ${language}. Use python, node, or bash.`;
55
+ }
56
+ return new Promise(resolve => {
57
+ exec(cmd, { timeout, maxBuffer: 1024 * 1024 }, (err, stdout, stderr) => {
58
+ try {
59
+ fs.unlinkSync(file);
60
+ }
61
+ catch { }
62
+ const parts = [];
63
+ if (stdout)
64
+ parts.push(stdout.trim());
65
+ if (stderr)
66
+ parts.push(`[stderr] ${stderr.trim()}`);
67
+ if (err && !stdout && !stderr)
68
+ parts.push(`Error: ${err.message}`);
69
+ if (parts.length === 0)
70
+ parts.push('(no output)');
71
+ resolve(parts.join('\n'));
72
+ });
73
+ });
74
+ },
75
+ };
76
+ //# sourceMappingURL=CodeExec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeExec.js","sourceRoot":"","sources":["../../src/tools/CodeExec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Tool } from './Registry.js';
2
+ export declare const cybersecTool: Tool;
3
+ //# sourceMappingURL=Cybersec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cybersec.d.ts","sourceRoot":"","sources":["../../src/tools/Cybersec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,eAAO,MAAM,YAAY,EAAE,IAwD1B,CAAC"}
@@ -0,0 +1,186 @@
1
+ import { exec } from 'child_process';
2
+ export const cybersecTool = {
3
+ name: 'cybersec',
4
+ description: 'Cybersecurity toolkit: port scanning, vulnerability assessment, network analysis, SSL checking, DNS lookup, WHOIS, firewall audit, log analysis. Red team, blue team, and purple team operations.',
5
+ parameters: {
6
+ type: 'object',
7
+ properties: {
8
+ action: {
9
+ type: 'string',
10
+ description: 'Action: scan, vuln, ssl, dns, whois, firewall, logcheck, banner, recon, pentest_report',
11
+ },
12
+ target: {
13
+ type: 'string',
14
+ description: 'Target host/IP/domain/URL',
15
+ },
16
+ options: {
17
+ type: 'string',
18
+ description: 'Additional options (port range, scan type, etc.)',
19
+ },
20
+ team: {
21
+ type: 'string',
22
+ description: 'Team mode: red (offensive), blue (defensive), purple (both)',
23
+ },
24
+ },
25
+ required: ['action'],
26
+ },
27
+ async execute(args) {
28
+ const action = args.action;
29
+ const target = args.target || '';
30
+ const options = args.options || '';
31
+ const team = args.team || 'purple';
32
+ switch (action) {
33
+ case 'scan':
34
+ return portScan(target, options);
35
+ case 'vuln':
36
+ return vulnScan(target, options, team);
37
+ case 'ssl':
38
+ return sslCheck(target);
39
+ case 'dns':
40
+ return dnsLookup(target);
41
+ case 'whois':
42
+ return whoisLookup(target);
43
+ case 'firewall':
44
+ return firewallAudit(options);
45
+ case 'logcheck':
46
+ return logAnalysis(options);
47
+ case 'banner':
48
+ return bannerGrab(target, options);
49
+ case 'recon':
50
+ return recon(target, team);
51
+ case 'pentest_report':
52
+ return pentestReport(target);
53
+ default:
54
+ return `Unknown action: ${action}`;
55
+ }
56
+ },
57
+ };
58
+ function runCmd(cmd, timeout = 30000) {
59
+ return new Promise(resolve => {
60
+ exec(cmd, { timeout, maxBuffer: 5 * 1024 * 1024 }, (err, stdout, stderr) => {
61
+ if (err)
62
+ resolve(stderr?.trim() || `Error: ${err.message}`);
63
+ else
64
+ resolve(stdout.trim());
65
+ });
66
+ });
67
+ }
68
+ async function portScan(target, options) {
69
+ if (!target)
70
+ return 'Error: provide a target host/IP';
71
+ const nmap = await runCmd('which nmap 2>/dev/null');
72
+ if (!nmap)
73
+ return 'nmap not installed. Install: apt install nmap';
74
+ const portRange = options || '-p 1-1000';
75
+ return runCmd(`nmap -sV ${portRange} ${target} 2>&1`, 120000);
76
+ }
77
+ async function vulnScan(target, options, team) {
78
+ if (!target)
79
+ return 'Error: provide a target';
80
+ if (team === 'red' || team === 'purple') {
81
+ const nmap = await runCmd('which nmap 2>/dev/null');
82
+ if (!nmap)
83
+ return 'nmap not installed';
84
+ return runCmd(`nmap --script vuln ${options || '-p 80,443,8080'} ${target} 2>&1`, 180000);
85
+ }
86
+ return `Blue team mode: reviewing security configuration of ${target}...\n` +
87
+ await runCmd(`ss -tuln 2>/dev/null || netstat -tuln 2>/dev/null`, 10000);
88
+ }
89
+ async function sslCheck(target) {
90
+ if (!target)
91
+ return 'Error: provide a domain or URL';
92
+ const host = target.replace(/^https?:\/\//, '').split('/')[0].split(':')[0];
93
+ return runCmd(`echo | openssl s_client -connect ${host}:443 -servername ${host} 2>/dev/null | openssl x509 -noout -dates -subject -issuer 2>&1`, 15000);
94
+ }
95
+ async function dnsLookup(target) {
96
+ if (!target)
97
+ return 'Error: provide a domain';
98
+ return runCmd(`dig ${target} ANY +short 2>/dev/null || nslookup ${target} 2>&1`, 10000);
99
+ }
100
+ async function whoisLookup(target) {
101
+ if (!target)
102
+ return 'Error: provide a domain';
103
+ const whois = await runCmd('which whois 2>/dev/null');
104
+ if (!whois)
105
+ return 'whois not installed. Install: apt install whois';
106
+ return runCmd(`whois ${target} 2>&1 | head -50`, 15000);
107
+ }
108
+ async function firewallAudit(options) {
109
+ const results = [];
110
+ results.push('--- Firewall Status ---');
111
+ results.push(await runCmd('ufw status 2>/dev/null || iptables -L -n 2>/dev/null | head -30', 10000));
112
+ results.push('\n--- Listening Ports ---');
113
+ results.push(await runCmd('ss -tuln 2>/dev/null || netstat -tuln 2>/dev/null', 10000));
114
+ results.push('\n--- Open Connections ---');
115
+ results.push(await runCmd('ss -tn state established 2>/dev/null | head -20', 10000));
116
+ return results.join('\n');
117
+ }
118
+ async function logAnalysis(options) {
119
+ const logFile = options || '/var/log/syslog';
120
+ const results = [];
121
+ results.push(`--- Analyzing: ${logFile} ---`);
122
+ results.push(await runCmd(`tail -50 ${logFile} 2>/dev/null`, 10000));
123
+ results.push('\n--- Failed Auth Attempts ---');
124
+ results.push(await runCmd(`grep -i "failed\\|error\\|denied" ${logFile} 2>/dev/null | tail -10`, 10000));
125
+ results.push('\n--- Recent SSH Logins ---');
126
+ results.push(await runCmd('last -n 10 2>/dev/null', 10000));
127
+ return results.join('\n');
128
+ }
129
+ async function bannerGrab(target, options) {
130
+ if (!target)
131
+ return 'Error: provide target host:port';
132
+ const [host, port] = target.includes(':') ? target.split(':') : [target, options || '80'];
133
+ return runCmd(`echo "" | nc -w 3 ${host} ${port} 2>/dev/null || echo "Connection failed"`, 10000);
134
+ }
135
+ async function recon(target, team) {
136
+ if (!target)
137
+ return 'Error: provide a target domain/IP';
138
+ const results = [];
139
+ results.push(`--- Reconnaissance: ${target} ---`);
140
+ results.push(`Team: ${team}\n`);
141
+ results.push('DNS Records:');
142
+ results.push(await runCmd(`dig ${target} ANY +short 2>/dev/null`, 10000));
143
+ results.push('\nSubdomain check (common):');
144
+ for (const sub of ['www', 'mail', 'ftp', 'admin', 'api', 'dev', 'staging']) {
145
+ const result = await runCmd(`dig ${sub}.${target} +short 2>/dev/null`, 5000);
146
+ if (result)
147
+ results.push(` ${sub}.${target}: ${result}`);
148
+ }
149
+ if (team === 'red' || team === 'purple') {
150
+ results.push('\nTechnology detection:');
151
+ results.push(await runCmd(`curl -sI https://${target} 2>/dev/null | grep -i "server\\|x-powered\\|x-aspnet"`, 10000));
152
+ }
153
+ return results.join('\n');
154
+ }
155
+ async function pentestReport(target) {
156
+ if (!target)
157
+ return 'Error: provide target scope';
158
+ return `Pentest Report Template - ${target}
159
+ ==========================================
160
+ Date: ${new Date().toISOString().split('T')[0]}
161
+ Scope: ${target}
162
+ Team: Purple
163
+
164
+ 1. EXECUTIVE SUMMARY
165
+ [Auto-generated findings will appear here]
166
+
167
+ 2. SCOPE
168
+ Target: ${target}
169
+
170
+ 3. METHODOLOGY
171
+ - Reconnaissance (passive + active)
172
+ - Vulnerability scanning
173
+ - Exploitation (authorized only)
174
+ - Post-exploitation analysis
175
+
176
+ 4. FINDINGS
177
+ Run individual checks (scan, vuln, ssl, firewall, logcheck)
178
+ to populate findings automatically.
179
+
180
+ 5. RECOMMENDATIONS
181
+ [Based on findings above]
182
+
183
+ 6. RISK RATING
184
+ [Critical / High / Medium / Low / Info]`;
185
+ }
186
+ //# sourceMappingURL=Cybersec.js.map