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.
- package/README.md +329 -0
- package/bin/aurix +172 -0
- package/bin/aurix.cmd +23 -0
- package/dist/agent/AgentLoop.d.ts +52 -0
- package/dist/agent/AgentLoop.d.ts.map +1 -0
- package/dist/agent/AgentLoop.js +543 -0
- package/dist/agent/AgentLoop.js.map +1 -0
- package/dist/agent/AgentsMD.d.ts +8 -0
- package/dist/agent/AgentsMD.d.ts.map +1 -0
- package/dist/agent/AgentsMD.js +53 -0
- package/dist/agent/AgentsMD.js.map +1 -0
- package/dist/agent/CodeReview.d.ts +13 -0
- package/dist/agent/CodeReview.d.ts.map +1 -0
- package/dist/agent/CodeReview.js +134 -0
- package/dist/agent/CodeReview.js.map +1 -0
- package/dist/agent/Config.d.ts +63 -0
- package/dist/agent/Config.d.ts.map +1 -0
- package/dist/agent/Config.js +55 -0
- package/dist/agent/Config.js.map +1 -0
- package/dist/agent/Context.d.ts +4 -0
- package/dist/agent/Context.d.ts.map +1 -0
- package/dist/agent/Context.js +390 -0
- package/dist/agent/Context.js.map +1 -0
- package/dist/agent/ContextManager.d.ts +23 -0
- package/dist/agent/ContextManager.d.ts.map +1 -0
- package/dist/agent/ContextManager.js +163 -0
- package/dist/agent/ContextManager.js.map +1 -0
- package/dist/agent/MemoryEngine.d.ts +24 -0
- package/dist/agent/MemoryEngine.d.ts.map +1 -0
- package/dist/agent/MemoryEngine.js +347 -0
- package/dist/agent/MemoryEngine.js.map +1 -0
- package/dist/agent/MultiAgent.d.ts +22 -0
- package/dist/agent/MultiAgent.d.ts.map +1 -0
- package/dist/agent/MultiAgent.js +466 -0
- package/dist/agent/MultiAgent.js.map +1 -0
- package/dist/agent/ResearchPipeline.d.ts +22 -0
- package/dist/agent/ResearchPipeline.d.ts.map +1 -0
- package/dist/agent/ResearchPipeline.js +195 -0
- package/dist/agent/ResearchPipeline.js.map +1 -0
- package/dist/agent/Setup.d.ts +3 -0
- package/dist/agent/Setup.d.ts.map +1 -0
- package/dist/agent/Setup.js +503 -0
- package/dist/agent/Setup.js.map +1 -0
- package/dist/agent/TokenCounter.d.ts +6 -0
- package/dist/agent/TokenCounter.d.ts.map +1 -0
- package/dist/agent/TokenCounter.js +73 -0
- package/dist/agent/TokenCounter.js.map +1 -0
- package/dist/agent/research/CitationGuardian.d.ts +10 -0
- package/dist/agent/research/CitationGuardian.d.ts.map +1 -0
- package/dist/agent/research/CitationGuardian.js +43 -0
- package/dist/agent/research/CitationGuardian.js.map +1 -0
- package/dist/agent/research/ClaimExtractor.d.ts +7 -0
- package/dist/agent/research/ClaimExtractor.d.ts.map +1 -0
- package/dist/agent/research/ClaimExtractor.js +49 -0
- package/dist/agent/research/ClaimExtractor.js.map +1 -0
- package/dist/agent/research/DebateSystem.d.ts +6 -0
- package/dist/agent/research/DebateSystem.d.ts.map +1 -0
- package/dist/agent/research/DebateSystem.js +33 -0
- package/dist/agent/research/DebateSystem.js.map +1 -0
- package/dist/agent/research/FinalReviewer.d.ts +10 -0
- package/dist/agent/research/FinalReviewer.d.ts.map +1 -0
- package/dist/agent/research/FinalReviewer.js +35 -0
- package/dist/agent/research/FinalReviewer.js.map +1 -0
- package/dist/agent/research/JudgeAgent.d.ts +7 -0
- package/dist/agent/research/JudgeAgent.d.ts.map +1 -0
- package/dist/agent/research/JudgeAgent.js +40 -0
- package/dist/agent/research/JudgeAgent.js.map +1 -0
- package/dist/agent/research/LogicCritic.d.ts +10 -0
- package/dist/agent/research/LogicCritic.d.ts.map +1 -0
- package/dist/agent/research/LogicCritic.js +39 -0
- package/dist/agent/research/LogicCritic.js.map +1 -0
- package/dist/agent/research/PlanningAgent.d.ts +10 -0
- package/dist/agent/research/PlanningAgent.d.ts.map +1 -0
- package/dist/agent/research/PlanningAgent.js +39 -0
- package/dist/agent/research/PlanningAgent.js.map +1 -0
- package/dist/agent/research/RequestAnalyzer.d.ts +14 -0
- package/dist/agent/research/RequestAnalyzer.d.ts.map +1 -0
- package/dist/agent/research/RequestAnalyzer.js +38 -0
- package/dist/agent/research/RequestAnalyzer.js.map +1 -0
- package/dist/agent/research/ResearchAgent.d.ts +12 -0
- package/dist/agent/research/ResearchAgent.d.ts.map +1 -0
- package/dist/agent/research/ResearchAgent.js +64 -0
- package/dist/agent/research/ResearchAgent.js.map +1 -0
- package/dist/agent/research/SkepticAgent.d.ts +9 -0
- package/dist/agent/research/SkepticAgent.d.ts.map +1 -0
- package/dist/agent/research/SkepticAgent.js +38 -0
- package/dist/agent/research/SkepticAgent.js.map +1 -0
- package/dist/agent/research/SupporterAgent.d.ts +9 -0
- package/dist/agent/research/SupporterAgent.d.ts.map +1 -0
- package/dist/agent/research/SupporterAgent.js +31 -0
- package/dist/agent/research/SupporterAgent.js.map +1 -0
- package/dist/agent/research/VideoAgent.d.ts +10 -0
- package/dist/agent/research/VideoAgent.d.ts.map +1 -0
- package/dist/agent/research/VideoAgent.js +49 -0
- package/dist/agent/research/VideoAgent.js.map +1 -0
- package/dist/agent/research/WriterAgent.d.ts +6 -0
- package/dist/agent/research/WriterAgent.d.ts.map +1 -0
- package/dist/agent/research/WriterAgent.js +30 -0
- package/dist/agent/research/WriterAgent.js.map +1 -0
- package/dist/agent/research/index.d.ts +15 -0
- package/dist/agent/research/index.d.ts.map +1 -0
- package/dist/agent/research/index.js +14 -0
- package/dist/agent/research/index.js.map +1 -0
- package/dist/agent/research/types.d.ts +49 -0
- package/dist/agent/research/types.d.ts.map +1 -0
- package/dist/agent/research/types.js +17 -0
- package/dist/agent/research/types.js.map +1 -0
- package/dist/cli/AltScreen.d.ts +3 -0
- package/dist/cli/AltScreen.d.ts.map +1 -0
- package/dist/cli/AltScreen.js +72 -0
- package/dist/cli/AltScreen.js.map +1 -0
- package/dist/cli/App.d.ts +11 -0
- package/dist/cli/App.d.ts.map +1 -0
- package/dist/cli/App.js +1319 -0
- package/dist/cli/App.js.map +1 -0
- package/dist/cli/Banner.d.ts +13 -0
- package/dist/cli/Banner.d.ts.map +1 -0
- package/dist/cli/Banner.js +12 -0
- package/dist/cli/Banner.js.map +1 -0
- package/dist/cli/BlackFill.d.ts +3 -0
- package/dist/cli/BlackFill.d.ts.map +1 -0
- package/dist/cli/BlackFill.js +9 -0
- package/dist/cli/BlackFill.js.map +1 -0
- package/dist/cli/ChatArea.d.ts +20 -0
- package/dist/cli/ChatArea.d.ts.map +1 -0
- package/dist/cli/ChatArea.js +300 -0
- package/dist/cli/ChatArea.js.map +1 -0
- package/dist/cli/ConnectModal.d.ts +9 -0
- package/dist/cli/ConnectModal.d.ts.map +1 -0
- package/dist/cli/ConnectModal.js +101 -0
- package/dist/cli/ConnectModal.js.map +1 -0
- package/dist/cli/FileDiff.d.ts +16 -0
- package/dist/cli/FileDiff.d.ts.map +1 -0
- package/dist/cli/FileDiff.js +45 -0
- package/dist/cli/FileDiff.js.map +1 -0
- package/dist/cli/InputBox.d.ts +18 -0
- package/dist/cli/InputBox.d.ts.map +1 -0
- package/dist/cli/InputBox.js +573 -0
- package/dist/cli/InputBox.js.map +1 -0
- package/dist/cli/LoginModal.d.ts +10 -0
- package/dist/cli/LoginModal.d.ts.map +1 -0
- package/dist/cli/LoginModal.js +129 -0
- package/dist/cli/LoginModal.js.map +1 -0
- package/dist/cli/Menu.d.ts +26 -0
- package/dist/cli/Menu.d.ts.map +1 -0
- package/dist/cli/Menu.js +115 -0
- package/dist/cli/Menu.js.map +1 -0
- package/dist/cli/MouseFilter.d.ts +2 -0
- package/dist/cli/MouseFilter.d.ts.map +1 -0
- package/dist/cli/MouseFilter.js +47 -0
- package/dist/cli/MouseFilter.js.map +1 -0
- package/dist/cli/Panel.d.ts.map +1 -0
- package/dist/cli/Panel.js.map +1 -0
- package/dist/cli/PermissionPrompt.d.ts +9 -0
- package/dist/cli/PermissionPrompt.d.ts.map +1 -0
- package/dist/cli/PermissionPrompt.js +56 -0
- package/dist/cli/PermissionPrompt.js.map +1 -0
- package/dist/cli/SessionPanel.d.ts +15 -0
- package/dist/cli/SessionPanel.d.ts.map +1 -0
- package/dist/cli/SessionPanel.js +28 -0
- package/dist/cli/SessionPanel.js.map +1 -0
- package/dist/cli/SetupUI.d.ts +34 -0
- package/dist/cli/SetupUI.d.ts.map +1 -0
- package/dist/cli/SetupUI.js +311 -0
- package/dist/cli/SetupUI.js.map +1 -0
- package/dist/cli/StatusBar.d.ts +12 -0
- package/dist/cli/StatusBar.d.ts.map +1 -0
- package/dist/cli/StatusBar.js +7 -0
- package/dist/cli/StatusBar.js.map +1 -0
- package/dist/cli/WhatsAppModal.d.ts +10 -0
- package/dist/cli/WhatsAppModal.d.ts.map +1 -0
- package/dist/cli/WhatsAppModal.js +78 -0
- package/dist/cli/WhatsAppModal.js.map +1 -0
- package/dist/cli/animation/useThinking.d.ts +2 -0
- package/dist/cli/animation/useThinking.d.ts.map +1 -0
- package/dist/cli/animation/useThinking.js +50 -0
- package/dist/cli/animation/useThinking.js.map +1 -0
- package/dist/cli/commands.d.ts +26 -0
- package/dist/cli/commands.d.ts.map +1 -0
- package/dist/cli/commands.js +816 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/cli/theme.d.ts +101 -0
- package/dist/cli/theme.d.ts.map +1 -0
- package/dist/cli/theme.js +222 -0
- package/dist/cli/theme.js.map +1 -0
- package/dist/commands/SlashCommands.d.ts +15 -0
- package/dist/commands/SlashCommands.d.ts.map +1 -0
- package/dist/commands/SlashCommands.js +238 -0
- package/dist/commands/SlashCommands.js.map +1 -0
- package/dist/gateway/Discord.d.ts +13 -0
- package/dist/gateway/Discord.d.ts.map +1 -0
- package/dist/gateway/Discord.js +144 -0
- package/dist/gateway/Discord.js.map +1 -0
- package/dist/gateway/Gateway.d.ts +71 -0
- package/dist/gateway/Gateway.d.ts.map +1 -0
- package/dist/gateway/Gateway.js +665 -0
- package/dist/gateway/Gateway.js.map +1 -0
- package/dist/gateway/Telegram.d.ts +18 -0
- package/dist/gateway/Telegram.d.ts.map +1 -0
- package/dist/gateway/Telegram.js +224 -0
- package/dist/gateway/Telegram.js.map +1 -0
- package/dist/gateway/WASessionStore.d.ts +13 -0
- package/dist/gateway/WASessionStore.d.ts.map +1 -0
- package/dist/gateway/WASessionStore.js +94 -0
- package/dist/gateway/WASessionStore.js.map +1 -0
- package/dist/gateway/WhatsApp.d.ts +19 -0
- package/dist/gateway/WhatsApp.d.ts.map +1 -0
- package/dist/gateway/WhatsApp.js +159 -0
- package/dist/gateway/WhatsApp.js.map +1 -0
- package/dist/gateway-entry.d.ts +3 -0
- package/dist/gateway-entry.d.ts.map +1 -0
- package/dist/gateway-entry.js +50 -0
- package/dist/gateway-entry.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +213 -0
- package/dist/index.js.map +1 -0
- package/dist/providers/index.d.ts +70 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +390 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/skills/SkillRegistry.d.ts +33 -0
- package/dist/skills/SkillRegistry.d.ts.map +1 -0
- package/dist/skills/SkillRegistry.js +102 -0
- package/dist/skills/SkillRegistry.js.map +1 -0
- package/dist/token-counter.linux-x64-gnu.node +0 -0
- package/dist/tools/Backend.d.ts +3 -0
- package/dist/tools/Backend.d.ts.map +1 -0
- package/dist/tools/Backend.js +154 -0
- package/dist/tools/Backend.js.map +1 -0
- package/dist/tools/Blockchain.d.ts +3 -0
- package/dist/tools/Blockchain.d.ts.map +1 -0
- package/dist/tools/Blockchain.js +82 -0
- package/dist/tools/Blockchain.js.map +1 -0
- package/dist/tools/Browser.d.ts +5 -0
- package/dist/tools/Browser.d.ts.map +1 -0
- package/dist/tools/Browser.js +2253 -0
- package/dist/tools/Browser.js.map +1 -0
- package/dist/tools/Cloud.d.ts +3 -0
- package/dist/tools/Cloud.d.ts.map +1 -0
- package/dist/tools/Cloud.js +115 -0
- package/dist/tools/Cloud.js.map +1 -0
- package/dist/tools/CodeExec.d.ts +3 -0
- package/dist/tools/CodeExec.d.ts.map +1 -0
- package/dist/tools/CodeExec.js +76 -0
- package/dist/tools/CodeExec.js.map +1 -0
- package/dist/tools/Cybersec.d.ts +3 -0
- package/dist/tools/Cybersec.d.ts.map +1 -0
- package/dist/tools/Cybersec.js +186 -0
- package/dist/tools/Cybersec.js.map +1 -0
- package/dist/tools/Deploy.d.ts +3 -0
- package/dist/tools/Deploy.d.ts.map +1 -0
- package/dist/tools/Deploy.js +87 -0
- package/dist/tools/Deploy.js.map +1 -0
- package/dist/tools/Diagram.d.ts +3 -0
- package/dist/tools/Diagram.d.ts.map +1 -0
- package/dist/tools/Diagram.js +38 -0
- package/dist/tools/Diagram.js.map +1 -0
- package/dist/tools/Docker.d.ts +3 -0
- package/dist/tools/Docker.d.ts.map +1 -0
- package/dist/tools/Docker.js +45 -0
- package/dist/tools/Docker.js.map +1 -0
- package/dist/tools/Email.d.ts +3 -0
- package/dist/tools/Email.d.ts.map +1 -0
- package/dist/tools/Email.js +172 -0
- package/dist/tools/Email.js.map +1 -0
- package/dist/tools/Excel.d.ts +3 -0
- package/dist/tools/Excel.d.ts.map +1 -0
- package/dist/tools/Excel.js +41 -0
- package/dist/tools/Excel.js.map +1 -0
- package/dist/tools/FileEdit.d.ts +3 -0
- package/dist/tools/FileEdit.d.ts.map +1 -0
- package/dist/tools/FileEdit.js +69 -0
- package/dist/tools/FileEdit.js.map +1 -0
- package/dist/tools/FileOps.d.ts +5 -0
- package/dist/tools/FileOps.d.ts.map +1 -0
- package/dist/tools/FileOps.js +76 -0
- package/dist/tools/FileOps.js.map +1 -0
- package/dist/tools/Frontend.d.ts +3 -0
- package/dist/tools/Frontend.d.ts.map +1 -0
- package/dist/tools/Frontend.js +124 -0
- package/dist/tools/Frontend.js.map +1 -0
- package/dist/tools/GifSearch.d.ts +3 -0
- package/dist/tools/GifSearch.d.ts.map +1 -0
- package/dist/tools/GifSearch.js +36 -0
- package/dist/tools/GifSearch.js.map +1 -0
- package/dist/tools/Github.d.ts +3 -0
- package/dist/tools/Github.d.ts.map +1 -0
- package/dist/tools/Github.js +95 -0
- package/dist/tools/Github.js.map +1 -0
- package/dist/tools/GithubConnect.d.ts +3 -0
- package/dist/tools/GithubConnect.d.ts.map +1 -0
- package/dist/tools/GithubConnect.js +282 -0
- package/dist/tools/GithubConnect.js.map +1 -0
- package/dist/tools/Humanizer.d.ts +3 -0
- package/dist/tools/Humanizer.d.ts.map +1 -0
- package/dist/tools/Humanizer.js +45 -0
- package/dist/tools/Humanizer.js.map +1 -0
- package/dist/tools/Maps.d.ts +3 -0
- package/dist/tools/Maps.d.ts.map +1 -0
- package/dist/tools/Maps.js +51 -0
- package/dist/tools/Maps.js.map +1 -0
- package/dist/tools/McpManage.d.ts +26 -0
- package/dist/tools/McpManage.d.ts.map +1 -0
- package/dist/tools/McpManage.js +229 -0
- package/dist/tools/McpManage.js.map +1 -0
- package/dist/tools/Memory.d.ts +3 -0
- package/dist/tools/Memory.d.ts.map +1 -0
- package/dist/tools/Memory.js +68 -0
- package/dist/tools/Memory.js.map +1 -0
- package/dist/tools/Music.d.ts +3 -0
- package/dist/tools/Music.d.ts.map +1 -0
- package/dist/tools/Music.js +274 -0
- package/dist/tools/Music.js.map +1 -0
- package/dist/tools/Notifier.d.ts +3 -0
- package/dist/tools/Notifier.d.ts.map +1 -0
- package/dist/tools/Notifier.js +31 -0
- package/dist/tools/Notifier.js.map +1 -0
- package/dist/tools/Osint.d.ts +3 -0
- package/dist/tools/Osint.d.ts.map +1 -0
- package/dist/tools/Osint.js +57 -0
- package/dist/tools/Osint.js.map +1 -0
- package/dist/tools/Pdf.d.ts +3 -0
- package/dist/tools/Pdf.d.ts.map +1 -0
- package/dist/tools/Pdf.js +152 -0
- package/dist/tools/Pdf.js.map +1 -0
- package/dist/tools/Planning.d.ts +3 -0
- package/dist/tools/Planning.d.ts.map +1 -0
- package/dist/tools/Planning.js +212 -0
- package/dist/tools/Planning.js.map +1 -0
- package/dist/tools/Pptx.d.ts +3 -0
- package/dist/tools/Pptx.d.ts.map +1 -0
- package/dist/tools/Pptx.js +47 -0
- package/dist/tools/Pptx.js.map +1 -0
- package/dist/tools/Registry.d.ts +39 -0
- package/dist/tools/Registry.d.ts.map +1 -0
- package/dist/tools/Registry.js +151 -0
- package/dist/tools/Registry.js.map +1 -0
- package/dist/tools/Research.d.ts +3 -0
- package/dist/tools/Research.d.ts.map +1 -0
- package/dist/tools/Research.js +126 -0
- package/dist/tools/Research.js.map +1 -0
- package/dist/tools/ResearchForums.d.ts +3 -0
- package/dist/tools/ResearchForums.d.ts.map +1 -0
- package/dist/tools/ResearchForums.js +84 -0
- package/dist/tools/ResearchForums.js.map +1 -0
- package/dist/tools/Scraper.d.ts +3 -0
- package/dist/tools/Scraper.d.ts.map +1 -0
- package/dist/tools/Scraper.js +54 -0
- package/dist/tools/Scraper.js.map +1 -0
- package/dist/tools/SendFile.d.ts +4 -0
- package/dist/tools/SendFile.d.ts.map +1 -0
- package/dist/tools/SendFile.js +71 -0
- package/dist/tools/SendFile.js.map +1 -0
- package/dist/tools/SkillLoader.d.ts +3 -0
- package/dist/tools/SkillLoader.d.ts.map +1 -0
- package/dist/tools/SkillLoader.js +132 -0
- package/dist/tools/SkillLoader.js.map +1 -0
- package/dist/tools/SystemMonitor.d.ts +3 -0
- package/dist/tools/SystemMonitor.d.ts.map +1 -0
- package/dist/tools/SystemMonitor.js +59 -0
- package/dist/tools/SystemMonitor.js.map +1 -0
- package/dist/tools/Terminal.d.ts +3 -0
- package/dist/tools/Terminal.d.ts.map +1 -0
- package/dist/tools/Terminal.js +32 -0
- package/dist/tools/Terminal.js.map +1 -0
- package/dist/tools/Todo.d.ts +3 -0
- package/dist/tools/Todo.d.ts.map +1 -0
- package/dist/tools/Todo.js +87 -0
- package/dist/tools/Todo.js.map +1 -0
- package/dist/tools/Trading.d.ts +3 -0
- package/dist/tools/Trading.d.ts.map +1 -0
- package/dist/tools/Trading.js +277 -0
- package/dist/tools/Trading.js.map +1 -0
- package/dist/tools/Vision.d.ts +3 -0
- package/dist/tools/Vision.d.ts.map +1 -0
- package/dist/tools/Vision.js +99 -0
- package/dist/tools/Vision.js.map +1 -0
- package/dist/tools/Vps.d.ts +3 -0
- package/dist/tools/Vps.d.ts.map +1 -0
- package/dist/tools/Vps.js +178 -0
- package/dist/tools/Vps.js.map +1 -0
- package/dist/tools/WebSearch.d.ts +3 -0
- package/dist/tools/WebSearch.d.ts.map +1 -0
- package/dist/tools/WebSearch.js +115 -0
- package/dist/tools/WebSearch.js.map +1 -0
- package/dist/tools/YouTube.d.ts +3 -0
- package/dist/tools/YouTube.d.ts.map +1 -0
- package/dist/tools/YouTube.js +30 -0
- package/dist/tools/YouTube.js.map +1 -0
- package/dist/utils/ascii-logo.d.ts +9 -0
- package/dist/utils/ascii-logo.d.ts.map +1 -0
- package/dist/utils/ascii-logo.js +34 -0
- package/dist/utils/ascii-logo.js.map +1 -0
- package/dist/utils/base-url.d.ts +9 -0
- package/dist/utils/base-url.d.ts.map +1 -0
- package/dist/utils/base-url.js +58 -0
- package/dist/utils/base-url.js.map +1 -0
- package/native/token-counter/index.d.ts +7 -0
- package/native/token-counter/index.js +316 -0
- package/native/token-counter/node_modules/.package-lock.json +568 -0
- package/native/token-counter/node_modules/2/array.js +25 -0
- package/native/token-counter/node_modules/2/index.js +12 -0
- package/native/token-counter/node_modules/2/iterator.js +13 -0
- package/native/token-counter/node_modules/2/license.txt +21 -0
- package/native/token-counter/node_modules/2/map.js +27 -0
- package/native/token-counter/node_modules/2/number.js +109 -0
- package/native/token-counter/node_modules/2/object.js +23 -0
- package/native/token-counter/node_modules/2/package.json +60 -0
- package/native/token-counter/node_modules/2/readme.md +246 -0
- package/native/token-counter/node_modules/2/string.js +11 -0
- package/native/token-counter/node_modules/2/test.js +520 -0
- package/native/token-counter/node_modules/@lamansky/every/index.js +16 -0
- package/native/token-counter/node_modules/@lamansky/every/license.txt +21 -0
- package/native/token-counter/node_modules/@lamansky/every/package.json +38 -0
- package/native/token-counter/node_modules/@lamansky/every/readme.md +46 -0
- package/native/token-counter/node_modules/@lamansky/flatten/index.js +5 -0
- package/native/token-counter/node_modules/@lamansky/flatten/license.txt +21 -0
- package/native/token-counter/node_modules/@lamansky/flatten/package.json +35 -0
- package/native/token-counter/node_modules/@lamansky/flatten/readme.md +41 -0
- package/native/token-counter/node_modules/@napi-rs/cli/LICENSE +21 -0
- package/native/token-counter/node_modules/@napi-rs/cli/README.md +96 -0
- package/native/token-counter/node_modules/@napi-rs/cli/package.json +65 -0
- package/native/token-counter/node_modules/@napi-rs/cli/scripts/index.js +51371 -0
- package/native/token-counter/node_modules/add-counter/index.js +3 -0
- package/native/token-counter/node_modules/add-counter/license.txt +21 -0
- package/native/token-counter/node_modules/add-counter/package.json +34 -0
- package/native/token-counter/node_modules/add-counter/readme.md +36 -0
- package/native/token-counter/node_modules/array-pad/LICENSE +22 -0
- package/native/token-counter/node_modules/array-pad/README.md +80 -0
- package/native/token-counter/node_modules/array-pad/index.js +30 -0
- package/native/token-counter/node_modules/array-pad/package.json +28 -0
- package/native/token-counter/node_modules/arrify/index.js +8 -0
- package/native/token-counter/node_modules/arrify/license +21 -0
- package/native/token-counter/node_modules/arrify/package.json +33 -0
- package/native/token-counter/node_modules/arrify/readme.md +36 -0
- package/native/token-counter/node_modules/case-insensitive/index.js +72 -0
- package/native/token-counter/node_modules/case-insensitive/license.txt +21 -0
- package/native/token-counter/node_modules/case-insensitive/package.json +39 -0
- package/native/token-counter/node_modules/case-insensitive/readme.md +39 -0
- package/native/token-counter/node_modules/case-insensitive/test.js +114 -0
- package/native/token-counter/node_modules/class-chain/index.js +32 -0
- package/native/token-counter/node_modules/class-chain/license.txt +21 -0
- package/native/token-counter/node_modules/class-chain/package.json +39 -0
- package/native/token-counter/node_modules/class-chain/readme.md +23 -0
- package/native/token-counter/node_modules/class-chain/test.js +77 -0
- package/native/token-counter/node_modules/copy-own/index.js +10 -0
- package/native/token-counter/node_modules/copy-own/license.txt +21 -0
- package/native/token-counter/node_modules/copy-own/package.json +37 -0
- package/native/token-counter/node_modules/copy-own/readme.md +67 -0
- package/native/token-counter/node_modules/def-props/index.js +43 -0
- package/native/token-counter/node_modules/def-props/license.txt +21 -0
- package/native/token-counter/node_modules/def-props/node_modules/is-obj/index.d.ts +22 -0
- package/native/token-counter/node_modules/def-props/node_modules/is-obj/index.js +6 -0
- package/native/token-counter/node_modules/def-props/node_modules/is-obj/license +9 -0
- package/native/token-counter/node_modules/def-props/node_modules/is-obj/package.json +34 -0
- package/native/token-counter/node_modules/def-props/node_modules/is-obj/readme.md +39 -0
- package/native/token-counter/node_modules/def-props/package.json +51 -0
- package/native/token-counter/node_modules/def-props/readme.md +117 -0
- package/native/token-counter/node_modules/empty-iterator/index.js +3 -0
- package/native/token-counter/node_modules/empty-iterator/license.txt +21 -0
- package/native/token-counter/node_modules/empty-iterator/package.json +33 -0
- package/native/token-counter/node_modules/empty-iterator/readme.md +23 -0
- package/native/token-counter/node_modules/enforce-range/index.js +15 -0
- package/native/token-counter/node_modules/enforce-range/license.txt +21 -0
- package/native/token-counter/node_modules/enforce-range/node_modules/2/array.js +43 -0
- package/native/token-counter/node_modules/enforce-range/node_modules/2/index.js +10 -0
- package/native/token-counter/node_modules/enforce-range/node_modules/2/iterator.js +26 -0
- package/native/token-counter/node_modules/enforce-range/node_modules/2/license.txt +21 -0
- package/native/token-counter/node_modules/enforce-range/node_modules/2/map.js +47 -0
- package/native/token-counter/node_modules/enforce-range/node_modules/2/number.js +33 -0
- package/native/token-counter/node_modules/enforce-range/node_modules/2/object.js +61 -0
- package/native/token-counter/node_modules/enforce-range/node_modules/2/package.json +41 -0
- package/native/token-counter/node_modules/enforce-range/node_modules/2/readme.md +210 -0
- package/native/token-counter/node_modules/enforce-range/node_modules/2/string.js +37 -0
- package/native/token-counter/node_modules/enforce-range/node_modules/2/test.js +413 -0
- package/native/token-counter/node_modules/enforce-range/package.json +36 -0
- package/native/token-counter/node_modules/enforce-range/readme.md +53 -0
- package/native/token-counter/node_modules/english-list/.travis.yml +6 -0
- package/native/token-counter/node_modules/english-list/LICENSE +22 -0
- package/native/token-counter/node_modules/english-list/README.md +44 -0
- package/native/token-counter/node_modules/english-list/index.js +34 -0
- package/native/token-counter/node_modules/english-list/package.json +31 -0
- package/native/token-counter/node_modules/english-list/test.log +6 -0
- package/native/token-counter/node_modules/errate/index.js +19 -0
- package/native/token-counter/node_modules/errate/license.txt +21 -0
- package/native/token-counter/node_modules/errate/package.json +39 -0
- package/native/token-counter/node_modules/errate/readme.md +79 -0
- package/native/token-counter/node_modules/ffn/index.js +9 -0
- package/native/token-counter/node_modules/ffn/license.txt +21 -0
- package/native/token-counter/node_modules/ffn/package.json +34 -0
- package/native/token-counter/node_modules/ffn/readme.md +51 -0
- package/native/token-counter/node_modules/get-own-property/index.js +5 -0
- package/native/token-counter/node_modules/get-own-property/license.txt +21 -0
- package/native/token-counter/node_modules/get-own-property/package.json +31 -0
- package/native/token-counter/node_modules/get-own-property/readme.md +22 -0
- package/native/token-counter/node_modules/has-duplicates/index.js +11 -0
- package/native/token-counter/node_modules/has-duplicates/license.txt +21 -0
- package/native/token-counter/node_modules/has-duplicates/package.json +32 -0
- package/native/token-counter/node_modules/has-duplicates/readme.md +23 -0
- package/native/token-counter/node_modules/has-duplicates/test.js +30 -0
- package/native/token-counter/node_modules/if-else-throw/index.js +8 -0
- package/native/token-counter/node_modules/if-else-throw/license.txt +21 -0
- package/native/token-counter/node_modules/if-else-throw/package.json +37 -0
- package/native/token-counter/node_modules/if-else-throw/readme.md +32 -0
- package/native/token-counter/node_modules/is-array-of-length/index.js +7 -0
- package/native/token-counter/node_modules/is-array-of-length/license.txt +21 -0
- package/native/token-counter/node_modules/is-array-of-length/package.json +42 -0
- package/native/token-counter/node_modules/is-array-of-length/readme.md +41 -0
- package/native/token-counter/node_modules/is-class-of/index.js +7 -0
- package/native/token-counter/node_modules/is-class-of/license.txt +21 -0
- package/native/token-counter/node_modules/is-class-of/package.json +35 -0
- package/native/token-counter/node_modules/is-class-of/readme.md +57 -0
- package/native/token-counter/node_modules/is-global-object/index.js +6 -0
- package/native/token-counter/node_modules/is-global-object/license.txt +21 -0
- package/native/token-counter/node_modules/is-global-object/package.json +34 -0
- package/native/token-counter/node_modules/is-global-object/readme.md +22 -0
- package/native/token-counter/node_modules/is-instance-of/index.js +28 -0
- package/native/token-counter/node_modules/is-instance-of/license.txt +21 -0
- package/native/token-counter/node_modules/is-instance-of/package.json +44 -0
- package/native/token-counter/node_modules/is-instance-of/readme.md +55 -0
- package/native/token-counter/node_modules/is-iterable/index.js +5 -0
- package/native/token-counter/node_modules/is-iterable/license +21 -0
- package/native/token-counter/node_modules/is-iterable/package.json +30 -0
- package/native/token-counter/node_modules/is-iterable/readme.md +23 -0
- package/native/token-counter/node_modules/is-nil/LICENSE +21 -0
- package/native/token-counter/node_modules/is-nil/README.md +47 -0
- package/native/token-counter/node_modules/is-nil/index.js +6 -0
- package/native/token-counter/node_modules/is-nil/package.json +46 -0
- package/native/token-counter/node_modules/is-obj/index.js +5 -0
- package/native/token-counter/node_modules/is-obj/license +21 -0
- package/native/token-counter/node_modules/is-obj/package.json +33 -0
- package/native/token-counter/node_modules/is-obj/readme.md +34 -0
- package/native/token-counter/node_modules/is-object/.eslintignore +1 -0
- package/native/token-counter/node_modules/is-object/.eslintrc +5 -0
- package/native/token-counter/node_modules/is-object/.nycrc +13 -0
- package/native/token-counter/node_modules/is-object/.testem.json +14 -0
- package/native/token-counter/node_modules/is-object/CHANGELOG.md +121 -0
- package/native/token-counter/node_modules/is-object/LICENSE +19 -0
- package/native/token-counter/node_modules/is-object/README.md +48 -0
- package/native/token-counter/node_modules/is-object/index.js +5 -0
- package/native/token-counter/node_modules/is-object/package.json +78 -0
- package/native/token-counter/node_modules/is-object/test/index.js +44 -0
- package/native/token-counter/node_modules/is-plain-object/LICENSE +21 -0
- package/native/token-counter/node_modules/is-plain-object/README.md +104 -0
- package/native/token-counter/node_modules/is-plain-object/index.d.ts +5 -0
- package/native/token-counter/node_modules/is-plain-object/index.js +37 -0
- package/native/token-counter/node_modules/is-plain-object/package.json +79 -0
- package/native/token-counter/node_modules/isobject/LICENSE +21 -0
- package/native/token-counter/node_modules/isobject/README.md +122 -0
- package/native/token-counter/node_modules/isobject/index.d.ts +5 -0
- package/native/token-counter/node_modules/isobject/index.js +12 -0
- package/native/token-counter/node_modules/isobject/package.json +74 -0
- package/native/token-counter/node_modules/lodash.set/LICENSE +47 -0
- package/native/token-counter/node_modules/lodash.set/README.md +18 -0
- package/native/token-counter/node_modules/lodash.set/index.js +990 -0
- package/native/token-counter/node_modules/lodash.set/package.json +17 -0
- package/native/token-counter/node_modules/longest-first/index.js +3 -0
- package/native/token-counter/node_modules/longest-first/license.txt +21 -0
- package/native/token-counter/node_modules/longest-first/package.json +36 -0
- package/native/token-counter/node_modules/longest-first/readme.md +29 -0
- package/native/token-counter/node_modules/m-o/index.js +27 -0
- package/native/token-counter/node_modules/m-o/license.txt +21 -0
- package/native/token-counter/node_modules/m-o/node_modules/new-object/index.js +23 -0
- package/native/token-counter/node_modules/m-o/node_modules/new-object/license.txt +21 -0
- package/native/token-counter/node_modules/m-o/node_modules/new-object/package.json +40 -0
- package/native/token-counter/node_modules/m-o/node_modules/new-object/readme.md +55 -0
- package/native/token-counter/node_modules/m-o/package.json +45 -0
- package/native/token-counter/node_modules/m-o/readme.md +87 -0
- package/native/token-counter/node_modules/map-iter/index.js +6 -0
- package/native/token-counter/node_modules/map-iter/license.txt +21 -0
- package/native/token-counter/node_modules/map-iter/package.json +40 -0
- package/native/token-counter/node_modules/map-iter/readme.md +46 -0
- package/native/token-counter/node_modules/new-object/index.js +5 -0
- package/native/token-counter/node_modules/new-object/license.txt +21 -0
- package/native/token-counter/node_modules/new-object/package.json +49 -0
- package/native/token-counter/node_modules/new-object/readme.md +145 -0
- package/native/token-counter/node_modules/ofn/index.js +22 -0
- package/native/token-counter/node_modules/ofn/license.txt +21 -0
- package/native/token-counter/node_modules/ofn/package.json +40 -0
- package/native/token-counter/node_modules/ofn/readme.md +63 -0
- package/native/token-counter/node_modules/otherwise/index.js +11 -0
- package/native/token-counter/node_modules/otherwise/license.txt +21 -0
- package/native/token-counter/node_modules/otherwise/package.json +38 -0
- package/native/token-counter/node_modules/otherwise/readme.md +29 -0
- package/native/token-counter/node_modules/parser-factory/index.js +138 -0
- package/native/token-counter/node_modules/parser-factory/license.txt +21 -0
- package/native/token-counter/node_modules/parser-factory/node_modules/arrify/index.d.ts +38 -0
- package/native/token-counter/node_modules/parser-factory/node_modules/arrify/index.js +23 -0
- package/native/token-counter/node_modules/parser-factory/node_modules/arrify/license +9 -0
- package/native/token-counter/node_modules/parser-factory/node_modules/arrify/package.json +35 -0
- package/native/token-counter/node_modules/parser-factory/node_modules/arrify/readme.md +39 -0
- package/native/token-counter/node_modules/parser-factory/package.json +38 -0
- package/native/token-counter/node_modules/parser-factory/readme.md +15 -0
- package/native/token-counter/node_modules/pfn/index.js +5 -0
- package/native/token-counter/node_modules/pfn/license.txt +21 -0
- package/native/token-counter/node_modules/pfn/package.json +41 -0
- package/native/token-counter/node_modules/pfn/readme.md +111 -0
- package/native/token-counter/node_modules/pfn/strict.js +8 -0
- package/native/token-counter/node_modules/plainify/index.js +5 -0
- package/native/token-counter/node_modules/plainify/license.txt +21 -0
- package/native/token-counter/node_modules/plainify/package.json +36 -0
- package/native/token-counter/node_modules/plainify/readme.md +47 -0
- package/native/token-counter/node_modules/possible-function/changelog.md +7 -0
- package/native/token-counter/node_modules/possible-function/index.js +43 -0
- package/native/token-counter/node_modules/possible-function/license.txt +21 -0
- package/native/token-counter/node_modules/possible-function/package.json +34 -0
- package/native/token-counter/node_modules/possible-function/readme.md +77 -0
- package/native/token-counter/node_modules/possible-function/test.js +32 -0
- package/native/token-counter/node_modules/qfn/index.js +11 -0
- package/native/token-counter/node_modules/qfn/license.txt +21 -0
- package/native/token-counter/node_modules/qfn/package.json +40 -0
- package/native/token-counter/node_modules/qfn/readme.md +45 -0
- package/native/token-counter/node_modules/roadblock/index.js +3 -0
- package/native/token-counter/node_modules/roadblock/license.txt +21 -0
- package/native/token-counter/node_modules/roadblock/package.json +40 -0
- package/native/token-counter/node_modules/roadblock/readme.md +59 -0
- package/native/token-counter/node_modules/round-to/index.d.ts +56 -0
- package/native/token-counter/node_modules/round-to/index.js +37 -0
- package/native/token-counter/node_modules/round-to/license +9 -0
- package/native/token-counter/node_modules/round-to/package.json +38 -0
- package/native/token-counter/node_modules/round-to/readme.md +71 -0
- package/native/token-counter/node_modules/rtrim-array/index.js +10 -0
- package/native/token-counter/node_modules/rtrim-array/license.txt +21 -0
- package/native/token-counter/node_modules/rtrim-array/package.json +41 -0
- package/native/token-counter/node_modules/rtrim-array/readme.md +75 -0
- package/native/token-counter/node_modules/sbo/index.js +25 -0
- package/native/token-counter/node_modules/sbo/license.txt +21 -0
- package/native/token-counter/node_modules/sbo/package.json +50 -0
- package/native/token-counter/node_modules/sbo/readme.md +105 -0
- package/native/token-counter/node_modules/sorp/index.js +3 -0
- package/native/token-counter/node_modules/sorp/license.txt +21 -0
- package/native/token-counter/node_modules/sorp/package.json +34 -0
- package/native/token-counter/node_modules/sorp/readme.md +25 -0
- package/native/token-counter/node_modules/trim-call/index.js +6 -0
- package/native/token-counter/node_modules/trim-call/license.txt +21 -0
- package/native/token-counter/node_modules/trim-call/package.json +40 -0
- package/native/token-counter/node_modules/trim-call/readme.md +80 -0
- package/native/token-counter/node_modules/type-error/LICENSE +21 -0
- package/native/token-counter/node_modules/type-error/README.md +24 -0
- package/native/token-counter/node_modules/type-error/index.js +35 -0
- package/native/token-counter/node_modules/type-error/package.json +11 -0
- package/native/token-counter/node_modules/vfn/index.js +21 -0
- package/native/token-counter/node_modules/vfn/license.txt +21 -0
- package/native/token-counter/node_modules/vfn/package.json +40 -0
- package/native/token-counter/node_modules/vfn/readme.md +81 -0
- package/native/token-counter/node_modules/wfn/index.js +43 -0
- package/native/token-counter/node_modules/wfn/license.txt +21 -0
- package/native/token-counter/node_modules/wfn/package.json +38 -0
- package/native/token-counter/node_modules/wfn/readme.md +81 -0
- package/native/token-counter/package-lock.json +578 -0
- package/native/token-counter/package.json +21 -0
- package/native/token-counter/token-counter.linux-x64-gnu.node +0 -0
- package/package.json +98 -0
- package/scripts/build.cjs +27 -0
- package/scripts/deploy.sh +29 -0
- package/scripts/music.py +268 -0
- package/scripts/postinstall.mjs +81 -0
- 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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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
|