opencode-swarm 7.179.1 → 7.180.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
- package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
- package/dist/background/pr-event-subscribers.d.ts +2 -0
- package/dist/background/pr-feedback-event-queue.d.ts +7 -0
- package/dist/background/pr-feedback-loop.d.ts +162 -0
- package/dist/cli/{coder-settlement-f1nmezzv.js → coder-settlement-34z9xgnx.js} +13 -13
- package/dist/cli/{config-doctor-ena2803f.js → config-doctor-tkfrwztz.js} +2 -2
- package/dist/cli/{core-fcfzme3m.js → core-z9ybzpvr.js} +4 -5
- package/dist/cli/{curation-policy-c7mdsf7m.js → curation-policy-gwzmjmt7.js} +6 -5
- package/dist/cli/{curator-drift-d93pwt8h.js → curator-drift-3bbn011w.js} +22 -12
- package/dist/cli/curator-llm-factory-e162g7xp.js +74 -0
- package/dist/cli/{curator-q9s5q9v4.js → curator-zv4qs07j.js} +44 -42
- package/dist/cli/{evidence-summary-service-wtj8mkm6.js → evidence-summary-service-wrfth5tr.js} +22 -20
- package/dist/cli/{gate-evidence-h83yb8nd.js → gate-evidence-adqbxnm7.js} +8 -8
- package/dist/cli/guardrail-explain-dn96802k.js +75 -0
- package/dist/cli/{guardrail-log-zf1htf1d.js → guardrail-log-rcza6v3y.js} +6 -6
- package/dist/cli/{guardrail-reset-f2p198j3.js → guardrail-reset-fjn42e0n.js} +44 -42
- package/dist/cli/hive-promoter-hgqqn7qw.js +89 -0
- package/dist/cli/{index-aqpwm350.js → index-06crt1ej.js} +2 -2
- package/dist/cli/{index-wrt875kh.js → index-0725jpp7.js} +1 -1
- package/dist/cli/{index-f2v90gfc.js → index-0v1rtanv.js} +24 -165
- package/dist/cli/{index-q375xdcw.js → index-1hzqyx13.js} +9 -1
- package/dist/cli/{index-xy7k7f3k.js → index-1p8fk9jb.js} +2 -2
- package/dist/cli/{index-pfg3jwe9.js → index-2h0qng38.js} +3 -3
- package/dist/cli/{index-9fb01jk5.js → index-3jap3516.js} +1 -1
- package/dist/cli/{index-dz12bshh.js → index-5gmn0a3j.js} +8 -8
- package/dist/cli/{index-5d224akk.js → index-5m378633.js} +4 -4
- package/dist/cli/{index-0h3cr7pn.js → index-5yc5n4ae.js} +1 -1
- package/dist/cli/{index-pn023bf9.js → index-7pj0x345.js} +48 -46
- package/dist/cli/{index-w4c2repz.js → index-7w6dnpvc.js} +44 -42
- package/dist/cli/{index-zbhvr9st.js → index-8b1f2t5q.js} +8 -10
- package/dist/cli/{index-cvg402ha.js → index-91dhg3wr.js} +2 -2
- package/dist/cli/{index-3pzwsesm.js → index-92m05mew.js} +2 -2
- package/dist/cli/{index-6r92fw88.js → index-93vk5s7v.js} +8 -8
- package/dist/cli/{index-ne9zamcs.js → index-989v83pb.js} +1 -1
- package/dist/cli/{index-g6nyk713.js → index-aspxz5r5.js} +1 -1
- package/dist/cli/index-b9z9gvx0.js +339 -0
- package/dist/cli/{index-2b0ktpbf.js → index-bdpgfep1.js} +5 -5
- package/dist/cli/{index-nzekzzs2.js → index-bv4b8tpa.js} +5 -5
- package/dist/cli/{index-n1tcj1q7.js → index-bx70zs8d.js} +187 -47
- package/dist/cli/{index-n2wjrgcs.js → index-caj76d0f.js} +6 -8
- package/dist/cli/{index-549wxbe1.js → index-cjapb4hy.js} +1 -1
- package/dist/cli/{index-y94vwx2q.js → index-cxgr6ad5.js} +13 -15
- package/dist/cli/{index-ajm7ebyd.js → index-dcttq1mn.js} +2 -2
- package/dist/cli/{index-9s1xzvnn.js → index-defq2crz.js} +13 -3
- package/dist/cli/{index-ky262b73.js → index-dnbqmay5.js} +1606 -895
- package/dist/cli/index-ejhxgyvm.js +147 -0
- package/dist/cli/{index-epfjc1c1.js → index-ekgc71m1.js} +10 -10
- package/dist/cli/{index-s4bkey0q.js → index-gc6h1fmf.js} +4 -4
- package/dist/cli/index-gx2vp8gx.js +100 -0
- package/dist/cli/{index-h59vsbch.js → index-htrb9ec3.js} +1 -1
- package/dist/cli/{index-yfpswnjt.js → index-jmrsfhwq.js} +3 -3
- package/dist/cli/{index-rb9jmj30.js → index-jrfv2am8.js} +7 -7
- package/dist/cli/{index-pskba939.js → index-jscqefqm.js} +1 -1
- package/dist/cli/{index-y98fvmb8.js → index-kp654qcw.js} +32 -17
- package/dist/cli/{index-93nx95me.js → index-mhrn7hbb.js} +8 -7
- package/dist/cli/{index-h4nh6s8b.js → index-nhxykfyy.js} +1 -1
- package/dist/cli/{index-yp25bc9n.js → index-pnt98k7z.js} +7 -7
- package/dist/cli/{index-vp9pn7sv.js → index-ret97f1t.js} +5 -5
- package/dist/cli/{index-sj29n50e.js → index-v1sc1gxv.js} +6 -6
- package/dist/cli/{index-a11ztzs5.js → index-vmthakz0.js} +1 -1
- package/dist/cli/{index-b567t0cr.js → index-x6kjbjya.js} +9 -7
- package/dist/cli/{index-m1w40kfw.js → index-zptq8mp1.js} +4 -103
- package/dist/cli/{index-34bwqcea.js → index-zvxy0mev.js} +1 -1
- package/dist/cli/{index-zz7gzw57.js → index-zxdawwc7.js} +88 -4
- package/dist/cli/index.js +45 -43
- package/dist/cli/{knowledge-escalator-z6tkgrjq.js → knowledge-escalator-x8vcmb6k.js} +16 -15
- package/dist/cli/{knowledge-events-2bgefatz.js → knowledge-events-naf9kyyc.js} +14 -13
- package/dist/cli/{knowledge-link-gfz47ves.js → knowledge-link-g0q25hqv.js} +5 -4
- package/dist/cli/{knowledge-store-1fphg9sa.js → knowledge-store-dnv0ph42.js} +6 -5
- package/dist/cli/{knowledge-validator-723h2vck.js → knowledge-validator-a1rfzkmv.js} +8 -7
- package/dist/cli/{mcp-xyswgya5.js → mcp-hnb0m05a.js} +1 -1
- package/dist/cli/{pending-delegations-5zm19yvv.js → pending-delegations-05p6cmbh.js} +13 -12
- package/dist/cli/{pr-subscriptions-5hm6hzv6.js → pr-subscriptions-a2djfzyx.js} +13 -12
- package/dist/cli/{pr-workflow-gate-48rzb2bh.js → pr-workflow-gate-wkmx8nr6.js} +46 -42
- package/dist/cli/{runner-16b691ba.js → runner-hkbds12j.js} +6 -5
- package/dist/cli/{scan-cursor-m28tddrg.js → scan-cursor-4khfn5pm.js} +8 -8
- package/dist/cli/{schema-jt9axyj6.js → schema-a5zb02h8.js} +3 -1
- package/dist/cli/{scope-persistence-d0358pw7.js → scope-persistence-nsw324ce.js} +18 -17
- package/dist/cli/{server-d5jxcbxz.js → server-exj4wt8j.js} +52 -50
- package/dist/cli/{skill-generator-qanka67x.js → skill-generator-r2cdtx7b.js} +18 -17
- package/dist/cli/{snapshot-coordination-init-mhrq11p8.js → snapshot-coordination-init-sad6q0a2.js} +44 -42
- package/dist/cli/speckit-checkoff-46g9sqak.js +31 -0
- package/dist/cli/{workspace-snapshot-rfnn80dg.js → workspace-snapshot-4m2ex1ey.js} +4 -5
- package/dist/cli/{worktree-collision-ownership-ygdbpexh.js → worktree-collision-ownership-4znkfq1t.js} +16 -16
- package/dist/cli/{worktree-isolation-4855f2az.js → worktree-isolation-mv9ee00v.js} +44 -42
- package/dist/commands/pr-feedback-loop.d.ts +1 -0
- package/dist/commands/registry.d.ts +10 -2
- package/dist/config/schema.d.ts +27 -0
- package/dist/hooks/delegation-tracker.d.ts +6 -1
- package/dist/hooks/pr-workflow-gate.d.ts +1 -1
- package/dist/index.js +626 -600
- package/dist/sdd/effective-spec.d.ts +35 -22
- package/dist/sdd/speckit-checkoff.d.ts +113 -0
- package/dist/session/hydration-ownership.d.ts +83 -0
- package/dist/session/snapshot-coordination-init.d.ts +2 -1
- package/dist/session/snapshot-reader.d.ts +25 -7
- package/dist/state.d.ts +32 -2
- package/opencode-swarm.schema.json +40 -0
- package/package.json +1 -1
- package/dist/cli/curator-llm-factory-dds2fnhj.js +0 -72
- package/dist/cli/guardrail-explain-qm5wej7v.js +0 -73
- package/dist/cli/hive-promoter-1mhx2jh0.js +0 -87
- package/dist/cli/index-4ddpvd5c.js +0 -94
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import {
|
|
3
|
+
handleGuardrailExplain
|
|
4
|
+
} from "./index-1p8fk9jb.js";
|
|
5
|
+
import"./index-dnbqmay5.js";
|
|
6
|
+
import"./index-06crt1ej.js";
|
|
7
|
+
import"./index-hamqvzqn.js";
|
|
8
|
+
import"./index-jscqefqm.js";
|
|
9
|
+
import"./index-nhxykfyy.js";
|
|
10
|
+
import"./index-1hzqyx13.js";
|
|
11
|
+
import"./index-kp654qcw.js";
|
|
12
|
+
import"./index-aspxz5r5.js";
|
|
13
|
+
import"./index-txdagbh7.js";
|
|
14
|
+
import"./index-bx70zs8d.js";
|
|
15
|
+
import"./index-6b295cas.js";
|
|
16
|
+
import"./index-5gmn0a3j.js";
|
|
17
|
+
import"./index-ret97f1t.js";
|
|
18
|
+
import"./index-2h0qng38.js";
|
|
19
|
+
import"./index-rdec0y3z.js";
|
|
20
|
+
import"./index-93vk5s7v.js";
|
|
21
|
+
import"./index-cjapb4hy.js";
|
|
22
|
+
import"./index-zsrtt42s.js";
|
|
23
|
+
import"./index-cxgr6ad5.js";
|
|
24
|
+
import"./index-bdpgfep1.js";
|
|
25
|
+
import"./index-92m05mew.js";
|
|
26
|
+
import"./index-pt7h91zc.js";
|
|
27
|
+
import"./index-q7sjgr1y.js";
|
|
28
|
+
import"./index-b9z9gvx0.js";
|
|
29
|
+
import"./index-caj76d0f.js";
|
|
30
|
+
import"./index-8b1f2t5q.js";
|
|
31
|
+
import"./index-v1sc1gxv.js";
|
|
32
|
+
import"./index-ekgc71m1.js";
|
|
33
|
+
import"./index-gc6h1fmf.js";
|
|
34
|
+
import"./index-2s7dvzff.js";
|
|
35
|
+
import"./index-5m378633.js";
|
|
36
|
+
import"./index-5yc5n4ae.js";
|
|
37
|
+
import"./index-rtry5xyf.js";
|
|
38
|
+
import"./index-dcttq1mn.js";
|
|
39
|
+
import"./index-frcemc0b.js";
|
|
40
|
+
import"./index-0725jpp7.js";
|
|
41
|
+
import"./index-jrfv2am8.js";
|
|
42
|
+
import"./index-x6kjbjya.js";
|
|
43
|
+
import"./index-htrb9ec3.js";
|
|
44
|
+
import"./index-91dhg3wr.js";
|
|
45
|
+
import"./index-vmthakz0.js";
|
|
46
|
+
import"./index-bv4b8tpa.js";
|
|
47
|
+
import"./index-rdm3px0g.js";
|
|
48
|
+
import"./index-ry16d01s.js";
|
|
49
|
+
import"./index-jmrsfhwq.js";
|
|
50
|
+
import"./index-pnt98k7z.js";
|
|
51
|
+
import"./index-vzm6zre7.js";
|
|
52
|
+
import"./index-ae75rja9.js";
|
|
53
|
+
import"./index-zvxy0mev.js";
|
|
54
|
+
import"./index-0v1rtanv.js";
|
|
55
|
+
import"./index-qt0793qm.js";
|
|
56
|
+
import"./index-1xnse449.js";
|
|
57
|
+
import"./index-c1ggtmpm.js";
|
|
58
|
+
import"./index-ejhxgyvm.js";
|
|
59
|
+
import"./index-7g4c7s5r.js";
|
|
60
|
+
import"./index-989v83pb.js";
|
|
61
|
+
import"./index-gx2vp8gx.js";
|
|
62
|
+
import"./index-zptq8mp1.js";
|
|
63
|
+
import"./index-zxdawwc7.js";
|
|
64
|
+
import"./index-defq2crz.js";
|
|
65
|
+
import"./index-w872yykk.js";
|
|
66
|
+
import"./index-bk5tah7q.js";
|
|
67
|
+
import"./index-gknz3bv1.js";
|
|
68
|
+
import"./index-zpsr8rpc.js";
|
|
69
|
+
import"./index-wvghb3x6.js";
|
|
70
|
+
import"./index-9rwhas09.js";
|
|
71
|
+
import"./index-zgwm4ryv.js";
|
|
72
|
+
import"./index-a76rekgs.js";
|
|
73
|
+
export {
|
|
74
|
+
handleGuardrailExplain
|
|
75
|
+
};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
handleGuardrailLog
|
|
4
|
-
} from "./index-
|
|
5
|
-
import"./index-
|
|
4
|
+
} from "./index-3jap3516.js";
|
|
5
|
+
import"./index-06crt1ej.js";
|
|
6
6
|
import"./index-2s7dvzff.js";
|
|
7
|
-
import"./index-
|
|
8
|
-
import"./index-
|
|
7
|
+
import"./index-htrb9ec3.js";
|
|
8
|
+
import"./index-jmrsfhwq.js";
|
|
9
9
|
import"./index-qt0793qm.js";
|
|
10
|
-
import"./index-ne9zamcs.js";
|
|
11
10
|
import"./index-1xnse449.js";
|
|
12
11
|
import"./index-c1ggtmpm.js";
|
|
13
|
-
import"./index-
|
|
12
|
+
import"./index-989v83pb.js";
|
|
13
|
+
import"./index-defq2crz.js";
|
|
14
14
|
import"./index-w872yykk.js";
|
|
15
15
|
import"./index-bk5tah7q.js";
|
|
16
16
|
import"./index-gknz3bv1.js";
|
|
@@ -3,64 +3,66 @@ import {
|
|
|
3
3
|
getAgentSession,
|
|
4
4
|
getBlockingActionCircuit,
|
|
5
5
|
resetActionCircuitExternally
|
|
6
|
-
} from "./index-
|
|
6
|
+
} from "./index-dnbqmay5.js";
|
|
7
|
+
import"./index-06crt1ej.js";
|
|
7
8
|
import"./index-hamqvzqn.js";
|
|
8
|
-
import"./index-
|
|
9
|
-
import"./index-
|
|
10
|
-
import"./index-
|
|
11
|
-
import"./index-
|
|
12
|
-
import"./index-
|
|
13
|
-
import"./index-g6nyk713.js";
|
|
9
|
+
import"./index-jscqefqm.js";
|
|
10
|
+
import"./index-nhxykfyy.js";
|
|
11
|
+
import"./index-1hzqyx13.js";
|
|
12
|
+
import"./index-kp654qcw.js";
|
|
13
|
+
import"./index-aspxz5r5.js";
|
|
14
14
|
import"./index-txdagbh7.js";
|
|
15
|
-
import"./index-
|
|
15
|
+
import"./index-bx70zs8d.js";
|
|
16
16
|
import"./index-6b295cas.js";
|
|
17
|
-
import"./index-
|
|
18
|
-
import"./index-
|
|
19
|
-
import"./index-
|
|
17
|
+
import"./index-5gmn0a3j.js";
|
|
18
|
+
import"./index-ret97f1t.js";
|
|
19
|
+
import"./index-2h0qng38.js";
|
|
20
20
|
import"./index-rdec0y3z.js";
|
|
21
|
-
import"./index-
|
|
22
|
-
import"./index-
|
|
21
|
+
import"./index-93vk5s7v.js";
|
|
22
|
+
import"./index-cjapb4hy.js";
|
|
23
23
|
import"./index-zsrtt42s.js";
|
|
24
|
-
import"./index-
|
|
25
|
-
import"./index-
|
|
26
|
-
import"./index-
|
|
24
|
+
import"./index-cxgr6ad5.js";
|
|
25
|
+
import"./index-bdpgfep1.js";
|
|
26
|
+
import"./index-92m05mew.js";
|
|
27
27
|
import"./index-pt7h91zc.js";
|
|
28
28
|
import"./index-q7sjgr1y.js";
|
|
29
|
-
import"./index-
|
|
30
|
-
import"./index-
|
|
31
|
-
import"./index-
|
|
32
|
-
import"./index-
|
|
33
|
-
import"./index-
|
|
29
|
+
import"./index-b9z9gvx0.js";
|
|
30
|
+
import"./index-caj76d0f.js";
|
|
31
|
+
import"./index-8b1f2t5q.js";
|
|
32
|
+
import"./index-v1sc1gxv.js";
|
|
33
|
+
import"./index-ekgc71m1.js";
|
|
34
|
+
import"./index-gc6h1fmf.js";
|
|
34
35
|
import"./index-2s7dvzff.js";
|
|
35
|
-
import"./index-
|
|
36
|
-
import"./index-
|
|
36
|
+
import"./index-5m378633.js";
|
|
37
|
+
import"./index-5yc5n4ae.js";
|
|
37
38
|
import"./index-rtry5xyf.js";
|
|
38
|
-
import"./index-
|
|
39
|
+
import"./index-dcttq1mn.js";
|
|
39
40
|
import"./index-frcemc0b.js";
|
|
40
|
-
import"./index-
|
|
41
|
-
import"./index-
|
|
42
|
-
import"./index-
|
|
43
|
-
import"./index-
|
|
44
|
-
import"./index-
|
|
45
|
-
import"./index-
|
|
46
|
-
import"./index-
|
|
47
|
-
import"./index-ry16d01s.js";
|
|
41
|
+
import"./index-0725jpp7.js";
|
|
42
|
+
import"./index-jrfv2am8.js";
|
|
43
|
+
import"./index-x6kjbjya.js";
|
|
44
|
+
import"./index-htrb9ec3.js";
|
|
45
|
+
import"./index-91dhg3wr.js";
|
|
46
|
+
import"./index-vmthakz0.js";
|
|
47
|
+
import"./index-bv4b8tpa.js";
|
|
48
48
|
import"./index-rdm3px0g.js";
|
|
49
|
-
import"./index-
|
|
50
|
-
import"./index-
|
|
49
|
+
import"./index-ry16d01s.js";
|
|
50
|
+
import"./index-jmrsfhwq.js";
|
|
51
|
+
import"./index-pnt98k7z.js";
|
|
51
52
|
import"./index-vzm6zre7.js";
|
|
52
53
|
import"./index-ae75rja9.js";
|
|
53
|
-
import"./index-
|
|
54
|
-
import"./index-
|
|
55
|
-
import"./index-7g4c7s5r.js";
|
|
54
|
+
import"./index-zvxy0mev.js";
|
|
55
|
+
import"./index-0v1rtanv.js";
|
|
56
56
|
import"./index-qt0793qm.js";
|
|
57
|
-
import"./index-ne9zamcs.js";
|
|
58
57
|
import"./index-1xnse449.js";
|
|
59
58
|
import"./index-c1ggtmpm.js";
|
|
60
|
-
import"./index-
|
|
61
|
-
import"./index-
|
|
62
|
-
import"./index-
|
|
63
|
-
import"./index-
|
|
59
|
+
import"./index-ejhxgyvm.js";
|
|
60
|
+
import"./index-7g4c7s5r.js";
|
|
61
|
+
import"./index-989v83pb.js";
|
|
62
|
+
import"./index-gx2vp8gx.js";
|
|
63
|
+
import"./index-zptq8mp1.js";
|
|
64
|
+
import"./index-zxdawwc7.js";
|
|
65
|
+
import"./index-defq2crz.js";
|
|
64
66
|
import"./index-w872yykk.js";
|
|
65
67
|
import"./index-bk5tah7q.js";
|
|
66
68
|
import"./index-gknz3bv1.js";
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import {
|
|
3
|
+
_internals3 as _internals,
|
|
4
|
+
checkHivePromotions,
|
|
5
|
+
countDistinctProjects,
|
|
6
|
+
createHivePromoterHook,
|
|
7
|
+
isHiveEligible,
|
|
8
|
+
promoteFromSwarm,
|
|
9
|
+
promoteToHive
|
|
10
|
+
} from "./index-dnbqmay5.js";
|
|
11
|
+
import"./index-06crt1ej.js";
|
|
12
|
+
import"./index-hamqvzqn.js";
|
|
13
|
+
import"./index-jscqefqm.js";
|
|
14
|
+
import"./index-nhxykfyy.js";
|
|
15
|
+
import"./index-1hzqyx13.js";
|
|
16
|
+
import"./index-kp654qcw.js";
|
|
17
|
+
import"./index-aspxz5r5.js";
|
|
18
|
+
import"./index-txdagbh7.js";
|
|
19
|
+
import"./index-bx70zs8d.js";
|
|
20
|
+
import"./index-6b295cas.js";
|
|
21
|
+
import"./index-5gmn0a3j.js";
|
|
22
|
+
import"./index-ret97f1t.js";
|
|
23
|
+
import"./index-2h0qng38.js";
|
|
24
|
+
import"./index-rdec0y3z.js";
|
|
25
|
+
import"./index-93vk5s7v.js";
|
|
26
|
+
import"./index-cjapb4hy.js";
|
|
27
|
+
import"./index-zsrtt42s.js";
|
|
28
|
+
import"./index-cxgr6ad5.js";
|
|
29
|
+
import"./index-bdpgfep1.js";
|
|
30
|
+
import"./index-92m05mew.js";
|
|
31
|
+
import"./index-pt7h91zc.js";
|
|
32
|
+
import"./index-q7sjgr1y.js";
|
|
33
|
+
import"./index-b9z9gvx0.js";
|
|
34
|
+
import"./index-caj76d0f.js";
|
|
35
|
+
import"./index-8b1f2t5q.js";
|
|
36
|
+
import"./index-v1sc1gxv.js";
|
|
37
|
+
import"./index-ekgc71m1.js";
|
|
38
|
+
import"./index-gc6h1fmf.js";
|
|
39
|
+
import"./index-2s7dvzff.js";
|
|
40
|
+
import"./index-5m378633.js";
|
|
41
|
+
import"./index-5yc5n4ae.js";
|
|
42
|
+
import"./index-rtry5xyf.js";
|
|
43
|
+
import"./index-dcttq1mn.js";
|
|
44
|
+
import"./index-frcemc0b.js";
|
|
45
|
+
import"./index-0725jpp7.js";
|
|
46
|
+
import"./index-jrfv2am8.js";
|
|
47
|
+
import"./index-x6kjbjya.js";
|
|
48
|
+
import"./index-htrb9ec3.js";
|
|
49
|
+
import"./index-91dhg3wr.js";
|
|
50
|
+
import"./index-vmthakz0.js";
|
|
51
|
+
import"./index-bv4b8tpa.js";
|
|
52
|
+
import"./index-rdm3px0g.js";
|
|
53
|
+
import"./index-ry16d01s.js";
|
|
54
|
+
import"./index-jmrsfhwq.js";
|
|
55
|
+
import {
|
|
56
|
+
resolveHiveKnowledgePath
|
|
57
|
+
} from "./index-pnt98k7z.js";
|
|
58
|
+
import"./index-vzm6zre7.js";
|
|
59
|
+
import"./index-ae75rja9.js";
|
|
60
|
+
import"./index-zvxy0mev.js";
|
|
61
|
+
import"./index-0v1rtanv.js";
|
|
62
|
+
import"./index-qt0793qm.js";
|
|
63
|
+
import"./index-1xnse449.js";
|
|
64
|
+
import"./index-c1ggtmpm.js";
|
|
65
|
+
import"./index-ejhxgyvm.js";
|
|
66
|
+
import"./index-7g4c7s5r.js";
|
|
67
|
+
import"./index-989v83pb.js";
|
|
68
|
+
import"./index-gx2vp8gx.js";
|
|
69
|
+
import"./index-zptq8mp1.js";
|
|
70
|
+
import"./index-zxdawwc7.js";
|
|
71
|
+
import"./index-defq2crz.js";
|
|
72
|
+
import"./index-w872yykk.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
|
+
resolveHiveKnowledgePath,
|
|
82
|
+
promoteToHive,
|
|
83
|
+
promoteFromSwarm,
|
|
84
|
+
isHiveEligible,
|
|
85
|
+
createHivePromoterHook,
|
|
86
|
+
countDistinctProjects,
|
|
87
|
+
checkHivePromotions,
|
|
88
|
+
_internals
|
|
89
|
+
};
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
observeStoreHealth
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-jmrsfhwq.js";
|
|
5
5
|
import {
|
|
6
6
|
telemetry
|
|
7
7
|
} from "./index-qt0793qm.js";
|
|
8
8
|
import {
|
|
9
9
|
init_schema,
|
|
10
10
|
stripKnownSwarmPrefix
|
|
11
|
-
} from "./index-
|
|
11
|
+
} from "./index-defq2crz.js";
|
|
12
12
|
import {
|
|
13
13
|
init_constants
|
|
14
14
|
} from "./index-w872yykk.js";
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
init_zod();
|
|
9
9
|
var ObligationSchema = exports_external.enum(["MUST", "SHALL", "SHOULD", "MAY"]);
|
|
10
10
|
var SpecRequirementSchema = exports_external.object({
|
|
11
|
-
id: exports_external.string().regex(/^FR-(?!000)\d{3}$/, "Requirement ID must match FR-###
|
|
11
|
+
id: exports_external.string().regex(/^(?:[A-Za-z0-9][A-Za-z0-9._-]*\/)?FR-(?!000)\d{3}$/, "Requirement ID must match FR-### (e.g., FR-001) or a feature-scoped <featureId>/FR-### form (e.g., 001-login/FR-001)"),
|
|
12
12
|
obligation: ObligationSchema,
|
|
13
13
|
text: exports_external.string().min(1)
|
|
14
14
|
});
|
|
@@ -1,164 +1,23 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import {
|
|
3
|
-
require_proper_lockfile
|
|
4
|
-
} from "./index-7g4c7s5r.js";
|
|
5
2
|
import {
|
|
6
3
|
emit
|
|
7
4
|
} from "./index-qt0793qm.js";
|
|
5
|
+
import {
|
|
6
|
+
tryAcquireLock
|
|
7
|
+
} from "./index-ejhxgyvm.js";
|
|
8
8
|
import {
|
|
9
9
|
atomicWriteFileAnyRoot
|
|
10
|
-
} from "./index-
|
|
10
|
+
} from "./index-989v83pb.js";
|
|
11
11
|
import {
|
|
12
12
|
init_logger,
|
|
13
13
|
warn
|
|
14
14
|
} from "./index-zgwm4ryv.js";
|
|
15
|
-
import {
|
|
16
|
-
__toESM
|
|
17
|
-
} from "./index-a76rekgs.js";
|
|
18
|
-
|
|
19
|
-
// src/parallel/file-locks.ts
|
|
20
|
-
var import_proper_lockfile = __toESM(require_proper_lockfile(), 1);
|
|
21
|
-
import * as crypto from "crypto";
|
|
22
|
-
import * as fs from "fs";
|
|
23
|
-
import * as path from "path";
|
|
24
|
-
var LOCKS_DIR = ".swarm/locks";
|
|
25
|
-
var LOCK_TIMEOUT_MS = 5 * 60 * 1000;
|
|
26
|
-
var _internals = {
|
|
27
|
-
tryAcquireLock,
|
|
28
|
-
writeFile: fs.promises.writeFile
|
|
29
|
-
};
|
|
30
|
-
function getLockFilePath(directory, filePath) {
|
|
31
|
-
const normalized = path.resolve(directory, filePath);
|
|
32
|
-
const baseDir = path.resolve(directory) + path.sep;
|
|
33
|
-
const pathOk = process.platform === "win32" ? normalized.toLowerCase().startsWith(baseDir.toLowerCase()) : normalized.startsWith(baseDir);
|
|
34
|
-
if (!pathOk) {
|
|
35
|
-
throw new Error("Invalid file path: path traversal not allowed");
|
|
36
|
-
}
|
|
37
|
-
const pathForHash = process.platform === "win32" ? normalized.toLowerCase() : normalized;
|
|
38
|
-
const hash = crypto.createHash("sha256").update(pathForHash).digest("hex");
|
|
39
|
-
const lockPath = path.join(directory, LOCKS_DIR, `${hash}.lock`);
|
|
40
|
-
const legacyPaths = [pathForHash];
|
|
41
|
-
if (process.platform === "win32" && normalized !== pathForHash) {
|
|
42
|
-
legacyPaths.push(normalized);
|
|
43
|
-
}
|
|
44
|
-
for (const legacyPath of legacyPaths) {
|
|
45
|
-
const oldHash = Buffer.from(legacyPath).toString("base64").replace(/[/+=]/g, "_");
|
|
46
|
-
const oldLockPath = path.join(directory, LOCKS_DIR, `${oldHash}.lock`);
|
|
47
|
-
if (fs.existsSync(oldLockPath)) {
|
|
48
|
-
return oldLockPath;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return lockPath;
|
|
52
|
-
}
|
|
53
|
-
function getMetaPath(lockPath) {
|
|
54
|
-
return `${lockPath.replace(/\.lock$/, "")}.meta`;
|
|
55
|
-
}
|
|
56
|
-
function readMetaFile(metaPath) {
|
|
57
|
-
try {
|
|
58
|
-
const content = fs.readFileSync(metaPath, "utf-8");
|
|
59
|
-
return JSON.parse(content);
|
|
60
|
-
} catch {
|
|
61
|
-
return null;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
async function tryAcquireLock(directory, filePath, agent, taskId) {
|
|
65
|
-
const lockPath = getLockFilePath(directory, filePath);
|
|
66
|
-
const locksDir = path.dirname(lockPath);
|
|
67
|
-
if (!fs.existsSync(locksDir)) {
|
|
68
|
-
fs.mkdirSync(locksDir, { recursive: true });
|
|
69
|
-
}
|
|
70
|
-
if (!fs.existsSync(lockPath)) {
|
|
71
|
-
fs.writeFileSync(lockPath, "", "utf-8");
|
|
72
|
-
}
|
|
73
|
-
let release;
|
|
74
|
-
try {
|
|
75
|
-
release = await import_proper_lockfile.default.lock(lockPath, {
|
|
76
|
-
stale: LOCK_TIMEOUT_MS,
|
|
77
|
-
retries: {
|
|
78
|
-
retries: 5,
|
|
79
|
-
minTimeout: 10,
|
|
80
|
-
maxTimeout: 500,
|
|
81
|
-
factor: 2
|
|
82
|
-
},
|
|
83
|
-
realpath: false
|
|
84
|
-
});
|
|
85
|
-
} catch (err) {
|
|
86
|
-
const code = err.code;
|
|
87
|
-
if (code === "ELOCKED" || code === "EEXIST") {
|
|
88
|
-
return { acquired: false };
|
|
89
|
-
}
|
|
90
|
-
throw err;
|
|
91
|
-
}
|
|
92
|
-
const lock = {
|
|
93
|
-
filePath,
|
|
94
|
-
agent,
|
|
95
|
-
taskId,
|
|
96
|
-
timestamp: new Date().toISOString(),
|
|
97
|
-
expiresAt: Date.now() + LOCK_TIMEOUT_MS,
|
|
98
|
-
_release: release
|
|
99
|
-
};
|
|
100
|
-
return { acquired: true, lock };
|
|
101
|
-
}
|
|
102
|
-
function listActiveLocks(directory) {
|
|
103
|
-
const locksDir = path.join(directory, LOCKS_DIR);
|
|
104
|
-
const locks = [];
|
|
105
|
-
if (!fs.existsSync(locksDir)) {
|
|
106
|
-
return locks;
|
|
107
|
-
}
|
|
108
|
-
const files = fs.readdirSync(locksDir);
|
|
109
|
-
const now = Date.now();
|
|
110
|
-
for (const file of files) {
|
|
111
|
-
if (!file.endsWith(".lock"))
|
|
112
|
-
continue;
|
|
113
|
-
const lockPath = path.join(locksDir, file);
|
|
114
|
-
try {
|
|
115
|
-
const stat = fs.statSync(lockPath);
|
|
116
|
-
if (stat.isFile()) {
|
|
117
|
-
const plLockDir = `${lockPath}.lock`;
|
|
118
|
-
if (fs.existsSync(plLockDir)) {
|
|
119
|
-
const metaPath = getMetaPath(lockPath);
|
|
120
|
-
const meta = readMetaFile(metaPath);
|
|
121
|
-
if (meta) {
|
|
122
|
-
if (meta.expiresAt < now) {
|
|
123
|
-
continue;
|
|
124
|
-
}
|
|
125
|
-
locks.push({
|
|
126
|
-
filePath: meta.originalPath,
|
|
127
|
-
agent: meta.agent,
|
|
128
|
-
taskId: meta.taskId,
|
|
129
|
-
timestamp: meta.acquiredAt,
|
|
130
|
-
expiresAt: meta.expiresAt,
|
|
131
|
-
laneId: meta.laneId
|
|
132
|
-
});
|
|
133
|
-
} else {
|
|
134
|
-
let acquiredAt = Date.now();
|
|
135
|
-
try {
|
|
136
|
-
acquiredAt = fs.statSync(plLockDir).mtimeMs;
|
|
137
|
-
} catch {}
|
|
138
|
-
const expiresAt = acquiredAt + LOCK_TIMEOUT_MS;
|
|
139
|
-
if (expiresAt < now) {
|
|
140
|
-
continue;
|
|
141
|
-
}
|
|
142
|
-
locks.push({
|
|
143
|
-
filePath: lockPath,
|
|
144
|
-
agent: "unknown",
|
|
145
|
-
taskId: "unknown",
|
|
146
|
-
timestamp: new Date(acquiredAt).toISOString(),
|
|
147
|
-
expiresAt
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
} catch {}
|
|
153
|
-
}
|
|
154
|
-
return locks;
|
|
155
|
-
}
|
|
156
15
|
|
|
157
16
|
// src/utils/project-boundary.ts
|
|
158
17
|
init_logger();
|
|
159
|
-
import * as
|
|
18
|
+
import * as fs from "fs";
|
|
160
19
|
import * as os from "os";
|
|
161
|
-
import * as
|
|
20
|
+
import * as path from "path";
|
|
162
21
|
var MAX_PROJECT_ROOT_DEPTH = 20;
|
|
163
22
|
var PROJECT_ROOT_INDICATORS = [
|
|
164
23
|
"package.json",
|
|
@@ -181,14 +40,14 @@ var PROJECT_BOUNDARY_MARKERS = [
|
|
|
181
40
|
{ name: ".opencode", accepts: (stat) => stat.isDirectory() }
|
|
182
41
|
];
|
|
183
42
|
function isAbsoluteDirectoryInput(value) {
|
|
184
|
-
return typeof value === "string" && value.trim().length > 0 &&
|
|
43
|
+
return typeof value === "string" && value.trim().length > 0 && path.isAbsolute(value);
|
|
185
44
|
}
|
|
186
45
|
function hasExplicitProjectBoundary(directory) {
|
|
187
46
|
if (!isAbsoluteDirectoryInput(directory))
|
|
188
47
|
return false;
|
|
189
48
|
for (const marker of PROJECT_BOUNDARY_MARKERS) {
|
|
190
49
|
try {
|
|
191
|
-
const stat =
|
|
50
|
+
const stat = _internals.lstatSync(path.join(directory, marker.name));
|
|
192
51
|
if (!stat.isSymbolicLink() && marker.accepts(stat))
|
|
193
52
|
return true;
|
|
194
53
|
} catch {}
|
|
@@ -199,8 +58,8 @@ function isStrictPathDescendant(candidate, root) {
|
|
|
199
58
|
if (!isAbsoluteDirectoryInput(candidate) || !isAbsoluteDirectoryInput(root)) {
|
|
200
59
|
return false;
|
|
201
60
|
}
|
|
202
|
-
const relative2 =
|
|
203
|
-
return relative2 !== "" && relative2 !== ".." && !relative2.startsWith(`..${
|
|
61
|
+
const relative2 = path.relative(root, candidate);
|
|
62
|
+
return relative2 !== "" && relative2 !== ".." && !relative2.startsWith(`..${path.sep}`) && !path.isAbsolute(relative2);
|
|
204
63
|
}
|
|
205
64
|
function isMissingPathError(error) {
|
|
206
65
|
const code = error?.code;
|
|
@@ -211,8 +70,8 @@ function isWeakConfigContainerRoot(directory, dependencies) {
|
|
|
211
70
|
const resolved = dependencies.realpathSync(directory);
|
|
212
71
|
return resolved === dependencies.realpathSync(os.tmpdir()) || resolved === dependencies.realpathSync(os.homedir());
|
|
213
72
|
} catch {
|
|
214
|
-
const resolved =
|
|
215
|
-
return resolved ===
|
|
73
|
+
const resolved = path.resolve(directory);
|
|
74
|
+
return resolved === path.resolve(os.tmpdir()) || resolved === path.resolve(os.homedir());
|
|
216
75
|
}
|
|
217
76
|
}
|
|
218
77
|
function projectIndicatorState(directory, dependencies, options = {}) {
|
|
@@ -221,7 +80,7 @@ function projectIndicatorState(directory, dependencies, options = {}) {
|
|
|
221
80
|
if (!allowConfigOnly && indicator === ".opencode")
|
|
222
81
|
continue;
|
|
223
82
|
try {
|
|
224
|
-
const indicatorStat = dependencies.statSync(
|
|
83
|
+
const indicatorStat = dependencies.statSync(path.join(directory, indicator));
|
|
225
84
|
if (indicatorStat.isFile() || indicatorStat.isDirectory())
|
|
226
85
|
return "present";
|
|
227
86
|
} catch (error) {
|
|
@@ -231,7 +90,7 @@ function projectIndicatorState(directory, dependencies, options = {}) {
|
|
|
231
90
|
}
|
|
232
91
|
return "absent";
|
|
233
92
|
}
|
|
234
|
-
function assertProjectRoot(directory, dependencies =
|
|
93
|
+
function assertProjectRoot(directory, dependencies = fs, artifactLabel = "runtime state") {
|
|
235
94
|
let resolved;
|
|
236
95
|
try {
|
|
237
96
|
resolved = dependencies.realpathSync(directory);
|
|
@@ -249,14 +108,14 @@ function assertProjectRoot(directory, dependencies = fs2, artifactLabel = "runti
|
|
|
249
108
|
throw new Error(`Cannot verify project root for "${resolved}" \u2014 ancestor search exceeded ${MAX_PROJECT_ROOT_DEPTH} levels`);
|
|
250
109
|
}
|
|
251
110
|
depth++;
|
|
252
|
-
const parent =
|
|
111
|
+
const parent = path.dirname(current);
|
|
253
112
|
if (parent === current)
|
|
254
113
|
break;
|
|
255
|
-
if (
|
|
114
|
+
if (path.dirname(parent) === parent) {
|
|
256
115
|
current = parent;
|
|
257
116
|
continue;
|
|
258
117
|
}
|
|
259
|
-
const parentSwarm =
|
|
118
|
+
const parentSwarm = path.join(parent, ".swarm");
|
|
260
119
|
let parentSwarmStat;
|
|
261
120
|
try {
|
|
262
121
|
parentSwarmStat = dependencies.statSync(parentSwarm);
|
|
@@ -284,8 +143,8 @@ function assertProjectRoot(directory, dependencies = fs2, artifactLabel = "runti
|
|
|
284
143
|
current = parent;
|
|
285
144
|
}
|
|
286
145
|
}
|
|
287
|
-
var
|
|
288
|
-
lstatSync:
|
|
146
|
+
var _internals = {
|
|
147
|
+
lstatSync: fs.lstatSync
|
|
289
148
|
};
|
|
290
149
|
|
|
291
150
|
// src/evidence/lock.ts
|
|
@@ -357,19 +216,19 @@ async function withEvidenceLock(directory, evidencePath, agent, taskId, fn, time
|
|
|
357
216
|
});
|
|
358
217
|
const delay = Math.min(backoffMs(attempt), deadline - Date.now());
|
|
359
218
|
if (delay > 0) {
|
|
360
|
-
await new Promise((
|
|
219
|
+
await new Promise((resolve2) => setTimeout(resolve2, delay));
|
|
361
220
|
}
|
|
362
221
|
attempt++;
|
|
363
222
|
}
|
|
364
223
|
}
|
|
365
224
|
|
|
366
225
|
// src/evidence/task-file.ts
|
|
367
|
-
import * as
|
|
226
|
+
import * as path2 from "path";
|
|
368
227
|
function taskEvidenceRelPath(taskId) {
|
|
369
|
-
return
|
|
228
|
+
return path2.join("evidence", `${taskId}.json`);
|
|
370
229
|
}
|
|
371
230
|
function taskEvidencePath(directory, taskId) {
|
|
372
|
-
return
|
|
231
|
+
return path2.join(directory, ".swarm", taskEvidenceRelPath(taskId));
|
|
373
232
|
}
|
|
374
233
|
async function atomicWriteFile(targetPath, content) {
|
|
375
234
|
await atomicWriteFileAnyRoot(targetPath, content);
|
|
@@ -378,4 +237,4 @@ function withTaskEvidenceLock(directory, taskId, agent, fn) {
|
|
|
378
237
|
return withEvidenceLock(directory, taskEvidenceRelPath(taskId), agent, taskId, fn);
|
|
379
238
|
}
|
|
380
239
|
|
|
381
|
-
export {
|
|
240
|
+
export { hasExplicitProjectBoundary, isStrictPathDescendant, assertProjectRoot, EvidenceLockTimeoutError, withEvidenceLock, taskEvidencePath, atomicWriteFile, withTaskEvidenceLock };
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
PluginConfigSchema,
|
|
13
13
|
init_schema,
|
|
14
14
|
stripKnownSwarmPrefix
|
|
15
|
-
} from "./index-
|
|
15
|
+
} from "./index-defq2crz.js";
|
|
16
16
|
import {
|
|
17
17
|
ALL_AGENT_NAMES,
|
|
18
18
|
TOOL_NAME_SET,
|
|
@@ -1291,10 +1291,18 @@ function validateConfigKey(path2, value) {
|
|
|
1291
1291
|
emitObjectTypeMismatch("pr_monitor", value, findings);
|
|
1292
1292
|
break;
|
|
1293
1293
|
}
|
|
1294
|
+
case "pr_feedback_loop": {
|
|
1295
|
+
emitObjectTypeMismatch("pr_feedback_loop", value, findings);
|
|
1296
|
+
break;
|
|
1297
|
+
}
|
|
1294
1298
|
case "pr_review_resilience": {
|
|
1295
1299
|
emitObjectTypeMismatch("pr_review_resilience", value, findings);
|
|
1296
1300
|
break;
|
|
1297
1301
|
}
|
|
1302
|
+
case "speckit_checkoff": {
|
|
1303
|
+
emitObjectTypeMismatch("speckit_checkoff", value, findings);
|
|
1304
|
+
break;
|
|
1305
|
+
}
|
|
1298
1306
|
case "review_routing": {
|
|
1299
1307
|
emitObjectTypeMismatch("review_routing", value, findings);
|
|
1300
1308
|
if (isPlainObject(value)) {
|
|
@@ -14,14 +14,14 @@ import {
|
|
|
14
14
|
detectWindowsWrites,
|
|
15
15
|
getSharedClassifierGuardrailBlock,
|
|
16
16
|
resolveWriteTargets
|
|
17
|
-
} from "./index-
|
|
17
|
+
} from "./index-dnbqmay5.js";
|
|
18
18
|
import {
|
|
19
19
|
checkFileAuthority,
|
|
20
20
|
classifyFile,
|
|
21
21
|
isInDeclaredScope,
|
|
22
22
|
redactPath,
|
|
23
23
|
redactShellCommand
|
|
24
|
-
} from "./index-
|
|
24
|
+
} from "./index-06crt1ej.js";
|
|
25
25
|
|
|
26
26
|
// src/services/guardrail-explain-service.ts
|
|
27
27
|
import path from "path";
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
import {
|
|
3
3
|
readKnowledge,
|
|
4
4
|
transactKnowledge
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-pnt98k7z.js";
|
|
6
6
|
import {
|
|
7
7
|
resolveKnowledgeStoreDir
|
|
8
|
-
} from "./index-
|
|
8
|
+
} from "./index-zvxy0mev.js";
|
|
9
9
|
import {
|
|
10
10
|
init_git_executable,
|
|
11
11
|
resolveGitExecutableAsync
|
|
12
|
-
} from "./index-
|
|
12
|
+
} from "./index-zxdawwc7.js";
|
|
13
13
|
import {
|
|
14
14
|
init_knowledge_types,
|
|
15
15
|
isActiveStatus
|