swarm-engine 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +72 -0
- package/CLAUDE.md +89 -0
- package/LICENSE +21 -0
- package/README.md +235 -0
- package/agents/accessibility-reviewer.md +118 -0
- package/agents/api-contract-reviewer.md +99 -0
- package/agents/concurrency-reviewer.md +111 -0
- package/agents/data-integrity-reviewer.md +103 -0
- package/agents/debugger.md +99 -0
- package/agents/dependency-reviewer.md +115 -0
- package/agents/devils-advocate.md +94 -0
- package/agents/documentation-reviewer.md +114 -0
- package/agents/documenter.md +78 -0
- package/agents/error-handling-reviewer.md +113 -0
- package/agents/grounding.md +99 -0
- package/agents/guardian.md +87 -0
- package/agents/implementer.md +141 -0
- package/agents/integrator.md +95 -0
- package/agents/judge.md +79 -0
- package/agents/librarian.md +90 -0
- package/agents/orchestrator.md +331 -0
- package/agents/performance-reviewer.md +93 -0
- package/agents/planner.md +106 -0
- package/agents/refactorer.md +92 -0
- package/agents/researcher.md +97 -0
- package/agents/reviewer.md +117 -0
- package/agents/security-reviewer.md +107 -0
- package/agents/sentinel.md +92 -0
- package/agents/tester.md +93 -0
- package/agents/testing-reviewer.md +112 -0
- package/commands/diff-review.md +64 -0
- package/commands/fix-pr.md +78 -0
- package/commands/red-team.md +82 -0
- package/commands/research.md +59 -0
- package/commands/resume.md +80 -0
- package/commands/review-cycle.md +123 -0
- package/commands/swarm-setup.md +28 -0
- package/commands/swarm.md +126 -0
- package/commands/tdd.md +91 -0
- package/dist/cli/bin.d.ts +3 -0
- package/dist/cli/bin.d.ts.map +1 -0
- package/dist/cli/bin.js +3 -0
- package/dist/cli/bin.js.map +1 -0
- package/dist/cli/commands/acp.d.ts +3 -0
- package/dist/cli/commands/acp.d.ts.map +1 -0
- package/dist/cli/commands/acp.js +29 -0
- package/dist/cli/commands/acp.js.map +1 -0
- package/dist/cli/commands/agents.d.ts +3 -0
- package/dist/cli/commands/agents.d.ts.map +1 -0
- package/dist/cli/commands/agents.js +344 -0
- package/dist/cli/commands/agents.js.map +1 -0
- package/dist/cli/commands/backends.d.ts +3 -0
- package/dist/cli/commands/backends.d.ts.map +1 -0
- package/dist/cli/commands/backends.js +22 -0
- package/dist/cli/commands/backends.js.map +1 -0
- package/dist/cli/commands/completions.d.ts +3 -0
- package/dist/cli/commands/completions.d.ts.map +1 -0
- package/dist/cli/commands/completions.js +85 -0
- package/dist/cli/commands/completions.js.map +1 -0
- package/dist/cli/commands/compound.d.ts +3 -0
- package/dist/cli/commands/compound.d.ts.map +1 -0
- package/dist/cli/commands/compound.js +119 -0
- package/dist/cli/commands/compound.js.map +1 -0
- package/dist/cli/commands/configure.d.ts +3 -0
- package/dist/cli/commands/configure.d.ts.map +1 -0
- package/dist/cli/commands/configure.js +151 -0
- package/dist/cli/commands/configure.js.map +1 -0
- package/dist/cli/commands/convert.d.ts +15 -0
- package/dist/cli/commands/convert.d.ts.map +1 -0
- package/dist/cli/commands/convert.js +218 -0
- package/dist/cli/commands/convert.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +3 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +96 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/init.d.ts +3 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +154 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/learn.d.ts +3 -0
- package/dist/cli/commands/learn.d.ts.map +1 -0
- package/dist/cli/commands/learn.js +163 -0
- package/dist/cli/commands/learn.js.map +1 -0
- package/dist/cli/commands/mcp.d.ts +3 -0
- package/dist/cli/commands/mcp.d.ts.map +1 -0
- package/dist/cli/commands/mcp.js +89 -0
- package/dist/cli/commands/mcp.js.map +1 -0
- package/dist/cli/commands/memory.d.ts +3 -0
- package/dist/cli/commands/memory.d.ts.map +1 -0
- package/dist/cli/commands/memory.js +134 -0
- package/dist/cli/commands/memory.js.map +1 -0
- package/dist/cli/commands/orchestrate.d.ts +3 -0
- package/dist/cli/commands/orchestrate.d.ts.map +1 -0
- package/dist/cli/commands/orchestrate.js +237 -0
- package/dist/cli/commands/orchestrate.js.map +1 -0
- package/dist/cli/commands/patterns.d.ts +3 -0
- package/dist/cli/commands/patterns.d.ts.map +1 -0
- package/dist/cli/commands/patterns.js +25 -0
- package/dist/cli/commands/patterns.js.map +1 -0
- package/dist/cli/commands/plan.d.ts +3 -0
- package/dist/cli/commands/plan.d.ts.map +1 -0
- package/dist/cli/commands/plan.js +77 -0
- package/dist/cli/commands/plan.js.map +1 -0
- package/dist/cli/commands/plugin.d.ts +3 -0
- package/dist/cli/commands/plugin.d.ts.map +1 -0
- package/dist/cli/commands/plugin.js +124 -0
- package/dist/cli/commands/plugin.js.map +1 -0
- package/dist/cli/commands/resume.d.ts +3 -0
- package/dist/cli/commands/resume.d.ts.map +1 -0
- package/dist/cli/commands/resume.js +55 -0
- package/dist/cli/commands/resume.js.map +1 -0
- package/dist/cli/commands/run.d.ts +3 -0
- package/dist/cli/commands/run.d.ts.map +1 -0
- package/dist/cli/commands/run.js +78 -0
- package/dist/cli/commands/run.js.map +1 -0
- package/dist/cli/commands/share.d.ts +3 -0
- package/dist/cli/commands/share.d.ts.map +1 -0
- package/dist/cli/commands/share.js +34 -0
- package/dist/cli/commands/share.js.map +1 -0
- package/dist/cli/commands/status.d.ts +3 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +148 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/template.d.ts +3 -0
- package/dist/cli/commands/template.d.ts.map +1 -0
- package/dist/cli/commands/template.js +213 -0
- package/dist/cli/commands/template.js.map +1 -0
- package/dist/cli/commands/vault.d.ts +3 -0
- package/dist/cli/commands/vault.d.ts.map +1 -0
- package/dist/cli/commands/vault.js +402 -0
- package/dist/cli/commands/vault.js.map +1 -0
- package/dist/cli/commands/verify.d.ts +3 -0
- package/dist/cli/commands/verify.d.ts.map +1 -0
- package/dist/cli/commands/verify.js +38 -0
- package/dist/cli/commands/verify.js.map +1 -0
- package/dist/cli/commands/version.d.ts +3 -0
- package/dist/cli/commands/version.d.ts.map +1 -0
- package/dist/cli/commands/version.js +19 -0
- package/dist/cli/commands/version.js.map +1 -0
- package/dist/cli/commands/watch.d.ts +3 -0
- package/dist/cli/commands/watch.d.ts.map +1 -0
- package/dist/cli/commands/watch.js +179 -0
- package/dist/cli/commands/watch.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +118 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/core/checkpoint.d.ts +35 -0
- package/dist/core/checkpoint.d.ts.map +1 -0
- package/dist/core/checkpoint.js +80 -0
- package/dist/core/checkpoint.js.map +1 -0
- package/dist/core/event-bus.d.ts +41 -0
- package/dist/core/event-bus.d.ts.map +1 -0
- package/dist/core/event-bus.js +115 -0
- package/dist/core/event-bus.js.map +1 -0
- package/dist/core/lifecycle.d.ts +30 -0
- package/dist/core/lifecycle.d.ts.map +1 -0
- package/dist/core/lifecycle.js +72 -0
- package/dist/core/lifecycle.js.map +1 -0
- package/dist/core/patterns.d.ts +43 -0
- package/dist/core/patterns.d.ts.map +1 -0
- package/dist/core/patterns.js +372 -0
- package/dist/core/patterns.js.map +1 -0
- package/dist/core/permissions.d.ts +40 -0
- package/dist/core/permissions.d.ts.map +1 -0
- package/dist/core/permissions.js +113 -0
- package/dist/core/permissions.js.map +1 -0
- package/dist/core/registry.d.ts +80 -0
- package/dist/core/registry.d.ts.map +1 -0
- package/dist/core/registry.js +308 -0
- package/dist/core/registry.js.map +1 -0
- package/dist/core/snapshots.d.ts +20 -0
- package/dist/core/snapshots.d.ts.map +1 -0
- package/dist/core/snapshots.js +73 -0
- package/dist/core/snapshots.js.map +1 -0
- package/dist/core/types.d.ts +168 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +33 -0
- package/dist/core/types.js.map +1 -0
- package/dist/hooks/cli.d.ts +11 -0
- package/dist/hooks/cli.d.ts.map +1 -0
- package/dist/hooks/cli.js +32 -0
- package/dist/hooks/cli.js.map +1 -0
- package/dist/hooks/index.d.ts +23 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +58 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/index.d.ts +82 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/memory/index.d.ts +105 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +298 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/schema.d.ts +6 -0
- package/dist/memory/schema.d.ts.map +1 -0
- package/dist/memory/schema.js +71 -0
- package/dist/memory/schema.js.map +1 -0
- package/dist/plugin/index.d.ts +6 -0
- package/dist/plugin/index.d.ts.map +1 -0
- package/dist/plugin/index.js +182 -0
- package/dist/plugin/index.js.map +1 -0
- package/dist/runtime/acp.d.ts +41 -0
- package/dist/runtime/acp.d.ts.map +1 -0
- package/dist/runtime/acp.js +137 -0
- package/dist/runtime/acp.js.map +1 -0
- package/dist/runtime/adaptive.d.ts +34 -0
- package/dist/runtime/adaptive.d.ts.map +1 -0
- package/dist/runtime/adaptive.js +229 -0
- package/dist/runtime/adaptive.js.map +1 -0
- package/dist/runtime/autonomy.d.ts +21 -0
- package/dist/runtime/autonomy.d.ts.map +1 -0
- package/dist/runtime/autonomy.js +74 -0
- package/dist/runtime/autonomy.js.map +1 -0
- package/dist/runtime/backends/claude.d.ts +9 -0
- package/dist/runtime/backends/claude.d.ts.map +1 -0
- package/dist/runtime/backends/claude.js +134 -0
- package/dist/runtime/backends/claude.js.map +1 -0
- package/dist/runtime/backends/codex.d.ts +9 -0
- package/dist/runtime/backends/codex.d.ts.map +1 -0
- package/dist/runtime/backends/codex.js +132 -0
- package/dist/runtime/backends/codex.js.map +1 -0
- package/dist/runtime/backends/gemini.d.ts +9 -0
- package/dist/runtime/backends/gemini.d.ts.map +1 -0
- package/dist/runtime/backends/gemini.js +103 -0
- package/dist/runtime/backends/gemini.js.map +1 -0
- package/dist/runtime/backends/index.d.ts +17 -0
- package/dist/runtime/backends/index.d.ts.map +1 -0
- package/dist/runtime/backends/index.js +39 -0
- package/dist/runtime/backends/index.js.map +1 -0
- package/dist/runtime/backends/mock.d.ts +21 -0
- package/dist/runtime/backends/mock.d.ts.map +1 -0
- package/dist/runtime/backends/mock.js +46 -0
- package/dist/runtime/backends/mock.js.map +1 -0
- package/dist/runtime/backends/types.d.ts +34 -0
- package/dist/runtime/backends/types.d.ts.map +1 -0
- package/dist/runtime/backends/types.js +2 -0
- package/dist/runtime/backends/types.js.map +1 -0
- package/dist/runtime/backends/vercel-ai.d.ts +14 -0
- package/dist/runtime/backends/vercel-ai.d.ts.map +1 -0
- package/dist/runtime/backends/vercel-ai.js +137 -0
- package/dist/runtime/backends/vercel-ai.js.map +1 -0
- package/dist/runtime/cache-optimizer.d.ts +37 -0
- package/dist/runtime/cache-optimizer.d.ts.map +1 -0
- package/dist/runtime/cache-optimizer.js +54 -0
- package/dist/runtime/cache-optimizer.js.map +1 -0
- package/dist/runtime/cascade.d.ts +26 -0
- package/dist/runtime/cascade.d.ts.map +1 -0
- package/dist/runtime/cascade.js +54 -0
- package/dist/runtime/cascade.js.map +1 -0
- package/dist/runtime/chunker.d.ts +36 -0
- package/dist/runtime/chunker.d.ts.map +1 -0
- package/dist/runtime/chunker.js +210 -0
- package/dist/runtime/chunker.js.map +1 -0
- package/dist/runtime/compaction.d.ts +22 -0
- package/dist/runtime/compaction.d.ts.map +1 -0
- package/dist/runtime/compaction.js +36 -0
- package/dist/runtime/compaction.js.map +1 -0
- package/dist/runtime/compounder.d.ts +66 -0
- package/dist/runtime/compounder.d.ts.map +1 -0
- package/dist/runtime/compounder.js +276 -0
- package/dist/runtime/compounder.js.map +1 -0
- package/dist/runtime/cost-model.d.ts +24 -0
- package/dist/runtime/cost-model.d.ts.map +1 -0
- package/dist/runtime/cost-model.js +120 -0
- package/dist/runtime/cost-model.js.map +1 -0
- package/dist/runtime/distiller.d.ts +21 -0
- package/dist/runtime/distiller.d.ts.map +1 -0
- package/dist/runtime/distiller.js +70 -0
- package/dist/runtime/distiller.js.map +1 -0
- package/dist/runtime/engine.d.ts +123 -0
- package/dist/runtime/engine.d.ts.map +1 -0
- package/dist/runtime/engine.js +969 -0
- package/dist/runtime/engine.js.map +1 -0
- package/dist/runtime/executor.d.ts +71 -0
- package/dist/runtime/executor.d.ts.map +1 -0
- package/dist/runtime/executor.js +283 -0
- package/dist/runtime/executor.js.map +1 -0
- package/dist/runtime/heuristics.d.ts +33 -0
- package/dist/runtime/heuristics.d.ts.map +1 -0
- package/dist/runtime/heuristics.js +188 -0
- package/dist/runtime/heuristics.js.map +1 -0
- package/dist/runtime/living-spec.d.ts +34 -0
- package/dist/runtime/living-spec.d.ts.map +1 -0
- package/dist/runtime/living-spec.js +91 -0
- package/dist/runtime/living-spec.js.map +1 -0
- package/dist/runtime/lsp.d.ts +50 -0
- package/dist/runtime/lsp.d.ts.map +1 -0
- package/dist/runtime/lsp.js +110 -0
- package/dist/runtime/lsp.js.map +1 -0
- package/dist/runtime/mcp.d.ts +27 -0
- package/dist/runtime/mcp.d.ts.map +1 -0
- package/dist/runtime/mcp.js +154 -0
- package/dist/runtime/mcp.js.map +1 -0
- package/dist/runtime/model-router.d.ts +22 -0
- package/dist/runtime/model-router.d.ts.map +1 -0
- package/dist/runtime/model-router.js +94 -0
- package/dist/runtime/model-router.js.map +1 -0
- package/dist/runtime/panes.d.ts +76 -0
- package/dist/runtime/panes.d.ts.map +1 -0
- package/dist/runtime/panes.js +279 -0
- package/dist/runtime/panes.js.map +1 -0
- package/dist/runtime/plan-search.d.ts +41 -0
- package/dist/runtime/plan-search.d.ts.map +1 -0
- package/dist/runtime/plan-search.js +140 -0
- package/dist/runtime/plan-search.js.map +1 -0
- package/dist/runtime/plugins.d.ts +59 -0
- package/dist/runtime/plugins.d.ts.map +1 -0
- package/dist/runtime/plugins.js +121 -0
- package/dist/runtime/plugins.js.map +1 -0
- package/dist/runtime/reflexion.d.ts +22 -0
- package/dist/runtime/reflexion.d.ts.map +1 -0
- package/dist/runtime/reflexion.js +85 -0
- package/dist/runtime/reflexion.js.map +1 -0
- package/dist/runtime/review-schema.d.ts +75 -0
- package/dist/runtime/review-schema.d.ts.map +1 -0
- package/dist/runtime/review-schema.js +223 -0
- package/dist/runtime/review-schema.js.map +1 -0
- package/dist/runtime/rewriter.d.ts +8 -0
- package/dist/runtime/rewriter.d.ts.map +1 -0
- package/dist/runtime/rewriter.js +81 -0
- package/dist/runtime/rewriter.js.map +1 -0
- package/dist/runtime/sharing.d.ts +15 -0
- package/dist/runtime/sharing.d.ts.map +1 -0
- package/dist/runtime/sharing.js +48 -0
- package/dist/runtime/sharing.js.map +1 -0
- package/dist/runtime/stats.d.ts +53 -0
- package/dist/runtime/stats.d.ts.map +1 -0
- package/dist/runtime/stats.js +160 -0
- package/dist/runtime/stats.js.map +1 -0
- package/dist/runtime/templates.d.ts +77 -0
- package/dist/runtime/templates.d.ts.map +1 -0
- package/dist/runtime/templates.js +221 -0
- package/dist/runtime/templates.js.map +1 -0
- package/dist/runtime/traces.d.ts +60 -0
- package/dist/runtime/traces.d.ts.map +1 -0
- package/dist/runtime/traces.js +166 -0
- package/dist/runtime/traces.js.map +1 -0
- package/dist/runtime/verifier.d.ts +54 -0
- package/dist/runtime/verifier.d.ts.map +1 -0
- package/dist/runtime/verifier.js +172 -0
- package/dist/runtime/verifier.js.map +1 -0
- package/dist/runtime/worktree.d.ts +24 -0
- package/dist/runtime/worktree.d.ts.map +1 -0
- package/dist/runtime/worktree.js +82 -0
- package/dist/runtime/worktree.js.map +1 -0
- package/dist/tui/dashboard.d.ts +65 -0
- package/dist/tui/dashboard.d.ts.map +1 -0
- package/dist/tui/dashboard.js +496 -0
- package/dist/tui/dashboard.js.map +1 -0
- package/dist/tui/progress.d.ts +32 -0
- package/dist/tui/progress.d.ts.map +1 -0
- package/dist/tui/progress.js +257 -0
- package/dist/tui/progress.js.map +1 -0
- package/dist/tui/renderer.d.ts +72 -0
- package/dist/tui/renderer.d.ts.map +1 -0
- package/dist/tui/renderer.js +205 -0
- package/dist/tui/renderer.js.map +1 -0
- package/dist/utils/compact-format.d.ts +35 -0
- package/dist/utils/compact-format.d.ts.map +1 -0
- package/dist/utils/compact-format.js +106 -0
- package/dist/utils/compact-format.js.map +1 -0
- package/dist/utils/config.d.ts +73 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +70 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/env.d.ts +6 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +28 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/errors.d.ts +14 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +120 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/logger.d.ts +14 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +56 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/output.d.ts +10 -0
- package/dist/utils/output.d.ts.map +1 -0
- package/dist/utils/output.js +26 -0
- package/dist/utils/output.js.map +1 -0
- package/dist/utils/paths.d.ts +7 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +16 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/project-config.d.ts +18 -0
- package/dist/utils/project-config.d.ts.map +1 -0
- package/dist/utils/project-config.js +46 -0
- package/dist/utils/project-config.js.map +1 -0
- package/dist/utils/redact.d.ts +5 -0
- package/dist/utils/redact.d.ts.map +1 -0
- package/dist/utils/redact.js +25 -0
- package/dist/utils/redact.js.map +1 -0
- package/dist/utils/schemas.d.ts +109 -0
- package/dist/utils/schemas.d.ts.map +1 -0
- package/dist/utils/schemas.js +63 -0
- package/dist/utils/schemas.js.map +1 -0
- package/dist/utils/terminal.d.ts +33 -0
- package/dist/utils/terminal.d.ts.map +1 -0
- package/dist/utils/terminal.js +82 -0
- package/dist/utils/terminal.js.map +1 -0
- package/dist/utils/tokens.d.ts +9 -0
- package/dist/utils/tokens.d.ts.map +1 -0
- package/dist/utils/tokens.js +11 -0
- package/dist/utils/tokens.js.map +1 -0
- package/package.json +71 -0
- package/skills/design-system/SKILL.md +195 -0
- package/skills/orchestration-patterns/SKILL.md +81 -0
- package/skills/orchestration-patterns/examples/example-workflows.md +290 -0
- package/skills/orchestration-patterns/references/adversarial.md +51 -0
- package/skills/orchestration-patterns/references/batch.md +63 -0
- package/skills/orchestration-patterns/references/chaos.md +43 -0
- package/skills/orchestration-patterns/references/competitive.md +84 -0
- package/skills/orchestration-patterns/references/debate.md +44 -0
- package/skills/orchestration-patterns/references/emergence.md +50 -0
- package/skills/orchestration-patterns/references/fan-out-fan-in.md +74 -0
- package/skills/orchestration-patterns/references/iterative.md +99 -0
- package/skills/orchestration-patterns/references/pipeline.md +72 -0
- package/skills/swarm-output-style/SKILL.md +85 -0
- package/templates/add-endpoint.yml +44 -0
- package/templates/add-feature.yml +30 -0
- package/templates/agent-template.md +73 -0
- package/templates/bug-fix.yml +31 -0
- package/templates/explore.yml +21 -0
- package/templates/fix-pr.yml +30 -0
- package/templates/migration.yml +36 -0
- package/templates/refactor.yml +35 -0
- package/templates/security-audit.yml +27 -0
- package/templates/workflow-template.md +63 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { join } from 'path';
|
|
4
|
+
import { EventBus } from '../../core/event-bus.js';
|
|
5
|
+
import { AgentRegistry } from '../../core/registry.js';
|
|
6
|
+
import { SwarmEngine } from '../../runtime/engine.js';
|
|
7
|
+
import { Logger } from '../../utils/logger.js';
|
|
8
|
+
import { loadConfig, getDataDir } from '../../utils/config.js';
|
|
9
|
+
import { generateId } from '../../core/types.js';
|
|
10
|
+
export const runCommand = new Command('run')
|
|
11
|
+
.description('Run an agent with a task')
|
|
12
|
+
.argument('<agent>', 'Agent name or type')
|
|
13
|
+
.argument('<task>', 'Task description')
|
|
14
|
+
.option('-m, --model <model>', 'Model to use (haiku/sonnet/opus)', 'sonnet')
|
|
15
|
+
.option('--timeout <seconds>', 'Timeout in seconds', '300')
|
|
16
|
+
.option('--mock', 'Use mock execution (no real API calls)', false)
|
|
17
|
+
.option('-b, --backend <backend>', 'Execution backend (claude/codex/gemini)', 'claude')
|
|
18
|
+
.option('--bypass-permissions', 'Skip all permission prompts (use with caution)', false)
|
|
19
|
+
.option('--verbose', 'Verbose output', false)
|
|
20
|
+
.action(async (agentType, task, options) => {
|
|
21
|
+
const logger = new Logger('swarm', options.verbose ? 'debug' : 'info');
|
|
22
|
+
const bus = new EventBus({
|
|
23
|
+
logFile: join(getDataDir(), 'events.jsonl'),
|
|
24
|
+
});
|
|
25
|
+
const registry = new AgentRegistry(bus);
|
|
26
|
+
const config = loadConfig();
|
|
27
|
+
// Load agents with resolution chain
|
|
28
|
+
registry.loadWithResolution(process.cwd());
|
|
29
|
+
// Check if agent type is registered
|
|
30
|
+
const agentConfig = registry.getConfig(agentType);
|
|
31
|
+
if (!agentConfig) {
|
|
32
|
+
console.error(chalk.red(`Unknown agent: ${agentType}`));
|
|
33
|
+
console.error(chalk.dim(`Registered: ${registry.getAllConfigs().map(c => c.name).join(', ') || 'none'}`));
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
36
|
+
console.log(chalk.cyan('⚡ Swarm Engine'));
|
|
37
|
+
console.log(chalk.dim(` Agent: ${agentType} (${options.model})`));
|
|
38
|
+
console.log(chalk.dim(` Task: ${task}`));
|
|
39
|
+
console.log();
|
|
40
|
+
// Create a single-phase orchestration
|
|
41
|
+
const engine = new SwarmEngine({ registry, bus, logger, mock: options.mock, permissionMode: options.bypassPermissions ? 'bypassPermissions' : 'default', defaultBackend: options.backend });
|
|
42
|
+
const orchestration = await engine.execute({
|
|
43
|
+
id: generateId(),
|
|
44
|
+
name: `run-${agentType}`,
|
|
45
|
+
description: task,
|
|
46
|
+
pattern: 'single-agent',
|
|
47
|
+
phases: [{
|
|
48
|
+
name: 'execute',
|
|
49
|
+
agents: [{
|
|
50
|
+
name: agentType,
|
|
51
|
+
type: agentType,
|
|
52
|
+
model: options.model,
|
|
53
|
+
prompt: task,
|
|
54
|
+
}],
|
|
55
|
+
parallel: false,
|
|
56
|
+
}],
|
|
57
|
+
});
|
|
58
|
+
// Report
|
|
59
|
+
console.log();
|
|
60
|
+
if (orchestration.status === 'completed') {
|
|
61
|
+
console.log(chalk.green('✓ Complete'));
|
|
62
|
+
const agent = orchestration.phases[0]?.agents[0];
|
|
63
|
+
if (agent?.result) {
|
|
64
|
+
console.log(chalk.dim(` Output: ${agent.result.output}`));
|
|
65
|
+
console.log(chalk.dim(` Confidence: ${agent.result.confidence}`));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
console.log(chalk.red('✗ Failed'));
|
|
70
|
+
const agent = orchestration.phases[0]?.agents[0];
|
|
71
|
+
if (agent?.error) {
|
|
72
|
+
console.error(chalk.red(` Error: ${agent.error}`));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
console.log(chalk.dim(` Tokens: ${orchestration.usage.totalTokens}`));
|
|
76
|
+
console.log(chalk.dim(` Duration: ${orchestration.usage.durationMs}ms`));
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/share.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,YAAY,SAiBrB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { generateReport } from '../../runtime/sharing.js';
|
|
4
|
+
import { loadCheckpoint, listCheckpoints } from '../../core/checkpoint.js';
|
|
5
|
+
export const shareCommand = new Command('share')
|
|
6
|
+
.description('Generate a shareable report from an orchestration')
|
|
7
|
+
.argument('[id]', 'Orchestration ID')
|
|
8
|
+
.option('-f, --format <format>', 'Output format: html, markdown, json', 'html')
|
|
9
|
+
.option('-o, --output <path>', 'Output file path')
|
|
10
|
+
.option('--full', 'Include full agent outputs', false)
|
|
11
|
+
.action(async (id, options) => {
|
|
12
|
+
let orchestration = null;
|
|
13
|
+
if (id) {
|
|
14
|
+
const cp = loadCheckpoint(id);
|
|
15
|
+
if (cp)
|
|
16
|
+
orchestration = cp;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
const cps = listCheckpoints();
|
|
20
|
+
if (cps.length > 0) {
|
|
21
|
+
const cp = loadCheckpoint(cps[cps.length - 1].orchestrationId);
|
|
22
|
+
if (cp)
|
|
23
|
+
orchestration = cp;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (!orchestration) {
|
|
27
|
+
console.log(chalk.red('No orchestration found.'));
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const result = generateReport(orchestration, { format: options.format, outputPath: options.output, includeAgentOutput: options.full, includeUsageStats: true });
|
|
31
|
+
console.log(chalk.green(`Report: ${result.path}`));
|
|
32
|
+
console.log(` Format: ${result.format} | Size: ${(result.size / 1024).toFixed(1)} KB`);
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=share.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"share.js","sourceRoot":"","sources":["../../../src/cli/commands/share.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3E,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KAC7C,WAAW,CAAC,mDAAmD,CAAC;KAChE,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;KACpC,MAAM,CAAC,uBAAuB,EAAE,qCAAqC,EAAE,MAAM,CAAC;KAC9E,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;KACjD,MAAM,CAAC,QAAQ,EAAE,4BAA4B,EAAE,KAAK,CAAC;KACrD,MAAM,CAAC,KAAK,EAAE,EAAsB,EAAE,OAA2D,EAAE,EAAE;IACpG,IAAI,aAAa,GAAiC,IAAI,CAAC;IACvD,IAAI,EAAE,EAAE,CAAC;QAAC,MAAM,EAAE,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE;YAAE,aAAa,GAAG,EAAsC,CAAC;IAAC,CAAC;SACrG,CAAC;QACJ,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;QAC9B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAAC,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,eAAe,CAAC,CAAC;YAAC,IAAI,EAAE;gBAAE,aAAa,GAAG,EAAsC,CAAC;QAAC,CAAC;IAC1J,CAAC;IACD,IAAI,CAAC,aAAa,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAClF,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAa,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;IACvK,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC1F,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,aAAa,SAwJtB,CAAC"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { existsSync, readFileSync, readdirSync } from 'fs';
|
|
4
|
+
import { join } from 'path';
|
|
5
|
+
import { homedir } from 'os';
|
|
6
|
+
import { EventBus } from '../../core/event-bus.js';
|
|
7
|
+
import { AgentRegistry } from '../../core/registry.js';
|
|
8
|
+
import { TemplateRegistry } from '../../runtime/templates.js';
|
|
9
|
+
export const statusCommand = new Command('status')
|
|
10
|
+
.description('Show swarm status, agents, backends, patterns, templates')
|
|
11
|
+
.option('--backends', 'Show available execution backends')
|
|
12
|
+
.option('--patterns', 'Show orchestration patterns')
|
|
13
|
+
.action(async (options) => {
|
|
14
|
+
// ── Backends subview ──
|
|
15
|
+
if (options.backends) {
|
|
16
|
+
const { BackendRegistry } = await import('../../runtime/backends/index.js');
|
|
17
|
+
const registry = new BackendRegistry();
|
|
18
|
+
const available = await registry.getAvailable();
|
|
19
|
+
const all = registry.list();
|
|
20
|
+
console.log(chalk.cyan('⚡ Execution Backends'));
|
|
21
|
+
console.log();
|
|
22
|
+
for (const backend of all) {
|
|
23
|
+
const isAvailable = available.some(a => a.name === backend.name);
|
|
24
|
+
const icon = isAvailable ? chalk.green('✓') : chalk.red('✗');
|
|
25
|
+
const status = isAvailable ? chalk.green('available') : chalk.dim('not installed');
|
|
26
|
+
console.log(` ${icon} ${chalk.bold(backend.name)} — ${backend.description} [${status}]`);
|
|
27
|
+
}
|
|
28
|
+
console.log();
|
|
29
|
+
console.log(chalk.dim(' Use: swarm run <agent> <task> --backend codex'));
|
|
30
|
+
console.log(chalk.dim(' Or set per-agent in .md: backend: gemini'));
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
// ── Patterns subview ──
|
|
34
|
+
if (options.patterns) {
|
|
35
|
+
const { PatternRegistry } = await import('../../core/patterns.js');
|
|
36
|
+
const patternRegistry = new PatternRegistry();
|
|
37
|
+
patternRegistry.loadDefaults();
|
|
38
|
+
console.log(chalk.cyan('⚡ Orchestration Patterns'));
|
|
39
|
+
console.log();
|
|
40
|
+
for (const pattern of patternRegistry.list()) {
|
|
41
|
+
const phaseCount = pattern.phases.length;
|
|
42
|
+
const agentCount = pattern.phases.reduce((sum, p) => sum + p.agents.length, 0);
|
|
43
|
+
console.log(` ${chalk.bold(pattern.name)}`);
|
|
44
|
+
console.log(chalk.dim(` ${pattern.description}`));
|
|
45
|
+
console.log(chalk.dim(` ${phaseCount} phases, ${agentCount} agents`));
|
|
46
|
+
for (const phase of pattern.phases) {
|
|
47
|
+
const deps = phase.dependsOn?.length ? ` (after ${phase.dependsOn.join(', ')})` : '';
|
|
48
|
+
const mode = phase.parallel ? 'parallel' : 'sequential';
|
|
49
|
+
console.log(chalk.dim(` ${phase.name} [${mode}]${deps}: ${phase.agents.map(a => a.type).join(', ')}`));
|
|
50
|
+
}
|
|
51
|
+
console.log();
|
|
52
|
+
}
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
// ── Default: full status ──
|
|
56
|
+
const bus = new EventBus();
|
|
57
|
+
const registry = new AgentRegistry(bus);
|
|
58
|
+
const templates = new TemplateRegistry();
|
|
59
|
+
// Load agents and templates
|
|
60
|
+
const agentCount = registry.loadWithResolution(process.cwd());
|
|
61
|
+
templates.loadWithResolution(process.cwd());
|
|
62
|
+
console.log(chalk.cyan('⚡ Swarm Engine'));
|
|
63
|
+
console.log();
|
|
64
|
+
// ── Active Teams (Claude Code split panes) ──
|
|
65
|
+
const teamsDir = join(homedir(), '.claude', 'teams');
|
|
66
|
+
const activeTeams = [];
|
|
67
|
+
if (existsSync(teamsDir)) {
|
|
68
|
+
for (const entry of readdirSync(teamsDir, { withFileTypes: true })) {
|
|
69
|
+
if (!entry.isDirectory())
|
|
70
|
+
continue;
|
|
71
|
+
const configPath = join(teamsDir, entry.name, 'config.json');
|
|
72
|
+
if (existsSync(configPath)) {
|
|
73
|
+
try {
|
|
74
|
+
const config = JSON.parse(readFileSync(configPath, 'utf-8'));
|
|
75
|
+
const members = config.members?.length ?? 0;
|
|
76
|
+
activeTeams.push({ name: entry.name, members });
|
|
77
|
+
}
|
|
78
|
+
catch { /* skip malformed */ }
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (activeTeams.length > 0) {
|
|
83
|
+
console.log(chalk.green(` Active teams: ${activeTeams.length}`));
|
|
84
|
+
for (const team of activeTeams) {
|
|
85
|
+
console.log(chalk.green(` ${team.name} (${team.members} members)`));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
console.log(chalk.dim(' No active teams'));
|
|
90
|
+
}
|
|
91
|
+
console.log();
|
|
92
|
+
// ── Registered Agents ──
|
|
93
|
+
console.log(` Registered agents: ${agentCount}`);
|
|
94
|
+
if (agentCount > 0) {
|
|
95
|
+
const configs = registry.getAllConfigs();
|
|
96
|
+
const byModel = {};
|
|
97
|
+
for (const c of configs) {
|
|
98
|
+
byModel[c.model] = (byModel[c.model] ?? 0) + 1;
|
|
99
|
+
}
|
|
100
|
+
const modelSummary = Object.entries(byModel).map(([m, n]) => `${n} ${m}`).join(', ');
|
|
101
|
+
console.log(chalk.dim(` ${modelSummary}`));
|
|
102
|
+
}
|
|
103
|
+
// ── Templates ──
|
|
104
|
+
console.log(` Templates: ${templates.count}`);
|
|
105
|
+
console.log();
|
|
106
|
+
// ── Recent Activity (from events.jsonl) ──
|
|
107
|
+
const eventsPath = join(homedir(), '.swarm', 'data', 'events.jsonl');
|
|
108
|
+
if (existsSync(eventsPath)) {
|
|
109
|
+
try {
|
|
110
|
+
const content = readFileSync(eventsPath, 'utf-8');
|
|
111
|
+
const lines = content.trim().split('\n').filter(Boolean);
|
|
112
|
+
// Get the last few orchestration events
|
|
113
|
+
const recentOrchestrations = [];
|
|
114
|
+
for (let i = lines.length - 1; i >= 0 && recentOrchestrations.length < 5; i--) {
|
|
115
|
+
try {
|
|
116
|
+
const event = JSON.parse(lines[i]);
|
|
117
|
+
if (event.type === 'orchestration:complete' || event.type === 'orchestration:failed') {
|
|
118
|
+
recentOrchestrations.push({
|
|
119
|
+
name: event.data?.name ?? 'unknown',
|
|
120
|
+
status: event.type === 'orchestration:complete' ? 'completed' : 'failed',
|
|
121
|
+
time: event.timestamp ?? '',
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
catch { /* skip malformed lines */ }
|
|
126
|
+
}
|
|
127
|
+
if (recentOrchestrations.length > 0) {
|
|
128
|
+
console.log(chalk.dim(' Recent orchestrations:'));
|
|
129
|
+
for (const o of recentOrchestrations) {
|
|
130
|
+
const icon = o.status === 'completed' ? chalk.green('✓') : chalk.red('✗');
|
|
131
|
+
const time = o.time ? chalk.dim(` (${new Date(o.time).toLocaleString()})`) : '';
|
|
132
|
+
console.log(` ${icon} ${o.name.slice(0, 60)}${time}`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
catch { /* events file not readable */ }
|
|
137
|
+
}
|
|
138
|
+
// ── Checkpoints ──
|
|
139
|
+
const checkpointDir = join(homedir(), '.swarm', 'data', 'checkpoints');
|
|
140
|
+
if (existsSync(checkpointDir)) {
|
|
141
|
+
const checkpoints = readdirSync(checkpointDir).filter(f => f.endsWith('.json'));
|
|
142
|
+
if (checkpoints.length > 0) {
|
|
143
|
+
console.log(chalk.dim(`\n Saved checkpoints: ${checkpoints.length} (swarm resume <id>)`));
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
console.log();
|
|
147
|
+
});
|
|
148
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,eAAO,MAAM,eAAe,SACoC,CAAC"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { createInterface } from 'readline';
|
|
4
|
+
import { TemplateRegistry, validateParameters, resolveTemplate, extractTemplateFromTrace, saveTemplate, } from '../../runtime/templates.js';
|
|
5
|
+
import { TraceStore } from '../../runtime/traces.js';
|
|
6
|
+
export const templateCommand = new Command('template')
|
|
7
|
+
.description('Run or manage reusable orchestration templates');
|
|
8
|
+
// --- swarm template list ---
|
|
9
|
+
templateCommand
|
|
10
|
+
.command('list')
|
|
11
|
+
.description('List available templates')
|
|
12
|
+
.action(() => {
|
|
13
|
+
const registry = new TemplateRegistry();
|
|
14
|
+
registry.loadWithResolution(process.cwd());
|
|
15
|
+
if (registry.count === 0) {
|
|
16
|
+
console.log(chalk.dim('No templates found.'));
|
|
17
|
+
console.log(chalk.dim('Create one: swarm template create <name> --from-last'));
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
console.log(chalk.cyan('Templates\n'));
|
|
21
|
+
for (const t of registry.list()) {
|
|
22
|
+
const params = Object.keys(t.parameters).length;
|
|
23
|
+
const tags = t.tags?.length ? chalk.dim(` [${t.tags.join(', ')}]`) : '';
|
|
24
|
+
console.log(` ${chalk.bold(t.name.padEnd(22))} ${chalk.dim(t.description.slice(0, 60))}${tags}`);
|
|
25
|
+
console.log(chalk.dim(` Pattern: ${t.pattern} | Parameters: ${params}`));
|
|
26
|
+
}
|
|
27
|
+
console.log();
|
|
28
|
+
});
|
|
29
|
+
// --- swarm template run <name> ---
|
|
30
|
+
templateCommand
|
|
31
|
+
.command('run <name>')
|
|
32
|
+
.description('Run a template with parameters')
|
|
33
|
+
.option('--param <key=value...>', 'Template parameters', [])
|
|
34
|
+
.option('-i, --interactive', 'Prompt for parameters interactively', false)
|
|
35
|
+
.option('-b, --backend <backend>', 'Execution backend', 'claude')
|
|
36
|
+
.option('--mock', 'Use mock execution', false)
|
|
37
|
+
.action(async (name, options) => {
|
|
38
|
+
const registry = new TemplateRegistry();
|
|
39
|
+
registry.loadWithResolution(process.cwd());
|
|
40
|
+
const template = registry.get(name);
|
|
41
|
+
if (!template) {
|
|
42
|
+
console.log(chalk.red(`Template not found: ${name}`));
|
|
43
|
+
console.log(chalk.dim('Available: ' + registry.list().map(t => t.name).join(', ')));
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
// Parse --param key=value pairs
|
|
47
|
+
let params = {};
|
|
48
|
+
for (const p of options.param) {
|
|
49
|
+
const eq = p.indexOf('=');
|
|
50
|
+
if (eq > 0) {
|
|
51
|
+
params[p.slice(0, eq)] = p.slice(eq + 1);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// Interactive parameter prompting
|
|
55
|
+
if (options.interactive || Object.keys(params).length === 0) {
|
|
56
|
+
const paramEntries = Object.entries(template.parameters);
|
|
57
|
+
if (paramEntries.length > 0) {
|
|
58
|
+
console.log(chalk.cyan(`\nTemplate: ${template.name}`));
|
|
59
|
+
console.log(chalk.dim(template.description + '\n'));
|
|
60
|
+
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
61
|
+
const ask = (q) => new Promise(r => rl.question(q, r));
|
|
62
|
+
for (const [key, spec] of paramEntries) {
|
|
63
|
+
const defaultStr = spec.default !== undefined ? chalk.dim(` [${spec.default}]`) : '';
|
|
64
|
+
const enumStr = spec.enum ? chalk.dim(` (${spec.enum.join('/')})`) : '';
|
|
65
|
+
const exampleStr = spec.example ? chalk.dim(` e.g. ${spec.example}`) : '';
|
|
66
|
+
const required = spec.required !== false ? chalk.red('*') : '';
|
|
67
|
+
if (params[key] !== undefined)
|
|
68
|
+
continue; // Already provided via --param
|
|
69
|
+
const answer = await ask(` ${required}${key}${enumStr}${defaultStr}${exampleStr}: `);
|
|
70
|
+
if (answer.trim()) {
|
|
71
|
+
params[key] = answer.trim();
|
|
72
|
+
}
|
|
73
|
+
else if (spec.default !== undefined) {
|
|
74
|
+
params[key] = spec.default;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
rl.close();
|
|
78
|
+
console.log();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
// Validate parameters
|
|
82
|
+
const validation = validateParameters(template, params);
|
|
83
|
+
if (!validation.valid) {
|
|
84
|
+
console.log(chalk.red('Parameter errors:'));
|
|
85
|
+
for (const err of validation.errors) {
|
|
86
|
+
console.log(chalk.red(` - ${err}`));
|
|
87
|
+
}
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
// Resolve template into orchestration
|
|
91
|
+
const resolved = resolveTemplate(template, validation.resolved);
|
|
92
|
+
console.log(chalk.cyan(`Running template: ${template.name}`));
|
|
93
|
+
console.log(chalk.dim(`Pattern: ${resolved.pattern}`));
|
|
94
|
+
console.log(chalk.dim(`Parameters: ${Object.entries(validation.resolved).map(([k, v]) => `${k}=${v}`).join(', ')}`));
|
|
95
|
+
if (resolved.successCriteria.length > 0) {
|
|
96
|
+
console.log(chalk.dim('Success criteria:'));
|
|
97
|
+
for (const c of resolved.successCriteria) {
|
|
98
|
+
console.log(chalk.dim(` - ${c}`));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
console.log();
|
|
102
|
+
// Execute via engine
|
|
103
|
+
const { EventBus } = await import('../../core/event-bus.js');
|
|
104
|
+
const { AgentRegistry } = await import('../../core/registry.js');
|
|
105
|
+
const { PatternRegistry } = await import('../../core/patterns.js');
|
|
106
|
+
const { SwarmEngine } = await import('../../runtime/engine.js');
|
|
107
|
+
const { Logger } = await import('../../utils/logger.js');
|
|
108
|
+
const bus = new EventBus();
|
|
109
|
+
const logger = new Logger('swarm', 'info');
|
|
110
|
+
const agentRegistry = new AgentRegistry(bus);
|
|
111
|
+
const patterns = new PatternRegistry();
|
|
112
|
+
patterns.loadDefaults();
|
|
113
|
+
agentRegistry.loadWithResolution(process.cwd());
|
|
114
|
+
// Console output
|
|
115
|
+
bus.on('orchestration:phase-start', (event) => {
|
|
116
|
+
const data = event.data;
|
|
117
|
+
console.log(chalk.cyan(`▸ Phase: ${data.phase} (${data.agentCount} agents)`));
|
|
118
|
+
});
|
|
119
|
+
bus.on('agent:idle', (event) => {
|
|
120
|
+
const data = event.data;
|
|
121
|
+
const usage = data.usage;
|
|
122
|
+
console.log(chalk.green(` ✓ ${data.agentType} done`) + chalk.dim(` (${usage?.durationMs ?? 0}ms)`));
|
|
123
|
+
});
|
|
124
|
+
bus.on('agent:error', (event) => {
|
|
125
|
+
const data = event.data;
|
|
126
|
+
console.log(chalk.red(` ✗ ${data.agentType} failed: ${String(data.error).slice(0, 100)}`));
|
|
127
|
+
});
|
|
128
|
+
const engine = new SwarmEngine({
|
|
129
|
+
registry: agentRegistry, bus, logger, patterns,
|
|
130
|
+
mock: options.mock,
|
|
131
|
+
defaultBackend: options.backend,
|
|
132
|
+
});
|
|
133
|
+
const result = await engine.runPattern(resolved.pattern, resolved.task, {
|
|
134
|
+
costBudget: 5.0,
|
|
135
|
+
});
|
|
136
|
+
console.log();
|
|
137
|
+
if (result.status === 'completed') {
|
|
138
|
+
console.log(chalk.green('✓ Template complete'));
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
console.log(chalk.red(`✗ Template ${result.status}`));
|
|
142
|
+
}
|
|
143
|
+
console.log(chalk.dim(` Duration: ${Math.round(result.usage.durationMs / 1000)}s | Tokens: ${result.usage.totalTokens.toLocaleString()} | Cost: $${result.usage.costUsd.toFixed(4)}`));
|
|
144
|
+
});
|
|
145
|
+
// --- swarm template create <name> ---
|
|
146
|
+
templateCommand
|
|
147
|
+
.command('create <name>')
|
|
148
|
+
.description('Create a template from the last successful orchestration')
|
|
149
|
+
.option('--from-last', 'Extract from most recent trace', false)
|
|
150
|
+
.option('-d, --description <desc>', 'Template description')
|
|
151
|
+
.option('--dir <dir>', 'Output directory', '.swarm/templates')
|
|
152
|
+
.action((name, options) => {
|
|
153
|
+
if (options.fromLast) {
|
|
154
|
+
// Extract from most recent trace
|
|
155
|
+
let traceStore;
|
|
156
|
+
try {
|
|
157
|
+
traceStore = new TraceStore();
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
console.log(chalk.red('Could not open trace store.'));
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
const traces = traceStore.getByPattern('', 1); // Most recent
|
|
164
|
+
const allTraces = traceStore.findSimilar('*', 1);
|
|
165
|
+
const trace = traces[0] ?? allTraces[0];
|
|
166
|
+
if (!trace) {
|
|
167
|
+
console.log(chalk.red('No execution traces found. Run an orchestration first.'));
|
|
168
|
+
traceStore.close();
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
if (trace.status !== 'completed') {
|
|
172
|
+
console.log(chalk.yellow(`Warning: Last trace status was "${trace.status}" — extracting anyway.`));
|
|
173
|
+
}
|
|
174
|
+
const template = extractTemplateFromTrace(trace, name, options.description);
|
|
175
|
+
const filePath = saveTemplate(template, options.dir);
|
|
176
|
+
console.log(chalk.green(`✓ Template created: ${filePath}`));
|
|
177
|
+
console.log(chalk.dim(` Name: ${template.name}`));
|
|
178
|
+
console.log(chalk.dim(` Pattern: ${template.pattern}`));
|
|
179
|
+
console.log(chalk.dim(` Parameters: ${Object.keys(template.parameters).length} detected`));
|
|
180
|
+
if (Object.keys(template.parameters).length > 0) {
|
|
181
|
+
for (const [key, spec] of Object.entries(template.parameters)) {
|
|
182
|
+
console.log(chalk.dim(` ${key}: ${spec.description}`));
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
console.log(chalk.dim(`\nEdit ${filePath} to refine parameters and agent rules.`));
|
|
186
|
+
console.log(chalk.dim(`Run: swarm template run ${name} -i`));
|
|
187
|
+
traceStore.close();
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
// Create a blank template
|
|
191
|
+
const template = {
|
|
192
|
+
name,
|
|
193
|
+
description: options.description ?? `Custom template: ${name}`,
|
|
194
|
+
parameters: {
|
|
195
|
+
description: {
|
|
196
|
+
type: 'string',
|
|
197
|
+
description: 'What to do',
|
|
198
|
+
required: true,
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
pattern: 'hybrid',
|
|
202
|
+
context_files: [],
|
|
203
|
+
agents: {},
|
|
204
|
+
verification: [],
|
|
205
|
+
success_criteria: ['Orchestration completes successfully', 'All tests pass'],
|
|
206
|
+
tags: ['custom'],
|
|
207
|
+
};
|
|
208
|
+
const filePath = saveTemplate(template, options.dir);
|
|
209
|
+
console.log(chalk.green(`✓ Template scaffold created: ${filePath}`));
|
|
210
|
+
console.log(chalk.dim(`Edit the file to customize parameters, agents, and verification.`));
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
//# sourceMappingURL=template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/cli/commands/template.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/vault.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0CpC,eAAO,MAAM,YAAY,SACyB,CAAC"}
|