opencode-swarm 7.192.2 → 7.192.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/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
- package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
- package/dist/cli/{auto-checkpoint-735m8sz7.js → auto-checkpoint-1xy6dprq.js} +4 -4
- package/dist/cli/{checkpoint-ptzc5jev.js → checkpoint-wvhmkgv5.js} +8 -8
- package/dist/cli/{coder-settlement-hh5165m1.js → coder-settlement-wpkmkgcf.js} +3 -3
- package/dist/cli/{config-doctor-wzzvhpcr.js → config-doctor-xvhejh7g.js} +7 -7
- package/dist/cli/{core-0jarm64k.js → core-yzgm8pcw.js} +1 -1
- package/dist/cli/{curator-f7crssw2.js → curator-3xh6246r.js} +25 -25
- package/dist/cli/{curator-drift-f4aqxz9e.js → curator-drift-5c041yaf.js} +5 -5
- package/dist/cli/{curator-llm-factory-kxnzvhje.js → curator-llm-factory-6y7wrbvk.js} +25 -25
- package/dist/cli/{doctor-knowledge-receipt-phase-id-qvp1h3xv.js → doctor-knowledge-receipt-phase-id-cx6n5jtp.js} +4 -4
- package/dist/cli/{evidence-summary-service-379skych.js → evidence-summary-service-cc139a85.js} +9 -9
- package/dist/cli/{gate-evidence-b4cfrrgn.js → gate-evidence-7azk0xbt.js} +2 -2
- package/dist/cli/{guardrail-explain-tcnfc3te.js → guardrail-explain-b3y98j5b.js} +26 -26
- package/dist/cli/{guardrail-log-xe1evybk.js → guardrail-log-env1h4wr.js} +3 -3
- package/dist/cli/{guardrail-reset-jwx5hsgp.js → guardrail-reset-1404ymcw.js} +25 -25
- package/dist/cli/{hive-promoter-nks9a9s8.js → hive-promoter-hap3dh02.js} +25 -25
- package/dist/cli/{index-xf5v44qh.js → index-22ww8fjt.js} +1 -1
- package/dist/cli/{index-7a92gwbg.js → index-2qpme44n.js} +1 -1
- package/dist/cli/{index-ba87gkb4.js → index-54p1vs33.js} +2 -2
- package/dist/cli/{index-qta3x82z.js → index-5gyq54c5.js} +4296 -3283
- package/dist/cli/{index-k96fx4yw.js → index-6k70exke.js} +1 -1
- package/dist/cli/{index-89826pb5.js → index-6vwnm3sm.js} +2 -2
- package/dist/cli/{index-f54stv77.js → index-72eh47b2.js} +1 -1
- package/dist/cli/{index-878ksabw.js → index-c5gb6a86.js} +5 -5
- package/dist/cli/{index-914wsfyy.js → index-c6wzbs0g.js} +1 -1
- package/dist/cli/{index-q0bctx7k.js → index-c8fjbghs.js} +1 -1
- package/dist/cli/{index-5s74qd5b.js → index-cp9h2sqb.js} +1 -1
- package/dist/cli/{index-2y7y0bxf.js → index-ftatc9wj.js} +25 -25
- package/dist/cli/{index-yte4hqhv.js → index-g2phkwh2.js} +3 -3
- package/dist/cli/{index-w8e73tp0.js → index-gkr6ns9n.js} +2 -2
- package/dist/cli/{index-7bppy3ve.js → index-j4pxkvw3.js} +1 -1
- package/dist/cli/{index-xen0j48x.js → index-jb669k7s.js} +30 -8
- package/dist/cli/{index-ejq082zj.js → index-kn16k0fv.js} +1 -1
- package/dist/cli/{index-4tfr4j1a.js → index-myjqj3na.js} +3 -3
- package/dist/cli/{index-hcsz7bhg.js → index-q47snsb2.js} +3 -3
- package/dist/cli/{index-cf003krm.js → index-qzkrcz1r.js} +3 -3
- package/dist/cli/{index-w9y482mp.js → index-rqapvhh5.js} +1 -1
- package/dist/cli/{index-29z0w323.js → index-rsfvxaw0.js} +4 -4
- package/dist/cli/{index-qp3twbdz.js → index-s43zb23q.js} +27 -27
- package/dist/cli/{index-a83gmv2e.js → index-s68yyat0.js} +1 -1
- package/dist/cli/{index-w917g452.js → index-tww9qw9z.js} +6 -6
- package/dist/cli/{index-br28jc6d.js → index-v6ghzghn.js} +1 -1
- package/dist/cli/{index-asm2r4g2.js → index-vgktct21.js} +3 -3
- package/dist/cli/{index-ypvz2c60.js → index-xpwp9hw1.js} +1 -1
- package/dist/cli/{index-25zjz6kv.js → index-xwxqtdwz.js} +1 -1
- package/dist/cli/{index-4qreeddq.js → index-zya4a544.js} +2 -2
- package/dist/cli/index.js +26 -26
- package/dist/cli/{knowledge-escalator-gzzr7cy2.js → knowledge-escalator-eta167xh.js} +7 -7
- package/dist/cli/{knowledge-events-b16yc189.js → knowledge-events-mz25jn9f.js} +5 -5
- package/dist/cli/{knowledge-store-arj3by4h.js → knowledge-store-qd08dbws.js} +1 -1
- package/dist/cli/{knowledge-validator-b3qhjg0t.js → knowledge-validator-jyrsgamq.js} +2 -2
- package/dist/cli/{mcp-972t0jt0.js → mcp-4wgxc5ax.js} +1 -1
- package/dist/cli/{model-preflight-f1xvxk6e.js → model-preflight-4p3x4vma.js} +25 -25
- package/dist/cli/{pending-delegations-fv5xz799.js → pending-delegations-7hm6xgzw.js} +2 -2
- package/dist/cli/{pr-subscriptions-4mcwj33s.js → pr-subscriptions-2y3w5pyt.js} +1 -1
- package/dist/cli/{pr-workflow-gate-ap5cp211.js → pr-workflow-gate-y04z3z80.js} +25 -25
- package/dist/cli/{scan-cursor-tceyckdx.js → scan-cursor-2hpc6mxt.js} +2 -2
- package/dist/cli/{schema-pqevpe3m.js → schema-33k1e2cv.js} +1 -1
- package/dist/cli/{scope-persistence-ta6ydymv.js → scope-persistence-y769jep8.js} +5 -5
- package/dist/cli/{server-s9bfax7h.js → server-199m00cz.js} +25 -25
- package/dist/cli/{skill-generator-xdg4626x.js → skill-generator-b9by3739.js} +8 -8
- package/dist/cli/{snapshot-coordination-init-wn0hnwyv.js → snapshot-coordination-init-wyyn8ftk.js} +25 -25
- package/dist/cli/{speckit-checkoff-8x139jpf.js → speckit-checkoff-y2ywmh9k.js} +3 -3
- package/dist/cli/{worktree-collision-ownership-as8hnnff.js → worktree-collision-ownership-hg0yrc5b.js} +2 -2
- package/dist/cli/{worktree-isolation-7vrs8t9b.js → worktree-isolation-epbn1xgh.js} +25 -25
- package/dist/failures/provider-message-error.d.ts +2 -1
- package/dist/hooks/guardrails/tool-before.d.ts +19 -0
- package/dist/hooks/pr-workflow-gate.d.ts +8 -0
- package/dist/hooks/shell-executor-context.d.ts +43 -0
- package/dist/hooks/shell-write-detect.d.ts +44 -0
- package/dist/index.js +423 -420
- package/dist/services/pr-workflow-gh-readiness.d.ts +30 -0
- package/dist/tools/gh-evidence.d.ts +14 -0
- package/dist/turbo/lean/runner.d.ts +2 -0
- 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-vgktct21.js";
|
|
37
37
|
import"./index-q7sjgr1y.js";
|
|
38
|
-
import"./index-
|
|
39
|
-
import"./index-
|
|
38
|
+
import"./index-zya4a544.js";
|
|
39
|
+
import"./index-gkr6ns9n.js";
|
|
40
40
|
import"./index-m9zzj4ee.js";
|
|
41
41
|
import"./index-eaess7dm.js";
|
|
42
42
|
import"./index-2s7dvzff.js";
|
|
43
|
-
import"./index-
|
|
43
|
+
import"./index-j4pxkvw3.js";
|
|
44
44
|
import"./index-5dws7eyb.js";
|
|
45
45
|
import"./index-rtry5xyf.js";
|
|
46
|
-
import"./index-
|
|
46
|
+
import"./index-6vwnm3sm.js";
|
|
47
47
|
import"./index-g22dps7x.js";
|
|
48
48
|
import"./index-0725jpp7.js";
|
|
49
49
|
import"./index-4twjbsfw.js";
|
|
50
|
-
import"./index-
|
|
50
|
+
import"./index-rsfvxaw0.js";
|
|
51
51
|
import"./index-vzm6zre7.js";
|
|
52
52
|
import"./index-ae75rja9.js";
|
|
53
53
|
import"./index-bgzpw6ge.js";
|
|
@@ -60,9 +60,9 @@ import"./index-ejhxgyvm.js";
|
|
|
60
60
|
import"./index-7g4c7s5r.js";
|
|
61
61
|
import"./index-nwswxes7.js";
|
|
62
62
|
import"./index-gx2vp8gx.js";
|
|
63
|
-
import"./index-
|
|
63
|
+
import"./index-rqapvhh5.js";
|
|
64
64
|
import"./index-zxdawwc7.js";
|
|
65
|
-
import"./index-
|
|
65
|
+
import"./index-s68yyat0.js";
|
|
66
66
|
import"./index-py8wpe81.js";
|
|
67
67
|
import"./index-bk5tah7q.js";
|
|
68
68
|
import"./index-gknz3bv1.js";
|
package/dist/cli/{snapshot-coordination-init-wn0hnwyv.js → snapshot-coordination-init-wyyn8ftk.js}
RENAMED
|
@@ -8,50 +8,50 @@ import {
|
|
|
8
8
|
markSnapshotCoordinationClosing,
|
|
9
9
|
retrySnapshotCoordinationInitialization,
|
|
10
10
|
startSnapshotCoordinationInitialization
|
|
11
|
-
} from "./index-
|
|
12
|
-
import"./index-
|
|
13
|
-
import"./index-
|
|
14
|
-
import"./index-
|
|
11
|
+
} from "./index-5gyq54c5.js";
|
|
12
|
+
import"./index-22ww8fjt.js";
|
|
13
|
+
import"./index-g2phkwh2.js";
|
|
14
|
+
import"./index-xwxqtdwz.js";
|
|
15
15
|
import"./index-j2vv0h13.js";
|
|
16
16
|
import"./index-0e1nxkte.js";
|
|
17
17
|
import"./index-5gy5dc2n.js";
|
|
18
18
|
import"./index-txdagbh7.js";
|
|
19
|
-
import"./index-
|
|
19
|
+
import"./index-c6wzbs0g.js";
|
|
20
20
|
import"./index-rdec0y3z.js";
|
|
21
|
-
import"./index-
|
|
22
|
-
import"./index-
|
|
23
|
-
import"./index-
|
|
24
|
-
import"./index-
|
|
21
|
+
import"./index-v6ghzghn.js";
|
|
22
|
+
import"./index-myjqj3na.js";
|
|
23
|
+
import"./index-vgktct21.js";
|
|
24
|
+
import"./index-tww9qw9z.js";
|
|
25
25
|
import"./index-fzqn2kk8.js";
|
|
26
26
|
import"./index-dtet46e6.js";
|
|
27
27
|
import"./index-cjapb4hy.js";
|
|
28
28
|
import"./index-g8jd3h4r.js";
|
|
29
29
|
import"./index-pt7h91zc.js";
|
|
30
30
|
import"./index-q7sjgr1y.js";
|
|
31
|
-
import"./index-
|
|
32
|
-
import"./index-
|
|
31
|
+
import"./index-qzkrcz1r.js";
|
|
32
|
+
import"./index-c5gb6a86.js";
|
|
33
33
|
import"./index-6b295cas.js";
|
|
34
34
|
import"./index-9nyqt3kb.js";
|
|
35
|
-
import"./index-
|
|
35
|
+
import"./index-cp9h2sqb.js";
|
|
36
36
|
import"./index-v3bmwmqw.js";
|
|
37
|
-
import"./index-
|
|
38
|
-
import"./index-
|
|
39
|
-
import"./index-
|
|
37
|
+
import"./index-6k70exke.js";
|
|
38
|
+
import"./index-2qpme44n.js";
|
|
39
|
+
import"./index-72eh47b2.js";
|
|
40
40
|
import"./index-g4fs6z4e.js";
|
|
41
|
-
import"./index-
|
|
42
|
-
import"./index-
|
|
43
|
-
import"./index-
|
|
41
|
+
import"./index-xpwp9hw1.js";
|
|
42
|
+
import"./index-zya4a544.js";
|
|
43
|
+
import"./index-gkr6ns9n.js";
|
|
44
44
|
import"./index-m9zzj4ee.js";
|
|
45
45
|
import"./index-eaess7dm.js";
|
|
46
46
|
import"./index-2s7dvzff.js";
|
|
47
|
-
import"./index-
|
|
47
|
+
import"./index-j4pxkvw3.js";
|
|
48
48
|
import"./index-5dws7eyb.js";
|
|
49
49
|
import"./index-rtry5xyf.js";
|
|
50
|
-
import"./index-
|
|
50
|
+
import"./index-6vwnm3sm.js";
|
|
51
51
|
import"./index-g22dps7x.js";
|
|
52
52
|
import"./index-0725jpp7.js";
|
|
53
|
-
import"./index-
|
|
54
|
-
import"./index-
|
|
53
|
+
import"./index-kn16k0fv.js";
|
|
54
|
+
import"./index-54p1vs33.js";
|
|
55
55
|
import"./index-a9m7h5v0.js";
|
|
56
56
|
import"./index-dt4cjxbz.js";
|
|
57
57
|
import"./index-mbn4vn3z.js";
|
|
@@ -60,7 +60,7 @@ import"./index-ry16d01s.js";
|
|
|
60
60
|
import"./index-rdm3px0g.js";
|
|
61
61
|
import"./index-7pmbnjvj.js";
|
|
62
62
|
import"./index-4twjbsfw.js";
|
|
63
|
-
import"./index-
|
|
63
|
+
import"./index-rsfvxaw0.js";
|
|
64
64
|
import"./index-vzm6zre7.js";
|
|
65
65
|
import"./index-ae75rja9.js";
|
|
66
66
|
import"./index-bgzpw6ge.js";
|
|
@@ -73,9 +73,9 @@ import"./index-ejhxgyvm.js";
|
|
|
73
73
|
import"./index-7g4c7s5r.js";
|
|
74
74
|
import"./index-nwswxes7.js";
|
|
75
75
|
import"./index-gx2vp8gx.js";
|
|
76
|
-
import"./index-
|
|
76
|
+
import"./index-rqapvhh5.js";
|
|
77
77
|
import"./index-zxdawwc7.js";
|
|
78
|
-
import"./index-
|
|
78
|
+
import"./index-s68yyat0.js";
|
|
79
79
|
import"./index-py8wpe81.js";
|
|
80
80
|
import"./index-bk5tah7q.js";
|
|
81
81
|
import"./index-gknz3bv1.js";
|
|
@@ -7,13 +7,13 @@ import {
|
|
|
7
7
|
parseSpeckitTasksContent,
|
|
8
8
|
propagateSpeckitCheckoff,
|
|
9
9
|
writeSpeckitCheckoffLedger
|
|
10
|
-
} from "./index-
|
|
10
|
+
} from "./index-6k70exke.js";
|
|
11
11
|
import"./index-ejhxgyvm.js";
|
|
12
12
|
import"./index-7g4c7s5r.js";
|
|
13
13
|
import"./index-nwswxes7.js";
|
|
14
|
-
import"./index-
|
|
14
|
+
import"./index-rqapvhh5.js";
|
|
15
15
|
import"./index-zxdawwc7.js";
|
|
16
|
-
import"./index-
|
|
16
|
+
import"./index-s68yyat0.js";
|
|
17
17
|
import"./index-py8wpe81.js";
|
|
18
18
|
import"./index-bk5tah7q.js";
|
|
19
19
|
import"./index-gknz3bv1.js";
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
import {
|
|
14
14
|
scanDelegationFallbacksForRecovery,
|
|
15
15
|
scanDelegationsForRecovery
|
|
16
|
-
} from "./index-
|
|
16
|
+
} from "./index-xpwp9hw1.js";
|
|
17
17
|
import"./index-eaess7dm.js";
|
|
18
18
|
import"./index-2s7dvzff.js";
|
|
19
19
|
import"./index-dt4cjxbz.js";
|
|
@@ -23,7 +23,7 @@ import"./index-ry16d01s.js";
|
|
|
23
23
|
import"./index-rdm3px0g.js";
|
|
24
24
|
import"./index-7pmbnjvj.js";
|
|
25
25
|
import"./index-4twjbsfw.js";
|
|
26
|
-
import"./index-
|
|
26
|
+
import"./index-rsfvxaw0.js";
|
|
27
27
|
import"./index-vzm6zre7.js";
|
|
28
28
|
import"./index-ae75rja9.js";
|
|
29
29
|
import"./index-bgzpw6ge.js";
|
|
@@ -25,52 +25,52 @@ import {
|
|
|
25
25
|
sanitizeWorktreeTaskId,
|
|
26
26
|
standardWorktreeByCallID,
|
|
27
27
|
standardWorktreeSerializationSessions
|
|
28
|
-
} from "./index-
|
|
29
|
-
import"./index-
|
|
30
|
-
import"./index-
|
|
31
|
-
import"./index-
|
|
28
|
+
} from "./index-5gyq54c5.js";
|
|
29
|
+
import"./index-22ww8fjt.js";
|
|
30
|
+
import"./index-g2phkwh2.js";
|
|
31
|
+
import"./index-xwxqtdwz.js";
|
|
32
32
|
import"./index-j2vv0h13.js";
|
|
33
33
|
import"./index-0e1nxkte.js";
|
|
34
34
|
import"./index-5gy5dc2n.js";
|
|
35
35
|
import"./index-txdagbh7.js";
|
|
36
|
-
import"./index-
|
|
36
|
+
import"./index-c6wzbs0g.js";
|
|
37
37
|
import"./index-rdec0y3z.js";
|
|
38
|
-
import"./index-
|
|
39
|
-
import"./index-
|
|
40
|
-
import"./index-
|
|
41
|
-
import"./index-
|
|
38
|
+
import"./index-v6ghzghn.js";
|
|
39
|
+
import"./index-myjqj3na.js";
|
|
40
|
+
import"./index-vgktct21.js";
|
|
41
|
+
import"./index-tww9qw9z.js";
|
|
42
42
|
import"./index-fzqn2kk8.js";
|
|
43
43
|
import"./index-dtet46e6.js";
|
|
44
44
|
import"./index-cjapb4hy.js";
|
|
45
45
|
import"./index-g8jd3h4r.js";
|
|
46
46
|
import"./index-pt7h91zc.js";
|
|
47
47
|
import"./index-q7sjgr1y.js";
|
|
48
|
-
import"./index-
|
|
49
|
-
import"./index-
|
|
48
|
+
import"./index-qzkrcz1r.js";
|
|
49
|
+
import"./index-c5gb6a86.js";
|
|
50
50
|
import"./index-6b295cas.js";
|
|
51
51
|
import"./index-9nyqt3kb.js";
|
|
52
|
-
import"./index-
|
|
52
|
+
import"./index-cp9h2sqb.js";
|
|
53
53
|
import"./index-v3bmwmqw.js";
|
|
54
|
-
import"./index-
|
|
55
|
-
import"./index-
|
|
56
|
-
import"./index-
|
|
54
|
+
import"./index-6k70exke.js";
|
|
55
|
+
import"./index-2qpme44n.js";
|
|
56
|
+
import"./index-72eh47b2.js";
|
|
57
57
|
import"./index-g4fs6z4e.js";
|
|
58
|
-
import"./index-
|
|
59
|
-
import"./index-
|
|
60
|
-
import"./index-
|
|
58
|
+
import"./index-xpwp9hw1.js";
|
|
59
|
+
import"./index-zya4a544.js";
|
|
60
|
+
import"./index-gkr6ns9n.js";
|
|
61
61
|
import"./index-m9zzj4ee.js";
|
|
62
62
|
import"./index-eaess7dm.js";
|
|
63
63
|
import"./index-2s7dvzff.js";
|
|
64
|
-
import"./index-
|
|
64
|
+
import"./index-j4pxkvw3.js";
|
|
65
65
|
import"./index-5dws7eyb.js";
|
|
66
66
|
import"./index-rtry5xyf.js";
|
|
67
67
|
import {
|
|
68
68
|
resolveWorktreeIsolationConfig
|
|
69
|
-
} from "./index-
|
|
69
|
+
} from "./index-6vwnm3sm.js";
|
|
70
70
|
import"./index-g22dps7x.js";
|
|
71
71
|
import"./index-0725jpp7.js";
|
|
72
|
-
import"./index-
|
|
73
|
-
import"./index-
|
|
72
|
+
import"./index-kn16k0fv.js";
|
|
73
|
+
import"./index-54p1vs33.js";
|
|
74
74
|
import"./index-a9m7h5v0.js";
|
|
75
75
|
import"./index-dt4cjxbz.js";
|
|
76
76
|
import"./index-mbn4vn3z.js";
|
|
@@ -79,7 +79,7 @@ import"./index-ry16d01s.js";
|
|
|
79
79
|
import"./index-rdm3px0g.js";
|
|
80
80
|
import"./index-7pmbnjvj.js";
|
|
81
81
|
import"./index-4twjbsfw.js";
|
|
82
|
-
import"./index-
|
|
82
|
+
import"./index-rsfvxaw0.js";
|
|
83
83
|
import"./index-vzm6zre7.js";
|
|
84
84
|
import"./index-ae75rja9.js";
|
|
85
85
|
import"./index-bgzpw6ge.js";
|
|
@@ -92,9 +92,9 @@ import"./index-ejhxgyvm.js";
|
|
|
92
92
|
import"./index-7g4c7s5r.js";
|
|
93
93
|
import"./index-nwswxes7.js";
|
|
94
94
|
import"./index-gx2vp8gx.js";
|
|
95
|
-
import"./index-
|
|
95
|
+
import"./index-rqapvhh5.js";
|
|
96
96
|
import"./index-zxdawwc7.js";
|
|
97
|
-
import"./index-
|
|
97
|
+
import"./index-s68yyat0.js";
|
|
98
98
|
import"./index-py8wpe81.js";
|
|
99
99
|
import"./index-bk5tah7q.js";
|
|
100
100
|
import"./index-gknz3bv1.js";
|
|
@@ -7,7 +7,8 @@ export type ProviderMessageError = {
|
|
|
7
7
|
category: string;
|
|
8
8
|
};
|
|
9
9
|
/**
|
|
10
|
-
* Read the provider error OpenCode records on an assistant message
|
|
10
|
+
* Read the provider error OpenCode records on an assistant message
|
|
11
|
+
* (`info.error`, or an early `finish` of `length` / `content-filter`), or
|
|
11
12
|
* `null` when the message carries none.
|
|
12
13
|
*/
|
|
13
14
|
export declare function readProviderMessageError(info: unknown): ProviderMessageError | null;
|
|
@@ -69,6 +69,25 @@ export declare function _resetSandboxUnavailableWarningState(): void;
|
|
|
69
69
|
* @param ctx Shared configuration and closures from createGuardrailsHooks
|
|
70
70
|
* @returns The toolBefore handler function
|
|
71
71
|
*/
|
|
72
|
+
/**
|
|
73
|
+
* Issue #3099 R2 (executor context): which grammar OWNS shared constructs.
|
|
74
|
+
*
|
|
75
|
+
* Content alone cannot pick the grammar — the Windows sandbox wraps commands
|
|
76
|
+
* in PowerShell (src/sandbox/win32) while the recovery runbook documents Git
|
|
77
|
+
* Bash AND PowerShell as both-real host shells. The authority ladder:
|
|
78
|
+
* 1. an explicit wrapper DECLARES the executor (cmd /c, powershell
|
|
79
|
+
* -Command) — that grammar is authoritative;
|
|
80
|
+
* 2. a PowerShell-shaped body cannot execute under POSIX at all, so
|
|
81
|
+
* Windows is authoritative;
|
|
82
|
+
* 3. otherwise the tool's own executor: `bash` runs a POSIX shell; the
|
|
83
|
+
* `shell` tool inherits base content detection.
|
|
84
|
+
*
|
|
85
|
+
* Exported so `/swarm guardrail explain` routes through the SAME decision
|
|
86
|
+
* instead of a stale copy — its comment promises a mirror of
|
|
87
|
+
* checkShellWriteScope, and a mirror that diverges answers "allow" for
|
|
88
|
+
* commands the gate blocks (#3099 review finding).
|
|
89
|
+
*/
|
|
90
|
+
export declare function resolveWindowsWriteAuthority(tool: string, command: string, detectedShellType: 'posix' | 'powershell' | 'cmd' | 'unix' | 'bash', shaped: boolean): 'powershell' | 'cmd' | null;
|
|
72
91
|
export declare function createToolBeforeHandler(ctx: ToolBeforeContext): (input: {
|
|
73
92
|
tool: string;
|
|
74
93
|
sessionID: string;
|
|
@@ -16,6 +16,7 @@ import { type CriticOutcome } from '../pr-review/finding-policy.js';
|
|
|
16
16
|
import { type PrReviewComposablePhase, type PrReviewItemClaim, type PrReviewPhaseComposition, parseCriticVerdict } from '../pr-review/legacy-transcript-adapter.js';
|
|
17
17
|
import { withPrWorkflowCheckoutMutationLock, workflowCheckoutMutationLockRelativePath, workflowGateStateLockRelativePath, workflowGateStateRelativePath } from '../pr-review/persistence.js';
|
|
18
18
|
import { type ForgeContext } from '../providers/forge-provider.js';
|
|
19
|
+
import { resolveGhBinary } from '../tools/gh-evidence.js';
|
|
19
20
|
import { classifyLaneLivenessCondition, type EffectivePrLaneHorizon, resolveEffectivePrLaneHorizonMs } from './lane-liveness-watchdog.js';
|
|
20
21
|
export type { PrReviewDimensionCancellationRecord, PrReviewDimensionTerminalState, PrReviewPartialBaseCoverageRecord, PrReviewPartialBaseCoverageRecordV1, PrReviewPartialBaseCoverageRecordV2, PrReviewReportVerdict, PrReviewTerminalCoverageKind, PrReviewTerminalCoverageSettlement, PrReviewUnresolvedDimensionRecord, } from '../pr-review/completion.js';
|
|
21
22
|
export { allowedPrReviewReportVerdicts, normalizePrReviewPartialBaseCoverageRecord, PR_REVIEW_REPORT_VERDICTS, readPrReviewTerminalCoverageForReport, rollbackPrReviewPartialBaseCoverageAdmission, } from '../pr-review/completion.js';
|
|
@@ -1532,6 +1533,13 @@ export declare function completePrWorkflow(directory: string, sessionID: string,
|
|
|
1532
1533
|
laneLiveness?: PrWorkflowLaneLivenessOptions;
|
|
1533
1534
|
}): Promise<PrWorkflowCompletionStatus>;
|
|
1534
1535
|
export declare const _test_exports: {
|
|
1536
|
+
/**
|
|
1537
|
+
* Issue #3099 R6: `gh` availability seam. Read at ACTIVATION call time and
|
|
1538
|
+
* handed to the readiness service, so a test can pin presence or absence.
|
|
1539
|
+
* Seeded to the real resolver, so removing the property falls back to live
|
|
1540
|
+
* behavioural detection rather than to a null stub.
|
|
1541
|
+
*/
|
|
1542
|
+
resolveGhBinary: typeof resolveGhBinary;
|
|
1535
1543
|
parseGateState: (data: unknown) => z.ZodSafeParseResult<{
|
|
1536
1544
|
[x: string]: unknown;
|
|
1537
1545
|
schemaVersion: 1;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Windows-executor wrapper declaration predicates (#3145).
|
|
3
|
+
*
|
|
4
|
+
* The wrapper-detection regexes lived as four byte-identical copies
|
|
5
|
+
* (resolveWindowsWriteAuthority, the gate's detect() closure, and both
|
|
6
|
+
* explain-service branches). Byte-divergence between those copies was the
|
|
7
|
+
* exact defect class of review rounds 5-7 (one copy drifting flipped
|
|
8
|
+
* explain-vs-gate verdicts), so this module is now the single definition.
|
|
9
|
+
*
|
|
10
|
+
* Switch tolerance (PRR-002): cmd.exe accepts switches between the binary
|
|
11
|
+
* and /c — `cmd /d /s /c copy a b`, `cmd /q /c`, `cmd /v:on /c`. The
|
|
12
|
+
* previous bare-`/c` regexes let every switch form fall through the
|
|
13
|
+
* authority ladder to the POSIX-only reading, which has no `copy`/`move`
|
|
14
|
+
* vocabulary — an out-of-scope write admitted. The same tolerance applies
|
|
15
|
+
* to the PowerShell wrapper strips (PRR-009): `powershell -NoProfile
|
|
16
|
+
* -Command "…"` must unwrap for the (now-authoritative) Windows reading to
|
|
17
|
+
* see the payload.
|
|
18
|
+
*/
|
|
19
|
+
/** Statement-position cmd /c declaration (switch-tolerant). */
|
|
20
|
+
export declare const CMD_WRAPPER_DECLARATION: RegExp;
|
|
21
|
+
/** Statement-position powershell/pwsh -Command declaration. */
|
|
22
|
+
export declare const PS_WRAPPER_DECLARATION: RegExp;
|
|
23
|
+
/** Loose powershell phrase (segment start or pipe) used by the ladder. */
|
|
24
|
+
export declare const PS_WRAPPER_LOOSE: RegExp;
|
|
25
|
+
/**
|
|
26
|
+
* True when the command explicitly declares a Windows executor at a
|
|
27
|
+
* statement boundary: a cmd /c wrapper (any switches) or a
|
|
28
|
+
* powershell/pwsh -Command wrapper.
|
|
29
|
+
*/
|
|
30
|
+
export declare function declaresWindowsWrapper(command: string): boolean;
|
|
31
|
+
/** Same declaration, additionally accepting the pipe-adjacent loose form. */
|
|
32
|
+
export declare function declaresWindowsWrapperLoose(command: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Leading prefix that positions a cmd builtin (copy/move): an if-exist
|
|
35
|
+
* guard, a switch-tolerant `cmd … /c`, or call/start. Anchored variants of
|
|
36
|
+
* the cmd copy/move matchers compose this so `cmd /d /s /c copy a b` is
|
|
37
|
+
* detected like bare `cmd /c copy a b`.
|
|
38
|
+
*/
|
|
39
|
+
export declare const CMD_BUILTIN_PREFIX: RegExp;
|
|
40
|
+
/** Strip pattern for a cmd /c or /k wrapper with any switches. */
|
|
41
|
+
export declare const CMD_STRIP_PREFIX: RegExp;
|
|
42
|
+
/** Strip pattern for a powershell/pwsh -Command/-c wrapper with switches. */
|
|
43
|
+
export declare const PS_STRIP_PREFIX: RegExp;
|
|
@@ -52,6 +52,50 @@ export interface ResolvedWriteTarget {
|
|
|
52
52
|
*/
|
|
53
53
|
resolved: boolean;
|
|
54
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Issue #3099 R2 (executor context): merge a POSIX analysis with a Windows
|
|
57
|
+
* analysis under a declared AUTHORITY for shared constructs.
|
|
58
|
+
*
|
|
59
|
+
* Both grammars may report the same syntactic construct (e.g. a `>` redirect)
|
|
60
|
+
* with different path readings, because POSIX treats `\` as an escape: the
|
|
61
|
+
* same command yields `src\out.txt` under the Windows reading and `srcout`
|
|
62
|
+
* under POSIX. Only one of those describes what the real executor writes, and
|
|
63
|
+
* the guard cannot observe the executor — so the reading of the AUTHORITY
|
|
64
|
+
* grammar (the one matching the declared executor context: an explicit
|
|
65
|
+
* `cmd /c` / `powershell -Command` wrapper, or a PowerShell-shaped body that
|
|
66
|
+
* POSIX cannot execute at all) is kept, and the supplementary grammar
|
|
67
|
+
* contributes ONLY constructs the authority does not report at all (e.g. a
|
|
68
|
+
* POSIX `cp` inside a PowerShell pipeline). Lexical resemblance alone never
|
|
69
|
+
* discards a reading.
|
|
70
|
+
*
|
|
71
|
+
* `parseError` is carried from the POSIX analysis unchanged: it is the
|
|
72
|
+
* fail-closed backstop, and recomputing it over merged writes would let a
|
|
73
|
+
* malformed command that also writes escape it.
|
|
74
|
+
*/
|
|
75
|
+
export declare function mergeWriteAnalyses(primary: WriteAnalysis, additional: WriteAnalysis, additionalIsAuthoritative?: boolean, wrapperDeclared?: boolean): WriteAnalysis;
|
|
76
|
+
export declare function buildDedupeKey(category: string, operator: string, path: string | null | undefined): string;
|
|
77
|
+
/** True when any unquoted word token is a known PowerShell cmdlet. */
|
|
78
|
+
export declare function isPowerShellShaped(command: string): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* True only when the command is positively a read-only PowerShell pipeline.
|
|
81
|
+
*
|
|
82
|
+
* Every condition must hold and the default is fail-closed: anything not
|
|
83
|
+
* positively proven read-only stays subject to the parse-failure rejection.
|
|
84
|
+
*
|
|
85
|
+
* 1. no redirect, `;`, `&`, backtick or `$(` anywhere;
|
|
86
|
+
* 2. quoting and braces balance — a malformed command is never "read-only";
|
|
87
|
+
* 3. splitting on `|` respects quotes (`Select-String -Pattern 'a|b'` is one
|
|
88
|
+
* segment, not two);
|
|
89
|
+
* 4. no write-shaped token of ANY family appears as an unquoted word
|
|
90
|
+
* anywhere (PowerShell Verb-Noun writes, their aliases, POSIX write
|
|
91
|
+
* builtins, in-place editors with an edit flag);
|
|
92
|
+
* 5. every segment head is a known read-only cmdlet (case-insensitive);
|
|
93
|
+
* 6. every script-block body is POSITIVELY validated as a read-only
|
|
94
|
+
* expression by `isReadOnlyScriptBlockBody` — deny-by-default, so a body
|
|
95
|
+
* containing anything unrecognized (including write mechanisms the
|
|
96
|
+
* detectors cannot see) fails and the command stays blocked.
|
|
97
|
+
*/
|
|
98
|
+
export declare function isPowerShellReadOnlyPipeline(command: string): boolean;
|
|
55
99
|
/**
|
|
56
100
|
* Detect interactive/session tools that should be denied regardless of scope.
|
|
57
101
|
*
|