opencode-swarm 7.200.4 → 7.200.5
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/cli/{attest-task-dch4wwmn.js → attest-task-0k72fh70.js} +26 -26
- package/dist/cli/{auto-checkpoint-7ef4x67m.js → auto-checkpoint-8g004dar.js} +4 -4
- package/dist/cli/{checkpoint-3a7rgjs9.js → checkpoint-18wx2473.js} +9 -9
- package/dist/cli/{coder-settlement-5mgxjwz9.js → coder-settlement-r2q6pkxc.js} +4 -4
- package/dist/cli/{config-doctor-pes681a5.js → config-doctor-h071vxsj.js} +7 -7
- package/dist/cli/{core-fxxnawnv.js → core-6767154r.js} +1 -1
- package/dist/cli/{curator-drift-jtqr5rwe.js → curator-drift-gd7tckag.js} +5 -5
- package/dist/cli/{curator-llm-factory-fp9gzt41.js → curator-llm-factory-mf701qb7.js} +26 -26
- package/dist/cli/{curator-tncdqrcf.js → curator-pf0edk2z.js} +26 -26
- package/dist/cli/{doctor-knowledge-receipt-phase-id-6wan4z5n.js → doctor-knowledge-receipt-phase-id-zz0tz3pt.js} +5 -4
- package/dist/cli/{evidence-summary-service-cnvgae1a.js → evidence-summary-service-awjxt2am.js} +10 -10
- package/dist/cli/{gate-evidence-hmdnb430.js → gate-evidence-tvkhkqwy.js} +2 -2
- package/dist/cli/{guardrail-explain-7g0y6ahb.js → guardrail-explain-m70anx1g.js} +27 -27
- package/dist/cli/{guardrail-log-wpm6srkg.js → guardrail-log-3sf6n33b.js} +4 -4
- package/dist/cli/{guardrail-reset-henzpvh4.js → guardrail-reset-t94jbv1q.js} +26 -26
- package/dist/cli/{hive-promoter-zr4xnyxn.js → hive-promoter-60h9tqgs.js} +26 -26
- package/dist/cli/{index-3vwfpqaj.js → index-10myvh2k.js} +1 -1
- package/dist/cli/{index-2xdsmkev.js → index-1akazdbj.js} +1 -1
- package/dist/cli/{index-zbxahqb0.js → index-1asbb0r4.js} +1 -1
- package/dist/cli/{index-ss8wnczy.js → index-1by2qd8n.js} +4 -4
- package/dist/cli/{index-6rxm153v.js → index-3x8mz39c.js} +1 -1
- package/dist/cli/{index-ddf3f3k8.js → index-4mjfdpte.js} +6 -6
- package/dist/cli/{index-70ctksz3.js → index-5qajesjq.js} +3 -3
- package/dist/cli/{index-1qc3fhnv.js → index-687c2ze1.js} +3 -3
- package/dist/cli/{index-5fm37ceh.js → index-74n7sz4s.js} +1 -1
- package/dist/cli/{index-2s3wgvj8.js → index-826kptfe.js} +3 -3
- package/dist/cli/{index-66c8xae5.js → index-8c51asrp.js} +2019 -1887
- package/dist/cli/{index-q8456mrf.js → index-b4amh1n3.js} +3 -3
- package/dist/cli/{index-43djb5h6.js → index-cy2gbs5b.js} +1 -1
- package/dist/cli/{index-fz5qbpbw.js → index-dsqavehz.js} +1 -1
- package/dist/cli/{index-yp5p6kpf.js → index-ee59rzwk.js} +2 -2
- package/dist/cli/{index-5dkwdfh9.js → index-g1b5xxzc.js} +5 -3
- package/dist/cli/{index-52arsav6.js → index-h8419k5d.js} +4 -4
- package/dist/cli/{index-snft68y9.js → index-hfnj4s6r.js} +26 -26
- package/dist/cli/{index-vqzsp93p.js → index-k01n01sc.js} +3 -3
- package/dist/cli/{index-8jbvmffw.js → index-phz90w3t.js} +1 -1
- package/dist/cli/{index-gs4gnndf.js → index-pvj101jx.js} +3 -3
- package/dist/cli/{index-hmndq4hk.js → index-ryrg48c7.js} +5 -5
- package/dist/cli/{index-08h39kf4.js → index-se501ytb.js} +1 -1
- package/dist/cli/{index-81b69x1b.js → index-twwdx79t.js} +1 -1
- package/dist/cli/{index-5y245xwk.js → index-vxbj42j0.js} +2 -2
- package/dist/cli/{index-fs6t820n.js → index-vz1fh1v3.js} +3 -3
- package/dist/cli/{index-zystaewy.js → index-wyfag7r7.js} +38 -4
- package/dist/cli/{index-0swbpe4d.js → index-xdk3cxs9.js} +28 -28
- package/dist/cli/{index-xd5jn7nr.js → index-xh861gf3.js} +2 -2
- package/dist/cli/{index-qgzg1vac.js → index-yamz6830.js} +1 -1
- package/dist/cli/index.js +27 -27
- package/dist/cli/{knowledge-escalator-a9mkynzv.js → knowledge-escalator-3096yt7j.js} +8 -7
- package/dist/cli/{knowledge-events-r720tzeq.js → knowledge-events-st3j22za.js} +6 -5
- package/dist/cli/{knowledge-store-4gktt30d.js → knowledge-store-9q8jvd0p.js} +1 -1
- package/dist/cli/{knowledge-validator-fv4qgn0x.js → knowledge-validator-fak1fvdm.js} +2 -2
- package/dist/cli/{mcp-tx4qjmr1.js → mcp-shvt5c9b.js} +1 -1
- package/dist/cli/{model-preflight-4pexdgrc.js → model-preflight-cxhdzc9c.js} +26 -26
- package/dist/cli/{pending-delegations-9sbf3na8.js → pending-delegations-tjj8nhmm.js} +2 -2
- package/dist/cli/{pr-subscriptions-db26rzak.js → pr-subscriptions-xtnbfg8m.js} +1 -1
- package/dist/cli/{pr-workflow-gate-t8kewb9h.js → pr-workflow-gate-24ytg64p.js} +26 -26
- package/dist/cli/{scan-cursor-53s9zt38.js → scan-cursor-drax4dt3.js} +2 -2
- package/dist/cli/{schema-eaq24w9q.js → schema-epr5xxb0.js} +1 -1
- package/dist/cli/{scope-persistence-erxj8vq6.js → scope-persistence-pyn9vb4r.js} +6 -6
- package/dist/cli/{server-95fz00er.js → server-c5b651kg.js} +26 -26
- package/dist/cli/{skill-generator-kt8j40ev.js → skill-generator-r8kvvbh2.js} +9 -8
- package/dist/cli/{snapshot-coordination-init-b08vm3ye.js → snapshot-coordination-init-wnt85258.js} +26 -26
- package/dist/cli/{speckit-checkoff-3g3bfv0y.js → speckit-checkoff-64p4d5hf.js} +3 -3
- package/dist/cli/{worktree-collision-ownership-sf7vbj8n.js → worktree-collision-ownership-eej2phhm.js} +2 -2
- package/dist/cli/{worktree-isolation-5eh9bgcm.js → worktree-isolation-xsc0k2n3.js} +26 -26
- package/dist/hooks/guardrails/tool-before.d.ts +35 -4
- package/dist/hooks/knowledge-receipt-ledger.d.ts +19 -4
- package/dist/hooks/phase-complete-directive-gate.d.ts +13 -1
- package/dist/hooks/shell-write-detect.d.ts +12 -0
- package/dist/index.js +62 -62
- package/package.json +1 -1
|
@@ -33,20 +33,21 @@ import {
|
|
|
33
33
|
sanitizeSlug,
|
|
34
34
|
selectCandidateEntries,
|
|
35
35
|
writeEvalStub
|
|
36
|
-
} from "./index-
|
|
36
|
+
} from "./index-b4amh1n3.js";
|
|
37
37
|
import"./index-q7sjgr1y.js";
|
|
38
|
-
import"./index-
|
|
39
|
-
import"./index-
|
|
38
|
+
import"./index-ee59rzwk.js";
|
|
39
|
+
import"./index-wyfag7r7.js";
|
|
40
40
|
import"./index-m9zzj4ee.js";
|
|
41
41
|
import"./index-4krkevgc.js";
|
|
42
|
-
import"./index-
|
|
42
|
+
import"./index-10myvh2k.js";
|
|
43
43
|
import"./index-mhd6kdzr.js";
|
|
44
44
|
import"./index-rtry5xyf.js";
|
|
45
|
-
import"./index-
|
|
45
|
+
import"./index-xh861gf3.js";
|
|
46
46
|
import"./index-g22dps7x.js";
|
|
47
47
|
import"./index-0725jpp7.js";
|
|
48
48
|
import"./index-8srvdpw6.js";
|
|
49
|
-
import"./index-
|
|
49
|
+
import"./index-9rwhas09.js";
|
|
50
|
+
import"./index-h8419k5d.js";
|
|
50
51
|
import"./index-vzm6zre7.js";
|
|
51
52
|
import"./index-ae75rja9.js";
|
|
52
53
|
import"./index-4fkxdnc7.js";
|
|
@@ -59,11 +60,11 @@ import"./index-ejhxgyvm.js";
|
|
|
59
60
|
import"./index-7g4c7s5r.js";
|
|
60
61
|
import"./index-mn75z39t.js";
|
|
61
62
|
import"./index-3t46mez1.js";
|
|
62
|
-
import"./index-
|
|
63
|
+
import"./index-dsqavehz.js";
|
|
63
64
|
import"./index-sp2cxpaq.js";
|
|
64
65
|
import"./index-qbxk2rn6.js";
|
|
65
66
|
import"./index-zgwm4ryv.js";
|
|
66
|
-
import"./index-
|
|
67
|
+
import"./index-se501ytb.js";
|
|
67
68
|
import"./index-xfzkq1k4.js";
|
|
68
69
|
import"./index-bk5tah7q.js";
|
|
69
70
|
import"./index-gknz3bv1.js";
|
package/dist/cli/{snapshot-coordination-init-b08vm3ye.js → snapshot-coordination-init-wnt85258.js}
RENAMED
|
@@ -8,60 +8,60 @@ import {
|
|
|
8
8
|
markSnapshotCoordinationClosing,
|
|
9
9
|
retrySnapshotCoordinationInitialization,
|
|
10
10
|
startSnapshotCoordinationInitialization
|
|
11
|
-
} from "./index-
|
|
11
|
+
} from "./index-8c51asrp.js";
|
|
12
12
|
import"./index-p2dst45x.js";
|
|
13
|
-
import"./index-
|
|
14
|
-
import"./index-
|
|
15
|
-
import"./index-
|
|
13
|
+
import"./index-1by2qd8n.js";
|
|
14
|
+
import"./index-k01n01sc.js";
|
|
15
|
+
import"./index-cy2gbs5b.js";
|
|
16
16
|
import"./index-4ph7ad0b.js";
|
|
17
17
|
import"./index-axqyjreb.js";
|
|
18
18
|
import"./index-txdagbh7.js";
|
|
19
|
-
import"./index-
|
|
20
|
-
import"./index-
|
|
19
|
+
import"./index-4mjfdpte.js";
|
|
20
|
+
import"./index-3x8mz39c.js";
|
|
21
21
|
import"./index-rdec0y3z.js";
|
|
22
|
-
import"./index-
|
|
23
|
-
import"./index-
|
|
24
|
-
import"./index-
|
|
22
|
+
import"./index-74n7sz4s.js";
|
|
23
|
+
import"./index-826kptfe.js";
|
|
24
|
+
import"./index-b4amh1n3.js";
|
|
25
25
|
import"./index-bk8r4m9j.js";
|
|
26
26
|
import"./index-tecp3a77.js";
|
|
27
27
|
import"./index-x5jwegqw.js";
|
|
28
28
|
import"./index-7h22y3ew.js";
|
|
29
|
-
import"./index-
|
|
29
|
+
import"./index-pvj101jx.js";
|
|
30
30
|
import"./index-pt7h91zc.js";
|
|
31
31
|
import"./index-q7sjgr1y.js";
|
|
32
|
-
import"./index-
|
|
33
|
-
import"./index-
|
|
32
|
+
import"./index-687c2ze1.js";
|
|
33
|
+
import"./index-ryrg48c7.js";
|
|
34
34
|
import"./index-6b295cas.js";
|
|
35
35
|
import"./index-9nyqt3kb.js";
|
|
36
|
-
import"./index-
|
|
36
|
+
import"./index-5qajesjq.js";
|
|
37
37
|
import"./index-697mg68b.js";
|
|
38
38
|
import"./index-8mrentmw.js";
|
|
39
|
-
import"./index-
|
|
40
|
-
import"./index-
|
|
41
|
-
import"./index-
|
|
39
|
+
import"./index-phz90w3t.js";
|
|
40
|
+
import"./index-1akazdbj.js";
|
|
41
|
+
import"./index-twwdx79t.js";
|
|
42
42
|
import"./index-spggmr30.js";
|
|
43
|
-
import"./index-
|
|
44
|
-
import"./index-
|
|
43
|
+
import"./index-ee59rzwk.js";
|
|
44
|
+
import"./index-wyfag7r7.js";
|
|
45
45
|
import"./index-m9zzj4ee.js";
|
|
46
46
|
import"./index-4krkevgc.js";
|
|
47
|
-
import"./index-
|
|
47
|
+
import"./index-10myvh2k.js";
|
|
48
48
|
import"./index-mhd6kdzr.js";
|
|
49
49
|
import"./index-rtry5xyf.js";
|
|
50
|
-
import"./index-
|
|
50
|
+
import"./index-xh861gf3.js";
|
|
51
51
|
import"./index-g22dps7x.js";
|
|
52
52
|
import"./index-0725jpp7.js";
|
|
53
|
-
import"./index-
|
|
53
|
+
import"./index-1asbb0r4.js";
|
|
54
54
|
import"./index-v839c9mv.js";
|
|
55
|
-
import"./index-
|
|
55
|
+
import"./index-vxbj42j0.js";
|
|
56
56
|
import"./index-2x015vjy.js";
|
|
57
57
|
import"./index-y7c4hqcj.js";
|
|
58
58
|
import"./index-ry16d01s.js";
|
|
59
59
|
import"./index-rdm3px0g.js";
|
|
60
60
|
import"./index-vtpt8yns.js";
|
|
61
61
|
import"./index-7pmbnjvj.js";
|
|
62
|
-
import"./index-9rwhas09.js";
|
|
63
62
|
import"./index-8srvdpw6.js";
|
|
64
|
-
import"./index-
|
|
63
|
+
import"./index-9rwhas09.js";
|
|
64
|
+
import"./index-h8419k5d.js";
|
|
65
65
|
import"./index-vzm6zre7.js";
|
|
66
66
|
import"./index-ae75rja9.js";
|
|
67
67
|
import"./index-4fkxdnc7.js";
|
|
@@ -74,11 +74,11 @@ import"./index-ejhxgyvm.js";
|
|
|
74
74
|
import"./index-7g4c7s5r.js";
|
|
75
75
|
import"./index-mn75z39t.js";
|
|
76
76
|
import"./index-3t46mez1.js";
|
|
77
|
-
import"./index-
|
|
77
|
+
import"./index-dsqavehz.js";
|
|
78
78
|
import"./index-sp2cxpaq.js";
|
|
79
79
|
import"./index-qbxk2rn6.js";
|
|
80
80
|
import"./index-zgwm4ryv.js";
|
|
81
|
-
import"./index-
|
|
81
|
+
import"./index-se501ytb.js";
|
|
82
82
|
import"./index-xfzkq1k4.js";
|
|
83
83
|
import"./index-bk5tah7q.js";
|
|
84
84
|
import"./index-gknz3bv1.js";
|
|
@@ -7,15 +7,15 @@ import {
|
|
|
7
7
|
parseSpeckitTasksContent,
|
|
8
8
|
propagateSpeckitCheckoff,
|
|
9
9
|
writeSpeckitCheckoffLedger
|
|
10
|
-
} from "./index-
|
|
10
|
+
} from "./index-phz90w3t.js";
|
|
11
11
|
import"./index-ejhxgyvm.js";
|
|
12
12
|
import"./index-7g4c7s5r.js";
|
|
13
13
|
import"./index-mn75z39t.js";
|
|
14
|
-
import"./index-
|
|
14
|
+
import"./index-dsqavehz.js";
|
|
15
15
|
import"./index-sp2cxpaq.js";
|
|
16
16
|
import"./index-qbxk2rn6.js";
|
|
17
17
|
import"./index-zgwm4ryv.js";
|
|
18
|
-
import"./index-
|
|
18
|
+
import"./index-se501ytb.js";
|
|
19
19
|
import"./index-xfzkq1k4.js";
|
|
20
20
|
import"./index-bk5tah7q.js";
|
|
21
21
|
import"./index-gknz3bv1.js";
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
scanDelegationFallbacksForRecovery,
|
|
12
12
|
scanDelegationsForRecovery
|
|
13
|
-
} from "./index-
|
|
13
|
+
} from "./index-pvj101jx.js";
|
|
14
14
|
import {
|
|
15
15
|
scanWorktreeMergeFailuresForRecovery
|
|
16
16
|
} from "./index-697mg68b.js";
|
|
@@ -23,7 +23,7 @@ import"./index-rdm3px0g.js";
|
|
|
23
23
|
import"./index-vtpt8yns.js";
|
|
24
24
|
import"./index-7pmbnjvj.js";
|
|
25
25
|
import"./index-8srvdpw6.js";
|
|
26
|
-
import"./index-
|
|
26
|
+
import"./index-h8419k5d.js";
|
|
27
27
|
import"./index-vzm6zre7.js";
|
|
28
28
|
import"./index-ae75rja9.js";
|
|
29
29
|
import"./index-4fkxdnc7.js";
|
|
@@ -25,62 +25,62 @@ import {
|
|
|
25
25
|
sanitizeWorktreeTaskId,
|
|
26
26
|
standardWorktreeByCallID,
|
|
27
27
|
standardWorktreeSerializationSessions
|
|
28
|
-
} from "./index-
|
|
28
|
+
} from "./index-8c51asrp.js";
|
|
29
29
|
import"./index-p2dst45x.js";
|
|
30
|
-
import"./index-
|
|
31
|
-
import"./index-
|
|
32
|
-
import"./index-
|
|
30
|
+
import"./index-1by2qd8n.js";
|
|
31
|
+
import"./index-k01n01sc.js";
|
|
32
|
+
import"./index-cy2gbs5b.js";
|
|
33
33
|
import"./index-4ph7ad0b.js";
|
|
34
34
|
import"./index-axqyjreb.js";
|
|
35
35
|
import"./index-txdagbh7.js";
|
|
36
|
-
import"./index-
|
|
37
|
-
import"./index-
|
|
36
|
+
import"./index-4mjfdpte.js";
|
|
37
|
+
import"./index-3x8mz39c.js";
|
|
38
38
|
import"./index-rdec0y3z.js";
|
|
39
|
-
import"./index-
|
|
40
|
-
import"./index-
|
|
41
|
-
import"./index-
|
|
39
|
+
import"./index-74n7sz4s.js";
|
|
40
|
+
import"./index-826kptfe.js";
|
|
41
|
+
import"./index-b4amh1n3.js";
|
|
42
42
|
import"./index-bk8r4m9j.js";
|
|
43
43
|
import"./index-tecp3a77.js";
|
|
44
44
|
import"./index-x5jwegqw.js";
|
|
45
45
|
import"./index-7h22y3ew.js";
|
|
46
|
-
import"./index-
|
|
46
|
+
import"./index-pvj101jx.js";
|
|
47
47
|
import"./index-pt7h91zc.js";
|
|
48
48
|
import"./index-q7sjgr1y.js";
|
|
49
|
-
import"./index-
|
|
50
|
-
import"./index-
|
|
49
|
+
import"./index-687c2ze1.js";
|
|
50
|
+
import"./index-ryrg48c7.js";
|
|
51
51
|
import"./index-6b295cas.js";
|
|
52
52
|
import"./index-9nyqt3kb.js";
|
|
53
|
-
import"./index-
|
|
53
|
+
import"./index-5qajesjq.js";
|
|
54
54
|
import"./index-697mg68b.js";
|
|
55
55
|
import"./index-8mrentmw.js";
|
|
56
|
-
import"./index-
|
|
57
|
-
import"./index-
|
|
58
|
-
import"./index-
|
|
56
|
+
import"./index-phz90w3t.js";
|
|
57
|
+
import"./index-1akazdbj.js";
|
|
58
|
+
import"./index-twwdx79t.js";
|
|
59
59
|
import"./index-spggmr30.js";
|
|
60
|
-
import"./index-
|
|
61
|
-
import"./index-
|
|
60
|
+
import"./index-ee59rzwk.js";
|
|
61
|
+
import"./index-wyfag7r7.js";
|
|
62
62
|
import"./index-m9zzj4ee.js";
|
|
63
63
|
import"./index-4krkevgc.js";
|
|
64
|
-
import"./index-
|
|
64
|
+
import"./index-10myvh2k.js";
|
|
65
65
|
import"./index-mhd6kdzr.js";
|
|
66
66
|
import"./index-rtry5xyf.js";
|
|
67
67
|
import {
|
|
68
68
|
resolveWorktreeIsolationConfig
|
|
69
|
-
} from "./index-
|
|
69
|
+
} from "./index-xh861gf3.js";
|
|
70
70
|
import"./index-g22dps7x.js";
|
|
71
71
|
import"./index-0725jpp7.js";
|
|
72
|
-
import"./index-
|
|
72
|
+
import"./index-1asbb0r4.js";
|
|
73
73
|
import"./index-v839c9mv.js";
|
|
74
|
-
import"./index-
|
|
74
|
+
import"./index-vxbj42j0.js";
|
|
75
75
|
import"./index-2x015vjy.js";
|
|
76
76
|
import"./index-y7c4hqcj.js";
|
|
77
77
|
import"./index-ry16d01s.js";
|
|
78
78
|
import"./index-rdm3px0g.js";
|
|
79
79
|
import"./index-vtpt8yns.js";
|
|
80
80
|
import"./index-7pmbnjvj.js";
|
|
81
|
-
import"./index-9rwhas09.js";
|
|
82
81
|
import"./index-8srvdpw6.js";
|
|
83
|
-
import"./index-
|
|
82
|
+
import"./index-9rwhas09.js";
|
|
83
|
+
import"./index-h8419k5d.js";
|
|
84
84
|
import"./index-vzm6zre7.js";
|
|
85
85
|
import"./index-ae75rja9.js";
|
|
86
86
|
import"./index-4fkxdnc7.js";
|
|
@@ -93,11 +93,11 @@ import"./index-ejhxgyvm.js";
|
|
|
93
93
|
import"./index-7g4c7s5r.js";
|
|
94
94
|
import"./index-mn75z39t.js";
|
|
95
95
|
import"./index-3t46mez1.js";
|
|
96
|
-
import"./index-
|
|
96
|
+
import"./index-dsqavehz.js";
|
|
97
97
|
import"./index-sp2cxpaq.js";
|
|
98
98
|
import"./index-qbxk2rn6.js";
|
|
99
99
|
import"./index-zgwm4ryv.js";
|
|
100
|
-
import"./index-
|
|
100
|
+
import"./index-se501ytb.js";
|
|
101
101
|
import"./index-xfzkq1k4.js";
|
|
102
102
|
import"./index-bk5tah7q.js";
|
|
103
103
|
import"./index-gknz3bv1.js";
|
|
@@ -64,11 +64,36 @@ export interface ToolBeforeContext {
|
|
|
64
64
|
/** @internal test seam */
|
|
65
65
|
export declare function _resetSandboxUnavailableWarningState(): void;
|
|
66
66
|
/**
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
67
|
+
* Whether the executor that will run a bare `rmdir` has POSIX rmdir(2)
|
|
68
|
+
* semantics, the only basis for the empty-directory-removal exemption. Under
|
|
69
|
+
* PowerShell `rmdir` is an alias of Remove-Item (it deletes a file operand and
|
|
70
|
+
* can recurse), and cmd's `rd` differs too. So: no Windows grammar may own the
|
|
71
|
+
* command (`windowsShell` from resolveWindowsWriteAuthority; when it is null
|
|
72
|
+
* the Windows detectors do not run at all), the `shell` tool on a Windows host
|
|
73
|
+
* is not POSIX, and a Windows wrapper exposed only by unwrapping
|
|
74
|
+
* (`bash -c 'powershell -Command …'`) also disqualifies it.
|
|
75
|
+
*/
|
|
76
|
+
export declare function isPosixRmdirExecutor(tool: string, windowsShell: 'powershell' | 'cmd' | null, detectionCommand: string, platform?: NodeJS.Platform): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Whether a bare `rmdir` target (`WriteTarget.emptyDirectoryRemoval`) may skip
|
|
79
|
+
* declared-scope membership. `targetPath` is the gate's resolved path, which
|
|
80
|
+
* is already LEXICALLY normalised (path.resolve collapses `.` and `..`
|
|
81
|
+
* segments before any symlink is followed); that is safe only because an
|
|
82
|
+
* operand with a `..` segment is never tagged (shell-write-detect.ts
|
|
83
|
+
* isBareRmdirOperand). The helper then realpaths the target's PARENT, so
|
|
84
|
+
* every symlink/junction in the parent chain is resolved, and requires the
|
|
85
|
+
* result to lie strictly inside the canonical workspace root. Fail-closed:
|
|
86
|
+
* a resolution error, the root itself, a target outside the root, a target
|
|
87
|
+
* that exists as a file or symlink, or a target under the workspace's
|
|
88
|
+
* repository control state (`.git` / `.swarm`, checked on both the lexical
|
|
89
|
+
* and the canonical location — PR #3456 review FB-007: an architect passes
|
|
90
|
+
* file authority for control paths, so the exemption must not be what lets
|
|
91
|
+
* a declared-scope-bound role reach them) returns false. rmdir(2) does not
|
|
92
|
+
* follow a final symlink, so the parent chain decides containment. There is
|
|
93
|
+
* deliberately no emptiness check — that would be a TOCTOU race; the
|
|
94
|
+
* kernel's ENOTEMPTY is the authoritative guard.
|
|
71
95
|
*/
|
|
96
|
+
export declare function isEmptyDirectoryRemovalWithinWorkspace(targetPath: string, workspace: string): boolean;
|
|
72
97
|
/**
|
|
73
98
|
* Issue #3099 R2 (executor context): which grammar OWNS shared constructs.
|
|
74
99
|
*
|
|
@@ -91,6 +116,12 @@ export declare function _resetSandboxUnavailableWarningState(): void;
|
|
|
91
116
|
* commands the gate blocks (#3099 review finding).
|
|
92
117
|
*/
|
|
93
118
|
export declare function resolveWindowsWriteAuthority(tool: string, command: string, detectedShellType: 'posix' | 'powershell' | 'cmd' | 'unix' | 'bash', shaped: boolean, platform?: NodeJS.Platform): 'powershell' | 'cmd' | null;
|
|
119
|
+
/**
|
|
120
|
+
* Creates a toolBefore handler with the given shared context.
|
|
121
|
+
*
|
|
122
|
+
* @param ctx Shared configuration and closures from createGuardrailsHooks
|
|
123
|
+
* @returns The toolBefore handler function
|
|
124
|
+
*/
|
|
94
125
|
export declare function createToolBeforeHandler(ctx: ToolBeforeContext): (input: {
|
|
95
126
|
tool: string;
|
|
96
127
|
sessionID: string;
|
|
@@ -173,6 +173,24 @@ export type ReceiptUnavailable = {
|
|
|
173
173
|
export type ReceiptLedgerResult<T> = ({
|
|
174
174
|
ok: true;
|
|
175
175
|
} & T) | ReceiptUnavailable;
|
|
176
|
+
/**
|
|
177
|
+
* #2965: permanent identity-conflict codes for the empty-trace immutability
|
|
178
|
+
* rule. The conflict itself stays legitimate — only its category changes: a
|
|
179
|
+
* deterministic policy rejection must never ride the retry-inviting
|
|
180
|
+
* `store_unavailable` store channel (AGENTS.md invariant 9).
|
|
181
|
+
*/
|
|
182
|
+
export type ReceiptEmptyTraceConflictCode = 'wrong_task' | 'wrong_phase' | 'duplicate_conflicting_terminal';
|
|
183
|
+
/** #2965: typed rejection for a conflicting `'none'`-sentinel re-file. */
|
|
184
|
+
export type ReceiptEmptyTraceConflict = {
|
|
185
|
+
ok: false;
|
|
186
|
+
code: ReceiptEmptyTraceConflictCode;
|
|
187
|
+
detail: string;
|
|
188
|
+
};
|
|
189
|
+
export type CommitEmptyRetrievalResult = {
|
|
190
|
+
ok: true;
|
|
191
|
+
event_id: string;
|
|
192
|
+
terminal_event_id: string;
|
|
193
|
+
} | ReceiptEmptyTraceConflict | ReceiptUnavailable;
|
|
176
194
|
declare function writeSnapshot(paths: ReceiptLedgerPaths, state: LedgerState): Promise<void>;
|
|
177
195
|
export interface RepairKnowledgeReceiptLedgerInput {
|
|
178
196
|
phase: string;
|
|
@@ -219,10 +237,7 @@ export declare function commitDisplayedMembership(directory: string, input: Comm
|
|
|
219
237
|
event_id: string;
|
|
220
238
|
memberships: ReceiptMembership[];
|
|
221
239
|
}>>;
|
|
222
|
-
export declare function commitEmptyRetrieval(directory: string, input: Omit<CommitDisplayedMembershipInput, 'entries'>): Promise<
|
|
223
|
-
event_id: string;
|
|
224
|
-
terminal_event_id: string;
|
|
225
|
-
}>>;
|
|
240
|
+
export declare function commitEmptyRetrieval(directory: string, input: Omit<CommitDisplayedMembershipInput, 'entries'>): Promise<CommitEmptyRetrievalResult>;
|
|
226
241
|
export interface TerminalBatchInput {
|
|
227
242
|
trace_id: string;
|
|
228
243
|
session_id: string;
|
|
@@ -16,8 +16,9 @@
|
|
|
16
16
|
* `override` event with a written justification). Fail-CLOSED: any read error
|
|
17
17
|
* surfaces as a block, never a silent pass.
|
|
18
18
|
*/
|
|
19
|
+
import { type ReceiptUnavailable } from './knowledge-receipt-ledger.js';
|
|
19
20
|
export type DirectiveBlockReason = 'no_verdict' | 'unremediated_violation';
|
|
20
|
-
export type DirectiveGateFailureCode = 'RECEIPT_MISSING' | 'RECEIPT_CORRUPT' | 'RECEIPT_LOCK_TIMEOUT' | 'RECEIPT_WRONG_ROOT' | 'RECEIPT_PERMISSION' | 'RECEIPT_TRANSIENT' | 'RECEIPT_STORE_UNAVAILABLE';
|
|
21
|
+
export type DirectiveGateFailureCode = 'RECEIPT_MISSING' | 'RECEIPT_CORRUPT' | 'RECEIPT_LOCK_TIMEOUT' | 'RECEIPT_WRONG_ROOT' | 'RECEIPT_PERMISSION' | 'RECEIPT_TRANSIENT' | 'RECEIPT_CONFLICT' | 'RECEIPT_STORE_UNAVAILABLE';
|
|
21
22
|
export interface DirectiveGateResult {
|
|
22
23
|
blocked: boolean;
|
|
23
24
|
unresolved: Array<{
|
|
@@ -52,6 +53,7 @@ export interface DirectiveGateResult {
|
|
|
52
53
|
action: 'knowledge_receipt' | 'phase_complete' | 'repair_knowledge_receipt_ledger';
|
|
53
54
|
};
|
|
54
55
|
}
|
|
56
|
+
declare function classifyDirectiveGateFailure(error: unknown | ReceiptUnavailable): Pick<DirectiveGateResult, 'failure' | 'recovery'>;
|
|
55
57
|
/**
|
|
56
58
|
* Evaluate all critical directives shown during the phase. Fail-closed.
|
|
57
59
|
*
|
|
@@ -83,3 +85,13 @@ export declare function evaluatePhaseCriticalDirectives(params: {
|
|
|
83
85
|
export declare function recordDirectiveOverrides(directory: string, ids: string[], justification: string, sessionId: string | undefined, phaseLabel?: string, phaseId?: number): Promise<void>;
|
|
84
86
|
/** Build a structured, human-readable block message for unresolved criticals. */
|
|
85
87
|
export declare function formatDirectiveBlockMessage(unresolved: DirectiveGateResult['unresolved']): string;
|
|
88
|
+
/**
|
|
89
|
+
* #2965: dependency-injection seam for the failure classifier. Tests drive
|
|
90
|
+
* `classifyDirectiveGateFailure` through this seam (per the repo's
|
|
91
|
+
* `_internals` convention); these are synthetic classifier tests, not
|
|
92
|
+
* end-to-end gate evidence.
|
|
93
|
+
*/
|
|
94
|
+
export declare const _internals: {
|
|
95
|
+
classifyDirectiveGateFailure: typeof classifyDirectiveGateFailure;
|
|
96
|
+
};
|
|
97
|
+
export {};
|
|
@@ -22,6 +22,18 @@ export interface WriteTarget {
|
|
|
22
22
|
operator: string;
|
|
23
23
|
/** The file path written to, or null when the path cannot be determined statically. */
|
|
24
24
|
path: string | null;
|
|
25
|
+
/**
|
|
26
|
+
* Set only for a bare POSIX `rmdir <dir>`: no options, exactly one literal
|
|
27
|
+
* operand (no expansion, glob, brace or quote characters). rmdir(2) refuses
|
|
28
|
+
* a non-empty directory (ENOTEMPTY), so this form cannot destroy file data.
|
|
29
|
+
* The shell write-scope gate uses it to skip declared-scope membership for
|
|
30
|
+
* a target that resolves inside the workspace; every other check still
|
|
31
|
+
* applies. `rmdir -p` (removes parents) and all other forms never carry it,
|
|
32
|
+
* and neither does any write of a line that runs a command outside
|
|
33
|
+
* CWD_NEUTRAL_COMMANDS or holds a character outside PLAIN_COMMAND_LINE
|
|
34
|
+
* (see detectPosixWrites).
|
|
35
|
+
*/
|
|
36
|
+
emptyDirectoryRemoval?: true;
|
|
25
37
|
}
|
|
26
38
|
/**
|
|
27
39
|
* Result of analyzing a single shell command.
|