swarm-engine 1.1.0 → 1.3.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/CLAUDE.md +1 -1
- package/README.md +102 -25
- package/agents/accessibility-reviewer.md +2 -0
- package/agents/api-contract-reviewer.md +2 -0
- package/agents/concurrency-reviewer.md +2 -0
- package/agents/data-integrity-reviewer.md +1 -0
- package/agents/debugger.md +2 -0
- package/agents/dependency-reviewer.md +2 -0
- package/agents/devils-advocate.md +1 -0
- package/agents/documentation-reviewer.md +2 -0
- package/agents/documenter.md +13 -0
- package/agents/error-handling-reviewer.md +2 -0
- package/agents/grounding.md +3 -2
- package/agents/guardian.md +3 -0
- package/agents/implementer.md +2 -0
- package/agents/integrator.md +3 -0
- package/agents/judge.md +2 -0
- package/agents/librarian.md +4 -1
- package/agents/orchestrator.md +3 -0
- package/agents/performance-reviewer.md +2 -0
- package/agents/planner.md +2 -0
- package/agents/refactorer.md +3 -0
- package/agents/reviewer.md +1 -0
- package/agents/security-reviewer.md +1 -0
- package/agents/sentinel.md +3 -0
- package/agents/tester.md +2 -0
- package/agents/testing-reviewer.md +2 -0
- package/commands/diff-review.md +27 -15
- package/commands/discover.md +102 -0
- package/commands/dynamic.md +136 -0
- package/commands/fix-pr.md +30 -24
- package/commands/postmortem.md +106 -0
- package/commands/red-team.md +41 -26
- package/commands/research.md +22 -1
- package/commands/review-cycle.md +38 -20
- package/commands/spike.md +108 -0
- package/commands/swarm.md +68 -60
- package/commands/tdd.md +44 -24
- package/dist/cli/commands/acp.d.ts.map +1 -1
- package/dist/cli/commands/acp.js +12 -2
- package/dist/cli/commands/acp.js.map +1 -1
- package/dist/cli/commands/agents.d.ts.map +1 -1
- package/dist/cli/commands/agents.js +16 -13
- package/dist/cli/commands/agents.js.map +1 -1
- package/dist/cli/commands/completions.d.ts.map +1 -1
- package/dist/cli/commands/completions.js +21 -9
- package/dist/cli/commands/completions.js.map +1 -1
- package/dist/cli/commands/compound.d.ts.map +1 -1
- package/dist/cli/commands/compound.js +1 -2
- package/dist/cli/commands/compound.js.map +1 -1
- package/dist/cli/commands/configure.d.ts.map +1 -1
- package/dist/cli/commands/configure.js +24 -8
- package/dist/cli/commands/configure.js.map +1 -1
- package/dist/cli/commands/convert.d.ts +1 -1
- package/dist/cli/commands/convert.d.ts.map +1 -1
- package/dist/cli/commands/convert.js +22 -48
- package/dist/cli/commands/convert.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +1 -3
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +17 -7
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +1 -1
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/learn.js +6 -6
- package/dist/cli/commands/learn.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +1 -2
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/memory.d.ts.map +1 -1
- package/dist/cli/commands/memory.js +1 -2
- package/dist/cli/commands/memory.js.map +1 -1
- package/dist/cli/commands/orchestrate.d.ts.map +1 -1
- package/dist/cli/commands/orchestrate.js +20 -7
- package/dist/cli/commands/orchestrate.js.map +1 -1
- package/dist/cli/commands/plan.d.ts.map +1 -1
- package/dist/cli/commands/plan.js.map +1 -1
- package/dist/cli/commands/plugin.d.ts.map +1 -1
- package/dist/cli/commands/plugin.js +8 -5
- package/dist/cli/commands/plugin.js.map +1 -1
- package/dist/cli/commands/resume.js +1 -1
- package/dist/cli/commands/resume.js.map +1 -1
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +20 -6
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/share.d.ts.map +1 -1
- package/dist/cli/commands/share.js +6 -1
- package/dist/cli/commands/share.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +15 -7
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/template.d.ts.map +1 -1
- package/dist/cli/commands/template.js +14 -6
- package/dist/cli/commands/template.js.map +1 -1
- package/dist/cli/commands/vault.d.ts.map +1 -1
- package/dist/cli/commands/vault.js +14 -9
- package/dist/cli/commands/vault.js.map +1 -1
- package/dist/cli/commands/verify.d.ts.map +1 -1
- package/dist/cli/commands/verify.js +2 -2
- package/dist/cli/commands/verify.js.map +1 -1
- package/dist/cli/commands/watch.js +1 -1
- package/dist/cli/commands/watch.js.map +1 -1
- package/dist/cli/index.js +14 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/core/checkpoint.js +1 -1
- package/dist/core/checkpoint.js.map +1 -1
- package/dist/core/event-bus.d.ts.map +1 -1
- package/dist/core/event-bus.js +9 -3
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/lifecycle.js.map +1 -1
- package/dist/core/patterns.d.ts.map +1 -1
- package/dist/core/patterns.js +31 -8
- package/dist/core/patterns.js.map +1 -1
- package/dist/core/permissions.d.ts.map +1 -1
- package/dist/core/permissions.js +21 -10
- package/dist/core/permissions.js.map +1 -1
- package/dist/core/registry.d.ts.map +1 -1
- package/dist/core/registry.js +10 -6
- package/dist/core/registry.js.map +1 -1
- package/dist/core/snapshots.d.ts.map +1 -1
- package/dist/core/snapshots.js +17 -5
- package/dist/core/snapshots.js.map +1 -1
- package/dist/core/types.d.ts +3 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/index.d.ts +68 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +60 -4
- package/dist/index.js.map +1 -1
- package/dist/memory/index.d.ts +1 -0
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +39 -24
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/schema.d.ts +1 -0
- package/dist/memory/schema.d.ts.map +1 -1
- package/dist/memory/schema.js +20 -19
- package/dist/memory/schema.js.map +1 -1
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js.map +1 -1
- package/dist/runtime/acp.d.ts.map +1 -1
- package/dist/runtime/acp.js +71 -41
- package/dist/runtime/acp.js.map +1 -1
- package/dist/runtime/adaptive.d.ts.map +1 -1
- package/dist/runtime/adaptive.js +30 -31
- package/dist/runtime/adaptive.js.map +1 -1
- package/dist/runtime/agent-runner.d.ts +52 -0
- package/dist/runtime/agent-runner.d.ts.map +1 -0
- package/dist/runtime/agent-runner.js +156 -0
- package/dist/runtime/agent-runner.js.map +1 -0
- package/dist/runtime/autonomy.d.ts +1 -0
- package/dist/runtime/autonomy.d.ts.map +1 -1
- package/dist/runtime/autonomy.js +37 -19
- package/dist/runtime/autonomy.js.map +1 -1
- package/dist/runtime/backends/claude.d.ts.map +1 -1
- package/dist/runtime/backends/claude.js +2 -2
- package/dist/runtime/backends/claude.js.map +1 -1
- package/dist/runtime/backends/codex.d.ts.map +1 -1
- package/dist/runtime/backends/codex.js +8 -11
- package/dist/runtime/backends/codex.js.map +1 -1
- package/dist/runtime/backends/gemini.d.ts.map +1 -1
- package/dist/runtime/backends/gemini.js +11 -7
- package/dist/runtime/backends/gemini.js.map +1 -1
- package/dist/runtime/backends/index.js +1 -1
- package/dist/runtime/backends/index.js.map +1 -1
- package/dist/runtime/backends/mock.d.ts.map +1 -1
- package/dist/runtime/backends/mock.js +1 -1
- package/dist/runtime/backends/mock.js.map +1 -1
- package/dist/runtime/backends/vercel-ai.d.ts.map +1 -1
- package/dist/runtime/backends/vercel-ai.js +41 -9
- package/dist/runtime/backends/vercel-ai.js.map +1 -1
- package/dist/runtime/cache-optimizer.d.ts.map +1 -1
- package/dist/runtime/cache-optimizer.js +3 -9
- package/dist/runtime/cache-optimizer.js.map +1 -1
- package/dist/runtime/cascade.d.ts.map +1 -1
- package/dist/runtime/cascade.js +34 -7
- package/dist/runtime/cascade.js.map +1 -1
- package/dist/runtime/chunker.d.ts.map +1 -1
- package/dist/runtime/chunker.js +12 -6
- package/dist/runtime/chunker.js.map +1 -1
- package/dist/runtime/compounder.d.ts +1 -1
- package/dist/runtime/compounder.d.ts.map +1 -1
- package/dist/runtime/compounder.js +30 -11
- package/dist/runtime/compounder.js.map +1 -1
- package/dist/runtime/cost-model.d.ts.map +1 -1
- package/dist/runtime/cost-model.js +1 -1
- package/dist/runtime/cost-model.js.map +1 -1
- package/dist/runtime/database.d.ts +16 -0
- package/dist/runtime/database.d.ts.map +1 -0
- package/dist/runtime/database.js +39 -0
- package/dist/runtime/database.js.map +1 -0
- package/dist/runtime/distiller.d.ts.map +1 -1
- package/dist/runtime/distiller.js +6 -3
- package/dist/runtime/distiller.js.map +1 -1
- package/dist/runtime/engine.d.ts +7 -9
- package/dist/runtime/engine.d.ts.map +1 -1
- package/dist/runtime/engine.js +129 -394
- package/dist/runtime/engine.js.map +1 -1
- package/dist/runtime/executor.d.ts +1 -2
- package/dist/runtime/executor.d.ts.map +1 -1
- package/dist/runtime/executor.js +45 -14
- package/dist/runtime/executor.js.map +1 -1
- package/dist/runtime/heuristics.d.ts +1 -0
- package/dist/runtime/heuristics.d.ts.map +1 -1
- package/dist/runtime/heuristics.js +44 -22
- package/dist/runtime/heuristics.js.map +1 -1
- package/dist/runtime/learning-engine.d.ts +51 -0
- package/dist/runtime/learning-engine.d.ts.map +1 -0
- package/dist/runtime/learning-engine.js +209 -0
- package/dist/runtime/learning-engine.js.map +1 -0
- package/dist/runtime/living-spec.js +3 -3
- package/dist/runtime/living-spec.js.map +1 -1
- package/dist/runtime/lsp.d.ts.map +1 -1
- package/dist/runtime/lsp.js +41 -14
- package/dist/runtime/lsp.js.map +1 -1
- package/dist/runtime/mcp.d.ts.map +1 -1
- package/dist/runtime/mcp.js +56 -19
- package/dist/runtime/mcp.js.map +1 -1
- package/dist/runtime/model-router.d.ts +1 -0
- package/dist/runtime/model-router.d.ts.map +1 -1
- package/dist/runtime/model-router.js +37 -21
- package/dist/runtime/model-router.js.map +1 -1
- package/dist/runtime/panes.d.ts.map +1 -1
- package/dist/runtime/panes.js +50 -49
- package/dist/runtime/panes.js.map +1 -1
- package/dist/runtime/plan-search.js +2 -2
- package/dist/runtime/plan-search.js.map +1 -1
- package/dist/runtime/plugins.d.ts +1 -1
- package/dist/runtime/plugins.d.ts.map +1 -1
- package/dist/runtime/plugins.js +63 -47
- package/dist/runtime/plugins.js.map +1 -1
- package/dist/runtime/reflexion.d.ts.map +1 -1
- package/dist/runtime/reflexion.js +4 -8
- package/dist/runtime/reflexion.js.map +1 -1
- package/dist/runtime/review-schema.d.ts.map +1 -1
- package/dist/runtime/review-schema.js +12 -12
- package/dist/runtime/review-schema.js.map +1 -1
- package/dist/runtime/rewriter.d.ts.map +1 -1
- package/dist/runtime/rewriter.js +29 -9
- package/dist/runtime/rewriter.js.map +1 -1
- package/dist/runtime/sharing.d.ts +1 -1
- package/dist/runtime/sharing.d.ts.map +1 -1
- package/dist/runtime/sharing.js +55 -27
- package/dist/runtime/sharing.js.map +1 -1
- package/dist/runtime/stats.d.ts +1 -0
- package/dist/runtime/stats.d.ts.map +1 -1
- package/dist/runtime/stats.js +40 -24
- package/dist/runtime/stats.js.map +1 -1
- package/dist/runtime/templates.d.ts.map +1 -1
- package/dist/runtime/templates.js +2 -2
- package/dist/runtime/templates.js.map +1 -1
- package/dist/runtime/traces.d.ts +1 -0
- package/dist/runtime/traces.d.ts.map +1 -1
- package/dist/runtime/traces.js +50 -28
- package/dist/runtime/traces.js.map +1 -1
- package/dist/runtime/verifier.d.ts.map +1 -1
- package/dist/runtime/verifier.js +12 -6
- package/dist/runtime/verifier.js.map +1 -1
- package/dist/runtime/worktree.d.ts.map +1 -1
- package/dist/runtime/worktree.js +35 -18
- package/dist/runtime/worktree.js.map +1 -1
- package/dist/tui/dashboard.d.ts.map +1 -1
- package/dist/tui/dashboard.js +20 -16
- package/dist/tui/dashboard.js.map +1 -1
- package/dist/tui/progress.d.ts +2 -0
- package/dist/tui/progress.d.ts.map +1 -1
- package/dist/tui/progress.js +105 -33
- package/dist/tui/progress.js.map +1 -1
- package/dist/tui/renderer.d.ts.map +1 -1
- package/dist/tui/renderer.js.map +1 -1
- package/dist/utils/compact-format.js +1 -1
- package/dist/utils/compact-format.js.map +1 -1
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/env.js +19 -5
- package/dist/utils/env.js.map +1 -1
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +3 -7
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +6 -2
- package/dist/utils/output.js.map +1 -1
- package/dist/utils/project-config.d.ts +18 -0
- package/dist/utils/project-config.d.ts.map +1 -1
- package/dist/utils/project-config.js +14 -6
- package/dist/utils/project-config.js.map +1 -1
- package/dist/utils/schemas.d.ts.map +1 -1
- package/dist/utils/schemas.js +12 -12
- package/dist/utils/schemas.js.map +1 -1
- package/dist/utils/terminal.d.ts.map +1 -1
- package/dist/utils/terminal.js +18 -7
- package/dist/utils/terminal.js.map +1 -1
- package/dist/utils/tiers.d.ts.map +1 -1
- package/dist/utils/tiers.js +14 -6
- package/dist/utils/tiers.js.map +1 -1
- package/package.json +14 -3
- package/skills/swarm-output-style/SKILL.md +114 -46
package/dist/utils/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,cAAc,GAAiF;IACnG;QACE,OAAO,EAAE,wBAAwB;QACjC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACf,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa;YACtC,UAAU,EAAE,4DAA4D;YACxE,OAAO,EAAE,yBAAyB;SACnC,CAAC;KACH;IACD;QACE,OAAO,EAAE,wBAAwB;QACjC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACf,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa;YACtC,UAAU,EAAE,oFAAoF;YAChG,OAAO,EAAE,yBAAyB;SACnC,CAAC;KACH;IACD;QACE,OAAO,EAAE,2BAA2B;QACpC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACf,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB;YACzC,UAAU,EAAE,+CAA+C;YAC3D,OAAO,EAAE,mBAAmB;SAC7B,CAAC;KACH;IACD;QACE,OAAO,EAAE,iCAAiC;QAC1C,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACd,OAAO,EAAE,2BAA2B;YACpC,UAAU,EAAE,0DAA0D;YACtE,OAAO,EAAE,cAAc;SACxB,CAAC;KACH;IACD;QACE,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACd,OAAO,EAAE,yBAAyB;YAClC,UAAU,EAAE,yCAAyC;YACrD,OAAO,EAAE,YAAY;SACtB,CAAC;KACH;IACD;QACE,OAAO,EAAE,kCAAkC;QAC3C,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACd,OAAO,EAAE,sBAAsB;YAC/B,UAAU,EAAE,4DAA4D;SACzE,CAAC;KACH;IACD;QACE,OAAO,EAAE,sCAAsC;QAC/C,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACd,OAAO,EAAE,sBAAsB;YAC/B,UAAU,EAAE,yCAAyC;YACrD,OAAO,EAAE,cAAc;SACxB,CAAC;KACH;IACD;QACE,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YACd,OAAO,EAAE,iBAAiB;YAC1B,UAAU,EAAE,yEAAyE;SACtF,CAAC;KACH;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAqB;IAC/C,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEvE,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,cAAc,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,KAAK,GAAG
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAKA,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAGjE;AAED,wBAAgB,UAAU,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAKA,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAGjE;AAED,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AACD,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED,4CAA4C;AAC5C,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED,+CAA+C;AAC/C,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAI7C;AAED,oEAAoE;AACpE,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE9C"}
|
package/dist/utils/output.js
CHANGED
|
@@ -5,8 +5,12 @@ export function setOutputMode(json, quiet) {
|
|
|
5
5
|
jsonMode = json;
|
|
6
6
|
quietMode = quiet;
|
|
7
7
|
}
|
|
8
|
-
export function isJsonMode() {
|
|
9
|
-
|
|
8
|
+
export function isJsonMode() {
|
|
9
|
+
return jsonMode;
|
|
10
|
+
}
|
|
11
|
+
export function isQuietMode() {
|
|
12
|
+
return quietMode;
|
|
13
|
+
}
|
|
10
14
|
/** Print to stdout — respects quiet mode */
|
|
11
15
|
export function print(message) {
|
|
12
16
|
if (!quietMode)
|
package/dist/utils/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB,MAAM,UAAU,aAAa,CAAC,IAAa,EAAE,KAAc;IACzD,QAAQ,GAAG,IAAI,CAAC;IAChB,SAAS,GAAG,KAAK,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,UAAU,
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB,MAAM,UAAU,aAAa,CAAC,IAAa,EAAE,KAAc;IACzD,QAAQ,GAAG,IAAI,CAAC;IAChB,SAAS,GAAG,KAAK,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,QAAQ,CAAC;AAClB,CAAC;AACD,MAAM,UAAU,WAAW;IACzB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,KAAK,CAAC,OAAe;IACnC,IAAI,CAAC,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project-level config loaded from .swarm.yml / .swarm.yaml (snake_case).
|
|
3
|
+
*
|
|
4
|
+
* Relationship to global config:
|
|
5
|
+
* - .swarm.yml — project-level, snake_case keys, YAML
|
|
6
|
+
* - .swarm/config.json — global/local, camelCase keys, JSON
|
|
7
|
+
*
|
|
8
|
+
* CLI flags > .swarm.yml (project) > .swarm/config.json (global) > defaults.
|
|
9
|
+
*/
|
|
1
10
|
export interface ProjectConfig {
|
|
2
11
|
project?: string;
|
|
12
|
+
default_backend?: string;
|
|
3
13
|
default_pattern?: string;
|
|
4
14
|
cost_budget?: number;
|
|
5
15
|
autonomy?: 'ask' | 'auto';
|
|
@@ -14,5 +24,13 @@ export interface ProjectConfig {
|
|
|
14
24
|
}>;
|
|
15
25
|
}
|
|
16
26
|
export declare function loadProjectConfig(cwd?: string): ProjectConfig | null;
|
|
27
|
+
/**
|
|
28
|
+
* Resolve the effective default backend from project config (.swarm.yml).
|
|
29
|
+
* Returns the project-level default_backend if set, otherwise null.
|
|
30
|
+
*
|
|
31
|
+
* CLI commands should use this to fall back when no --backend flag is given:
|
|
32
|
+
* const backend = cliFlag !== 'claude' ? cliFlag : getProjectDefaultBackend() ?? 'claude';
|
|
33
|
+
*/
|
|
34
|
+
export declare function getProjectDefaultBackend(cwd?: string): string | null;
|
|
17
35
|
export declare function getProjectName(cwd?: string): string | null;
|
|
18
36
|
//# sourceMappingURL=project-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../../src/utils/project-config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../../src/utils/project-config.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CACb,MAAM,EACN;QAEE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CACF,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CACf,MAAM,EACN;QAEE,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CACF,CAAC;CACH;AAED,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAmBpE;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGpE;AAED,wBAAgB,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiB1D"}
|
|
@@ -3,11 +3,7 @@ import { join } from 'path';
|
|
|
3
3
|
import yaml from 'js-yaml';
|
|
4
4
|
export function loadProjectConfig(cwd) {
|
|
5
5
|
const dir = cwd ?? process.cwd();
|
|
6
|
-
const candidates = [
|
|
7
|
-
join(dir, '.swarm.yml'),
|
|
8
|
-
join(dir, '.swarm.yaml'),
|
|
9
|
-
join(dir, '.swarm', 'config.yml'),
|
|
10
|
-
];
|
|
6
|
+
const candidates = [join(dir, '.swarm.yml'), join(dir, '.swarm.yaml'), join(dir, '.swarm', 'config.yml')];
|
|
11
7
|
for (const path of candidates) {
|
|
12
8
|
if (existsSync(path)) {
|
|
13
9
|
try {
|
|
@@ -17,13 +13,25 @@ export function loadProjectConfig(cwd) {
|
|
|
17
13
|
return parsed;
|
|
18
14
|
}
|
|
19
15
|
}
|
|
20
|
-
catch {
|
|
16
|
+
catch (e) {
|
|
17
|
+
console.warn(`[swarm] Failed to parse ${path}: ${e instanceof Error ? e.message : e}`);
|
|
21
18
|
return null;
|
|
22
19
|
}
|
|
23
20
|
}
|
|
24
21
|
}
|
|
25
22
|
return null;
|
|
26
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Resolve the effective default backend from project config (.swarm.yml).
|
|
26
|
+
* Returns the project-level default_backend if set, otherwise null.
|
|
27
|
+
*
|
|
28
|
+
* CLI commands should use this to fall back when no --backend flag is given:
|
|
29
|
+
* const backend = cliFlag !== 'claude' ? cliFlag : getProjectDefaultBackend() ?? 'claude';
|
|
30
|
+
*/
|
|
31
|
+
export function getProjectDefaultBackend(cwd) {
|
|
32
|
+
const config = loadProjectConfig(cwd);
|
|
33
|
+
return config?.default_backend ?? null;
|
|
34
|
+
}
|
|
27
35
|
export function getProjectName(cwd) {
|
|
28
36
|
// Try .swarm.yml first
|
|
29
37
|
const config = loadProjectConfig(cwd);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-config.js","sourceRoot":"","sources":["../../src/utils/project-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,IAAI,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"project-config.js","sourceRoot":"","sources":["../../src/utils/project-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,IAAI,MAAM,SAAS,CAAC;AAoC3B,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,MAAM,GAAG,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACjC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAE1G,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gBACnE,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACzC,OAAO,MAAuB,CAAC;gBACjC,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,2BAA2B,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvF,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAY;IACnD,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,MAAM,EAAE,eAAe,IAAI,IAAI,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,uBAAuB;IACvB,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,MAAM,EAAE,OAAO;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IAE3C,mBAAmB;IACnB,MAAM,GAAG,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC1C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YACvD,IAAI,GAAG,CAAC,IAAI;gBAAE,OAAO,GAAG,CAAC,IAAI,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,8BAA8B;IAC9B,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;AACtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/utils/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,eAAe,2BAA0C,CAAC;AAEvE,eAAO,MAAM,uBAAuB;;;;GAAqD,CAAC;AAE1F,eAAO,MAAM,gBAAgB;;;;GAAiD,CAAC;AAE/E,eAAO,MAAM,kBAAkB;;;GAA4C,CAAC;AAE5E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/utils/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,eAAe,2BAA0C,CAAC;AAEvE,eAAO,MAAM,uBAAuB;;;;GAAqD,CAAC;AAE1F,eAAO,MAAM,gBAAgB;;;;GAAiD,CAAC;AAE/E,eAAO,MAAM,kBAAkB;;;GAA4C,CAAC;AAE5E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuBnB,CAAC;AAIjB,eAAO,MAAM,uBAAuB;;;;;;;;;;;iBAOlC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;iBAKtC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;iBAIrC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAYjB,CAAC"}
|
package/dist/utils/schemas.js
CHANGED
|
@@ -4,7 +4,8 @@ export const ModelTierSchema = z.string().default('claude-sonnet-4-6');
|
|
|
4
4
|
export const PermissionProfileSchema = z.enum(['safe', 'standard', 'trusted']).optional();
|
|
5
5
|
export const PromptTierSchema = z.enum(['full', 'lite', 'minimal']).optional();
|
|
6
6
|
export const OutputFormatSchema = z.enum(['free', 'structured']).optional();
|
|
7
|
-
export const AgentFrontmatterSchema = z
|
|
7
|
+
export const AgentFrontmatterSchema = z
|
|
8
|
+
.object({
|
|
8
9
|
name: z.string().min(1, 'Agent name is required'),
|
|
9
10
|
description: z.string().default(''),
|
|
10
11
|
model: ModelTierSchema,
|
|
@@ -12,14 +13,10 @@ export const AgentFrontmatterSchema = z.object({
|
|
|
12
13
|
backend: z.string().optional(),
|
|
13
14
|
backendModel: z.string().optional(),
|
|
14
15
|
extends: z.string().optional(),
|
|
15
|
-
tools: z.union([
|
|
16
|
-
|
|
17
|
-
z.string().transform(s => s.split(',').map(t => t.trim()))
|
|
18
|
-
|
|
19
|
-
disallowedTools: z.union([
|
|
20
|
-
z.array(z.string()),
|
|
21
|
-
z.string().transform(s => s.split(',').map(t => t.trim())),
|
|
22
|
-
]).optional(),
|
|
16
|
+
tools: z.union([z.array(z.string()), z.string().transform((s) => s.split(',').map((t) => t.trim()))]).optional(),
|
|
17
|
+
disallowedTools: z
|
|
18
|
+
.union([z.array(z.string()), z.string().transform((s) => s.split(',').map((t) => t.trim()))])
|
|
19
|
+
.optional(),
|
|
23
20
|
maxTurns: z.number().positive().optional(),
|
|
24
21
|
timeout: z.number().positive().optional(),
|
|
25
22
|
costBudget: z.number().positive().optional(),
|
|
@@ -29,7 +26,8 @@ export const AgentFrontmatterSchema = z.object({
|
|
|
29
26
|
outputFormat: OutputFormatSchema,
|
|
30
27
|
mcp: z.array(z.string()).optional(),
|
|
31
28
|
worktree: z.boolean().optional(),
|
|
32
|
-
})
|
|
29
|
+
})
|
|
30
|
+
.passthrough(); // Allow unknown fields for forward compatibility
|
|
33
31
|
// ─── Template Schema ──────────────────────────────────────────
|
|
34
32
|
export const TemplateParameterSchema = z.object({
|
|
35
33
|
type: z.enum(['string', 'number', 'boolean']),
|
|
@@ -50,7 +48,8 @@ export const TemplateVerificationSchema = z.object({
|
|
|
50
48
|
command: z.string(),
|
|
51
49
|
optional: z.boolean().default(false),
|
|
52
50
|
});
|
|
53
|
-
export const TemplateConfigSchema = z
|
|
51
|
+
export const TemplateConfigSchema = z
|
|
52
|
+
.object({
|
|
54
53
|
name: z.string().min(1, 'Template name is required'),
|
|
55
54
|
description: z.string(),
|
|
56
55
|
parameters: z.record(z.string(), TemplateParameterSchema).default({}),
|
|
@@ -60,5 +59,6 @@ export const TemplateConfigSchema = z.object({
|
|
|
60
59
|
verification: z.array(TemplateVerificationSchema).optional(),
|
|
61
60
|
success_criteria: z.array(z.string()).optional(),
|
|
62
61
|
tags: z.array(z.string()).optional(),
|
|
63
|
-
})
|
|
62
|
+
})
|
|
63
|
+
.passthrough();
|
|
64
64
|
//# sourceMappingURL=schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/utils/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,iEAAiE;AAEjE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAEvE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAE1F,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAE/E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAE5E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/utils/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/utils/terminal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAAC;AAEtG,wBAAgB,cAAc,IAAI,YAAY,CAU7C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAK5C;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAIvC;AAED;;GAEG;AACH,wBAAgB,IAAI,IAAI,OAAO,CAE9B;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/utils/terminal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAAC;AAEtG,wBAAgB,cAAc,IAAI,YAAY,CAU7C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAK5C;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAIvC;AAED;;GAEG;AACH,wBAAgB,IAAI,IAAI,OAAO,CAE9B;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,OAAO,CAEjC;AACD,wBAAgB,OAAO,IAAI,OAAO,CAEjC;AACD,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyB1E"}
|
package/dist/utils/terminal.js
CHANGED
|
@@ -51,9 +51,15 @@ export function isCI() {
|
|
|
51
51
|
/**
|
|
52
52
|
* Platform detection.
|
|
53
53
|
*/
|
|
54
|
-
export function isMacOS() {
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
export function isMacOS() {
|
|
55
|
+
return process.platform === 'darwin';
|
|
56
|
+
}
|
|
57
|
+
export function isLinux() {
|
|
58
|
+
return process.platform === 'linux';
|
|
59
|
+
}
|
|
60
|
+
export function isWindows() {
|
|
61
|
+
return process.platform === 'win32';
|
|
62
|
+
}
|
|
57
63
|
/**
|
|
58
64
|
* Send a desktop notification (cross-platform).
|
|
59
65
|
*/
|
|
@@ -65,10 +71,15 @@ export async function notify(title, message) {
|
|
|
65
71
|
if (isMacOS()) {
|
|
66
72
|
// Use execFile with argument array — prevents shell injection
|
|
67
73
|
await execFileAsync('osascript', [
|
|
68
|
-
'-e',
|
|
69
|
-
'
|
|
70
|
-
'-e',
|
|
71
|
-
'
|
|
74
|
+
'-e',
|
|
75
|
+
'on run argv',
|
|
76
|
+
'-e',
|
|
77
|
+
'display notification (item 1 of argv) with title (item 2 of argv)',
|
|
78
|
+
'-e',
|
|
79
|
+
'end run',
|
|
80
|
+
'--',
|
|
81
|
+
message,
|
|
82
|
+
title,
|
|
72
83
|
]);
|
|
73
84
|
}
|
|
74
85
|
else if (isLinux()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/utils/terminal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,UAAU,cAAc;IAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAClE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IAEzC,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,QAAQ,CAAC;IACnD,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACtD,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACtD,IAAI,SAAS;QAAE,OAAO,kBAAkB,CAAC;IACzC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IACpC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,gEAAgE;IAChE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACnD,2CAA2C;IAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,IAAI;IAClB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC9G,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/utils/terminal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiers.d.ts","sourceRoot":"","sources":["../../src/utils/tiers.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,GAAG,WAAW,CAAC;AA6BjD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"tiers.d.ts","sourceRoot":"","sources":["../../src/utils/tiers.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,GAAG,WAAW,CAAC;AA6BjD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAqB7C;AASD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,IAAI,CAAA;CAAE,GAAG,IAAI,CAGrE"}
|
package/dist/utils/tiers.js
CHANGED
|
@@ -8,7 +8,7 @@ const MODEL_TIERS = {
|
|
|
8
8
|
'gpt-4o-mini': 'cheap',
|
|
9
9
|
'gpt-4o': 'mid',
|
|
10
10
|
'gpt-4.1': 'mid',
|
|
11
|
-
|
|
11
|
+
o3: 'expensive',
|
|
12
12
|
'o4-mini': 'cheap',
|
|
13
13
|
// Google
|
|
14
14
|
'gemini-2.5-flash': 'cheap',
|
|
@@ -29,17 +29,25 @@ export function inferTier(model) {
|
|
|
29
29
|
return MODEL_TIERS[model];
|
|
30
30
|
// Heuristic: check for keywords
|
|
31
31
|
const lower = model.toLowerCase();
|
|
32
|
-
if (lower.includes('haiku') ||
|
|
32
|
+
if (lower.includes('haiku') ||
|
|
33
|
+
lower.includes('mini') ||
|
|
34
|
+
lower.includes('flash') ||
|
|
35
|
+
lower.includes('small') ||
|
|
36
|
+
lower.includes('instant'))
|
|
33
37
|
return 'cheap';
|
|
34
|
-
if (lower.includes('opus') ||
|
|
38
|
+
if (lower.includes('opus') ||
|
|
39
|
+
lower.includes('pro') ||
|
|
40
|
+
lower.includes('large') ||
|
|
41
|
+
lower.includes('o3') ||
|
|
42
|
+
lower.includes('grok-3'))
|
|
35
43
|
return 'expensive';
|
|
36
44
|
return 'mid'; // default
|
|
37
45
|
}
|
|
38
46
|
// Expand old shorthand values to full model names
|
|
39
47
|
const LEGACY_MODEL_MAP = {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
48
|
+
haiku: 'claude-haiku-4-5-20251001',
|
|
49
|
+
sonnet: 'claude-sonnet-4-6',
|
|
50
|
+
opus: 'claude-opus-4-6',
|
|
43
51
|
};
|
|
44
52
|
export function resolveModel(model) {
|
|
45
53
|
return LEGACY_MODEL_MAP[model] ?? model;
|
package/dist/utils/tiers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiers.js","sourceRoot":"","sources":["../../src/utils/tiers.ts"],"names":[],"mappings":"AAEA,+BAA+B;AAC/B,MAAM,WAAW,GAAyB;IACxC,SAAS;IACT,2BAA2B,EAAE,OAAO;IACpC,mBAAmB,EAAE,KAAK;IAC1B,iBAAiB,EAAE,WAAW;IAC9B,SAAS;IACT,aAAa,EAAE,OAAO;IACtB,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,KAAK;IAChB,
|
|
1
|
+
{"version":3,"file":"tiers.js","sourceRoot":"","sources":["../../src/utils/tiers.ts"],"names":[],"mappings":"AAEA,+BAA+B;AAC/B,MAAM,WAAW,GAAyB;IACxC,SAAS;IACT,2BAA2B,EAAE,OAAO;IACpC,mBAAmB,EAAE,KAAK;IAC1B,iBAAiB,EAAE,WAAW;IAC9B,SAAS;IACT,aAAa,EAAE,OAAO;IACtB,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,KAAK;IAChB,EAAE,EAAE,WAAW;IACf,SAAS,EAAE,OAAO;IAClB,SAAS;IACT,kBAAkB,EAAE,OAAO;IAC3B,gBAAgB,EAAE,WAAW;IAC7B,UAAU;IACV,sBAAsB,EAAE,OAAO;IAC/B,uBAAuB,EAAE,KAAK;IAC9B,sBAAsB,EAAE,WAAW;IACnC,OAAO;IACP,sBAAsB,EAAE,OAAO;IAC/B,yBAAyB,EAAE,WAAW;IACtC,MAAM;IACN,aAAa,EAAE,OAAO;IACtB,QAAQ,EAAE,WAAW;CACtB,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,IAAI,WAAW,CAAC,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IAClD,gCAAgC;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,IACE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QACvB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QACvB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QACvB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QAEzB,OAAO,OAAO,CAAC;IACjB,IACE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QACvB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAExB,OAAO,WAAW,CAAC;IACrB,OAAO,KAAK,CAAC,CAAC,UAAU;AAC1B,CAAC;AAED,kDAAkD;AAClD,MAAM,gBAAgB,GAA2B;IAC/C,KAAK,EAAE,2BAA2B;IAClC,MAAM,EAAE,mBAAmB;IAC3B,IAAI,EAAE,iBAAiB;CACxB,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,MAAuC;IAC7D,IAAI,MAAM,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IACpC,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;AACxD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "swarm-engine",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Multi-agent orchestration for AI coding tools — your agents, orchestrated",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -26,20 +26,31 @@
|
|
|
26
26
|
"test": "vitest",
|
|
27
27
|
"test:run": "vitest run",
|
|
28
28
|
"lint": "tsc --noEmit",
|
|
29
|
+
"format": "prettier --write 'src/**/*.ts' 'tests/**/*.ts'",
|
|
30
|
+
"format:check": "prettier --check 'src/**/*.ts' 'tests/**/*.ts'",
|
|
29
31
|
"start": "node dist/cli/index.js",
|
|
30
32
|
"prepublishOnly": "npm run build"
|
|
31
33
|
},
|
|
34
|
+
"exports": {
|
|
35
|
+
".": {
|
|
36
|
+
"types": "./dist/index.d.ts",
|
|
37
|
+
"import": "./dist/index.js"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
32
40
|
"dependencies": {
|
|
33
41
|
"@anthropic-ai/claude-agent-sdk": "^0.2.90",
|
|
34
42
|
"better-sqlite3": "^12.8.0",
|
|
35
43
|
"chalk": "^5.3.0",
|
|
36
44
|
"commander": "^12.0.0",
|
|
37
|
-
"js-yaml": "^4.1.1"
|
|
45
|
+
"js-yaml": "^4.1.1",
|
|
46
|
+
"zod": "^4.3.6"
|
|
38
47
|
},
|
|
39
48
|
"devDependencies": {
|
|
40
49
|
"@types/better-sqlite3": "^7.6.13",
|
|
41
50
|
"@types/js-yaml": "^4.0.9",
|
|
42
51
|
"@types/node": "^22.0.0",
|
|
52
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
53
|
+
"prettier": "^3.8.1",
|
|
43
54
|
"tsx": "^4.0.0",
|
|
44
55
|
"typescript": "^5.7.0",
|
|
45
56
|
"vitest": "^3.0.0"
|
|
@@ -66,5 +77,5 @@
|
|
|
66
77
|
"homepage": "https://github.com/simoncoombes/swarm-engine",
|
|
67
78
|
"bugs": "https://github.com/simoncoombes/swarm-engine/issues",
|
|
68
79
|
"license": "MIT",
|
|
69
|
-
"author": "Simon Coombes <simon@
|
|
80
|
+
"author": "Simon Coombes <simon@coombes.io>"
|
|
70
81
|
}
|
|
@@ -9,77 +9,145 @@ description: |
|
|
|
9
9
|
|
|
10
10
|
# Swarm Output Style Guide
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
All orchestration output follows this guide. The goal: the user should always know what's happening, what it costs, and what to do next.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
## 1. Pre-flight Plan (MANDATORY before any agent spawns)
|
|
15
|
+
|
|
16
|
+
Show this BEFORE creating any team or spawning any agent. The user must approve before tokens are spent.
|
|
15
17
|
|
|
16
18
|
```
|
|
17
19
|
## Orchestration Plan
|
|
18
20
|
|
|
19
21
|
**Task**: [1-line description]
|
|
20
|
-
**Pattern**: [pattern name]
|
|
21
|
-
|
|
22
|
+
**Pattern**: [pattern name] | **Phases**: [N] | **Agents**: [N] | **Est. cost**: ~$[amount] | **Est. time**: ~[duration]
|
|
23
|
+
|
|
24
|
+
### Phase 1: [Name] -- [parallel/sequential] (~[time], ~$[cost])
|
|
25
|
+
| Agent | Model | Focus |
|
|
26
|
+
|-------|-------|-------|
|
|
27
|
+
| `agent-name` | [model] | [what this agent will do] |
|
|
28
|
+
|
|
29
|
+
### Phase 2: [Name] -- [parallel/sequential] (~[time], ~$[cost])
|
|
30
|
+
| Agent | Model | Focus |
|
|
31
|
+
|-------|-------|-------|
|
|
32
|
+
| `agent-name` | [model] | [what this agent will do] |
|
|
22
33
|
|
|
23
|
-
|
|
24
|
-
| Agent | Role | Model | Focus |
|
|
25
|
-
|-------|------|-------|-------|
|
|
26
|
-
| `name` | type | model | what they do |
|
|
34
|
+
[repeat for all phases]
|
|
27
35
|
|
|
28
|
-
|
|
29
|
-
| Agent | Role | Model | Focus |
|
|
30
|
-
|-------|------|-------|-------|
|
|
31
|
-
| `name` | type | model | what they do |
|
|
36
|
+
Proceed?
|
|
32
37
|
```
|
|
33
38
|
|
|
34
|
-
|
|
39
|
+
Cost estimates use these rough defaults per agent type:
|
|
40
|
+
- Researcher (mid tier): ~5K tokens, ~$0.04
|
|
41
|
+
- Implementer (expensive tier): ~15K tokens, ~$0.19
|
|
42
|
+
- Reviewer (expensive tier): ~8K tokens, ~$0.10
|
|
43
|
+
- Tester (expensive tier): ~10K tokens, ~$0.13
|
|
44
|
+
- Debugger (expensive tier): ~12K tokens, ~$0.15
|
|
45
|
+
|
|
46
|
+
## 2. Phase Transition Banners
|
|
47
|
+
|
|
48
|
+
At the start of each phase, show a clear banner with running totals:
|
|
35
49
|
|
|
36
|
-
Keep compact. One line per agent with status:
|
|
37
50
|
```
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
51
|
+
---
|
|
52
|
+
**Phase [N] / [total]: [Name]** -- [N] agent(s) [parallel/sequential]
|
|
53
|
+
Running total: ~$[amount] | [elapsed] elapsed
|
|
41
54
|
```
|
|
42
55
|
|
|
43
|
-
|
|
56
|
+
## 3. Agent Completion Lines
|
|
44
57
|
|
|
45
|
-
|
|
58
|
+
As each agent finishes, append a single line:
|
|
46
59
|
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
- Include file:line references
|
|
51
|
-
- Keep it scannable — bullet points, not paragraphs
|
|
60
|
+
```
|
|
61
|
+
`agent-name` [done] [duration] | ~[tokens] tokens | [1-line summary of what they found/did]
|
|
62
|
+
```
|
|
52
63
|
|
|
53
|
-
|
|
64
|
+
If an agent errors:
|
|
54
65
|
|
|
55
66
|
```
|
|
56
|
-
|
|
67
|
+
`agent-name` [error] [duration] | [1-line error description]
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Do NOT dump raw agent output. Summarize the key finding in one line.
|
|
57
71
|
|
|
58
|
-
|
|
72
|
+
## 4. Phase Summary (between phases)
|
|
59
73
|
|
|
60
|
-
|
|
61
|
-
- [bullet points]
|
|
74
|
+
After all agents in a phase complete, summarize before moving on:
|
|
62
75
|
|
|
63
|
-
|
|
64
|
-
|
|
76
|
+
```
|
|
77
|
+
**Phase [N] complete** -- [duration] | ~[tokens] tokens | ~$[cost]
|
|
78
|
+
|
|
79
|
+
Key findings:
|
|
80
|
+
- [finding 1 with file:line reference if applicable]
|
|
81
|
+
- [finding 2]
|
|
82
|
+
|
|
83
|
+
Proceeding to Phase [N+1] -- [name]
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Only ask for explicit approval at the Research-to-Implement transition (where cost jumps). Other transitions proceed automatically.
|
|
87
|
+
|
|
88
|
+
## 5. Error Recovery (when agents fail or return low confidence)
|
|
89
|
+
|
|
90
|
+
Surface structured options, don't just stop:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
**Agent issue**: `agent-name` -- [description of problem]
|
|
65
94
|
|
|
66
|
-
|
|
67
|
-
|
|
95
|
+
Options:
|
|
96
|
+
1. **Retry** with [adjusted parameters]
|
|
97
|
+
2. **Skip** and proceed to next phase
|
|
98
|
+
3. **Abort** orchestration
|
|
99
|
+
|
|
100
|
+
Choice (1-3) or describe a different approach >
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
For low-confidence results:
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
**Low confidence**: `agent-name` flagged uncertainty about [specific thing]
|
|
107
|
+
|
|
108
|
+
Options:
|
|
109
|
+
1. **Accept** and note as a risk
|
|
110
|
+
2. **Spawn** a targeted agent to investigate further
|
|
111
|
+
3. **Flag** for manual review in the summary
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## 6. Post-Completion Summary (MANDATORY)
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
---
|
|
118
|
+
## Orchestration Complete -- [PASS / NEEDS ATTENTION / FAILED]
|
|
119
|
+
|
|
120
|
+
**Pattern**: [name] | **Phases**: [N] | **Agents**: [N] | **Duration**: [time]
|
|
121
|
+
**Tokens**: ~[total] | **Cost**: ~$[amount]
|
|
122
|
+
|
|
123
|
+
### What Changed
|
|
124
|
+
[List files with brief descriptions. Include `git diff --stat` output if available.]
|
|
125
|
+
|
|
126
|
+
### Review Gate: [PASS / FAIL] ([Nth] iteration)
|
|
127
|
+
| Reviewer | Result | Findings |
|
|
128
|
+
|----------|--------|----------|
|
|
129
|
+
| [name] | PASS/FAIL | [count] critical, [count] important, [count] suggestions |
|
|
130
|
+
|
|
131
|
+
### Suggestions (non-blocking)
|
|
132
|
+
- [suggestion with reviewer attribution]
|
|
133
|
+
|
|
134
|
+
### Knowledge Stored
|
|
135
|
+
- [what was saved to memory, if anything]
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
**Next steps:**
|
|
139
|
+
- Review changes: `git diff HEAD`
|
|
140
|
+
- Run tests: `npm test` (or project equivalent)
|
|
141
|
+
- Run verification: type `/verify`
|
|
68
142
|
```
|
|
69
143
|
|
|
70
144
|
## Anti-Patterns (DO NOT)
|
|
71
145
|
|
|
146
|
+
- Do NOT spawn agents before showing the pre-flight plan
|
|
72
147
|
- Do NOT dump raw agent transcripts into the summary
|
|
73
|
-
- Do NOT use emoji in structured output
|
|
74
|
-
- Do NOT repeat the
|
|
75
|
-
- Do NOT show agent Meta blocks to the user
|
|
76
|
-
- Do NOT use vague language ("various improvements")
|
|
77
|
-
- Do NOT include timestamps
|
|
78
|
-
|
|
79
|
-
## Color Conventions (for terminal output)
|
|
80
|
-
|
|
81
|
-
When outputting to terminal:
|
|
82
|
-
- **Bold** for section headers
|
|
83
|
-
- Agent names in their role color (blue=researcher, green=implementer, yellow=reviewer)
|
|
84
|
-
- Status badges: `[working]` `[done]` `[idle]` `[error]`
|
|
85
|
-
- Keep lines under 80 characters for terminal compatibility
|
|
148
|
+
- Do NOT use emoji in structured output
|
|
149
|
+
- Do NOT repeat the full task description in every status update
|
|
150
|
+
- Do NOT show agent Meta blocks to the user -- synthesize them
|
|
151
|
+
- Do NOT use vague language ("various improvements") -- be specific
|
|
152
|
+
- Do NOT include timestamps on every line -- only in phase banners
|
|
153
|
+
- Do NOT ask "proceed?" after every phase -- only at Research-to-Implement transition
|