takt 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/LICENSE +21 -0
- package/README.md +307 -0
- package/bin/takt +27 -0
- package/dist/agents/index.d.ts +5 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +5 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/runner.d.ts +26 -0
- package/dist/agents/runner.d.ts.map +1 -0
- package/dist/agents/runner.js +144 -0
- package/dist/agents/runner.js.map +1 -0
- package/dist/claude/client.d.ts +43 -0
- package/dist/claude/client.d.ts.map +1 -0
- package/dist/claude/client.js +143 -0
- package/dist/claude/client.js.map +1 -0
- package/dist/claude/executor.d.ts +29 -0
- package/dist/claude/executor.d.ts.map +1 -0
- package/dist/claude/executor.js +169 -0
- package/dist/claude/executor.js.map +1 -0
- package/dist/claude/index.d.ts +14 -0
- package/dist/claude/index.d.ts.map +1 -0
- package/dist/claude/index.js +18 -0
- package/dist/claude/index.js.map +1 -0
- package/dist/claude/options-builder.d.ts +40 -0
- package/dist/claude/options-builder.d.ts.map +1 -0
- package/dist/claude/options-builder.js +90 -0
- package/dist/claude/options-builder.js.map +1 -0
- package/dist/claude/process.d.ts +57 -0
- package/dist/claude/process.d.ts.map +1 -0
- package/dist/claude/process.js +57 -0
- package/dist/claude/process.js.map +1 -0
- package/dist/claude/query-manager.d.ts +35 -0
- package/dist/claude/query-manager.d.ts.map +1 -0
- package/dist/claude/query-manager.js +74 -0
- package/dist/claude/query-manager.js.map +1 -0
- package/dist/claude/stream-converter.d.ts +19 -0
- package/dist/claude/stream-converter.d.ts.map +1 -0
- package/dist/claude/stream-converter.js +166 -0
- package/dist/claude/stream-converter.js.map +1 -0
- package/dist/claude/types.d.ts +99 -0
- package/dist/claude/types.d.ts.map +1 -0
- package/dist/claude/types.js +8 -0
- package/dist/claude/types.js.map +1 -0
- package/dist/cli/agentExecution.d.ts +16 -0
- package/dist/cli/agentExecution.d.ts.map +1 -0
- package/dist/cli/agentExecution.js +40 -0
- package/dist/cli/agentExecution.js.map +1 -0
- package/dist/cli/help.d.ts +8 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +46 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/index.d.ts +8 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +8 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/taskBatch.d.ts +8 -0
- package/dist/cli/taskBatch.d.ts.map +1 -0
- package/dist/cli/taskBatch.js +69 -0
- package/dist/cli/taskBatch.js.map +1 -0
- package/dist/cli/workflowExecution.d.ts +18 -0
- package/dist/cli/workflowExecution.d.ts.map +1 -0
- package/dist/cli/workflowExecution.js +112 -0
- package/dist/cli/workflowExecution.js.map +1 -0
- package/dist/cli.d.ts +14 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +122 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/agentExecution.d.ts +8 -0
- package/dist/commands/agentExecution.d.ts.map +1 -0
- package/dist/commands/agentExecution.js +44 -0
- package/dist/commands/agentExecution.js.map +1 -0
- package/dist/commands/help.d.ts +8 -0
- package/dist/commands/help.d.ts.map +1 -0
- package/dist/commands/help.js +39 -0
- package/dist/commands/help.js.map +1 -0
- package/dist/commands/index.d.ts +9 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +9 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/session.d.ts +10 -0
- package/dist/commands/session.d.ts.map +1 -0
- package/dist/commands/session.js +18 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/taskExecution.d.ts +20 -0
- package/dist/commands/taskExecution.d.ts.map +1 -0
- package/dist/commands/taskExecution.js +103 -0
- package/dist/commands/taskExecution.js.map +1 -0
- package/dist/commands/workflow.d.ts +9 -0
- package/dist/commands/workflow.d.ts.map +1 -0
- package/dist/commands/workflow.js +51 -0
- package/dist/commands/workflow.js.map +1 -0
- package/dist/commands/workflowExecution.d.ts +21 -0
- package/dist/commands/workflowExecution.d.ts.map +1 -0
- package/dist/commands/workflowExecution.js +95 -0
- package/dist/commands/workflowExecution.js.map +1 -0
- package/dist/config/agentLoader.d.ts +25 -0
- package/dist/config/agentLoader.d.ts.map +1 -0
- package/dist/config/agentLoader.js +96 -0
- package/dist/config/agentLoader.js.map +1 -0
- package/dist/config/globalConfig.d.ts +23 -0
- package/dist/config/globalConfig.d.ts.map +1 -0
- package/dist/config/globalConfig.js +117 -0
- package/dist/config/globalConfig.js.map +1 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +7 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/initialization.d.ts +23 -0
- package/dist/config/initialization.d.ts.map +1 -0
- package/dist/config/initialization.js +55 -0
- package/dist/config/initialization.js.map +1 -0
- package/dist/config/loader.d.ts +9 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +12 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/paths.d.ts +33 -0
- package/dist/config/paths.d.ts.map +1 -0
- package/dist/config/paths.js +66 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/config/projectConfig.d.ts +41 -0
- package/dist/config/projectConfig.d.ts.map +1 -0
- package/dist/config/projectConfig.js +85 -0
- package/dist/config/projectConfig.js.map +1 -0
- package/dist/config/sessionStore.d.ts +44 -0
- package/dist/config/sessionStore.d.ts.map +1 -0
- package/dist/config/sessionStore.js +194 -0
- package/dist/config/sessionStore.js.map +1 -0
- package/dist/config/workflowLoader.d.ts +23 -0
- package/dist/config/workflowLoader.d.ts.map +1 -0
- package/dist/config/workflowLoader.js +142 -0
- package/dist/config/workflowLoader.js.map +1 -0
- package/dist/constants.d.ts +9 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +8 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/interactive/commands/agent.d.ts +7 -0
- package/dist/interactive/commands/agent.d.ts.map +1 -0
- package/dist/interactive/commands/agent.js +65 -0
- package/dist/interactive/commands/agent.js.map +1 -0
- package/dist/interactive/commands/basic.d.ts +7 -0
- package/dist/interactive/commands/basic.d.ts.map +1 -0
- package/dist/interactive/commands/basic.js +81 -0
- package/dist/interactive/commands/basic.js.map +1 -0
- package/dist/interactive/commands/index.d.ts +12 -0
- package/dist/interactive/commands/index.d.ts.map +1 -0
- package/dist/interactive/commands/index.js +14 -0
- package/dist/interactive/commands/index.js.map +1 -0
- package/dist/interactive/commands/registry.d.ts +41 -0
- package/dist/interactive/commands/registry.d.ts.map +1 -0
- package/dist/interactive/commands/registry.js +37 -0
- package/dist/interactive/commands/registry.js.map +1 -0
- package/dist/interactive/commands/session.d.ts +7 -0
- package/dist/interactive/commands/session.d.ts.map +1 -0
- package/dist/interactive/commands/session.js +75 -0
- package/dist/interactive/commands/session.js.map +1 -0
- package/dist/interactive/commands/task.d.ts +7 -0
- package/dist/interactive/commands/task.d.ts.map +1 -0
- package/dist/interactive/commands/task.js +156 -0
- package/dist/interactive/commands/task.js.map +1 -0
- package/dist/interactive/commands/workflow.d.ts +7 -0
- package/dist/interactive/commands/workflow.d.ts.map +1 -0
- package/dist/interactive/commands/workflow.js +56 -0
- package/dist/interactive/commands/workflow.js.map +1 -0
- package/dist/interactive/escape-tracker.d.ts +37 -0
- package/dist/interactive/escape-tracker.d.ts.map +1 -0
- package/dist/interactive/escape-tracker.js +52 -0
- package/dist/interactive/escape-tracker.js.map +1 -0
- package/dist/interactive/handlers.d.ts +24 -0
- package/dist/interactive/handlers.d.ts.map +1 -0
- package/dist/interactive/handlers.js +191 -0
- package/dist/interactive/handlers.js.map +1 -0
- package/dist/interactive/history-manager.d.ts +45 -0
- package/dist/interactive/history-manager.d.ts.map +1 -0
- package/dist/interactive/history-manager.js +91 -0
- package/dist/interactive/history-manager.js.map +1 -0
- package/dist/interactive/index.d.ts +8 -0
- package/dist/interactive/index.d.ts.map +1 -0
- package/dist/interactive/index.js +8 -0
- package/dist/interactive/index.js.map +1 -0
- package/dist/interactive/ink/components/App.d.ts +16 -0
- package/dist/interactive/ink/components/App.d.ts.map +1 -0
- package/dist/interactive/ink/components/App.js +123 -0
- package/dist/interactive/ink/components/App.js.map +1 -0
- package/dist/interactive/ink/components/AskUserQuestion.d.ts +16 -0
- package/dist/interactive/ink/components/AskUserQuestion.d.ts.map +1 -0
- package/dist/interactive/ink/components/AskUserQuestion.js +139 -0
- package/dist/interactive/ink/components/AskUserQuestion.js.map +1 -0
- package/dist/interactive/ink/components/Header.d.ts +20 -0
- package/dist/interactive/ink/components/Header.d.ts.map +1 -0
- package/dist/interactive/ink/components/Header.js +7 -0
- package/dist/interactive/ink/components/Header.js.map +1 -0
- package/dist/interactive/ink/components/HelpView.d.ts +13 -0
- package/dist/interactive/ink/components/HelpView.d.ts.map +1 -0
- package/dist/interactive/ink/components/HelpView.js +45 -0
- package/dist/interactive/ink/components/HelpView.js.map +1 -0
- package/dist/interactive/ink/components/IterationLimit.d.ts +19 -0
- package/dist/interactive/ink/components/IterationLimit.d.ts.map +1 -0
- package/dist/interactive/ink/components/IterationLimit.js +59 -0
- package/dist/interactive/ink/components/IterationLimit.js.map +1 -0
- package/dist/interactive/ink/components/ModalRouter.d.ts +11 -0
- package/dist/interactive/ink/components/ModalRouter.d.ts.map +1 -0
- package/dist/interactive/ink/components/ModalRouter.js +71 -0
- package/dist/interactive/ink/components/ModalRouter.js.map +1 -0
- package/dist/interactive/ink/components/PermissionPrompt.d.ts +17 -0
- package/dist/interactive/ink/components/PermissionPrompt.d.ts.map +1 -0
- package/dist/interactive/ink/components/PermissionPrompt.js +102 -0
- package/dist/interactive/ink/components/PermissionPrompt.js.map +1 -0
- package/dist/interactive/ink/components/PromptInput.d.ts +26 -0
- package/dist/interactive/ink/components/PromptInput.d.ts.map +1 -0
- package/dist/interactive/ink/components/PromptInput.js +70 -0
- package/dist/interactive/ink/components/PromptInput.js.map +1 -0
- package/dist/interactive/ink/components/Spinner.d.ts +14 -0
- package/dist/interactive/ink/components/Spinner.d.ts.map +1 -0
- package/dist/interactive/ink/components/Spinner.js +8 -0
- package/dist/interactive/ink/components/Spinner.js.map +1 -0
- package/dist/interactive/ink/components/StreamingOutput.d.ts +25 -0
- package/dist/interactive/ink/components/StreamingOutput.d.ts.map +1 -0
- package/dist/interactive/ink/components/StreamingOutput.js +8 -0
- package/dist/interactive/ink/components/StreamingOutput.js.map +1 -0
- package/dist/interactive/ink/components/UserInputPrompt.d.ts +18 -0
- package/dist/interactive/ink/components/UserInputPrompt.d.ts.map +1 -0
- package/dist/interactive/ink/components/UserInputPrompt.js +30 -0
- package/dist/interactive/ink/components/UserInputPrompt.js.map +1 -0
- package/dist/interactive/ink/components/WorkflowSelector.d.ts +18 -0
- package/dist/interactive/ink/components/WorkflowSelector.d.ts.map +1 -0
- package/dist/interactive/ink/components/WorkflowSelector.js +65 -0
- package/dist/interactive/ink/components/WorkflowSelector.js.map +1 -0
- package/dist/interactive/ink/constants.d.ts +8 -0
- package/dist/interactive/ink/constants.d.ts.map +1 -0
- package/dist/interactive/ink/constants.js +8 -0
- package/dist/interactive/ink/constants.js.map +1 -0
- package/dist/interactive/ink/context/AppContext.d.ts +26 -0
- package/dist/interactive/ink/context/AppContext.d.ts.map +1 -0
- package/dist/interactive/ink/context/AppContext.js +30 -0
- package/dist/interactive/ink/context/AppContext.js.map +1 -0
- package/dist/interactive/ink/context/appReducer.d.ts +13 -0
- package/dist/interactive/ink/context/appReducer.d.ts.map +1 -0
- package/dist/interactive/ink/context/appReducer.js +183 -0
- package/dist/interactive/ink/context/appReducer.js.map +1 -0
- package/dist/interactive/ink/context/types.d.ts +144 -0
- package/dist/interactive/ink/context/types.d.ts.map +1 -0
- package/dist/interactive/ink/context/types.js +5 -0
- package/dist/interactive/ink/context/types.js.map +1 -0
- package/dist/interactive/ink/hooks/keyDetection.d.ts +116 -0
- package/dist/interactive/ink/hooks/keyDetection.d.ts.map +1 -0
- package/dist/interactive/ink/hooks/keyDetection.js +183 -0
- package/dist/interactive/ink/hooks/keyDetection.js.map +1 -0
- package/dist/interactive/ink/hooks/multilineInputLogic.d.ts +50 -0
- package/dist/interactive/ink/hooks/multilineInputLogic.d.ts.map +1 -0
- package/dist/interactive/ink/hooks/multilineInputLogic.js +150 -0
- package/dist/interactive/ink/hooks/multilineInputLogic.js.map +1 -0
- package/dist/interactive/ink/hooks/useCommands.d.ts +20 -0
- package/dist/interactive/ink/hooks/useCommands.d.ts.map +1 -0
- package/dist/interactive/ink/hooks/useCommands.js +129 -0
- package/dist/interactive/ink/hooks/useCommands.js.map +1 -0
- package/dist/interactive/ink/hooks/useHistory.d.ts +28 -0
- package/dist/interactive/ink/hooks/useHistory.d.ts.map +1 -0
- package/dist/interactive/ink/hooks/useHistory.js +59 -0
- package/dist/interactive/ink/hooks/useHistory.js.map +1 -0
- package/dist/interactive/ink/hooks/useMultilineInput.d.ts +49 -0
- package/dist/interactive/ink/hooks/useMultilineInput.d.ts.map +1 -0
- package/dist/interactive/ink/hooks/useMultilineInput.js +106 -0
- package/dist/interactive/ink/hooks/useMultilineInput.js.map +1 -0
- package/dist/interactive/ink/hooks/usePermissionHandlers.d.ts +16 -0
- package/dist/interactive/ink/hooks/usePermissionHandlers.d.ts.map +1 -0
- package/dist/interactive/ink/hooks/usePermissionHandlers.js +172 -0
- package/dist/interactive/ink/hooks/usePermissionHandlers.js.map +1 -0
- package/dist/interactive/ink/hooks/useRawKeypress.d.ts +41 -0
- package/dist/interactive/ink/hooks/useRawKeypress.d.ts.map +1 -0
- package/dist/interactive/ink/hooks/useRawKeypress.js +79 -0
- package/dist/interactive/ink/hooks/useRawKeypress.js.map +1 -0
- package/dist/interactive/ink/hooks/useTaskQueue.d.ts +32 -0
- package/dist/interactive/ink/hooks/useTaskQueue.d.ts.map +1 -0
- package/dist/interactive/ink/hooks/useTaskQueue.js +68 -0
- package/dist/interactive/ink/hooks/useTaskQueue.js.map +1 -0
- package/dist/interactive/ink/hooks/useWorkflow.d.ts +45 -0
- package/dist/interactive/ink/hooks/useWorkflow.d.ts.map +1 -0
- package/dist/interactive/ink/hooks/useWorkflow.js +93 -0
- package/dist/interactive/ink/hooks/useWorkflow.js.map +1 -0
- package/dist/interactive/ink/hooks/useWorkflowExecution.d.ts +14 -0
- package/dist/interactive/ink/hooks/useWorkflowExecution.d.ts.map +1 -0
- package/dist/interactive/ink/hooks/useWorkflowExecution.js +144 -0
- package/dist/interactive/ink/hooks/useWorkflowExecution.js.map +1 -0
- package/dist/interactive/ink/index.d.ts +30 -0
- package/dist/interactive/ink/index.d.ts.map +1 -0
- package/dist/interactive/ink/index.js +33 -0
- package/dist/interactive/ink/index.js.map +1 -0
- package/dist/interactive/ink/utils/workflow.d.ts +11 -0
- package/dist/interactive/ink/utils/workflow.d.ts.map +1 -0
- package/dist/interactive/ink/utils/workflow.js +19 -0
- package/dist/interactive/ink/utils/workflow.js.map +1 -0
- package/dist/interactive/input-buffer.d.ts +67 -0
- package/dist/interactive/input-buffer.d.ts.map +1 -0
- package/dist/interactive/input-buffer.js +162 -0
- package/dist/interactive/input-buffer.js.map +1 -0
- package/dist/interactive/input-handlers.d.ts +50 -0
- package/dist/interactive/input-handlers.d.ts.map +1 -0
- package/dist/interactive/input-handlers.js +170 -0
- package/dist/interactive/input-handlers.js.map +1 -0
- package/dist/interactive/input.d.ts +43 -0
- package/dist/interactive/input.d.ts.map +1 -0
- package/dist/interactive/input.js +74 -0
- package/dist/interactive/input.js.map +1 -0
- package/dist/interactive/keyDetection.d.ts +85 -0
- package/dist/interactive/keyDetection.d.ts.map +1 -0
- package/dist/interactive/keyDetection.js +167 -0
- package/dist/interactive/keyDetection.js.map +1 -0
- package/dist/interactive/multilineInputLogic.d.ts +30 -0
- package/dist/interactive/multilineInputLogic.d.ts.map +1 -0
- package/dist/interactive/multilineInputLogic.js +143 -0
- package/dist/interactive/multilineInputLogic.js.map +1 -0
- package/dist/interactive/passthrough.d.ts +30 -0
- package/dist/interactive/passthrough.d.ts.map +1 -0
- package/dist/interactive/passthrough.js +94 -0
- package/dist/interactive/passthrough.js.map +1 -0
- package/dist/interactive/permission.d.ts +33 -0
- package/dist/interactive/permission.d.ts.map +1 -0
- package/dist/interactive/permission.js +231 -0
- package/dist/interactive/permission.js.map +1 -0
- package/dist/interactive/prompt.d.ts +33 -0
- package/dist/interactive/prompt.d.ts.map +1 -0
- package/dist/interactive/prompt.js +132 -0
- package/dist/interactive/prompt.js.map +1 -0
- package/dist/interactive/repl.d.ts +13 -0
- package/dist/interactive/repl.d.ts.map +1 -0
- package/dist/interactive/repl.js +202 -0
- package/dist/interactive/repl.js.map +1 -0
- package/dist/interactive/types.d.ts +35 -0
- package/dist/interactive/types.d.ts.map +1 -0
- package/dist/interactive/types.js +5 -0
- package/dist/interactive/types.js.map +1 -0
- package/dist/interactive/ui.d.ts +16 -0
- package/dist/interactive/ui.d.ts.map +1 -0
- package/dist/interactive/ui.js +122 -0
- package/dist/interactive/ui.js.map +1 -0
- package/dist/interactive/user-input.d.ts +26 -0
- package/dist/interactive/user-input.d.ts.map +1 -0
- package/dist/interactive/user-input.js +115 -0
- package/dist/interactive/user-input.js.map +1 -0
- package/dist/interactive/workflow-executor.d.ts +20 -0
- package/dist/interactive/workflow-executor.d.ts.map +1 -0
- package/dist/interactive/workflow-executor.js +200 -0
- package/dist/interactive/workflow-executor.js.map +1 -0
- package/dist/models/agent.d.ts +37 -0
- package/dist/models/agent.d.ts.map +1 -0
- package/dist/models/agent.js +11 -0
- package/dist/models/agent.js.map +1 -0
- package/dist/models/config.d.ts +19 -0
- package/dist/models/config.d.ts.map +1 -0
- package/dist/models/config.js +25 -0
- package/dist/models/config.js.map +1 -0
- package/dist/models/index.d.ts +7 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +11 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/schemas.d.ts +161 -0
- package/dist/models/schemas.d.ts.map +1 -0
- package/dist/models/schemas.js +137 -0
- package/dist/models/schemas.js.map +1 -0
- package/dist/models/session.d.ts +50 -0
- package/dist/models/session.d.ts.map +1 -0
- package/dist/models/session.js +45 -0
- package/dist/models/session.js.map +1 -0
- package/dist/models/types.d.ts +117 -0
- package/dist/models/types.d.ts.map +1 -0
- package/dist/models/types.js +5 -0
- package/dist/models/types.js.map +1 -0
- package/dist/models/workflow.d.ts +58 -0
- package/dist/models/workflow.d.ts.map +1 -0
- package/dist/models/workflow.js +19 -0
- package/dist/models/workflow.js.map +1 -0
- package/dist/resources/index.d.ts +38 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +108 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/task/display.d.ts +11 -0
- package/dist/task/display.d.ts.map +1 -0
- package/dist/task/display.js +41 -0
- package/dist/task/display.js.map +1 -0
- package/dist/task/index.d.ts +6 -0
- package/dist/task/index.d.ts.map +1 -0
- package/dist/task/index.js +6 -0
- package/dist/task/index.js.map +1 -0
- package/dist/task/runner.d.ts +68 -0
- package/dist/task/runner.d.ts.map +1 -0
- package/dist/task/runner.js +172 -0
- package/dist/task/runner.js.map +1 -0
- package/dist/utils/debug.d.ts +32 -0
- package/dist/utils/debug.d.ts.map +1 -0
- package/dist/utils/debug.js +135 -0
- package/dist/utils/debug.js.map +1 -0
- package/dist/utils/error.d.ts +8 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/error.js +10 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/notification.d.ts +63 -0
- package/dist/utils/notification.d.ts.map +1 -0
- package/dist/utils/notification.js +170 -0
- package/dist/utils/notification.js.map +1 -0
- package/dist/utils/session.d.ts +38 -0
- package/dist/utils/session.d.ts.map +1 -0
- package/dist/utils/session.js +97 -0
- package/dist/utils/session.js.map +1 -0
- package/dist/utils/ui.d.ts +91 -0
- package/dist/utils/ui.d.ts.map +1 -0
- package/dist/utils/ui.js +330 -0
- package/dist/utils/ui.js.map +1 -0
- package/dist/workflow/blocked-handler.d.ts +27 -0
- package/dist/workflow/blocked-handler.d.ts.map +1 -0
- package/dist/workflow/blocked-handler.js +40 -0
- package/dist/workflow/blocked-handler.js.map +1 -0
- package/dist/workflow/constants.d.ts +20 -0
- package/dist/workflow/constants.d.ts.map +1 -0
- package/dist/workflow/constants.js +20 -0
- package/dist/workflow/constants.js.map +1 -0
- package/dist/workflow/engine.d.ts +42 -0
- package/dist/workflow/engine.d.ts.map +1 -0
- package/dist/workflow/engine.js +207 -0
- package/dist/workflow/engine.js.map +1 -0
- package/dist/workflow/index.d.ts +15 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +21 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflow/instruction-builder.d.ts +37 -0
- package/dist/workflow/instruction-builder.d.ts.map +1 -0
- package/dist/workflow/instruction-builder.js +49 -0
- package/dist/workflow/instruction-builder.js.map +1 -0
- package/dist/workflow/loop-detector.d.ts +31 -0
- package/dist/workflow/loop-detector.d.ts.map +1 -0
- package/dist/workflow/loop-detector.js +61 -0
- package/dist/workflow/loop-detector.js.map +1 -0
- package/dist/workflow/state-manager.d.ts +25 -0
- package/dist/workflow/state-manager.d.ts.map +1 -0
- package/dist/workflow/state-manager.js +59 -0
- package/dist/workflow/state-manager.js.map +1 -0
- package/dist/workflow/transitions.d.ts +25 -0
- package/dist/workflow/transitions.d.ts.map +1 -0
- package/dist/workflow/transitions.js +106 -0
- package/dist/workflow/transitions.js.map +1 -0
- package/dist/workflow/types.d.ts +74 -0
- package/dist/workflow/types.d.ts.map +1 -0
- package/dist/workflow/types.js +8 -0
- package/dist/workflow/types.js.map +1 -0
- package/package.json +67 -0
- package/resources/global/en/agents/default/architect.md +292 -0
- package/resources/global/en/agents/default/coder.md +169 -0
- package/resources/global/en/agents/default/security.md +206 -0
- package/resources/global/en/agents/default/supervisor.md +153 -0
- package/resources/global/en/agents/magi/balthasar.md +75 -0
- package/resources/global/en/agents/magi/casper.md +100 -0
- package/resources/global/en/agents/magi/melchior.md +74 -0
- package/resources/global/en/agents/research/digger.md +134 -0
- package/resources/global/en/agents/research/planner.md +125 -0
- package/resources/global/en/agents/research/supervisor.md +86 -0
- package/resources/global/en/config.yaml +19 -0
- package/resources/global/en/workflows/default.yaml +177 -0
- package/resources/global/en/workflows/magi.yaml +96 -0
- package/resources/global/en/workflows/research.yaml +112 -0
- package/resources/global/ja/agents/default/architect.md +292 -0
- package/resources/global/ja/agents/default/coder.md +170 -0
- package/resources/global/ja/agents/default/security.md +206 -0
- package/resources/global/ja/agents/default/supervisor.md +153 -0
- package/resources/global/ja/agents/magi/balthasar.md +75 -0
- package/resources/global/ja/agents/magi/casper.md +100 -0
- package/resources/global/ja/agents/magi/melchior.md +74 -0
- package/resources/global/ja/agents/research/digger.md +134 -0
- package/resources/global/ja/agents/research/planner.md +125 -0
- package/resources/global/ja/agents/research/supervisor.md +86 -0
- package/resources/global/ja/config.yaml +19 -0
- package/resources/global/ja/workflows/default.yaml +177 -0
- package/resources/global/ja/workflows/magi.yaml +96 -0
- package/resources/global/ja/workflows/research.yaml +112 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Agent SDK wrapper
|
|
3
|
+
*
|
|
4
|
+
* Uses @anthropic-ai/claude-agent-sdk for native TypeScript integration
|
|
5
|
+
* instead of spawning CLI processes.
|
|
6
|
+
*/
|
|
7
|
+
import { hasActiveProcess, interruptCurrentProcess, } from './query-manager.js';
|
|
8
|
+
import { executeClaudeQuery } from './executor.js';
|
|
9
|
+
// Re-export query management functions
|
|
10
|
+
export { generateQueryId, hasActiveProcess, isQueryActive, getActiveQueryCount, interruptQuery, interruptAllQueries, interruptCurrentProcess, } from './query-manager.js';
|
|
11
|
+
/**
|
|
12
|
+
* Execute a Claude query using the Agent SDK.
|
|
13
|
+
* Supports concurrent execution with query ID tracking.
|
|
14
|
+
*/
|
|
15
|
+
export async function executeClaudeCli(prompt, options) {
|
|
16
|
+
return executeClaudeQuery(prompt, options);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* ClaudeProcess class for backward compatibility.
|
|
20
|
+
* Wraps the SDK query function.
|
|
21
|
+
*/
|
|
22
|
+
export class ClaudeProcess {
|
|
23
|
+
options;
|
|
24
|
+
currentSessionId;
|
|
25
|
+
interrupted = false;
|
|
26
|
+
constructor(options) {
|
|
27
|
+
this.options = options;
|
|
28
|
+
}
|
|
29
|
+
/** Execute a prompt */
|
|
30
|
+
async execute(prompt) {
|
|
31
|
+
this.interrupted = false;
|
|
32
|
+
const result = await executeClaudeCli(prompt, this.options);
|
|
33
|
+
this.currentSessionId = result.sessionId;
|
|
34
|
+
if (result.interrupted) {
|
|
35
|
+
this.interrupted = true;
|
|
36
|
+
}
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
/** Interrupt the running query */
|
|
40
|
+
kill() {
|
|
41
|
+
this.interrupted = true;
|
|
42
|
+
interruptCurrentProcess();
|
|
43
|
+
}
|
|
44
|
+
/** Check if a query is running */
|
|
45
|
+
isRunning() {
|
|
46
|
+
return hasActiveProcess();
|
|
47
|
+
}
|
|
48
|
+
/** Get session ID */
|
|
49
|
+
getSessionId() {
|
|
50
|
+
return this.currentSessionId;
|
|
51
|
+
}
|
|
52
|
+
/** Check if query was interrupted */
|
|
53
|
+
wasInterrupted() {
|
|
54
|
+
return this.interrupted;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=process.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/claude/process.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AA2BnD,uCAAuC;AACvC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAwB5B;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAc,EACd,OAA2B;IAE3B,OAAO,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,aAAa;IAChB,OAAO,CAAqB;IAC5B,gBAAgB,CAAU;IAC1B,WAAW,GAAG,KAAK,CAAC;IAE5B,YAAY,OAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,uBAAuB;IACvB,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC;QACzC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,kCAAkC;IAClC,IAAI;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,uBAAuB,EAAE,CAAC;IAC5B,CAAC;IAED,kCAAkC;IAClC,SAAS;QACP,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED,qBAAqB;IACrB,YAAY;QACV,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,qCAAqC;IACrC,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Query management for Claude SDK
|
|
3
|
+
*
|
|
4
|
+
* Handles tracking and lifecycle management of active Claude queries.
|
|
5
|
+
* Supports concurrent query execution with interrupt capabilities.
|
|
6
|
+
*/
|
|
7
|
+
import type { Query } from '@anthropic-ai/claude-agent-sdk';
|
|
8
|
+
/** Generate a unique query ID */
|
|
9
|
+
export declare function generateQueryId(): string;
|
|
10
|
+
/** Check if there is an active Claude process */
|
|
11
|
+
export declare function hasActiveProcess(): boolean;
|
|
12
|
+
/** Check if a specific query is active */
|
|
13
|
+
export declare function isQueryActive(queryId: string): boolean;
|
|
14
|
+
/** Get count of active queries */
|
|
15
|
+
export declare function getActiveQueryCount(): number;
|
|
16
|
+
/** Register an active query */
|
|
17
|
+
export declare function registerQuery(queryId: string, queryInstance: Query): void;
|
|
18
|
+
/** Unregister an active query */
|
|
19
|
+
export declare function unregisterQuery(queryId: string): void;
|
|
20
|
+
/**
|
|
21
|
+
* Interrupt a specific Claude query by ID.
|
|
22
|
+
* @returns true if the query was interrupted, false if not found
|
|
23
|
+
*/
|
|
24
|
+
export declare function interruptQuery(queryId: string): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Interrupt all active Claude queries.
|
|
27
|
+
* @returns number of queries that were interrupted
|
|
28
|
+
*/
|
|
29
|
+
export declare function interruptAllQueries(): number;
|
|
30
|
+
/**
|
|
31
|
+
* Interrupt the most recently started Claude query (backward compatibility).
|
|
32
|
+
* @returns true if a query was interrupted, false if no query was running
|
|
33
|
+
*/
|
|
34
|
+
export declare function interruptCurrentProcess(): boolean;
|
|
35
|
+
//# sourceMappingURL=query-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-manager.d.ts","sourceRoot":"","sources":["../../src/claude/query-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAQ5D,iCAAiC;AACjC,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,iDAAiD;AACjD,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,0CAA0C;AAC1C,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,kCAAkC;AAClC,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,+BAA+B;AAC/B,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,GAAG,IAAI,CAEzE;AAED,iCAAiC;AACjC,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAErD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQvD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAO5C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAQjD"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Query management for Claude SDK
|
|
3
|
+
*
|
|
4
|
+
* Handles tracking and lifecycle management of active Claude queries.
|
|
5
|
+
* Supports concurrent query execution with interrupt capabilities.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Active query registry for interrupt support.
|
|
9
|
+
* Uses a Map to support concurrent query execution.
|
|
10
|
+
*/
|
|
11
|
+
const activeQueries = new Map();
|
|
12
|
+
/** Generate a unique query ID */
|
|
13
|
+
export function generateQueryId() {
|
|
14
|
+
return `q-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
|
|
15
|
+
}
|
|
16
|
+
/** Check if there is an active Claude process */
|
|
17
|
+
export function hasActiveProcess() {
|
|
18
|
+
return activeQueries.size > 0;
|
|
19
|
+
}
|
|
20
|
+
/** Check if a specific query is active */
|
|
21
|
+
export function isQueryActive(queryId) {
|
|
22
|
+
return activeQueries.has(queryId);
|
|
23
|
+
}
|
|
24
|
+
/** Get count of active queries */
|
|
25
|
+
export function getActiveQueryCount() {
|
|
26
|
+
return activeQueries.size;
|
|
27
|
+
}
|
|
28
|
+
/** Register an active query */
|
|
29
|
+
export function registerQuery(queryId, queryInstance) {
|
|
30
|
+
activeQueries.set(queryId, queryInstance);
|
|
31
|
+
}
|
|
32
|
+
/** Unregister an active query */
|
|
33
|
+
export function unregisterQuery(queryId) {
|
|
34
|
+
activeQueries.delete(queryId);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Interrupt a specific Claude query by ID.
|
|
38
|
+
* @returns true if the query was interrupted, false if not found
|
|
39
|
+
*/
|
|
40
|
+
export function interruptQuery(queryId) {
|
|
41
|
+
const queryInstance = activeQueries.get(queryId);
|
|
42
|
+
if (queryInstance) {
|
|
43
|
+
queryInstance.interrupt();
|
|
44
|
+
activeQueries.delete(queryId);
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Interrupt all active Claude queries.
|
|
51
|
+
* @returns number of queries that were interrupted
|
|
52
|
+
*/
|
|
53
|
+
export function interruptAllQueries() {
|
|
54
|
+
const count = activeQueries.size;
|
|
55
|
+
for (const [id, queryInstance] of activeQueries) {
|
|
56
|
+
queryInstance.interrupt();
|
|
57
|
+
activeQueries.delete(id);
|
|
58
|
+
}
|
|
59
|
+
return count;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Interrupt the most recently started Claude query (backward compatibility).
|
|
63
|
+
* @returns true if a query was interrupted, false if no query was running
|
|
64
|
+
*/
|
|
65
|
+
export function interruptCurrentProcess() {
|
|
66
|
+
if (activeQueries.size === 0) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
// Interrupt all queries for backward compatibility
|
|
70
|
+
// In the old design, there was only one query
|
|
71
|
+
interruptAllQueries();
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=query-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-manager.js","sourceRoot":"","sources":["../../src/claude/query-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,EAAiB,CAAC;AAE/C,iCAAiC;AACjC,MAAM,UAAU,eAAe;IAC7B,OAAO,KAAK,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,gBAAgB;IAC9B,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,mBAAmB;IACjC,OAAO,aAAa,CAAC,IAAI,CAAC;AAC5B,CAAC;AAED,+BAA+B;AAC/B,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,aAAoB;IACjE,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC5C,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,aAAa,EAAE,CAAC;QAClB,aAAa,CAAC,SAAS,EAAE,CAAC;QAC1B,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC;IACjC,KAAK,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,aAAa,EAAE,CAAC;QAChD,aAAa,CAAC,SAAS,EAAE,CAAC;QAC1B,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,mDAAmD;IACnD,8CAA8C;IAC9C,mBAAmB,EAAE,CAAC;IACtB,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SDK message to stream event converter
|
|
3
|
+
*
|
|
4
|
+
* Converts Claude Agent SDK messages to the internal stream event format
|
|
5
|
+
* for backward compatibility with the streaming display system.
|
|
6
|
+
*/
|
|
7
|
+
import type { SDKMessage } from '@anthropic-ai/claude-agent-sdk';
|
|
8
|
+
import type { StreamCallback } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Convert SDK message to stream event for backward compatibility.
|
|
11
|
+
*
|
|
12
|
+
* @param message - The SDK message to convert
|
|
13
|
+
* @param callback - The callback to invoke with stream events
|
|
14
|
+
* @param isStreaming - Whether streaming mode is enabled (includePartialMessages=true).
|
|
15
|
+
* When true, text from 'assistant' messages is skipped because
|
|
16
|
+
* it was already displayed via 'stream_event' deltas.
|
|
17
|
+
*/
|
|
18
|
+
export declare function sdkMessageToStreamEvent(message: SDKMessage, callback: StreamCallback, isStreaming: boolean): void;
|
|
19
|
+
//# sourceMappingURL=stream-converter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-converter.d.ts","sourceRoot":"","sources":["../../src/claude/stream-converter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,UAAU,EAMX,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAuEjD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,OAAO,GACnB,IAAI,CA4GN"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SDK message to stream event converter
|
|
3
|
+
*
|
|
4
|
+
* Converts Claude Agent SDK messages to the internal stream event format
|
|
5
|
+
* for backward compatibility with the streaming display system.
|
|
6
|
+
*/
|
|
7
|
+
/** Type guard for thinking delta */
|
|
8
|
+
function isThinkingDelta(delta) {
|
|
9
|
+
return (typeof delta === 'object' &&
|
|
10
|
+
delta !== null &&
|
|
11
|
+
'type' in delta &&
|
|
12
|
+
delta.type === 'thinking_delta' &&
|
|
13
|
+
'thinking' in delta &&
|
|
14
|
+
typeof delta.thinking === 'string');
|
|
15
|
+
}
|
|
16
|
+
/** Type guard for text delta */
|
|
17
|
+
function isTextDelta(delta) {
|
|
18
|
+
return (typeof delta === 'object' &&
|
|
19
|
+
delta !== null &&
|
|
20
|
+
'type' in delta &&
|
|
21
|
+
delta.type === 'text_delta' &&
|
|
22
|
+
'text' in delta &&
|
|
23
|
+
typeof delta.text === 'string');
|
|
24
|
+
}
|
|
25
|
+
/** Extract tool result content from SDK user message */
|
|
26
|
+
function extractToolResultContent(toolResult) {
|
|
27
|
+
if (!toolResult || typeof toolResult !== 'object') {
|
|
28
|
+
return { content: String(toolResult ?? ''), isError: false };
|
|
29
|
+
}
|
|
30
|
+
const result = toolResult;
|
|
31
|
+
const isError = !!result.is_error;
|
|
32
|
+
// Handle stdout/stderr format (Bash, etc.)
|
|
33
|
+
if (result.stdout !== undefined || result.stderr !== undefined) {
|
|
34
|
+
const stdout = String(result.stdout ?? '');
|
|
35
|
+
const stderr = String(result.stderr ?? '');
|
|
36
|
+
return {
|
|
37
|
+
content: isError ? (stderr || stdout) : stdout,
|
|
38
|
+
isError,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
// Handle content format (Read, Glob, Grep, etc.)
|
|
42
|
+
if (result.content !== undefined) {
|
|
43
|
+
return {
|
|
44
|
+
content: String(result.content),
|
|
45
|
+
isError,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
// Fallback: stringify the result
|
|
49
|
+
return {
|
|
50
|
+
content: JSON.stringify(toolResult),
|
|
51
|
+
isError,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Convert SDK message to stream event for backward compatibility.
|
|
56
|
+
*
|
|
57
|
+
* @param message - The SDK message to convert
|
|
58
|
+
* @param callback - The callback to invoke with stream events
|
|
59
|
+
* @param isStreaming - Whether streaming mode is enabled (includePartialMessages=true).
|
|
60
|
+
* When true, text from 'assistant' messages is skipped because
|
|
61
|
+
* it was already displayed via 'stream_event' deltas.
|
|
62
|
+
*/
|
|
63
|
+
export function sdkMessageToStreamEvent(message, callback, isStreaming) {
|
|
64
|
+
switch (message.type) {
|
|
65
|
+
case 'system': {
|
|
66
|
+
const sysMsg = message;
|
|
67
|
+
if (sysMsg.subtype === 'init') {
|
|
68
|
+
callback({
|
|
69
|
+
type: 'init',
|
|
70
|
+
data: {
|
|
71
|
+
model: sysMsg.model,
|
|
72
|
+
sessionId: sysMsg.session_id,
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
case 'assistant': {
|
|
79
|
+
const assistantMsg = message;
|
|
80
|
+
for (const block of assistantMsg.message.content) {
|
|
81
|
+
if (block.type === 'text') {
|
|
82
|
+
// Skip text blocks when streaming is enabled - they were already
|
|
83
|
+
// displayed via stream_event deltas. Only emit for non-streaming mode.
|
|
84
|
+
if (!isStreaming) {
|
|
85
|
+
callback({
|
|
86
|
+
type: 'text',
|
|
87
|
+
data: { text: block.text },
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
else if (block.type === 'tool_use') {
|
|
92
|
+
callback({
|
|
93
|
+
type: 'tool_use',
|
|
94
|
+
data: {
|
|
95
|
+
tool: block.name,
|
|
96
|
+
input: block.input,
|
|
97
|
+
id: block.id,
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
case 'user': {
|
|
105
|
+
// Handle tool execution results
|
|
106
|
+
const userMsg = message;
|
|
107
|
+
if (userMsg.tool_use_result !== undefined) {
|
|
108
|
+
const { content, isError } = extractToolResultContent(userMsg.tool_use_result);
|
|
109
|
+
callback({
|
|
110
|
+
type: 'tool_result',
|
|
111
|
+
data: { content, isError },
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
case 'result': {
|
|
117
|
+
const resultMsg = message;
|
|
118
|
+
callback({
|
|
119
|
+
type: 'result',
|
|
120
|
+
data: {
|
|
121
|
+
result: resultMsg.subtype === 'success' ? resultMsg.result : '',
|
|
122
|
+
sessionId: resultMsg.session_id,
|
|
123
|
+
success: resultMsg.subtype === 'success',
|
|
124
|
+
},
|
|
125
|
+
});
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
case 'stream_event': {
|
|
129
|
+
// Handle partial/streaming messages for real-time output.
|
|
130
|
+
// Note: 'assistant' messages contain the final complete content,
|
|
131
|
+
// while 'stream_event' provides incremental deltas during streaming.
|
|
132
|
+
// Both paths don't duplicate because:
|
|
133
|
+
// - stream_event: fires during streaming for real-time display
|
|
134
|
+
// - assistant: fires after streaming completes with full message
|
|
135
|
+
// We only use stream_event for thinking (not available in final message)
|
|
136
|
+
// and for real-time text display during streaming.
|
|
137
|
+
const streamMsg = message;
|
|
138
|
+
const event = streamMsg.event;
|
|
139
|
+
// Guard: ensure event exists and has expected structure
|
|
140
|
+
if (!event || typeof event !== 'object' || !('type' in event)) {
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
// Handle content block delta events
|
|
144
|
+
if (event.type === 'content_block_delta' && 'delta' in event) {
|
|
145
|
+
const delta = event.delta;
|
|
146
|
+
// Thinking delta (Claude's internal reasoning)
|
|
147
|
+
if (isThinkingDelta(delta)) {
|
|
148
|
+
callback({
|
|
149
|
+
type: 'thinking',
|
|
150
|
+
data: { thinking: delta.thinking },
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
// Text delta - only emit for streaming display
|
|
154
|
+
// The 'assistant' case handles the final complete text
|
|
155
|
+
else if (isTextDelta(delta)) {
|
|
156
|
+
callback({
|
|
157
|
+
type: 'text',
|
|
158
|
+
data: { text: delta.text },
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=stream-converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-converter.js","sourceRoot":"","sources":["../../src/claude/stream-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for Claude SDK integration
|
|
3
|
+
*
|
|
4
|
+
* Contains stream event types, callback types, and result types
|
|
5
|
+
* used throughout the Claude integration layer.
|
|
6
|
+
*/
|
|
7
|
+
import type { PermissionResult, PermissionUpdate } from '@anthropic-ai/claude-agent-sdk';
|
|
8
|
+
export type { PermissionResult, PermissionUpdate };
|
|
9
|
+
/** Stream event data types (for backward compatibility) */
|
|
10
|
+
export interface InitEventData {
|
|
11
|
+
model: string;
|
|
12
|
+
sessionId: string;
|
|
13
|
+
}
|
|
14
|
+
export interface ToolUseEventData {
|
|
15
|
+
tool: string;
|
|
16
|
+
input: Record<string, unknown>;
|
|
17
|
+
id: string;
|
|
18
|
+
}
|
|
19
|
+
export interface ToolResultEventData {
|
|
20
|
+
content: string;
|
|
21
|
+
isError: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface TextEventData {
|
|
24
|
+
text: string;
|
|
25
|
+
}
|
|
26
|
+
export interface ThinkingEventData {
|
|
27
|
+
thinking: string;
|
|
28
|
+
}
|
|
29
|
+
export interface ResultEventData {
|
|
30
|
+
result: string;
|
|
31
|
+
sessionId: string;
|
|
32
|
+
success: boolean;
|
|
33
|
+
}
|
|
34
|
+
export interface ErrorEventData {
|
|
35
|
+
message: string;
|
|
36
|
+
raw?: string;
|
|
37
|
+
}
|
|
38
|
+
/** Stream event (discriminated union) */
|
|
39
|
+
export type StreamEvent = {
|
|
40
|
+
type: 'init';
|
|
41
|
+
data: InitEventData;
|
|
42
|
+
} | {
|
|
43
|
+
type: 'tool_use';
|
|
44
|
+
data: ToolUseEventData;
|
|
45
|
+
} | {
|
|
46
|
+
type: 'tool_result';
|
|
47
|
+
data: ToolResultEventData;
|
|
48
|
+
} | {
|
|
49
|
+
type: 'text';
|
|
50
|
+
data: TextEventData;
|
|
51
|
+
} | {
|
|
52
|
+
type: 'thinking';
|
|
53
|
+
data: ThinkingEventData;
|
|
54
|
+
} | {
|
|
55
|
+
type: 'result';
|
|
56
|
+
data: ResultEventData;
|
|
57
|
+
} | {
|
|
58
|
+
type: 'error';
|
|
59
|
+
data: ErrorEventData;
|
|
60
|
+
};
|
|
61
|
+
/** Callback for streaming events */
|
|
62
|
+
export type StreamCallback = (event: StreamEvent) => void;
|
|
63
|
+
/** Permission request info passed to handler */
|
|
64
|
+
export interface PermissionRequest {
|
|
65
|
+
toolName: string;
|
|
66
|
+
input: Record<string, unknown>;
|
|
67
|
+
suggestions?: PermissionUpdate[];
|
|
68
|
+
blockedPath?: string;
|
|
69
|
+
decisionReason?: string;
|
|
70
|
+
}
|
|
71
|
+
/** Permission handler callback type */
|
|
72
|
+
export type PermissionHandler = (request: PermissionRequest) => Promise<PermissionResult>;
|
|
73
|
+
/** AskUserQuestion tool input */
|
|
74
|
+
export interface AskUserQuestionInput {
|
|
75
|
+
questions: Array<{
|
|
76
|
+
question: string;
|
|
77
|
+
header?: string;
|
|
78
|
+
options?: Array<{
|
|
79
|
+
label: string;
|
|
80
|
+
description?: string;
|
|
81
|
+
}>;
|
|
82
|
+
multiSelect?: boolean;
|
|
83
|
+
}>;
|
|
84
|
+
}
|
|
85
|
+
/** AskUserQuestion handler callback type */
|
|
86
|
+
export type AskUserQuestionHandler = (input: AskUserQuestionInput) => Promise<Record<string, string>>;
|
|
87
|
+
/** Result from Claude execution */
|
|
88
|
+
export interface ClaudeResult {
|
|
89
|
+
success: boolean;
|
|
90
|
+
content: string;
|
|
91
|
+
sessionId?: string;
|
|
92
|
+
error?: string;
|
|
93
|
+
interrupted?: boolean;
|
|
94
|
+
}
|
|
95
|
+
/** Extended result with query ID for concurrent execution */
|
|
96
|
+
export interface ClaudeResultWithQueryId extends ClaudeResult {
|
|
97
|
+
queryId: string;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/claude/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/claude/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent execution utilities for CLI
|
|
3
|
+
*/
|
|
4
|
+
import type { AgentResponse } from '../models/types.js';
|
|
5
|
+
/** Result of agent execution */
|
|
6
|
+
export interface AgentExecutionResult {
|
|
7
|
+
success: boolean;
|
|
8
|
+
response?: AgentResponse;
|
|
9
|
+
error?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Run an agent with session persistence.
|
|
13
|
+
* Handles session loading, streaming display, and session saving.
|
|
14
|
+
*/
|
|
15
|
+
export declare function runAgentWithSession(agent: string, task: string, cwd: string): Promise<AgentExecutionResult>;
|
|
16
|
+
//# sourceMappingURL=agentExecution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentExecution.d.ts","sourceRoot":"","sources":["../../src/cli/agentExecution.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIxD,gCAAgC;AAChC,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,oBAAoB,CAAC,CA6B/B"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent execution utilities for CLI
|
|
3
|
+
*/
|
|
4
|
+
import { runAgent } from '../agents/runner.js';
|
|
5
|
+
import { loadAgentSessions, updateAgentSession } from '../config/paths.js';
|
|
6
|
+
import { StreamDisplay, status, error as showError } from '../utils/ui.js';
|
|
7
|
+
import { createLogger } from '../utils/debug.js';
|
|
8
|
+
const log = createLogger('cli:agent');
|
|
9
|
+
/**
|
|
10
|
+
* Run an agent with session persistence.
|
|
11
|
+
* Handles session loading, streaming display, and session saving.
|
|
12
|
+
*/
|
|
13
|
+
export async function runAgentWithSession(agent, task, cwd) {
|
|
14
|
+
const display = new StreamDisplay(agent);
|
|
15
|
+
const savedSessions = loadAgentSessions(cwd);
|
|
16
|
+
try {
|
|
17
|
+
const response = await runAgent(agent, task, {
|
|
18
|
+
cwd,
|
|
19
|
+
sessionId: savedSessions[agent],
|
|
20
|
+
onStream: display.createHandler(),
|
|
21
|
+
});
|
|
22
|
+
if (response.sessionId) {
|
|
23
|
+
updateAgentSession(cwd, agent, response.sessionId);
|
|
24
|
+
}
|
|
25
|
+
display.flushThinking();
|
|
26
|
+
display.flushText();
|
|
27
|
+
console.log();
|
|
28
|
+
status('Status', response.status, response.status === 'done' || response.status === 'approved' ? 'green' : 'yellow');
|
|
29
|
+
return { success: true, response };
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
display.flushThinking();
|
|
33
|
+
display.flushText();
|
|
34
|
+
const errorMsg = err instanceof Error ? err.message : String(err);
|
|
35
|
+
log.error('Agent execution failed', { agent, error: errorMsg });
|
|
36
|
+
showError(errorMsg);
|
|
37
|
+
return { success: false, error: errorMsg };
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=agentExecution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentExecution.js","sourceRoot":"","sources":["../../src/cli/agentExecution.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAStC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAa,EACb,IAAY,EACZ,GAAW;IAEX,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;YAC3C,GAAG;YACH,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC;YAC/B,QAAQ,EAAE,OAAO,CAAC,aAAa,EAAE;SAClC,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACvB,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,CAAC,aAAa,EAAE,CAAC;QACxB,OAAO,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAErH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,aAAa,EAAE,CAAC;QACxB,OAAO,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClE,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChE,SAAS,CAAC,QAAQ,CAAC,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC7C,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,wBAAgB,QAAQ,IAAI,IAAI,CAsC/B"}
|
package/dist/cli/help.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Help display for CLI
|
|
3
|
+
*/
|
|
4
|
+
import { header, info } from '../utils/ui.js';
|
|
5
|
+
import { getDebugLogFile } from '../utils/debug.js';
|
|
6
|
+
/**
|
|
7
|
+
* Show help information
|
|
8
|
+
*/
|
|
9
|
+
export function showHelp() {
|
|
10
|
+
header('Wolf - Multi-agent Orchestration');
|
|
11
|
+
console.log(`
|
|
12
|
+
Usage:
|
|
13
|
+
wolf {task} Execute task with default workflow
|
|
14
|
+
wolf /tasks Run all pending tasks from .wolf/tasks/
|
|
15
|
+
wolf /clear Clear agent conversation sessions
|
|
16
|
+
wolf /help Show this help
|
|
17
|
+
|
|
18
|
+
Options:
|
|
19
|
+
-w, --workflow <name> Use specific workflow
|
|
20
|
+
-a, --agent <name> Run single agent
|
|
21
|
+
--list-agents List available agents
|
|
22
|
+
--list-workflows List available workflows
|
|
23
|
+
--setup Initialize project with .wolf/ directory
|
|
24
|
+
--trust-cwd Trust current directory for permissions
|
|
25
|
+
-v, --verbose Enable verbose output
|
|
26
|
+
|
|
27
|
+
Examples:
|
|
28
|
+
wolf "Fix the bug in main.ts"
|
|
29
|
+
wolf "Add unit tests" -w test-workflow
|
|
30
|
+
wolf /tasks
|
|
31
|
+
wolf --agent coder "Refactor this function"
|
|
32
|
+
|
|
33
|
+
Task Files:
|
|
34
|
+
Place task files in .wolf/tasks/*.md
|
|
35
|
+
Each file becomes a task that can be run with /tasks
|
|
36
|
+
|
|
37
|
+
Agent Sessions:
|
|
38
|
+
Conversation history is preserved per-agent
|
|
39
|
+
Use /clear to reset all sessions
|
|
40
|
+
`);
|
|
41
|
+
const debugLogFile = getDebugLogFile();
|
|
42
|
+
if (debugLogFile) {
|
|
43
|
+
info(`Debug log: ${debugLogFile}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=help.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,MAAM,UAAU,QAAQ;IACtB,MAAM,CAAC,kCAAkC,CAAC,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Bb,CAAC,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,CAAC,cAAc,YAAY,EAAE,CAAC,CAAC;IACrC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI module exports
|
|
3
|
+
*/
|
|
4
|
+
export { runAgentWithSession, type AgentExecutionResult } from './agentExecution.js';
|
|
5
|
+
export { executeWorkflow, executeTask, type WorkflowExecutionResult } from './workflowExecution.js';
|
|
6
|
+
export { runAllTasks } from './taskBatch.js';
|
|
7
|
+
export { showHelp } from './help.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI module exports
|
|
3
|
+
*/
|
|
4
|
+
export { runAgentWithSession } from './agentExecution.js';
|
|
5
|
+
export { executeWorkflow, executeTask } from './workflowExecution.js';
|
|
6
|
+
export { runAllTasks } from './taskBatch.js';
|
|
7
|
+
export { showHelp } from './help.js';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAA6B,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,WAAW,EAAgC,MAAM,wBAAwB,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC"}
|