opencode-swarm 7.186.8 → 7.187.1

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 (121) hide show
  1. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  2. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  3. package/dist/agents/architect.d.ts +1 -1
  4. package/dist/background/pr-review-contract.d.ts +2 -2
  5. package/dist/cli/{auto-checkpoint-hw4rttv4.js → auto-checkpoint-fcp7srhd.js} +10 -11
  6. package/dist/cli/{checkpoint-fdkh943k.js → checkpoint-69m1xg5q.js} +19 -19
  7. package/dist/cli/{coder-settlement-91r5s8ar.js → coder-settlement-adx7vsa9.js} +14 -15
  8. package/dist/cli/{config-doctor-nzds5xzf.js → config-doctor-eaqk3erw.js} +35 -4
  9. package/dist/cli/{core-w0gq7vwa.js → core-fb33hf6w.js} +5 -6
  10. package/dist/cli/{curation-policy-kw6x1cba.js → curation-policy-sr29thf5.js} +7 -8
  11. package/dist/cli/{curator-gkrn8wz3.js → curator-5xcy10z7.js} +46 -45
  12. package/dist/cli/{curator-drift-svnc70x4.js → curator-drift-kz0s2dk3.js} +10 -11
  13. package/dist/cli/curator-llm-factory-pc17p6kq.js +82 -0
  14. package/dist/cli/{dispatch-0ejzwb45.js → dispatch-qvcztbpf.js} +222 -48
  15. package/dist/cli/doctor-knowledge-receipt-phase-id-dwtppe04.js +83 -0
  16. package/dist/cli/{evidence-summary-service-a2tx8tbn.js → evidence-summary-service-1k2syb6b.js} +22 -22
  17. package/dist/cli/{gate-evidence-28bys0r0.js → gate-evidence-4vvj9bhj.js} +9 -10
  18. package/dist/cli/guardrail-explain-rxsda43z.js +83 -0
  19. package/dist/cli/guardrail-log-1619tcny.js +22 -0
  20. package/dist/cli/{guardrail-reset-w5kpwfxb.js → guardrail-reset-72zryht1.js} +46 -45
  21. package/dist/cli/hive-promoter-yc3xvvq8.js +97 -0
  22. package/dist/cli/{index-qc1x5vvb.js → index-0cpa8rnc.js} +2726 -2700
  23. package/dist/cli/{index-c5x4yzt6.js → index-1hg62y01.js} +8 -6
  24. package/dist/cli/{index-k55ep5se.js → index-26zs9wsj.js} +2 -2
  25. package/dist/cli/{index-whk4027k.js → index-2jxyzerw.js} +4 -4
  26. package/dist/cli/{index-t6na8zpb.js → index-319qcbg7.js} +4 -4
  27. package/dist/cli/{index-ha4r51k4.js → index-36y60mjx.js} +28 -11
  28. package/dist/cli/{index-0qpa53jg.js → index-3y0nr248.js} +8 -8
  29. package/dist/cli/{index-b9zqye89.js → index-4pbp654j.js} +46 -45
  30. package/dist/cli/{index-227te5a7.js → index-6t7ygevg.js} +2 -2
  31. package/dist/cli/{index-tw513bvn.js → index-868tmqy5.js} +8 -8
  32. package/dist/cli/{index-0k283qtq.js → index-9hag235h.js} +2 -2
  33. package/dist/cli/{index-sjwpvte3.js → index-a8gvszr2.js} +2 -2
  34. package/dist/cli/{index-znc71e1c.js → index-bejxkee0.js} +2 -2
  35. package/dist/cli/{index-03z05sbb.js → index-bstjg81q.js} +3 -3
  36. package/dist/cli/{index-agm6hegf.js → index-c44vm8tc.js} +4 -4
  37. package/dist/cli/{index-n1szkmbz.js → index-cc1vzq4m.js} +1 -1
  38. package/dist/cli/{index-xdjwefa5.js → index-dx6bhbd6.js} +2 -2
  39. package/dist/cli/{index-zcpd36zm.js → index-e9ry78z5.js} +2 -2
  40. package/dist/cli/index-f1dxxa1n.js +748 -0
  41. package/dist/cli/{index-0ghn241n.js → index-fgbm0x7d.js} +1 -1
  42. package/dist/cli/{index-mc72pk74.js → index-fzpt2djt.js} +32 -1
  43. package/dist/cli/{index-d21545hp.js → index-gathbynn.js} +48 -47
  44. package/dist/cli/{index-q8dj8b88.js → index-hjdeawyp.js} +2 -2
  45. package/dist/cli/{index-mr86ywsj.js → index-jyxgkp4a.js} +1 -1
  46. package/dist/cli/{index-e6tjg7t9.js → index-kaf9mtpc.js} +319 -768
  47. package/dist/cli/{index-extgtmxm.js → index-m1qy7f1e.js} +1 -1
  48. package/dist/cli/{index-n5ekzhad.js → index-m2xfxk4e.js} +5 -5
  49. package/dist/cli/index-m9zzj4ee.js +10 -0
  50. package/dist/cli/{index-84wt7q5y.js → index-mf19yqss.js} +3 -3
  51. package/dist/cli/{index-7ae4sgp4.js → index-my8wgyqg.js} +5 -5
  52. package/dist/cli/{index-gsqmefdg.js → index-n45kz69m.js} +2 -2
  53. package/dist/cli/{index-x5mkva6s.js → index-n55exns2.js} +1 -1
  54. package/dist/cli/{index-7pstt3w2.js → index-n8kqhxay.js} +1 -1
  55. package/dist/cli/{index-c12cz80m.js → index-p9xke6h7.js} +2 -2
  56. package/dist/cli/{index-4y6pndcf.js → index-prqjveey.js} +4 -4
  57. package/dist/cli/{index-2nbws8bd.js → index-qmmzyymt.js} +5 -5
  58. package/dist/cli/{index-cvwkjnr5.js → index-r37b4crx.js} +1 -1
  59. package/dist/cli/{index-e4hy4des.js → index-r6e8syr3.js} +1 -1
  60. package/dist/cli/{index-mtb763x4.js → index-r7d49haj.js} +1 -1
  61. package/dist/cli/{index-prksynjw.js → index-rcmgbtxf.js} +3 -3
  62. package/dist/cli/{index-xgsy3hzf.js → index-rs23yv3h.js} +16 -21
  63. package/dist/cli/{index-dbwpcjhw.js → index-t0xcsrsf.js} +8 -8
  64. package/dist/cli/{index-e47fhj4k.js → index-thx02zpn.js} +5 -5
  65. package/dist/cli/{index-gapyat7s.js → index-tv84mkce.js} +2 -2
  66. package/dist/cli/{index-5dgg9vhz.js → index-v51qveq8.js} +565 -76
  67. package/dist/cli/{index-06pcq86m.js → index-v9y0230d.js} +3 -3
  68. package/dist/cli/{index-7bxssqaf.js → index-vx8a8w3b.js} +142 -2
  69. package/dist/cli/{index-kg4yp11g.js → index-wy6wzwb3.js} +4 -4
  70. package/dist/cli/{index-pntrhnj8.js → index-ywwreanf.js} +7 -7
  71. package/dist/cli/{index-144jx1jn.js → index-z4c6bfd5.js} +5 -5
  72. package/dist/cli/{index-616pp1nq.js → index-zftyb94k.js} +3 -3
  73. package/dist/cli/index.js +47 -46
  74. package/dist/cli/{knowledge-escalator-0dj3bvh2.js → knowledge-escalator-q60ghp3z.js} +17 -16
  75. package/dist/cli/{knowledge-events-zwhb8jnb.js → knowledge-events-hadasxqm.js} +15 -14
  76. package/dist/cli/{knowledge-link-pmbyqe3b.js → knowledge-link-93nzznwd.js} +6 -7
  77. package/dist/cli/{knowledge-store-67n0qbhg.js → knowledge-store-y7vvwa7p.js} +7 -8
  78. package/dist/cli/{knowledge-validator-b58w129y.js → knowledge-validator-3tqat3wm.js} +9 -10
  79. package/dist/cli/{mcp-ayc74bm2.js → mcp-ek3wf04s.js} +1 -1
  80. package/dist/cli/{model-preflight-nvjb3bv5.js → model-preflight-gzcmdvs7.js} +46 -45
  81. package/dist/cli/{pending-delegations-yvh7b951.js → pending-delegations-54k1mysp.js} +13 -14
  82. package/dist/cli/{pr-subscriptions-pkj5mmra.js → pr-subscriptions-sx9ch5ra.js} +13 -14
  83. package/dist/cli/{pr-workflow-gate-zg6tg3c0.js → pr-workflow-gate-yehzpb9x.js} +46 -45
  84. package/dist/cli/{runner-jev9vea3.js → runner-verr6er5.js} +7 -8
  85. package/dist/cli/{scan-cursor-8nkt0n1b.js → scan-cursor-0ws87fe6.js} +8 -9
  86. package/dist/cli/{schema-ahy4ps8z.js → schema-hns0x91t.js} +2 -2
  87. package/dist/cli/{scope-persistence-h8b2hcy9.js → scope-persistence-ct6etvdy.js} +17 -18
  88. package/dist/cli/{server-14wr2fz2.js → server-hh4vy28k.js} +47 -47
  89. package/dist/cli/{skill-generator-2pk8fvfz.js → skill-generator-9fy1nmhb.js} +19 -18
  90. package/dist/cli/{snapshot-coordination-init-keeqdwph.js → snapshot-coordination-init-xjdy80bq.js} +46 -45
  91. package/dist/cli/{speckit-checkoff-yf09ctgv.js → speckit-checkoff-06104jte.js} +5 -5
  92. package/dist/cli/{telemetry-rb8hrvbx.js → telemetry-xwj899pd.js} +2 -3
  93. package/dist/cli/{workspace-snapshot-28p0ekng.js → workspace-snapshot-y60ay5eq.js} +4 -5
  94. package/dist/cli/{worktree-collision-ownership-7ctmpqx6.js → worktree-collision-ownership-3jefgmkc.js} +14 -15
  95. package/dist/cli/{worktree-isolation-2c1hvct4.js → worktree-isolation-76wbgtpk.js} +46 -45
  96. package/dist/commands/doctor-knowledge-receipt-phase-id.d.ts +16 -0
  97. package/dist/commands/registry.d.ts +4 -4
  98. package/dist/commands/reset-backup.d.ts +20 -5
  99. package/dist/commands/rollback-gate.d.ts +73 -0
  100. package/dist/hooks/extractors.d.ts +15 -0
  101. package/dist/hooks/knowledge-injector.d.ts +5 -0
  102. package/dist/hooks/knowledge-receipt-ledger.d.ts +50 -4
  103. package/dist/hooks/knowledge-receipt-observability.d.ts +1 -1
  104. package/dist/hooks/phase-complete-directive-gate.d.ts +18 -1
  105. package/dist/hooks/phase-directives.d.ts +7 -3
  106. package/dist/index.js +655 -631
  107. package/dist/lang/backends/java.d.ts +76 -0
  108. package/dist/lang/java-extraction.d.ts +88 -0
  109. package/dist/services/config-doctor.d.ts +19 -1
  110. package/dist/services/preflight-integration.d.ts +8 -1
  111. package/dist/state.d.ts +13 -0
  112. package/dist/tools/phase-complete.d.ts +2 -2
  113. package/dist/tools/repair-knowledge-receipt-ledger.d.ts +26 -0
  114. package/dist/tools/symbols.d.ts +18 -0
  115. package/opencode-swarm.schema.json +1 -1
  116. package/package.json +1 -1
  117. package/dist/cli/curator-llm-factory-j51cttb2.js +0 -81
  118. package/dist/cli/guardrail-explain-qjyz300y.js +0 -82
  119. package/dist/cli/guardrail-log-rw25bt8g.js +0 -23
  120. package/dist/cli/hive-promoter-qzz0veev.js +0 -96
  121. package/dist/cli/index-c1ggtmpm.js +0 -33
@@ -33,36 +33,37 @@ import {
33
33
  sanitizeSlug,
34
34
  selectCandidateEntries,
35
35
  writeEvalStub
36
- } from "./index-e47fhj4k.js";
36
+ } from "./index-thx02zpn.js";
37
37
  import"./index-q7sjgr1y.js";
38
- import"./index-e6tjg7t9.js";
39
- import"./index-znc71e1c.js";
38
+ import"./index-f1dxxa1n.js";
39
+ import"./index-kaf9mtpc.js";
40
+ import"./index-m9zzj4ee.js";
41
+ import"./index-bejxkee0.js";
40
42
  import"./index-2s7dvzff.js";
41
- import"./index-agm6hegf.js";
42
- import"./index-7pstt3w2.js";
43
+ import"./index-c44vm8tc.js";
44
+ import"./index-n8kqhxay.js";
43
45
  import"./index-rtry5xyf.js";
44
- import"./index-prksynjw.js";
46
+ import"./index-rcmgbtxf.js";
45
47
  import"./index-kbkk7vnh.js";
46
48
  import"./index-0725jpp7.js";
47
- import"./index-06pcq86m.js";
48
- import"./index-pntrhnj8.js";
49
+ import"./index-v9y0230d.js";
50
+ import"./index-ywwreanf.js";
49
51
  import"./index-vzm6zre7.js";
50
52
  import"./index-ae75rja9.js";
51
- import"./index-gsqmefdg.js";
52
- import"./index-227te5a7.js";
53
- import"./index-mr86ywsj.js";
53
+ import"./index-n45kz69m.js";
54
+ import"./index-6t7ygevg.js";
55
+ import"./index-jyxgkp4a.js";
54
56
  import"./index-t7hmqgjy.js";
55
- import"./index-xdjwefa5.js";
56
- import"./index-mc72pk74.js";
57
- import"./index-c1ggtmpm.js";
57
+ import"./index-dx6bhbd6.js";
58
+ import"./index-fzpt2djt.js";
58
59
  import"./index-ejhxgyvm.js";
59
60
  import"./index-7g4c7s5r.js";
60
- import"./index-e4hy4des.js";
61
+ import"./index-r6e8syr3.js";
61
62
  import"./index-gx2vp8gx.js";
62
- import"./index-cvwkjnr5.js";
63
+ import"./index-r37b4crx.js";
63
64
  import"./index-zxdawwc7.js";
64
- import"./index-616pp1nq.js";
65
- import"./index-03z05sbb.js";
65
+ import"./index-zftyb94k.js";
66
+ import"./index-bstjg81q.js";
66
67
  import"./index-bk5tah7q.js";
67
68
  import"./index-gknz3bv1.js";
68
69
  import"./index-zpsr8rpc.js";
@@ -8,74 +8,75 @@ import {
8
8
  markSnapshotCoordinationClosing,
9
9
  retrySnapshotCoordinationInitialization,
10
10
  startSnapshotCoordinationInitialization
11
- } from "./index-qc1x5vvb.js";
12
- import"./index-kg4yp11g.js";
13
- import"./index-ha4r51k4.js";
14
- import"./index-n5ekzhad.js";
15
- import"./index-7bxssqaf.js";
16
- import"./index-x5mkva6s.js";
17
- import"./index-k55ep5se.js";
11
+ } from "./index-0cpa8rnc.js";
12
+ import"./index-wy6wzwb3.js";
13
+ import"./index-36y60mjx.js";
14
+ import"./index-m2xfxk4e.js";
15
+ import"./index-vx8a8w3b.js";
16
+ import"./index-n55exns2.js";
17
+ import"./index-26zs9wsj.js";
18
18
  import"./index-txdagbh7.js";
19
- import"./index-q8dj8b88.js";
19
+ import"./index-hjdeawyp.js";
20
20
  import"./index-rdec0y3z.js";
21
- import"./index-t6na8zpb.js";
22
- import"./index-dbwpcjhw.js";
23
- import"./index-e47fhj4k.js";
24
- import"./index-c5x4yzt6.js";
25
- import"./index-84wt7q5y.js";
26
- import"./index-0qpa53jg.js";
21
+ import"./index-319qcbg7.js";
22
+ import"./index-t0xcsrsf.js";
23
+ import"./index-thx02zpn.js";
24
+ import"./index-1hg62y01.js";
25
+ import"./index-mf19yqss.js";
26
+ import"./index-3y0nr248.js";
27
27
  import"./index-cjapb4hy.js";
28
- import"./index-sjwpvte3.js";
28
+ import"./index-a8gvszr2.js";
29
29
  import"./index-pt7h91zc.js";
30
30
  import"./index-q7sjgr1y.js";
31
- import"./index-5dgg9vhz.js";
32
- import"./index-xgsy3hzf.js";
31
+ import"./index-v51qveq8.js";
32
+ import"./index-rs23yv3h.js";
33
33
  import"./index-6b295cas.js";
34
34
  import"./index-9nyqt3kb.js";
35
- import"./index-mtb763x4.js";
35
+ import"./index-r7d49haj.js";
36
36
  import"./index-zsrtt42s.js";
37
- import"./index-c12cz80m.js";
38
- import"./index-4y6pndcf.js";
39
- import"./index-144jx1jn.js";
37
+ import"./index-p9xke6h7.js";
38
+ import"./index-prqjveey.js";
39
+ import"./index-z4c6bfd5.js";
40
40
  import"./index-g4fs6z4e.js";
41
- import"./index-tw513bvn.js";
42
- import"./index-e6tjg7t9.js";
43
- import"./index-znc71e1c.js";
41
+ import"./index-868tmqy5.js";
42
+ import"./index-f1dxxa1n.js";
43
+ import"./index-kaf9mtpc.js";
44
+ import"./index-m9zzj4ee.js";
45
+ import"./index-bejxkee0.js";
44
46
  import"./index-2s7dvzff.js";
45
- import"./index-agm6hegf.js";
46
- import"./index-7pstt3w2.js";
47
+ import"./index-c44vm8tc.js";
48
+ import"./index-n8kqhxay.js";
47
49
  import"./index-rtry5xyf.js";
48
- import"./index-prksynjw.js";
50
+ import"./index-rcmgbtxf.js";
49
51
  import"./index-kbkk7vnh.js";
50
52
  import"./index-0725jpp7.js";
51
- import"./index-7ae4sgp4.js";
52
- import"./index-2nbws8bd.js";
53
- import"./index-zcpd36zm.js";
54
- import"./index-extgtmxm.js";
55
- import"./index-n1szkmbz.js";
56
- import"./index-0k283qtq.js";
53
+ import"./index-my8wgyqg.js";
54
+ import"./index-qmmzyymt.js";
55
+ import"./index-e9ry78z5.js";
56
+ import"./index-m1qy7f1e.js";
57
+ import"./index-cc1vzq4m.js";
58
+ import"./index-9hag235h.js";
57
59
  import"./index-ry16d01s.js";
58
60
  import"./index-rdm3px0g.js";
59
61
  import"./index-7pmbnjvj.js";
60
- import"./index-06pcq86m.js";
61
- import"./index-pntrhnj8.js";
62
+ import"./index-v9y0230d.js";
63
+ import"./index-ywwreanf.js";
62
64
  import"./index-vzm6zre7.js";
63
65
  import"./index-ae75rja9.js";
64
- import"./index-gsqmefdg.js";
65
- import"./index-227te5a7.js";
66
- import"./index-mr86ywsj.js";
66
+ import"./index-n45kz69m.js";
67
+ import"./index-6t7ygevg.js";
68
+ import"./index-jyxgkp4a.js";
67
69
  import"./index-t7hmqgjy.js";
68
- import"./index-xdjwefa5.js";
69
- import"./index-mc72pk74.js";
70
- import"./index-c1ggtmpm.js";
70
+ import"./index-dx6bhbd6.js";
71
+ import"./index-fzpt2djt.js";
71
72
  import"./index-ejhxgyvm.js";
72
73
  import"./index-7g4c7s5r.js";
73
- import"./index-e4hy4des.js";
74
+ import"./index-r6e8syr3.js";
74
75
  import"./index-gx2vp8gx.js";
75
- import"./index-cvwkjnr5.js";
76
+ import"./index-r37b4crx.js";
76
77
  import"./index-zxdawwc7.js";
77
- import"./index-616pp1nq.js";
78
- import"./index-03z05sbb.js";
78
+ import"./index-zftyb94k.js";
79
+ import"./index-bstjg81q.js";
79
80
  import"./index-bk5tah7q.js";
80
81
  import"./index-gknz3bv1.js";
81
82
  import"./index-zpsr8rpc.js";
@@ -7,14 +7,14 @@ import {
7
7
  parseSpeckitTasksContent,
8
8
  propagateSpeckitCheckoff,
9
9
  writeSpeckitCheckoffLedger
10
- } from "./index-c12cz80m.js";
10
+ } from "./index-p9xke6h7.js";
11
11
  import"./index-ejhxgyvm.js";
12
12
  import"./index-7g4c7s5r.js";
13
- import"./index-e4hy4des.js";
14
- import"./index-cvwkjnr5.js";
13
+ import"./index-r6e8syr3.js";
14
+ import"./index-r37b4crx.js";
15
15
  import"./index-zxdawwc7.js";
16
- import"./index-616pp1nq.js";
17
- import"./index-03z05sbb.js";
16
+ import"./index-zftyb94k.js";
17
+ import"./index-bstjg81q.js";
18
18
  import"./index-bk5tah7q.js";
19
19
  import"./index-gknz3bv1.js";
20
20
  import"./index-zpsr8rpc.js";
@@ -14,9 +14,8 @@ import {
14
14
  startHeartbeatTracking,
15
15
  stopHeartbeatTracking,
16
16
  telemetry
17
- } from "./index-xdjwefa5.js";
18
- import"./index-mc72pk74.js";
19
- import"./index-c1ggtmpm.js";
17
+ } from "./index-dx6bhbd6.js";
18
+ import"./index-fzpt2djt.js";
20
19
  import"./index-gknz3bv1.js";
21
20
  import"./index-zpsr8rpc.js";
22
21
  import"./index-zgwm4ryv.js";
@@ -46,12 +46,11 @@ import {
46
46
  shouldSkipSnapshot,
47
47
  switchPrFeedbackTrackingCandidateAsync,
48
48
  workspaceSnapshotMatches
49
- } from "./index-84wt7q5y.js";
50
- import"./index-znc71e1c.js";
49
+ } from "./index-mf19yqss.js";
50
+ import"./index-bejxkee0.js";
51
51
  import"./index-2s7dvzff.js";
52
- import"./index-mc72pk74.js";
53
- import"./index-c1ggtmpm.js";
54
- import"./index-e4hy4des.js";
52
+ import"./index-fzpt2djt.js";
53
+ import"./index-r6e8syr3.js";
55
54
  import"./index-zxdawwc7.js";
56
55
  import"./index-zpsr8rpc.js";
57
56
  import"./index-zgwm4ryv.js";
@@ -6,38 +6,37 @@ import {
6
6
  WORKTREE_PROVISIONING_OWNER_LEASE_MS,
7
7
  removeWorktreeProvisioningOwner,
8
8
  scanWorktreeProvisioningOwnersForRecovery
9
- } from "./index-sjwpvte3.js";
9
+ } from "./index-a8gvszr2.js";
10
10
  import {
11
11
  scanWorktreeMergeFailuresForRecovery
12
12
  } from "./index-zsrtt42s.js";
13
13
  import {
14
14
  scanDelegationFallbacksForRecovery,
15
15
  scanDelegationsForRecovery
16
- } from "./index-tw513bvn.js";
17
- import"./index-znc71e1c.js";
16
+ } from "./index-868tmqy5.js";
17
+ import"./index-bejxkee0.js";
18
18
  import"./index-2s7dvzff.js";
19
- import"./index-extgtmxm.js";
20
- import"./index-n1szkmbz.js";
21
- import"./index-0k283qtq.js";
19
+ import"./index-m1qy7f1e.js";
20
+ import"./index-cc1vzq4m.js";
21
+ import"./index-9hag235h.js";
22
22
  import"./index-ry16d01s.js";
23
23
  import"./index-rdm3px0g.js";
24
24
  import"./index-7pmbnjvj.js";
25
- import"./index-06pcq86m.js";
26
- import"./index-pntrhnj8.js";
25
+ import"./index-v9y0230d.js";
26
+ import"./index-ywwreanf.js";
27
27
  import"./index-vzm6zre7.js";
28
28
  import"./index-ae75rja9.js";
29
- import"./index-gsqmefdg.js";
30
- import"./index-227te5a7.js";
31
- import"./index-mr86ywsj.js";
29
+ import"./index-n45kz69m.js";
30
+ import"./index-6t7ygevg.js";
31
+ import"./index-jyxgkp4a.js";
32
32
  import"./index-t7hmqgjy.js";
33
- import"./index-xdjwefa5.js";
33
+ import"./index-dx6bhbd6.js";
34
34
  import {
35
35
  canonicalRootKeyFresh
36
- } from "./index-mc72pk74.js";
37
- import"./index-c1ggtmpm.js";
36
+ } from "./index-fzpt2djt.js";
38
37
  import"./index-ejhxgyvm.js";
39
38
  import"./index-7g4c7s5r.js";
40
- import"./index-e4hy4des.js";
39
+ import"./index-r6e8syr3.js";
41
40
  import"./index-zxdawwc7.js";
42
41
  import"./index-bk5tah7q.js";
43
42
  import"./index-gknz3bv1.js";
@@ -21,76 +21,77 @@ import {
21
21
  sanitizeWorktreeTaskId,
22
22
  standardWorktreeByCallID,
23
23
  standardWorktreeSerializationSessions
24
- } from "./index-qc1x5vvb.js";
25
- import"./index-kg4yp11g.js";
26
- import"./index-ha4r51k4.js";
27
- import"./index-n5ekzhad.js";
28
- import"./index-7bxssqaf.js";
29
- import"./index-x5mkva6s.js";
30
- import"./index-k55ep5se.js";
24
+ } from "./index-0cpa8rnc.js";
25
+ import"./index-wy6wzwb3.js";
26
+ import"./index-36y60mjx.js";
27
+ import"./index-m2xfxk4e.js";
28
+ import"./index-vx8a8w3b.js";
29
+ import"./index-n55exns2.js";
30
+ import"./index-26zs9wsj.js";
31
31
  import"./index-txdagbh7.js";
32
- import"./index-q8dj8b88.js";
32
+ import"./index-hjdeawyp.js";
33
33
  import"./index-rdec0y3z.js";
34
- import"./index-t6na8zpb.js";
35
- import"./index-dbwpcjhw.js";
36
- import"./index-e47fhj4k.js";
37
- import"./index-c5x4yzt6.js";
38
- import"./index-84wt7q5y.js";
39
- import"./index-0qpa53jg.js";
34
+ import"./index-319qcbg7.js";
35
+ import"./index-t0xcsrsf.js";
36
+ import"./index-thx02zpn.js";
37
+ import"./index-1hg62y01.js";
38
+ import"./index-mf19yqss.js";
39
+ import"./index-3y0nr248.js";
40
40
  import"./index-cjapb4hy.js";
41
- import"./index-sjwpvte3.js";
41
+ import"./index-a8gvszr2.js";
42
42
  import"./index-pt7h91zc.js";
43
43
  import"./index-q7sjgr1y.js";
44
- import"./index-5dgg9vhz.js";
45
- import"./index-xgsy3hzf.js";
44
+ import"./index-v51qveq8.js";
45
+ import"./index-rs23yv3h.js";
46
46
  import"./index-6b295cas.js";
47
47
  import"./index-9nyqt3kb.js";
48
- import"./index-mtb763x4.js";
48
+ import"./index-r7d49haj.js";
49
49
  import"./index-zsrtt42s.js";
50
- import"./index-c12cz80m.js";
51
- import"./index-4y6pndcf.js";
52
- import"./index-144jx1jn.js";
50
+ import"./index-p9xke6h7.js";
51
+ import"./index-prqjveey.js";
52
+ import"./index-z4c6bfd5.js";
53
53
  import"./index-g4fs6z4e.js";
54
- import"./index-tw513bvn.js";
55
- import"./index-e6tjg7t9.js";
56
- import"./index-znc71e1c.js";
54
+ import"./index-868tmqy5.js";
55
+ import"./index-f1dxxa1n.js";
56
+ import"./index-kaf9mtpc.js";
57
+ import"./index-m9zzj4ee.js";
58
+ import"./index-bejxkee0.js";
57
59
  import"./index-2s7dvzff.js";
58
- import"./index-agm6hegf.js";
59
- import"./index-7pstt3w2.js";
60
+ import"./index-c44vm8tc.js";
61
+ import"./index-n8kqhxay.js";
60
62
  import"./index-rtry5xyf.js";
61
63
  import {
62
64
  resolveWorktreeIsolationConfig
63
- } from "./index-prksynjw.js";
65
+ } from "./index-rcmgbtxf.js";
64
66
  import"./index-kbkk7vnh.js";
65
67
  import"./index-0725jpp7.js";
66
- import"./index-7ae4sgp4.js";
67
- import"./index-2nbws8bd.js";
68
- import"./index-zcpd36zm.js";
69
- import"./index-extgtmxm.js";
70
- import"./index-n1szkmbz.js";
71
- import"./index-0k283qtq.js";
68
+ import"./index-my8wgyqg.js";
69
+ import"./index-qmmzyymt.js";
70
+ import"./index-e9ry78z5.js";
71
+ import"./index-m1qy7f1e.js";
72
+ import"./index-cc1vzq4m.js";
73
+ import"./index-9hag235h.js";
72
74
  import"./index-ry16d01s.js";
73
75
  import"./index-rdm3px0g.js";
74
76
  import"./index-7pmbnjvj.js";
75
- import"./index-06pcq86m.js";
76
- import"./index-pntrhnj8.js";
77
+ import"./index-v9y0230d.js";
78
+ import"./index-ywwreanf.js";
77
79
  import"./index-vzm6zre7.js";
78
80
  import"./index-ae75rja9.js";
79
- import"./index-gsqmefdg.js";
80
- import"./index-227te5a7.js";
81
- import"./index-mr86ywsj.js";
81
+ import"./index-n45kz69m.js";
82
+ import"./index-6t7ygevg.js";
83
+ import"./index-jyxgkp4a.js";
82
84
  import"./index-t7hmqgjy.js";
83
- import"./index-xdjwefa5.js";
84
- import"./index-mc72pk74.js";
85
- import"./index-c1ggtmpm.js";
85
+ import"./index-dx6bhbd6.js";
86
+ import"./index-fzpt2djt.js";
86
87
  import"./index-ejhxgyvm.js";
87
88
  import"./index-7g4c7s5r.js";
88
- import"./index-e4hy4des.js";
89
+ import"./index-r6e8syr3.js";
89
90
  import"./index-gx2vp8gx.js";
90
- import"./index-cvwkjnr5.js";
91
+ import"./index-r37b4crx.js";
91
92
  import"./index-zxdawwc7.js";
92
- import"./index-616pp1nq.js";
93
- import"./index-03z05sbb.js";
93
+ import"./index-zftyb94k.js";
94
+ import"./index-bstjg81q.js";
94
95
  import"./index-bk5tah7q.js";
95
96
  import"./index-gknz3bv1.js";
96
97
  import"./index-zpsr8rpc.js";
@@ -0,0 +1,16 @@
1
+ /**
2
+ * #2947 `/swarm doctor` section: `knowledge-receipt-phase-id`.
3
+ *
4
+ * Detection is always-on and takes the ledger lock like every ledger read;
5
+ * on a legacy store that has not completed cutover yet, a detection call can
6
+ * append the standard `legacy_unverifiable`/`cutover_completed` bootstrap
7
+ * records (base-identical behavior of every `runLocked` read — no phase-data
8
+ * mutation). The journaled backfill runs ONLY under the interactive `--fix`
9
+ * flag. Fail-open on lock or store errors — the doctor is advisory and must
10
+ * still produce its structural report. INVARIANT 1 (AGENTS.md): this section
11
+ * is wired exclusively into the interactive `handleDoctorCommand` and is
12
+ * deliberately absent from `runConfigDoctor`/`runConfigDoctorWithFixes`, so
13
+ * no receipt-journal scan or backfill write can execute on the plugin startup
14
+ * path (src/index.ts registers the startup doctor via those services only).
15
+ */
16
+ export declare function renderKnowledgeReceiptPhaseIdSection(directory: string, enableAutoFix: boolean): Promise<string>;
@@ -1093,8 +1093,8 @@ export declare const COMMAND_REGISTRY: {
1093
1093
  readonly rollback: {
1094
1094
  readonly handler: (ctx: CommandContext) => Promise<string>;
1095
1095
  readonly description: "Restore swarm state or project files to a checkpoint";
1096
- readonly details: "Restores legacy .swarm/ phase checkpoints from checkpoints/phase-<N> when present. Otherwise restores named git checkpoints from .swarm/checkpoints.json by label or list number. Writes rollback event to events.jsonl. Without an argument, lists available checkpoints.";
1097
- readonly args: "<phase-number|label|list-number>";
1096
+ readonly details: "Restores legacy .swarm/ phase checkpoints from checkpoints/phase-<N> when present; otherwise named git checkpoints from .swarm/checkpoints.json. SAFETY (#2946): a restore that would DESTROY uncommitted work previews first and issues a 15-minute --confirm token; re-run with that token (or --yes) to execute. Every executing restore backs up the destroyed bytes to .swarm/rollback-backups/ (newest 5). Clean trees stay single-call. Bare invocation lists checkpoints.";
1097
+ readonly args: "<phase-number|label|list-number> [--confirm <token>] [--yes]";
1098
1098
  readonly category: "utility";
1099
1099
  readonly toolPolicy: "restricted";
1100
1100
  };
@@ -1353,8 +1353,8 @@ export declare const COMMAND_REGISTRY: {
1353
1353
  readonly checkpoint: {
1354
1354
  readonly handler: (ctx: CommandContext) => Promise<string>;
1355
1355
  readonly description: "Manage project checkpoints [save|restore|delete|list] <label>";
1356
- readonly details: "save: creates named git checkpoint. restore: hard-resets tracked files to the checkpoint. delete: removes named checkpoint metadata. list: shows all checkpoints with timestamps. All subcommands require a label except list.";
1357
- readonly args: "<save|restore|delete|list> <label>";
1356
+ readonly details: "save: creates named git checkpoint. restore: hard-resets tracked files to the checkpoint; when uncommitted tracked work would be destroyed it previews first and requires the --confirm token from that preview (or --yes to confirm in one step); destroyed bytes are backed up to .swarm/rollback-backups/ (#2946). delete: removes checkpoint metadata. list: shows all checkpoints with timestamps. All subcommands require a label except list.";
1357
+ readonly args: "<save|restore|delete|list> <label> [--confirm <token>] [--yes]";
1358
1358
  readonly category: "utility";
1359
1359
  readonly clashesWithNativeCcCommand: "/checkpoint";
1360
1360
  readonly toolPolicy: "restricted";
@@ -13,11 +13,14 @@ export interface ResetBackupResult {
13
13
  }
14
14
  /** How many backup directories to retain under .swarm/reset-backups/. */
15
15
  export declare const RESET_BACKUP_RETENTION = 5;
16
+ /** Which `.swarm/` subdirectory a backup family lands under (#2946). */
17
+ export type ResetBackupsRoot = 'reset-backups' | 'rollback-backups';
16
18
  /**
17
19
  * Copy the swarm-state entries a reset is about to delete into a durable,
18
- * timestamped directory under `.swarm/reset-backups/` BEFORE deletion, so the
19
- * user can recover by copying the files back. The backup directory is not part
20
- * of any reset deletion set, so it survives the reset.
20
+ * timestamped directory under `.swarm/reset-backups/` (or
21
+ * `.swarm/rollback-backups/` for rollback restores, #2946) BEFORE deletion,
22
+ * so the user can recover by copying the files back. The backup directory is
23
+ * not part of any reset deletion set, so it survives the reset.
21
24
  *
22
25
  * This deliberately does NOT use the git checkpoint tool: that tool excludes
23
26
  * `.swarm/` (`git add ... :!.swarm/`) — i.e. it excludes exactly the state a
@@ -26,7 +29,19 @@ export declare const RESET_BACKUP_RETENTION = 5;
26
29
  * non-surprising backup. (#1692)
27
30
  *
28
31
  * @param directory project root (contains `.swarm/`)
29
- * @param kind backup label prefix ('reset' | 'reset-session')
32
+ * @param kind backup label prefix ('reset' | 'reset-session' | 'rollback')
30
33
  * @param relEntries entries relative to `.swarm/` to back up (files or dirs)
34
+ * @param opts backups root override (rollback restores use 'rollback-backups')
31
35
  */
32
- export declare function backupSwarmStateBeforeReset(directory: string, kind: 'reset' | 'reset-session', relEntries: string[]): ResetBackupResult;
36
+ export declare function backupSwarmStateBeforeReset(directory: string, kind: 'reset' | 'reset-session' | 'rollback', relEntries: string[], opts?: {
37
+ backupsRoot?: ResetBackupsRoot;
38
+ }): ResetBackupResult;
39
+ /**
40
+ * Back up the current bytes of each dirty tracked file a git-checkpoint
41
+ * rollback is about to destroy via `git reset --hard` (#2946). Files are
42
+ * copied by their REPO-RELATIVE paths into
43
+ * `.swarm/rollback-backups/rollback-git-<ISO>/tracked/<repo-rel-path>`, so a
44
+ * confirmed rollback is recoverable by copying the files back. Fail-open by
45
+ * contract (same as the swarm-state backup): per-entry failures are warnings.
46
+ */
47
+ export declare function backupTrackedChangesBeforeRollback(directory: string, repoRelPaths: string[]): ResetBackupResult;
@@ -0,0 +1,73 @@
1
+ import type { PurgeCandidate } from './destructive-purge';
2
+ /** Destructive-surface kind for the git checkpoint restore path. */
3
+ export declare const ROLLBACK_GIT_KIND = "swarm-rollback-git";
4
+ /** Destructive-surface kind for the legacy phase-overwrite restore path. */
5
+ export declare const ROLLBACK_PHASE_KIND = "swarm-rollback-phase";
6
+ /**
7
+ * Test seam for the rollback gate (simulate git-status read failures without
8
+ * spawning real git). Mirrors `_closeGateInternals.runGit`.
9
+ */
10
+ export declare const _rollbackGateInternals: {
11
+ runGit: (args: string[], cwd: string) => string | null;
12
+ runGitBuffered: (args: string[], cwd: string) => string | null;
13
+ };
14
+ /**
15
+ * A real git repository root: `.git` is a linked-worktree/submodule pointer
16
+ * file, or a directory carrying the HEAD ref every repository has. Bare
17
+ * `.git` marker directories — accepted project roots per #2127 — are not
18
+ * repositories; git tracks nothing there.
19
+ */
20
+ export declare function isRealGitRepository(directory: string): boolean;
21
+ /**
22
+ * Parse `git status --porcelain -z` output into repo-relative tracked-dirty
23
+ * paths. The -z form is NUL-terminated and NEVER quotes paths (core.quotepath
24
+ * quoting — which mangles non-ASCII names into C-escaped octal and would
25
+ * silently break both the preview and the pre-restore backup — does not
26
+ * apply). Untracked ('??') entries survive `git reset --hard`; every other
27
+ * porcelain code is tracked work the reset would discard. Rename/copy
28
+ * records carry the ORIG_PATH as the next NUL token (#2508: both sides at
29
+ * risk), so each side is listed. R/C may sit in EITHER status column — the
30
+ * second column for worktree-only renames created via `git add -N`
31
+ * (intent-to-add) — so the test must not anchor to the first column, or the
32
+ * ORIG_PATH token of an R/C-initial file (README.md, CHANGELOG.md, …) is
33
+ * misread as the start of a new record and swallows the next real entry.
34
+ */
35
+ export declare function parseTrackedDirtyPaths(statusOutput: string): string[];
36
+ /**
37
+ * Paths that live in the restore TARGET tree but are NOT in the current
38
+ * index while a file sits on disk at that path. `git reset --hard` silently
39
+ * overwrites exactly these untracked (or since-ignored) files when it
40
+ * materializes the target tree, so they belong in the destruction scope
41
+ * alongside tracked-dirty paths (#2976 review F-1). Returns [] when either
42
+ * listing cannot be read — the tracked-dirty gate above still applies, and
43
+ * the caller's unreadable-status refusal covers real-repo failures.
44
+ */
45
+ export declare function untrackedPathsInTargetTree(directory: string, targetSha: string): string[];
46
+ /**
47
+ * The git-kind candidate set: the absolute paths of tracked-dirty files that
48
+ * `git reset --hard` would destroy. This is the ONLY derivation for
49
+ * ROLLBACK_GIT_KIND — the tool sink re-derives it from {label, directory}
50
+ * alone, so the command layer must not add anything to the set.
51
+ */
52
+ export declare function trackedDirtyCandidates(directory: string, dirtyRelPaths: string[]): PurgeCandidate[];
53
+ /**
54
+ * The legacy-phase-kind candidate set: absolute paths of live `.swarm/`
55
+ * entries the checkpoint copy loop would overwrite.
56
+ */
57
+ export declare function swarmOverwriteCandidates(directory: string, overwriteRelPaths: string[]): PurgeCandidate[];
58
+ /**
59
+ * Measure the destruction scope for a git checkpoint restore. When
60
+ * `targetSha` is provided, files that are untracked (or since-ignored) on
61
+ * disk but tracked in the TARGET tree are included: `git reset --hard`
62
+ * overwrites them silently, so they are part of the destruction set
63
+ * (#2976 review F-1). `unreadable` means git status could not be read
64
+ * inside a real repository — callers must fail closed on it (never treat
65
+ * it as a clean tree). A non-git or bare-marker root returns an empty
66
+ * dirty set: nothing tracked to destroy.
67
+ */
68
+ export declare function measureGitDestruction(directory: string, targetSha?: string): {
69
+ kind: 'ok';
70
+ dirtyRelPaths: string[];
71
+ } | {
72
+ kind: 'unreadable';
73
+ };
@@ -63,6 +63,21 @@ export declare function extractPatterns(contextContent: string, maxChars?: numbe
63
63
  * never suppress the summary — the honest active phase is reported instead.
64
64
  */
65
65
  export declare function extractCurrentPhaseFromPlan(plan: Plan): string | null;
66
+ /**
67
+ * Parse the stable numeric phase id embedded in a stored phase label.
68
+ *
69
+ * Membership labels are immutable once committed, so the embedded id is a
70
+ * stable identity even for legacy records that predate the explicit
71
+ * `phase_id` field (#2947). Accepts BOTH live label shapes — the composed
72
+ * `Phase 2: Name [STATUS]` form and the short architect form `Phase 2` —
73
+ * using the same loose canonical regex as `phaseNumberOf` in
74
+ * knowledge-injector.ts (which delegates here). Returns undefined for labels
75
+ * that carry no `Phase N` prefix AND for `Phase 0`: real plan phases are
76
+ * >= 1 (PhaseSchema), and the architect no-plan fallback label `Phase 0` is a
77
+ * synthetic marker that must never become a membership phase_id. Callers must
78
+ * treat undefined as "no id" and fall back to verbatim-label matching.
79
+ */
80
+ export declare function extractPhaseIdFromLabel(label: string | undefined): number | undefined;
66
81
  /**
67
82
  * Extracts the first incomplete task from the current phase of a Plan object.
68
83
  *
@@ -71,6 +71,11 @@ export interface InjectForDelegateParams {
71
71
  * and the phase-complete gate window directives by phase (Change 2).
72
72
  */
73
73
  phase?: string;
74
+ /**
75
+ * #2947: stable numeric phase id persisted on the membership so the
76
+ * phase-complete gate can key on it when the label legitimately drifts.
77
+ */
78
+ phase_id?: number;
74
79
  /** Test seam: override the search function. Defaults to the live one. */
75
80
  searchFn?: typeof searchKnowledge;
76
81
  }