codemate-ai 1.0.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/LICENSE +21 -0
- package/README.md +314 -0
- package/dist/src/agents/base/Agent.d.ts +13 -0
- package/dist/src/agents/base/Agent.d.ts.map +1 -0
- package/dist/src/agents/base/Agent.js +10 -0
- package/dist/src/agents/base/Agent.js.map +1 -0
- package/dist/src/agents/builtin/ExploreAgent.d.ts +13 -0
- package/dist/src/agents/builtin/ExploreAgent.d.ts.map +1 -0
- package/dist/src/agents/builtin/ExploreAgent.js +71 -0
- package/dist/src/agents/builtin/ExploreAgent.js.map +1 -0
- package/dist/src/agents/builtin/GeneralAgent.d.ts +13 -0
- package/dist/src/agents/builtin/GeneralAgent.d.ts.map +1 -0
- package/dist/src/agents/builtin/GeneralAgent.js +80 -0
- package/dist/src/agents/builtin/GeneralAgent.js.map +1 -0
- package/dist/src/agents/builtin/PlanAgent.d.ts +15 -0
- package/dist/src/agents/builtin/PlanAgent.d.ts.map +1 -0
- package/dist/src/agents/builtin/PlanAgent.js +85 -0
- package/dist/src/agents/builtin/PlanAgent.js.map +1 -0
- package/dist/src/application/Application.d.ts +28 -0
- package/dist/src/application/Application.d.ts.map +1 -0
- package/dist/src/application/Application.js +209 -0
- package/dist/src/application/Application.js.map +1 -0
- package/dist/src/application/Container.d.ts +14 -0
- package/dist/src/application/Container.d.ts.map +1 -0
- package/dist/src/application/Container.js +47 -0
- package/dist/src/application/Container.js.map +1 -0
- package/dist/src/cli.d.ts +3 -0
- package/dist/src/cli.d.ts.map +1 -0
- package/dist/src/cli.js +54 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/code/CodeEditor.d.ts +9 -0
- package/dist/src/code/CodeEditor.d.ts.map +1 -0
- package/dist/src/code/CodeEditor.js +61 -0
- package/dist/src/code/CodeEditor.js.map +1 -0
- package/dist/src/code/CodeLocator.d.ts +8 -0
- package/dist/src/code/CodeLocator.d.ts.map +1 -0
- package/dist/src/code/CodeLocator.js +111 -0
- package/dist/src/code/CodeLocator.js.map +1 -0
- package/dist/src/code/CodeParser.d.ts +6 -0
- package/dist/src/code/CodeParser.d.ts.map +1 -0
- package/dist/src/code/CodeParser.js +32 -0
- package/dist/src/code/CodeParser.js.map +1 -0
- package/dist/src/code/types.d.ts +21 -0
- package/dist/src/code/types.d.ts.map +1 -0
- package/dist/src/code/types.js +2 -0
- package/dist/src/code/types.js.map +1 -0
- package/dist/src/commands/base/SlashCommand.d.ts +14 -0
- package/dist/src/commands/base/SlashCommand.d.ts.map +1 -0
- package/dist/src/commands/base/SlashCommand.js +14 -0
- package/dist/src/commands/base/SlashCommand.js.map +1 -0
- package/dist/src/commands/model/ModelCommand.d.ts +10 -0
- package/dist/src/commands/model/ModelCommand.d.ts.map +1 -0
- package/dist/src/commands/model/ModelCommand.js +20 -0
- package/dist/src/commands/model/ModelCommand.js.map +1 -0
- package/dist/src/commands/performance/PerformanceCommand.d.ts +12 -0
- package/dist/src/commands/performance/PerformanceCommand.d.ts.map +1 -0
- package/dist/src/commands/performance/PerformanceCommand.js +22 -0
- package/dist/src/commands/performance/PerformanceCommand.js.map +1 -0
- package/dist/src/commands/session/ClearCommand.d.ts +9 -0
- package/dist/src/commands/session/ClearCommand.d.ts.map +1 -0
- package/dist/src/commands/session/ClearCommand.js +19 -0
- package/dist/src/commands/session/ClearCommand.js.map +1 -0
- package/dist/src/commands/session/ExitCommand.d.ts +9 -0
- package/dist/src/commands/session/ExitCommand.d.ts.map +1 -0
- package/dist/src/commands/session/ExitCommand.js +12 -0
- package/dist/src/commands/session/ExitCommand.js.map +1 -0
- package/dist/src/commands/session/HelpCommand.d.ts +9 -0
- package/dist/src/commands/session/HelpCommand.d.ts.map +1 -0
- package/dist/src/commands/session/HelpCommand.js +44 -0
- package/dist/src/commands/session/HelpCommand.js.map +1 -0
- package/dist/src/commands/session/SessionsCommand.d.ts +9 -0
- package/dist/src/commands/session/SessionsCommand.d.ts.map +1 -0
- package/dist/src/commands/session/SessionsCommand.js +26 -0
- package/dist/src/commands/session/SessionsCommand.js.map +1 -0
- package/dist/src/commands/snapshot/RewindCommand.d.ts +9 -0
- package/dist/src/commands/snapshot/RewindCommand.d.ts.map +1 -0
- package/dist/src/commands/snapshot/RewindCommand.js +43 -0
- package/dist/src/commands/snapshot/RewindCommand.js.map +1 -0
- package/dist/src/commands/snapshot/SnapshotsCommand.d.ts +9 -0
- package/dist/src/commands/snapshot/SnapshotsCommand.d.ts.map +1 -0
- package/dist/src/commands/snapshot/SnapshotsCommand.js +25 -0
- package/dist/src/commands/snapshot/SnapshotsCommand.js.map +1 -0
- package/dist/src/commands/spec/SpecCreateCommand.d.ts +9 -0
- package/dist/src/commands/spec/SpecCreateCommand.d.ts.map +1 -0
- package/dist/src/commands/spec/SpecCreateCommand.js +22 -0
- package/dist/src/commands/spec/SpecCreateCommand.js.map +1 -0
- package/dist/src/commands/spec/SpecListCommand.d.ts +9 -0
- package/dist/src/commands/spec/SpecListCommand.d.ts.map +1 -0
- package/dist/src/commands/spec/SpecListCommand.js +15 -0
- package/dist/src/commands/spec/SpecListCommand.js.map +1 -0
- package/dist/src/commands/spec/SpecShowCommand.d.ts +9 -0
- package/dist/src/commands/spec/SpecShowCommand.d.ts.map +1 -0
- package/dist/src/commands/spec/SpecShowCommand.js +21 -0
- package/dist/src/commands/spec/SpecShowCommand.js.map +1 -0
- package/dist/src/managers/AgentManager.d.ts +19 -0
- package/dist/src/managers/AgentManager.d.ts.map +1 -0
- package/dist/src/managers/AgentManager.js +47 -0
- package/dist/src/managers/AgentManager.js.map +1 -0
- package/dist/src/managers/PluginManager.d.ts +23 -0
- package/dist/src/managers/PluginManager.d.ts.map +1 -0
- package/dist/src/managers/PluginManager.js +80 -0
- package/dist/src/managers/PluginManager.js.map +1 -0
- package/dist/src/managers/SlashCommandManager.d.ts +19 -0
- package/dist/src/managers/SlashCommandManager.d.ts.map +1 -0
- package/dist/src/managers/SlashCommandManager.js +80 -0
- package/dist/src/managers/SlashCommandManager.js.map +1 -0
- package/dist/src/managers/SpecManager.d.ts +26 -0
- package/dist/src/managers/SpecManager.d.ts.map +1 -0
- package/dist/src/managers/SpecManager.js +134 -0
- package/dist/src/managers/SpecManager.js.map +1 -0
- package/dist/src/managers/ToolManager.d.ts +24 -0
- package/dist/src/managers/ToolManager.d.ts.map +1 -0
- package/dist/src/managers/ToolManager.js +97 -0
- package/dist/src/managers/ToolManager.js.map +1 -0
- package/dist/src/mcp/MCPClient.d.ts +17 -0
- package/dist/src/mcp/MCPClient.d.ts.map +1 -0
- package/dist/src/mcp/MCPClient.js +117 -0
- package/dist/src/mcp/MCPClient.js.map +1 -0
- package/dist/src/mcp/MCPManager.d.ts +12 -0
- package/dist/src/mcp/MCPManager.d.ts.map +1 -0
- package/dist/src/mcp/MCPManager.js +63 -0
- package/dist/src/mcp/MCPManager.js.map +1 -0
- package/dist/src/mcp/MCPTool.d.ts +15 -0
- package/dist/src/mcp/MCPTool.d.ts.map +1 -0
- package/dist/src/mcp/MCPTool.js +73 -0
- package/dist/src/mcp/MCPTool.js.map +1 -0
- package/dist/src/mcp/types.d.ts +42 -0
- package/dist/src/mcp/types.d.ts.map +1 -0
- package/dist/src/mcp/types.js +2 -0
- package/dist/src/mcp/types.js.map +1 -0
- package/dist/src/optimization/CompactionService.d.ts +10 -0
- package/dist/src/optimization/CompactionService.d.ts.map +1 -0
- package/dist/src/optimization/CompactionService.js +82 -0
- package/dist/src/optimization/CompactionService.js.map +1 -0
- package/dist/src/optimization/CompressionService.d.ts +18 -0
- package/dist/src/optimization/CompressionService.d.ts.map +1 -0
- package/dist/src/optimization/CompressionService.js +95 -0
- package/dist/src/optimization/CompressionService.js.map +1 -0
- package/dist/src/optimization/PerformanceMonitor.d.ts +22 -0
- package/dist/src/optimization/PerformanceMonitor.d.ts.map +1 -0
- package/dist/src/optimization/PerformanceMonitor.js +90 -0
- package/dist/src/optimization/PerformanceMonitor.js.map +1 -0
- package/dist/src/optimization/PruningService.d.ts +5 -0
- package/dist/src/optimization/PruningService.d.ts.map +1 -0
- package/dist/src/optimization/PruningService.js +59 -0
- package/dist/src/optimization/PruningService.js.map +1 -0
- package/dist/src/optimization/types.d.ts +49 -0
- package/dist/src/optimization/types.d.ts.map +1 -0
- package/dist/src/optimization/types.js +2 -0
- package/dist/src/optimization/types.js.map +1 -0
- package/dist/src/plugins/base/Plugin.d.ts +17 -0
- package/dist/src/plugins/base/Plugin.d.ts.map +1 -0
- package/dist/src/plugins/base/Plugin.js +19 -0
- package/dist/src/plugins/base/Plugin.js.map +1 -0
- package/dist/src/plugins/builtin/LoggerPlugin.d.ts +13 -0
- package/dist/src/plugins/builtin/LoggerPlugin.d.ts.map +1 -0
- package/dist/src/plugins/builtin/LoggerPlugin.js +19 -0
- package/dist/src/plugins/builtin/LoggerPlugin.js.map +1 -0
- package/dist/src/plugins/builtin/PerformancePlugin.d.ts +16 -0
- package/dist/src/plugins/builtin/PerformancePlugin.d.ts.map +1 -0
- package/dist/src/plugins/builtin/PerformancePlugin.js +50 -0
- package/dist/src/plugins/builtin/PerformancePlugin.js.map +1 -0
- package/dist/src/plugins/builtin/SecurityPlugin.d.ts +18 -0
- package/dist/src/plugins/builtin/SecurityPlugin.d.ts.map +1 -0
- package/dist/src/plugins/builtin/SecurityPlugin.js +42 -0
- package/dist/src/plugins/builtin/SecurityPlugin.js.map +1 -0
- package/dist/src/server/HTTPServer.d.ts +25 -0
- package/dist/src/server/HTTPServer.d.ts.map +1 -0
- package/dist/src/server/HTTPServer.js +231 -0
- package/dist/src/server/HTTPServer.js.map +1 -0
- package/dist/src/server/WebSocketServer.d.ts +16 -0
- package/dist/src/server/WebSocketServer.d.ts.map +1 -0
- package/dist/src/server/WebSocketServer.js +118 -0
- package/dist/src/server/WebSocketServer.js.map +1 -0
- package/dist/src/services/ConfigService.d.ts +23 -0
- package/dist/src/services/ConfigService.d.ts.map +1 -0
- package/dist/src/services/ConfigService.js +169 -0
- package/dist/src/services/ConfigService.js.map +1 -0
- package/dist/src/services/EventBus.d.ts +12 -0
- package/dist/src/services/EventBus.d.ts.map +1 -0
- package/dist/src/services/EventBus.js +63 -0
- package/dist/src/services/EventBus.js.map +1 -0
- package/dist/src/services/ModelService.d.ts +24 -0
- package/dist/src/services/ModelService.d.ts.map +1 -0
- package/dist/src/services/ModelService.js +188 -0
- package/dist/src/services/ModelService.js.map +1 -0
- package/dist/src/services/Paths.d.ts +17 -0
- package/dist/src/services/Paths.d.ts.map +1 -0
- package/dist/src/services/Paths.js +125 -0
- package/dist/src/services/Paths.js.map +1 -0
- package/dist/src/services/SessionService.d.ts +19 -0
- package/dist/src/services/SessionService.d.ts.map +1 -0
- package/dist/src/services/SessionService.js +137 -0
- package/dist/src/services/SessionService.js.map +1 -0
- package/dist/src/snapshot/FileHistory.d.ts +18 -0
- package/dist/src/snapshot/FileHistory.d.ts.map +1 -0
- package/dist/src/snapshot/FileHistory.js +118 -0
- package/dist/src/snapshot/FileHistory.js.map +1 -0
- package/dist/src/snapshot/types.d.ts +19 -0
- package/dist/src/snapshot/types.d.ts.map +1 -0
- package/dist/src/snapshot/types.js +2 -0
- package/dist/src/snapshot/types.js.map +1 -0
- package/dist/src/specs/types.d.ts +54 -0
- package/dist/src/specs/types.d.ts.map +1 -0
- package/dist/src/specs/types.js +8 -0
- package/dist/src/specs/types.js.map +1 -0
- package/dist/src/specs/utils/generator.d.ts +4 -0
- package/dist/src/specs/utils/generator.d.ts.map +1 -0
- package/dist/src/specs/utils/generator.js +106 -0
- package/dist/src/specs/utils/generator.js.map +1 -0
- package/dist/src/specs/utils/parser.d.ts +3 -0
- package/dist/src/specs/utils/parser.d.ts.map +1 -0
- package/dist/src/specs/utils/parser.js +152 -0
- package/dist/src/specs/utils/parser.js.map +1 -0
- package/dist/src/styles/base/OutputStyle.d.ts +15 -0
- package/dist/src/styles/base/OutputStyle.d.ts.map +1 -0
- package/dist/src/styles/base/OutputStyle.js +16 -0
- package/dist/src/styles/base/OutputStyle.js.map +1 -0
- package/dist/src/styles/builtin/index.d.ts +8 -0
- package/dist/src/styles/builtin/index.d.ts.map +1 -0
- package/dist/src/styles/builtin/index.js +61 -0
- package/dist/src/styles/builtin/index.js.map +1 -0
- package/dist/src/styles/managers/OutputStyleManager.d.ts +20 -0
- package/dist/src/styles/managers/OutputStyleManager.d.ts.map +1 -0
- package/dist/src/styles/managers/OutputStyleManager.js +110 -0
- package/dist/src/styles/managers/OutputStyleManager.js.map +1 -0
- package/dist/src/styles/utils/markdown.d.ts +18 -0
- package/dist/src/styles/utils/markdown.d.ts.map +1 -0
- package/dist/src/styles/utils/markdown.js +107 -0
- package/dist/src/styles/utils/markdown.js.map +1 -0
- package/dist/src/tools/base/Tool.d.ts +17 -0
- package/dist/src/tools/base/Tool.d.ts.map +1 -0
- package/dist/src/tools/base/Tool.js +31 -0
- package/dist/src/tools/base/Tool.js.map +1 -0
- package/dist/src/tools/code/EditCodeTool.d.ts +50 -0
- package/dist/src/tools/code/EditCodeTool.d.ts.map +1 -0
- package/dist/src/tools/code/EditCodeTool.js +38 -0
- package/dist/src/tools/code/EditCodeTool.js.map +1 -0
- package/dist/src/tools/file/DeleteFileTool.d.ts +18 -0
- package/dist/src/tools/file/DeleteFileTool.d.ts.map +1 -0
- package/dist/src/tools/file/DeleteFileTool.js +45 -0
- package/dist/src/tools/file/DeleteFileTool.js.map +1 -0
- package/dist/src/tools/file/EditFileTool.d.ts +24 -0
- package/dist/src/tools/file/EditFileTool.d.ts.map +1 -0
- package/dist/src/tools/file/EditFileTool.js +53 -0
- package/dist/src/tools/file/EditFileTool.js.map +1 -0
- package/dist/src/tools/file/ListFilesTool.d.ts +29 -0
- package/dist/src/tools/file/ListFilesTool.d.ts.map +1 -0
- package/dist/src/tools/file/ListFilesTool.js +34 -0
- package/dist/src/tools/file/ListFilesTool.js.map +1 -0
- package/dist/src/tools/file/ReadFileTool.d.ts +25 -0
- package/dist/src/tools/file/ReadFileTool.d.ts.map +1 -0
- package/dist/src/tools/file/ReadFileTool.js +38 -0
- package/dist/src/tools/file/ReadFileTool.js.map +1 -0
- package/dist/src/tools/file/WriteFileTool.d.ts +30 -0
- package/dist/src/tools/file/WriteFileTool.d.ts.map +1 -0
- package/dist/src/tools/file/WriteFileTool.js +39 -0
- package/dist/src/tools/file/WriteFileTool.js.map +1 -0
- package/dist/src/tools/interactive/AskUserTool.d.ts +18 -0
- package/dist/src/tools/interactive/AskUserTool.d.ts.map +1 -0
- package/dist/src/tools/interactive/AskUserTool.js +43 -0
- package/dist/src/tools/interactive/AskUserTool.js.map +1 -0
- package/dist/src/tools/interactive/ConfirmTool.d.ts +18 -0
- package/dist/src/tools/interactive/ConfirmTool.d.ts.map +1 -0
- package/dist/src/tools/interactive/ConfirmTool.js +53 -0
- package/dist/src/tools/interactive/ConfirmTool.js.map +1 -0
- package/dist/src/tools/network/FetchTool.d.ts +24 -0
- package/dist/src/tools/network/FetchTool.d.ts.map +1 -0
- package/dist/src/tools/network/FetchTool.js +56 -0
- package/dist/src/tools/network/FetchTool.js.map +1 -0
- package/dist/src/tools/network/WebSearchTool.d.ts +20 -0
- package/dist/src/tools/network/WebSearchTool.d.ts.map +1 -0
- package/dist/src/tools/network/WebSearchTool.js +69 -0
- package/dist/src/tools/network/WebSearchTool.js.map +1 -0
- package/dist/src/tools/search/GlobTool.d.ts +20 -0
- package/dist/src/tools/search/GlobTool.d.ts.map +1 -0
- package/dist/src/tools/search/GlobTool.js +62 -0
- package/dist/src/tools/search/GlobTool.js.map +1 -0
- package/dist/src/tools/search/GrepTool.d.ts +26 -0
- package/dist/src/tools/search/GrepTool.d.ts.map +1 -0
- package/dist/src/tools/search/GrepTool.js +97 -0
- package/dist/src/tools/search/GrepTool.js.map +1 -0
- package/dist/src/tools/spec/SpecReadTool.d.ts +16 -0
- package/dist/src/tools/spec/SpecReadTool.d.ts.map +1 -0
- package/dist/src/tools/spec/SpecReadTool.js +79 -0
- package/dist/src/tools/spec/SpecReadTool.js.map +1 -0
- package/dist/src/tools/spec/SpecUpdateTaskTool.d.ts +23 -0
- package/dist/src/tools/spec/SpecUpdateTaskTool.d.ts.map +1 -0
- package/dist/src/tools/spec/SpecUpdateTaskTool.js +42 -0
- package/dist/src/tools/spec/SpecUpdateTaskTool.js.map +1 -0
- package/dist/src/tools/special/ExitPlanTool.d.ts +15 -0
- package/dist/src/tools/special/ExitPlanTool.d.ts.map +1 -0
- package/dist/src/tools/special/ExitPlanTool.js +32 -0
- package/dist/src/tools/special/ExitPlanTool.js.map +1 -0
- package/dist/src/tools/special/SkillTool.d.ts +19 -0
- package/dist/src/tools/special/SkillTool.d.ts.map +1 -0
- package/dist/src/tools/special/SkillTool.js +45 -0
- package/dist/src/tools/special/SkillTool.js.map +1 -0
- package/dist/src/tools/system/BashTool.d.ts +18 -0
- package/dist/src/tools/system/BashTool.d.ts.map +1 -0
- package/dist/src/tools/system/BashTool.js +29 -0
- package/dist/src/tools/system/BashTool.js.map +1 -0
- package/dist/src/tools/system/EnvTool.d.ts +15 -0
- package/dist/src/tools/system/EnvTool.d.ts.map +1 -0
- package/dist/src/tools/system/EnvTool.js +47 -0
- package/dist/src/tools/system/EnvTool.js.map +1 -0
- package/dist/src/tools/system/ExecTool.d.ts +21 -0
- package/dist/src/tools/system/ExecTool.d.ts.map +1 -0
- package/dist/src/tools/system/ExecTool.js +41 -0
- package/dist/src/tools/system/ExecTool.js.map +1 -0
- package/dist/src/tools/task/TaskTool.d.ts +34 -0
- package/dist/src/tools/task/TaskTool.d.ts.map +1 -0
- package/dist/src/tools/task/TaskTool.js +105 -0
- package/dist/src/tools/task/TaskTool.js.map +1 -0
- package/dist/src/tools/task/TodoReadTool.d.ts +16 -0
- package/dist/src/tools/task/TodoReadTool.d.ts.map +1 -0
- package/dist/src/tools/task/TodoReadTool.js +43 -0
- package/dist/src/tools/task/TodoReadTool.js.map +1 -0
- package/dist/src/tools/task/TodoWriteTool.d.ts +25 -0
- package/dist/src/tools/task/TodoWriteTool.d.ts.map +1 -0
- package/dist/src/tools/task/TodoWriteTool.js +82 -0
- package/dist/src/tools/task/TodoWriteTool.js.map +1 -0
- package/dist/src/types/index.d.ts +175 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +31 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/ui/App.d.ts +8 -0
- package/dist/src/ui/App.d.ts.map +1 -0
- package/dist/src/ui/App.js +100 -0
- package/dist/src/ui/App.js.map +1 -0
- package/dist/src/ui/components/MessageList.d.ts +8 -0
- package/dist/src/ui/components/MessageList.d.ts.map +1 -0
- package/dist/src/ui/components/MessageList.js +13 -0
- package/dist/src/ui/components/MessageList.js.map +1 -0
- package/dist/src/ui/components/SessionList.d.ts +10 -0
- package/dist/src/ui/components/SessionList.d.ts.map +1 -0
- package/dist/src/ui/components/SessionList.js +23 -0
- package/dist/src/ui/components/SessionList.js.map +1 -0
- package/dist/src/ui/context/AppContext.d.ts +18 -0
- package/dist/src/ui/context/AppContext.d.ts.map +1 -0
- package/dist/src/ui/context/AppContext.js +22 -0
- package/dist/src/ui/context/AppContext.js.map +1 -0
- package/dist/src/ui/hooks/useSession.d.ts +6 -0
- package/dist/src/ui/hooks/useSession.d.ts.map +1 -0
- package/dist/src/ui/hooks/useSession.js +59 -0
- package/dist/src/ui/hooks/useSession.js.map +1 -0
- package/dist/src/utils/calculator.d.ts +3 -0
- package/dist/src/utils/calculator.d.ts.map +1 -0
- package/dist/src/utils/calculator.js +13 -0
- package/dist/src/utils/calculator.js.map +1 -0
- package/dist/src/utils/firstRun.d.ts +4 -0
- package/dist/src/utils/firstRun.d.ts.map +1 -0
- package/dist/src/utils/firstRun.js +32 -0
- package/dist/src/utils/firstRun.js.map +1 -0
- package/dist/src/utils/math.d.ts +2 -0
- package/dist/src/utils/math.d.ts.map +1 -0
- package/dist/src/utils/math.js +4 -0
- package/dist/src/utils/math.js.map +1 -0
- package/dist/src/utils/setup.d.ts +2 -0
- package/dist/src/utils/setup.d.ts.map +1 -0
- package/dist/src/utils/setup.js +87 -0
- package/dist/src/utils/setup.js.map +1 -0
- package/dist/src/utils/tokenCounter.d.ts +4 -0
- package/dist/src/utils/tokenCounter.d.ts.map +1 -0
- package/dist/src/utils/tokenCounter.js +27 -0
- package/dist/src/utils/tokenCounter.js.map +1 -0
- package/dist/tests/integration/agents.test.d.ts +2 -0
- package/dist/tests/integration/agents.test.d.ts.map +1 -0
- package/dist/tests/integration/agents.test.js +34 -0
- package/dist/tests/integration/agents.test.js.map +1 -0
- package/dist/tests/integration/cli.test.d.ts +2 -0
- package/dist/tests/integration/cli.test.d.ts.map +1 -0
- package/dist/tests/integration/cli.test.js +70 -0
- package/dist/tests/integration/cli.test.js.map +1 -0
- package/dist/tests/integration/commands.test.d.ts +2 -0
- package/dist/tests/integration/commands.test.d.ts.map +1 -0
- package/dist/tests/integration/commands.test.js +35 -0
- package/dist/tests/integration/commands.test.js.map +1 -0
- package/dist/tests/integration/mcp.test.d.ts +2 -0
- package/dist/tests/integration/mcp.test.d.ts.map +1 -0
- package/dist/tests/integration/mcp.test.js +44 -0
- package/dist/tests/integration/mcp.test.js.map +1 -0
- package/dist/tests/integration/output-styles.test.d.ts +2 -0
- package/dist/tests/integration/output-styles.test.d.ts.map +1 -0
- package/dist/tests/integration/output-styles.test.js +88 -0
- package/dist/tests/integration/output-styles.test.js.map +1 -0
- package/dist/tests/integration/plugins.test.d.ts +2 -0
- package/dist/tests/integration/plugins.test.d.ts.map +1 -0
- package/dist/tests/integration/plugins.test.js +42 -0
- package/dist/tests/integration/plugins.test.js.map +1 -0
- package/dist/tests/integration/specs.test.d.ts +2 -0
- package/dist/tests/integration/specs.test.d.ts.map +1 -0
- package/dist/tests/integration/specs.test.js +102 -0
- package/dist/tests/integration/specs.test.js.map +1 -0
- package/dist/tests/integration/ui.test.d.ts +2 -0
- package/dist/tests/integration/ui.test.d.ts.map +1 -0
- package/dist/tests/integration/ui.test.js +71 -0
- package/dist/tests/integration/ui.test.js.map +1 -0
- package/dist/tests/mocks/mock-mcp-server.d.ts +3 -0
- package/dist/tests/mocks/mock-mcp-server.d.ts.map +1 -0
- package/dist/tests/mocks/mock-mcp-server.js +127 -0
- package/dist/tests/mocks/mock-mcp-server.js.map +1 -0
- package/dist/tests/unit/application/Application.test.d.ts +2 -0
- package/dist/tests/unit/application/Application.test.d.ts.map +1 -0
- package/dist/tests/unit/application/Application.test.js +21 -0
- package/dist/tests/unit/application/Application.test.js.map +1 -0
- package/dist/tests/unit/application/Container.test.d.ts +2 -0
- package/dist/tests/unit/application/Container.test.d.ts.map +1 -0
- package/dist/tests/unit/application/Container.test.js +38 -0
- package/dist/tests/unit/application/Container.test.js.map +1 -0
- package/dist/tests/unit/code/CodeEditor.test.d.ts +2 -0
- package/dist/tests/unit/code/CodeEditor.test.d.ts.map +1 -0
- package/dist/tests/unit/code/CodeEditor.test.js +56 -0
- package/dist/tests/unit/code/CodeEditor.test.js.map +1 -0
- package/dist/tests/unit/code/CodeLocator.test.d.ts +2 -0
- package/dist/tests/unit/code/CodeLocator.test.d.ts.map +1 -0
- package/dist/tests/unit/code/CodeLocator.test.js +50 -0
- package/dist/tests/unit/code/CodeLocator.test.js.map +1 -0
- package/dist/tests/unit/code/CodeParser.test.d.ts +2 -0
- package/dist/tests/unit/code/CodeParser.test.d.ts.map +1 -0
- package/dist/tests/unit/code/CodeParser.test.js +27 -0
- package/dist/tests/unit/code/CodeParser.test.js.map +1 -0
- package/dist/tests/unit/managers/AgentManager.test.d.ts +2 -0
- package/dist/tests/unit/managers/AgentManager.test.d.ts.map +1 -0
- package/dist/tests/unit/managers/AgentManager.test.js +68 -0
- package/dist/tests/unit/managers/AgentManager.test.js.map +1 -0
- package/dist/tests/unit/managers/PluginManager.test.d.ts +2 -0
- package/dist/tests/unit/managers/PluginManager.test.d.ts.map +1 -0
- package/dist/tests/unit/managers/PluginManager.test.js +76 -0
- package/dist/tests/unit/managers/PluginManager.test.js.map +1 -0
- package/dist/tests/unit/managers/SlashCommandManager.test.d.ts +2 -0
- package/dist/tests/unit/managers/SlashCommandManager.test.d.ts.map +1 -0
- package/dist/tests/unit/managers/SlashCommandManager.test.js +47 -0
- package/dist/tests/unit/managers/SlashCommandManager.test.js.map +1 -0
- package/dist/tests/unit/managers/SpecManager.test.d.ts +2 -0
- package/dist/tests/unit/managers/SpecManager.test.d.ts.map +1 -0
- package/dist/tests/unit/managers/SpecManager.test.js +97 -0
- package/dist/tests/unit/managers/SpecManager.test.js.map +1 -0
- package/dist/tests/unit/managers/ToolManager.test.d.ts +2 -0
- package/dist/tests/unit/managers/ToolManager.test.d.ts.map +1 -0
- package/dist/tests/unit/managers/ToolManager.test.js +69 -0
- package/dist/tests/unit/managers/ToolManager.test.js.map +1 -0
- package/dist/tests/unit/mcp/MCPClient.test.d.ts +2 -0
- package/dist/tests/unit/mcp/MCPClient.test.d.ts.map +1 -0
- package/dist/tests/unit/mcp/MCPClient.test.js +40 -0
- package/dist/tests/unit/mcp/MCPClient.test.js.map +1 -0
- package/dist/tests/unit/services/ConfigService.test.d.ts +2 -0
- package/dist/tests/unit/services/ConfigService.test.d.ts.map +1 -0
- package/dist/tests/unit/services/ConfigService.test.js +104 -0
- package/dist/tests/unit/services/ConfigService.test.js.map +1 -0
- package/dist/tests/unit/services/EventBus.test.d.ts +2 -0
- package/dist/tests/unit/services/EventBus.test.d.ts.map +1 -0
- package/dist/tests/unit/services/EventBus.test.js +117 -0
- package/dist/tests/unit/services/EventBus.test.js.map +1 -0
- package/dist/tests/unit/services/ModelService.test.d.ts +2 -0
- package/dist/tests/unit/services/ModelService.test.d.ts.map +1 -0
- package/dist/tests/unit/services/ModelService.test.js +63 -0
- package/dist/tests/unit/services/ModelService.test.js.map +1 -0
- package/dist/tests/unit/services/Paths.test.d.ts +2 -0
- package/dist/tests/unit/services/Paths.test.d.ts.map +1 -0
- package/dist/tests/unit/services/Paths.test.js +33 -0
- package/dist/tests/unit/services/Paths.test.js.map +1 -0
- package/dist/tests/unit/services/SessionService.test.d.ts +2 -0
- package/dist/tests/unit/services/SessionService.test.d.ts.map +1 -0
- package/dist/tests/unit/services/SessionService.test.js +80 -0
- package/dist/tests/unit/services/SessionService.test.js.map +1 -0
- package/dist/tests/unit/snapshot/FileHistory.test.d.ts +2 -0
- package/dist/tests/unit/snapshot/FileHistory.test.d.ts.map +1 -0
- package/dist/tests/unit/snapshot/FileHistory.test.js +101 -0
- package/dist/tests/unit/snapshot/FileHistory.test.js.map +1 -0
- package/dist/tests/unit/specs/generator.test.d.ts +2 -0
- package/dist/tests/unit/specs/generator.test.d.ts.map +1 -0
- package/dist/tests/unit/specs/generator.test.js +70 -0
- package/dist/tests/unit/specs/generator.test.js.map +1 -0
- package/dist/tests/unit/specs/parser.test.d.ts +2 -0
- package/dist/tests/unit/specs/parser.test.d.ts.map +1 -0
- package/dist/tests/unit/specs/parser.test.js +85 -0
- package/dist/tests/unit/specs/parser.test.js.map +1 -0
- package/dist/tests/unit/styles/OutputStyle.test.d.ts +2 -0
- package/dist/tests/unit/styles/OutputStyle.test.d.ts.map +1 -0
- package/dist/tests/unit/styles/OutputStyle.test.js +33 -0
- package/dist/tests/unit/styles/OutputStyle.test.js.map +1 -0
- package/dist/tests/unit/styles/OutputStyleManager.test.d.ts +2 -0
- package/dist/tests/unit/styles/OutputStyleManager.test.d.ts.map +1 -0
- package/dist/tests/unit/styles/OutputStyleManager.test.js +75 -0
- package/dist/tests/unit/styles/OutputStyleManager.test.js.map +1 -0
- package/dist/tests/unit/tools/BashTool.test.d.ts +2 -0
- package/dist/tests/unit/tools/BashTool.test.d.ts.map +1 -0
- package/dist/tests/unit/tools/BashTool.test.js +35 -0
- package/dist/tests/unit/tools/BashTool.test.js.map +1 -0
- package/dist/tests/unit/tools/EditFileTool.test.d.ts +2 -0
- package/dist/tests/unit/tools/EditFileTool.test.d.ts.map +1 -0
- package/dist/tests/unit/tools/EditFileTool.test.js +48 -0
- package/dist/tests/unit/tools/EditFileTool.test.js.map +1 -0
- package/dist/tests/unit/tools/GrepTool.test.d.ts +2 -0
- package/dist/tests/unit/tools/GrepTool.test.d.ts.map +1 -0
- package/dist/tests/unit/tools/GrepTool.test.js +46 -0
- package/dist/tests/unit/tools/GrepTool.test.js.map +1 -0
- package/dist/tests/unit/tools/ListFilesTool.test.d.ts +2 -0
- package/dist/tests/unit/tools/ListFilesTool.test.d.ts.map +1 -0
- package/dist/tests/unit/tools/ListFilesTool.test.js +58 -0
- package/dist/tests/unit/tools/ListFilesTool.test.js.map +1 -0
- package/dist/tests/unit/tools/ReadFileTool.test.d.ts +2 -0
- package/dist/tests/unit/tools/ReadFileTool.test.d.ts.map +1 -0
- package/dist/tests/unit/tools/ReadFileTool.test.js +42 -0
- package/dist/tests/unit/tools/ReadFileTool.test.js.map +1 -0
- package/dist/tests/unit/tools/TodoWriteTool.test.d.ts +2 -0
- package/dist/tests/unit/tools/TodoWriteTool.test.d.ts.map +1 -0
- package/dist/tests/unit/tools/TodoWriteTool.test.js +54 -0
- package/dist/tests/unit/tools/TodoWriteTool.test.js.map +1 -0
- package/dist/tests/unit/tools/WriteFileTool.test.d.ts +2 -0
- package/dist/tests/unit/tools/WriteFileTool.test.d.ts.map +1 -0
- package/dist/tests/unit/tools/WriteFileTool.test.js +69 -0
- package/dist/tests/unit/tools/WriteFileTool.test.js.map +1 -0
- package/dist/tests/unit/ui/App.test.d.ts +2 -0
- package/dist/tests/unit/ui/App.test.d.ts.map +1 -0
- package/dist/tests/unit/ui/App.test.js +46 -0
- package/dist/tests/unit/ui/App.test.js.map +1 -0
- package/dist/tests/unit/ui/AppContext.test.d.ts +2 -0
- package/dist/tests/unit/ui/AppContext.test.d.ts.map +1 -0
- package/dist/tests/unit/ui/AppContext.test.js +39 -0
- package/dist/tests/unit/ui/AppContext.test.js.map +1 -0
- package/dist/tests/unit/ui/MessageList.test.d.ts +2 -0
- package/dist/tests/unit/ui/MessageList.test.d.ts.map +1 -0
- package/dist/tests/unit/ui/MessageList.test.js +23 -0
- package/dist/tests/unit/ui/MessageList.test.js.map +1 -0
- package/dist/tests/unit/ui/SessionList.test.d.ts +2 -0
- package/dist/tests/unit/ui/SessionList.test.d.ts.map +1 -0
- package/dist/tests/unit/ui/SessionList.test.js +49 -0
- package/dist/tests/unit/ui/SessionList.test.js.map +1 -0
- package/package.json +84 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Tool } from '../base/Tool';
|
|
3
|
+
export declare class GrepTool extends Tool {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
schema: z.ZodObject<{
|
|
7
|
+
pattern: z.ZodString;
|
|
8
|
+
path: z.ZodString;
|
|
9
|
+
regex: z.ZodOptional<z.ZodBoolean>;
|
|
10
|
+
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
11
|
+
}, "strip", z.ZodTypeAny, {
|
|
12
|
+
path: string;
|
|
13
|
+
pattern: string;
|
|
14
|
+
regex?: boolean | undefined;
|
|
15
|
+
caseSensitive?: boolean | undefined;
|
|
16
|
+
}, {
|
|
17
|
+
path: string;
|
|
18
|
+
pattern: string;
|
|
19
|
+
regex?: boolean | undefined;
|
|
20
|
+
caseSensitive?: boolean | undefined;
|
|
21
|
+
}>;
|
|
22
|
+
execute(input: z.infer<typeof this.schema>): Promise<any>;
|
|
23
|
+
private searchFile;
|
|
24
|
+
private getFiles;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=GrepTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GrepTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/search/GrepTool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAYpC,qBAAa,QAAS,SAAQ,IAAI;IAChC,IAAI,SAAU;IACd,WAAW,SAA8B;IAEzC,MAAM;;;;;;;;;;;;;;;OAKH;IAEG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;YAoDjD,UAAU;YAwCV,QAAQ;CAevB"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import * as fs from 'node:fs/promises';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { Tool } from '../base/Tool';
|
|
5
|
+
export class GrepTool extends Tool {
|
|
6
|
+
name = 'grep';
|
|
7
|
+
description = 'Search for text in files';
|
|
8
|
+
schema = z.object({
|
|
9
|
+
pattern: z.string().describe('Search pattern (regex supported)'),
|
|
10
|
+
path: z.string().describe('File or directory path to search'),
|
|
11
|
+
regex: z.boolean().optional().describe('Use regex for matching'),
|
|
12
|
+
caseSensitive: z.boolean().optional().describe('Case sensitive search'),
|
|
13
|
+
});
|
|
14
|
+
async execute(input) {
|
|
15
|
+
const { pattern, path: searchPath, regex = false, caseSensitive = false } = input;
|
|
16
|
+
console.log(`🔍 Searching for: ${pattern} in ${searchPath}`);
|
|
17
|
+
try {
|
|
18
|
+
const stats = await fs.stat(searchPath);
|
|
19
|
+
const results = [];
|
|
20
|
+
if (stats.isDirectory()) {
|
|
21
|
+
console.log(`📁 Searching directory: ${searchPath}`);
|
|
22
|
+
const files = await this.getFiles(searchPath);
|
|
23
|
+
console.log(`📄 Found ${files.length} files to search`);
|
|
24
|
+
for (const file of files) {
|
|
25
|
+
try {
|
|
26
|
+
const matches = await this.searchFile(file, pattern, regex, caseSensitive);
|
|
27
|
+
results.push(...matches);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
console.warn(`⚠️ Skipping file ${file}: ${error}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else if (stats.isFile()) {
|
|
35
|
+
const matches = await this.searchFile(searchPath, pattern, regex, caseSensitive);
|
|
36
|
+
results.push(...matches);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
throw new Error(`Path is neither a file nor a directory: ${searchPath}`);
|
|
40
|
+
}
|
|
41
|
+
console.log(`✅ Found ${results.length} matches`);
|
|
42
|
+
return {
|
|
43
|
+
success: true,
|
|
44
|
+
matches: results,
|
|
45
|
+
count: results.length,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
console.error(`❌ Search failed:`, error);
|
|
50
|
+
if (error instanceof Error) {
|
|
51
|
+
throw new Error(`Search failed: ${error.message}`);
|
|
52
|
+
}
|
|
53
|
+
throw new Error('Search failed: Unknown error');
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
async searchFile(filePath, pattern, regex, caseSensitive) {
|
|
57
|
+
const content = await fs.readFile(filePath, 'utf-8');
|
|
58
|
+
const lines = content.split('\n');
|
|
59
|
+
const results = [];
|
|
60
|
+
for (let i = 0; i < lines.length; i++) {
|
|
61
|
+
const line = lines[i];
|
|
62
|
+
let matches;
|
|
63
|
+
if (regex) {
|
|
64
|
+
const searchPattern = new RegExp(pattern, caseSensitive ? '' : 'i');
|
|
65
|
+
matches = searchPattern.test(line);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
matches = caseSensitive
|
|
69
|
+
? line.includes(pattern)
|
|
70
|
+
: line.toLowerCase().includes(pattern.toLowerCase());
|
|
71
|
+
}
|
|
72
|
+
if (matches) {
|
|
73
|
+
results.push({
|
|
74
|
+
file: filePath,
|
|
75
|
+
line: i + 1,
|
|
76
|
+
content: line.trim(),
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return results;
|
|
81
|
+
}
|
|
82
|
+
async getFiles(dir) {
|
|
83
|
+
const files = [];
|
|
84
|
+
const entries = await fs.readdir(dir, { withFileTypes: true });
|
|
85
|
+
for (const entry of entries) {
|
|
86
|
+
const fullPath = path.join(dir, entry.name);
|
|
87
|
+
if (entry.isDirectory()) {
|
|
88
|
+
files.push(...(await this.getFiles(fullPath)));
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
files.push(fullPath);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return files;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=GrepTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GrepTool.js","sourceRoot":"","sources":["../../../../src/tools/search/GrepTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Tool } from '../base/Tool';
|
|
3
|
+
export declare class SpecReadTool extends Tool<{
|
|
4
|
+
specId: string;
|
|
5
|
+
}, string> {
|
|
6
|
+
name: string;
|
|
7
|
+
description: string;
|
|
8
|
+
schema: z.ZodType<{
|
|
9
|
+
specId: string;
|
|
10
|
+
}>;
|
|
11
|
+
execute(args: {
|
|
12
|
+
specId: string;
|
|
13
|
+
}): Promise<string>;
|
|
14
|
+
private getSpecPath;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=SpecReadTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpecReadTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/spec/SpecReadTool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAQpC,qBAAa,YAAa,SAAQ,IAAI,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,CAAC;IAChE,IAAI,SAAe;IACnB,WAAW,SAAwH;IAEnI,MAAM,EAEA,CAAC,CAAC,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE9B,OAAO,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAiFxD,OAAO,CAAC,WAAW;CAIpB"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as fs from 'node:fs/promises';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { Tool } from '../base/Tool';
|
|
5
|
+
import { parseSpecMarkdown } from '../../specs/utils/parser';
|
|
6
|
+
export class SpecReadTool extends Tool {
|
|
7
|
+
name = 'spec_read';
|
|
8
|
+
description = 'Read a spec file to see its details including brainstorm, plan, and design. Use this when user mentions a spec ID.';
|
|
9
|
+
schema = z.object({
|
|
10
|
+
specId: z.string().min(1).describe('The spec ID to read (e.g., spec-2024-01-01T12-34-56-a1b2)'),
|
|
11
|
+
});
|
|
12
|
+
async execute(args) {
|
|
13
|
+
try {
|
|
14
|
+
const specPath = this.getSpecPath(args.specId);
|
|
15
|
+
const content = await fs.readFile(specPath, 'utf-8');
|
|
16
|
+
const spec = parseSpecMarkdown(content);
|
|
17
|
+
let output = `# Spec: ${spec.title}\n\n`;
|
|
18
|
+
output += `**ID**: ${spec.specId}\n`;
|
|
19
|
+
output += `**Created**: ${spec.createdAt.toISOString()}\n`;
|
|
20
|
+
output += `**Updated**: ${spec.updatedAt.toISOString()}\n\n`;
|
|
21
|
+
if (spec.description) {
|
|
22
|
+
output += `## Description\n\n${spec.description}\n\n`;
|
|
23
|
+
}
|
|
24
|
+
if (spec.brainstorm) {
|
|
25
|
+
output += `## Brainstorm\n\n`;
|
|
26
|
+
output += `**Topic**: ${spec.brainstorm.topic}\n\n`;
|
|
27
|
+
if (spec.brainstorm.questions.length > 0) {
|
|
28
|
+
output += `**Questions & Answers**:\n\n`;
|
|
29
|
+
for (const question of spec.brainstorm.questions) {
|
|
30
|
+
output += `Q: ${question}\n`;
|
|
31
|
+
const answer = spec.brainstorm.answers[question];
|
|
32
|
+
if (answer) {
|
|
33
|
+
output += `A: ${answer}\n`;
|
|
34
|
+
}
|
|
35
|
+
output += `\n`;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
if (spec.plan) {
|
|
40
|
+
output += `## Plan\n\n`;
|
|
41
|
+
output += `**Total Tasks**: ${spec.plan.tasks.length}\n\n`;
|
|
42
|
+
for (const task of spec.plan.tasks) {
|
|
43
|
+
output += `### Task: ${task.title}\n`;
|
|
44
|
+
output += `- **ID**: ${task.id}\n`;
|
|
45
|
+
output += `- **Status**: ${task.status}\n`;
|
|
46
|
+
output += `- **Description**: ${task.description}\n`;
|
|
47
|
+
if (task.estimatedTime) {
|
|
48
|
+
output += `- **Estimated Time**: ${task.estimatedTime} hours\n`;
|
|
49
|
+
}
|
|
50
|
+
output += `\n`;
|
|
51
|
+
}
|
|
52
|
+
if (Object.keys(spec.plan.dependencies).length > 0) {
|
|
53
|
+
output += `**Dependencies**:\n\n`;
|
|
54
|
+
for (const [taskId, deps] of Object.entries(spec.plan.dependencies)) {
|
|
55
|
+
output += `- ${taskId} depends on: ${deps.join(', ')}\n`;
|
|
56
|
+
}
|
|
57
|
+
output += `\n`;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (spec.design) {
|
|
61
|
+
output += `## Design\n\n`;
|
|
62
|
+
if (spec.design.architecture) {
|
|
63
|
+
output += `**Architecture**:\n${spec.design.architecture}\n\n`;
|
|
64
|
+
}
|
|
65
|
+
if (spec.design.dataModel) {
|
|
66
|
+
output += `**Data Model**:\n${spec.design.dataModel}\n\n`;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return output;
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
return `Error reading spec: ${error instanceof Error ? error.message : 'Unknown error'}`;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
getSpecPath(specId) {
|
|
76
|
+
return path.join(process.cwd(), '.aicli', 'specs', `${specId}.md`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=SpecReadTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpecReadTool.js","sourceRoot":"","sources":["../../../../src/tools/spec/SpecReadTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAO7D,MAAM,OAAO,YAAa,SAAQ,IAAgC;IAChE,IAAI,GAAG,WAAW,CAAC;IACnB,WAAW,GAAG,oHAAoH,CAAC;IAEnI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2DAA2D,CAAC;KAChG,CAAkC,CAAC;IAEpC,KAAK,CAAC,OAAO,CAAC,IAAwB;QACpC,IAAI,CAAC;YAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAG/C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAGrD,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAGxC,IAAI,MAAM,GAAG,WAAW,IAAI,CAAC,KAAK,MAAM,CAAC;YACzC,MAAM,IAAI,WAAW,IAAI,CAAC,MAAM,IAAI,CAAC;YACrC,MAAM,IAAI,gBAAgB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC;YAC3D,MAAM,IAAI,gBAAgB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;YAE7D,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,IAAI,qBAAqB,IAAI,CAAC,WAAW,MAAM,CAAC;YACxD,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,mBAAmB,CAAC;gBAC9B,MAAM,IAAI,cAAc,IAAI,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC;gBAEpD,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzC,MAAM,IAAI,8BAA8B,CAAC;oBACzC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;wBACjD,MAAM,IAAI,MAAM,QAAQ,IAAI,CAAC;wBAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;wBACjD,IAAI,MAAM,EAAE,CAAC;4BACX,MAAM,IAAI,MAAM,MAAM,IAAI,CAAC;wBAC7B,CAAC;wBACD,MAAM,IAAI,IAAI,CAAC;oBACjB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,MAAM,IAAI,aAAa,CAAC;gBACxB,MAAM,IAAI,oBAAoB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC;gBAE3D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACnC,MAAM,IAAI,aAAa,IAAI,CAAC,KAAK,IAAI,CAAC;oBACtC,MAAM,IAAI,aAAa,IAAI,CAAC,EAAE,IAAI,CAAC;oBACnC,MAAM,IAAI,iBAAiB,IAAI,CAAC,MAAM,IAAI,CAAC;oBAC3C,MAAM,IAAI,sBAAsB,IAAI,CAAC,WAAW,IAAI,CAAC;oBACrD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBACvB,MAAM,IAAI,yBAAyB,IAAI,CAAC,aAAa,UAAU,CAAC;oBAClE,CAAC;oBACD,MAAM,IAAI,IAAI,CAAC;gBACjB,CAAC;gBAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnD,MAAM,IAAI,uBAAuB,CAAC;oBAClC,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;wBACpE,MAAM,IAAI,KAAK,MAAM,gBAAgB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC3D,CAAC;oBACD,MAAM,IAAI,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,IAAI,eAAe,CAAC;gBAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;oBAC7B,MAAM,IAAI,sBAAsB,IAAI,CAAC,MAAM,CAAC,YAAY,MAAM,CAAC;gBACjE,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBAC1B,MAAM,IAAI,oBAAoB,IAAI,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC;gBAC5D,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;QAC3F,CAAC;IACH,CAAC;IAKO,WAAW,CAAC,MAAc;QAEhC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,KAAK,CAAC,CAAC;IACrE,CAAC;CACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Tool } from '../base/Tool';
|
|
3
|
+
import { TaskStatus } from '../../specs/types';
|
|
4
|
+
export declare class SpecUpdateTaskTool extends Tool<{
|
|
5
|
+
specId: string;
|
|
6
|
+
taskId: string;
|
|
7
|
+
status: TaskStatus;
|
|
8
|
+
}, string> {
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
schema: z.ZodType<{
|
|
12
|
+
specId: string;
|
|
13
|
+
taskId: string;
|
|
14
|
+
status: TaskStatus;
|
|
15
|
+
}>;
|
|
16
|
+
execute(args: {
|
|
17
|
+
specId: string;
|
|
18
|
+
taskId: string;
|
|
19
|
+
status: TaskStatus;
|
|
20
|
+
}): Promise<string>;
|
|
21
|
+
private getSpecPath;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=SpecUpdateTaskTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpecUpdateTaskTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/spec/SpecUpdateTaskTool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAS/C,qBAAa,kBAAmB,SAAQ,IAAI,CAC1C;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,EACtD,MAAM,CACP;IACC,IAAI,SAAsB;IAC1B,WAAW,SAA0G;IAErH,MAAM,EAIA,CAAC,CAAC,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IAElE,OAAO,CACX,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,GAC3D,OAAO,CAAC,MAAM,CAAC;IAoClB,OAAO,CAAC,WAAW;CAGpB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as fs from 'node:fs/promises';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { Tool } from '../base/Tool';
|
|
5
|
+
import { parseSpecMarkdown } from '../../specs/utils/parser';
|
|
6
|
+
import { generateSpecMarkdown } from '../../specs/utils/generator';
|
|
7
|
+
export class SpecUpdateTaskTool extends Tool {
|
|
8
|
+
name = 'spec_update_task';
|
|
9
|
+
description = 'Update the status of a task in a spec. Use this after completing a task or when starting a new task.';
|
|
10
|
+
schema = z.object({
|
|
11
|
+
specId: z.string().min(1).describe('The spec ID'),
|
|
12
|
+
taskId: z.string().min(1).describe('The task ID (e.g., task-1)'),
|
|
13
|
+
status: z.enum(['pending', 'in_progress', 'completed', 'blocked']).describe('The new status for the task'),
|
|
14
|
+
});
|
|
15
|
+
async execute(args) {
|
|
16
|
+
try {
|
|
17
|
+
const specPath = this.getSpecPath(args.specId);
|
|
18
|
+
const content = await fs.readFile(specPath, 'utf-8');
|
|
19
|
+
const spec = parseSpecMarkdown(content);
|
|
20
|
+
if (!spec.plan) {
|
|
21
|
+
return `Error: Spec ${args.specId} has no plan`;
|
|
22
|
+
}
|
|
23
|
+
const task = spec.plan.tasks.find(t => t.id === args.taskId);
|
|
24
|
+
if (!task) {
|
|
25
|
+
return `Error: Task ${args.taskId} not found in spec ${args.specId}`;
|
|
26
|
+
}
|
|
27
|
+
task.status = args.status;
|
|
28
|
+
task.updatedAt = new Date();
|
|
29
|
+
spec.updatedAt = new Date();
|
|
30
|
+
const updatedContent = generateSpecMarkdown(spec);
|
|
31
|
+
await fs.writeFile(specPath, updatedContent, 'utf-8');
|
|
32
|
+
return `✅ Task ${args.taskId} status updated to ${args.status} in spec ${args.specId}`;
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
return `Error updating task: ${error instanceof Error ? error.message : 'Unknown error'}`;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
getSpecPath(specId) {
|
|
39
|
+
return path.join(process.cwd(), '.aicli', 'specs', `${specId}.md`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=SpecUpdateTaskTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpecUpdateTaskTool.js","sourceRoot":"","sources":["../../../../src/tools/spec/SpecUpdateTaskTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAOnE,MAAM,OAAO,kBAAmB,SAAQ,IAGvC;IACC,IAAI,GAAG,kBAAkB,CAAC;IAC1B,WAAW,GAAG,sGAAsG,CAAC;IAErH,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QACjD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAChE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;KAC3G,CAAsE,CAAC;IAExE,KAAK,CAAC,OAAO,CACX,IAA4D;QAE5D,IAAI,CAAC;YAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAGrD,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAGxC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO,eAAe,IAAI,CAAC,MAAM,cAAc,CAAC;YAClD,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,eAAe,IAAI,CAAC,MAAM,sBAAsB,IAAI,CAAC,MAAM,EAAE,CAAC;YACvE,CAAC;YAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;YAG5B,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;YAEtD,OAAO,UAAU,IAAI,CAAC,MAAM,sBAAsB,IAAI,CAAC,MAAM,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;QACzF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;QAC5F,CAAC;IACH,CAAC;IAKO,WAAW,CAAC,MAAc;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,KAAK,CAAC,CAAC;IACrE,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Tool } from '../base/Tool';
|
|
3
|
+
export declare class ExitPlanTool extends Tool {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
schema: z.ZodObject<{
|
|
7
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
reason?: string | undefined;
|
|
10
|
+
}, {
|
|
11
|
+
reason?: string | undefined;
|
|
12
|
+
}>;
|
|
13
|
+
execute(input: z.infer<typeof this.schema>): Promise<any>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=ExitPlanTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExitPlanTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/special/ExitPlanTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAmBpC,qBAAa,YAAa,SAAQ,IAAI;IACpC,IAAI,SAAe;IACnB,WAAW,SAAsD;IAEjE,MAAM;;;;;;OAEH;IAEG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CA8BhE"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Tool } from '../base/Tool';
|
|
3
|
+
export class ExitPlanTool extends Tool {
|
|
4
|
+
name = 'exit_plan';
|
|
5
|
+
description = 'Exit plan mode and return to normal conversation';
|
|
6
|
+
schema = z.object({
|
|
7
|
+
reason: z.string().optional().describe('Reason for exiting plan mode'),
|
|
8
|
+
});
|
|
9
|
+
async execute(input) {
|
|
10
|
+
const { reason } = input;
|
|
11
|
+
console.log(`🚪 Exiting plan mode`);
|
|
12
|
+
if (reason) {
|
|
13
|
+
console.log(` Reason: ${reason}`);
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
console.log(`✅ Exited plan mode`);
|
|
17
|
+
return {
|
|
18
|
+
success: true,
|
|
19
|
+
message: 'Exited plan mode successfully',
|
|
20
|
+
reason,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
console.error(`❌ Failed to exit plan mode:`, error);
|
|
25
|
+
if (error instanceof Error) {
|
|
26
|
+
throw new Error(`Failed to exit plan mode: ${error.message}`);
|
|
27
|
+
}
|
|
28
|
+
throw new Error('Failed to exit plan mode: Unknown error');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=ExitPlanTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExitPlanTool.js","sourceRoot":"","sources":["../../../../src/tools/special/ExitPlanTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAmBpC,MAAM,OAAO,YAAa,SAAQ,IAAI;IACpC,IAAI,GAAG,WAAW,CAAC;IACnB,WAAW,GAAG,kDAAkD,CAAC;IAEjE,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;KACvE,CAAC,CAAC;IAEH,KAAK,CAAC,OAAO,CAAC,KAAkC;QAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAEzB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC;YAMH,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAElC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,+BAA+B;gBACxC,MAAM;aACP,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YAEpD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Tool } from '../base/Tool';
|
|
3
|
+
export declare class SkillTool extends Tool {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
schema: z.ZodObject<{
|
|
7
|
+
skillName: z.ZodString;
|
|
8
|
+
context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
9
|
+
}, "strip", z.ZodTypeAny, {
|
|
10
|
+
skillName: string;
|
|
11
|
+
context?: Record<string, string> | undefined;
|
|
12
|
+
}, {
|
|
13
|
+
skillName: string;
|
|
14
|
+
context?: Record<string, string> | undefined;
|
|
15
|
+
}>;
|
|
16
|
+
execute(input: z.infer<typeof this.schema>): Promise<any>;
|
|
17
|
+
private getSkillPath;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=SkillTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkillTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/special/SkillTool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAqBpC,qBAAa,SAAU,SAAQ,IAAI;IACjC,IAAI,SAAW;IACf,WAAW,SAA8B;IAEzC,MAAM;;;;;;;;;OAMH;IAEG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAuC/D,OAAO,CAAC,YAAY;CAIrB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as fs from 'node:fs/promises';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { Tool } from '../base/Tool';
|
|
5
|
+
export class SkillTool extends Tool {
|
|
6
|
+
name = 'skill';
|
|
7
|
+
description = 'Load and execute a skill';
|
|
8
|
+
schema = z.object({
|
|
9
|
+
skillName: z.string().describe('Name of the skill to execute'),
|
|
10
|
+
context: z
|
|
11
|
+
.record(z.string(), z.string())
|
|
12
|
+
.optional()
|
|
13
|
+
.describe('Context variables for the skill'),
|
|
14
|
+
});
|
|
15
|
+
async execute(input) {
|
|
16
|
+
const { skillName, context = {} } = input;
|
|
17
|
+
console.log(`🎯 Loading skill: ${skillName}`);
|
|
18
|
+
try {
|
|
19
|
+
const skillPath = this.getSkillPath(skillName);
|
|
20
|
+
const content = await fs.readFile(skillPath, 'utf-8');
|
|
21
|
+
let processedContent = content;
|
|
22
|
+
for (const [key, value] of Object.entries(context)) {
|
|
23
|
+
const placeholder = `{{${key}}}`;
|
|
24
|
+
processedContent = processedContent.replace(new RegExp(placeholder, 'g'), value);
|
|
25
|
+
}
|
|
26
|
+
console.log(`✅ Skill loaded: ${skillName}`);
|
|
27
|
+
return {
|
|
28
|
+
success: true,
|
|
29
|
+
skillName,
|
|
30
|
+
content: processedContent,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
console.error(`❌ Failed to load skill:`, error);
|
|
35
|
+
if (error instanceof Error) {
|
|
36
|
+
throw new Error(`Failed to load skill: ${error.message}`);
|
|
37
|
+
}
|
|
38
|
+
throw new Error('Failed to load skill: Unknown error');
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
getSkillPath(skillName) {
|
|
42
|
+
return path.join(process.cwd(), '.aicli', 'skills', `${skillName}.md`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=SkillTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkillTool.js","sourceRoot":"","sources":["../../../../src/tools/special/SkillTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAqBpC,MAAM,OAAO,SAAU,SAAQ,IAAI;IACjC,IAAI,GAAG,OAAO,CAAC;IACf,WAAW,GAAG,0BAA0B,CAAC;IAEzC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC9D,OAAO,EAAE,CAAC;aACP,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;aAC9B,QAAQ,EAAE;aACV,QAAQ,CAAC,iCAAiC,CAAC;KAC/C,CAAC,CAAC;IAEH,KAAK,CAAC,OAAO,CAAC,KAAkC;QAC9C,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC;QAE1C,OAAO,CAAC,GAAG,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;QAE9C,IAAI,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAG/C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAGtD,IAAI,gBAAgB,GAAG,OAAO,CAAC;YAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,MAAM,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC;gBACjC,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YACnF,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC;YAE5C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,SAAS;gBACT,OAAO,EAAE,gBAAgB;aAC1B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAEhD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAKO,YAAY,CAAC,SAAiB;QAEpC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;IACzE,CAAC;CACF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Tool } from '../base/Tool';
|
|
3
|
+
export declare class BashTool extends Tool {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
schema: z.ZodObject<{
|
|
7
|
+
command: z.ZodString;
|
|
8
|
+
cwd: z.ZodOptional<z.ZodString>;
|
|
9
|
+
}, "strip", z.ZodTypeAny, {
|
|
10
|
+
command: string;
|
|
11
|
+
cwd?: string | undefined;
|
|
12
|
+
}, {
|
|
13
|
+
command: string;
|
|
14
|
+
cwd?: string | undefined;
|
|
15
|
+
}>;
|
|
16
|
+
execute(input: z.infer<typeof this.schema>): Promise<any>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=BashTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BashTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/system/BashTool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AASpC,qBAAa,QAAS,SAAQ,IAAI;IAChC,IAAI,SAAU;IACd,WAAW,SAA4B;IAEvC,MAAM;;;;;;;;;OAGH;IAEG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CAiBhE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { exec } from 'node:child_process';
|
|
2
|
+
import { promisify } from 'node:util';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { Tool } from '../base/Tool';
|
|
5
|
+
const execAsync = promisify(exec);
|
|
6
|
+
export class BashTool extends Tool {
|
|
7
|
+
name = 'bash';
|
|
8
|
+
description = 'Execute shell commands';
|
|
9
|
+
schema = z.object({
|
|
10
|
+
command: z.string().describe('Shell command to execute'),
|
|
11
|
+
cwd: z.string().optional().describe('Working directory'),
|
|
12
|
+
});
|
|
13
|
+
async execute(input) {
|
|
14
|
+
const { command, cwd } = input;
|
|
15
|
+
console.log(`⚡ Executing: ${command}`);
|
|
16
|
+
try {
|
|
17
|
+
const { stdout, stderr } = await execAsync(command, { cwd });
|
|
18
|
+
return {
|
|
19
|
+
success: true,
|
|
20
|
+
stdout: stdout.trim(),
|
|
21
|
+
stderr: stderr.trim(),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
throw new Error(`Command failed: ${error.message}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=BashTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BashTool.js","sourceRoot":"","sources":["../../../../src/tools/system/BashTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAOlC,MAAM,OAAO,QAAS,SAAQ,IAAI;IAChC,IAAI,GAAG,MAAM,CAAC;IACd,WAAW,GAAG,wBAAwB,CAAC;IAEvC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACxD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;KACzD,CAAC,CAAC;IAEH,KAAK,CAAC,OAAO,CAAC,KAAkC;QAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;QAE/B,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;QAEvC,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAE7D,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;gBACrB,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;aACtB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Tool } from '../base/Tool';
|
|
3
|
+
export declare class EnvTool extends Tool {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
schema: z.ZodObject<{
|
|
7
|
+
key: z.ZodOptional<z.ZodString>;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
key?: string | undefined;
|
|
10
|
+
}, {
|
|
11
|
+
key?: string | undefined;
|
|
12
|
+
}>;
|
|
13
|
+
execute(input: z.infer<typeof this.schema>): Promise<any>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=EnvTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnvTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/system/EnvTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAepC,qBAAa,OAAQ,SAAQ,IAAI;IAC/B,IAAI,SAAS;IACb,WAAW,SAA+B;IAE1C,MAAM;;;;;;OAEH;IAEG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CA4ChE"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Tool } from '../base/Tool';
|
|
3
|
+
export class EnvTool extends Tool {
|
|
4
|
+
name = 'env';
|
|
5
|
+
description = 'Get environment variables';
|
|
6
|
+
schema = z.object({
|
|
7
|
+
key: z.string().optional().describe('Environment variable key (omit to list all)'),
|
|
8
|
+
});
|
|
9
|
+
async execute(input) {
|
|
10
|
+
const { key } = input;
|
|
11
|
+
try {
|
|
12
|
+
if (key) {
|
|
13
|
+
const value = process.env[key];
|
|
14
|
+
if (value === undefined) {
|
|
15
|
+
return {
|
|
16
|
+
success: false,
|
|
17
|
+
message: `Environment variable not found: ${key}`,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
console.log(`✅ Got environment variable: ${key}`);
|
|
21
|
+
return {
|
|
22
|
+
success: true,
|
|
23
|
+
key,
|
|
24
|
+
value,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
const env = process.env;
|
|
29
|
+
const keys = Object.keys(env);
|
|
30
|
+
console.log(`✅ Listed ${keys.length} environment variables`);
|
|
31
|
+
return {
|
|
32
|
+
success: true,
|
|
33
|
+
count: keys.length,
|
|
34
|
+
variables: env,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
console.error(`❌ Failed to get environment variable:`, error);
|
|
40
|
+
if (error instanceof Error) {
|
|
41
|
+
throw new Error(`Failed to get environment variable: ${error.message}`);
|
|
42
|
+
}
|
|
43
|
+
throw new Error('Failed to get environment variable: Unknown error');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=EnvTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnvTool.js","sourceRoot":"","sources":["../../../../src/tools/system/EnvTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAepC,MAAM,OAAO,OAAQ,SAAQ,IAAI;IAC/B,IAAI,GAAG,KAAK,CAAC;IACb,WAAW,GAAG,2BAA2B,CAAC;IAE1C,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;KACnF,CAAC,CAAC;IAEH,KAAK,CAAC,OAAO,CAAC,KAAkC;QAC9C,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC;gBAER,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAE/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,OAAO,EAAE,mCAAmC,GAAG,EAAE;qBAClD,CAAC;gBACJ,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;gBAElD,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,GAAG;oBACH,KAAK;iBACN,CAAC;YACJ,CAAC;iBAAM,CAAC;gBAEN,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;gBACxB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE9B,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,wBAAwB,CAAC,CAAC;gBAE7D,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,IAAI,CAAC,MAAM;oBAClB,SAAS,EAAE,GAAG;iBACf,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;YAE9D,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { Tool } from '../base/Tool';
|
|
3
|
+
export declare class ExecTool extends Tool {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
schema: z.ZodObject<{
|
|
7
|
+
scriptPath: z.ZodString;
|
|
8
|
+
args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
9
|
+
cwd: z.ZodOptional<z.ZodString>;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
scriptPath: string;
|
|
12
|
+
cwd?: string | undefined;
|
|
13
|
+
args?: string[] | undefined;
|
|
14
|
+
}, {
|
|
15
|
+
scriptPath: string;
|
|
16
|
+
cwd?: string | undefined;
|
|
17
|
+
args?: string[] | undefined;
|
|
18
|
+
}>;
|
|
19
|
+
execute(input: z.infer<typeof this.schema>): Promise<any>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=ExecTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExecTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/system/ExecTool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAkBpC,qBAAa,QAAS,SAAQ,IAAI;IAChC,IAAI,SAAU;IACd,WAAW,SAA2B;IAEtC,MAAM;;;;;;;;;;;;OAIH;IAEG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CAkChE"}
|