opencode-swarm 7.200.5 → 7.200.7
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-0k72fh70.js → attest-task-rp4xn5wh.js} +31 -27
- package/dist/cli/{auto-checkpoint-8g004dar.js → auto-checkpoint-a6x7bw5k.js} +4 -4
- package/dist/cli/{checkpoint-18wx2473.js → checkpoint-kpgmse11.js} +8 -8
- package/dist/cli/{coder-settlement-r2q6pkxc.js → coder-settlement-f54sfmaj.js} +4 -3
- package/dist/cli/{config-doctor-h071vxsj.js → config-doctor-hpakt9zz.js} +7 -7
- package/dist/cli/{core-6767154r.js → core-m2x9w49f.js} +1 -1
- package/dist/cli/{curator-drift-gd7tckag.js → curator-drift-hxfzkkhg.js} +5 -5
- package/dist/cli/{curator-pf0edk2z.js → curator-ghjq55v7.js} +25 -25
- package/dist/cli/{curator-llm-factory-mf701qb7.js → curator-llm-factory-b3hk73vd.js} +25 -25
- package/dist/cli/{doctor-knowledge-receipt-phase-id-zz0tz3pt.js → doctor-knowledge-receipt-phase-id-wk9vry5a.js} +4 -4
- package/dist/cli/{evidence-summary-service-awjxt2am.js → evidence-summary-service-gf50zpwx.js} +9 -9
- package/dist/cli/{gate-evidence-tvkhkqwy.js → gate-evidence-7my0f82h.js} +7 -2
- package/dist/cli/{guardrail-explain-m70anx1g.js → guardrail-explain-e1ck0csp.js} +26 -26
- package/dist/cli/{guardrail-log-3sf6n33b.js → guardrail-log-hkkkwmj1.js} +3 -3
- package/dist/cli/{guardrail-reset-t94jbv1q.js → guardrail-reset-wwnbcexb.js} +25 -25
- package/dist/cli/{hive-promoter-60h9tqgs.js → hive-promoter-4nzbfwcd.js} +25 -25
- package/dist/cli/{index-hfnj4s6r.js → index-0fbtnkyw.js} +25 -25
- package/dist/cli/{index-ryrg48c7.js → index-223g5dj9.js} +5 -5
- package/dist/cli/{index-yamz6830.js → index-39pge60a.js} +1 -1
- package/dist/cli/{index-cy2gbs5b.js → index-5djd4vrn.js} +1 -1
- package/dist/cli/{index-1by2qd8n.js → index-6e75mvmn.js} +1 -1
- package/dist/cli/{index-b4amh1n3.js → index-6phyfsvn.js} +3 -3
- package/dist/cli/{index-se501ytb.js → index-7r9yg7h1.js} +1 -1
- package/dist/cli/{index-8c51asrp.js → index-87kk5dqm.js} +232 -97
- package/dist/cli/{index-687c2ze1.js → index-8k6jd7a9.js} +3 -3
- package/dist/cli/{index-10myvh2k.js → index-bgcanr26.js} +1 -1
- package/dist/cli/{index-5qajesjq.js → index-c0dbzf9v.js} +3 -3
- package/dist/cli/{index-3x8mz39c.js → index-f3ed5wde.js} +1 -1
- package/dist/cli/{index-twwdx79t.js → index-f4tht67a.js} +1 -1
- package/dist/cli/{index-74n7sz4s.js → index-g5hghxgw.js} +1 -1
- package/dist/cli/{index-dsqavehz.js → index-h9hgxbsw.js} +1 -1
- package/dist/cli/{index-k01n01sc.js → index-jfkzhyqs.js} +3 -3
- package/dist/cli/{index-1asbb0r4.js → index-k69vjyfm.js} +1 -1
- package/dist/cli/{index-xh861gf3.js → index-kmnyh4r1.js} +2 -2
- package/dist/cli/{index-ee59rzwk.js → index-mkkwhrtn.js} +2 -2
- package/dist/cli/{index-vxbj42j0.js → index-mnpcwcqf.js} +2 -2
- package/dist/cli/{index-g1b5xxzc.js → index-p61vaebj.js} +5 -4
- package/dist/cli/{index-826kptfe.js → index-q8fy8cxa.js} +3 -3
- package/dist/cli/{index-h8419k5d.js → index-qc3qqknb.js} +4 -4
- package/dist/cli/{index-4mjfdpte.js → index-ramxwbtt.js} +6 -6
- package/dist/cli/{index-1akazdbj.js → index-rjtf507t.js} +48 -3
- package/dist/cli/{index-pvj101jx.js → index-sy15gtjr.js} +3 -3
- package/dist/cli/{index-xdk3cxs9.js → index-vhkk8grb.js} +27 -27
- package/dist/cli/{index-phz90w3t.js → index-vsqc38a0.js} +1 -1
- package/dist/cli/{index-vz1fh1v3.js → index-wkz6w3yy.js} +3 -3
- package/dist/cli/{index-wyfag7r7.js → index-y76sev7j.js} +2 -2
- package/dist/cli/index.js +26 -26
- package/dist/cli/{knowledge-escalator-3096yt7j.js → knowledge-escalator-cx03qhmc.js} +7 -7
- package/dist/cli/{knowledge-events-st3j22za.js → knowledge-events-cfdd3syn.js} +5 -5
- package/dist/cli/{knowledge-store-9q8jvd0p.js → knowledge-store-fgwc40g2.js} +1 -1
- package/dist/cli/{knowledge-validator-fak1fvdm.js → knowledge-validator-hvah3jxx.js} +2 -2
- package/dist/cli/{mcp-shvt5c9b.js → mcp-1crekab3.js} +1 -1
- package/dist/cli/{model-preflight-cxhdzc9c.js → model-preflight-knjgtnwb.js} +25 -25
- package/dist/cli/{pending-delegations-tjj8nhmm.js → pending-delegations-3a2tgmgq.js} +2 -2
- package/dist/cli/{pr-subscriptions-xtnbfg8m.js → pr-subscriptions-8yprtmt7.js} +1 -1
- package/dist/cli/{pr-workflow-gate-24ytg64p.js → pr-workflow-gate-fcpvkwg8.js} +25 -25
- package/dist/cli/{scan-cursor-drax4dt3.js → scan-cursor-a776c7b6.js} +2 -2
- package/dist/cli/{schema-epr5xxb0.js → schema-evj1vbxz.js} +1 -1
- package/dist/cli/{scope-persistence-pyn9vb4r.js → scope-persistence-s1e120ba.js} +5 -5
- package/dist/cli/{server-c5b651kg.js → server-exd3q95h.js} +25 -25
- package/dist/cli/{skill-generator-r8kvvbh2.js → skill-generator-6r8pxx5z.js} +8 -8
- package/dist/cli/{snapshot-coordination-init-wnt85258.js → snapshot-coordination-init-z8b9twvf.js} +25 -25
- package/dist/cli/{speckit-checkoff-64p4d5hf.js → speckit-checkoff-hhbcq87w.js} +3 -3
- package/dist/cli/{worktree-collision-ownership-eej2phhm.js → worktree-collision-ownership-waf8d48d.js} +2 -2
- package/dist/cli/{worktree-isolation-xsc0k2n3.js → worktree-isolation-ea4qe5f5.js} +25 -25
- package/dist/gate-evidence.d.ts +20 -0
- package/dist/hooks/guardrails/tool-before.d.ts +1 -1
- package/dist/hooks/shell-executor-context.d.ts +17 -0
- package/dist/hooks/shell-write-detect.d.ts +26 -0
- package/dist/host/v2/hooks.d.ts +20 -0
- package/dist/host/v2/types.d.ts +27 -0
- package/dist/index.js +17 -17
- package/package.json +1 -1
|
@@ -33,21 +33,21 @@ import {
|
|
|
33
33
|
sanitizeSlug,
|
|
34
34
|
selectCandidateEntries,
|
|
35
35
|
writeEvalStub
|
|
36
|
-
} from "./index-
|
|
36
|
+
} from "./index-6phyfsvn.js";
|
|
37
37
|
import"./index-q7sjgr1y.js";
|
|
38
|
-
import"./index-
|
|
39
|
-
import"./index-
|
|
38
|
+
import"./index-mkkwhrtn.js";
|
|
39
|
+
import"./index-y76sev7j.js";
|
|
40
40
|
import"./index-m9zzj4ee.js";
|
|
41
41
|
import"./index-4krkevgc.js";
|
|
42
|
-
import"./index-
|
|
42
|
+
import"./index-bgcanr26.js";
|
|
43
43
|
import"./index-mhd6kdzr.js";
|
|
44
44
|
import"./index-rtry5xyf.js";
|
|
45
|
-
import"./index-
|
|
45
|
+
import"./index-kmnyh4r1.js";
|
|
46
46
|
import"./index-g22dps7x.js";
|
|
47
47
|
import"./index-0725jpp7.js";
|
|
48
48
|
import"./index-8srvdpw6.js";
|
|
49
49
|
import"./index-9rwhas09.js";
|
|
50
|
-
import"./index-
|
|
50
|
+
import"./index-qc3qqknb.js";
|
|
51
51
|
import"./index-vzm6zre7.js";
|
|
52
52
|
import"./index-ae75rja9.js";
|
|
53
53
|
import"./index-4fkxdnc7.js";
|
|
@@ -60,11 +60,11 @@ import"./index-ejhxgyvm.js";
|
|
|
60
60
|
import"./index-7g4c7s5r.js";
|
|
61
61
|
import"./index-mn75z39t.js";
|
|
62
62
|
import"./index-3t46mez1.js";
|
|
63
|
-
import"./index-
|
|
63
|
+
import"./index-h9hgxbsw.js";
|
|
64
64
|
import"./index-sp2cxpaq.js";
|
|
65
65
|
import"./index-qbxk2rn6.js";
|
|
66
66
|
import"./index-zgwm4ryv.js";
|
|
67
|
-
import"./index-
|
|
67
|
+
import"./index-7r9yg7h1.js";
|
|
68
68
|
import"./index-xfzkq1k4.js";
|
|
69
69
|
import"./index-bk5tah7q.js";
|
|
70
70
|
import"./index-gknz3bv1.js";
|
package/dist/cli/{snapshot-coordination-init-wnt85258.js → snapshot-coordination-init-z8b9twvf.js}
RENAMED
|
@@ -8,51 +8,51 @@ import {
|
|
|
8
8
|
markSnapshotCoordinationClosing,
|
|
9
9
|
retrySnapshotCoordinationInitialization,
|
|
10
10
|
startSnapshotCoordinationInitialization
|
|
11
|
-
} from "./index-
|
|
11
|
+
} from "./index-87kk5dqm.js";
|
|
12
12
|
import"./index-p2dst45x.js";
|
|
13
|
-
import"./index-
|
|
14
|
-
import"./index-
|
|
15
|
-
import"./index-
|
|
13
|
+
import"./index-6e75mvmn.js";
|
|
14
|
+
import"./index-jfkzhyqs.js";
|
|
15
|
+
import"./index-5djd4vrn.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-ramxwbtt.js";
|
|
20
|
+
import"./index-f3ed5wde.js";
|
|
21
21
|
import"./index-rdec0y3z.js";
|
|
22
|
-
import"./index-
|
|
23
|
-
import"./index-
|
|
24
|
-
import"./index-
|
|
22
|
+
import"./index-g5hghxgw.js";
|
|
23
|
+
import"./index-q8fy8cxa.js";
|
|
24
|
+
import"./index-6phyfsvn.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-sy15gtjr.js";
|
|
30
30
|
import"./index-pt7h91zc.js";
|
|
31
31
|
import"./index-q7sjgr1y.js";
|
|
32
|
-
import"./index-
|
|
33
|
-
import"./index-
|
|
32
|
+
import"./index-8k6jd7a9.js";
|
|
33
|
+
import"./index-223g5dj9.js";
|
|
34
34
|
import"./index-6b295cas.js";
|
|
35
35
|
import"./index-9nyqt3kb.js";
|
|
36
|
-
import"./index-
|
|
36
|
+
import"./index-c0dbzf9v.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-vsqc38a0.js";
|
|
40
|
+
import"./index-rjtf507t.js";
|
|
41
|
+
import"./index-f4tht67a.js";
|
|
42
42
|
import"./index-spggmr30.js";
|
|
43
|
-
import"./index-
|
|
44
|
-
import"./index-
|
|
43
|
+
import"./index-mkkwhrtn.js";
|
|
44
|
+
import"./index-y76sev7j.js";
|
|
45
45
|
import"./index-m9zzj4ee.js";
|
|
46
46
|
import"./index-4krkevgc.js";
|
|
47
|
-
import"./index-
|
|
47
|
+
import"./index-bgcanr26.js";
|
|
48
48
|
import"./index-mhd6kdzr.js";
|
|
49
49
|
import"./index-rtry5xyf.js";
|
|
50
|
-
import"./index-
|
|
50
|
+
import"./index-kmnyh4r1.js";
|
|
51
51
|
import"./index-g22dps7x.js";
|
|
52
52
|
import"./index-0725jpp7.js";
|
|
53
|
-
import"./index-
|
|
53
|
+
import"./index-k69vjyfm.js";
|
|
54
54
|
import"./index-v839c9mv.js";
|
|
55
|
-
import"./index-
|
|
55
|
+
import"./index-mnpcwcqf.js";
|
|
56
56
|
import"./index-2x015vjy.js";
|
|
57
57
|
import"./index-y7c4hqcj.js";
|
|
58
58
|
import"./index-ry16d01s.js";
|
|
@@ -61,7 +61,7 @@ import"./index-vtpt8yns.js";
|
|
|
61
61
|
import"./index-7pmbnjvj.js";
|
|
62
62
|
import"./index-8srvdpw6.js";
|
|
63
63
|
import"./index-9rwhas09.js";
|
|
64
|
-
import"./index-
|
|
64
|
+
import"./index-qc3qqknb.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-h9hgxbsw.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-7r9yg7h1.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-vsqc38a0.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-h9hgxbsw.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-7r9yg7h1.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-sy15gtjr.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-qc3qqknb.js";
|
|
27
27
|
import"./index-vzm6zre7.js";
|
|
28
28
|
import"./index-ae75rja9.js";
|
|
29
29
|
import"./index-4fkxdnc7.js";
|
|
@@ -25,53 +25,53 @@ import {
|
|
|
25
25
|
sanitizeWorktreeTaskId,
|
|
26
26
|
standardWorktreeByCallID,
|
|
27
27
|
standardWorktreeSerializationSessions
|
|
28
|
-
} from "./index-
|
|
28
|
+
} from "./index-87kk5dqm.js";
|
|
29
29
|
import"./index-p2dst45x.js";
|
|
30
|
-
import"./index-
|
|
31
|
-
import"./index-
|
|
32
|
-
import"./index-
|
|
30
|
+
import"./index-6e75mvmn.js";
|
|
31
|
+
import"./index-jfkzhyqs.js";
|
|
32
|
+
import"./index-5djd4vrn.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-ramxwbtt.js";
|
|
37
|
+
import"./index-f3ed5wde.js";
|
|
38
38
|
import"./index-rdec0y3z.js";
|
|
39
|
-
import"./index-
|
|
40
|
-
import"./index-
|
|
41
|
-
import"./index-
|
|
39
|
+
import"./index-g5hghxgw.js";
|
|
40
|
+
import"./index-q8fy8cxa.js";
|
|
41
|
+
import"./index-6phyfsvn.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-sy15gtjr.js";
|
|
47
47
|
import"./index-pt7h91zc.js";
|
|
48
48
|
import"./index-q7sjgr1y.js";
|
|
49
|
-
import"./index-
|
|
50
|
-
import"./index-
|
|
49
|
+
import"./index-8k6jd7a9.js";
|
|
50
|
+
import"./index-223g5dj9.js";
|
|
51
51
|
import"./index-6b295cas.js";
|
|
52
52
|
import"./index-9nyqt3kb.js";
|
|
53
|
-
import"./index-
|
|
53
|
+
import"./index-c0dbzf9v.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-vsqc38a0.js";
|
|
57
|
+
import"./index-rjtf507t.js";
|
|
58
|
+
import"./index-f4tht67a.js";
|
|
59
59
|
import"./index-spggmr30.js";
|
|
60
|
-
import"./index-
|
|
61
|
-
import"./index-
|
|
60
|
+
import"./index-mkkwhrtn.js";
|
|
61
|
+
import"./index-y76sev7j.js";
|
|
62
62
|
import"./index-m9zzj4ee.js";
|
|
63
63
|
import"./index-4krkevgc.js";
|
|
64
|
-
import"./index-
|
|
64
|
+
import"./index-bgcanr26.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-kmnyh4r1.js";
|
|
70
70
|
import"./index-g22dps7x.js";
|
|
71
71
|
import"./index-0725jpp7.js";
|
|
72
|
-
import"./index-
|
|
72
|
+
import"./index-k69vjyfm.js";
|
|
73
73
|
import"./index-v839c9mv.js";
|
|
74
|
-
import"./index-
|
|
74
|
+
import"./index-mnpcwcqf.js";
|
|
75
75
|
import"./index-2x015vjy.js";
|
|
76
76
|
import"./index-y7c4hqcj.js";
|
|
77
77
|
import"./index-ry16d01s.js";
|
|
@@ -80,7 +80,7 @@ import"./index-vtpt8yns.js";
|
|
|
80
80
|
import"./index-7pmbnjvj.js";
|
|
81
81
|
import"./index-8srvdpw6.js";
|
|
82
82
|
import"./index-9rwhas09.js";
|
|
83
|
-
import"./index-
|
|
83
|
+
import"./index-qc3qqknb.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-h9hgxbsw.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-7r9yg7h1.js";
|
|
101
101
|
import"./index-xfzkq1k4.js";
|
|
102
102
|
import"./index-bk5tah7q.js";
|
|
103
103
|
import"./index-gknz3bv1.js";
|
package/dist/gate-evidence.d.ts
CHANGED
|
@@ -119,6 +119,8 @@ export interface TaskEvidence {
|
|
|
119
119
|
requirements_state?: 'known' | 'unknown';
|
|
120
120
|
/** Durable proof that the coder dispatch was classified as exact Markdown-only. */
|
|
121
121
|
test_engineer_exempt?: boolean;
|
|
122
|
+
planId?: string;
|
|
123
|
+
planIdentityHash?: string;
|
|
122
124
|
/** Exact-task workflow metadata. Missing on legacy evidence written before #2098. */
|
|
123
125
|
workflow?: TaskWorkflowMetadata;
|
|
124
126
|
/** Immutable source identity for an idempotent fail-closed evidence repair. */
|
|
@@ -341,6 +343,24 @@ export declare const ExternalEvidenceBundleSchema: z.ZodObject<{
|
|
|
341
343
|
}, z.core.$strip>;
|
|
342
344
|
export type ExternalEvidenceBundle = z.infer<typeof ExternalEvidenceBundleSchema>;
|
|
343
345
|
export declare function parseTaskEvidence(raw: string, expectedTaskId: string): TaskEvidence;
|
|
346
|
+
/**
|
|
347
|
+
* Stage B wedge fix (Class E): resolve the current plan identity from
|
|
348
|
+
* {directory}/.swarm/plan.json. Returns null when the plan is missing or
|
|
349
|
+
* unreadable; callers must treat null as "identity unknown" and never
|
|
350
|
+
* block evidence writes on it.
|
|
351
|
+
*/
|
|
352
|
+
export declare function resolveCurrentPlanIdentitySync(directory: string | undefined): {
|
|
353
|
+
planId: string;
|
|
354
|
+
planIdentityHash: string;
|
|
355
|
+
} | null;
|
|
356
|
+
/**
|
|
357
|
+
* Stage B wedge fix (Class E): true iff the evidence carries a plan-identity
|
|
358
|
+
* stamp that names a DIFFERENT plan than the current one. An absent stamp
|
|
359
|
+
* (legacy evidence written before stamping, or a plan.json that could not be
|
|
360
|
+
* read at write time) means "unknown", never "prior campaign": only a positive
|
|
361
|
+
* mismatch classifies evidence as predating the current campaign.
|
|
362
|
+
*/
|
|
363
|
+
export declare function evidenceStampedForDifferentPlan(evidence: TaskEvidence | null | undefined, currentPlanIdentityHash: string | null | undefined): boolean;
|
|
344
364
|
export declare const DEFAULT_REQUIRED_GATES: string[];
|
|
345
365
|
export interface GateDerivationContext {
|
|
346
366
|
/** Trusted pre/post workspace classification; false/absent fails closed. */
|
|
@@ -115,7 +115,7 @@ export declare function isEmptyDirectoryRemovalWithinWorkspace(targetPath: strin
|
|
|
115
115
|
* checkShellWriteScope, and a mirror that diverges answers "allow" for
|
|
116
116
|
* commands the gate blocks (#3099 review finding).
|
|
117
117
|
*/
|
|
118
|
-
export declare function resolveWindowsWriteAuthority(tool: string, command: string, detectedShellType: 'posix' | 'powershell' | 'cmd' | 'unix' | 'bash', shaped: boolean, platform?: NodeJS.Platform): 'powershell' | 'cmd' | null;
|
|
118
|
+
export declare function resolveWindowsWriteAuthority(tool: string, command: string, detectedShellType: 'posix' | 'powershell' | 'cmd' | 'unix' | 'bash', shaped: boolean, platform?: NodeJS.Platform, hostShell?: string): 'powershell' | 'cmd' | null;
|
|
119
119
|
/**
|
|
120
120
|
* Creates a toolBefore handler with the given shared context.
|
|
121
121
|
*
|
|
@@ -41,3 +41,20 @@ export declare const CMD_BUILTIN_PREFIX: RegExp;
|
|
|
41
41
|
export declare const CMD_STRIP_PREFIX: RegExp;
|
|
42
42
|
/** Strip pattern for a powershell/pwsh -Command/-c wrapper with switches. */
|
|
43
43
|
export declare const PS_STRIP_PREFIX: RegExp;
|
|
44
|
+
/** Record the host-reported shell for the `shell` tool (latest wins). */
|
|
45
|
+
export declare function recordObservedHostShell(shell: string): void;
|
|
46
|
+
/** The host-reported shell for the `shell` tool, when one has been observed. */
|
|
47
|
+
export declare function getObservedHostShell(): string | undefined;
|
|
48
|
+
/** Test seam: clear the observed host shell. */
|
|
49
|
+
export declare function resetObservedHostShell(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Classify a host-reported shell path into the grammar family the write
|
|
52
|
+
* detectors should apply for the `shell` tool: a PowerShell-family binary
|
|
53
|
+
* (powershell/pwsh) or cmd.exe keeps a Windows grammar eligible; ANY other
|
|
54
|
+
* basename (bash, zsh, sh, dash, ksh, fish, nu, …) is a POSIX-family
|
|
55
|
+
* executor. Separator-independent basename: the host may report a Windows
|
|
56
|
+
* path while the gate evaluates under an injected POSIX platform (and vice
|
|
57
|
+
* versa), so `path.basename` — which is separator-bound to the host — is
|
|
58
|
+
* never used here (mirrors `basenameAnySep` in shell-write-detect.ts).
|
|
59
|
+
*/
|
|
60
|
+
export declare function hostShellGrammarFamily(hostShell: string): 'windows' | 'posix';
|
|
@@ -22,6 +22,17 @@ 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
|
+
* Present ONLY on inspectable POSIX inline-code interpreter evals
|
|
27
|
+
* (`python -c`, `node -e`, `bash -c`, `eval`, … — the detectInterpreterEval
|
|
28
|
+
* sites). Marks a capability write whose target the gate routes through
|
|
29
|
+
* declared scope / file authority at the eval's working directory
|
|
30
|
+
* (#1902/#3347). The opaque interpreter_eval classes (PowerShell
|
|
31
|
+
* -EncodedCommand, nested script blocks, dynamic `&`/IEX invocation,
|
|
32
|
+
* unsafe-text parse failures) deliberately do NOT set it and keep the
|
|
33
|
+
* blanket block.
|
|
34
|
+
*/
|
|
35
|
+
capability?: true;
|
|
25
36
|
/**
|
|
26
37
|
* Set only for a bare POSIX `rmdir <dir>`: no options, exactly one literal
|
|
27
38
|
* operand (no expansion, glob, brace or quote characters). rmdir(2) refuses
|
|
@@ -63,6 +74,13 @@ export interface ResolvedWriteTarget {
|
|
|
63
74
|
* contains command substitution ($(cmd) or `cmd`).
|
|
64
75
|
*/
|
|
65
76
|
resolved: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* For capability interpreter-eval writes only: the working directory the
|
|
79
|
+
* eval runs at, tracked through subshell `cd` commands (the starting cwd
|
|
80
|
+
* when none precedes it). The gate authorizes the eval against this
|
|
81
|
+
* directory (#1902/#3347); absent for every other write kind.
|
|
82
|
+
*/
|
|
83
|
+
evalDirectory?: string;
|
|
66
84
|
}
|
|
67
85
|
/**
|
|
68
86
|
* Issue #3099 R2 (executor context): merge a POSIX analysis with a Windows
|
|
@@ -108,6 +126,14 @@ export declare function isPowerShellShaped(command: string): boolean;
|
|
|
108
126
|
* detectors cannot see) fails and the command stays blocked.
|
|
109
127
|
*/
|
|
110
128
|
export declare function isPowerShellReadOnlyPipeline(command: string): boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Separator-independent basename: splits on BOTH `/` and `\` so a Windows
|
|
131
|
+
* path (`C:\Python311\python.exe`) yields the same leaf under any host
|
|
132
|
+
* platform, then strips a case-insensitive `.exe` suffix. Used by the
|
|
133
|
+
* interpreter-spelling normalizer (#3343) and the host-shell classifier
|
|
134
|
+
* (#3346) — never `path.basename`, which is separator-bound to the host.
|
|
135
|
+
*/
|
|
136
|
+
export declare function basenameAnySep(word: string): string;
|
|
111
137
|
/**
|
|
112
138
|
* Detect interactive/session tools that should be denied regardless of scope.
|
|
113
139
|
*
|
package/dist/host/v2/hooks.d.ts
CHANGED
|
@@ -77,3 +77,23 @@ export declare function registerV2ToolHooks(ctx: V2PluginContext, hooks: V1Hooks
|
|
|
77
77
|
* warns, and only a double failure rejects.
|
|
78
78
|
*/
|
|
79
79
|
export declare function registerV2SessionHooks(ctx: V2PluginContext, hooks: V1HooksSubset, directory: string, registrations: V2Registration[]): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Register the shell-executor observer hook (#3346).
|
|
82
|
+
*
|
|
83
|
+
* The v2 host reports the shell a `shell`-tool command will actually execute
|
|
84
|
+
* through `ctx.shell` "create.before" (payload carries the resolved `shell`
|
|
85
|
+
* path). Recording it in the observed-host-shell store lets the write gate
|
|
86
|
+
* and `/swarm guardrail explain` key cmd/powershell grammar inheritance on
|
|
87
|
+
* the real executor instead of the platform — closing the Git-Bash-on-Windows
|
|
88
|
+
* false-positive class from #3323/#3346.
|
|
89
|
+
*
|
|
90
|
+
* Contract (mirrors registerV2SessionHooks' bounded registration, with a
|
|
91
|
+
* softer failure mode): a host without the shell domain (pre-2.0.29-era
|
|
92
|
+
* hosts; the vendored member is optional) is a SKIP, not a failure — the
|
|
93
|
+
* gate falls back to the platform-keyed interim, never wider than today. A
|
|
94
|
+
* present-but-REJECTING registration warns through the shared
|
|
95
|
+
* warnV2HookRegistrationFailure path and is likewise non-fatal; a successful
|
|
96
|
+
* registration lands in the disposal sink. Authoritative hook observations
|
|
97
|
+
* only — this module performs no environment probing (plan-critic r2).
|
|
98
|
+
*/
|
|
99
|
+
export declare function registerV2ShellHooks(ctx: V2PluginContext, registrations: V2Registration[]): Promise<void>;
|
package/dist/host/v2/types.d.ts
CHANGED
|
@@ -97,6 +97,24 @@ export interface V2ToolEditor {
|
|
|
97
97
|
readonly description: string;
|
|
98
98
|
}): void;
|
|
99
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* v2 `ShellCreateBefore` payload (dist/promise/shell.d.ts @2.0.29). The
|
|
102
|
+
* `shell` field is the resolved shell PATH the host will execute the
|
|
103
|
+
* command with (upstream `ShellSelect` resolution) — the authoritative
|
|
104
|
+
* executor report the write gate keys cmd/powershell grammar inheritance
|
|
105
|
+
* on (#3346).
|
|
106
|
+
*/
|
|
107
|
+
export interface V2ShellCreateBefore {
|
|
108
|
+
readonly command: string;
|
|
109
|
+
readonly cwd: string;
|
|
110
|
+
readonly timeout: number;
|
|
111
|
+
readonly shell: string;
|
|
112
|
+
readonly env: Record<string, string | undefined>;
|
|
113
|
+
}
|
|
114
|
+
/** v2 `ShellDomain` (dist/promise/shell.d.ts @2.0.29) — hook payloads inline. */
|
|
115
|
+
export interface V2ShellDomain {
|
|
116
|
+
readonly hook: <K extends 'create.before'>(event: K, handler: (payload: V2ShellCreateBefore) => Promise<void> | void) => Promise<unknown> | unknown;
|
|
117
|
+
}
|
|
100
118
|
/** v2 `ToolDomain` (dist/promise/tool.d.ts) — hook payloads inline. */
|
|
101
119
|
export interface V2ToolDomain {
|
|
102
120
|
readonly transform: (callback: (editor: V2ToolEditor) => void) => Promise<V2Registration>;
|
|
@@ -522,6 +540,15 @@ export interface V2PluginContext {
|
|
|
522
540
|
readonly permission?: V2PermissionDomain;
|
|
523
541
|
/** Present on 2.0.26 hosts; no Phase 1 code path consumes it (issue #3169). */
|
|
524
542
|
readonly worktree?: V2WorktreeDomain;
|
|
543
|
+
/**
|
|
544
|
+
* v2 `ShellDomain` (dist/promise/shell.d.ts @2.0.29; the
|
|
545
|
+
* `shell.create.before` hook was added upstream 2026-07-29 and is present
|
|
546
|
+
* across the vendored 2.0.26 pin). OPTIONAL: hosts predating the domain —
|
|
547
|
+
* and the structural-type discipline of this file — treat it as absent.
|
|
548
|
+
* Consumed by `registerV2ShellHooks` (src/host/v2/hooks.ts) to observe
|
|
549
|
+
* the shell the `shell` tool actually executes (#3346).
|
|
550
|
+
*/
|
|
551
|
+
readonly shell?: V2ShellDomain;
|
|
525
552
|
readonly [key: string]: unknown;
|
|
526
553
|
}
|
|
527
554
|
/** v2 `Cleanup` — the return of `setup`. */
|