opencode-swarm 7.189.0 → 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.
Files changed (177) hide show
  1. package/README.md +42 -6
  2. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  3. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  4. package/dist/agents/architect.d.ts +1 -1
  5. package/dist/background/completion-observer.d.ts +6 -0
  6. package/dist/cli/{auto-checkpoint-m7c4x8bk.js → auto-checkpoint-qvk04fya.js} +9 -9
  7. package/dist/cli/{checkpoint-m7q9886q.js → checkpoint-9q2r5c3j.js} +18 -20
  8. package/dist/cli/{coder-settlement-hh81z2f7.js → coder-settlement-xcparbf3.js} +13 -13
  9. package/dist/cli/{config-doctor-0rexy3xt.js → config-doctor-by0ak49m.js} +23 -20
  10. package/dist/cli/{core-ays6stz4.js → core-b1b3kxzy.js} +4 -4
  11. package/dist/cli/{curation-policy-65ckmmd5.js → curation-policy-6p6fcfjb.js} +6 -6
  12. package/dist/cli/{curator-dfzkfgs0.js → curator-d7b88mzr.js} +44 -44
  13. package/dist/cli/{curator-drift-nts5atks.js → curator-drift-6v604220.js} +9 -9
  14. package/dist/cli/curator-llm-factory-yvbktznk.js +82 -0
  15. package/dist/cli/{doctor-knowledge-receipt-phase-id-ec40k5hn.js → doctor-knowledge-receipt-phase-id-kwrvnps9.js} +9 -9
  16. package/dist/cli/{evidence-summary-service-vgtm72g5.js → evidence-summary-service-mzr2q4bn.js} +21 -22
  17. package/dist/cli/{gate-evidence-vmn65kxe.js → gate-evidence-78jes9kq.js} +8 -8
  18. package/dist/cli/guardrail-explain-8kt2mxmw.js +83 -0
  19. package/dist/cli/{guardrail-log-hc8fjm4x.js → guardrail-log-2sthykag.js} +8 -8
  20. package/dist/cli/{guardrail-reset-ct00w300.js → guardrail-reset-2n746rzv.js} +44 -44
  21. package/dist/cli/{hive-promoter-2xax6van.js → hive-promoter-s7a5gwhz.js} +44 -44
  22. package/dist/cli/{index-cbqkag7q.js → index-0qc7a88d.js} +3 -3
  23. package/dist/cli/{index-g03m5jhw.js → index-1s95jrgc.js} +3 -3
  24. package/dist/cli/{index-9tvjwv01.js → index-2fpv2wmc.js} +1 -1
  25. package/dist/cli/{index-2btybj8w.js → index-2kpqqcch.js} +4 -4
  26. package/dist/cli/{index-3dx0c7ve.js → index-3t9t9q2q.js} +44 -44
  27. package/dist/cli/{index-8q8783g0.js → index-3zwhxk98.js} +1 -1
  28. package/dist/cli/{index-34vsyj15.js → index-49e65y51.js} +5 -5
  29. package/dist/cli/{index-5v09zw1q.js → index-69tgdm9t.js} +18 -8
  30. package/dist/cli/{index-d3rjvm9e.js → index-7vnr5cmp.js} +2 -2
  31. package/dist/cli/{index-twb3f4tk.js → index-8bx6vhzk.js} +1 -1
  32. package/dist/cli/{index-nhsafbrh.js → index-9gcqmgbc.js} +5 -5
  33. package/dist/cli/{index-4p3jh14t.js → index-9xxqdzp4.js} +4 -4
  34. package/dist/cli/{index-qx3g1bbe.js → index-a5ca62vt.js} +1 -1
  35. package/dist/cli/{index-bskex45z.js → index-ajzgeb2s.js} +2 -2
  36. package/dist/cli/{index-8xabhfwr.js → index-b2j231jy.js} +2 -2
  37. package/dist/cli/{index-cj4mp0fm.js → index-dmq7p8s9.js} +6 -6
  38. package/dist/cli/{index-bzbxn24k.js → index-ej1hdw16.js} +5 -5
  39. package/dist/cli/{index-waxvpwbv.js → index-ejk34dnw.js} +127 -13
  40. package/dist/cli/{index-skdpgjar.js → index-fb5s32c2.js} +862 -1221
  41. package/dist/cli/{index-ntda6tje.js → index-feaxsjrt.js} +10 -2
  42. package/dist/cli/{index-2nexf5vz.js → index-ffgcdf49.js} +22147 -15396
  43. package/dist/cli/{index-kqegvngt.js → index-h0xhec3d.js} +4 -4
  44. package/dist/cli/{index-kaqdzhj3.js → index-kfevm0n5.js} +2 -2
  45. package/dist/cli/{index-4a7j5f60.js → index-kp8k95v9.js} +4 -4
  46. package/dist/cli/{index-x1eh2636.js → index-mcv0v2dp.js} +1 -1
  47. package/dist/cli/{index-9czp2dcg.js → index-mjfpaxw3.js} +7 -7
  48. package/dist/cli/{index-cdjxzs2r.js → index-mp1s7b0n.js} +7 -7
  49. package/dist/cli/{index-z29hksyw.js → index-mseerehd.js} +26 -10
  50. package/dist/cli/{index-f6exny9m.js → index-n8q43eff.js} +2 -2
  51. package/dist/cli/{index-7hr5m7yp.js → index-nkgzkt7c.js} +1 -1
  52. package/dist/cli/{index-9j3ybyfs.js → index-npe10823.js} +7 -7
  53. package/dist/cli/{index-16m2m4ah.js → index-p69k8v0e.js} +1 -1
  54. package/dist/cli/{index-p2tqzwh6.js → index-qs9myayh.js} +5 -10
  55. package/dist/cli/{index-hh7pa3yk.js → index-r9yvpr2m.js} +2 -2
  56. package/dist/cli/{index-w4zscz6p.js → index-rgkzcw2a.js} +5 -5
  57. package/dist/cli/{index-zfbxfm2m.js → index-s8b67e6h.js} +33 -12
  58. package/dist/cli/{index-9gqb5nkj.js → index-s92a5ta3.js} +4 -4
  59. package/dist/cli/{index-89f56ej4.js → index-sm01zpqe.js} +46 -46
  60. package/dist/cli/{index-q9kefh33.js → index-sxj143a4.js} +1 -1
  61. package/dist/cli/{index-1cwmj1gs.js → index-t0gj8s46.js} +77 -16
  62. package/dist/cli/{index-0gejy4cx.js → index-t73adn9b.js} +2 -2
  63. package/dist/cli/{index-fbgjj7h5.js → index-tkhenmms.js} +101 -13
  64. package/dist/cli/{index-zsrtt42s.js → index-v3bmwmqw.js} +25 -1
  65. package/dist/cli/{index-wqa31xnf.js → index-vhn4e6rm.js} +7 -7
  66. package/dist/cli/{index-5cfhwd65.js → index-xyvrfram.js} +2 -2
  67. package/dist/cli/{index-k8sarme1.js → index-y9v41185.js} +1 -1
  68. package/dist/cli/{index-1xa8wq76.js → index-z3ahy9c2.js} +2 -2
  69. package/dist/cli/{index-wrdktgpy.js → index-zk6ttjkt.js} +2 -2
  70. package/dist/cli/{index-mfxef20k.js → index-zyg1m9d0.js} +4 -4
  71. package/dist/cli/index.js +45 -45
  72. package/dist/cli/{knowledge-escalator-v3c8w86g.js → knowledge-escalator-n1ezv1zp.js} +15 -15
  73. package/dist/cli/{knowledge-events-kagaccj9.js → knowledge-events-nyqk3mr7.js} +13 -13
  74. package/dist/cli/{knowledge-link-h4pdcnya.js → knowledge-link-6hw3z6wn.js} +5 -5
  75. package/dist/cli/{knowledge-store-ywxjk5pb.js → knowledge-store-mnxqcyet.js} +6 -6
  76. package/dist/cli/{knowledge-validator-210gkpec.js → knowledge-validator-z30113mp.js} +8 -8
  77. package/dist/cli/{mcp-58hgx6av.js → mcp-mnbqw2s5.js} +1 -1
  78. package/dist/cli/{model-preflight-e69b48n0.js → model-preflight-ex482fsy.js} +44 -44
  79. package/dist/cli/{pending-delegations-g24d3qa9.js → pending-delegations-j18afz5z.js} +12 -12
  80. package/dist/cli/{pr-subscriptions-qprh2zsm.js → pr-subscriptions-yngda8mz.js} +12 -12
  81. package/dist/cli/{pr-workflow-gate-pj7dhkv4.js → pr-workflow-gate-0vt614f0.js} +44 -44
  82. package/dist/cli/{runner-4hfmp1ag.js → runner-ssnsje35.js} +6 -6
  83. package/dist/cli/{scan-cursor-s5wsxxd1.js → scan-cursor-8pwfg5g9.js} +7 -7
  84. package/dist/cli/{schema-smgngq9m.js → schema-e58ytmqt.js} +14 -2
  85. package/dist/cli/{scope-persistence-tbv2ar4w.js → scope-persistence-9qfx6ext.js} +16 -16
  86. package/dist/cli/{server-7p2ds5w2.js → server-wxcfwsdx.js} +45 -45
  87. package/dist/cli/{skill-generator-r4hsne71.js → skill-generator-tbd4tq9r.js} +17 -17
  88. package/dist/cli/{snapshot-coordination-init-ydjwh56d.js → snapshot-coordination-init-sckyzb94.js} +44 -44
  89. package/dist/cli/{speckit-checkoff-aj75vmjq.js → speckit-checkoff-k5jm0abh.js} +5 -5
  90. package/dist/cli/{telemetry-kvhe94gs.js → telemetry-9szfdfqv.js} +1 -1
  91. package/dist/cli/{workspace-snapshot-30kdf018.js → workspace-snapshot-9f12p1s1.js} +3 -3
  92. package/dist/cli/{worktree-collision-ownership-0bxj9f0t.js → worktree-collision-ownership-3wwfc72t.js} +14 -14
  93. package/dist/cli/{worktree-isolation-h0c22pm2.js → worktree-isolation-zfk7zk6a.js} +46 -44
  94. package/dist/commands/coupling.d.ts +21 -4
  95. package/dist/commands/epic-learning.d.ts +28 -0
  96. package/dist/commands/epic.d.ts +81 -36
  97. package/dist/commands/registry.d.ts +8 -8
  98. package/dist/commands/turbo.d.ts +16 -1
  99. package/dist/config/constants.d.ts +11 -1
  100. package/dist/config/loader.d.ts +2 -0
  101. package/dist/config/schema.d.ts +291 -77
  102. package/dist/db/coordination-store.d.ts +6 -0
  103. package/dist/epic/close.d.ts +209 -0
  104. package/dist/{turbo/epic → epic}/cochange-conflict.d.ts +5 -4
  105. package/dist/{turbo/epic → epic}/cochange-source.d.ts +10 -1
  106. package/dist/epic/components.d.ts +238 -0
  107. package/dist/epic/config-gate.d.ts +25 -0
  108. package/dist/epic/config.d.ts +101 -0
  109. package/dist/{turbo/epic → epic}/coupling-report.d.ts +3 -1
  110. package/dist/epic/declared-scopes.d.ts +37 -0
  111. package/dist/epic/epic-branch.d.ts +157 -0
  112. package/dist/epic/gate-policy.d.ts +114 -0
  113. package/dist/epic/git-once.d.ts +26 -0
  114. package/dist/epic/learning-store.d.ts +176 -0
  115. package/dist/epic/learning.d.ts +198 -0
  116. package/dist/epic/legacy-migration.d.ts +26 -0
  117. package/dist/epic/lifecycle.d.ts +437 -0
  118. package/dist/epic/markers.d.ts +123 -0
  119. package/dist/epic/merge-epoch.d.ts +90 -0
  120. package/dist/epic/next-wave-format.d.ts +101 -0
  121. package/dist/epic/next-wave.d.ts +102 -0
  122. package/dist/epic/phase-readiness.d.ts +221 -0
  123. package/dist/epic/plan-key.d.ts +104 -0
  124. package/dist/epic/plan-shaping-seam.d.ts +112 -0
  125. package/dist/epic/planning-signals.d.ts +38 -0
  126. package/dist/epic/report.d.ts +152 -0
  127. package/dist/epic/residue-commit.d.ts +151 -0
  128. package/dist/epic/scorecard.d.ts +130 -0
  129. package/dist/epic/shaping-sizing.d.ts +108 -0
  130. package/dist/epic/shaping-suggestions.d.ts +172 -0
  131. package/dist/epic/shaping.d.ts +112 -0
  132. package/dist/epic/sizing.d.ts +60 -0
  133. package/dist/epic/start.d.ts +187 -0
  134. package/dist/epic/task-landing.d.ts +83 -0
  135. package/dist/epic/wave-close.d.ts +112 -0
  136. package/dist/epic/wave-select.d.ts +95 -0
  137. package/dist/evaluation/contracts.d.ts +1 -1
  138. package/dist/evaluation/public-api.d.ts +1 -1
  139. package/dist/full-auto/policy.d.ts +12 -1
  140. package/dist/hooks/delegation-gate/worktree-isolation.d.ts +16 -0
  141. package/dist/hooks/delegation-gate.d.ts +11 -0
  142. package/dist/hooks/guardrails/index.d.ts +7 -0
  143. package/dist/hooks/promotion-evidence-store.d.ts +2 -2
  144. package/dist/index.js +814 -807
  145. package/dist/plan/manager.d.ts +6 -8
  146. package/dist/plan/parallel-verdict.d.ts +13 -2
  147. package/dist/retention/caps.d.ts +1 -1
  148. package/dist/review/contracts.d.ts +8 -1
  149. package/dist/services/config-doctor.d.ts +38 -0
  150. package/dist/session/snapshot-reader.d.ts +2 -0
  151. package/dist/session/snapshot-writer.d.ts +13 -2
  152. package/dist/state.d.ts +13 -18
  153. package/dist/tools/epic-next-wave.d.ts +20 -0
  154. package/dist/tools/epic-phase-review.d.ts +43 -0
  155. package/dist/tools/index.d.ts +2 -3
  156. package/dist/tools/manifest.d.ts +2 -3
  157. package/dist/tools/phase-complete.d.ts +5 -1
  158. package/dist/tools/save-plan.d.ts +7 -0
  159. package/dist/tools/tool-metadata.d.ts +4 -8
  160. package/dist/worktree/merge.d.ts +14 -1
  161. package/opencode-swarm.schema.json +273 -28
  162. package/package.json +1 -1
  163. package/dist/cli/curator-llm-factory-nrn6n2p1.js +0 -82
  164. package/dist/cli/guardrail-explain-9jmr8ezt.js +0 -83
  165. package/dist/tools/epic-plan-waves.d.ts +0 -79
  166. package/dist/tools/epic-record-divergence.d.ts +0 -73
  167. package/dist/tools/epic-run-phase.d.ts +0 -179
  168. package/dist/turbo/epic/activation.d.ts +0 -193
  169. package/dist/turbo/epic/calibration-engine.d.ts +0 -88
  170. package/dist/turbo/epic/calibration.d.ts +0 -80
  171. package/dist/turbo/epic/divergence-recorder.d.ts +0 -123
  172. package/dist/turbo/epic/index.d.ts +0 -24
  173. package/dist/turbo/epic/promotion-evidence.d.ts +0 -42
  174. package/dist/turbo/epic/state.d.ts +0 -69
  175. package/dist/turbo/epic/task-commit.d.ts +0 -110
  176. package/dist/turbo/epic/upstream-commits.d.ts +0 -82
  177. package/dist/turbo/epic/wave-planner.d.ts +0 -83
@@ -4547,6 +4547,8 @@
4547
4547
  }
4548
4548
  },
4549
4549
  "epic": {
4550
+ "deprecated": true,
4551
+ "description": "Deprecated (still accepted): move this block to top-level `epic` — Epic Mode no longer needs a `turbo` block. Within a file, top-level `epic` wins per key when both are set.",
4550
4552
  "type": "object",
4551
4553
  "properties": {
4552
4554
  "cochange": {
@@ -4585,44 +4587,96 @@
4585
4587
  "maximum": 1
4586
4588
  },
4587
4589
  "min_commits_for_signal": {
4588
- "default": 20,
4589
- "type": "integer",
4590
- "minimum": 1,
4591
- "maximum": 9007199254740991
4590
+ "deprecated": true,
4591
+ "description": "Retired (Epic v2): accepted and ignored with a warning. Remove it.",
4592
+ "type": "number"
4592
4593
  }
4593
4594
  },
4594
4595
  "additionalProperties": false
4595
4596
  },
4596
4597
  "calibration": {
4598
+ "deprecated": true,
4599
+ "description": "Retired (Epic v2): accepted and ignored with a warning — Epic learning replaced it (epic.learning). Remove it.",
4600
+ "type": "object",
4601
+ "propertyNames": {
4602
+ "type": "string"
4603
+ },
4604
+ "additionalProperties": {}
4605
+ },
4606
+ "learning": {
4597
4607
  "type": "object",
4598
4608
  "properties": {
4599
4609
  "enabled": {
4600
4610
  "default": true,
4601
4611
  "type": "boolean"
4602
4612
  },
4603
- "floor_threshold": {
4604
- "default": 0.05,
4613
+ "decay_per_epic": {
4614
+ "default": 0.7,
4605
4615
  "type": "number",
4606
4616
  "minimum": 0,
4607
4617
  "maximum": 1
4608
4618
  },
4609
- "tighten_step": {
4610
- "default": 0.02,
4619
+ "half_life_days": {
4620
+ "default": 60,
4621
+ "type": "number",
4622
+ "exclusiveMinimum": 0
4623
+ },
4624
+ "hot_excess": {
4625
+ "default": 0.25,
4611
4626
  "type": "number",
4612
4627
  "minimum": 0,
4613
4628
  "maximum": 1
4629
+ }
4630
+ },
4631
+ "additionalProperties": false
4632
+ },
4633
+ "sizing": {
4634
+ "type": "object",
4635
+ "properties": {
4636
+ "min_tasks": {
4637
+ "default": 6,
4638
+ "type": "integer",
4639
+ "minimum": 1,
4640
+ "maximum": 9007199254740991
4614
4641
  },
4615
- "loosen_step": {
4616
- "default": 0.01,
4642
+ "min_scope_coverage": {
4643
+ "default": 0.8,
4617
4644
  "type": "number",
4618
4645
  "minimum": 0,
4619
4646
  "maximum": 1
4620
4647
  },
4621
- "loosen_window": {
4622
- "default": 10,
4648
+ "min_effective_speedup": {
4649
+ "default": 1.25,
4650
+ "type": "number",
4651
+ "minimum": 1
4652
+ },
4653
+ "coder_fraction": {
4654
+ "default": 0.6,
4655
+ "type": "number",
4656
+ "minimum": 0,
4657
+ "maximum": 1
4658
+ }
4659
+ },
4660
+ "additionalProperties": false
4661
+ },
4662
+ "commit_policy": {
4663
+ "type": "string",
4664
+ "enum": [
4665
+ "epic-branch",
4666
+ "current-branch"
4667
+ ]
4668
+ },
4669
+ "retain_refs": {
4670
+ "type": "boolean"
4671
+ },
4672
+ "phase_review": {
4673
+ "type": "object",
4674
+ "properties": {
4675
+ "timeout_ms": {
4676
+ "default": 300000,
4623
4677
  "type": "integer",
4624
- "minimum": 1,
4625
- "maximum": 9007199254740991
4678
+ "minimum": 10000,
4679
+ "maximum": 1800000
4626
4680
  }
4627
4681
  },
4628
4682
  "additionalProperties": false
@@ -4748,6 +4802,8 @@
4748
4802
  }
4749
4803
  },
4750
4804
  "epic": {
4805
+ "deprecated": true,
4806
+ "description": "Deprecated (still accepted): move this block to top-level `epic` — Epic Mode no longer needs a `turbo` block. Within a file, top-level `epic` wins per key when both are set.",
4751
4807
  "type": "object",
4752
4808
  "properties": {
4753
4809
  "cochange": {
@@ -4786,44 +4842,96 @@
4786
4842
  "maximum": 1
4787
4843
  },
4788
4844
  "min_commits_for_signal": {
4789
- "default": 20,
4790
- "type": "integer",
4791
- "minimum": 1,
4792
- "maximum": 9007199254740991
4845
+ "deprecated": true,
4846
+ "description": "Retired (Epic v2): accepted and ignored with a warning. Remove it.",
4847
+ "type": "number"
4793
4848
  }
4794
4849
  },
4795
4850
  "additionalProperties": false
4796
4851
  },
4797
4852
  "calibration": {
4853
+ "deprecated": true,
4854
+ "description": "Retired (Epic v2): accepted and ignored with a warning — Epic learning replaced it (epic.learning). Remove it.",
4855
+ "type": "object",
4856
+ "propertyNames": {
4857
+ "type": "string"
4858
+ },
4859
+ "additionalProperties": {}
4860
+ },
4861
+ "learning": {
4798
4862
  "type": "object",
4799
4863
  "properties": {
4800
4864
  "enabled": {
4801
4865
  "default": true,
4802
4866
  "type": "boolean"
4803
4867
  },
4804
- "floor_threshold": {
4805
- "default": 0.05,
4868
+ "decay_per_epic": {
4869
+ "default": 0.7,
4806
4870
  "type": "number",
4807
4871
  "minimum": 0,
4808
4872
  "maximum": 1
4809
4873
  },
4810
- "tighten_step": {
4811
- "default": 0.02,
4874
+ "half_life_days": {
4875
+ "default": 60,
4876
+ "type": "number",
4877
+ "exclusiveMinimum": 0
4878
+ },
4879
+ "hot_excess": {
4880
+ "default": 0.25,
4812
4881
  "type": "number",
4813
4882
  "minimum": 0,
4814
4883
  "maximum": 1
4884
+ }
4885
+ },
4886
+ "additionalProperties": false
4887
+ },
4888
+ "sizing": {
4889
+ "type": "object",
4890
+ "properties": {
4891
+ "min_tasks": {
4892
+ "default": 6,
4893
+ "type": "integer",
4894
+ "minimum": 1,
4895
+ "maximum": 9007199254740991
4815
4896
  },
4816
- "loosen_step": {
4817
- "default": 0.01,
4897
+ "min_scope_coverage": {
4898
+ "default": 0.8,
4818
4899
  "type": "number",
4819
4900
  "minimum": 0,
4820
4901
  "maximum": 1
4821
4902
  },
4822
- "loosen_window": {
4823
- "default": 10,
4903
+ "min_effective_speedup": {
4904
+ "default": 1.25,
4905
+ "type": "number",
4906
+ "minimum": 1
4907
+ },
4908
+ "coder_fraction": {
4909
+ "default": 0.6,
4910
+ "type": "number",
4911
+ "minimum": 0,
4912
+ "maximum": 1
4913
+ }
4914
+ },
4915
+ "additionalProperties": false
4916
+ },
4917
+ "commit_policy": {
4918
+ "type": "string",
4919
+ "enum": [
4920
+ "epic-branch",
4921
+ "current-branch"
4922
+ ]
4923
+ },
4924
+ "retain_refs": {
4925
+ "type": "boolean"
4926
+ },
4927
+ "phase_review": {
4928
+ "type": "object",
4929
+ "properties": {
4930
+ "timeout_ms": {
4931
+ "default": 300000,
4824
4932
  "type": "integer",
4825
- "minimum": 1,
4826
- "maximum": 9007199254740991
4933
+ "minimum": 10000,
4934
+ "maximum": 1800000
4827
4935
  }
4828
4936
  },
4829
4937
  "additionalProperties": false
@@ -4839,6 +4947,143 @@
4839
4947
  }
4840
4948
  ]
4841
4949
  },
4950
+ "epic": {
4951
+ "description": "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).",
4952
+ "type": "object",
4953
+ "properties": {
4954
+ "cochange": {
4955
+ "type": "object",
4956
+ "properties": {
4957
+ "enabled": {
4958
+ "default": false,
4959
+ "type": "boolean"
4960
+ },
4961
+ "threshold": {
4962
+ "default": 0.6,
4963
+ "type": "number",
4964
+ "minimum": -1,
4965
+ "maximum": 1
4966
+ },
4967
+ "min_co_changes": {
4968
+ "default": 5,
4969
+ "type": "integer",
4970
+ "minimum": 1,
4971
+ "maximum": 9007199254740991
4972
+ }
4973
+ },
4974
+ "additionalProperties": false
4975
+ },
4976
+ "mode": {
4977
+ "type": "object",
4978
+ "properties": {
4979
+ "enabled": {
4980
+ "default": false,
4981
+ "type": "boolean"
4982
+ },
4983
+ "activation_threshold": {
4984
+ "default": 0.3,
4985
+ "type": "number",
4986
+ "minimum": 0,
4987
+ "maximum": 1
4988
+ },
4989
+ "min_commits_for_signal": {
4990
+ "deprecated": true,
4991
+ "description": "Retired (Epic v2): accepted and ignored with a warning. Remove it.",
4992
+ "type": "number"
4993
+ }
4994
+ },
4995
+ "additionalProperties": false
4996
+ },
4997
+ "calibration": {
4998
+ "deprecated": true,
4999
+ "description": "Retired (Epic v2): accepted and ignored with a warning — Epic learning replaced it (epic.learning). Remove it.",
5000
+ "type": "object",
5001
+ "propertyNames": {
5002
+ "type": "string"
5003
+ },
5004
+ "additionalProperties": {}
5005
+ },
5006
+ "learning": {
5007
+ "type": "object",
5008
+ "properties": {
5009
+ "enabled": {
5010
+ "default": true,
5011
+ "type": "boolean"
5012
+ },
5013
+ "decay_per_epic": {
5014
+ "default": 0.7,
5015
+ "type": "number",
5016
+ "minimum": 0,
5017
+ "maximum": 1
5018
+ },
5019
+ "half_life_days": {
5020
+ "default": 60,
5021
+ "type": "number",
5022
+ "exclusiveMinimum": 0
5023
+ },
5024
+ "hot_excess": {
5025
+ "default": 0.25,
5026
+ "type": "number",
5027
+ "minimum": 0,
5028
+ "maximum": 1
5029
+ }
5030
+ },
5031
+ "additionalProperties": false
5032
+ },
5033
+ "sizing": {
5034
+ "type": "object",
5035
+ "properties": {
5036
+ "min_tasks": {
5037
+ "default": 6,
5038
+ "type": "integer",
5039
+ "minimum": 1,
5040
+ "maximum": 9007199254740991
5041
+ },
5042
+ "min_scope_coverage": {
5043
+ "default": 0.8,
5044
+ "type": "number",
5045
+ "minimum": 0,
5046
+ "maximum": 1
5047
+ },
5048
+ "min_effective_speedup": {
5049
+ "default": 1.25,
5050
+ "type": "number",
5051
+ "minimum": 1
5052
+ },
5053
+ "coder_fraction": {
5054
+ "default": 0.6,
5055
+ "type": "number",
5056
+ "minimum": 0,
5057
+ "maximum": 1
5058
+ }
5059
+ },
5060
+ "additionalProperties": false
5061
+ },
5062
+ "commit_policy": {
5063
+ "type": "string",
5064
+ "enum": [
5065
+ "epic-branch",
5066
+ "current-branch"
5067
+ ]
5068
+ },
5069
+ "retain_refs": {
5070
+ "type": "boolean"
5071
+ },
5072
+ "phase_review": {
5073
+ "type": "object",
5074
+ "properties": {
5075
+ "timeout_ms": {
5076
+ "default": 300000,
5077
+ "type": "integer",
5078
+ "minimum": 10000,
5079
+ "maximum": 1800000
5080
+ }
5081
+ },
5082
+ "additionalProperties": false
5083
+ }
5084
+ },
5085
+ "additionalProperties": false
5086
+ },
4842
5087
  "turbo_mode": {
4843
5088
  "description": "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.",
4844
5089
  "default": false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "7.189.0",
3
+ "version": "7.190.0",
4
4
  "description": "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,82 +0,0 @@
1
- // @bun
2
- import {
3
- createCuratorLLMDelegate
4
- } from "./index-2nexf5vz.js";
5
- import"./index-4p3jh14t.js";
6
- import"./index-fbgjj7h5.js";
7
- import"./index-nhsafbrh.js";
8
- import"./index-j2vv0h13.js";
9
- import"./index-k8sarme1.js";
10
- import"./index-8xabhfwr.js";
11
- import"./index-txdagbh7.js";
12
- import"./index-bskex45z.js";
13
- import"./index-rdec0y3z.js";
14
- import"./index-cbqkag7q.js";
15
- import"./index-wqa31xnf.js";
16
- import"./index-9gqb5nkj.js";
17
- import"./index-cj4mp0fm.js";
18
- import"./index-kaqdzhj3.js";
19
- import"./index-9czp2dcg.js";
20
- import"./index-cjapb4hy.js";
21
- import"./index-f6exny9m.js";
22
- import"./index-pt7h91zc.js";
23
- import"./index-q7sjgr1y.js";
24
- import"./index-z29hksyw.js";
25
- import"./index-skdpgjar.js";
26
- import"./index-6b295cas.js";
27
- import"./index-9nyqt3kb.js";
28
- import"./index-16m2m4ah.js";
29
- import"./index-zsrtt42s.js";
30
- import"./index-5cfhwd65.js";
31
- import"./index-5v09zw1q.js";
32
- import"./index-mfxef20k.js";
33
- import"./index-g4fs6z4e.js";
34
- import"./index-9j3ybyfs.js";
35
- import"./index-kqegvngt.js";
36
- import"./index-34vsyj15.js";
37
- import"./index-m9zzj4ee.js";
38
- import"./index-7hr5m7yp.js";
39
- import"./index-2s7dvzff.js";
40
- import"./index-2btybj8w.js";
41
- import"./index-q9kefh33.js";
42
- import"./index-rtry5xyf.js";
43
- import"./index-g03m5jhw.js";
44
- import"./index-pkhbd2t5.js";
45
- import"./index-0725jpp7.js";
46
- import"./index-w4zscz6p.js";
47
- import"./index-bzbxn24k.js";
48
- import"./index-wrdktgpy.js";
49
- import"./index-x1eh2636.js";
50
- import"./index-ntda6tje.js";
51
- import"./index-9tvjwv01.js";
52
- import"./index-ry16d01s.js";
53
- import"./index-rdm3px0g.js";
54
- import"./index-7pmbnjvj.js";
55
- import"./index-1xa8wq76.js";
56
- import"./index-cdjxzs2r.js";
57
- import"./index-vzm6zre7.js";
58
- import"./index-ae75rja9.js";
59
- import"./index-8q8783g0.js";
60
- import"./index-hh7pa3yk.js";
61
- import"./index-twb3f4tk.js";
62
- import"./index-t7hmqgjy.js";
63
- import"./index-d3rjvm9e.js";
64
- import"./index-fzpt2djt.js";
65
- import"./index-ejhxgyvm.js";
66
- import"./index-7g4c7s5r.js";
67
- import"./index-p2tqzwh6.js";
68
- import"./index-gx2vp8gx.js";
69
- import"./index-waxvpwbv.js";
70
- import"./index-zxdawwc7.js";
71
- import"./index-1cwmj1gs.js";
72
- import"./index-zfbxfm2m.js";
73
- import"./index-bk5tah7q.js";
74
- import"./index-gknz3bv1.js";
75
- import"./index-zpsr8rpc.js";
76
- import"./index-wvghb3x6.js";
77
- import"./index-9rwhas09.js";
78
- import"./index-zgwm4ryv.js";
79
- import"./index-a76rekgs.js";
80
- export {
81
- createCuratorLLMDelegate
82
- };
@@ -1,83 +0,0 @@
1
- // @bun
2
- import {
3
- handleGuardrailExplain
4
- } from "./index-0gejy4cx.js";
5
- import"./index-2nexf5vz.js";
6
- import"./index-4p3jh14t.js";
7
- import"./index-fbgjj7h5.js";
8
- import"./index-nhsafbrh.js";
9
- import"./index-j2vv0h13.js";
10
- import"./index-k8sarme1.js";
11
- import"./index-8xabhfwr.js";
12
- import"./index-txdagbh7.js";
13
- import"./index-bskex45z.js";
14
- import"./index-rdec0y3z.js";
15
- import"./index-cbqkag7q.js";
16
- import"./index-wqa31xnf.js";
17
- import"./index-9gqb5nkj.js";
18
- import"./index-cj4mp0fm.js";
19
- import"./index-kaqdzhj3.js";
20
- import"./index-9czp2dcg.js";
21
- import"./index-cjapb4hy.js";
22
- import"./index-f6exny9m.js";
23
- import"./index-pt7h91zc.js";
24
- import"./index-q7sjgr1y.js";
25
- import"./index-z29hksyw.js";
26
- import"./index-skdpgjar.js";
27
- import"./index-6b295cas.js";
28
- import"./index-9nyqt3kb.js";
29
- import"./index-16m2m4ah.js";
30
- import"./index-zsrtt42s.js";
31
- import"./index-5cfhwd65.js";
32
- import"./index-5v09zw1q.js";
33
- import"./index-mfxef20k.js";
34
- import"./index-g4fs6z4e.js";
35
- import"./index-9j3ybyfs.js";
36
- import"./index-kqegvngt.js";
37
- import"./index-34vsyj15.js";
38
- import"./index-m9zzj4ee.js";
39
- import"./index-7hr5m7yp.js";
40
- import"./index-2s7dvzff.js";
41
- import"./index-2btybj8w.js";
42
- import"./index-q9kefh33.js";
43
- import"./index-rtry5xyf.js";
44
- import"./index-g03m5jhw.js";
45
- import"./index-pkhbd2t5.js";
46
- import"./index-0725jpp7.js";
47
- import"./index-w4zscz6p.js";
48
- import"./index-bzbxn24k.js";
49
- import"./index-wrdktgpy.js";
50
- import"./index-x1eh2636.js";
51
- import"./index-ntda6tje.js";
52
- import"./index-9tvjwv01.js";
53
- import"./index-ry16d01s.js";
54
- import"./index-rdm3px0g.js";
55
- import"./index-7pmbnjvj.js";
56
- import"./index-1xa8wq76.js";
57
- import"./index-cdjxzs2r.js";
58
- import"./index-vzm6zre7.js";
59
- import"./index-ae75rja9.js";
60
- import"./index-8q8783g0.js";
61
- import"./index-hh7pa3yk.js";
62
- import"./index-twb3f4tk.js";
63
- import"./index-t7hmqgjy.js";
64
- import"./index-d3rjvm9e.js";
65
- import"./index-fzpt2djt.js";
66
- import"./index-ejhxgyvm.js";
67
- import"./index-7g4c7s5r.js";
68
- import"./index-p2tqzwh6.js";
69
- import"./index-gx2vp8gx.js";
70
- import"./index-waxvpwbv.js";
71
- import"./index-zxdawwc7.js";
72
- import"./index-1cwmj1gs.js";
73
- import"./index-zfbxfm2m.js";
74
- import"./index-bk5tah7q.js";
75
- import"./index-gknz3bv1.js";
76
- import"./index-zpsr8rpc.js";
77
- import"./index-wvghb3x6.js";
78
- import"./index-9rwhas09.js";
79
- import"./index-zgwm4ryv.js";
80
- import"./index-a76rekgs.js";
81
- export {
82
- handleGuardrailExplain
83
- };
@@ -1,79 +0,0 @@
1
- /**
2
- * Epic Mode `epic_plan_waves` tool.
3
- *
4
- * Wraps `planEpicWaves` from `src/turbo/epic/wave-planner`. Partitions a
5
- * phase's pending tasks into ordered concurrent waves and returns them in a
6
- * shape the architect can iterate over for wave-by-wave Task dispatch.
7
- *
8
- * This is Epic Mode's replacement for `lean_turbo_plan_lanes`. The lane
9
- * planner stays in place for non-Epic Lean Turbo callers; Epic flows route
10
- * through this tool because the wave abstraction expresses branching DAGs
11
- * (sibling fanout from a shared prefix) correctly, where lanes collapse them.
12
- */
13
- import type { ToolDefinition } from '@opencode-ai/plugin/tool';
14
- import { loadPluginConfigWithMeta as loadPluginConfigWithMeta_import } from '../config';
15
- import { buildIsUpstreamCommittedWithStatus as buildIsUpstreamCommittedWithStatus_import } from '../turbo/epic/upstream-commits';
16
- import { type EpicWavePlan } from '../turbo/epic/wave-planner';
17
- import { readTaskScopes as readTaskScopes_import } from '../turbo/lean/conflicts';
18
- import type { PlanPhase } from '../turbo/lean/partition-common';
19
- /** Arguments for the `epic_plan_waves` tool. */
20
- export interface EpicPlanWavesArgs {
21
- directory: string;
22
- phase: number;
23
- scopes?: Record<string, string[]>;
24
- }
25
- /** Result envelope. */
26
- export interface EpicPlanWavesResult {
27
- success: boolean;
28
- /** Set on success — the full wave plan from `planEpicWaves`. */
29
- plan?: EpicWavePlan;
30
- /** Set on success — shortcut alias for `plan.waves`. */
31
- waves?: EpicWavePlan['waves'];
32
- /** Set on success — shortcut alias for `plan.serializedTasks`. */
33
- serializedTasks?: EpicWavePlan['serializedTasks'];
34
- /** Set on success — shortcut alias for `plan.degradedTasks`. */
35
- degradedTasks?: EpicWavePlan['degradedTasks'];
36
- /**
37
- * Set when `reason === 'scopes-missing'` — the task ids that have no
38
- * declared scope and no `files_touched` fallback. The architect must
39
- * call `declare_scope` for each of these and re-invoke this tool.
40
- */
41
- missingScopes?: string[];
42
- /** Set on failure — categorical short code (machine-readable). */
43
- reason?: 'no-plan' | 'no-phase' | 'phase-empty' | 'phase-already-complete' | 'scopes-missing' | 'git-failed' | 'planner-error';
44
- /** Set on failure — long-form actionable error text. */
45
- errors?: string[];
46
- }
47
- declare function readPlanJson(directory: string): {
48
- phases: PlanPhase[];
49
- } | null;
50
- /**
51
- * Execute the `epic_plan_waves` tool.
52
- *
53
- * Six possible outcomes:
54
- * 1. `no-plan` — `.swarm/plan.json` missing / unparseable
55
- * 2. `no-phase` — phase number not in `plan.json`
56
- * 3. `phase-empty` — phase exists but has zero tasks
57
- * 4. `phase-already-complete` — every task already completed
58
- * 5. `scopes-missing` — one or more pending tasks have no declared scope
59
- * (preflight; identical to `epic_decide_phase` so the architect can't
60
- * bypass scope discipline by calling planner direct)
61
- * 6. `git-failed` — git log scan failed (Rule 3 evidence unavailable;
62
- * we fail closed rather than implicitly satisfying cross-batch deps)
63
- * 7. success — `plan` and aliased fields populated
64
- */
65
- export declare function executeEpicPlanWaves(args: EpicPlanWavesArgs): Promise<EpicPlanWavesResult>;
66
- /**
67
- * DI seam — same pattern as `lean-turbo-plan-lanes.ts` (AGENTS.md invariant 7).
68
- * Tests substitute deterministic doubles via `_internals.*` rather than `mock.module`.
69
- */
70
- export declare const _internals: {
71
- readPlanJson: typeof readPlanJson;
72
- readTaskScopes: typeof readTaskScopes_import;
73
- isGitRepo: (cwd: string) => boolean;
74
- buildIsUpstreamCommittedWithStatus: typeof buildIsUpstreamCommittedWithStatus_import;
75
- loadPluginConfigWithMeta: typeof loadPluginConfigWithMeta_import;
76
- };
77
- /** Tool definition for `epic_plan_waves`. */
78
- export declare const epic_plan_waves: ToolDefinition;
79
- export {};