opencode-swarm 7.188.12 → 7.190.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 +42 -6
- package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
- package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
- package/dist/agents/architect.d.ts +1 -1
- package/dist/background/completion-observer.d.ts +6 -0
- package/dist/cli/{auto-checkpoint-4g963859.js → auto-checkpoint-qvk04fya.js} +9 -9
- package/dist/cli/{checkpoint-y9nbjper.js → checkpoint-9q2r5c3j.js} +18 -20
- package/dist/cli/{coder-settlement-q8ea2jkw.js → coder-settlement-xcparbf3.js} +13 -13
- package/dist/cli/{config-doctor-4v5m6v30.js → config-doctor-by0ak49m.js} +23 -20
- package/dist/cli/{core-879105xb.js → core-b1b3kxzy.js} +4 -4
- package/dist/cli/{curation-policy-65ckmmd5.js → curation-policy-6p6fcfjb.js} +6 -6
- package/dist/cli/{curator-t7g3hamd.js → curator-d7b88mzr.js} +44 -44
- package/dist/cli/{curator-drift-satfdnp2.js → curator-drift-6v604220.js} +9 -9
- package/dist/cli/curator-llm-factory-yvbktznk.js +82 -0
- package/dist/cli/{doctor-knowledge-receipt-phase-id-y3ft2v24.js → doctor-knowledge-receipt-phase-id-kwrvnps9.js} +9 -9
- package/dist/cli/{evidence-summary-service-56rqzmrf.js → evidence-summary-service-mzr2q4bn.js} +21 -22
- package/dist/cli/{gate-evidence-zzmgph9z.js → gate-evidence-78jes9kq.js} +8 -8
- package/dist/cli/guardrail-explain-8kt2mxmw.js +83 -0
- package/dist/cli/{guardrail-log-sxv7q0xw.js → guardrail-log-2sthykag.js} +8 -8
- package/dist/cli/{guardrail-reset-37cr442b.js → guardrail-reset-2n746rzv.js} +44 -44
- package/dist/cli/{hive-promoter-hyeta8d6.js → hive-promoter-s7a5gwhz.js} +44 -44
- package/dist/cli/{index-e638qt2d.js → index-0qc7a88d.js} +3 -3
- package/dist/cli/{index-kap0d52p.js → index-1s95jrgc.js} +3 -3
- package/dist/cli/{index-9tvjwv01.js → index-2fpv2wmc.js} +1 -1
- package/dist/cli/{index-jgr1rsr1.js → index-2kpqqcch.js} +4 -4
- package/dist/cli/{index-msvf6p5y.js → index-3t9t9q2q.js} +44 -44
- package/dist/cli/{index-8q8783g0.js → index-3zwhxk98.js} +1 -1
- package/dist/cli/{index-0b172h6r.js → index-49e65y51.js} +5 -5
- package/dist/cli/{index-5pafc9x6.js → index-69tgdm9t.js} +18 -8
- package/dist/cli/{index-d3rjvm9e.js → index-7vnr5cmp.js} +2 -2
- package/dist/cli/{index-twb3f4tk.js → index-8bx6vhzk.js} +1 -1
- package/dist/cli/{index-84pwb6cz.js → index-9gcqmgbc.js} +5 -5
- package/dist/cli/{index-9sps637v.js → index-9xxqdzp4.js} +4 -4
- package/dist/cli/{index-j0qep2zr.js → index-a5ca62vt.js} +1 -1
- package/dist/cli/{index-xy2403g9.js → index-ajzgeb2s.js} +2 -2
- package/dist/cli/{index-8xabhfwr.js → index-b2j231jy.js} +2 -2
- package/dist/cli/{index-19yt5p2t.js → index-dmq7p8s9.js} +6 -6
- package/dist/cli/{index-95pzyv9a.js → index-ej1hdw16.js} +5 -5
- package/dist/cli/{index-1krdj1sc.js → index-ejk34dnw.js} +127 -13
- package/dist/cli/{index-tbyvvq50.js → index-fb5s32c2.js} +862 -1221
- package/dist/cli/{index-ntda6tje.js → index-feaxsjrt.js} +10 -2
- package/dist/cli/{index-94fgbb34.js → index-ffgcdf49.js} +22147 -15396
- package/dist/cli/{index-fhtcx5ag.js → index-h0xhec3d.js} +4 -4
- package/dist/cli/{index-kaqdzhj3.js → index-kfevm0n5.js} +2 -2
- package/dist/cli/{index-z7gakzb5.js → index-kp8k95v9.js} +4 -4
- package/dist/cli/{index-x1eh2636.js → index-mcv0v2dp.js} +1 -1
- package/dist/cli/{index-9czp2dcg.js → index-mjfpaxw3.js} +7 -7
- package/dist/cli/{index-tmn4pf7q.js → index-mp1s7b0n.js} +7 -7
- package/dist/cli/{index-f0jn2nvs.js → index-mseerehd.js} +26 -10
- package/dist/cli/{index-f6exny9m.js → index-n8q43eff.js} +2 -2
- package/dist/cli/{index-7hr5m7yp.js → index-nkgzkt7c.js} +1 -1
- package/dist/cli/{index-8jy605yf.js → index-npe10823.js} +7 -7
- package/dist/cli/{index-yc0y5fjt.js → index-p69k8v0e.js} +1 -1
- package/dist/cli/{index-p2tqzwh6.js → index-qs9myayh.js} +5 -10
- package/dist/cli/{index-hh7pa3yk.js → index-r9yvpr2m.js} +2 -2
- package/dist/cli/{index-qha2p47y.js → index-rgkzcw2a.js} +5 -5
- package/dist/cli/{index-zfbxfm2m.js → index-s8b67e6h.js} +33 -12
- package/dist/cli/{index-m3hhaf61.js → index-s92a5ta3.js} +4 -4
- package/dist/cli/{index-dd6p8xb5.js → index-sm01zpqe.js} +46 -46
- package/dist/cli/{index-q9kefh33.js → index-sxj143a4.js} +1 -1
- package/dist/cli/{index-2h13hjbf.js → index-t0gj8s46.js} +77 -16
- package/dist/cli/{index-3dqazqk4.js → index-t73adn9b.js} +2 -2
- package/dist/cli/{index-5cksakjf.js → index-tkhenmms.js} +101 -13
- package/dist/cli/{index-zsrtt42s.js → index-v3bmwmqw.js} +25 -1
- package/dist/cli/{index-w9tfb0am.js → index-vhn4e6rm.js} +7 -7
- package/dist/cli/{index-yjjyapbf.js → index-xyvrfram.js} +2 -2
- package/dist/cli/{index-k8sarme1.js → index-y9v41185.js} +1 -1
- package/dist/cli/{index-1xa8wq76.js → index-z3ahy9c2.js} +2 -2
- package/dist/cli/{index-wrdktgpy.js → index-zk6ttjkt.js} +2 -2
- package/dist/cli/{index-7z2pxxye.js → index-zyg1m9d0.js} +4 -4
- package/dist/cli/index.js +45 -45
- package/dist/cli/{knowledge-escalator-dzd35eb3.js → knowledge-escalator-n1ezv1zp.js} +15 -15
- package/dist/cli/{knowledge-events-wkr5ne5f.js → knowledge-events-nyqk3mr7.js} +13 -13
- package/dist/cli/{knowledge-link-h4pdcnya.js → knowledge-link-6hw3z6wn.js} +5 -5
- package/dist/cli/{knowledge-store-sme6sqrb.js → knowledge-store-mnxqcyet.js} +6 -6
- package/dist/cli/{knowledge-validator-jgzeawa8.js → knowledge-validator-z30113mp.js} +8 -8
- package/dist/cli/{mcp-egrbh8na.js → mcp-mnbqw2s5.js} +1 -1
- package/dist/cli/{model-preflight-h7azh4m4.js → model-preflight-ex482fsy.js} +44 -44
- package/dist/cli/{pending-delegations-pg284vsk.js → pending-delegations-j18afz5z.js} +12 -12
- package/dist/cli/{pr-subscriptions-hzc4fg25.js → pr-subscriptions-yngda8mz.js} +12 -12
- package/dist/cli/{pr-workflow-gate-j3r3g3q7.js → pr-workflow-gate-0vt614f0.js} +44 -44
- package/dist/cli/{runner-4hfmp1ag.js → runner-ssnsje35.js} +6 -6
- package/dist/cli/{scan-cursor-zg0a56c1.js → scan-cursor-8pwfg5g9.js} +7 -7
- package/dist/cli/{schema-p246rqkt.js → schema-e58ytmqt.js} +14 -2
- package/dist/cli/{scope-persistence-7qtsmx5c.js → scope-persistence-9qfx6ext.js} +16 -16
- package/dist/cli/{server-twhpwhgq.js → server-wxcfwsdx.js} +45 -45
- package/dist/cli/{skill-generator-7vfbmyrw.js → skill-generator-tbd4tq9r.js} +17 -17
- package/dist/cli/{snapshot-coordination-init-050hf69t.js → snapshot-coordination-init-sckyzb94.js} +44 -44
- package/dist/cli/{speckit-checkoff-d3v522cb.js → speckit-checkoff-k5jm0abh.js} +5 -5
- package/dist/cli/{telemetry-kvhe94gs.js → telemetry-9szfdfqv.js} +1 -1
- package/dist/cli/{workspace-snapshot-30kdf018.js → workspace-snapshot-9f12p1s1.js} +3 -3
- package/dist/cli/{worktree-collision-ownership-yy1tp8t9.js → worktree-collision-ownership-3wwfc72t.js} +14 -14
- package/dist/cli/{worktree-isolation-e56skbfw.js → worktree-isolation-zfk7zk6a.js} +46 -44
- package/dist/commands/coupling.d.ts +21 -4
- package/dist/commands/epic-learning.d.ts +28 -0
- package/dist/commands/epic.d.ts +81 -36
- package/dist/commands/registry.d.ts +8 -8
- package/dist/commands/turbo.d.ts +16 -1
- package/dist/config/constants.d.ts +11 -1
- package/dist/config/loader.d.ts +2 -0
- package/dist/config/schema.d.ts +291 -77
- package/dist/db/coordination-store.d.ts +6 -0
- package/dist/epic/close.d.ts +209 -0
- package/dist/{turbo/epic → epic}/cochange-conflict.d.ts +5 -4
- package/dist/{turbo/epic → epic}/cochange-source.d.ts +10 -1
- package/dist/epic/components.d.ts +238 -0
- package/dist/epic/config-gate.d.ts +25 -0
- package/dist/epic/config.d.ts +101 -0
- package/dist/{turbo/epic → epic}/coupling-report.d.ts +3 -1
- package/dist/epic/declared-scopes.d.ts +37 -0
- package/dist/epic/epic-branch.d.ts +157 -0
- package/dist/epic/gate-policy.d.ts +114 -0
- package/dist/epic/git-once.d.ts +26 -0
- package/dist/epic/learning-store.d.ts +176 -0
- package/dist/epic/learning.d.ts +198 -0
- package/dist/epic/legacy-migration.d.ts +26 -0
- package/dist/epic/lifecycle.d.ts +437 -0
- package/dist/epic/markers.d.ts +123 -0
- package/dist/epic/merge-epoch.d.ts +90 -0
- package/dist/epic/next-wave-format.d.ts +101 -0
- package/dist/epic/next-wave.d.ts +102 -0
- package/dist/epic/phase-readiness.d.ts +221 -0
- package/dist/epic/plan-key.d.ts +104 -0
- package/dist/epic/plan-shaping-seam.d.ts +112 -0
- package/dist/epic/planning-signals.d.ts +38 -0
- package/dist/epic/report.d.ts +152 -0
- package/dist/epic/residue-commit.d.ts +151 -0
- package/dist/epic/scorecard.d.ts +130 -0
- package/dist/epic/shaping-sizing.d.ts +108 -0
- package/dist/epic/shaping-suggestions.d.ts +172 -0
- package/dist/epic/shaping.d.ts +112 -0
- package/dist/epic/sizing.d.ts +60 -0
- package/dist/epic/start.d.ts +187 -0
- package/dist/epic/task-landing.d.ts +83 -0
- package/dist/epic/wave-close.d.ts +112 -0
- package/dist/epic/wave-select.d.ts +95 -0
- package/dist/evaluation/contracts.d.ts +1 -1
- package/dist/evaluation/public-api.d.ts +1 -1
- package/dist/full-auto/policy.d.ts +12 -1
- package/dist/hooks/delegation-gate/worktree-isolation.d.ts +16 -0
- package/dist/hooks/delegation-gate.d.ts +11 -0
- package/dist/hooks/guardrails/index.d.ts +7 -0
- package/dist/hooks/promotion-evidence-store.d.ts +2 -2
- package/dist/index.js +814 -807
- package/dist/plan/manager.d.ts +6 -8
- package/dist/plan/parallel-verdict.d.ts +13 -2
- package/dist/retention/caps.d.ts +1 -1
- package/dist/review/contracts.d.ts +8 -1
- package/dist/services/config-doctor.d.ts +38 -0
- package/dist/session/snapshot-reader.d.ts +2 -0
- package/dist/session/snapshot-writer.d.ts +13 -2
- package/dist/state.d.ts +13 -18
- package/dist/tools/epic-next-wave.d.ts +20 -0
- package/dist/tools/epic-phase-review.d.ts +43 -0
- package/dist/tools/index.d.ts +2 -3
- package/dist/tools/manifest.d.ts +2 -3
- package/dist/tools/phase-complete.d.ts +5 -1
- package/dist/tools/save-plan.d.ts +7 -0
- package/dist/tools/tool-metadata.d.ts +4 -8
- package/dist/worktree/merge.d.ts +14 -1
- package/opencode-swarm.schema.json +273 -28
- package/package.json +1 -1
- package/dist/cli/curator-llm-factory-fx1qnpsh.js +0 -82
- package/dist/cli/guardrail-explain-g03manbh.js +0 -83
- package/dist/tools/epic-plan-waves.d.ts +0 -79
- package/dist/tools/epic-record-divergence.d.ts +0 -73
- package/dist/tools/epic-run-phase.d.ts +0 -179
- package/dist/turbo/epic/activation.d.ts +0 -193
- package/dist/turbo/epic/calibration-engine.d.ts +0 -88
- package/dist/turbo/epic/calibration.d.ts +0 -80
- package/dist/turbo/epic/divergence-recorder.d.ts +0 -123
- package/dist/turbo/epic/index.d.ts +0 -24
- package/dist/turbo/epic/promotion-evidence.d.ts +0 -42
- package/dist/turbo/epic/state.d.ts +0 -69
- package/dist/turbo/epic/task-commit.d.ts +0 -110
- package/dist/turbo/epic/upstream-commits.d.ts +0 -82
- package/dist/turbo/epic/wave-planner.d.ts +0 -83
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
handleGuardrailExplain
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-t73adn9b.js";
|
|
5
5
|
import {
|
|
6
6
|
handleGuardrailLog
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-a5ca62vt.js";
|
|
8
8
|
import {
|
|
9
9
|
COMMAND_REGISTRY,
|
|
10
10
|
DEFAULT_CI_DEADLINE_MS,
|
|
@@ -97,82 +97,82 @@ import {
|
|
|
97
97
|
handleWriteRetroCommand,
|
|
98
98
|
normalizeSwarmCommandInput,
|
|
99
99
|
resolveCommand
|
|
100
|
-
} from "./index-
|
|
101
|
-
import"./index-
|
|
102
|
-
import"./index-
|
|
103
|
-
import"./index-
|
|
100
|
+
} from "./index-ffgcdf49.js";
|
|
101
|
+
import"./index-9xxqdzp4.js";
|
|
102
|
+
import"./index-tkhenmms.js";
|
|
103
|
+
import"./index-9gcqmgbc.js";
|
|
104
104
|
import"./index-j2vv0h13.js";
|
|
105
|
-
import"./index-
|
|
106
|
-
import"./index-
|
|
105
|
+
import"./index-y9v41185.js";
|
|
106
|
+
import"./index-b2j231jy.js";
|
|
107
107
|
import"./index-txdagbh7.js";
|
|
108
|
-
import"./index-
|
|
108
|
+
import"./index-ajzgeb2s.js";
|
|
109
109
|
import"./index-rdec0y3z.js";
|
|
110
|
-
import"./index-
|
|
111
|
-
import"./index-
|
|
112
|
-
import"./index-
|
|
113
|
-
import"./index-
|
|
114
|
-
import"./index-
|
|
115
|
-
import"./index-
|
|
110
|
+
import"./index-0qc7a88d.js";
|
|
111
|
+
import"./index-vhn4e6rm.js";
|
|
112
|
+
import"./index-s92a5ta3.js";
|
|
113
|
+
import"./index-dmq7p8s9.js";
|
|
114
|
+
import"./index-kfevm0n5.js";
|
|
115
|
+
import"./index-mjfpaxw3.js";
|
|
116
116
|
import"./index-cjapb4hy.js";
|
|
117
|
-
import"./index-
|
|
117
|
+
import"./index-n8q43eff.js";
|
|
118
118
|
import"./index-pt7h91zc.js";
|
|
119
119
|
import"./index-q7sjgr1y.js";
|
|
120
|
-
import"./index-
|
|
121
|
-
import"./index-
|
|
120
|
+
import"./index-mseerehd.js";
|
|
121
|
+
import"./index-fb5s32c2.js";
|
|
122
122
|
import"./index-6b295cas.js";
|
|
123
123
|
import"./index-9nyqt3kb.js";
|
|
124
|
-
import"./index-
|
|
125
|
-
import"./index-
|
|
126
|
-
import"./index-
|
|
127
|
-
import"./index-
|
|
128
|
-
import"./index-
|
|
124
|
+
import"./index-p69k8v0e.js";
|
|
125
|
+
import"./index-v3bmwmqw.js";
|
|
126
|
+
import"./index-xyvrfram.js";
|
|
127
|
+
import"./index-69tgdm9t.js";
|
|
128
|
+
import"./index-zyg1m9d0.js";
|
|
129
129
|
import"./index-g4fs6z4e.js";
|
|
130
|
-
import"./index-
|
|
131
|
-
import"./index-
|
|
132
|
-
import"./index-
|
|
130
|
+
import"./index-npe10823.js";
|
|
131
|
+
import"./index-h0xhec3d.js";
|
|
132
|
+
import"./index-49e65y51.js";
|
|
133
133
|
import"./index-m9zzj4ee.js";
|
|
134
|
-
import"./index-
|
|
134
|
+
import"./index-nkgzkt7c.js";
|
|
135
135
|
import"./index-2s7dvzff.js";
|
|
136
|
-
import"./index-
|
|
137
|
-
import"./index-
|
|
136
|
+
import"./index-2kpqqcch.js";
|
|
137
|
+
import"./index-sxj143a4.js";
|
|
138
138
|
import"./index-rtry5xyf.js";
|
|
139
|
-
import"./index-
|
|
139
|
+
import"./index-1s95jrgc.js";
|
|
140
140
|
import"./index-pkhbd2t5.js";
|
|
141
141
|
import"./index-0725jpp7.js";
|
|
142
|
-
import"./index-
|
|
143
|
-
import"./index-
|
|
144
|
-
import"./index-
|
|
145
|
-
import"./index-
|
|
146
|
-
import"./index-
|
|
147
|
-
import"./index-
|
|
142
|
+
import"./index-rgkzcw2a.js";
|
|
143
|
+
import"./index-ej1hdw16.js";
|
|
144
|
+
import"./index-zk6ttjkt.js";
|
|
145
|
+
import"./index-mcv0v2dp.js";
|
|
146
|
+
import"./index-feaxsjrt.js";
|
|
147
|
+
import"./index-2fpv2wmc.js";
|
|
148
148
|
import"./index-ry16d01s.js";
|
|
149
149
|
import"./index-rdm3px0g.js";
|
|
150
150
|
import"./index-7pmbnjvj.js";
|
|
151
|
-
import"./index-
|
|
152
|
-
import"./index-
|
|
151
|
+
import"./index-z3ahy9c2.js";
|
|
152
|
+
import"./index-mp1s7b0n.js";
|
|
153
153
|
import"./index-vzm6zre7.js";
|
|
154
154
|
import"./index-ae75rja9.js";
|
|
155
|
-
import"./index-
|
|
156
|
-
import"./index-
|
|
157
|
-
import"./index-
|
|
155
|
+
import"./index-3zwhxk98.js";
|
|
156
|
+
import"./index-r9yvpr2m.js";
|
|
157
|
+
import"./index-8bx6vhzk.js";
|
|
158
158
|
import"./index-t7hmqgjy.js";
|
|
159
|
-
import"./index-
|
|
159
|
+
import"./index-7vnr5cmp.js";
|
|
160
160
|
import"./index-fzpt2djt.js";
|
|
161
161
|
import"./index-ejhxgyvm.js";
|
|
162
162
|
import"./index-7g4c7s5r.js";
|
|
163
|
-
import"./index-
|
|
163
|
+
import"./index-qs9myayh.js";
|
|
164
164
|
import"./index-gx2vp8gx.js";
|
|
165
|
-
import"./index-
|
|
165
|
+
import"./index-ejk34dnw.js";
|
|
166
166
|
import"./index-zxdawwc7.js";
|
|
167
167
|
import {
|
|
168
168
|
init_schema,
|
|
169
169
|
stripKnownSwarmPrefix
|
|
170
|
-
} from "./index-
|
|
170
|
+
} from "./index-t0gj8s46.js";
|
|
171
171
|
import {
|
|
172
172
|
AGENT_TOOL_MAP,
|
|
173
173
|
ORCHESTRATOR_NAME,
|
|
174
174
|
init_constants
|
|
175
|
-
} from "./index-
|
|
175
|
+
} from "./index-s8b67e6h.js";
|
|
176
176
|
import"./index-bk5tah7q.js";
|
|
177
177
|
import"./index-gknz3bv1.js";
|
|
178
178
|
import"./index-zpsr8rpc.js";
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
ALL_AGENT_NAMES,
|
|
4
4
|
SUMMARIZER_EXEMPT_TOOL_NAMES,
|
|
5
5
|
init_constants
|
|
6
|
-
} from "./index-
|
|
6
|
+
} from "./index-s8b67e6h.js";
|
|
7
7
|
import {
|
|
8
8
|
OUTCOME_BLOCK_THRESHOLD,
|
|
9
9
|
init_knowledge_types
|
|
@@ -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.190.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",
|
|
@@ -363,6 +363,36 @@ function rejectCheckpointPrototypePollution(raw) {
|
|
|
363
363
|
}
|
|
364
364
|
return raw;
|
|
365
365
|
}
|
|
366
|
+
function retiredEpicKeyReplacement(dotted) {
|
|
367
|
+
const relative = dotted.replace(/^(?:turbo\.)?epic\./, "");
|
|
368
|
+
return Object.hasOwn(RETIRED_EPIC_KEY_REPLACEMENTS, relative) ? RETIRED_EPIC_KEY_REPLACEMENTS[relative] : undefined;
|
|
369
|
+
}
|
|
370
|
+
function stripKeys(keys) {
|
|
371
|
+
return (value) => {
|
|
372
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
373
|
+
return value;
|
|
374
|
+
}
|
|
375
|
+
const record = value;
|
|
376
|
+
if (!keys.some((key) => Object.hasOwn(record, key)))
|
|
377
|
+
return value;
|
|
378
|
+
const stripped = { ...record };
|
|
379
|
+
for (const key of keys)
|
|
380
|
+
delete stripped[key];
|
|
381
|
+
return stripped;
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
function findRetiredEpicConfigKeys(raw) {
|
|
385
|
+
const at = (node, key) => node !== null && typeof node === "object" && !Array.isArray(node) && Object.hasOwn(node, key) ? node[key] : undefined;
|
|
386
|
+
const found = [];
|
|
387
|
+
for (const [prefix, epic] of [
|
|
388
|
+
["epic", at(raw, "epic")],
|
|
389
|
+
["turbo.epic", at(at(raw, "turbo"), "epic")]
|
|
390
|
+
]) {
|
|
391
|
+
const mode = at(epic, "mode");
|
|
392
|
+
found.push(...RETIRED_EPIC_MODE_KEYS.filter((key) => at(mode, key) !== undefined).map((key) => `${prefix}.mode.${key}`), ...RETIRED_EPIC_KEYS.filter((key) => at(epic, key) !== undefined).map((key) => `${prefix}.${key}`));
|
|
393
|
+
}
|
|
394
|
+
return found;
|
|
395
|
+
}
|
|
366
396
|
function resolveExternalSkillsConfig(input) {
|
|
367
397
|
if (input === undefined || input === null || typeof input !== "object" || Array.isArray(input)) {
|
|
368
398
|
return { ...DEFAULT_EXTERNAL_SKILLS_CONFIG };
|
|
@@ -382,7 +412,7 @@ function resolveExternalSkillsConfig(input) {
|
|
|
382
412
|
};
|
|
383
413
|
return merged;
|
|
384
414
|
}
|
|
385
|
-
var _internals, SEPARATORS, CANONICAL_ROLES_LONGEST_FIRST, CANONICAL_ROLES_SET, AgentReasoningConfigSchema, AgentThinkingConfigSchema, FALLBACK_MODELS_MAX = 3, AgentOverrideConfigSchema, SwarmConfigSchema, ModelPricingConfigSchema, PricingConfigSchema, HooksConfigSchema, ScoringWeightsSchema, DecisionDecaySchema, TokenRatiosSchema, ScoringConfigSchema, ContextBudgetConfigSchema, EvidenceConfigSchema, GateFeatureSchema, PlaceholderScanConfigSchema, QualityBudgetConfigSchema, GATE_SECTION_SCHEMAS, GateConfigSchema, GATE_CONFIG_KNOWN_SECTION_KEYS, GATE_CONFIG_READERS, PipelineConfigSchema, PhaseCompleteConfigSchema, SummaryConfigSchema, RetentionConfigSchema, ReviewPassesConfigSchema, AUTO_REVIEW_V8_BURN_IN_DECISION, CONSERVATIVE_PRESET_BASE, AutoReviewFinalConfigSchema, AutoReviewConfigObjectSchema, AutoReviewConfigSchema, AdversarialDetectionConfigSchema, AdversarialTestingConfigSchemaBase, AdversarialTestingConfigSchema, IntegrationAnalysisConfigSchema, DocsConfigSchema, DesignDocsConfigSchema, GitConfigSchema, UIReviewConfigSchema, CompactionAdvisoryConfigSchema, LintConfigSchema, SecretscanConfigSchema, GuardrailsProfileSchema, DEFAULT_AGENT_PROFILES, DEFAULT_ARCHITECT_PROFILE, GuardrailsConfigSchema, WatchdogConfigSchema, SelfReviewConfigSchema, ToolFilterConfigSchema, PlanCursorConfigSchema, ContextMapConfigSchema, RepoGraphConfigSchema, INVALID_CHECKPOINT_PROTO_FIELD = "__swarm_invalid_checkpoint_proto__", FORBIDDEN_CHECKPOINT_CONFIG_KEYS, CheckpointConfigSchema, ApplyPatchConfigSchema, AutomationModeSchema, AutomationCapabilitiesSchema, AutomationConfigSchemaBase, AutomationConfigSchema, KnowledgeConfigSchema, LearningConfigSchema, ConsensusConfigSchema, OtlpExportConfigSchema, ObservabilityConfigSchema, ForgeConfigSchema, MemoryConfigSchema, CuratorConfigSchema, ArchitecturalSupervisionConfigSchema, KnowledgeApplicationConfigSchema, SkillPropagationAudienceSchema, SkillPropagationConfigSchema, HarnessRelativePathSchema, HarnessEvolutionConfigSchema, DEFAULT_HARNESS_EVOLUTION_CONFIG, HarnessOptConfigSchema, DEFAULT_HARNESS_OPT_CONFIG, SkillImproverConfigSchema, SkillsConfigSchema, SkillOptConfigSchema, DEFAULT_SKILL_OPT_CONFIG, SpecWriterConfigSchema, SlopDetectorConfigSchema, IncrementalVerifyConfigSchema, CompactionConfigSchema, PrmConfigSchema, AgentAuthorityRuleSchema, AuthorityConfigSchema, GeneralCouncilMemberConfigSchema, GeneralCouncilConfigSchema, CouncilConfigSchema, PrMonitorConfigSchema, PrFeedbackLoopConfigSchema, ParallelizationConfigSchema, WorktreeIsolationConfigSchema, LeanTurboConfigSchema, EpicConfigSchema, StandardTurboConfigSchema, LeanTurboStrategyConfigSchema, TurboConfigSchema, ExternalSkillCandidateSourceTypeSchema, ExternalSkillCandidateEvaluationVerdictSchema, DiscoverySourceSchema, ExternalSkillCandidateSchema, ExternalSkillsConfigSchema, DEFAULT_EXTERNAL_SKILLS_CONFIG, DEFAULT_SKILLS_CONFIG, DEFAULT_PR_REVIEW_RESILIENCE_CONFIG, PrReviewResilienceConfigSchema, ReviewRoutingConfigSchema, DEFAULT_REVIEW_ROUTING_CONFIG, LaneLivenessWatchdogConfigSchema, DispatchProtectionConfigSchema, DashboardConfigSchema, DEFAULT_PR_REVIEW_LEGACY_TRANSCRIPT_COMPATIBILITY = false, PluginConfigSchema;
|
|
415
|
+
var _internals, SEPARATORS, CANONICAL_ROLES_LONGEST_FIRST, CANONICAL_ROLES_SET, AgentReasoningConfigSchema, AgentThinkingConfigSchema, FALLBACK_MODELS_MAX = 3, AgentOverrideConfigSchema, SwarmConfigSchema, ModelPricingConfigSchema, PricingConfigSchema, HooksConfigSchema, ScoringWeightsSchema, DecisionDecaySchema, TokenRatiosSchema, ScoringConfigSchema, ContextBudgetConfigSchema, EvidenceConfigSchema, GateFeatureSchema, PlaceholderScanConfigSchema, QualityBudgetConfigSchema, GATE_SECTION_SCHEMAS, GateConfigSchema, GATE_CONFIG_KNOWN_SECTION_KEYS, GATE_CONFIG_READERS, PipelineConfigSchema, PhaseCompleteConfigSchema, SummaryConfigSchema, RetentionConfigSchema, ReviewPassesConfigSchema, AUTO_REVIEW_V8_BURN_IN_DECISION, CONSERVATIVE_PRESET_BASE, AutoReviewFinalConfigSchema, AutoReviewConfigObjectSchema, AutoReviewConfigSchema, AdversarialDetectionConfigSchema, AdversarialTestingConfigSchemaBase, AdversarialTestingConfigSchema, IntegrationAnalysisConfigSchema, DocsConfigSchema, DesignDocsConfigSchema, GitConfigSchema, UIReviewConfigSchema, CompactionAdvisoryConfigSchema, LintConfigSchema, SecretscanConfigSchema, GuardrailsProfileSchema, DEFAULT_AGENT_PROFILES, DEFAULT_ARCHITECT_PROFILE, GuardrailsConfigSchema, WatchdogConfigSchema, SelfReviewConfigSchema, ToolFilterConfigSchema, PlanCursorConfigSchema, ContextMapConfigSchema, RepoGraphConfigSchema, INVALID_CHECKPOINT_PROTO_FIELD = "__swarm_invalid_checkpoint_proto__", FORBIDDEN_CHECKPOINT_CONFIG_KEYS, CheckpointConfigSchema, ApplyPatchConfigSchema, AutomationModeSchema, AutomationCapabilitiesSchema, AutomationConfigSchemaBase, AutomationConfigSchema, KnowledgeConfigSchema, LearningConfigSchema, ConsensusConfigSchema, OtlpExportConfigSchema, ObservabilityConfigSchema, ForgeConfigSchema, MemoryConfigSchema, CuratorConfigSchema, ArchitecturalSupervisionConfigSchema, KnowledgeApplicationConfigSchema, SkillPropagationAudienceSchema, SkillPropagationConfigSchema, HarnessRelativePathSchema, HarnessEvolutionConfigSchema, DEFAULT_HARNESS_EVOLUTION_CONFIG, HarnessOptConfigSchema, DEFAULT_HARNESS_OPT_CONFIG, SkillImproverConfigSchema, SkillsConfigSchema, SkillOptConfigSchema, DEFAULT_SKILL_OPT_CONFIG, SpecWriterConfigSchema, SlopDetectorConfigSchema, IncrementalVerifyConfigSchema, CompactionConfigSchema, PrmConfigSchema, AgentAuthorityRuleSchema, AuthorityConfigSchema, GeneralCouncilMemberConfigSchema, GeneralCouncilConfigSchema, CouncilConfigSchema, PrMonitorConfigSchema, PrFeedbackLoopConfigSchema, ParallelizationConfigSchema, WorktreeIsolationConfigSchema, LeanTurboConfigSchema, RETIRED_EPIC_MODE_KEYS, RETIRED_EPIC_KEYS, RETIRED_EPIC_KEY_REPLACEMENTS, stripRetiredEpicModeKeys, stripRetiredEpicKeys, EpicConfigSchema, LegacyTurboEpicConfigSchema, StandardTurboConfigSchema, LeanTurboStrategyConfigSchema, TurboConfigSchema, ExternalSkillCandidateSourceTypeSchema, ExternalSkillCandidateEvaluationVerdictSchema, DiscoverySourceSchema, ExternalSkillCandidateSchema, ExternalSkillsConfigSchema, DEFAULT_EXTERNAL_SKILLS_CONFIG, DEFAULT_SKILLS_CONFIG, DEFAULT_PR_REVIEW_RESILIENCE_CONFIG, PrReviewResilienceConfigSchema, ReviewRoutingConfigSchema, DEFAULT_REVIEW_ROUTING_CONFIG, LaneLivenessWatchdogConfigSchema, DispatchProtectionConfigSchema, DashboardConfigSchema, DEFAULT_PR_REVIEW_LEGACY_TRANSCRIPT_COMPATIBILITY = false, PluginConfigSchema;
|
|
386
416
|
var init_schema = __esm(() => {
|
|
387
417
|
init_zod();
|
|
388
418
|
init_package();
|
|
@@ -1612,34 +1642,64 @@ var init_schema = __esm(() => {
|
|
|
1612
1642
|
cache_redirects: exports_external.record(exports_external.string(), exports_external.string()).optional()
|
|
1613
1643
|
}).optional()
|
|
1614
1644
|
});
|
|
1615
|
-
|
|
1645
|
+
RETIRED_EPIC_MODE_KEYS = [
|
|
1646
|
+
"min_commits_for_signal"
|
|
1647
|
+
];
|
|
1648
|
+
RETIRED_EPIC_KEYS = ["calibration"];
|
|
1649
|
+
RETIRED_EPIC_KEY_REPLACEMENTS = {
|
|
1650
|
+
calibration: "Epic learning replaced it \u2014 see epic.learning.* (enabled, decay_per_epic, half_life_days, hot_excess)."
|
|
1651
|
+
};
|
|
1652
|
+
stripRetiredEpicModeKeys = stripKeys(RETIRED_EPIC_MODE_KEYS);
|
|
1653
|
+
stripRetiredEpicKeys = stripKeys(RETIRED_EPIC_KEYS);
|
|
1654
|
+
EpicConfigSchema = exports_external.preprocess(stripRetiredEpicKeys, exports_external.object({
|
|
1616
1655
|
cochange: exports_external.object({
|
|
1617
1656
|
enabled: exports_external.boolean().default(false),
|
|
1618
1657
|
threshold: exports_external.number().min(-1).max(1).default(0.6),
|
|
1619
1658
|
min_co_changes: exports_external.number().int().min(1).default(5)
|
|
1620
1659
|
}).strict().optional(),
|
|
1621
|
-
mode: exports_external.object({
|
|
1660
|
+
mode: exports_external.preprocess(stripRetiredEpicModeKeys, exports_external.object({
|
|
1622
1661
|
enabled: exports_external.boolean().default(false),
|
|
1623
1662
|
activation_threshold: exports_external.number().min(0).max(1).default(0.3),
|
|
1624
|
-
min_commits_for_signal: exports_external.number().
|
|
1625
|
-
|
|
1626
|
-
|
|
1663
|
+
min_commits_for_signal: exports_external.number().optional().meta({
|
|
1664
|
+
deprecated: true,
|
|
1665
|
+
description: "Retired (Epic v2): accepted and ignored with a warning. Remove it."
|
|
1666
|
+
})
|
|
1667
|
+
}).strict()).optional(),
|
|
1668
|
+
calibration: exports_external.record(exports_external.string(), exports_external.unknown()).optional().meta({
|
|
1669
|
+
deprecated: true,
|
|
1670
|
+
description: "Retired (Epic v2): accepted and ignored with a warning \u2014 Epic learning replaced it (epic.learning). Remove it."
|
|
1671
|
+
}),
|
|
1672
|
+
learning: exports_external.object({
|
|
1627
1673
|
enabled: exports_external.boolean().default(true),
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1674
|
+
decay_per_epic: exports_external.number().min(0).max(1).default(0.7),
|
|
1675
|
+
half_life_days: exports_external.number().positive().default(60),
|
|
1676
|
+
hot_excess: exports_external.number().min(0).max(1).default(0.25)
|
|
1677
|
+
}).strict().optional(),
|
|
1678
|
+
sizing: exports_external.object({
|
|
1679
|
+
min_tasks: exports_external.number().int().min(1).default(6),
|
|
1680
|
+
min_scope_coverage: exports_external.number().min(0).max(1).default(0.8),
|
|
1681
|
+
min_effective_speedup: exports_external.number().min(1).default(1.25),
|
|
1682
|
+
coder_fraction: exports_external.number().min(0).max(1).default(0.6)
|
|
1683
|
+
}).strict().optional(),
|
|
1684
|
+
commit_policy: exports_external.enum(["epic-branch", "current-branch"]).optional(),
|
|
1685
|
+
retain_refs: exports_external.boolean().optional(),
|
|
1686
|
+
phase_review: exports_external.object({
|
|
1687
|
+
timeout_ms: exports_external.number().int().min(1e4).max(1800000).default(300000)
|
|
1632
1688
|
}).strict().optional()
|
|
1633
|
-
}).strict();
|
|
1689
|
+
}).strict());
|
|
1690
|
+
LegacyTurboEpicConfigSchema = EpicConfigSchema.optional().meta({
|
|
1691
|
+
deprecated: true,
|
|
1692
|
+
description: "Deprecated (still accepted): move this block to top-level `epic` \u2014 Epic Mode no longer needs a `turbo` block. Within a file, top-level `epic` wins per key when both are set."
|
|
1693
|
+
});
|
|
1634
1694
|
StandardTurboConfigSchema = exports_external.object({
|
|
1635
1695
|
strategy: exports_external.literal("standard"),
|
|
1636
1696
|
lean: LeanTurboConfigSchema.optional(),
|
|
1637
|
-
epic:
|
|
1697
|
+
epic: LegacyTurboEpicConfigSchema
|
|
1638
1698
|
});
|
|
1639
1699
|
LeanTurboStrategyConfigSchema = exports_external.object({
|
|
1640
1700
|
strategy: exports_external.literal("lean"),
|
|
1641
1701
|
lean: LeanTurboConfigSchema,
|
|
1642
|
-
epic:
|
|
1702
|
+
epic: LegacyTurboEpicConfigSchema
|
|
1643
1703
|
});
|
|
1644
1704
|
TurboConfigSchema = exports_external.discriminatedUnion("strategy", [
|
|
1645
1705
|
StandardTurboConfigSchema,
|
|
@@ -1871,6 +1931,7 @@ var init_schema = __esm(() => {
|
|
|
1871
1931
|
parallelization: ParallelizationConfigSchema.optional().describe("Parallelization (PR 1 dark foundation) \u2014 disabled by default; no production code path branches on enabled=true yet."),
|
|
1872
1932
|
worktree: WorktreeIsolationConfigSchema.optional().describe("Worktree isolation policy for parallel coder dispatch lanes (general surface; Lean Turbo keeps its legacy per-mode fields)."),
|
|
1873
1933
|
turbo: TurboConfigSchema.optional().describe("Turbo execution strategy block (Phase 1). Absent means current behavior unchanged."),
|
|
1934
|
+
epic: EpicConfigSchema.optional().describe("Epic Mode block: one plan = one epic delivered in conflict-free parallel waves. Opt in with `mode.enabled: true`, then `/swarm epic start`. Needs no `turbo` block (legacy `turbo.epic` is still accepted and migrated here)."),
|
|
1874
1935
|
turbo_mode: exports_external.boolean().default(false).optional().describe("Bypass reviewer/test gates for rapid iteration (v6.40). When true, new sessions start with turbo mode on (session default); /swarm turbo still toggles per session. Directory-less constructions default off."),
|
|
1875
1936
|
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."),
|
|
1876
1937
|
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."),
|
|
@@ -2042,4 +2103,4 @@ var init_schema = __esm(() => {
|
|
|
2042
2103
|
});
|
|
2043
2104
|
});
|
|
2044
2105
|
|
|
2045
|
-
export { init_package, package_default, DEFAULT_MODEL_CONTEXT_TOKENS, isUsableConfiguredWindow, isUsableContextWindow, resolveContextWindow, init_context_window, _internals, isKnownCanonicalRole, getCanonicalAgentRole, resolveGeneratedAgentRole, stripKnownSwarmPrefix, AgentReasoningConfigSchema, AgentThinkingConfigSchema, FALLBACK_MODELS_MAX, AgentOverrideConfigSchema, SwarmConfigSchema, ModelPricingConfigSchema, PricingConfigSchema, HooksConfigSchema, ScoringWeightsSchema, DecisionDecaySchema, TokenRatiosSchema, ScoringConfigSchema, ContextBudgetConfigSchema, EvidenceConfigSchema, GateFeatureSchema, PlaceholderScanConfigSchema, QualityBudgetConfigSchema, GATE_SECTION_SCHEMAS, GateConfigSchema, GATE_CONFIG_KNOWN_SECTION_KEYS, GATE_CONFIG_READERS, PipelineConfigSchema, PhaseCompleteConfigSchema, SummaryConfigSchema, RetentionConfigSchema, ReviewPassesConfigSchema, AUTO_REVIEW_V8_BURN_IN_DECISION, CONSERVATIVE_PRESET_BASE, AutoReviewConfigSchema, resolveAutoReviewConfig, AdversarialDetectionConfigSchema, AdversarialTestingConfigSchema, IntegrationAnalysisConfigSchema, DocsConfigSchema, DesignDocsConfigSchema, GitConfigSchema, UIReviewConfigSchema, CompactionAdvisoryConfigSchema, LintConfigSchema, SecretscanConfigSchema, GuardrailsProfileSchema, DEFAULT_AGENT_PROFILES, DEFAULT_ARCHITECT_PROFILE, GuardrailsConfigSchema, WatchdogConfigSchema, SelfReviewConfigSchema, resolveGuardrailsConfig, ToolFilterConfigSchema, PlanCursorConfigSchema, ContextMapConfigSchema, RepoGraphConfigSchema, CheckpointConfigSchema, ApplyPatchConfigSchema, AutomationModeSchema, AutomationCapabilitiesSchema, AutomationConfigSchema, KnowledgeConfigSchema, LearningConfigSchema, ConsensusConfigSchema, OtlpExportConfigSchema, ObservabilityConfigSchema, ForgeConfigSchema, MemoryConfigSchema, CuratorConfigSchema, ArchitecturalSupervisionConfigSchema, KnowledgeApplicationConfigSchema, SkillPropagationConfigSchema, HarnessEvolutionConfigSchema, DEFAULT_HARNESS_EVOLUTION_CONFIG, HarnessOptConfigSchema, DEFAULT_HARNESS_OPT_CONFIG, SkillImproverConfigSchema, SkillsConfigSchema, SkillOptConfigSchema, DEFAULT_SKILL_OPT_CONFIG, SpecWriterConfigSchema, SlopDetectorConfigSchema, IncrementalVerifyConfigSchema, CompactionConfigSchema, PrmConfigSchema, AgentAuthorityRuleSchema, AuthorityConfigSchema, GeneralCouncilConfigSchema, CouncilConfigSchema, PrMonitorConfigSchema, PrFeedbackLoopConfigSchema, ParallelizationConfigSchema, WorktreeIsolationConfigSchema, LeanTurboConfigSchema, EpicConfigSchema, StandardTurboConfigSchema, LeanTurboStrategyConfigSchema, TurboConfigSchema, ExternalSkillCandidateSourceTypeSchema, ExternalSkillCandidateEvaluationVerdictSchema, DiscoverySourceSchema, ExternalSkillCandidateSchema, ExternalSkillsConfigSchema, DEFAULT_EXTERNAL_SKILLS_CONFIG, DEFAULT_SKILLS_CONFIG, resolveExternalSkillsConfig, DEFAULT_PR_REVIEW_RESILIENCE_CONFIG, PrReviewResilienceConfigSchema, ReviewRoutingConfigSchema, DEFAULT_REVIEW_ROUTING_CONFIG, LaneLivenessWatchdogConfigSchema, DispatchProtectionConfigSchema, DashboardConfigSchema, DEFAULT_PR_REVIEW_LEGACY_TRANSCRIPT_COMPATIBILITY, PluginConfigSchema, init_schema };
|
|
2106
|
+
export { init_package, package_default, DEFAULT_MODEL_CONTEXT_TOKENS, isUsableConfiguredWindow, isUsableContextWindow, resolveContextWindow, init_context_window, _internals, isKnownCanonicalRole, getCanonicalAgentRole, resolveGeneratedAgentRole, stripKnownSwarmPrefix, AgentReasoningConfigSchema, AgentThinkingConfigSchema, FALLBACK_MODELS_MAX, AgentOverrideConfigSchema, SwarmConfigSchema, ModelPricingConfigSchema, PricingConfigSchema, HooksConfigSchema, ScoringWeightsSchema, DecisionDecaySchema, TokenRatiosSchema, ScoringConfigSchema, ContextBudgetConfigSchema, EvidenceConfigSchema, GateFeatureSchema, PlaceholderScanConfigSchema, QualityBudgetConfigSchema, GATE_SECTION_SCHEMAS, GateConfigSchema, GATE_CONFIG_KNOWN_SECTION_KEYS, GATE_CONFIG_READERS, PipelineConfigSchema, PhaseCompleteConfigSchema, SummaryConfigSchema, RetentionConfigSchema, ReviewPassesConfigSchema, AUTO_REVIEW_V8_BURN_IN_DECISION, CONSERVATIVE_PRESET_BASE, AutoReviewConfigSchema, resolveAutoReviewConfig, AdversarialDetectionConfigSchema, AdversarialTestingConfigSchema, IntegrationAnalysisConfigSchema, DocsConfigSchema, DesignDocsConfigSchema, GitConfigSchema, UIReviewConfigSchema, CompactionAdvisoryConfigSchema, LintConfigSchema, SecretscanConfigSchema, GuardrailsProfileSchema, DEFAULT_AGENT_PROFILES, DEFAULT_ARCHITECT_PROFILE, GuardrailsConfigSchema, WatchdogConfigSchema, SelfReviewConfigSchema, resolveGuardrailsConfig, ToolFilterConfigSchema, PlanCursorConfigSchema, ContextMapConfigSchema, RepoGraphConfigSchema, CheckpointConfigSchema, ApplyPatchConfigSchema, AutomationModeSchema, AutomationCapabilitiesSchema, AutomationConfigSchema, KnowledgeConfigSchema, LearningConfigSchema, ConsensusConfigSchema, OtlpExportConfigSchema, ObservabilityConfigSchema, ForgeConfigSchema, MemoryConfigSchema, CuratorConfigSchema, ArchitecturalSupervisionConfigSchema, KnowledgeApplicationConfigSchema, SkillPropagationConfigSchema, HarnessEvolutionConfigSchema, DEFAULT_HARNESS_EVOLUTION_CONFIG, HarnessOptConfigSchema, DEFAULT_HARNESS_OPT_CONFIG, SkillImproverConfigSchema, SkillsConfigSchema, SkillOptConfigSchema, DEFAULT_SKILL_OPT_CONFIG, SpecWriterConfigSchema, SlopDetectorConfigSchema, IncrementalVerifyConfigSchema, CompactionConfigSchema, PrmConfigSchema, AgentAuthorityRuleSchema, AuthorityConfigSchema, GeneralCouncilConfigSchema, CouncilConfigSchema, PrMonitorConfigSchema, PrFeedbackLoopConfigSchema, ParallelizationConfigSchema, WorktreeIsolationConfigSchema, LeanTurboConfigSchema, RETIRED_EPIC_MODE_KEYS, RETIRED_EPIC_KEYS, RETIRED_EPIC_KEY_REPLACEMENTS, retiredEpicKeyReplacement, findRetiredEpicConfigKeys, EpicConfigSchema, LegacyTurboEpicConfigSchema, StandardTurboConfigSchema, LeanTurboStrategyConfigSchema, TurboConfigSchema, ExternalSkillCandidateSourceTypeSchema, ExternalSkillCandidateEvaluationVerdictSchema, DiscoverySourceSchema, ExternalSkillCandidateSchema, ExternalSkillsConfigSchema, DEFAULT_EXTERNAL_SKILLS_CONFIG, DEFAULT_SKILLS_CONFIG, resolveExternalSkillsConfig, DEFAULT_PR_REVIEW_RESILIENCE_CONFIG, PrReviewResilienceConfigSchema, ReviewRoutingConfigSchema, DEFAULT_REVIEW_ROUTING_CONFIG, LaneLivenessWatchdogConfigSchema, DispatchProtectionConfigSchema, DashboardConfigSchema, DEFAULT_PR_REVIEW_LEGACY_TRANSCRIPT_COMPATIBILITY, PluginConfigSchema, init_schema };
|
|
@@ -14,14 +14,14 @@ import {
|
|
|
14
14
|
detectWindowsWrites,
|
|
15
15
|
getSharedClassifierGuardrailBlock,
|
|
16
16
|
resolveWriteTargets
|
|
17
|
-
} from "./index-
|
|
17
|
+
} from "./index-ffgcdf49.js";
|
|
18
18
|
import {
|
|
19
19
|
checkFileAuthority,
|
|
20
20
|
classifyFile,
|
|
21
21
|
isInDeclaredScope,
|
|
22
22
|
redactPath,
|
|
23
23
|
redactShellCommand
|
|
24
|
-
} from "./index-
|
|
24
|
+
} from "./index-9xxqdzp4.js";
|
|
25
25
|
|
|
26
26
|
// src/services/guardrail-explain-service.ts
|
|
27
27
|
import path from "path";
|
|
@@ -1,27 +1,36 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
loadPlanJsonOnly
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-fb5s32c2.js";
|
|
5
5
|
import {
|
|
6
6
|
isCanonicalPathWithinRoot
|
|
7
7
|
} from "./index-6b295cas.js";
|
|
8
8
|
import {
|
|
9
9
|
sameExistingFilesystemPath
|
|
10
10
|
} from "./index-ry16d01s.js";
|
|
11
|
+
import {
|
|
12
|
+
hasLegacyEpicConfig,
|
|
13
|
+
init_config,
|
|
14
|
+
legacyEpicIssuePath,
|
|
15
|
+
migrateLegacyEpicConfig,
|
|
16
|
+
resolveEpicConfig
|
|
17
|
+
} from "./index-ejk34dnw.js";
|
|
11
18
|
import {
|
|
12
19
|
FALLBACK_MODELS_MAX,
|
|
13
20
|
GATE_CONFIG_KNOWN_SECTION_KEYS,
|
|
14
21
|
GateConfigSchema,
|
|
15
22
|
PluginConfigSchema,
|
|
23
|
+
findRetiredEpicConfigKeys,
|
|
16
24
|
init_schema,
|
|
25
|
+
retiredEpicKeyReplacement,
|
|
17
26
|
stripKnownSwarmPrefix
|
|
18
|
-
} from "./index-
|
|
27
|
+
} from "./index-t0gj8s46.js";
|
|
19
28
|
import {
|
|
20
29
|
ALL_AGENT_NAMES,
|
|
21
30
|
TOOL_NAME_SET,
|
|
22
31
|
init_constants,
|
|
23
32
|
init_tool_metadata
|
|
24
|
-
} from "./index-
|
|
33
|
+
} from "./index-s8b67e6h.js";
|
|
25
34
|
import {
|
|
26
35
|
log
|
|
27
36
|
} from "./index-zgwm4ryv.js";
|
|
@@ -515,9 +524,16 @@ var CONFIG_CONSUMERS = {
|
|
|
515
524
|
turbo: {
|
|
516
525
|
consumers: [
|
|
517
526
|
"src/agents/index.ts:createSwarmAgents",
|
|
518
|
-
"src/commands/epic.ts:renderCalibration",
|
|
519
527
|
"src/commands/turbo.ts:handleTurboCommand",
|
|
520
|
-
"src/config/worktree-isolation-config.ts:resolveWorktreeIsolationConfig"
|
|
528
|
+
"src/config/worktree-isolation-config.ts:resolveWorktreeIsolationConfig",
|
|
529
|
+
"src/epic/config.ts:resolveEpicConfig",
|
|
530
|
+
"src/epic/shaping-sizing.ts:epicWaveWidth"
|
|
531
|
+
]
|
|
532
|
+
},
|
|
533
|
+
epic: {
|
|
534
|
+
consumers: [
|
|
535
|
+
"src/epic/config.ts:resolveEpicConfig",
|
|
536
|
+
"src/epic/config.ts:migrateLegacyEpicConfig"
|
|
521
537
|
]
|
|
522
538
|
},
|
|
523
539
|
turbo_mode: {
|
|
@@ -590,9 +606,11 @@ var CONFIG_CONSUMERS = {
|
|
|
590
606
|
]
|
|
591
607
|
}
|
|
592
608
|
};
|
|
609
|
+
Object.freeze(CONFIG_CONSUMERS);
|
|
593
610
|
|
|
594
611
|
// src/services/config-doctor.ts
|
|
595
612
|
init_schema();
|
|
613
|
+
init_config();
|
|
596
614
|
init_tool_metadata();
|
|
597
615
|
var CONFIG_DOCTOR_MAX_CONFIG_FILE_BYTES = 102400;
|
|
598
616
|
var KNOWN_TOP_LEVEL_KEYS = new Set(Object.keys(PluginConfigSchema.shape));
|
|
@@ -693,7 +711,7 @@ function emitObjectTypeMismatch(key, value, findings) {
|
|
|
693
711
|
function isPlainObject(value) {
|
|
694
712
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
695
713
|
}
|
|
696
|
-
function collectRawInertKeyFindings(directory) {
|
|
714
|
+
function collectRawInertKeyFindings(directory, consumers = CONFIG_CONSUMERS) {
|
|
697
715
|
const findings = [];
|
|
698
716
|
const { userConfigPath, projectConfigPath } = getConfigPaths(directory);
|
|
699
717
|
const seen = new Set;
|
|
@@ -710,7 +728,7 @@ function collectRawInertKeyFindings(directory) {
|
|
|
710
728
|
for (const key of Object.keys(raw)) {
|
|
711
729
|
if (seen.has(key))
|
|
712
730
|
continue;
|
|
713
|
-
const declaration =
|
|
731
|
+
const declaration = Object.hasOwn(consumers, key) ? consumers[key] : undefined;
|
|
714
732
|
if (!declaration || !("inert" in declaration))
|
|
715
733
|
continue;
|
|
716
734
|
seen.add(key);
|
|
@@ -905,7 +923,7 @@ function collectRawStrictSectionFindings(directory) {
|
|
|
905
923
|
const raw = JSON.parse(fs.readFileSync(configPath, "utf-8"));
|
|
906
924
|
if (!isPlainObject(raw))
|
|
907
925
|
continue;
|
|
908
|
-
const parsed = PluginConfigSchema.safeParse(raw);
|
|
926
|
+
const parsed = PluginConfigSchema.safeParse(migrateLegacyEpicConfig(raw));
|
|
909
927
|
if (parsed.success)
|
|
910
928
|
continue;
|
|
911
929
|
const seen = new Set;
|
|
@@ -915,8 +933,9 @@ function collectRawStrictSectionFindings(directory) {
|
|
|
915
933
|
if (issue.path[0] === "gates")
|
|
916
934
|
continue;
|
|
917
935
|
const keys = issue.keys ?? [];
|
|
936
|
+
const issuePath = legacyEpicIssuePath(raw, issue.path);
|
|
918
937
|
for (const key of keys) {
|
|
919
|
-
const dotted = [...
|
|
938
|
+
const dotted = [...issuePath.map(String), key].join(".");
|
|
920
939
|
if (seen.has(dotted))
|
|
921
940
|
continue;
|
|
922
941
|
seen.add(dotted);
|
|
@@ -935,6 +954,68 @@ function collectRawStrictSectionFindings(directory) {
|
|
|
935
954
|
}
|
|
936
955
|
return findings;
|
|
937
956
|
}
|
|
957
|
+
function readRawEpicConfigFiles(directory) {
|
|
958
|
+
const out = [];
|
|
959
|
+
const { userConfigPath, projectConfigPath } = getConfigPaths(directory);
|
|
960
|
+
for (const configPath of [userConfigPath, projectConfigPath]) {
|
|
961
|
+
if (!fs.existsSync(configPath))
|
|
962
|
+
continue;
|
|
963
|
+
try {
|
|
964
|
+
const stats = fs.statSync(configPath);
|
|
965
|
+
if (stats.size > CONFIG_DOCTOR_MAX_CONFIG_FILE_BYTES)
|
|
966
|
+
continue;
|
|
967
|
+
const content = fs.readFileSync(configPath, "utf-8");
|
|
968
|
+
out.push({
|
|
969
|
+
configPath,
|
|
970
|
+
raw: JSON.parse(content.charCodeAt(0) === 65279 ? content.slice(1) : content)
|
|
971
|
+
});
|
|
972
|
+
} catch {}
|
|
973
|
+
}
|
|
974
|
+
return out;
|
|
975
|
+
}
|
|
976
|
+
function collectRawRetiredEpicKeyFindings(config, directory) {
|
|
977
|
+
const findings = [];
|
|
978
|
+
if (resolveEpicConfig(config) === undefined)
|
|
979
|
+
return findings;
|
|
980
|
+
const seen = new Set;
|
|
981
|
+
for (const { configPath, raw } of readRawEpicConfigFiles(directory)) {
|
|
982
|
+
for (const dotted of findRetiredEpicConfigKeys(raw)) {
|
|
983
|
+
if (seen.has(`${configPath}\x00${dotted}`))
|
|
984
|
+
continue;
|
|
985
|
+
seen.add(`${configPath}\x00${dotted}`);
|
|
986
|
+
const hint = retiredEpicKeyReplacement(dotted);
|
|
987
|
+
findings.push({
|
|
988
|
+
id: "retired-config-key",
|
|
989
|
+
title: "Retired config key",
|
|
990
|
+
description: `"${dotted}" in ${configPath} was retired by Epic Mode v2 and is ignored.${hint ? ` ${hint}` : ""} Remove it.`,
|
|
991
|
+
severity: "warn",
|
|
992
|
+
path: dotted,
|
|
993
|
+
currentValue: undefined,
|
|
994
|
+
autoFixable: false
|
|
995
|
+
});
|
|
996
|
+
}
|
|
997
|
+
}
|
|
998
|
+
return findings;
|
|
999
|
+
}
|
|
1000
|
+
function collectRawLegacyEpicConfigFindings(config, directory) {
|
|
1001
|
+
const findings = [];
|
|
1002
|
+
if (resolveEpicConfig(config) === undefined)
|
|
1003
|
+
return findings;
|
|
1004
|
+
for (const { configPath, raw } of readRawEpicConfigFiles(directory)) {
|
|
1005
|
+
if (!hasLegacyEpicConfig(raw))
|
|
1006
|
+
continue;
|
|
1007
|
+
findings.push({
|
|
1008
|
+
id: "legacy-epic-config-path",
|
|
1009
|
+
title: "Deprecated Epic config path",
|
|
1010
|
+
description: `"turbo.epic" in ${configPath} is deprecated: move the block to top-level "epic" (Epic Mode no longer needs a "turbo" block). It still works \u2014 the loader migrates it; within this file a top-level "epic" wins every key both set, and across files the project config wins over the user config as usual.`,
|
|
1011
|
+
severity: "warn",
|
|
1012
|
+
path: "turbo.epic",
|
|
1013
|
+
currentValue: undefined,
|
|
1014
|
+
autoFixable: false
|
|
1015
|
+
});
|
|
1016
|
+
}
|
|
1017
|
+
return findings;
|
|
1018
|
+
}
|
|
938
1019
|
function getRawValueAtPath(raw, issuePath) {
|
|
939
1020
|
let node = raw;
|
|
940
1021
|
for (const seg of issuePath) {
|
|
@@ -960,7 +1041,7 @@ function collectRawValueConstraintFindings(directory) {
|
|
|
960
1041
|
const raw = JSON.parse(fs.readFileSync(configPath, "utf-8"));
|
|
961
1042
|
if (!isPlainObject(raw))
|
|
962
1043
|
continue;
|
|
963
|
-
const parsed = PluginConfigSchema.safeParse(raw);
|
|
1044
|
+
const parsed = PluginConfigSchema.safeParse(migrateLegacyEpicConfig(raw));
|
|
964
1045
|
if (parsed.success)
|
|
965
1046
|
continue;
|
|
966
1047
|
for (const issue of parsed.error.issues) {
|
|
@@ -968,12 +1049,13 @@ function collectRawValueConstraintFindings(directory) {
|
|
|
968
1049
|
continue;
|
|
969
1050
|
if (issue.path[0] === "gates")
|
|
970
1051
|
continue;
|
|
971
|
-
const
|
|
1052
|
+
const issuePath = legacyEpicIssuePath(raw, issue.path);
|
|
1053
|
+
const dotted = issuePath.map(String).join(".");
|
|
972
1054
|
const dedupeKey = `${dotted}|${issue.code}`;
|
|
973
1055
|
if (seen.has(dedupeKey))
|
|
974
1056
|
continue;
|
|
975
1057
|
seen.add(dedupeKey);
|
|
976
|
-
const current = getRawValueAtPath(raw,
|
|
1058
|
+
const current = getRawValueAtPath(raw, issuePath);
|
|
977
1059
|
if (issue.code === "too_big" && dotted.endsWith("fallback_models") && Array.isArray(current) && current.length > FALLBACK_MODELS_MAX) {
|
|
978
1060
|
const trimmed = current.slice(0, FALLBACK_MODELS_MAX);
|
|
979
1061
|
const dropped = current.slice(FALLBACK_MODELS_MAX).map(String);
|
|
@@ -1881,6 +1963,10 @@ function validateConfigKey(path2, value) {
|
|
|
1881
1963
|
emitObjectTypeMismatch("turbo", value, findings);
|
|
1882
1964
|
break;
|
|
1883
1965
|
}
|
|
1966
|
+
case "epic": {
|
|
1967
|
+
emitObjectTypeMismatch("epic", value, findings);
|
|
1968
|
+
break;
|
|
1969
|
+
}
|
|
1884
1970
|
case "turbo_mode": {
|
|
1885
1971
|
if (value !== undefined && typeof value !== "boolean") {
|
|
1886
1972
|
findings.push({
|
|
@@ -2099,6 +2185,8 @@ function runConfigDoctor(config, directory, planParallelizationEnabled = null) {
|
|
|
2099
2185
|
findings.push(...collectRawGatesConfigFindings(directory));
|
|
2100
2186
|
findings.push(...collectRawCouncilPolicyFindings(directory));
|
|
2101
2187
|
findings.push(...collectRawStrictSectionFindings(directory));
|
|
2188
|
+
findings.push(...collectRawRetiredEpicKeyFindings(config, directory));
|
|
2189
|
+
findings.push(...collectRawLegacyEpicConfigFindings(config, directory));
|
|
2102
2190
|
findings.push(...collectRawValueConstraintFindings(directory));
|
|
2103
2191
|
findings.push(...collectRawAutoReviewCompatibilityFindings(directory));
|
|
2104
2192
|
findings.push(...collectRawInertKeyFindings(directory));
|
|
@@ -2582,4 +2670,4 @@ function removeStraySwarmDir(projectRoot, strayPath) {
|
|
|
2582
2670
|
}
|
|
2583
2671
|
}
|
|
2584
2672
|
|
|
2585
|
-
export { CURRENT_CONFIG_FORMAT_VERSION, DEFAULT_FLIPS, LEAN_TURBO_GATE_PRODUCERS, collectLeanTurboGateSatisfiabilityFindings, _internals, resolvePlanParallelizationFlag, getConfigPaths, createConfigBackup, writeBackupArtifact, restoreFromBackup, runConfigDoctor, applySafeAutoFixes, readDoctorArtifact, writeDoctorArtifact, shouldRunOnStartup, runConfigDoctorWithFixes, detectStraySwarmDirs, removeStraySwarmDir };
|
|
2673
|
+
export { CURRENT_CONFIG_FORMAT_VERSION, DEFAULT_FLIPS, collectRawInertKeyFindings, LEAN_TURBO_GATE_PRODUCERS, collectLeanTurboGateSatisfiabilityFindings, collectRawRetiredEpicKeyFindings, collectRawLegacyEpicConfigFindings, _internals, resolvePlanParallelizationFlag, getConfigPaths, createConfigBackup, writeBackupArtifact, restoreFromBackup, runConfigDoctor, applySafeAutoFixes, readDoctorArtifact, writeDoctorArtifact, shouldRunOnStartup, runConfigDoctorWithFixes, detectStraySwarmDirs, removeStraySwarmDir };
|
|
@@ -8,6 +8,13 @@ var durableStatusPath;
|
|
|
8
8
|
var MAX_RECOVERY_STATUS_BYTES = 2 * 1024 * 1024;
|
|
9
9
|
var MAX_RECOVERY_STATUS_ENTRIES = 512;
|
|
10
10
|
var hasLoaded = false;
|
|
11
|
+
function getDurableStatusPath(projectDir) {
|
|
12
|
+
if (durableStatusPath)
|
|
13
|
+
return durableStatusPath;
|
|
14
|
+
if (!projectDir)
|
|
15
|
+
throw new Error("durableStatusPath not set and projectDir not provided");
|
|
16
|
+
return path.join(projectDir, ".swarm", "worktree-merge-status.json");
|
|
17
|
+
}
|
|
11
18
|
function loadDurableStatus(statusPath) {
|
|
12
19
|
try {
|
|
13
20
|
hasLoaded = true;
|
|
@@ -152,5 +159,22 @@ function getAllWorktreeMergeFailures() {
|
|
|
152
159
|
}
|
|
153
160
|
return failuresByTask.entries();
|
|
154
161
|
}
|
|
162
|
+
var _internals = {
|
|
163
|
+
failuresByTask,
|
|
164
|
+
getDurableStatusPath,
|
|
165
|
+
loadDurableStatus,
|
|
166
|
+
saveDurableStatus,
|
|
167
|
+
initDurableStatusPath,
|
|
168
|
+
resetForTest() {
|
|
169
|
+
if (durableStatusPath !== undefined) {
|
|
170
|
+
try {
|
|
171
|
+
fs.unlinkSync(durableStatusPath);
|
|
172
|
+
} catch {}
|
|
173
|
+
}
|
|
174
|
+
failuresByTask.clear();
|
|
175
|
+
durableStatusPath = undefined;
|
|
176
|
+
hasLoaded = false;
|
|
177
|
+
}
|
|
178
|
+
};
|
|
155
179
|
|
|
156
|
-
export { scanWorktreeMergeFailuresForRecovery, initDurableStatusPath, recordWorktreeMergeFailure, clearWorktreeMergeStatus, getWorktreeMergeFailure, getAllWorktreeMergeFailures };
|
|
180
|
+
export { scanWorktreeMergeFailuresForRecovery, initDurableStatusPath, recordWorktreeMergeFailure, clearWorktreeMergeStatus, getWorktreeMergeFailure, getAllWorktreeMergeFailures, _internals };
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import {
|
|
3
3
|
captureWorkspaceSnapshotAsync,
|
|
4
4
|
changedFilesSinceSnapshotAsync
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-kfevm0n5.js";
|
|
6
6
|
import {
|
|
7
7
|
removeWorktreeProvisioningOwner
|
|
8
|
-
} from "./index-
|
|
8
|
+
} from "./index-n8q43eff.js";
|
|
9
9
|
import {
|
|
10
10
|
SOURCE_WORKTREE_GONE_STAGE,
|
|
11
11
|
ensureTaskGateRequirementsReceiptForSettledTransition,
|
|
@@ -14,13 +14,13 @@ import {
|
|
|
14
14
|
reconcileLandedMerge,
|
|
15
15
|
withTaskEvidenceTransaction,
|
|
16
16
|
writeWorkflowWalFile
|
|
17
|
-
} from "./index-
|
|
17
|
+
} from "./index-69tgdm9t.js";
|
|
18
18
|
import {
|
|
19
19
|
validateSwarmPath
|
|
20
|
-
} from "./index-
|
|
20
|
+
} from "./index-nkgzkt7c.js";
|
|
21
21
|
import {
|
|
22
22
|
appendCoreEventSync
|
|
23
|
-
} from "./index-
|
|
23
|
+
} from "./index-zk6ttjkt.js";
|
|
24
24
|
import {
|
|
25
25
|
canonicalRootKeyFresh
|
|
26
26
|
} from "./index-fzpt2djt.js";
|
|
@@ -512,7 +512,7 @@ async function cleanupRecoveredWorktree(directory, descriptor, options) {
|
|
|
512
512
|
awaitingMergeByCallID,
|
|
513
513
|
cleanupStandardWorktreeForCallId,
|
|
514
514
|
standardWorktreeByCallID
|
|
515
|
-
} = await import("./worktree-isolation-
|
|
515
|
+
} = await import("./worktree-isolation-zfk7zk6a.js");
|
|
516
516
|
standardWorktreeByCallID.delete(descriptor.callID);
|
|
517
517
|
if (hasResidue)
|
|
518
518
|
awaitingMergeByCallID.set(descriptor.callID, {
|
|
@@ -648,7 +648,7 @@ async function recoverCoderSettlement(directory, taskId) {
|
|
|
648
648
|
awaitingMergeByCallID,
|
|
649
649
|
finishStandardWorktreeDispatch,
|
|
650
650
|
standardWorktreeByCallID
|
|
651
|
-
} = await import("./worktree-isolation-
|
|
651
|
+
} = await import("./worktree-isolation-zfk7zk6a.js");
|
|
652
652
|
const descriptor = wal.worktree;
|
|
653
653
|
const reconstructedDispatch = {
|
|
654
654
|
callID: descriptor.callID,
|