@octo-cyber/ai 0.5.5 → 0.5.7
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/dist/BranchDecisionEngine.d.ts +73 -0
- package/dist/BranchDecisionEngine.d.ts.map +1 -0
- package/dist/BranchDecisionEngine.js +195 -0
- package/dist/BranchDecisionEngine.js.map +1 -0
- package/dist/agent/coding-tools.d.ts +7 -0
- package/dist/agent/coding-tools.d.ts.map +1 -0
- package/dist/agent/coding-tools.js +181 -0
- package/dist/agent/coding-tools.js.map +1 -0
- package/dist/ai.module.d.ts +14 -2
- package/dist/ai.module.d.ts.map +1 -1
- package/dist/ai.module.js +61 -14
- package/dist/ai.module.js.map +1 -1
- package/dist/cli/adapters/antigravity.adapter.d.ts +2 -0
- package/dist/cli/adapters/antigravity.adapter.d.ts.map +1 -1
- package/dist/cli/adapters/antigravity.adapter.js +78 -0
- package/dist/cli/adapters/antigravity.adapter.js.map +1 -1
- package/dist/cli/adapters/claude-cli.adapter.d.ts.map +1 -1
- package/dist/cli/adapters/claude-cli.adapter.js +2 -0
- package/dist/cli/adapters/claude-cli.adapter.js.map +1 -1
- package/dist/cli/adapters/cli-proxy-api.adapter.d.ts +32 -0
- package/dist/cli/adapters/cli-proxy-api.adapter.d.ts.map +1 -0
- package/dist/cli/adapters/cli-proxy-api.adapter.js +239 -0
- package/dist/cli/adapters/cli-proxy-api.adapter.js.map +1 -0
- package/dist/cli/cli-executor.service.d.ts +2 -0
- package/dist/cli/cli-executor.service.d.ts.map +1 -1
- package/dist/cli/cli-executor.service.js +21 -1
- package/dist/cli/cli-executor.service.js.map +1 -1
- package/dist/cli/cli-registry.service.d.ts.map +1 -1
- package/dist/cli/cli-registry.service.js +3 -1
- package/dist/cli/cli-registry.service.js.map +1 -1
- package/dist/cli/controllers/ai-cli.controller.d.ts +4 -0
- package/dist/cli/controllers/ai-cli.controller.d.ts.map +1 -1
- package/dist/cli/controllers/ai-cli.controller.js +33 -4
- package/dist/cli/controllers/ai-cli.controller.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/types.d.ts +23 -1
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/workspace.service.d.ts +11 -3
- package/dist/cli/workspace.service.d.ts.map +1 -1
- package/dist/cli/workspace.service.js +61 -6
- package/dist/cli/workspace.service.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -1
- package/dist/index.js.map +1 -1
- package/dist/session/claude-code-session-manager.service.d.ts +28 -0
- package/dist/session/claude-code-session-manager.service.d.ts.map +1 -0
- package/dist/session/claude-code-session-manager.service.js +177 -0
- package/dist/session/claude-code-session-manager.service.js.map +1 -0
- package/dist/shared/IClaudeCodeSessionManager.d.ts +151 -0
- package/dist/shared/IClaudeCodeSessionManager.d.ts.map +1 -0
- package/dist/shared/IClaudeCodeSessionManager.js +6 -0
- package/dist/shared/IClaudeCodeSessionManager.js.map +1 -0
- package/dist/skill/controllers/skill-market.controller.d.ts +18 -0
- package/dist/skill/controllers/skill-market.controller.d.ts.map +1 -0
- package/dist/skill/controllers/skill-market.controller.js +128 -0
- package/dist/skill/controllers/skill-market.controller.js.map +1 -0
- package/dist/skill/controllers/skill.controller.d.ts +4 -0
- package/dist/skill/controllers/skill.controller.d.ts.map +1 -1
- package/dist/skill/controllers/skill.controller.js +31 -0
- package/dist/skill/controllers/skill.controller.js.map +1 -1
- package/dist/skill/index.d.ts +3 -1
- package/dist/skill/index.d.ts.map +1 -1
- package/dist/skill/index.js +5 -1
- package/dist/skill/index.js.map +1 -1
- package/dist/skill/services/skill-installer.service.d.ts +27 -0
- package/dist/skill/services/skill-installer.service.d.ts.map +1 -1
- package/dist/skill/services/skill-installer.service.js +108 -0
- package/dist/skill/services/skill-installer.service.js.map +1 -1
- package/dist/skill/services/skill-market.service.d.ts +60 -0
- package/dist/skill/services/skill-market.service.d.ts.map +1 -0
- package/dist/skill/services/skill-market.service.js +244 -0
- package/dist/skill/services/skill-market.service.js.map +1 -0
- package/dist/skill/services/skill-registry.service.js +4 -4
- package/dist/skill/services/skill-registry.service.js.map +1 -1
- package/dist/skill/types.d.ts +32 -1
- package/dist/skill/types.d.ts.map +1 -1
- package/dist/src/BranchDecisionEngine.d.ts +73 -0
- package/dist/src/BranchDecisionEngine.d.ts.map +1 -0
- package/dist/src/BranchDecisionEngine.js +195 -0
- package/dist/src/BranchDecisionEngine.js.map +1 -0
- package/dist/src/agent/agent-approval.controller.d.ts +20 -0
- package/dist/src/agent/agent-approval.controller.d.ts.map +1 -0
- package/dist/src/agent/agent-approval.controller.js +101 -0
- package/dist/src/agent/agent-approval.controller.js.map +1 -0
- package/dist/src/agent/agent-approval.entity.d.ts +15 -0
- package/dist/src/agent/agent-approval.entity.d.ts.map +1 -0
- package/dist/src/agent/agent-approval.entity.js +63 -0
- package/dist/src/agent/agent-approval.entity.js.map +1 -0
- package/dist/src/agent/agent-approval.service.d.ts +35 -0
- package/dist/src/agent/agent-approval.service.d.ts.map +1 -0
- package/dist/src/agent/agent-approval.service.js +109 -0
- package/dist/src/agent/agent-approval.service.js.map +1 -0
- package/dist/src/agent/agent-gateway.controller.d.ts +30 -0
- package/dist/src/agent/agent-gateway.controller.d.ts.map +1 -0
- package/dist/src/agent/agent-gateway.controller.js +112 -0
- package/dist/src/agent/agent-gateway.controller.js.map +1 -0
- package/dist/src/agent/agent-gateway.service.d.ts +33 -0
- package/dist/src/agent/agent-gateway.service.d.ts.map +1 -0
- package/dist/src/agent/agent-gateway.service.js +84 -0
- package/dist/src/agent/agent-gateway.service.js.map +1 -0
- package/dist/src/agent/agent-registry.service.d.ts +30 -0
- package/dist/src/agent/agent-registry.service.d.ts.map +1 -0
- package/dist/src/agent/agent-registry.service.js +45 -0
- package/dist/src/agent/agent-registry.service.js.map +1 -0
- package/dist/src/agent/agent-run-persistence.service.d.ts +82 -0
- package/dist/src/agent/agent-run-persistence.service.d.ts.map +1 -0
- package/dist/src/agent/agent-run-persistence.service.js +171 -0
- package/dist/src/agent/agent-run-persistence.service.js.map +1 -0
- package/dist/src/agent/agent-run-step.entity.d.ts +23 -0
- package/dist/src/agent/agent-run-step.entity.d.ts.map +1 -0
- package/dist/src/agent/agent-run-step.entity.js +76 -0
- package/dist/src/agent/agent-run-step.entity.js.map +1 -0
- package/dist/src/agent/agent-run.controller.d.ts +42 -0
- package/dist/src/agent/agent-run.controller.d.ts.map +1 -0
- package/dist/src/agent/agent-run.controller.js +195 -0
- package/dist/src/agent/agent-run.controller.js.map +1 -0
- package/dist/src/agent/agent-run.entity.d.ts +35 -0
- package/dist/src/agent/agent-run.entity.d.ts.map +1 -0
- package/dist/src/agent/agent-run.entity.js +98 -0
- package/dist/src/agent/agent-run.entity.js.map +1 -0
- package/dist/src/agent/agent-run.service.d.ts +48 -0
- package/dist/src/agent/agent-run.service.d.ts.map +1 -0
- package/dist/src/agent/agent-run.service.js +155 -0
- package/dist/src/agent/agent-run.service.js.map +1 -0
- package/dist/src/agent/agent-session.controller.d.ts +20 -0
- package/dist/src/agent/agent-session.controller.d.ts.map +1 -0
- package/dist/src/agent/agent-session.controller.js +97 -0
- package/dist/src/agent/agent-session.controller.js.map +1 -0
- package/dist/src/agent/agent-session.entity.d.ts +13 -0
- package/dist/src/agent/agent-session.entity.d.ts.map +1 -0
- package/dist/src/agent/agent-session.entity.js +57 -0
- package/dist/src/agent/agent-session.entity.js.map +1 -0
- package/dist/src/agent/agent-session.service.d.ts +38 -0
- package/dist/src/agent/agent-session.service.d.ts.map +1 -0
- package/dist/src/agent/agent-session.service.js +112 -0
- package/dist/src/agent/agent-session.service.js.map +1 -0
- package/dist/src/agent/coding-tools.d.ts +7 -0
- package/dist/src/agent/coding-tools.d.ts.map +1 -0
- package/dist/src/agent/coding-tools.js +181 -0
- package/dist/src/agent/coding-tools.js.map +1 -0
- package/dist/src/agent/computer-use-tools.d.ts +15 -0
- package/dist/src/agent/computer-use-tools.d.ts.map +1 -0
- package/dist/src/agent/computer-use-tools.js +256 -0
- package/dist/src/agent/computer-use-tools.js.map +1 -0
- package/dist/src/agent/external-agent.controller.d.ts +41 -0
- package/dist/src/agent/external-agent.controller.d.ts.map +1 -0
- package/dist/src/agent/external-agent.controller.js +129 -0
- package/dist/src/agent/external-agent.controller.js.map +1 -0
- package/dist/src/agent/external-agent.entity.d.ts +22 -0
- package/dist/src/agent/external-agent.entity.d.ts.map +1 -0
- package/dist/src/agent/external-agent.entity.js +75 -0
- package/dist/src/agent/external-agent.entity.js.map +1 -0
- package/dist/src/agent/external-agent.service.d.ts +60 -0
- package/dist/src/agent/external-agent.service.d.ts.map +1 -0
- package/dist/src/agent/external-agent.service.js +143 -0
- package/dist/src/agent/external-agent.service.js.map +1 -0
- package/dist/src/ai.module.d.ts +22 -0
- package/dist/src/ai.module.d.ts.map +1 -0
- package/dist/src/ai.module.js +178 -0
- package/dist/src/ai.module.js.map +1 -0
- package/dist/src/cli/adapters/antigravity.adapter.d.ts +31 -0
- package/dist/src/cli/adapters/antigravity.adapter.d.ts.map +1 -0
- package/dist/src/cli/adapters/antigravity.adapter.js +248 -0
- package/dist/src/cli/adapters/antigravity.adapter.js.map +1 -0
- package/dist/src/cli/adapters/claude-cli.adapter.d.ts +23 -0
- package/dist/src/cli/adapters/claude-cli.adapter.d.ts.map +1 -0
- package/dist/src/cli/adapters/claude-cli.adapter.js +81 -0
- package/dist/src/cli/adapters/claude-cli.adapter.js.map +1 -0
- package/dist/src/cli/adapters/cli-proxy-api.adapter.d.ts +32 -0
- package/dist/src/cli/adapters/cli-proxy-api.adapter.d.ts.map +1 -0
- package/dist/src/cli/adapters/cli-proxy-api.adapter.js +239 -0
- package/dist/src/cli/adapters/cli-proxy-api.adapter.js.map +1 -0
- package/dist/src/cli/adapters/codex-cli.adapter.d.ts +22 -0
- package/dist/src/cli/adapters/codex-cli.adapter.d.ts.map +1 -0
- package/dist/src/cli/adapters/codex-cli.adapter.js +76 -0
- package/dist/src/cli/adapters/codex-cli.adapter.js.map +1 -0
- package/dist/src/cli/adapters/detect-cli.d.ts +11 -0
- package/dist/src/cli/adapters/detect-cli.d.ts.map +1 -0
- package/dist/src/cli/adapters/detect-cli.js +40 -0
- package/dist/src/cli/adapters/detect-cli.js.map +1 -0
- package/dist/src/cli/adapters/gemini-cli.adapter.d.ts +21 -0
- package/dist/src/cli/adapters/gemini-cli.adapter.d.ts.map +1 -0
- package/dist/src/cli/adapters/gemini-cli.adapter.js +72 -0
- package/dist/src/cli/adapters/gemini-cli.adapter.js.map +1 -0
- package/dist/src/cli/adapters/index.d.ts +4 -0
- package/dist/src/cli/adapters/index.d.ts.map +1 -0
- package/dist/src/cli/adapters/index.js +10 -0
- package/dist/src/cli/adapters/index.js.map +1 -0
- package/dist/src/cli/cli-executor.service.d.ts +25 -0
- package/dist/src/cli/cli-executor.service.d.ts.map +1 -0
- package/dist/src/cli/cli-executor.service.js +170 -0
- package/dist/src/cli/cli-executor.service.js.map +1 -0
- package/dist/src/cli/cli-registry.service.d.ts +38 -0
- package/dist/src/cli/cli-registry.service.d.ts.map +1 -0
- package/dist/src/cli/cli-registry.service.js +114 -0
- package/dist/src/cli/cli-registry.service.js.map +1 -0
- package/dist/src/cli/controllers/ai-cli.controller.d.ts +40 -0
- package/dist/src/cli/controllers/ai-cli.controller.d.ts.map +1 -0
- package/dist/src/cli/controllers/ai-cli.controller.js +208 -0
- package/dist/src/cli/controllers/ai-cli.controller.js.map +1 -0
- package/dist/src/cli/index.d.ts +8 -0
- package/dist/src/cli/index.d.ts.map +1 -0
- package/dist/src/cli/index.js +17 -0
- package/dist/src/cli/index.js.map +1 -0
- package/dist/src/cli/types.d.ts +153 -0
- package/dist/src/cli/types.d.ts.map +1 -0
- package/dist/src/cli/types.js +9 -0
- package/dist/src/cli/types.js.map +1 -0
- package/dist/src/cli/workspace.service.d.ts +42 -0
- package/dist/src/cli/workspace.service.d.ts.map +1 -0
- package/dist/src/cli/workspace.service.js +249 -0
- package/dist/src/cli/workspace.service.js.map +1 -0
- package/dist/src/computer-use/computer-use.controller.d.ts +23 -0
- package/dist/src/computer-use/computer-use.controller.d.ts.map +1 -0
- package/dist/src/computer-use/computer-use.controller.js +87 -0
- package/dist/src/computer-use/computer-use.controller.js.map +1 -0
- package/dist/src/index.d.ts +12 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +51 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/orchestrator/orchestrator-plan.entity.d.ts +31 -0
- package/dist/src/orchestrator/orchestrator-plan.entity.d.ts.map +1 -0
- package/dist/src/orchestrator/orchestrator-plan.entity.js +69 -0
- package/dist/src/orchestrator/orchestrator-plan.entity.js.map +1 -0
- package/dist/src/orchestrator/orchestrator-plan.service.d.ts +27 -0
- package/dist/src/orchestrator/orchestrator-plan.service.d.ts.map +1 -0
- package/dist/src/orchestrator/orchestrator-plan.service.js +201 -0
- package/dist/src/orchestrator/orchestrator-plan.service.js.map +1 -0
- package/dist/src/orchestrator/orchestrator.controller.d.ts +29 -0
- package/dist/src/orchestrator/orchestrator.controller.d.ts.map +1 -0
- package/dist/src/orchestrator/orchestrator.controller.js +144 -0
- package/dist/src/orchestrator/orchestrator.controller.js.map +1 -0
- package/dist/src/orchestrator/workflow-feedback.entity.d.ts +12 -0
- package/dist/src/orchestrator/workflow-feedback.entity.d.ts.map +1 -0
- package/dist/src/orchestrator/workflow-feedback.entity.js +49 -0
- package/dist/src/orchestrator/workflow-feedback.entity.js.map +1 -0
- package/dist/src/orchestrator/workflow-feedback.service.d.ts +14 -0
- package/dist/src/orchestrator/workflow-feedback.service.d.ts.map +1 -0
- package/dist/src/orchestrator/workflow-feedback.service.js +51 -0
- package/dist/src/orchestrator/workflow-feedback.service.js.map +1 -0
- package/dist/src/session/claude-code-session-manager.service.d.ts +28 -0
- package/dist/src/session/claude-code-session-manager.service.d.ts.map +1 -0
- package/dist/src/session/claude-code-session-manager.service.js +177 -0
- package/dist/src/session/claude-code-session-manager.service.js.map +1 -0
- package/dist/src/skill/controllers/skill-market.controller.d.ts +18 -0
- package/dist/src/skill/controllers/skill-market.controller.d.ts.map +1 -0
- package/dist/src/skill/controllers/skill-market.controller.js +128 -0
- package/dist/src/skill/controllers/skill-market.controller.js.map +1 -0
- package/dist/src/skill/controllers/skill.controller.d.ts +37 -0
- package/dist/src/skill/controllers/skill.controller.d.ts.map +1 -0
- package/dist/src/skill/controllers/skill.controller.js +295 -0
- package/dist/src/skill/controllers/skill.controller.js.map +1 -0
- package/dist/src/skill/entities/octo-skill.entity.d.ts +22 -0
- package/dist/src/skill/entities/octo-skill.entity.d.ts.map +1 -0
- package/dist/src/skill/entities/octo-skill.entity.js +91 -0
- package/dist/src/skill/entities/octo-skill.entity.js.map +1 -0
- package/dist/src/skill/index.d.ts +9 -0
- package/dist/src/skill/index.d.ts.map +1 -0
- package/dist/src/skill/index.js +21 -0
- package/dist/src/skill/index.js.map +1 -0
- package/dist/src/skill/services/skill-generator.service.d.ts +47 -0
- package/dist/src/skill/services/skill-generator.service.d.ts.map +1 -0
- package/dist/src/skill/services/skill-generator.service.js +232 -0
- package/dist/src/skill/services/skill-generator.service.js.map +1 -0
- package/dist/src/skill/services/skill-installer.service.d.ts +65 -0
- package/dist/src/skill/services/skill-installer.service.d.ts.map +1 -0
- package/dist/src/skill/services/skill-installer.service.js +258 -0
- package/dist/src/skill/services/skill-installer.service.js.map +1 -0
- package/dist/src/skill/services/skill-market-helpers.d.ts +25 -0
- package/dist/src/skill/services/skill-market-helpers.d.ts.map +1 -0
- package/dist/src/skill/services/skill-market-helpers.js +22 -0
- package/dist/src/skill/services/skill-market-helpers.js.map +1 -0
- package/dist/src/skill/services/skill-market-utils.d.ts +25 -0
- package/dist/src/skill/services/skill-market-utils.d.ts.map +1 -0
- package/dist/src/skill/services/skill-market-utils.js +22 -0
- package/dist/src/skill/services/skill-market-utils.js.map +1 -0
- package/dist/src/skill/services/skill-market.service.d.ts +60 -0
- package/dist/src/skill/services/skill-market.service.d.ts.map +1 -0
- package/dist/src/skill/services/skill-market.service.js +228 -0
- package/dist/src/skill/services/skill-market.service.js.map +1 -0
- package/dist/src/skill/services/skill-registry.service.d.ts +61 -0
- package/dist/src/skill/services/skill-registry.service.d.ts.map +1 -0
- package/dist/src/skill/services/skill-registry.service.js +159 -0
- package/dist/src/skill/services/skill-registry.service.js.map +1 -0
- package/dist/src/skill/types.d.ts +76 -0
- package/dist/src/skill/types.d.ts.map +1 -0
- package/dist/src/skill/types.js +6 -0
- package/dist/src/skill/types.js.map +1 -0
- package/dist/src/workflow-design/DocumentExtractorAgent.d.ts +47 -0
- package/dist/src/workflow-design/DocumentExtractorAgent.d.ts.map +1 -0
- package/dist/src/workflow-design/DocumentExtractorAgent.js +118 -0
- package/dist/src/workflow-design/DocumentExtractorAgent.js.map +1 -0
- package/dist/src/workflow-design/N8nNodeKnowledgeBase.d.ts +26 -0
- package/dist/src/workflow-design/N8nNodeKnowledgeBase.d.ts.map +1 -0
- package/dist/src/workflow-design/N8nNodeKnowledgeBase.js +362 -0
- package/dist/src/workflow-design/N8nNodeKnowledgeBase.js.map +1 -0
- package/dist/src/workflow-design/OctoAgentClient.d.ts +42 -0
- package/dist/src/workflow-design/OctoAgentClient.d.ts.map +1 -0
- package/dist/src/workflow-design/OctoAgentClient.js +191 -0
- package/dist/src/workflow-design/OctoAgentClient.js.map +1 -0
- package/dist/src/workflow-design/WorkflowAssembler.d.ts +10 -0
- package/dist/src/workflow-design/WorkflowAssembler.d.ts.map +1 -0
- package/dist/src/workflow-design/WorkflowAssembler.js +81 -0
- package/dist/src/workflow-design/WorkflowAssembler.js.map +1 -0
- package/dist/src/workflow-design/WorkflowDesignOrchestrator.d.ts +45 -0
- package/dist/src/workflow-design/WorkflowDesignOrchestrator.d.ts.map +1 -0
- package/dist/src/workflow-design/WorkflowDesignOrchestrator.js +265 -0
- package/dist/src/workflow-design/WorkflowDesignOrchestrator.js.map +1 -0
- package/dist/src/workflow-design/agents/ActionChainAgent.d.ts +9 -0
- package/dist/src/workflow-design/agents/ActionChainAgent.d.ts.map +1 -0
- package/dist/src/workflow-design/agents/ActionChainAgent.js +79 -0
- package/dist/src/workflow-design/agents/ActionChainAgent.js.map +1 -0
- package/dist/src/workflow-design/agents/CodeScriptAgent.d.ts +15 -0
- package/dist/src/workflow-design/agents/CodeScriptAgent.d.ts.map +1 -0
- package/dist/src/workflow-design/agents/CodeScriptAgent.js +96 -0
- package/dist/src/workflow-design/agents/CodeScriptAgent.js.map +1 -0
- package/dist/src/workflow-design/agents/LogicFlowAgent.d.ts +9 -0
- package/dist/src/workflow-design/agents/LogicFlowAgent.d.ts.map +1 -0
- package/dist/src/workflow-design/agents/LogicFlowAgent.js +78 -0
- package/dist/src/workflow-design/agents/LogicFlowAgent.js.map +1 -0
- package/dist/src/workflow-design/agents/TriggerAnalystAgent.d.ts +9 -0
- package/dist/src/workflow-design/agents/TriggerAnalystAgent.d.ts.map +1 -0
- package/dist/src/workflow-design/agents/TriggerAnalystAgent.js +65 -0
- package/dist/src/workflow-design/agents/TriggerAnalystAgent.js.map +1 -0
- package/dist/src/workflow-design/agents/WorkflowValidatorAgent.d.ts +9 -0
- package/dist/src/workflow-design/agents/WorkflowValidatorAgent.d.ts.map +1 -0
- package/dist/src/workflow-design/agents/WorkflowValidatorAgent.js +117 -0
- package/dist/src/workflow-design/agents/WorkflowValidatorAgent.js.map +1 -0
- package/dist/src/workflow-design/index.d.ts +12 -0
- package/dist/src/workflow-design/index.d.ts.map +1 -0
- package/dist/src/workflow-design/index.js +23 -0
- package/dist/src/workflow-design/index.js.map +1 -0
- package/dist/src/workflow-design/n8n-node-templates-data.d.ts +4 -0
- package/dist/src/workflow-design/n8n-node-templates-data.d.ts.map +1 -0
- package/dist/src/workflow-design/n8n-node-templates-data.js +290 -0
- package/dist/src/workflow-design/n8n-node-templates-data.js.map +1 -0
- package/dist/src/workflow-design/types.d.ts +155 -0
- package/dist/src/workflow-design/types.d.ts.map +1 -0
- package/dist/src/workflow-design/types.js +6 -0
- package/dist/src/workflow-design/types.js.map +1 -0
- package/dist/workflow-design/DocumentExtractorAgent.d.ts +47 -0
- package/dist/workflow-design/DocumentExtractorAgent.d.ts.map +1 -0
- package/dist/workflow-design/DocumentExtractorAgent.js +118 -0
- package/dist/workflow-design/DocumentExtractorAgent.js.map +1 -0
- package/dist/workflow-design/N8nNodeKnowledgeBase.d.ts +26 -0
- package/dist/workflow-design/N8nNodeKnowledgeBase.d.ts.map +1 -0
- package/dist/workflow-design/N8nNodeKnowledgeBase.js +320 -0
- package/dist/workflow-design/N8nNodeKnowledgeBase.js.map +1 -0
- package/dist/workflow-design/OctoAgentClient.d.ts +42 -0
- package/dist/workflow-design/OctoAgentClient.d.ts.map +1 -0
- package/dist/workflow-design/OctoAgentClient.js +166 -0
- package/dist/workflow-design/OctoAgentClient.js.map +1 -0
- package/dist/workflow-design/WorkflowDesignOrchestrator.d.ts +45 -0
- package/dist/workflow-design/WorkflowDesignOrchestrator.d.ts.map +1 -0
- package/dist/workflow-design/WorkflowDesignOrchestrator.js +265 -0
- package/dist/workflow-design/WorkflowDesignOrchestrator.js.map +1 -0
- package/dist/workflow-design/agents/ActionChainAgent.d.ts +9 -0
- package/dist/workflow-design/agents/ActionChainAgent.d.ts.map +1 -0
- package/dist/workflow-design/agents/ActionChainAgent.js +79 -0
- package/dist/workflow-design/agents/ActionChainAgent.js.map +1 -0
- package/dist/workflow-design/agents/CodeScriptAgent.d.ts +15 -0
- package/dist/workflow-design/agents/CodeScriptAgent.d.ts.map +1 -0
- package/dist/workflow-design/agents/CodeScriptAgent.js +96 -0
- package/dist/workflow-design/agents/CodeScriptAgent.js.map +1 -0
- package/dist/workflow-design/agents/LogicFlowAgent.d.ts +9 -0
- package/dist/workflow-design/agents/LogicFlowAgent.d.ts.map +1 -0
- package/dist/workflow-design/agents/LogicFlowAgent.js +78 -0
- package/dist/workflow-design/agents/LogicFlowAgent.js.map +1 -0
- package/dist/workflow-design/agents/TriggerAnalystAgent.d.ts +9 -0
- package/dist/workflow-design/agents/TriggerAnalystAgent.d.ts.map +1 -0
- package/dist/workflow-design/agents/TriggerAnalystAgent.js +65 -0
- package/dist/workflow-design/agents/TriggerAnalystAgent.js.map +1 -0
- package/dist/workflow-design/agents/WorkflowValidatorAgent.d.ts +9 -0
- package/dist/workflow-design/agents/WorkflowValidatorAgent.d.ts.map +1 -0
- package/dist/workflow-design/agents/WorkflowValidatorAgent.js +117 -0
- package/dist/workflow-design/agents/WorkflowValidatorAgent.js.map +1 -0
- package/dist/workflow-design/index.d.ts +12 -0
- package/dist/workflow-design/index.d.ts.map +1 -0
- package/dist/workflow-design/index.js +23 -0
- package/dist/workflow-design/index.js.map +1 -0
- package/dist/workflow-design/types.d.ts +155 -0
- package/dist/workflow-design/types.d.ts.map +1 -0
- package/dist/workflow-design/types.js +6 -0
- package/dist/workflow-design/types.js.map +1 -0
- package/package.json +21 -14
- package/web/components/CreateWorkspaceDialog.tsx +157 -0
- package/web/components/DirBrowser.tsx +85 -0
- package/web/components/GithubTokenDialog.tsx +152 -0
- package/web/components/LocalPathSection.tsx +91 -0
- package/web/components/MarketInstallDialog.tsx +196 -0
- package/web/components/MarketSkillCard.tsx +74 -0
- package/web/components/RepoList.tsx +97 -0
- package/web/components/SearchResultsGrid.tsx +55 -0
- package/web/components/SkillCard.tsx +4 -1
- package/web/components/ToolCard.tsx +88 -0
- package/web/components/WorkspaceCard.tsx +146 -0
- package/web/components/WorkspaceItem.tsx +65 -0
- package/web/components/WorkspaceSelect.tsx +94 -0
- package/web/dist/module.iife.js +254 -0
- package/web/dynamic-entry.tsx +94 -0
- package/web/index.ts +18 -1
- package/web/manifest.ts +7 -0
- package/web/messages/en-US.json +231 -7
- package/web/messages/zh-CN.json +234 -7
- package/web/pages/AgentMarketPage.tsx +318 -0
- package/web/pages/AgentRunsPage.tsx +162 -0
- package/web/pages/AgentsPage.tsx +239 -0
- package/web/pages/AiCliToolsPage.tsx +17 -128
- package/web/pages/ApprovalsPage.tsx +260 -0
- package/web/pages/OrchestratorPage.tsx +384 -0
- package/web/pages/SessionsPage.tsx +248 -0
- package/web/pages/SkillMarketPage.tsx +25 -0
- package/web/pages/WorkspaceSection.tsx +13 -113
- package/web/pages/WorkspacesPage.tsx +29 -254
- package/web/services/agent-approval.service.ts +35 -0
- package/web/services/agent-gateway.service.ts +41 -0
- package/web/services/agent-run.service.ts +48 -0
- package/web/services/agent-session.service.ts +30 -0
- package/web/services/ai-cli-service.ts +33 -0
- package/web/services/external-agent.service.ts +38 -0
- package/web/services/orchestrator.service.ts +52 -0
- package/web/services/skill-market-service.ts +88 -0
- package/web/services/skill-service.ts +12 -0
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WorkflowDesignOrchestrator = void 0;
|
|
4
|
+
const ActionChainAgent_js_1 = require("./agents/ActionChainAgent.js");
|
|
5
|
+
const CodeScriptAgent_js_1 = require("./agents/CodeScriptAgent.js");
|
|
6
|
+
const LogicFlowAgent_js_1 = require("./agents/LogicFlowAgent.js");
|
|
7
|
+
const TriggerAnalystAgent_js_1 = require("./agents/TriggerAnalystAgent.js");
|
|
8
|
+
const WorkflowValidatorAgent_js_1 = require("./agents/WorkflowValidatorAgent.js");
|
|
9
|
+
// ============================================================
|
|
10
|
+
// WorkflowDesignOrchestrator
|
|
11
|
+
// Main entry point. Maintains WorkflowDraft state and coordinates
|
|
12
|
+
// sub-agents through the 5-phase pipeline.
|
|
13
|
+
// ============================================================
|
|
14
|
+
class WorkflowDesignOrchestrator {
|
|
15
|
+
client;
|
|
16
|
+
draft;
|
|
17
|
+
triggerAgent;
|
|
18
|
+
actionAgent;
|
|
19
|
+
logicAgent;
|
|
20
|
+
codeAgent;
|
|
21
|
+
validatorAgent;
|
|
22
|
+
constructor(client) {
|
|
23
|
+
this.client = client;
|
|
24
|
+
this.triggerAgent = new TriggerAnalystAgent_js_1.TriggerAnalystAgent(client);
|
|
25
|
+
this.actionAgent = new ActionChainAgent_js_1.ActionChainAgent(client);
|
|
26
|
+
this.logicAgent = new LogicFlowAgent_js_1.LogicFlowAgent(client);
|
|
27
|
+
this.codeAgent = new CodeScriptAgent_js_1.CodeScriptAgent(client);
|
|
28
|
+
this.validatorAgent = new WorkflowValidatorAgent_js_1.WorkflowValidatorAgent(client);
|
|
29
|
+
this.draft = { intent: '', conversationHistory: [] };
|
|
30
|
+
}
|
|
31
|
+
// ============================================================
|
|
32
|
+
// Public API
|
|
33
|
+
// ============================================================
|
|
34
|
+
/**
|
|
35
|
+
* First call: design a brand-new workflow from user intent.
|
|
36
|
+
*/
|
|
37
|
+
async design(userMessage) {
|
|
38
|
+
this.draft.intent = userMessage;
|
|
39
|
+
this.draft.conversationHistory = [{ role: 'user', content: userMessage }];
|
|
40
|
+
await this.runFullPipeline();
|
|
41
|
+
if (!this.draft.finalWorkflow) {
|
|
42
|
+
throw new Error('WorkflowDesignOrchestrator: pipeline completed but finalWorkflow is not set');
|
|
43
|
+
}
|
|
44
|
+
return this.draft.finalWorkflow;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Subsequent calls: modify the existing workflow based on user follow-up.
|
|
48
|
+
* Only re-runs the sub-agents relevant to the detected modification scope.
|
|
49
|
+
*/
|
|
50
|
+
async modify(userMessage) {
|
|
51
|
+
this.draft.conversationHistory.push({ role: 'user', content: userMessage });
|
|
52
|
+
const modification = this.detectModificationScope(userMessage);
|
|
53
|
+
switch (modification.scope) {
|
|
54
|
+
case 'trigger':
|
|
55
|
+
await this.runPhase1();
|
|
56
|
+
break;
|
|
57
|
+
case 'actions':
|
|
58
|
+
await this.runPhase2Actions();
|
|
59
|
+
break;
|
|
60
|
+
case 'logic':
|
|
61
|
+
await this.runPhase2Logic();
|
|
62
|
+
break;
|
|
63
|
+
case 'code':
|
|
64
|
+
await this.runPhase3();
|
|
65
|
+
break;
|
|
66
|
+
case 'all':
|
|
67
|
+
await this.runFullPipeline();
|
|
68
|
+
return this.draft.finalWorkflow;
|
|
69
|
+
}
|
|
70
|
+
// Re-assemble and re-validate after partial update
|
|
71
|
+
await this.runPhase4And5();
|
|
72
|
+
if (!this.draft.finalWorkflow) {
|
|
73
|
+
throw new Error('WorkflowDesignOrchestrator: modification pipeline completed but finalWorkflow is not set');
|
|
74
|
+
}
|
|
75
|
+
return this.draft.finalWorkflow;
|
|
76
|
+
}
|
|
77
|
+
/** Access the current draft (for debugging / partial progress). */
|
|
78
|
+
getDraft() {
|
|
79
|
+
return this.draft;
|
|
80
|
+
}
|
|
81
|
+
/** Reset state for a new conversation. */
|
|
82
|
+
reset() {
|
|
83
|
+
this.draft = { intent: '', conversationHistory: [] };
|
|
84
|
+
}
|
|
85
|
+
// ============================================================
|
|
86
|
+
// Pipeline phases
|
|
87
|
+
// ============================================================
|
|
88
|
+
async runFullPipeline() {
|
|
89
|
+
await this.runPhase1();
|
|
90
|
+
await this.runPhase2();
|
|
91
|
+
await this.runPhase3();
|
|
92
|
+
await this.runPhase4And5();
|
|
93
|
+
}
|
|
94
|
+
/** Phase 1: TriggerAnalystAgent (serial) */
|
|
95
|
+
async runPhase1() {
|
|
96
|
+
const result = await this.triggerAgent.analyse(this.draft.intent, this.draft.conversationHistory);
|
|
97
|
+
this.draft.triggerSpec = result.spec;
|
|
98
|
+
}
|
|
99
|
+
/** Phase 2: ActionChainAgent + LogicFlowAgent (parallel) */
|
|
100
|
+
async runPhase2() {
|
|
101
|
+
await Promise.all([
|
|
102
|
+
this.runPhase2Actions(),
|
|
103
|
+
this.runPhase2Logic(),
|
|
104
|
+
]);
|
|
105
|
+
}
|
|
106
|
+
async runPhase2Actions() {
|
|
107
|
+
if (!this.draft.triggerSpec) {
|
|
108
|
+
await this.runPhase1();
|
|
109
|
+
}
|
|
110
|
+
const result = await this.actionAgent.design(this.draft.intent, this.draft.triggerSpec, this.draft.conversationHistory);
|
|
111
|
+
this.draft.actionSpecs = result.specs;
|
|
112
|
+
}
|
|
113
|
+
async runPhase2Logic() {
|
|
114
|
+
// LogicFlowAgent can run with an empty action list — it will return []
|
|
115
|
+
const actionSpecs = this.draft.actionSpecs ?? [];
|
|
116
|
+
const result = await this.logicAgent.design(this.draft.intent, actionSpecs, this.draft.conversationHistory);
|
|
117
|
+
this.draft.logicSpecs = result.specs;
|
|
118
|
+
}
|
|
119
|
+
/** Phase 3: CodeScriptAgent (conditional) */
|
|
120
|
+
async runPhase3() {
|
|
121
|
+
const actionSpecs = this.draft.actionSpecs ?? [];
|
|
122
|
+
const logicSpecs = this.draft.logicSpecs ?? [];
|
|
123
|
+
const hasCodeNodes = actionSpecs.some((s) => s.needsCodeGen);
|
|
124
|
+
if (!hasCodeNodes) {
|
|
125
|
+
this.draft.codeSpecs = {};
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
const result = await this.codeAgent.generate(actionSpecs, logicSpecs, this.draft.conversationHistory);
|
|
129
|
+
this.draft.codeSpecs = result.codes;
|
|
130
|
+
}
|
|
131
|
+
/** Phase 4: Assemble + Phase 5: Validate */
|
|
132
|
+
async runPhase4And5() {
|
|
133
|
+
const workflow = this.assembleWorkflow();
|
|
134
|
+
this.draft.finalWorkflow = workflow;
|
|
135
|
+
const validation = await this.runPhase5(workflow);
|
|
136
|
+
this.draft.validationErrors = validation.errors;
|
|
137
|
+
if (!validation.valid) {
|
|
138
|
+
await this.repairFromValidationErrors(validation);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/** Phase 5: WorkflowValidatorAgent */
|
|
142
|
+
async runPhase5(workflow) {
|
|
143
|
+
return this.validatorAgent.validate(workflow, this.draft.conversationHistory);
|
|
144
|
+
}
|
|
145
|
+
// ============================================================
|
|
146
|
+
// Workflow assembly (Phase 4)
|
|
147
|
+
// ============================================================
|
|
148
|
+
assembleWorkflow() {
|
|
149
|
+
const nodes = [];
|
|
150
|
+
const connections = {};
|
|
151
|
+
const triggerSpec = this.draft.triggerSpec;
|
|
152
|
+
if (!triggerSpec) {
|
|
153
|
+
throw new Error('Cannot assemble workflow: triggerSpec is missing');
|
|
154
|
+
}
|
|
155
|
+
// 1. Trigger node
|
|
156
|
+
const triggerId = 'trigger_0';
|
|
157
|
+
nodes.push(this.specToNode(triggerSpec, triggerId));
|
|
158
|
+
// 2. Build ordered list: merge actionSpecs and logicSpecs by insertAfterIndex
|
|
159
|
+
const actionSpecs = this.draft.actionSpecs ?? [];
|
|
160
|
+
const logicSpecs = this.draft.logicSpecs ?? [];
|
|
161
|
+
const ordered = this.mergeActionAndLogic(actionSpecs, logicSpecs);
|
|
162
|
+
// 3. Build nodes + connections in order
|
|
163
|
+
let prevNodeName = triggerSpec.name;
|
|
164
|
+
ordered.forEach((item, idx) => {
|
|
165
|
+
const nodeId = `node_${idx}`;
|
|
166
|
+
const node = this.specToNode(item, nodeId);
|
|
167
|
+
// Inject generated code if applicable
|
|
168
|
+
if ('needsCodeGen' in item && item.needsCodeGen && this.draft.codeSpecs) {
|
|
169
|
+
const codeKey = `action_${actionSpecs.indexOf(item)}`;
|
|
170
|
+
const code = this.draft.codeSpecs[codeKey];
|
|
171
|
+
if (code) {
|
|
172
|
+
node.parameters = { ...node.parameters, jsCode: code };
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
nodes.push(node);
|
|
176
|
+
// Connect previous → current
|
|
177
|
+
if (!connections[prevNodeName]) {
|
|
178
|
+
connections[prevNodeName] = { main: [[]] };
|
|
179
|
+
}
|
|
180
|
+
connections[prevNodeName].main[0].push({
|
|
181
|
+
node: node.name,
|
|
182
|
+
type: 'main',
|
|
183
|
+
index: 0,
|
|
184
|
+
});
|
|
185
|
+
prevNodeName = node.name;
|
|
186
|
+
});
|
|
187
|
+
return {
|
|
188
|
+
name: this.generateWorkflowName(),
|
|
189
|
+
nodes,
|
|
190
|
+
connections,
|
|
191
|
+
active: false,
|
|
192
|
+
settings: { executionOrder: 'v1' },
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
mergeActionAndLogic(actionSpecs, logicSpecs) {
|
|
196
|
+
const result = [...actionSpecs];
|
|
197
|
+
// Insert logic nodes at their specified positions (descending order to preserve indices)
|
|
198
|
+
const sorted = [...logicSpecs].sort((a, b) => b.insertAfterIndex - a.insertAfterIndex);
|
|
199
|
+
for (const logic of sorted) {
|
|
200
|
+
const insertAt = logic.insertAfterIndex + 1;
|
|
201
|
+
result.splice(insertAt, 0, logic);
|
|
202
|
+
}
|
|
203
|
+
return result;
|
|
204
|
+
}
|
|
205
|
+
specToNode(spec, id) {
|
|
206
|
+
return {
|
|
207
|
+
id,
|
|
208
|
+
name: spec.name,
|
|
209
|
+
type: spec.type,
|
|
210
|
+
typeVersion: 1,
|
|
211
|
+
position: [spec.position.x, spec.position.y],
|
|
212
|
+
parameters: spec.parameters,
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
generateWorkflowName() {
|
|
216
|
+
const words = this.draft.intent.split(/\s+/).slice(0, 5).join(' ');
|
|
217
|
+
return `Workflow: ${words}`;
|
|
218
|
+
}
|
|
219
|
+
// ============================================================
|
|
220
|
+
// Repair loop after validation errors
|
|
221
|
+
// ============================================================
|
|
222
|
+
async repairFromValidationErrors(validation) {
|
|
223
|
+
const MAX_REPAIR_ROUNDS = 2;
|
|
224
|
+
for (let round = 0; round < MAX_REPAIR_ROUNDS; round++) {
|
|
225
|
+
const errorSummary = validation.errors.join('; ');
|
|
226
|
+
// Classify which agents to re-run based on error messages
|
|
227
|
+
const needsTriggerRepair = /trigger/i.test(errorSummary);
|
|
228
|
+
const needsActionRepair = /node.*does not exist|missing.*name|duplicate/i.test(errorSummary);
|
|
229
|
+
if (needsTriggerRepair)
|
|
230
|
+
await this.runPhase1();
|
|
231
|
+
if (needsActionRepair) {
|
|
232
|
+
await this.runPhase2Actions();
|
|
233
|
+
await this.runPhase2Logic();
|
|
234
|
+
}
|
|
235
|
+
const repairedWorkflow = this.assembleWorkflow();
|
|
236
|
+
const reValidation = await this.runPhase5(repairedWorkflow);
|
|
237
|
+
this.draft.finalWorkflow = repairedWorkflow;
|
|
238
|
+
this.draft.validationErrors = reValidation.errors;
|
|
239
|
+
if (reValidation.valid)
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
// ============================================================
|
|
244
|
+
// Modification intent detection
|
|
245
|
+
// ============================================================
|
|
246
|
+
detectModificationScope(userMessage) {
|
|
247
|
+
const lower = userMessage.toLowerCase();
|
|
248
|
+
if (/trigger|schedule|cron|webhook|每.*分钟|定时|触发/.test(lower)) {
|
|
249
|
+
return { scope: 'trigger', description: userMessage };
|
|
250
|
+
}
|
|
251
|
+
if (/代码|code|script|function|函数/.test(lower)) {
|
|
252
|
+
return { scope: 'code', description: userMessage };
|
|
253
|
+
}
|
|
254
|
+
if (/if|条件|判断|分支|error|错误|merge|合并|switch/.test(lower)) {
|
|
255
|
+
return { scope: 'logic', description: userMessage };
|
|
256
|
+
}
|
|
257
|
+
if (/add|remove|delete|step|节点|加一步|删掉|新增|修改步骤/.test(lower)) {
|
|
258
|
+
return { scope: 'actions', description: userMessage };
|
|
259
|
+
}
|
|
260
|
+
// Default: full re-design
|
|
261
|
+
return { scope: 'all', description: userMessage };
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
exports.WorkflowDesignOrchestrator = WorkflowDesignOrchestrator;
|
|
265
|
+
//# sourceMappingURL=WorkflowDesignOrchestrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkflowDesignOrchestrator.js","sourceRoot":"","sources":["../../../src/workflow-design/WorkflowDesignOrchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { OctoAgentClient } from '../OctoAgentClient.js';
|
|
2
|
+
import type { ActionChainResult, Message, TriggerNodeSpec } from '../types.js';
|
|
3
|
+
export declare class ActionChainAgent {
|
|
4
|
+
private readonly client;
|
|
5
|
+
constructor(client: OctoAgentClient);
|
|
6
|
+
design(intent: string, triggerSpec: TriggerNodeSpec, history: Message[]): Promise<ActionChainResult>;
|
|
7
|
+
private validateAndNormalise;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=ActionChainAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionChainAgent.d.ts","sourceRoot":"","sources":["../../../../src/workflow-design/agents/ActionChainAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EACV,iBAAiB,EAEjB,OAAO,EACP,eAAe,EAChB,MAAM,aAAa,CAAC;AAqCrB,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAE9C,MAAM,CACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,eAAe,EAC5B,OAAO,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,iBAAiB,CAAC;IAuB7B,OAAO,CAAC,oBAAoB;CAiB7B"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ActionChainAgent = void 0;
|
|
4
|
+
const OctoAgentClient_js_1 = require("../OctoAgentClient.js");
|
|
5
|
+
const N8nNodeKnowledgeBase_js_1 = require("../N8nNodeKnowledgeBase.js");
|
|
6
|
+
// ============================================================
|
|
7
|
+
// ActionChainAgent
|
|
8
|
+
// Designs the main execution chain of action nodes for a workflow.
|
|
9
|
+
// Runs in parallel with LogicFlowAgent (Phase 2).
|
|
10
|
+
// ============================================================
|
|
11
|
+
const SYSTEM_PROMPT_BASE = `You are an n8n workflow action chain designer.
|
|
12
|
+
Your job is to design the sequence of action nodes that fulfil the user's workflow requirement.
|
|
13
|
+
You will be told what trigger node was chosen; your nodes come AFTER the trigger.
|
|
14
|
+
|
|
15
|
+
Rules:
|
|
16
|
+
- Respond with ONLY a JSON object inside a markdown json fence.
|
|
17
|
+
- The JSON must match this shape exactly:
|
|
18
|
+
{
|
|
19
|
+
"specs": [
|
|
20
|
+
{
|
|
21
|
+
"type": "<n8n node type>",
|
|
22
|
+
"name": "<display name>",
|
|
23
|
+
"parameters": { <params> },
|
|
24
|
+
"position": { "x": <number>, "y": 300 },
|
|
25
|
+
"dependsOn": "<name of upstream node or null>",
|
|
26
|
+
"needsCodeGen": <true|false>,
|
|
27
|
+
"codeDescription": "<optional description when needsCodeGen=true>"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"reasoning": "<brief explanation>"
|
|
31
|
+
}
|
|
32
|
+
- Start the first node's x at 460, increment by 220 for each subsequent node.
|
|
33
|
+
- Set "dependsOn" to the name of the preceding node (trigger or action).
|
|
34
|
+
First action node's dependsOn = the trigger node name.
|
|
35
|
+
- Mark "needsCodeGen": true for any Function/Code node, and provide "codeDescription".
|
|
36
|
+
- Use realistic, minimal parameters; leave credentials as empty strings.
|
|
37
|
+
- Include at most 8 action nodes.
|
|
38
|
+
`;
|
|
39
|
+
class ActionChainAgent {
|
|
40
|
+
client;
|
|
41
|
+
constructor(client) {
|
|
42
|
+
this.client = client;
|
|
43
|
+
}
|
|
44
|
+
async design(intent, triggerSpec, history) {
|
|
45
|
+
const categories = N8nNodeKnowledgeBase_js_1.N8nNodeKnowledgeBase.inferCategories(intent);
|
|
46
|
+
const actionCategories = categories.filter((c) => c !== 'trigger');
|
|
47
|
+
const system = [
|
|
48
|
+
{ type: 'text', text: SYSTEM_PROMPT_BASE },
|
|
49
|
+
N8nNodeKnowledgeBase_js_1.N8nNodeKnowledgeBase.buildCachedBlock(actionCategories),
|
|
50
|
+
];
|
|
51
|
+
const contextBlock = `Trigger node chosen: "${triggerSpec.name}" (type: ${triggerSpec.type})
|
|
52
|
+
|
|
53
|
+
Workflow requirement: ${intent}`;
|
|
54
|
+
const messages = [
|
|
55
|
+
...history,
|
|
56
|
+
{ role: 'user', content: contextBlock },
|
|
57
|
+
];
|
|
58
|
+
const reply = await this.client.singleCall(messages, system);
|
|
59
|
+
const result = OctoAgentClient_js_1.OctoAgentClient.parseJsonFromReply(reply);
|
|
60
|
+
return this.validateAndNormalise(result);
|
|
61
|
+
}
|
|
62
|
+
validateAndNormalise(result) {
|
|
63
|
+
if (!Array.isArray(result.specs)) {
|
|
64
|
+
throw new Error('ActionChainAgent: specs must be an array');
|
|
65
|
+
}
|
|
66
|
+
const specs = result.specs.map((s, idx) => ({
|
|
67
|
+
type: s.type || 'n8n-nodes-base.set',
|
|
68
|
+
name: s.name || `Step ${idx + 1}`,
|
|
69
|
+
parameters: s.parameters ?? {},
|
|
70
|
+
position: s.position ?? { x: 460 + idx * 220, y: 300 },
|
|
71
|
+
dependsOn: s.dependsOn ?? undefined,
|
|
72
|
+
needsCodeGen: s.needsCodeGen ?? false,
|
|
73
|
+
codeDescription: s.codeDescription ?? undefined,
|
|
74
|
+
}));
|
|
75
|
+
return { specs, reasoning: result.reasoning ?? '' };
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.ActionChainAgent = ActionChainAgent;
|
|
79
|
+
//# sourceMappingURL=ActionChainAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionChainAgent.js","sourceRoot":"","sources":["../../../../src/workflow-design/agents/ActionChainAgent.ts"],"names":[],"mappings":";;;AAAA,8DAAwD;AACxD,wEAAkE;AAQlE,+DAA+D;AAC/D,mBAAmB;AACnB,mEAAmE;AACnE,kDAAkD;AAClD,+DAA+D;AAE/D,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B1B,CAAC;AAEF,MAAa,gBAAgB;IACE;IAA7B,YAA6B,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAAG,CAAC;IAExD,KAAK,CAAC,MAAM,CACV,MAAc,EACd,WAA4B,EAC5B,OAAkB;QAElB,MAAM,UAAU,GAAG,8CAAoB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG;YACb,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE;YACnD,8CAAoB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;SACxD,CAAC;QAEF,MAAM,YAAY,GAAG,yBAAyB,WAAW,CAAC,IAAI,YAAY,WAAW,CAAC,IAAI;;wBAEtE,MAAM,EAAE,CAAC;QAE7B,MAAM,QAAQ,GAAc;YAC1B,GAAG,OAAO;YACV,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE;SACxC,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,oCAAe,CAAC,kBAAkB,CAAoB,KAAK,CAAC,CAAC;QAE5E,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEO,oBAAoB,CAAC,MAAyB;QACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,KAAK,GAAqB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5D,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,oBAAoB;YACpC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,QAAQ,GAAG,GAAG,CAAC,EAAE;YACjC,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;YAC9B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;YACtD,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS;YACnC,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,KAAK;YACrC,eAAe,EAAE,CAAC,CAAC,eAAe,IAAI,SAAS;SAChD,CAAC,CAAC,CAAC;QAEJ,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;IACtD,CAAC;CACF;AA/CD,4CA+CC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { OctoAgentClient } from '../OctoAgentClient.js';
|
|
2
|
+
import type { ActionNodeSpec, CodeScriptResult, LogicNodeSpec, Message } from '../types.js';
|
|
3
|
+
export declare class CodeScriptAgent {
|
|
4
|
+
private readonly client;
|
|
5
|
+
constructor(client: OctoAgentClient);
|
|
6
|
+
/**
|
|
7
|
+
* Generate code for all nodes marked needsCodeGen.
|
|
8
|
+
* @param actionSpecs Full action spec list (to find code nodes).
|
|
9
|
+
* @param logicSpecs Logic spec list (in case logic nodes also need code).
|
|
10
|
+
* @param history Conversation history for context.
|
|
11
|
+
*/
|
|
12
|
+
generate(actionSpecs: ActionNodeSpec[], logicSpecs: LogicNodeSpec[], history: Message[]): Promise<CodeScriptResult>;
|
|
13
|
+
private collectCodeRequests;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=CodeScriptAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeScriptAgent.d.ts","sourceRoot":"","sources":["../../../../src/workflow-design/agents/CodeScriptAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AA0C5F,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAEpD;;;;;OAKG;IACG,QAAQ,CACZ,WAAW,EAAE,cAAc,EAAE,EAC7B,UAAU,EAAE,aAAa,EAAE,EAC3B,OAAO,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,gBAAgB,CAAC;IA6B5B,OAAO,CAAC,mBAAmB;CAgC5B"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CodeScriptAgent = void 0;
|
|
4
|
+
const OctoAgentClient_js_1 = require("../OctoAgentClient.js");
|
|
5
|
+
// ============================================================
|
|
6
|
+
// CodeScriptAgent
|
|
7
|
+
// Generates JavaScript code snippets for Function/Code nodes.
|
|
8
|
+
// Only invoked when at least one node has needsCodeGen = true (Phase 3).
|
|
9
|
+
// ============================================================
|
|
10
|
+
const SYSTEM_PROMPT = `You are an n8n JavaScript code generator for Code nodes.
|
|
11
|
+
Your job is to write the body of n8n Code nodes based on a description of what the code should do.
|
|
12
|
+
|
|
13
|
+
SECURITY CONSTRAINTS (mandatory — never violate):
|
|
14
|
+
- Do NOT access external networks (no fetch, no require('http'), no require('https')) unless the user explicitly states the code must call an external API.
|
|
15
|
+
- Do NOT read or write local files (no fs module, no require('fs')).
|
|
16
|
+
- Do NOT execute child processes (no child_process, no exec, no spawn).
|
|
17
|
+
- Do NOT access environment variables beyond what n8n already injects.
|
|
18
|
+
|
|
19
|
+
n8n Code node context:
|
|
20
|
+
- Input items are available as: const items = $input.all(); or $input.first()
|
|
21
|
+
- Each item has: item.json, item.binary
|
|
22
|
+
- Return value must be an array of items: return items; or return [{ json: {...} }]
|
|
23
|
+
- Built-in helpers available: $now, $today, DateTime, $jmespath, $workflow, $execution, $node
|
|
24
|
+
|
|
25
|
+
Rules:
|
|
26
|
+
- Respond with ONLY a JSON object inside a markdown json fence.
|
|
27
|
+
- The JSON must match this shape:
|
|
28
|
+
{
|
|
29
|
+
"codes": {
|
|
30
|
+
"<nodeId>": "<complete JS code string for that node>"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
- Each code value is the full jsCode string (not a function wrapper — just the statements).
|
|
34
|
+
- Add a brief comment at the top of each snippet explaining what it does.
|
|
35
|
+
- Keep each snippet under 40 lines.
|
|
36
|
+
`;
|
|
37
|
+
class CodeScriptAgent {
|
|
38
|
+
client;
|
|
39
|
+
constructor(client) {
|
|
40
|
+
this.client = client;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Generate code for all nodes marked needsCodeGen.
|
|
44
|
+
* @param actionSpecs Full action spec list (to find code nodes).
|
|
45
|
+
* @param logicSpecs Logic spec list (in case logic nodes also need code).
|
|
46
|
+
* @param history Conversation history for context.
|
|
47
|
+
*/
|
|
48
|
+
async generate(actionSpecs, logicSpecs, history) {
|
|
49
|
+
const requests = this.collectCodeRequests(actionSpecs, logicSpecs);
|
|
50
|
+
if (requests.length === 0) {
|
|
51
|
+
return { codes: {} };
|
|
52
|
+
}
|
|
53
|
+
const requestList = requests
|
|
54
|
+
.map((r) => `- Node "${r.nodeName}" (id: ${r.nodeId}): ${r.description}`)
|
|
55
|
+
.join('\n');
|
|
56
|
+
const prompt = `Generate JavaScript code for the following n8n Code nodes:\n\n${requestList}`;
|
|
57
|
+
const messages = [
|
|
58
|
+
...history,
|
|
59
|
+
{ role: 'user', content: prompt },
|
|
60
|
+
];
|
|
61
|
+
// Cache the code-gen system prompt — same instructions for all code generation calls
|
|
62
|
+
const reply = await this.client.singleCall(messages, [{ type: 'text', text: SYSTEM_PROMPT, cache_control: { type: 'ephemeral' } }]);
|
|
63
|
+
const result = OctoAgentClient_js_1.OctoAgentClient.parseJsonFromReply(reply);
|
|
64
|
+
if (!result.codes || typeof result.codes !== 'object') {
|
|
65
|
+
throw new Error('CodeScriptAgent: missing codes object in response');
|
|
66
|
+
}
|
|
67
|
+
return result;
|
|
68
|
+
}
|
|
69
|
+
collectCodeRequests(actionSpecs, logicSpecs) {
|
|
70
|
+
const requests = [];
|
|
71
|
+
actionSpecs.forEach((spec, idx) => {
|
|
72
|
+
if (spec.needsCodeGen) {
|
|
73
|
+
requests.push({
|
|
74
|
+
nodeId: `action_${idx}`,
|
|
75
|
+
nodeName: spec.name,
|
|
76
|
+
description: spec.codeDescription ?? `Execute custom logic for "${spec.name}"`,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
// Logic nodes don't typically need code gen, but support it for completeness
|
|
81
|
+
logicSpecs.forEach((spec, idx) => {
|
|
82
|
+
const isCodeNode = spec.type === 'n8n-nodes-base.code' ||
|
|
83
|
+
spec.type === 'n8n-nodes-base.function';
|
|
84
|
+
if (isCodeNode) {
|
|
85
|
+
requests.push({
|
|
86
|
+
nodeId: `logic_${idx}`,
|
|
87
|
+
nodeName: spec.name,
|
|
88
|
+
description: spec.condition ?? `Execute logic for "${spec.name}"`,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
return requests;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
exports.CodeScriptAgent = CodeScriptAgent;
|
|
96
|
+
//# sourceMappingURL=CodeScriptAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeScriptAgent.js","sourceRoot":"","sources":["../../../../src/workflow-design/agents/CodeScriptAgent.ts"],"names":[],"mappings":";;;AAAA,8DAAwD;AAGxD,+DAA+D;AAC/D,kBAAkB;AAClB,8DAA8D;AAC9D,yEAAyE;AACzE,+DAA+D;AAE/D,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BrB,CAAC;AAQF,MAAa,eAAe;IACG;IAA7B,YAA6B,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAAG,CAAC;IAExD;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CACZ,WAA6B,EAC7B,UAA2B,EAC3B,OAAkB;QAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAEnE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACvB,CAAC;QAED,MAAM,WAAW,GAAG,QAAQ;aACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,QAAQ,UAAU,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;aACxE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,MAAM,GAAG,iEAAiE,WAAW,EAAE,CAAC;QAE9F,MAAM,QAAQ,GAAc;YAC1B,GAAG,OAAO;YACV,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;SAClC,CAAC;QAEF,qFAAqF;QACrF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACpI,MAAM,MAAM,GAAG,oCAAe,CAAC,kBAAkB,CAAmB,KAAK,CAAC,CAAC;QAE3E,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,mBAAmB,CACzB,WAA6B,EAC7B,UAA2B;QAE3B,MAAM,QAAQ,GAAkB,EAAE,CAAC;QAEnC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YAChC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,UAAU,GAAG,EAAE;oBACvB,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,WAAW,EAAE,IAAI,CAAC,eAAe,IAAI,6BAA6B,IAAI,CAAC,IAAI,GAAG;iBAC/E,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,6EAA6E;QAC7E,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YAC/B,MAAM,UAAU,GACd,IAAI,CAAC,IAAI,KAAK,qBAAqB;gBACnC,IAAI,CAAC,IAAI,KAAK,yBAAyB,CAAC;YAC1C,IAAI,UAAU,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,SAAS,GAAG,EAAE;oBACtB,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,WAAW,EAAE,IAAI,CAAC,SAAS,IAAI,sBAAsB,IAAI,CAAC,IAAI,GAAG;iBAClE,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AA1ED,0CA0EC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { OctoAgentClient } from '../OctoAgentClient.js';
|
|
2
|
+
import type { ActionNodeSpec, LogicFlowResult, Message } from '../types.js';
|
|
3
|
+
export declare class LogicFlowAgent {
|
|
4
|
+
private readonly client;
|
|
5
|
+
constructor(client: OctoAgentClient);
|
|
6
|
+
design(intent: string, actionSpecs: ActionNodeSpec[], history: Message[]): Promise<LogicFlowResult>;
|
|
7
|
+
private validateAndNormalise;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=LogicFlowAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogicFlowAgent.d.ts","sourceRoot":"","sources":["../../../../src/workflow-design/agents/LogicFlowAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAEf,OAAO,EACR,MAAM,aAAa,CAAC;AAiCrB,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAE9C,MAAM,CACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,cAAc,EAAE,EAC7B,OAAO,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,eAAe,CAAC;IA4B3B,OAAO,CAAC,oBAAoB;CAgB7B"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LogicFlowAgent = void 0;
|
|
4
|
+
const OctoAgentClient_js_1 = require("../OctoAgentClient.js");
|
|
5
|
+
const N8nNodeKnowledgeBase_js_1 = require("../N8nNodeKnowledgeBase.js");
|
|
6
|
+
// ============================================================
|
|
7
|
+
// LogicFlowAgent
|
|
8
|
+
// Adds conditional branches, merge nodes, and error handling.
|
|
9
|
+
// Runs in parallel with ActionChainAgent (Phase 2).
|
|
10
|
+
// ============================================================
|
|
11
|
+
const SYSTEM_PROMPT_BASE = `You are an n8n workflow logic flow designer.
|
|
12
|
+
Your job is to identify where conditional branching (IF/Switch), merging (Merge), or error handling (Error Trigger) is needed in a workflow, and specify those nodes.
|
|
13
|
+
|
|
14
|
+
Rules:
|
|
15
|
+
- Respond with ONLY a JSON object inside a markdown json fence.
|
|
16
|
+
- The JSON must match this shape exactly:
|
|
17
|
+
{
|
|
18
|
+
"specs": [
|
|
19
|
+
{
|
|
20
|
+
"type": "<n8n node type>",
|
|
21
|
+
"name": "<display name>",
|
|
22
|
+
"parameters": { <params> },
|
|
23
|
+
"position": { "x": <number>, "y": 300 },
|
|
24
|
+
"insertAfterIndex": <integer index into the action specs array>,
|
|
25
|
+
"condition": "<optional condition expression for IF/Switch>"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"reasoning": "<brief explanation>"
|
|
29
|
+
}
|
|
30
|
+
- If no logic nodes are needed, return { "specs": [], "reasoning": "No conditional logic required." }
|
|
31
|
+
- "insertAfterIndex" is 0-based; -1 means before the first action node.
|
|
32
|
+
- Use y: 120 for true-branch paths (if you want to indicate branching visually).
|
|
33
|
+
- Provide realistic condition expressions using n8n expression syntax: e.g. {{ $json.status === 'error' }}
|
|
34
|
+
`;
|
|
35
|
+
class LogicFlowAgent {
|
|
36
|
+
client;
|
|
37
|
+
constructor(client) {
|
|
38
|
+
this.client = client;
|
|
39
|
+
}
|
|
40
|
+
async design(intent, actionSpecs, history) {
|
|
41
|
+
const system = [
|
|
42
|
+
{ type: 'text', text: SYSTEM_PROMPT_BASE },
|
|
43
|
+
N8nNodeKnowledgeBase_js_1.N8nNodeKnowledgeBase.buildCachedBlock(['control']),
|
|
44
|
+
];
|
|
45
|
+
const actionSummary = actionSpecs
|
|
46
|
+
.map((s, i) => `[${i}] ${s.name} (${s.type})`)
|
|
47
|
+
.join('\n');
|
|
48
|
+
const contextBlock = `Workflow requirement: ${intent}
|
|
49
|
+
|
|
50
|
+
Current action nodes (in order):
|
|
51
|
+
${actionSummary}
|
|
52
|
+
|
|
53
|
+
Identify any conditional logic, branches, or error handling that should be added.`;
|
|
54
|
+
const messages = [
|
|
55
|
+
...history,
|
|
56
|
+
{ role: 'user', content: contextBlock },
|
|
57
|
+
];
|
|
58
|
+
const reply = await this.client.singleCall(messages, system);
|
|
59
|
+
const result = OctoAgentClient_js_1.OctoAgentClient.parseJsonFromReply(reply);
|
|
60
|
+
return this.validateAndNormalise(result);
|
|
61
|
+
}
|
|
62
|
+
validateAndNormalise(result) {
|
|
63
|
+
if (!Array.isArray(result.specs)) {
|
|
64
|
+
throw new Error('LogicFlowAgent: specs must be an array');
|
|
65
|
+
}
|
|
66
|
+
const specs = result.specs.map((s, idx) => ({
|
|
67
|
+
type: s.type || 'n8n-nodes-base.if',
|
|
68
|
+
name: s.name || `Logic ${idx + 1}`,
|
|
69
|
+
parameters: s.parameters ?? {},
|
|
70
|
+
position: s.position ?? { x: 460, y: 120 },
|
|
71
|
+
insertAfterIndex: typeof s.insertAfterIndex === 'number' ? s.insertAfterIndex : -1,
|
|
72
|
+
condition: s.condition ?? undefined,
|
|
73
|
+
}));
|
|
74
|
+
return { specs, reasoning: result.reasoning ?? '' };
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.LogicFlowAgent = LogicFlowAgent;
|
|
78
|
+
//# sourceMappingURL=LogicFlowAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogicFlowAgent.js","sourceRoot":"","sources":["../../../../src/workflow-design/agents/LogicFlowAgent.ts"],"names":[],"mappings":";;;AAAA,8DAAwD;AACxD,wEAAkE;AAQlE,+DAA+D;AAC/D,iBAAiB;AACjB,8DAA8D;AAC9D,oDAAoD;AACpD,+DAA+D;AAE/D,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuB1B,CAAC;AAEF,MAAa,cAAc;IACI;IAA7B,YAA6B,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAAG,CAAC;IAExD,KAAK,CAAC,MAAM,CACV,MAAc,EACd,WAA6B,EAC7B,OAAkB;QAElB,MAAM,MAAM,GAAG;YACb,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE;YACnD,8CAAoB,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC;SACnD,CAAC;QAEF,MAAM,aAAa,GAAG,WAAW;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC;aAC7C,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,YAAY,GAAG,yBAAyB,MAAM;;;EAGtD,aAAa;;kFAEmE,CAAC;QAE/E,MAAM,QAAQ,GAAc;YAC1B,GAAG,OAAO;YACV,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE;SACxC,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,oCAAe,CAAC,kBAAkB,CAAkB,KAAK,CAAC,CAAC;QAE1E,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEO,oBAAoB,CAAC,MAAuB;QAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,KAAK,GAAoB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAC3D,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,mBAAmB;YACnC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS,GAAG,GAAG,CAAC,EAAE;YAClC,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;YAC9B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;YAC1C,gBAAgB,EAAE,OAAO,CAAC,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;YAClF,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS;SACpC,CAAC,CAAC,CAAC;QAEJ,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;IACtD,CAAC;CACF;AAnDD,wCAmDC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { OctoAgentClient } from '../OctoAgentClient.js';
|
|
2
|
+
import type { Message, TriggerAnalysisResult } from '../types.js';
|
|
3
|
+
export declare class TriggerAnalystAgent {
|
|
4
|
+
private readonly client;
|
|
5
|
+
constructor(client: OctoAgentClient);
|
|
6
|
+
analyse(intent: string, history: Message[]): Promise<TriggerAnalysisResult>;
|
|
7
|
+
private validateAndNormalise;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=TriggerAnalystAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TriggerAnalystAgent.d.ts","sourceRoot":"","sources":["../../../../src/workflow-design/agents/TriggerAnalystAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAmB,MAAM,aAAa,CAAC;AA4BnF,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAE9C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAoBjF,OAAO,CAAC,oBAAoB;CAc7B"}
|