opencode-swarm 7.166.2 → 7.166.4
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/.opencode/skills/council/SKILL.md +4 -1
- package/.opencode/skills/deep-dive/SKILL.md +1 -1
- package/.opencode/skills/deep-research/SKILL.md +4 -1
- package/.opencode/skills/gate-attribution/SKILL.md +3 -0
- package/.opencode/skills/pre-phase-briefing/SKILL.md +8 -0
- package/.opencode/skills/swarm-pr-review/SKILL.md +30 -30
- package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
- package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
- package/dist/cli/{coder-settlement-pv86n7n4.js → coder-settlement-yynntj5j.js} +11 -11
- package/dist/cli/{config-doctor-fy1aytwt.js → config-doctor-8asc35km.js} +2 -2
- package/dist/cli/{core-1d9vqbt4.js → core-qrbhs2q4.js} +1 -1
- package/dist/cli/{curation-policy-gnpgc3z7.js → curation-policy-bvxf5pxv.js} +9 -6
- package/dist/cli/{curator-drift-efmgp1v2.js → curator-drift-20m2ab5w.js} +4 -4
- package/dist/cli/curator-llm-factory-rs4921ks.js +71 -0
- package/dist/cli/{curator-a4rbehfr.js → curator-qk4xmkv4.js} +37 -36
- package/dist/cli/{evidence-summary-service-dvp1kbm4.js → evidence-summary-service-rktcp3s4.js} +15 -15
- package/dist/cli/{gate-evidence-qf27gdfx.js → gate-evidence-k6nzqca1.js} +6 -6
- package/dist/cli/guardrail-explain-jdspxzjr.js +72 -0
- package/dist/cli/{guardrail-log-qhw3knjt.js → guardrail-log-962pzjev.js} +7 -7
- package/dist/cli/{guardrail-reset-84ydxdg3.js → guardrail-reset-dv02t0bm.js} +37 -36
- package/dist/cli/{hive-promoter-y2daybf6.js → hive-promoter-9zzr28p2.js} +37 -36
- package/dist/cli/{index-ytsts0zj.js → index-0v6bf0j9.js} +1 -1
- package/dist/cli/{index-bysyj3z4.js → index-1aex5zd9.js} +1 -1
- package/dist/cli/{index-p0r5fn7y.js → index-251vrmge.js} +2 -2
- package/dist/cli/{index-sxe3t040.js → index-2w0beg3s.js} +2 -2
- package/dist/cli/{index-sxsyd7kf.js → index-3ct7fd75.js} +6 -6
- package/dist/cli/{index-jr6tppv9.js → index-3nm1b3t2.js} +7 -7
- package/dist/cli/{index-22sannyk.js → index-3s194swm.js} +36 -10
- package/dist/cli/{index-ft1tnx0e.js → index-5bd84nxc.js} +1 -1
- package/dist/cli/{index-gy55mc55.js → index-5qws47d4.js} +3369 -2820
- package/dist/cli/{index-7pp8fz4j.js → index-6d4dc99f.js} +1 -1
- package/dist/cli/{index-nthqfxzz.js → index-75f9jj3h.js} +2 -2
- package/dist/cli/{index-x4azb6qj.js → index-7g5kdtvw.js} +2 -2
- package/dist/cli/{index-qmp4gxac.js → index-8ewgab6z.js} +1 -1
- package/dist/cli/{index-0a0jsbhg.js → index-9eswrdp5.js} +1 -1
- package/dist/cli/{index-x8cvbkjs.js → index-9wv6a3jx.js} +2 -2
- package/dist/cli/{index-c0eyq4rp.js → index-bxrxqwce.js} +4 -4
- package/dist/cli/{index-bks56jbg.js → index-f6zgz02s.js} +3 -3
- package/dist/cli/{index-2n1v8ft1.js → index-gccxen4x.js} +5 -1
- package/dist/cli/{index-7mxrqy4r.js → index-gr5wg0nj.js} +7 -7
- package/dist/cli/{index-st47knj6.js → index-gsftf6c8.js} +3 -3
- package/dist/cli/{index-wz258yje.js → index-kwervbv6.js} +11 -11
- package/dist/cli/{index-3nww2vnx.js → index-kz44j3qe.js} +8 -8
- package/dist/cli/{index-19hjpqsy.js → index-m21x1bkx.js} +17 -9
- package/dist/cli/{index-j81kpway.js → index-m3tx1q9v.js} +1 -1
- package/dist/cli/{index-z1kmkh72.js → index-m9q6f3ty.js} +2 -2
- package/dist/cli/{index-3wtfrjcx.js → index-n189w64j.js} +3 -3
- package/dist/cli/{index-ty0wg9yp.js → index-n65x6e1y.js} +5 -5
- package/dist/cli/{index-hgphhnrp.js → index-qd619x3r.js} +2 -2
- package/dist/cli/{index-fkk7x6sy.js → index-qd726agw.js} +2 -2
- package/dist/cli/{index-jgtje76m.js → index-qv4byzwp.js} +94 -29
- package/dist/cli/{index-c23w8t46.js → index-qww0h314.js} +11 -6
- package/dist/cli/{index-y3dtdn2f.js → index-rk10x4zr.js} +1 -1
- package/dist/cli/{index-4kwxpnf8.js → index-sahf5yz3.js} +1 -1
- package/dist/cli/{index-e0bjbadr.js → index-shqhq68n.js} +8 -3
- package/dist/cli/{index-kd68b6mg.js → index-st1zw5ps.js} +2 -2
- package/dist/cli/{index-14z9en94.js → index-t8tw1bhs.js} +1 -1
- package/dist/cli/{index-9ccxcjdm.js → index-v5wanchr.js} +4 -4
- package/dist/cli/index-vzm6zre7.js +167 -0
- package/dist/cli/{index-8nv3bc9h.js → index-wd86yj53.js} +4 -4
- package/dist/cli/{index-nrdj94za.js → index-x8c42y8s.js} +39 -38
- package/dist/cli/{index-hbjax6hy.js → index-z62gdhkd.js} +8 -8
- package/dist/cli/index.js +37 -36
- package/dist/cli/{knowledge-escalator-aq7gzhpd.js → knowledge-escalator-w4bfnks3.js} +13 -12
- package/dist/cli/{knowledge-events-9z5sskyv.js → knowledge-events-wmnx8m6b.js} +10 -10
- package/dist/cli/{knowledge-link-ps2v4s18.js → knowledge-link-w1fwqts4.js} +4 -4
- package/dist/cli/{knowledge-store-1hzt2a0t.js → knowledge-store-5442ph4m.js} +8 -5
- package/dist/cli/{knowledge-validator-xe1fza7c.js → knowledge-validator-5rmardr4.js} +8 -7
- package/dist/cli/{pending-delegations-0nfjg7vp.js → pending-delegations-ea6zpqw2.js} +12 -11
- package/dist/cli/{pr-subscriptions-8974hwa0.js → pr-subscriptions-yqxt0avv.js} +12 -11
- package/dist/cli/{pr-workflow-gate-xgak5wvz.js → pr-workflow-gate-px36rczj.js} +37 -36
- package/dist/cli/{runner-7zqbp81n.js → runner-nmrjv7te.js} +5 -5
- package/dist/cli/{scan-cursor-hc4v0c90.js → scan-cursor-efrage98.js} +7 -6
- package/dist/cli/{schema-w1hsvw1h.js → schema-w2sds948.js} +3 -1
- package/dist/cli/{scope-persistence-k17003v4.js → scope-persistence-dd7p3tdv.js} +15 -14
- package/dist/cli/{skill-generator-tbxgpc9x.js → skill-generator-c0720k51.js} +15 -14
- package/dist/cli/{snapshot-coordination-init-vaf34wf0.js → snapshot-coordination-init-dp42vvme.js} +37 -36
- package/dist/cli/{telemetry-8qn4eag5.js → telemetry-ce0tx41h.js} +1 -1
- package/dist/cli/{workspace-snapshot-y85jy6gs.js → workspace-snapshot-0kxj2grt.js} +3 -3
- package/dist/cli/{worktree-collision-ownership-r3jdke7h.js → worktree-collision-ownership-emh2yhpx.js} +13 -12
- package/dist/cli/{worktree-isolation-sa1tbqff.js → worktree-isolation-a8f1yahq.js} +37 -36
- package/dist/commands/close.d.ts +82 -0
- package/dist/config/schema.d.ts +9 -0
- package/dist/context-map/capsule-persistence.d.ts +13 -8
- package/dist/hooks/delegate-ack-collector.d.ts +7 -0
- package/dist/hooks/knowledge-store.d.ts +7 -0
- package/dist/hooks/review-receipt.d.ts +29 -1
- package/dist/index.js +554 -551
- package/dist/knowledge/curation-policy.d.ts +7 -0
- package/dist/memory/consolidation-log.d.ts +9 -0
- package/dist/memory/injector.d.ts +7 -0
- package/dist/memory/run-log.d.ts +8 -0
- package/dist/retention/caps.d.ts +33 -0
- package/dist/retention/dir-prune.d.ts +72 -0
- package/dist/retention/jsonl-cap.d.ts +84 -0
- package/dist/retention/sweep.d.ts +67 -0
- package/dist/services/compaction-service.d.ts +14 -0
- package/dist/services/skill-changelog.d.ts +20 -0
- package/dist/summaries/manager.d.ts +41 -4
- package/dist/test-impact/history-store.d.ts +16 -0
- package/dist/turbo/epic/calibration.d.ts +16 -1
- package/dist/turbo/epic/divergence-recorder.d.ts +11 -0
- package/opencode-swarm.schema.json +15 -0
- package/package.json +1 -1
- package/dist/cli/curator-llm-factory-cwg62ynw.js +0 -70
- package/dist/cli/guardrail-explain-zskpzgsr.js +0 -71
|
@@ -75,6 +75,7 @@ import {
|
|
|
75
75
|
PrmConfigSchema,
|
|
76
76
|
QualityBudgetConfigSchema,
|
|
77
77
|
RepoGraphConfigSchema,
|
|
78
|
+
RetentionConfigSchema,
|
|
78
79
|
ReviewPassesConfigSchema,
|
|
79
80
|
ScoringConfigSchema,
|
|
80
81
|
ScoringWeightsSchema,
|
|
@@ -104,7 +105,7 @@ import {
|
|
|
104
105
|
resolveGeneratedAgentRole,
|
|
105
106
|
resolveGuardrailsConfig,
|
|
106
107
|
stripKnownSwarmPrefix
|
|
107
|
-
} from "./index-
|
|
108
|
+
} from "./index-shqhq68n.js";
|
|
108
109
|
import"./index-0tc0pcmh.js";
|
|
109
110
|
import"./index-bk5tah7q.js";
|
|
110
111
|
import"./index-bpmtbmy9.js";
|
|
@@ -141,6 +142,7 @@ export {
|
|
|
141
142
|
ScoringWeightsSchema,
|
|
142
143
|
ScoringConfigSchema,
|
|
143
144
|
ReviewPassesConfigSchema,
|
|
145
|
+
RetentionConfigSchema,
|
|
144
146
|
RepoGraphConfigSchema,
|
|
145
147
|
QualityBudgetConfigSchema,
|
|
146
148
|
PrmConfigSchema,
|
|
@@ -23,28 +23,29 @@ import {
|
|
|
23
23
|
tombstoneScopeBinding,
|
|
24
24
|
writeScopeBindingToDisk,
|
|
25
25
|
writeScopeToDisk
|
|
26
|
-
} from "./index-
|
|
27
|
-
import"./index-
|
|
28
|
-
import"./index-
|
|
29
|
-
import"./index-
|
|
30
|
-
import"./index-
|
|
31
|
-
import"./index-
|
|
26
|
+
} from "./index-gr5wg0nj.js";
|
|
27
|
+
import"./index-v5wanchr.js";
|
|
28
|
+
import"./index-qd619x3r.js";
|
|
29
|
+
import"./index-75f9jj3h.js";
|
|
30
|
+
import"./index-6d4dc99f.js";
|
|
31
|
+
import"./index-rk10x4zr.js";
|
|
32
32
|
import"./index-ry16d01s.js";
|
|
33
33
|
import"./index-n4fzmqz8.js";
|
|
34
|
-
import"./index-
|
|
35
|
-
import"./index-
|
|
34
|
+
import"./index-qd726agw.js";
|
|
35
|
+
import"./index-3s194swm.js";
|
|
36
|
+
import"./index-vzm6zre7.js";
|
|
36
37
|
import"./index-ae75rja9.js";
|
|
37
|
-
import"./index-
|
|
38
|
-
import"./index-
|
|
39
|
-
import"./index-
|
|
40
|
-
import"./index-
|
|
38
|
+
import"./index-t8tw1bhs.js";
|
|
39
|
+
import"./index-2w0beg3s.js";
|
|
40
|
+
import"./index-m21x1bkx.js";
|
|
41
|
+
import"./index-f6zgz02s.js";
|
|
41
42
|
import"./index-7qefgq4j.js";
|
|
42
43
|
import"./index-ee6ydtfe.js";
|
|
43
44
|
import"./index-7g4c7s5r.js";
|
|
44
|
-
import"./index-
|
|
45
|
+
import"./index-9eswrdp5.js";
|
|
45
46
|
import"./index-9e6fdz2h.js";
|
|
46
47
|
import"./index-4rhhvd1a.js";
|
|
47
|
-
import"./index-
|
|
48
|
+
import"./index-shqhq68n.js";
|
|
48
49
|
import"./index-0tc0pcmh.js";
|
|
49
50
|
import"./index-bk5tah7q.js";
|
|
50
51
|
import"./index-bpmtbmy9.js";
|
|
@@ -33,31 +33,32 @@ import {
|
|
|
33
33
|
sanitizeSlug,
|
|
34
34
|
selectCandidateEntries,
|
|
35
35
|
writeEvalStub
|
|
36
|
-
} from "./index-
|
|
36
|
+
} from "./index-qv4byzwp.js";
|
|
37
37
|
import"./index-q7sjgr1y.js";
|
|
38
|
-
import"./index-
|
|
39
|
-
import"./index-
|
|
38
|
+
import"./index-kz44j3qe.js";
|
|
39
|
+
import"./index-sahf5yz3.js";
|
|
40
40
|
import"./index-p612v1mv.js";
|
|
41
|
-
import"./index-
|
|
42
|
-
import"./index-
|
|
41
|
+
import"./index-wd86yj53.js";
|
|
42
|
+
import"./index-qww0h314.js";
|
|
43
43
|
import"./index-rtry5xyf.js";
|
|
44
|
-
import"./index-
|
|
44
|
+
import"./index-st1zw5ps.js";
|
|
45
45
|
import"./index-3qf1vxtb.js";
|
|
46
46
|
import"./index-n832052r.js";
|
|
47
|
-
import"./index-
|
|
48
|
-
import"./index-
|
|
47
|
+
import"./index-qd726agw.js";
|
|
48
|
+
import"./index-3s194swm.js";
|
|
49
|
+
import"./index-vzm6zre7.js";
|
|
49
50
|
import"./index-ae75rja9.js";
|
|
50
|
-
import"./index-
|
|
51
|
-
import"./index-
|
|
52
|
-
import"./index-
|
|
53
|
-
import"./index-
|
|
51
|
+
import"./index-t8tw1bhs.js";
|
|
52
|
+
import"./index-2w0beg3s.js";
|
|
53
|
+
import"./index-m21x1bkx.js";
|
|
54
|
+
import"./index-f6zgz02s.js";
|
|
54
55
|
import"./index-7qefgq4j.js";
|
|
55
56
|
import"./index-ee6ydtfe.js";
|
|
56
57
|
import"./index-7g4c7s5r.js";
|
|
57
|
-
import"./index-
|
|
58
|
+
import"./index-9eswrdp5.js";
|
|
58
59
|
import"./index-9e6fdz2h.js";
|
|
59
60
|
import"./index-4rhhvd1a.js";
|
|
60
|
-
import"./index-
|
|
61
|
+
import"./index-shqhq68n.js";
|
|
61
62
|
import"./index-0tc0pcmh.js";
|
|
62
63
|
import"./index-bk5tah7q.js";
|
|
63
64
|
import"./index-bpmtbmy9.js";
|
package/dist/cli/{snapshot-coordination-init-vaf34wf0.js → snapshot-coordination-init-dp42vvme.js}
RENAMED
|
@@ -8,62 +8,63 @@ import {
|
|
|
8
8
|
markSnapshotCoordinationClosing,
|
|
9
9
|
retrySnapshotCoordinationInitialization,
|
|
10
10
|
startSnapshotCoordinationInitialization
|
|
11
|
-
} from "./index-
|
|
11
|
+
} from "./index-5qws47d4.js";
|
|
12
12
|
import"./index-d5qf7hvh.js";
|
|
13
|
-
import"./index-
|
|
14
|
-
import"./index-
|
|
15
|
-
import"./index-
|
|
16
|
-
import"./index-
|
|
17
|
-
import"./index-
|
|
13
|
+
import"./index-m3tx1q9v.js";
|
|
14
|
+
import"./index-n189w64j.js";
|
|
15
|
+
import"./index-gccxen4x.js";
|
|
16
|
+
import"./index-kwervbv6.js";
|
|
17
|
+
import"./index-5bd84nxc.js";
|
|
18
18
|
import"./index-txdagbh7.js";
|
|
19
19
|
import"./index-cw912re7.js";
|
|
20
|
-
import"./index-
|
|
21
|
-
import"./index-
|
|
22
|
-
import"./index-
|
|
20
|
+
import"./index-qv4byzwp.js";
|
|
21
|
+
import"./index-n65x6e1y.js";
|
|
22
|
+
import"./index-7g5kdtvw.js";
|
|
23
23
|
import"./index-70ha9e09.js";
|
|
24
|
-
import"./index-
|
|
24
|
+
import"./index-1aex5zd9.js";
|
|
25
25
|
import"./index-9ss2m4rs.js";
|
|
26
|
-
import"./index-
|
|
26
|
+
import"./index-3nm1b3t2.js";
|
|
27
27
|
import"./index-zsrtt42s.js";
|
|
28
|
-
import"./index-
|
|
29
|
-
import"./index-
|
|
30
|
-
import"./index-
|
|
28
|
+
import"./index-z62gdhkd.js";
|
|
29
|
+
import"./index-251vrmge.js";
|
|
30
|
+
import"./index-9wv6a3jx.js";
|
|
31
31
|
import"./index-b43rt5ph.js";
|
|
32
32
|
import"./index-q7sjgr1y.js";
|
|
33
|
-
import"./index-
|
|
34
|
-
import"./index-
|
|
35
|
-
import"./index-
|
|
36
|
-
import"./index-
|
|
37
|
-
import"./index-
|
|
33
|
+
import"./index-bxrxqwce.js";
|
|
34
|
+
import"./index-8ewgab6z.js";
|
|
35
|
+
import"./index-3ct7fd75.js";
|
|
36
|
+
import"./index-kz44j3qe.js";
|
|
37
|
+
import"./index-sahf5yz3.js";
|
|
38
38
|
import"./index-p612v1mv.js";
|
|
39
|
-
import"./index-
|
|
40
|
-
import"./index-
|
|
39
|
+
import"./index-wd86yj53.js";
|
|
40
|
+
import"./index-qww0h314.js";
|
|
41
41
|
import"./index-rtry5xyf.js";
|
|
42
|
-
import"./index-
|
|
42
|
+
import"./index-st1zw5ps.js";
|
|
43
43
|
import"./index-3qf1vxtb.js";
|
|
44
44
|
import"./index-n832052r.js";
|
|
45
|
-
import"./index-
|
|
46
|
-
import"./index-
|
|
47
|
-
import"./index-
|
|
48
|
-
import"./index-
|
|
49
|
-
import"./index-
|
|
50
|
-
import"./index-
|
|
45
|
+
import"./index-gr5wg0nj.js";
|
|
46
|
+
import"./index-v5wanchr.js";
|
|
47
|
+
import"./index-qd619x3r.js";
|
|
48
|
+
import"./index-75f9jj3h.js";
|
|
49
|
+
import"./index-6d4dc99f.js";
|
|
50
|
+
import"./index-rk10x4zr.js";
|
|
51
51
|
import"./index-ry16d01s.js";
|
|
52
52
|
import"./index-n4fzmqz8.js";
|
|
53
|
-
import"./index-
|
|
54
|
-
import"./index-
|
|
53
|
+
import"./index-qd726agw.js";
|
|
54
|
+
import"./index-3s194swm.js";
|
|
55
|
+
import"./index-vzm6zre7.js";
|
|
55
56
|
import"./index-ae75rja9.js";
|
|
56
|
-
import"./index-
|
|
57
|
-
import"./index-
|
|
58
|
-
import"./index-
|
|
59
|
-
import"./index-
|
|
57
|
+
import"./index-t8tw1bhs.js";
|
|
58
|
+
import"./index-2w0beg3s.js";
|
|
59
|
+
import"./index-m21x1bkx.js";
|
|
60
|
+
import"./index-f6zgz02s.js";
|
|
60
61
|
import"./index-7qefgq4j.js";
|
|
61
62
|
import"./index-ee6ydtfe.js";
|
|
62
63
|
import"./index-7g4c7s5r.js";
|
|
63
|
-
import"./index-
|
|
64
|
+
import"./index-9eswrdp5.js";
|
|
64
65
|
import"./index-9e6fdz2h.js";
|
|
65
66
|
import"./index-4rhhvd1a.js";
|
|
66
|
-
import"./index-
|
|
67
|
+
import"./index-shqhq68n.js";
|
|
67
68
|
import"./index-0tc0pcmh.js";
|
|
68
69
|
import"./index-bk5tah7q.js";
|
|
69
70
|
import"./index-bpmtbmy9.js";
|
|
@@ -45,10 +45,10 @@ import {
|
|
|
45
45
|
shouldSkipSnapshot,
|
|
46
46
|
switchPrFeedbackTrackingCandidateAsync,
|
|
47
47
|
workspaceSnapshotMatches
|
|
48
|
-
} from "./index-
|
|
49
|
-
import"./index-
|
|
48
|
+
} from "./index-251vrmge.js";
|
|
49
|
+
import"./index-sahf5yz3.js";
|
|
50
50
|
import"./index-p612v1mv.js";
|
|
51
|
-
import"./index-
|
|
51
|
+
import"./index-m21x1bkx.js";
|
|
52
52
|
import"./index-7qefgq4j.js";
|
|
53
53
|
import"./index-ee6ydtfe.js";
|
|
54
54
|
import"./index-9e6fdz2h.js";
|
|
@@ -6,27 +6,28 @@ import {
|
|
|
6
6
|
WORKTREE_PROVISIONING_OWNER_LEASE_MS,
|
|
7
7
|
removeWorktreeProvisioningOwner,
|
|
8
8
|
scanWorktreeProvisioningOwnersForRecovery
|
|
9
|
-
} from "./index-
|
|
9
|
+
} from "./index-9wv6a3jx.js";
|
|
10
10
|
import {
|
|
11
11
|
scanDelegationFallbacksForRecovery,
|
|
12
12
|
scanDelegationsForRecovery
|
|
13
|
-
} from "./index-
|
|
14
|
-
import"./index-
|
|
13
|
+
} from "./index-3ct7fd75.js";
|
|
14
|
+
import"./index-sahf5yz3.js";
|
|
15
15
|
import {
|
|
16
16
|
bunSpawn
|
|
17
17
|
} from "./index-p612v1mv.js";
|
|
18
|
-
import"./index-
|
|
19
|
-
import"./index-
|
|
20
|
-
import"./index-
|
|
18
|
+
import"./index-75f9jj3h.js";
|
|
19
|
+
import"./index-6d4dc99f.js";
|
|
20
|
+
import"./index-rk10x4zr.js";
|
|
21
21
|
import"./index-ry16d01s.js";
|
|
22
22
|
import"./index-n4fzmqz8.js";
|
|
23
|
-
import"./index-
|
|
24
|
-
import"./index-
|
|
23
|
+
import"./index-qd726agw.js";
|
|
24
|
+
import"./index-3s194swm.js";
|
|
25
|
+
import"./index-vzm6zre7.js";
|
|
25
26
|
import"./index-ae75rja9.js";
|
|
26
|
-
import"./index-
|
|
27
|
-
import"./index-
|
|
28
|
-
import"./index-
|
|
29
|
-
import"./index-
|
|
27
|
+
import"./index-t8tw1bhs.js";
|
|
28
|
+
import"./index-2w0beg3s.js";
|
|
29
|
+
import"./index-m21x1bkx.js";
|
|
30
|
+
import"./index-f6zgz02s.js";
|
|
30
31
|
import {
|
|
31
32
|
canonicalRootKeyFresh
|
|
32
33
|
} from "./index-7qefgq4j.js";
|
|
@@ -21,64 +21,65 @@ import {
|
|
|
21
21
|
sanitizeWorktreeTaskId,
|
|
22
22
|
standardWorktreeByCallID,
|
|
23
23
|
standardWorktreeSerializationSessions
|
|
24
|
-
} from "./index-
|
|
24
|
+
} from "./index-5qws47d4.js";
|
|
25
25
|
import"./index-d5qf7hvh.js";
|
|
26
|
-
import"./index-
|
|
27
|
-
import"./index-
|
|
28
|
-
import"./index-
|
|
29
|
-
import"./index-
|
|
30
|
-
import"./index-
|
|
26
|
+
import"./index-m3tx1q9v.js";
|
|
27
|
+
import"./index-n189w64j.js";
|
|
28
|
+
import"./index-gccxen4x.js";
|
|
29
|
+
import"./index-kwervbv6.js";
|
|
30
|
+
import"./index-5bd84nxc.js";
|
|
31
31
|
import"./index-txdagbh7.js";
|
|
32
32
|
import"./index-cw912re7.js";
|
|
33
|
-
import"./index-
|
|
34
|
-
import"./index-
|
|
35
|
-
import"./index-
|
|
33
|
+
import"./index-qv4byzwp.js";
|
|
34
|
+
import"./index-n65x6e1y.js";
|
|
35
|
+
import"./index-7g5kdtvw.js";
|
|
36
36
|
import"./index-70ha9e09.js";
|
|
37
|
-
import"./index-
|
|
37
|
+
import"./index-1aex5zd9.js";
|
|
38
38
|
import"./index-9ss2m4rs.js";
|
|
39
|
-
import"./index-
|
|
39
|
+
import"./index-3nm1b3t2.js";
|
|
40
40
|
import"./index-zsrtt42s.js";
|
|
41
|
-
import"./index-
|
|
42
|
-
import"./index-
|
|
43
|
-
import"./index-
|
|
41
|
+
import"./index-z62gdhkd.js";
|
|
42
|
+
import"./index-251vrmge.js";
|
|
43
|
+
import"./index-9wv6a3jx.js";
|
|
44
44
|
import"./index-b43rt5ph.js";
|
|
45
45
|
import"./index-q7sjgr1y.js";
|
|
46
|
-
import"./index-
|
|
47
|
-
import"./index-
|
|
48
|
-
import"./index-
|
|
49
|
-
import"./index-
|
|
50
|
-
import"./index-
|
|
46
|
+
import"./index-bxrxqwce.js";
|
|
47
|
+
import"./index-8ewgab6z.js";
|
|
48
|
+
import"./index-3ct7fd75.js";
|
|
49
|
+
import"./index-kz44j3qe.js";
|
|
50
|
+
import"./index-sahf5yz3.js";
|
|
51
51
|
import"./index-p612v1mv.js";
|
|
52
|
-
import"./index-
|
|
53
|
-
import"./index-
|
|
52
|
+
import"./index-wd86yj53.js";
|
|
53
|
+
import"./index-qww0h314.js";
|
|
54
54
|
import"./index-rtry5xyf.js";
|
|
55
55
|
import {
|
|
56
56
|
resolveWorktreeIsolationConfig
|
|
57
|
-
} from "./index-
|
|
57
|
+
} from "./index-st1zw5ps.js";
|
|
58
58
|
import"./index-3qf1vxtb.js";
|
|
59
59
|
import"./index-n832052r.js";
|
|
60
|
-
import"./index-
|
|
61
|
-
import"./index-
|
|
62
|
-
import"./index-
|
|
63
|
-
import"./index-
|
|
64
|
-
import"./index-
|
|
65
|
-
import"./index-
|
|
60
|
+
import"./index-gr5wg0nj.js";
|
|
61
|
+
import"./index-v5wanchr.js";
|
|
62
|
+
import"./index-qd619x3r.js";
|
|
63
|
+
import"./index-75f9jj3h.js";
|
|
64
|
+
import"./index-6d4dc99f.js";
|
|
65
|
+
import"./index-rk10x4zr.js";
|
|
66
66
|
import"./index-ry16d01s.js";
|
|
67
67
|
import"./index-n4fzmqz8.js";
|
|
68
|
-
import"./index-
|
|
69
|
-
import"./index-
|
|
68
|
+
import"./index-qd726agw.js";
|
|
69
|
+
import"./index-3s194swm.js";
|
|
70
|
+
import"./index-vzm6zre7.js";
|
|
70
71
|
import"./index-ae75rja9.js";
|
|
71
|
-
import"./index-
|
|
72
|
-
import"./index-
|
|
73
|
-
import"./index-
|
|
74
|
-
import"./index-
|
|
72
|
+
import"./index-t8tw1bhs.js";
|
|
73
|
+
import"./index-2w0beg3s.js";
|
|
74
|
+
import"./index-m21x1bkx.js";
|
|
75
|
+
import"./index-f6zgz02s.js";
|
|
75
76
|
import"./index-7qefgq4j.js";
|
|
76
77
|
import"./index-ee6ydtfe.js";
|
|
77
78
|
import"./index-7g4c7s5r.js";
|
|
78
|
-
import"./index-
|
|
79
|
+
import"./index-9eswrdp5.js";
|
|
79
80
|
import"./index-9e6fdz2h.js";
|
|
80
81
|
import"./index-4rhhvd1a.js";
|
|
81
|
-
import"./index-
|
|
82
|
+
import"./index-shqhq68n.js";
|
|
82
83
|
import"./index-0tc0pcmh.js";
|
|
83
84
|
import"./index-bk5tah7q.js";
|
|
84
85
|
import"./index-bpmtbmy9.js";
|
package/dist/commands/close.d.ts
CHANGED
|
@@ -157,6 +157,77 @@ declare function countSessionKnowledgeEntries(entries: CloseKnowledgeEntry[], se
|
|
|
157
157
|
* Use copyDirRecursiveWithFailures when per-file failure tracking is needed.
|
|
158
158
|
*/
|
|
159
159
|
declare function copyDirRecursive(src: string, dest: string): Promise<number>;
|
|
160
|
+
/**
|
|
161
|
+
* Flat-file artifacts to include in the archive bundle.
|
|
162
|
+
* Each entry is a relative path under .swarm/.
|
|
163
|
+
*
|
|
164
|
+
* plan-ledger.jsonl is included so the archive bundle is a self-contained
|
|
165
|
+
* forensic snapshot of the session: the ledger holds the full audit trail of
|
|
166
|
+
* task state transitions and snapshot events that plan.json/plan.md don't
|
|
167
|
+
* preserve.
|
|
168
|
+
*/
|
|
169
|
+
export declare const ARCHIVE_ARTIFACTS: string[];
|
|
170
|
+
/**
|
|
171
|
+
* Active-state flat files to clean after archiving so future swarms start clean.
|
|
172
|
+
*
|
|
173
|
+
* plan.json, plan.md, and plan-ledger.jsonl are all removed so the next /swarm
|
|
174
|
+
* session starts with a clean slate. The user's original ask for /swarm close
|
|
175
|
+
* was to "archive plan files so future swarms aren't confused" — leaving a
|
|
176
|
+
* terminal-state plan.json in place violates that invariant because the next
|
|
177
|
+
* session's loadPlan() would pick it up as if it were still active.
|
|
178
|
+
*
|
|
179
|
+
* CRITICAL: the ledger must also be removed. Without this, loadPlan()'s Step 4
|
|
180
|
+
* would see no plan.json but a surviving ledger, call replayFromLedger(), and
|
|
181
|
+
* materialize the CLOSED plan back into plan.json on the next session. The
|
|
182
|
+
* ledger is a second backing store for the same "terminal-state plan" and
|
|
183
|
+
* leaving it behind re-enables the exact bug this cleanup is meant to fix.
|
|
184
|
+
* The archive-first guard below ensures we only delete files we successfully
|
|
185
|
+
* copied to the archive bundle, so the audit trail is preserved in the bundle.
|
|
186
|
+
*
|
|
187
|
+
* knowledge-rejected.jsonl, repo-graph.json, doc-manifest.json,
|
|
188
|
+
* dark-matter.md, telemetry.jsonl, and swarm.db are
|
|
189
|
+
* session-generated artifacts that do not persist meaningfully across sessions —
|
|
190
|
+
* they are recreated on next session init and must be removed to avoid stale-state
|
|
191
|
+
* interference.
|
|
192
|
+
*
|
|
193
|
+
* The SQLite WAL sidecars swarm.db-shm and swarm.db-wal are deliberately NOT in
|
|
194
|
+
* either list (the archive-first guard would preserve them anyway): since #2483
|
|
195
|
+
* they are removed immediately AFTER the swarm.db unlink by
|
|
196
|
+
* removeSqliteSidecarsAfterClose, deliberately reversing #1692. Post-unlink the
|
|
197
|
+
* sidecar paths are meaningless for future opens (no new opener can attach),
|
|
198
|
+
* live processes keep their already-open fds so deleting the PATH cannot
|
|
199
|
+
* corrupt them, and a Windows open-handle collision yields EBUSY which the
|
|
200
|
+
* helper skips fail-open.
|
|
201
|
+
*
|
|
202
|
+
* Note: knowledge.jsonl is intentionally NOT cleaned because it contains cumulative
|
|
203
|
+
* project knowledge (lessons learned) that should persist across sessions and finalize
|
|
204
|
+
* cycles. The archive step still creates a backup for safety.
|
|
205
|
+
* close-summary.md is NOT cleaned because it is written as the final close output
|
|
206
|
+
* AFTER the clean stage runs. spec.md IS cleaned: it is single-session state coupled
|
|
207
|
+
* to the plan lifecycle (the plan it produced is removed above), so leaving it behind
|
|
208
|
+
* makes the next session pick up a stale spec via readEffectiveSpecSync and mis-route
|
|
209
|
+
* the architect into CLARIFY-SPEC/overwrite prompts. It is archived first (archive-first
|
|
210
|
+
* guard), so the forensic copy is preserved in the bundle. The earlier "spec.md may not
|
|
211
|
+
* exist" rationale was wrong — handoff.md is equally optional and is cleaned the same way.
|
|
212
|
+
* session-reflection.md is a single-session snapshot (not cumulative like
|
|
213
|
+
* knowledge.jsonl) so it IS cleaned to maintain the clean-slate invariant.
|
|
214
|
+
* spec-staleness.json and spec-snapshot.md are the same class of single-session
|
|
215
|
+
* spec-drift state as spec.md. spec-staleness.json is an existence-only gate
|
|
216
|
+
* checked unconditionally by enforceSpecDriftGate, which hard-blocks the core
|
|
217
|
+
* write tools (save_plan, update_task_status, phase_complete,
|
|
218
|
+
* lean_turbo_run_phase, lean_turbo_acquire_locks) with SPEC_DRIFT_BLOCK — a
|
|
219
|
+
* survivor would block the NEXT session against drift that no longer applies.
|
|
220
|
+
* spec-snapshot.md is its companion diff source, feeding the mismatch shown in
|
|
221
|
+
* the SPEC_DRIFT_BLOCK message. Both are archived first (archive-first guard),
|
|
222
|
+
* then cleaned so the next session starts drift-free.
|
|
223
|
+
*/
|
|
224
|
+
export declare const ACTIVE_STATE_TO_CLEAN: string[];
|
|
225
|
+
/**
|
|
226
|
+
* Active-state directories to archive and clean after archiving.
|
|
227
|
+
* These contain session-generated data that must be removed so future
|
|
228
|
+
* swarms start clean. Each entry is a relative path under .swarm/.
|
|
229
|
+
*/
|
|
230
|
+
export declare const ACTIVE_STATE_DIRS_TO_CLEAN: string[];
|
|
160
231
|
/**
|
|
161
232
|
* Guarantee all phases and tasks in a plan are marked complete/closed.
|
|
162
233
|
* Mutates planData in place. Returns actual IDs of newly closed phases and
|
|
@@ -226,6 +297,16 @@ export declare function runArchiveEvidenceRetention(ctx: ArchiveStageContext): P
|
|
|
226
297
|
* 375 ms so `/swarm close` remains responsive.
|
|
227
298
|
*/
|
|
228
299
|
declare function unlinkActiveStateFileWithRetry(filePath: string): Promise<void>;
|
|
300
|
+
/**
|
|
301
|
+
* Remove the SQLite WAL sidecars (swarm.db-wal / swarm.db-shm) immediately
|
|
302
|
+
* after the clean stage unlinks swarm.db (#2483, deliberately reversing the
|
|
303
|
+
* #1692 preserve decision): once the main db is unlinked the sidecar paths
|
|
304
|
+
* are meaningless for future opens — no new opener can attach — and live
|
|
305
|
+
* processes keep their already-open fds, so deleting the PATH cannot corrupt
|
|
306
|
+
* them. Best-effort and per-file fail-open: ENOENT (already gone) and EBUSY
|
|
307
|
+
* (Windows open-handle collision) are skipped silently.
|
|
308
|
+
*/
|
|
309
|
+
export declare function removeSqliteSidecarsAfterClose(swarmDir: string): void;
|
|
229
310
|
export declare function runCleanStage(ctx: CloseStageContext): Promise<CleanStageResult>;
|
|
230
311
|
/**
|
|
231
312
|
* STAGE 4: ALIGN
|
|
@@ -282,6 +363,7 @@ export declare const _internals: {
|
|
|
282
363
|
closeRepoMemory: typeof closeRepoMemory;
|
|
283
364
|
unlinkActiveStateFileWithRetry: typeof unlinkActiveStateFileWithRetry;
|
|
284
365
|
unlink: typeof fsSync.promises.unlink;
|
|
366
|
+
unlinkSidecarSync: typeof fsSync.unlinkSync;
|
|
285
367
|
sleep: typeof sleep;
|
|
286
368
|
collectGarbageBestEffort: typeof collectGarbageBestEffort;
|
|
287
369
|
ACTIVE_STATE_DIRS_TO_CLEAN: string[];
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -445,6 +445,11 @@ export declare const SummaryConfigSchema: z.ZodObject<{
|
|
|
445
445
|
exempt_tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
446
446
|
}, z.core.$strip>;
|
|
447
447
|
export type SummaryConfig = z.infer<typeof SummaryConfigSchema>;
|
|
448
|
+
export declare const RetentionConfigSchema: z.ZodPrefault<z.ZodObject<{
|
|
449
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
450
|
+
dry_run: z.ZodDefault<z.ZodBoolean>;
|
|
451
|
+
}, z.core.$strip>>;
|
|
452
|
+
export type RetentionConfig = z.infer<typeof RetentionConfigSchema>;
|
|
448
453
|
export declare const ReviewPassesConfigSchema: z.ZodObject<{
|
|
449
454
|
always_security_review: z.ZodDefault<z.ZodBoolean>;
|
|
450
455
|
security_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
@@ -2218,6 +2223,10 @@ export declare const PluginConfigSchema: z.ZodObject<{
|
|
|
2218
2223
|
retention_days: z.ZodDefault<z.ZodNumber>;
|
|
2219
2224
|
exempt_tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
2220
2225
|
}, z.core.$strip>>;
|
|
2226
|
+
retention: z.ZodPrefault<z.ZodObject<{
|
|
2227
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
2228
|
+
dry_run: z.ZodDefault<z.ZodBoolean>;
|
|
2229
|
+
}, z.core.$strip>>;
|
|
2221
2230
|
review_passes: z.ZodOptional<z.ZodObject<{
|
|
2222
2231
|
always_security_review: z.ZodDefault<z.ZodBoolean>;
|
|
2223
2232
|
security_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
@@ -29,6 +29,7 @@ export declare const _internals: {
|
|
|
29
29
|
readonly existsSync: typeof fs.existsSync;
|
|
30
30
|
readonly mkdirSync: typeof fs.mkdirSync;
|
|
31
31
|
readonly readdirSync: typeof fs.readdirSync;
|
|
32
|
+
readonly statSync: fs.StatSyncFn;
|
|
32
33
|
readonly unlinkSync: typeof fs.unlinkSync;
|
|
33
34
|
readonly renameSync: typeof fs.renameSync;
|
|
34
35
|
};
|
|
@@ -50,17 +51,21 @@ export declare function saveCapsule(capsule: ContextCapsule, directory: string):
|
|
|
50
51
|
*/
|
|
51
52
|
export declare function loadCapsule(taskId: string, directory: string): ContextCapsule | null;
|
|
52
53
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
54
|
+
* Listing cap for `.swarm/capsules/` enumeration (issue #2483 §2, R12): the
|
|
55
|
+
* list returns NEWEST-first (mtime descending, code-unit filename
|
|
56
|
+
* tie-break — never localeCompare) and is capped, so every listing read is
|
|
57
|
+
* O(cap), not O(unbounded capsule history). The effective value resolves
|
|
58
|
+
* through `resolveRetentionCap` so the #2483 acceptance checks can shrink it.
|
|
57
59
|
*/
|
|
58
|
-
export declare
|
|
60
|
+
export declare const MAX_CAPSULES_LISTED = 500;
|
|
59
61
|
/**
|
|
60
|
-
* List
|
|
62
|
+
* List saved capsule task IDs in `.swarm/capsules/`, newest-first.
|
|
61
63
|
*
|
|
62
64
|
* Returns an array of task IDs derived from filenames (stripping the
|
|
63
|
-
* `.json` extension)
|
|
64
|
-
*
|
|
65
|
+
* `.json` extension), ordered by capsule file mtime descending (code-unit
|
|
66
|
+
* filename tie-break) and capped at {@link MAX_CAPSULES_LISTED} entries.
|
|
67
|
+
* A capsule whose file cannot be `stat`-ed sorts oldest (fail-open per
|
|
68
|
+
* entry). Returns an empty array if the directory doesn't exist. Never
|
|
69
|
+
* throws.
|
|
65
70
|
*/
|
|
66
71
|
export declare function listCapsules(directory: string): string[];
|
|
@@ -39,6 +39,13 @@ export interface DelegateAckOutput {
|
|
|
39
39
|
}
|
|
40
40
|
/** Best-effort extraction of a task id from a delegation prompt envelope. */
|
|
41
41
|
export declare function resolveDelegateAckTaskId(args: Record<string, unknown>, knownPlanTaskIds?: ReadonlySet<string>, planContextOverLimit?: boolean): string | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Global FIFO cap on the unacknowledged-criticals audit stream (issue #2483
|
|
44
|
+
* §2). Enforcement resolves the effective value through `resolveRetentionCap`
|
|
45
|
+
* so the #2483 acceptance checks can shrink the cap below this default and
|
|
46
|
+
* prove the writer clamps.
|
|
47
|
+
*/
|
|
48
|
+
export declare const MAX_UNACKNOWLEDGED_CRITICALS = 500;
|
|
42
49
|
export interface CollectDelegateAcksResult {
|
|
43
50
|
emitted: Array<{
|
|
44
51
|
id: string;
|
|
@@ -29,6 +29,13 @@ export interface KnowledgeRetractionRecord {
|
|
|
29
29
|
matched_swarm_ids: string[];
|
|
30
30
|
matched_hive_ids: string[];
|
|
31
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Global FIFO cap on the retraction audit stream (issue #2483 §2). Enforcement
|
|
34
|
+
* resolves the effective value through {@link resolveRetentionCap} so the
|
|
35
|
+
* #2483 acceptance checks can shrink the cap below this default and prove the
|
|
36
|
+
* writer clamps.
|
|
37
|
+
*/
|
|
38
|
+
export declare const MAX_RETRACTION_RECORDS = 500;
|
|
32
39
|
export declare function readRetractionRecords(directory: string): Promise<KnowledgeRetractionRecord[]>;
|
|
33
40
|
export declare function appendRetractionRecord(directory: string, record: KnowledgeRetractionRecord): Promise<void>;
|
|
34
41
|
/**
|
|
@@ -224,6 +224,25 @@ export declare function persistReviewReceipt(directory: string, receipt: ReviewR
|
|
|
224
224
|
* orphan file, never a dangling index entry that points at missing evidence.
|
|
225
225
|
*/
|
|
226
226
|
export declare function removeReviewReceipt(directory: string, receiptPath: string, receiptId: string): Promise<void>;
|
|
227
|
+
export interface PruneDanglingReceiptIndexEntriesOptions {
|
|
228
|
+
/** Count dangling entries without rewriting the index (sweep dry-run). */
|
|
229
|
+
dryRun?: boolean;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Drop index entries whose receipt file no longer exists (issue #2483).
|
|
233
|
+
*
|
|
234
|
+
* The retention sweep prunes receipt FILES by age/count; without this pass
|
|
235
|
+
* the manifest keeps naming pruned evidence forever. Entries whose
|
|
236
|
+
* `filename` is not a bare basename (the poisoned-entry class the read path
|
|
237
|
+
* already refuses) count as dangling and are dropped with the rest.
|
|
238
|
+
*
|
|
239
|
+
* The rewrite is atomic (temp+rename via {@link writeReceiptIndex}) under
|
|
240
|
+
* the same `_indexLockChain` as appends, so an interleaved append is never
|
|
241
|
+
* lost. Returns the number of entries dropped (or, with `dryRun`, the
|
|
242
|
+
* number that WOULD be dropped). A missing/unparseable index, or a receipts
|
|
243
|
+
* directory that does not exist, is a 0 — this helper never creates state.
|
|
244
|
+
*/
|
|
245
|
+
export declare function pruneDanglingReceiptIndexEntries(directory: string, options?: PruneDanglingReceiptIndexEntriesOptions): Promise<number>;
|
|
227
246
|
/**
|
|
228
247
|
* Atomically attach independent finding-validation results to an existing
|
|
229
248
|
* receipt. The receipt identity and index entry remain unchanged.
|
|
@@ -238,9 +257,18 @@ export declare function readReceiptById(directory: string, receiptId: string): P
|
|
|
238
257
|
* Useful for drift verification to find prior reviews of the same scope.
|
|
239
258
|
*/
|
|
240
259
|
export declare function readReceiptsByScopeHash(directory: string, scopeHash: string): Promise<ReviewReceipt[]>;
|
|
260
|
+
/**
|
|
261
|
+
* Read cap for the receipts index reader (issue #2483 §2, R12): the index is
|
|
262
|
+
* append-ordered (newest last), so bounding the read to the LAST
|
|
263
|
+
* {@link MAX_RECEIPTS_READ} entries keeps every read O(cap) while still
|
|
264
|
+
* returning the newest receipts. The effective value resolves through
|
|
265
|
+
* `resolveRetentionCap` so the #2483 acceptance checks can shrink it.
|
|
266
|
+
*/
|
|
267
|
+
export declare const MAX_RECEIPTS_READ = 1000;
|
|
241
268
|
/**
|
|
242
269
|
* Read all receipts from the index (all verdicts, latest first).
|
|
243
|
-
* Useful for drift verification context.
|
|
270
|
+
* Useful for drift verification context. Bounded to the newest
|
|
271
|
+
* {@link MAX_RECEIPTS_READ} index entries (see the constant's docblock).
|
|
244
272
|
*/
|
|
245
273
|
export declare function readAllReceipts(directory: string): Promise<ReviewReceipt[]>;
|
|
246
274
|
/**
|