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.
Files changed (76) hide show
  1. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  2. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  3. package/dist/cli/{auto-checkpoint-735m8sz7.js → auto-checkpoint-1xy6dprq.js} +4 -4
  4. package/dist/cli/{checkpoint-ptzc5jev.js → checkpoint-wvhmkgv5.js} +8 -8
  5. package/dist/cli/{coder-settlement-hh5165m1.js → coder-settlement-wpkmkgcf.js} +3 -3
  6. package/dist/cli/{config-doctor-wzzvhpcr.js → config-doctor-xvhejh7g.js} +7 -7
  7. package/dist/cli/{core-0jarm64k.js → core-yzgm8pcw.js} +1 -1
  8. package/dist/cli/{curator-f7crssw2.js → curator-3xh6246r.js} +25 -25
  9. package/dist/cli/{curator-drift-f4aqxz9e.js → curator-drift-5c041yaf.js} +5 -5
  10. package/dist/cli/{curator-llm-factory-kxnzvhje.js → curator-llm-factory-6y7wrbvk.js} +25 -25
  11. package/dist/cli/{doctor-knowledge-receipt-phase-id-qvp1h3xv.js → doctor-knowledge-receipt-phase-id-cx6n5jtp.js} +4 -4
  12. package/dist/cli/{evidence-summary-service-379skych.js → evidence-summary-service-cc139a85.js} +9 -9
  13. package/dist/cli/{gate-evidence-b4cfrrgn.js → gate-evidence-7azk0xbt.js} +2 -2
  14. package/dist/cli/{guardrail-explain-tcnfc3te.js → guardrail-explain-b3y98j5b.js} +26 -26
  15. package/dist/cli/{guardrail-log-xe1evybk.js → guardrail-log-env1h4wr.js} +3 -3
  16. package/dist/cli/{guardrail-reset-jwx5hsgp.js → guardrail-reset-1404ymcw.js} +25 -25
  17. package/dist/cli/{hive-promoter-nks9a9s8.js → hive-promoter-hap3dh02.js} +25 -25
  18. package/dist/cli/{index-xf5v44qh.js → index-22ww8fjt.js} +1 -1
  19. package/dist/cli/{index-7a92gwbg.js → index-2qpme44n.js} +1 -1
  20. package/dist/cli/{index-ba87gkb4.js → index-54p1vs33.js} +2 -2
  21. package/dist/cli/{index-qta3x82z.js → index-5gyq54c5.js} +4296 -3283
  22. package/dist/cli/{index-k96fx4yw.js → index-6k70exke.js} +1 -1
  23. package/dist/cli/{index-89826pb5.js → index-6vwnm3sm.js} +2 -2
  24. package/dist/cli/{index-f54stv77.js → index-72eh47b2.js} +1 -1
  25. package/dist/cli/{index-878ksabw.js → index-c5gb6a86.js} +5 -5
  26. package/dist/cli/{index-914wsfyy.js → index-c6wzbs0g.js} +1 -1
  27. package/dist/cli/{index-q0bctx7k.js → index-c8fjbghs.js} +1 -1
  28. package/dist/cli/{index-5s74qd5b.js → index-cp9h2sqb.js} +1 -1
  29. package/dist/cli/{index-2y7y0bxf.js → index-ftatc9wj.js} +25 -25
  30. package/dist/cli/{index-yte4hqhv.js → index-g2phkwh2.js} +3 -3
  31. package/dist/cli/{index-w8e73tp0.js → index-gkr6ns9n.js} +2 -2
  32. package/dist/cli/{index-7bppy3ve.js → index-j4pxkvw3.js} +1 -1
  33. package/dist/cli/{index-xen0j48x.js → index-jb669k7s.js} +30 -8
  34. package/dist/cli/{index-ejq082zj.js → index-kn16k0fv.js} +1 -1
  35. package/dist/cli/{index-4tfr4j1a.js → index-myjqj3na.js} +3 -3
  36. package/dist/cli/{index-hcsz7bhg.js → index-q47snsb2.js} +3 -3
  37. package/dist/cli/{index-cf003krm.js → index-qzkrcz1r.js} +3 -3
  38. package/dist/cli/{index-w9y482mp.js → index-rqapvhh5.js} +1 -1
  39. package/dist/cli/{index-29z0w323.js → index-rsfvxaw0.js} +4 -4
  40. package/dist/cli/{index-qp3twbdz.js → index-s43zb23q.js} +27 -27
  41. package/dist/cli/{index-a83gmv2e.js → index-s68yyat0.js} +1 -1
  42. package/dist/cli/{index-w917g452.js → index-tww9qw9z.js} +6 -6
  43. package/dist/cli/{index-br28jc6d.js → index-v6ghzghn.js} +1 -1
  44. package/dist/cli/{index-asm2r4g2.js → index-vgktct21.js} +3 -3
  45. package/dist/cli/{index-ypvz2c60.js → index-xpwp9hw1.js} +1 -1
  46. package/dist/cli/{index-25zjz6kv.js → index-xwxqtdwz.js} +1 -1
  47. package/dist/cli/{index-4qreeddq.js → index-zya4a544.js} +2 -2
  48. package/dist/cli/index.js +26 -26
  49. package/dist/cli/{knowledge-escalator-gzzr7cy2.js → knowledge-escalator-eta167xh.js} +7 -7
  50. package/dist/cli/{knowledge-events-b16yc189.js → knowledge-events-mz25jn9f.js} +5 -5
  51. package/dist/cli/{knowledge-store-arj3by4h.js → knowledge-store-qd08dbws.js} +1 -1
  52. package/dist/cli/{knowledge-validator-b3qhjg0t.js → knowledge-validator-jyrsgamq.js} +2 -2
  53. package/dist/cli/{mcp-972t0jt0.js → mcp-4wgxc5ax.js} +1 -1
  54. package/dist/cli/{model-preflight-f1xvxk6e.js → model-preflight-4p3x4vma.js} +25 -25
  55. package/dist/cli/{pending-delegations-fv5xz799.js → pending-delegations-7hm6xgzw.js} +2 -2
  56. package/dist/cli/{pr-subscriptions-4mcwj33s.js → pr-subscriptions-2y3w5pyt.js} +1 -1
  57. package/dist/cli/{pr-workflow-gate-ap5cp211.js → pr-workflow-gate-y04z3z80.js} +25 -25
  58. package/dist/cli/{scan-cursor-tceyckdx.js → scan-cursor-2hpc6mxt.js} +2 -2
  59. package/dist/cli/{schema-pqevpe3m.js → schema-33k1e2cv.js} +1 -1
  60. package/dist/cli/{scope-persistence-ta6ydymv.js → scope-persistence-y769jep8.js} +5 -5
  61. package/dist/cli/{server-s9bfax7h.js → server-199m00cz.js} +25 -25
  62. package/dist/cli/{skill-generator-xdg4626x.js → skill-generator-b9by3739.js} +8 -8
  63. package/dist/cli/{snapshot-coordination-init-wn0hnwyv.js → snapshot-coordination-init-wyyn8ftk.js} +25 -25
  64. package/dist/cli/{speckit-checkoff-8x139jpf.js → speckit-checkoff-y2ywmh9k.js} +3 -3
  65. package/dist/cli/{worktree-collision-ownership-as8hnnff.js → worktree-collision-ownership-hg0yrc5b.js} +2 -2
  66. package/dist/cli/{worktree-isolation-7vrs8t9b.js → worktree-isolation-epbn1xgh.js} +25 -25
  67. package/dist/failures/provider-message-error.d.ts +2 -1
  68. package/dist/hooks/guardrails/tool-before.d.ts +19 -0
  69. package/dist/hooks/pr-workflow-gate.d.ts +8 -0
  70. package/dist/hooks/shell-executor-context.d.ts +43 -0
  71. package/dist/hooks/shell-write-detect.d.ts +44 -0
  72. package/dist/index.js +423 -420
  73. package/dist/services/pr-workflow-gh-readiness.d.ts +30 -0
  74. package/dist/tools/gh-evidence.d.ts +14 -0
  75. package/dist/turbo/lean/runner.d.ts +2 -0
  76. package/package.json +1 -1
@@ -33,21 +33,21 @@ import {
33
33
  sanitizeSlug,
34
34
  selectCandidateEntries,
35
35
  writeEvalStub
36
- } from "./index-asm2r4g2.js";
36
+ } from "./index-vgktct21.js";
37
37
  import"./index-q7sjgr1y.js";
38
- import"./index-4qreeddq.js";
39
- import"./index-w8e73tp0.js";
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-7bppy3ve.js";
43
+ import"./index-j4pxkvw3.js";
44
44
  import"./index-5dws7eyb.js";
45
45
  import"./index-rtry5xyf.js";
46
- import"./index-89826pb5.js";
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-29z0w323.js";
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-w9y482mp.js";
63
+ import"./index-rqapvhh5.js";
64
64
  import"./index-zxdawwc7.js";
65
- import"./index-a83gmv2e.js";
65
+ import"./index-s68yyat0.js";
66
66
  import"./index-py8wpe81.js";
67
67
  import"./index-bk5tah7q.js";
68
68
  import"./index-gknz3bv1.js";
@@ -8,50 +8,50 @@ import {
8
8
  markSnapshotCoordinationClosing,
9
9
  retrySnapshotCoordinationInitialization,
10
10
  startSnapshotCoordinationInitialization
11
- } from "./index-qta3x82z.js";
12
- import"./index-xf5v44qh.js";
13
- import"./index-yte4hqhv.js";
14
- import"./index-25zjz6kv.js";
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-914wsfyy.js";
19
+ import"./index-c6wzbs0g.js";
20
20
  import"./index-rdec0y3z.js";
21
- import"./index-br28jc6d.js";
22
- import"./index-4tfr4j1a.js";
23
- import"./index-asm2r4g2.js";
24
- import"./index-w917g452.js";
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-cf003krm.js";
32
- import"./index-878ksabw.js";
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-5s74qd5b.js";
35
+ import"./index-cp9h2sqb.js";
36
36
  import"./index-v3bmwmqw.js";
37
- import"./index-k96fx4yw.js";
38
- import"./index-7a92gwbg.js";
39
- import"./index-f54stv77.js";
37
+ import"./index-6k70exke.js";
38
+ import"./index-2qpme44n.js";
39
+ import"./index-72eh47b2.js";
40
40
  import"./index-g4fs6z4e.js";
41
- import"./index-ypvz2c60.js";
42
- import"./index-4qreeddq.js";
43
- import"./index-w8e73tp0.js";
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-7bppy3ve.js";
47
+ import"./index-j4pxkvw3.js";
48
48
  import"./index-5dws7eyb.js";
49
49
  import"./index-rtry5xyf.js";
50
- import"./index-89826pb5.js";
50
+ import"./index-6vwnm3sm.js";
51
51
  import"./index-g22dps7x.js";
52
52
  import"./index-0725jpp7.js";
53
- import"./index-ejq082zj.js";
54
- import"./index-ba87gkb4.js";
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-29z0w323.js";
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-w9y482mp.js";
76
+ import"./index-rqapvhh5.js";
77
77
  import"./index-zxdawwc7.js";
78
- import"./index-a83gmv2e.js";
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-k96fx4yw.js";
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-w9y482mp.js";
14
+ import"./index-rqapvhh5.js";
15
15
  import"./index-zxdawwc7.js";
16
- import"./index-a83gmv2e.js";
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-ypvz2c60.js";
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-29z0w323.js";
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-qta3x82z.js";
29
- import"./index-xf5v44qh.js";
30
- import"./index-yte4hqhv.js";
31
- import"./index-25zjz6kv.js";
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-914wsfyy.js";
36
+ import"./index-c6wzbs0g.js";
37
37
  import"./index-rdec0y3z.js";
38
- import"./index-br28jc6d.js";
39
- import"./index-4tfr4j1a.js";
40
- import"./index-asm2r4g2.js";
41
- import"./index-w917g452.js";
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-cf003krm.js";
49
- import"./index-878ksabw.js";
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-5s74qd5b.js";
52
+ import"./index-cp9h2sqb.js";
53
53
  import"./index-v3bmwmqw.js";
54
- import"./index-k96fx4yw.js";
55
- import"./index-7a92gwbg.js";
56
- import"./index-f54stv77.js";
54
+ import"./index-6k70exke.js";
55
+ import"./index-2qpme44n.js";
56
+ import"./index-72eh47b2.js";
57
57
  import"./index-g4fs6z4e.js";
58
- import"./index-ypvz2c60.js";
59
- import"./index-4qreeddq.js";
60
- import"./index-w8e73tp0.js";
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-7bppy3ve.js";
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-89826pb5.js";
69
+ } from "./index-6vwnm3sm.js";
70
70
  import"./index-g22dps7x.js";
71
71
  import"./index-0725jpp7.js";
72
- import"./index-ejq082zj.js";
73
- import"./index-ba87gkb4.js";
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-29z0w323.js";
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-w9y482mp.js";
95
+ import"./index-rqapvhh5.js";
96
96
  import"./index-zxdawwc7.js";
97
- import"./index-a83gmv2e.js";
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, or
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
  *