opencode-swarm 7.158.1 → 7.159.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/README.md +4 -2
- package/dist/cli/{coder-settlement-nrtcjr0h.js → coder-settlement-66mqw0xt.js} +3 -3
- package/dist/cli/{config-doctor-hs0x10ty.js → config-doctor-nkx61b9e.js} +2 -2
- package/dist/cli/{core-a42bexs1.js → core-b3db7gf6.js} +1 -1
- package/dist/cli/{curator-llm-factory-21vqqvn3.js → curator-llm-factory-c4y1mrr5.js} +19 -19
- package/dist/cli/{curator-yawrnk3t.js → curator-w4ntvkz5.js} +19 -19
- package/dist/cli/{evidence-summary-service-kmc92b95.js → evidence-summary-service-vadgnzk6.js} +6 -6
- package/dist/cli/{gate-evidence-6tzhdxb2.js → gate-evidence-0chatz5e.js} +2 -2
- package/dist/cli/{guardrail-explain-7xrdp18c.js → guardrail-explain-ax2qmsp4.js} +20 -20
- package/dist/cli/{guardrail-log-f16sdc3p.js → guardrail-log-t3c9g8tc.js} +3 -3
- package/dist/cli/{guardrail-reset-0ks08s0t.js → guardrail-reset-wvdb5sv5.js} +19 -19
- package/dist/cli/{hive-promoter-d661k3qq.js → hive-promoter-mfq3ee0n.js} +19 -19
- package/dist/cli/{index-ff8xjr1c.js → index-04yrxg0z.js} +1 -1
- package/dist/cli/{index-hrrzxz3q.js → index-1sdb57jv.js} +3 -3
- package/dist/cli/{index-5erwyk1b.js → index-35grv4jg.js} +3 -3
- package/dist/cli/{index-ac8rwjsg.js → index-3e8600a7.js} +130 -61
- package/dist/cli/{index-86vvhe8m.js → index-6e6qxf5q.js} +15 -1
- package/dist/cli/{index-nphnjeh8.js → index-8jnzp5ct.js} +2 -2
- package/dist/cli/{index-4wy9kzjg.js → index-8kfbdrxa.js} +21 -21
- package/dist/cli/{index-xzhk2hav.js → index-9vt2hknx.js} +1 -1
- package/dist/cli/{index-mt6qjp4c.js → index-b1tenv2s.js} +75 -72
- package/dist/cli/{index-203fqkqk.js → index-b82tq895.js} +1 -1
- package/dist/cli/{index-zy60xd05.js → index-e2s08v0q.js} +1 -1
- package/dist/cli/{index-xscjecyq.js → index-erdsawqz.js} +4 -4
- package/dist/cli/{index-tc14d2zy.js → index-fcp41snp.js} +3 -3
- package/dist/cli/{index-ygxb3jw4.js → index-ghjs1n7k.js} +3 -3
- package/dist/cli/{index-6x9jq0cd.js → index-hte1e31d.js} +2 -2
- package/dist/cli/{index-azx50qge.js → index-k48kgm6z.js} +5 -5
- package/dist/cli/{index-7qvfkgyk.js → index-k4arrwrz.js} +3 -3
- package/dist/cli/{index-t8g88esk.js → index-pvzaryhr.js} +1 -1
- package/dist/cli/{index-jz216dhj.js → index-tcbjjppb.js} +26 -2
- package/dist/cli/{index-tppnfxkm.js → index-vywbn766.js} +1 -1
- package/dist/cli/{index-2j07670d.js → index-we3nf5as.js} +1 -1
- package/dist/cli/{index-mfv7mfgg.js → index-xmz69g65.js} +1 -1
- package/dist/cli/{index-dr2tfawg.js → index-ynjy98vv.js} +2 -2
- package/dist/cli/index.js +27 -35
- package/dist/cli/{knowledge-escalator-9py5r6c9.js → knowledge-escalator-x85t1e66.js} +6 -6
- package/dist/cli/{knowledge-events-vcbece74.js → knowledge-events-bwx99mxc.js} +4 -4
- package/dist/cli/{knowledge-store-0rdfjv20.js → knowledge-store-21m81zsa.js} +1 -1
- package/dist/cli/{knowledge-validator-nwjnjgf5.js → knowledge-validator-yxcadg1p.js} +2 -2
- package/dist/cli/{pending-delegations-ht1vgaze.js → pending-delegations-b8qka5nf.js} +1 -1
- package/dist/cli/{pr-review-reentry-authorization-857b9rvv.js → pr-review-reentry-authorization-wv3ck5kh.js} +19 -19
- package/dist/cli/{scan-cursor-59yj7tp9.js → scan-cursor-m3w0tapb.js} +2 -2
- package/dist/cli/{schema-8a7fyp87.js → schema-0b0dqn28.js} +1 -1
- package/dist/cli/{scope-persistence-prdxtcr3.js → scope-persistence-199f7yqc.js} +4 -4
- package/dist/cli/{skill-generator-v2jkgp63.js → skill-generator-a2ekcbe2.js} +7 -7
- package/dist/cli/{worktree-collision-ownership-6x03w8h7.js → worktree-collision-ownership-5qaab3q7.js} +1 -1
- package/dist/cli/{worktree-isolation-s0setq2a.js → worktree-isolation-esesc842.js} +19 -19
- package/dist/commands/close.d.ts +2 -0
- package/dist/config/loader.d.ts +3 -0
- package/dist/config/project-init.d.ts +11 -7
- package/dist/config/schema.d.ts +1 -0
- package/dist/index.js +445 -442
- package/dist/tools/repo-graph/query.d.ts +1 -0
- package/dist/tools/repo-graph/symbol-query.d.ts +47 -0
- package/dist/tools/repo-graph/types.d.ts +267 -1
- package/dist/tools/repo-graph.d.ts +3 -1
- package/opencode-swarm.schema.json +5160 -0
- package/package.json +4 -2
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
handleGuardrailExplain
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-8jnzp5ct.js";
|
|
5
5
|
import {
|
|
6
6
|
handleGuardrailLog
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-9vt2hknx.js";
|
|
8
8
|
import {
|
|
9
9
|
COMMAND_REGISTRY,
|
|
10
10
|
SWARM_COMMAND_TOOL_ALLOWLIST,
|
|
@@ -94,53 +94,53 @@ import {
|
|
|
94
94
|
handleWriteRetroCommand,
|
|
95
95
|
normalizeSwarmCommandInput,
|
|
96
96
|
resolveCommand
|
|
97
|
-
} from "./index-
|
|
97
|
+
} from "./index-3e8600a7.js";
|
|
98
98
|
import"./index-z54qw70y.js";
|
|
99
|
-
import"./index-
|
|
100
|
-
import"./index-
|
|
101
|
-
import"./index-
|
|
99
|
+
import"./index-04yrxg0z.js";
|
|
100
|
+
import"./index-6e6qxf5q.js";
|
|
101
|
+
import"./index-k4arrwrz.js";
|
|
102
102
|
import"./index-7s1hmrfh.js";
|
|
103
103
|
import"./index-txdagbh7.js";
|
|
104
104
|
import"./index-134d35c1.js";
|
|
105
105
|
import"./index-nj6rmyeh.js";
|
|
106
|
-
import"./index-
|
|
107
|
-
import"./index-
|
|
108
|
-
import"./index-
|
|
106
|
+
import"./index-fcp41snp.js";
|
|
107
|
+
import"./index-k48kgm6z.js";
|
|
108
|
+
import"./index-xmz69g65.js";
|
|
109
109
|
import"./index-70ha9e09.js";
|
|
110
110
|
import"./index-c8s9a3zh.js";
|
|
111
111
|
import"./index-9ss2m4rs.js";
|
|
112
112
|
import"./index-mc9qgkwd.js";
|
|
113
113
|
import"./index-zsrtt42s.js";
|
|
114
|
-
import"./index-
|
|
114
|
+
import"./index-1sdb57jv.js";
|
|
115
115
|
import"./index-3f7hqtgg.js";
|
|
116
116
|
import"./index-8fqb0ynp.js";
|
|
117
|
-
import"./index-
|
|
117
|
+
import"./index-vywbn766.js";
|
|
118
118
|
import"./index-pfnj5pvs.js";
|
|
119
119
|
import"./index-rtry5xyf.js";
|
|
120
|
-
import"./index-
|
|
121
|
-
import"./index-
|
|
122
|
-
import"./index-
|
|
120
|
+
import"./index-we3nf5as.js";
|
|
121
|
+
import"./index-pvzaryhr.js";
|
|
122
|
+
import"./index-e2s08v0q.js";
|
|
123
123
|
import"./index-ddszzne4.js";
|
|
124
|
-
import"./index-
|
|
125
|
-
import"./index-
|
|
124
|
+
import"./index-ynjy98vv.js";
|
|
125
|
+
import"./index-b82tq895.js";
|
|
126
126
|
import"./index-nwkr6tvv.js";
|
|
127
127
|
import"./index-556ja8an.js";
|
|
128
128
|
import"./index-4fwbbad3.js";
|
|
129
129
|
import"./index-b43rt5ph.js";
|
|
130
130
|
import"./index-q7sjgr1y.js";
|
|
131
|
-
import"./index-
|
|
132
|
-
import"./index-
|
|
133
|
-
import"./index-
|
|
131
|
+
import"./index-erdsawqz.js";
|
|
132
|
+
import"./index-35grv4jg.js";
|
|
133
|
+
import"./index-hte1e31d.js";
|
|
134
134
|
import"./index-gprxjmm7.js";
|
|
135
135
|
import"./index-n832052r.js";
|
|
136
136
|
import"./index-dtn0pne5.js";
|
|
137
137
|
import"./index-z6xqpmqg.js";
|
|
138
138
|
import"./index-r3mvsbtq.js";
|
|
139
|
-
import"./index-
|
|
139
|
+
import"./index-tcbjjppb.js";
|
|
140
140
|
import {
|
|
141
141
|
init_schema,
|
|
142
142
|
stripKnownSwarmPrefix
|
|
143
|
-
} from "./index-
|
|
143
|
+
} from "./index-b1tenv2s.js";
|
|
144
144
|
import"./index-9e6fdz2h.js";
|
|
145
145
|
import"./index-4rhhvd1a.js";
|
|
146
146
|
import {
|
|
@@ -21,7 +21,7 @@ var package_default;
|
|
|
21
21
|
var init_package = __esm(() => {
|
|
22
22
|
package_default = {
|
|
23
23
|
name: "opencode-swarm",
|
|
24
|
-
version: "7.
|
|
24
|
+
version: "7.159.0",
|
|
25
25
|
description: "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
|
|
26
26
|
main: "dist/index.js",
|
|
27
27
|
types: "dist/index.d.ts",
|
|
@@ -105,18 +105,20 @@ var init_package = __esm(() => {
|
|
|
105
105
|
".opencode/skills/orchestrating-subagents",
|
|
106
106
|
".opencode/skills/durable-session-state",
|
|
107
107
|
"tests/fixtures/memory-recall",
|
|
108
|
+
"opencode-swarm.schema.json",
|
|
108
109
|
"README.md",
|
|
109
110
|
"LICENSE"
|
|
110
111
|
],
|
|
111
112
|
scripts: {
|
|
112
113
|
clean: `bun -e "require('fs').rmSync('dist',{recursive:true,force:true})"`,
|
|
113
|
-
build: "bun run clean && bun run scripts/copy-grammars.ts && bun build src/index.ts --outdir dist --target node --format esm --external web-tree-sitter --minify-whitespace --minify-syntax && bun build src/cli/index.ts --outdir dist/cli --target bun --format esm --external bash-parser --splitting && bun run scripts/copy-grammars.ts --to-dist && tsc --emitDeclarationOnly",
|
|
114
|
+
build: "bun run clean && bun run scripts/generate-config-schema.ts && bun run scripts/copy-grammars.ts && bun build src/index.ts --outdir dist --target node --format esm --external web-tree-sitter --minify-whitespace --minify-syntax && bun build src/cli/index.ts --outdir dist/cli --target bun --format esm --external bash-parser --splitting && bun run scripts/copy-grammars.ts --to-dist && tsc --emitDeclarationOnly",
|
|
114
115
|
typecheck: "tsc --noEmit",
|
|
115
116
|
test: "bun test",
|
|
116
117
|
lint: "biome lint .",
|
|
117
118
|
"lint:ci": "biome ci .",
|
|
118
119
|
"test:unit:ci": "bun scripts/ci/run-unit-tests-local.ts",
|
|
119
120
|
"drift:check": "bun run scripts/drift-check.ts",
|
|
121
|
+
"schema:generate": "bun run scripts/generate-config-schema.ts",
|
|
120
122
|
"check:runtime-src-refs": "bun run scripts/check-runtime-src-refs.ts",
|
|
121
123
|
"drift:fix": "bun run scripts/drift-check.ts --fix --confirm",
|
|
122
124
|
"skills:sync": "bun run scripts/sync-qa-gate-skills.ts",
|
|
@@ -1652,14 +1654,15 @@ var init_schema = __esm(() => {
|
|
|
1652
1654
|
circuit_open_duration_ms: exports_external.number().int().min(1000).max(1800000).default(60000)
|
|
1653
1655
|
}).strict();
|
|
1654
1656
|
PluginConfigSchema = exports_external.object({
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
+
$schema: exports_external.string().optional().catch(undefined).describe("JSON Schema URL for editor validation/autocomplete of this file (issue #1663). Ignored at runtime; malformed values are ignored too."),
|
|
1658
|
+
config_format_version: exports_external.number().int().min(0).default(1).describe("Config format version for the migration table. Increment when fields are deprecated. Distinct from knowledge.schema_version."),
|
|
1659
|
+
agents: exports_external.record(exports_external.string(), AgentOverrideConfigSchema).optional().describe('Per-agent overrides keyed by agent name for the default swarm (e.g. "architect", "coder"). Multi-swarm setups configure agents under swarms.<id>.agents instead.'),
|
|
1657
1660
|
default_agent: exports_external.string().optional().transform((v) => {
|
|
1658
1661
|
if (v === undefined)
|
|
1659
1662
|
return;
|
|
1660
1663
|
const trimmed = v.trim();
|
|
1661
1664
|
return trimmed === "" ? undefined : trimmed;
|
|
1662
|
-
}),
|
|
1665
|
+
}).describe('Agent set as the primary mode. Omitted: every generated *_architect is primary. Exact generated name (e.g. "local_architect"): only that agent. Base role name (e.g. "coder"): every generated agent with that base role. Unknown strings warn once and fall back to architect primaries.'),
|
|
1663
1666
|
auto_select_architect: exports_external.union([exports_external.boolean(), exports_external.string()]).optional().transform((v) => {
|
|
1664
1667
|
if (v === undefined)
|
|
1665
1668
|
return;
|
|
@@ -1667,77 +1670,77 @@ var init_schema = __esm(() => {
|
|
|
1667
1670
|
return v;
|
|
1668
1671
|
const trimmed = v.trim();
|
|
1669
1672
|
return trimmed === "" ? false : trimmed;
|
|
1670
|
-
}),
|
|
1671
|
-
swarms: exports_external.record(exports_external.string().regex(/^[^_]+$/, "Swarm ID must not contain underscores"), SwarmConfigSchema).optional(),
|
|
1672
|
-
max_iterations: exports_external.number().min(1).max(10).default(5),
|
|
1673
|
-
pipeline: PipelineConfigSchema.optional(),
|
|
1674
|
-
phase_complete: PhaseCompleteConfigSchema.optional(),
|
|
1675
|
-
qa_retry_limit: exports_external.number().min(1).max(10).default(3),
|
|
1676
|
-
execution_mode: exports_external.enum(["strict", "balanced", "fast"]).default("balanced"),
|
|
1677
|
-
inject_phase_reminders: exports_external.boolean().default(true),
|
|
1678
|
-
hooks: HooksConfigSchema.optional(),
|
|
1679
|
-
pr_review_resilience: PrReviewResilienceConfigSchema.optional(),
|
|
1680
|
-
gates: GateConfigSchema.optional(),
|
|
1681
|
-
context_budget: ContextBudgetConfigSchema.optional(),
|
|
1682
|
-
pricing: PricingConfigSchema.optional(),
|
|
1683
|
-
guardrails: GuardrailsConfigSchema.optional(),
|
|
1684
|
-
watchdog: WatchdogConfigSchema.optional(),
|
|
1685
|
-
self_review: SelfReviewConfigSchema.optional(),
|
|
1686
|
-
auto_review: AutoReviewConfigSchema.optional(),
|
|
1687
|
-
tool_filter: ToolFilterConfigSchema.optional(),
|
|
1688
|
-
authority: AuthorityConfigSchema.optional(),
|
|
1689
|
-
plan_cursor: PlanCursorConfigSchema.optional(),
|
|
1690
|
-
context_map: ContextMapConfigSchema.optional(),
|
|
1691
|
-
repo_graph: RepoGraphConfigSchema.prefault({}),
|
|
1692
|
-
evidence: EvidenceConfigSchema.optional(),
|
|
1693
|
-
summaries: SummaryConfigSchema.optional(),
|
|
1694
|
-
review_passes: ReviewPassesConfigSchema.optional(),
|
|
1695
|
-
adversarial_detection: AdversarialDetectionConfigSchema.optional(),
|
|
1696
|
-
adversarial_testing: AdversarialTestingConfigSchema.optional(),
|
|
1697
|
-
integration_analysis: IntegrationAnalysisConfigSchema.optional(),
|
|
1698
|
-
docs: DocsConfigSchema.optional(),
|
|
1699
|
-
design_docs: DesignDocsConfigSchema.optional(),
|
|
1700
|
-
git: GitConfigSchema.optional(),
|
|
1701
|
-
ui_review: UIReviewConfigSchema.optional(),
|
|
1702
|
-
compaction_advisory: CompactionAdvisoryConfigSchema.optional(),
|
|
1703
|
-
lint: LintConfigSchema.optional(),
|
|
1704
|
-
secretscan: SecretscanConfigSchema.optional(),
|
|
1705
|
-
checkpoint: CheckpointConfigSchema.optional(),
|
|
1706
|
-
apply_patch: ApplyPatchConfigSchema.optional(),
|
|
1707
|
-
automation: AutomationConfigSchema.optional(),
|
|
1708
|
-
knowledge: KnowledgeConfigSchema.optional(),
|
|
1709
|
-
memory: MemoryConfigSchema.optional(),
|
|
1710
|
-
learning: LearningConfigSchema.optional(),
|
|
1711
|
-
consensus: ConsensusConfigSchema.optional(),
|
|
1712
|
-
curator: CuratorConfigSchema.optional(),
|
|
1713
|
-
architectural_supervision: ArchitecturalSupervisionConfigSchema.optional(),
|
|
1714
|
-
knowledge_application: KnowledgeApplicationConfigSchema.optional(),
|
|
1715
|
-
skillPropagation: SkillPropagationConfigSchema.optional(),
|
|
1716
|
-
skill_improver: SkillImproverConfigSchema.optional(),
|
|
1717
|
-
harness_evolution: HarnessEvolutionConfigSchema.optional(),
|
|
1718
|
-
spec_writer: SpecWriterConfigSchema.optional(),
|
|
1673
|
+
}).describe('Auto-select the swarm architect for new sessions instead of OpenCode built-ins. Omitted or false: manual selection (omitted behaves as false). true: enable auto-select and disable built-in build/plan agents. "<architect_name>" (e.g. "mega_architect"): enable targeting one architect in multi-swarm setups.'),
|
|
1674
|
+
swarms: exports_external.record(exports_external.string().regex(/^[^_]+$/, "Swarm ID must not contain underscores"), SwarmConfigSchema).optional().describe('Multiple swarms keyed by swarm ID (no underscores allowed). The first swarm, or one named "default", provides the primary architect.'),
|
|
1675
|
+
max_iterations: exports_external.number().min(1).max(10).default(5).describe("Maximum pipeline iterations per task (1-10)."),
|
|
1676
|
+
pipeline: PipelineConfigSchema.optional().describe("Pipeline stage/model settings."),
|
|
1677
|
+
phase_complete: PhaseCompleteConfigSchema.optional().describe("Phase-completion gate settings."),
|
|
1678
|
+
qa_retry_limit: exports_external.number().min(1).max(10).default(3).describe("Maximum QA retry rounds per task (1-10)."),
|
|
1679
|
+
execution_mode: exports_external.enum(["strict", "balanced", "fast"]).default("balanced").describe('Performance mode controlling optional hook execution overhead: "strict", "balanced", or "fast".'),
|
|
1680
|
+
inject_phase_reminders: exports_external.boolean().default(true).describe("Inject phase reminder directives during execution."),
|
|
1681
|
+
hooks: HooksConfigSchema.optional().describe("Hook subsystem toggles and settings."),
|
|
1682
|
+
pr_review_resilience: PrReviewResilienceConfigSchema.optional().describe("PR review base-wave staged canary/fanout resilience settings."),
|
|
1683
|
+
gates: GateConfigSchema.optional().describe("Quality gate configuration (v6.9 anti-slop features)."),
|
|
1684
|
+
context_budget: ContextBudgetConfigSchema.optional().describe("Context budget thresholds."),
|
|
1685
|
+
pricing: PricingConfigSchema.optional().describe("Token/cost estimation fallback table. Provider-reported cost wins when present; entries only estimate from usage tokens when reports omit cost."),
|
|
1686
|
+
guardrails: GuardrailsConfigSchema.optional().describe("Loop containment and safety guardrails: tool-call caps, denial tracking, destructive-command blocking, shell audit."),
|
|
1687
|
+
watchdog: WatchdogConfigSchema.optional().describe("Scope-guard and delegation-ledger watchdog settings."),
|
|
1688
|
+
self_review: SelfReviewConfigSchema.optional().describe("Advisory self-review after coder delegation."),
|
|
1689
|
+
auto_review: AutoReviewConfigSchema.optional().describe("Opt-in execution-diff review by the reviewer model in a fresh ephemeral session at task/phase boundaries."),
|
|
1690
|
+
tool_filter: ToolFilterConfigSchema.optional().describe("Controls which tools each agent is allowed to use."),
|
|
1691
|
+
authority: AuthorityConfigSchema.optional().describe("Per-agent file write authority rules."),
|
|
1692
|
+
plan_cursor: PlanCursorConfigSchema.optional().describe("Compressed plan summary injection settings."),
|
|
1693
|
+
context_map: ContextMapConfigSchema.optional().describe("Context Map (issue #1104, FR-006) \u2014 opt-in."),
|
|
1694
|
+
repo_graph: RepoGraphConfigSchema.prefault({}).describe("Repository dependency-graph settings (builder excludes, incremental refresh). Nested defaults materialize when the whole section is omitted."),
|
|
1695
|
+
evidence: EvidenceConfigSchema.optional().describe("Evidence retention and storage settings."),
|
|
1696
|
+
summaries: SummaryConfigSchema.optional().describe("Summary generation settings."),
|
|
1697
|
+
review_passes: ReviewPassesConfigSchema.optional().describe("Dual-pass security review settings."),
|
|
1698
|
+
adversarial_detection: AdversarialDetectionConfigSchema.optional().describe("Same-model adversarial checker detection settings."),
|
|
1699
|
+
adversarial_testing: AdversarialTestingConfigSchema.optional().describe("Cross-model adversarial testing settings."),
|
|
1700
|
+
integration_analysis: IntegrationAnalysisConfigSchema.optional().describe("Integration analysis settings."),
|
|
1701
|
+
docs: DocsConfigSchema.optional().describe("Documentation synthesizer (docs agent) settings."),
|
|
1702
|
+
design_docs: DesignDocsConfigSchema.optional().describe("Structured design-doc generation (issue #1080, docs_design agent) \u2014 opt-in."),
|
|
1703
|
+
git: GitConfigSchema.optional().describe("Git executable resolution override (issue #2236 hardening)."),
|
|
1704
|
+
ui_review: UIReviewConfigSchema.optional().describe("UI/UX review (designer agent) settings."),
|
|
1705
|
+
compaction_advisory: CompactionAdvisoryConfigSchema.optional().describe("Compaction advisory settings."),
|
|
1706
|
+
lint: LintConfigSchema.optional().describe("Lint gate settings."),
|
|
1707
|
+
secretscan: SecretscanConfigSchema.optional().describe("Secret scanning settings."),
|
|
1708
|
+
checkpoint: CheckpointConfigSchema.optional().describe("Checkpoint settings."),
|
|
1709
|
+
apply_patch: ApplyPatchConfigSchema.optional().describe("Apply-patch opt-in fuzzy matching fallback (issue #1718)."),
|
|
1710
|
+
automation: AutomationConfigSchema.optional().describe("Background automation mode and per-feature toggles (v6.7 background-first rollout)."),
|
|
1711
|
+
knowledge: KnowledgeConfigSchema.optional().describe("Two-tier cross-project knowledge base (v6.17)."),
|
|
1712
|
+
memory: MemoryConfigSchema.optional().describe("Swarm memory substrate \u2014 disabled by default so existing flows are unchanged."),
|
|
1713
|
+
learning: LearningConfigSchema.optional().describe("Learning subsystem: real-time admission, PRM persistence, dedup sweep (issue #1821)."),
|
|
1714
|
+
consensus: ConsensusConfigSchema.optional().describe("Consensus mining over completed run evidence (issue #1821)."),
|
|
1715
|
+
curator: CuratorConfigSchema.optional().describe("Phase context consolidation and drift detection."),
|
|
1716
|
+
architectural_supervision: ArchitecturalSupervisionConfigSchema.optional().describe("Hierarchical summary review (issue #893)."),
|
|
1717
|
+
knowledge_application: KnowledgeApplicationConfigSchema.optional().describe("Knowledge-application contract (v2): warn or enforce modes, ack tracking."),
|
|
1718
|
+
skillPropagation: SkillPropagationConfigSchema.optional().describe("Skill propagation gate/injection settings."),
|
|
1719
|
+
skill_improver: SkillImproverConfigSchema.optional().describe("Low-frequency, expensive-model skill improvement loop (issue #629, v2)."),
|
|
1720
|
+
harness_evolution: HarnessEvolutionConfigSchema.optional().describe("Declarative, non-executing HarnessOpt mutation policy (issue #1825)."),
|
|
1721
|
+
spec_writer: SpecWriterConfigSchema.optional().describe("Spec writer agent (v2) \u2014 independent model for .swarm/spec.md authorship."),
|
|
1719
1722
|
tool_output: exports_external.object({
|
|
1720
1723
|
truncation_enabled: exports_external.boolean().default(true),
|
|
1721
1724
|
max_lines: exports_external.number().min(10).max(500).default(150),
|
|
1722
1725
|
per_tool: exports_external.record(exports_external.string(), exports_external.number()).optional(),
|
|
1723
1726
|
truncation_tools: exports_external.array(exports_external.string()).optional().describe("Tools to apply output truncation to. Defaults to diff, symbols, bash, shell, test_runner, lint, pre_check_batch, complexity_hotspots, pkg_audit, sbom_generate, schema_drift.")
|
|
1724
|
-
}).optional(),
|
|
1725
|
-
slop_detector: SlopDetectorConfigSchema.optional(),
|
|
1727
|
+
}).optional().describe("Tool output truncation settings (enable/disable, max lines, per-tool overrides)."),
|
|
1728
|
+
slop_detector: SlopDetectorConfigSchema.optional().describe("Slop detector settings (v6.29)."),
|
|
1726
1729
|
todo_gate: exports_external.object({
|
|
1727
1730
|
enabled: exports_external.boolean().default(true),
|
|
1728
1731
|
max_high_priority: exports_external.number().int().min(-1).default(0).describe("Max new high-priority TODOs (FIXME/HACK/XXX) before warning. 0 = warn on any. Set to -1 to disable."),
|
|
1729
1732
|
block_on_threshold: exports_external.boolean().default(false).describe("If true, block phase completion when threshold exceeded. Default: advisory only.")
|
|
1730
|
-
}).optional(),
|
|
1731
|
-
incremental_verify: IncrementalVerifyConfigSchema.optional(),
|
|
1732
|
-
compaction_service: CompactionConfigSchema.optional(),
|
|
1733
|
-
prm: PrmConfigSchema.optional(),
|
|
1734
|
-
council: CouncilConfigSchema.optional(),
|
|
1735
|
-
parallelization: ParallelizationConfigSchema.optional(),
|
|
1736
|
-
worktree: WorktreeIsolationConfigSchema.optional(),
|
|
1737
|
-
turbo: TurboConfigSchema.optional(),
|
|
1738
|
-
turbo_mode: exports_external.boolean().default(false).optional(),
|
|
1739
|
-
quiet: exports_external.boolean().default(true).optional(),
|
|
1740
|
-
version_check: exports_external.boolean().default(true).optional(),
|
|
1733
|
+
}).optional().describe("TODO gate (v6.32): warn or block on new high-priority TODOs (FIXME/HACK/XXX)."),
|
|
1734
|
+
incremental_verify: IncrementalVerifyConfigSchema.optional().describe("Incremental verification settings (v6.29)."),
|
|
1735
|
+
compaction_service: CompactionConfigSchema.optional().describe("Compaction service settings (v6.29)."),
|
|
1736
|
+
prm: PrmConfigSchema.optional().describe("PRM (Process Remediation Manager) settings."),
|
|
1737
|
+
council: CouncilConfigSchema.optional().describe("Work Complete Council \u2014 parallel four-member verification gate, off by default."),
|
|
1738
|
+
parallelization: ParallelizationConfigSchema.optional().describe("Parallelization (PR 1 dark foundation) \u2014 disabled by default; no production code path branches on enabled=true yet."),
|
|
1739
|
+
worktree: WorktreeIsolationConfigSchema.optional().describe("Worktree isolation policy for parallel coder dispatch lanes (general surface; Lean Turbo keeps its legacy per-mode fields)."),
|
|
1740
|
+
turbo: TurboConfigSchema.optional().describe("Turbo execution strategy block (Phase 1). Absent means current behavior unchanged."),
|
|
1741
|
+
turbo_mode: exports_external.boolean().default(false).optional().describe("Bypass reviewer/test gates for rapid iteration (v6.40)."),
|
|
1742
|
+
quiet: exports_external.boolean().default(true).optional().describe("Suppress non-critical startup warnings (default true keeps the TUI clean). Set false to restore verbose warnings for debugging."),
|
|
1743
|
+
version_check: exports_external.boolean().default(true).optional().describe("Background staleness check against npm, throttled to once per 24h (issue #675). Set false to fully disable the network call."),
|
|
1741
1744
|
full_auto: exports_external.object({
|
|
1742
1745
|
enabled: exports_external.boolean().default(false),
|
|
1743
1746
|
locked: exports_external.boolean().default(false),
|
|
@@ -1896,11 +1899,11 @@ var init_schema = __esm(() => {
|
|
|
1896
1899
|
total_timeout_ms: 120000,
|
|
1897
1900
|
cleanup_timeout_ms: 2000
|
|
1898
1901
|
}
|
|
1899
|
-
})),
|
|
1900
|
-
pr_monitor: PrMonitorConfigSchema.optional(),
|
|
1901
|
-
external_skills: ExternalSkillsConfigSchema.optional(),
|
|
1902
|
-
skills: SkillsConfigSchema.optional(),
|
|
1903
|
-
skill_opt: SkillOptConfigSchema.optional()
|
|
1902
|
+
})).describe("Full-auto autonomous orchestration with critic oversight: permission policy, denial accounting, oversight cadence triggers (v2 preserves v1 fields so existing configs load unchanged)."),
|
|
1903
|
+
pr_monitor: PrMonitorConfigSchema.optional().describe("GitHub PR subscription and polling (FR-001) \u2014 disabled by default; opt-in for real-time PR status updates."),
|
|
1904
|
+
external_skills: ExternalSkillsConfigSchema.optional().describe("External skills: candidate model, discovery, and quarantine store (FR-001) \u2014 all subsystems opt-in."),
|
|
1905
|
+
skills: SkillsConfigSchema.optional().describe("Opt-in gate for the 7 skill_* management tools (FR-004). Default false: the tools are absent from the architect tool surface."),
|
|
1906
|
+
skill_opt: SkillOptConfigSchema.optional().describe("Governed skill optimizer (issue #1822). Disabled by default; /swarm skill-opt run requires enabled: true. All other subcommands are proposal-only/read-only by default.")
|
|
1904
1907
|
});
|
|
1905
1908
|
});
|
|
1906
1909
|
|
|
@@ -3096,7 +3096,7 @@ async function reconcileLegacyCoderSettlements(directory, maxRecords, onReconcil
|
|
|
3096
3096
|
const candidates = readDelegations(directory).filter((record) => record.normalizedAgent === "coder" && Boolean(record.legacyCoderSettlementTransfer) && Boolean(record.terminalResult)).slice(0, maxRecords);
|
|
3097
3097
|
if (candidates.length === 0)
|
|
3098
3098
|
return 0;
|
|
3099
|
-
const { transferCoderSettlementToBackground } = await import("./coder-settlement-
|
|
3099
|
+
const { transferCoderSettlementToBackground } = await import("./coder-settlement-66mqw0xt.js");
|
|
3100
3100
|
let transferred = 0;
|
|
3101
3101
|
for (const record of candidates) {
|
|
3102
3102
|
try {
|
|
@@ -713,7 +713,7 @@ async function applyConfidenceFloorAction(directory, touched, options) {
|
|
|
713
713
|
const {
|
|
714
714
|
readAuthoritativeKnowledgeCounterRollups,
|
|
715
715
|
effectiveRetrievalOutcomes
|
|
716
|
-
} = await import("./knowledge-events-
|
|
716
|
+
} = await import("./knowledge-events-bwx99mxc.js");
|
|
717
717
|
const rollups = await readAuthoritativeKnowledgeCounterRollups(directory);
|
|
718
718
|
const flagIds = new Set;
|
|
719
719
|
for (const e of atFloor) {
|
|
@@ -780,11 +780,11 @@ async function applyConfidenceFloorAction(directory, touched, options) {
|
|
|
780
780
|
});
|
|
781
781
|
}
|
|
782
782
|
if (action === "quarantine" && toQuarantine.length > 0) {
|
|
783
|
-
const { quarantineEntry } = await import("./knowledge-validator-
|
|
784
|
-
const { KnowledgeConfigSchema } = await import("./schema-
|
|
783
|
+
const { quarantineEntry } = await import("./knowledge-validator-yxcadg1p.js");
|
|
784
|
+
const { KnowledgeConfigSchema } = await import("./schema-0b0dqn28.js");
|
|
785
785
|
let config;
|
|
786
786
|
try {
|
|
787
|
-
const { loadPluginConfigWithMeta } = await import("./index-
|
|
787
|
+
const { loadPluginConfigWithMeta } = await import("./index-ghjs1n7k.js");
|
|
788
788
|
const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
|
|
789
789
|
config = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
|
|
790
790
|
} catch {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
ALLOWED_SKILL_PATH_PREFIXES,
|
|
4
4
|
validateSkillPath
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-vywbn766.js";
|
|
6
6
|
import {
|
|
7
7
|
withTimeoutSignal
|
|
8
8
|
} from "./index-q7sjgr1y.js";
|
|
@@ -12,11 +12,11 @@ import {
|
|
|
12
12
|
resolveHiveKnowledgePath,
|
|
13
13
|
resolveSwarmKnowledgePath,
|
|
14
14
|
transactKnowledge
|
|
15
|
-
} from "./index-
|
|
15
|
+
} from "./index-erdsawqz.js";
|
|
16
16
|
import {
|
|
17
17
|
effectiveRetrievalOutcomes,
|
|
18
18
|
readAuthoritativeKnowledgeCounterRollups
|
|
19
|
-
} from "./index-
|
|
19
|
+
} from "./index-35grv4jg.js";
|
|
20
20
|
import {
|
|
21
21
|
advisoryWarn,
|
|
22
22
|
init_warning_buffer
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
_internals,
|
|
4
4
|
resolveWorktreeIsolationConfig
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-hte1e31d.js";
|
|
6
6
|
import {
|
|
7
7
|
ApprovalEvidenceSchema,
|
|
8
8
|
BaseEvidenceSchema,
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
loadPluginConfig,
|
|
43
43
|
loadPluginConfigWithMeta,
|
|
44
44
|
loadPluginConfigWithMetaAsync
|
|
45
|
-
} from "./index-
|
|
45
|
+
} from "./index-tcbjjppb.js";
|
|
46
46
|
import {
|
|
47
47
|
AUTO_REVIEW_V8_BURN_IN_DECISION,
|
|
48
48
|
AgentOverrideConfigSchema,
|
|
@@ -64,7 +64,7 @@ import {
|
|
|
64
64
|
TurboConfigSchema,
|
|
65
65
|
WorktreeIsolationConfigSchema,
|
|
66
66
|
resolveAutoReviewConfig
|
|
67
|
-
} from "./index-
|
|
67
|
+
} from "./index-b1tenv2s.js";
|
|
68
68
|
import"./index-9e6fdz2h.js";
|
|
69
69
|
import"./index-4rhhvd1a.js";
|
|
70
70
|
import {
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import {
|
|
3
3
|
init_loader,
|
|
4
4
|
loadPluginConfigWithMeta
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-tcbjjppb.js";
|
|
6
6
|
import {
|
|
7
7
|
init_schema
|
|
8
|
-
} from "./index-
|
|
8
|
+
} from "./index-b1tenv2s.js";
|
|
9
9
|
import {
|
|
10
10
|
DEFAULT_WORKTREE_ISOLATION_CONFIG,
|
|
11
11
|
init_constants
|
|
@@ -6,12 +6,12 @@ import {
|
|
|
6
6
|
resolveSwarmKnowledgePath,
|
|
7
7
|
transactKnowledge,
|
|
8
8
|
wordBigrams
|
|
9
|
-
} from "./index-
|
|
9
|
+
} from "./index-erdsawqz.js";
|
|
10
10
|
import {
|
|
11
11
|
queryHistoricalOutcomes,
|
|
12
12
|
readKnowledgeEvents,
|
|
13
13
|
recordKnowledgeEvent
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-35grv4jg.js";
|
|
15
15
|
import {
|
|
16
16
|
init_knowledge_types,
|
|
17
17
|
isActiveStatus
|
|
@@ -224,11 +224,11 @@ async function maybeQuarantineOnContradiction(directory, entryId, threshold, win
|
|
|
224
224
|
alreadyInactive: true
|
|
225
225
|
};
|
|
226
226
|
}
|
|
227
|
-
const { quarantineEntry } = await import("./knowledge-validator-
|
|
227
|
+
const { quarantineEntry } = await import("./knowledge-validator-yxcadg1p.js");
|
|
228
228
|
let policyConfig;
|
|
229
229
|
try {
|
|
230
|
-
const { KnowledgeConfigSchema } = await import("./schema-
|
|
231
|
-
const { loadPluginConfigWithMeta } = await import("./index-
|
|
230
|
+
const { KnowledgeConfigSchema } = await import("./schema-0b0dqn28.js");
|
|
231
|
+
const { loadPluginConfigWithMeta } = await import("./index-ghjs1n7k.js");
|
|
232
232
|
const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
|
|
233
233
|
policyConfig = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
|
|
234
234
|
} catch {
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
readTaskEvidence,
|
|
24
24
|
readTaskEvidenceRaw,
|
|
25
25
|
sanitizeTaskId
|
|
26
|
-
} from "./index-
|
|
26
|
+
} from "./index-we3nf5as.js";
|
|
27
27
|
import {
|
|
28
28
|
LedgerStaleWriterError,
|
|
29
29
|
appendLedgerEvent,
|
|
@@ -43,7 +43,7 @@ import {
|
|
|
43
43
|
replayFromLedgerWithStatus,
|
|
44
44
|
takeSnapshotEvent,
|
|
45
45
|
takeSnapshotWithRetry
|
|
46
|
-
} from "./index-
|
|
46
|
+
} from "./index-b82tq895.js";
|
|
47
47
|
import {
|
|
48
48
|
appendCoreEventSync
|
|
49
49
|
} from "./index-nwkr6tvv.js";
|
|
@@ -70,7 +70,7 @@ import {
|
|
|
70
70
|
} from "./index-r3mvsbtq.js";
|
|
71
71
|
import {
|
|
72
72
|
PlanSchema
|
|
73
|
-
} from "./index-
|
|
73
|
+
} from "./index-tcbjjppb.js";
|
|
74
74
|
import {
|
|
75
75
|
GIT_BINARY_ENV_VAR,
|
|
76
76
|
describeGitResolution,
|
|
@@ -92,7 +92,7 @@ var _internals = {
|
|
|
92
92
|
symlinkSync: fs.symlinkSync
|
|
93
93
|
},
|
|
94
94
|
writeScopeToDisk: async (directory, taskId, files) => {
|
|
95
|
-
const { writeScopeToDisk: realWrite } = await import("./scope-persistence-
|
|
95
|
+
const { writeScopeToDisk: realWrite } = await import("./scope-persistence-199f7yqc.js");
|
|
96
96
|
return realWrite(directory, taskId, files);
|
|
97
97
|
},
|
|
98
98
|
writeLaneProfileToDisk: async (_worktreePath, _laneIndex, _envOverrides) => {
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
PluginConfigSchema,
|
|
7
7
|
init_schema,
|
|
8
8
|
resolveExternalSkillsConfig
|
|
9
|
-
} from "./index-
|
|
9
|
+
} from "./index-b1tenv2s.js";
|
|
10
10
|
import {
|
|
11
11
|
GIT_BINARY_ENV_VAR,
|
|
12
12
|
init_git_executable
|
|
@@ -244,6 +244,7 @@ __export(exports_loader, {
|
|
|
244
244
|
getSafeDefaultConfigLoadResult: () => getSafeDefaultConfigLoadResult,
|
|
245
245
|
formatZodIssues: () => formatZodIssues,
|
|
246
246
|
deepMerge: () => deepMerge,
|
|
247
|
+
_internals: () => _internals,
|
|
247
248
|
MAX_MERGE_DEPTH: () => MAX_MERGE_DEPTH,
|
|
248
249
|
MAX_CONFIG_FILE_BYTES: () => MAX_CONFIG_FILE_BYTES
|
|
249
250
|
});
|
|
@@ -308,6 +309,15 @@ function migratePresetsConfig(raw) {
|
|
|
308
309
|
return migrated;
|
|
309
310
|
}
|
|
310
311
|
}
|
|
312
|
+
const dormantLegacyKeys = ["preset", "presets", "swarm_mode"].filter((key) => (key in raw));
|
|
313
|
+
if (dormantLegacyKeys.length > 0 && raw.agents) {
|
|
314
|
+
const cleaned = { ...raw };
|
|
315
|
+
for (const key of dormantLegacyKeys) {
|
|
316
|
+
delete cleaned[key];
|
|
317
|
+
}
|
|
318
|
+
advisoryWarn(`[opencode-swarm] Ignored legacy v6.12 config key(s): ${dormantLegacyKeys.join(", ")}. The agents block takes precedence \u2014 consider removing them from your opencode-swarm.json.`);
|
|
319
|
+
return cleaned;
|
|
320
|
+
}
|
|
311
321
|
return raw;
|
|
312
322
|
}
|
|
313
323
|
function sanitizeExternalSkillsConfig(raw) {
|
|
@@ -483,6 +493,15 @@ function buildConfigWithMeta(rawUserConfig, rawProjectConfig, loadedFromFile, co
|
|
|
483
493
|
mergedRaw = migratePresetsConfig(mergedRaw);
|
|
484
494
|
const { result: sanitized, strippedKeys: gatesStripped } = sanitizeSectionConfigs(mergedRaw);
|
|
485
495
|
mergedRaw = sanitized;
|
|
496
|
+
const knownTopLevel = new Set(Object.keys(PluginConfigSchema.shape));
|
|
497
|
+
const unknownTopLevel = Object.keys(mergedRaw).filter((key) => !knownTopLevel.has(key));
|
|
498
|
+
if (unknownTopLevel.length > 0) {
|
|
499
|
+
const signature = unknownTopLevel.join("\x00");
|
|
500
|
+
if (signature !== lastUnknownTopLevelSig) {
|
|
501
|
+
lastUnknownTopLevelSig = signature;
|
|
502
|
+
advisoryWarn(`[opencode-swarm] Ignored ${unknownTopLevel.length} unknown top-level config key(s): ${unknownTopLevel.join(", ")}. These keys have no effect \u2014 see docs/configuration.md (Top-level configuration keys) for the valid key list.`);
|
|
503
|
+
}
|
|
504
|
+
}
|
|
486
505
|
const secure = (cfg) => loadedFromFile && configHadErrors ? PluginConfigSchema.parse({
|
|
487
506
|
...cfg,
|
|
488
507
|
guardrails: { enabled: true }
|
|
@@ -713,7 +732,7 @@ function loadAgentPrompt(agentName) {
|
|
|
713
732
|
}
|
|
714
733
|
return result;
|
|
715
734
|
}
|
|
716
|
-
var CONFIG_FILENAME = "opencode-swarm.json", PROMPTS_DIR_NAME = "opencode-swarm", MAX_CONFIG_FILE_BYTES = 102400;
|
|
735
|
+
var CONFIG_FILENAME = "opencode-swarm.json", PROMPTS_DIR_NAME = "opencode-swarm", MAX_CONFIG_FILE_BYTES = 102400, lastUnknownTopLevelSig = null, _internals;
|
|
717
736
|
var init_loader = __esm(() => {
|
|
718
737
|
init_warning_buffer();
|
|
719
738
|
init_git_executable();
|
|
@@ -721,6 +740,11 @@ var init_loader = __esm(() => {
|
|
|
721
740
|
init_schema();
|
|
722
741
|
init_merge();
|
|
723
742
|
init_merge();
|
|
743
|
+
_internals = {
|
|
744
|
+
resetUnknownTopLevelKeyWarning() {
|
|
745
|
+
lastUnknownTopLevelSig = null;
|
|
746
|
+
}
|
|
747
|
+
};
|
|
724
748
|
});
|
|
725
749
|
|
|
726
750
|
// src/config/plan-schema.ts
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
computePlanStructureHash,
|
|
4
4
|
derivePlanId
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-b82tq895.js";
|
|
6
6
|
import {
|
|
7
7
|
appendCoreEventSync
|
|
8
8
|
} from "./index-nwkr6tvv.js";
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from "./index-556ja8an.js";
|
|
12
12
|
import {
|
|
13
13
|
PlanSchema
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-tcbjjppb.js";
|
|
15
15
|
import {
|
|
16
16
|
atomicWriteSwarmFile,
|
|
17
17
|
atomicWriteSwarmFileSync
|