opencode-swarm 7.200.10 → 7.200.12

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 (77) 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/{attest-task-yx2t832n.js → attest-task-0h9adt4t.js} +26 -26
  4. package/dist/cli/{auto-checkpoint-15mvj9zm.js → auto-checkpoint-f7pcj09v.js} +4 -4
  5. package/dist/cli/{checkpoint-65whgvwa.js → checkpoint-5j4dqdd1.js} +8 -8
  6. package/dist/cli/{coder-settlement-sdg1he8p.js → coder-settlement-n69ee5jz.js} +4 -4
  7. package/dist/cli/{config-doctor-4af2p2y4.js → config-doctor-q23166e4.js} +7 -7
  8. package/dist/cli/{core-8swqc6kw.js → core-2th9bfmx.js} +1 -1
  9. package/dist/cli/{curator-drift-ktf137da.js → curator-drift-b4rcjh23.js} +5 -5
  10. package/dist/cli/{curator-6ze04fz3.js → curator-dsf0966y.js} +26 -26
  11. package/dist/cli/{curator-llm-factory-7vq4rgg7.js → curator-llm-factory-3b7b55k6.js} +26 -26
  12. package/dist/cli/{doctor-knowledge-receipt-phase-id-0smwq3ar.js → doctor-knowledge-receipt-phase-id-4npan6z7.js} +4 -4
  13. package/dist/cli/{evidence-summary-service-3bhq2gef.js → evidence-summary-service-evv73ay3.js} +10 -10
  14. package/dist/cli/{gate-evidence-gcv0xgfc.js → gate-evidence-vz9gjwkz.js} +3 -3
  15. package/dist/cli/{guardrail-explain-9t3mvm92.js → guardrail-explain-jvvk0at1.js} +27 -27
  16. package/dist/cli/{guardrail-log-ehgpan5n.js → guardrail-log-b81vyjvz.js} +3 -3
  17. package/dist/cli/{guardrail-reset-q7m265wy.js → guardrail-reset-ygq8e117.js} +26 -26
  18. package/dist/cli/{hive-promoter-857ranjf.js → hive-promoter-73e5qa2r.js} +26 -26
  19. package/dist/cli/{index-vajbtn3v.js → index-0cqr8afr.js} +4 -4
  20. package/dist/cli/{index-zmp1k0mb.js → index-0kgqjaaj.js} +35 -22
  21. package/dist/cli/{index-fbn2mv67.js → index-1egy4f76.js} +76 -31
  22. package/dist/cli/{index-xkavxqf2.js → index-213w5jn9.js} +1 -1
  23. package/dist/cli/{index-rnm6c33a.js → index-2ftz9m3d.js} +1 -1
  24. package/dist/cli/{index-r3wyt8za.js → index-2pvmk43k.js} +1 -1
  25. package/dist/cli/{index-bt3pxs7r.js → index-2w17wxc1.js} +1 -1
  26. package/dist/cli/{index-mamw83wm.js → index-5e5s7p5z.js} +26 -26
  27. package/dist/cli/{index-h9qhy8r6.js → index-5ecsb26p.js} +6 -6
  28. package/dist/cli/{index-tm6nwe43.js → index-5t3p0nd1.js} +5 -5
  29. package/dist/cli/{index-3h5ztpn5.js → index-60yd5f2p.js} +2 -2
  30. package/dist/cli/{index-ev46f132.js → index-9dtd681s.js} +1 -1
  31. package/dist/cli/{index-06sj5bjh.js → index-9t4gxpt5.js} +1 -1
  32. package/dist/cli/{index-c34tgnwm.js → index-bxsbm6xx.js} +3 -3
  33. package/dist/cli/{index-mx34b7bm.js → index-cy2zmsa0.js} +28 -28
  34. package/dist/cli/{index-vqknke9n.js → index-dfgqg3qd.js} +5 -5
  35. package/dist/cli/{index-ffm3d4cn.js → index-fe3dtakd.js} +3 -3
  36. package/dist/cli/{index-60m7qnds.js → index-fk1w7r9k.js} +3 -3
  37. package/dist/cli/{index-kxxy7zq4.js → index-gkaj31rk.js} +3 -3
  38. package/dist/cli/{index-gsnj3a0h.js → index-gvzf86kf.js} +2 -2
  39. package/dist/cli/{index-ww5ne0g6.js → index-jkj598w8.js} +1 -1
  40. package/dist/cli/{index-nv8tx9v4.js → index-n425a88g.js} +1 -1
  41. package/dist/cli/{index-66b4f2qd.js → index-n9mb83fx.js} +3 -3
  42. package/dist/cli/{index-4dvqvn4k.js → index-phm7gmpq.js} +179 -75
  43. package/dist/cli/{index-ywwazz81.js → index-sfd8kb4k.js} +1 -1
  44. package/dist/cli/{index-2dey2mtg.js → index-td0bfecx.js} +3 -3
  45. package/dist/cli/{index-6e7jxxys.js → index-vzd1w4ra.js} +2 -2
  46. package/dist/cli/{index-6ehx0pj4.js → index-wfx209wp.js} +2 -2
  47. package/dist/cli/{index-vm3j8fvn.js → index-xdyqfp37.js} +2 -2
  48. package/dist/cli/{index-43zgg04r.js → index-z0jf1tyr.js} +1 -1
  49. package/dist/cli/{index-8c6zshfj.js → index-zs5vymnk.js} +1 -1
  50. package/dist/cli/index.js +27 -27
  51. package/dist/cli/{knowledge-escalator-6p7m6gkc.js → knowledge-escalator-et068ebg.js} +7 -7
  52. package/dist/cli/{knowledge-events-w3ep12sq.js → knowledge-events-2ha1zsv5.js} +5 -5
  53. package/dist/cli/{knowledge-store-g4cpw0hz.js → knowledge-store-bpchbre8.js} +1 -1
  54. package/dist/cli/{knowledge-validator-zhy6mgxv.js → knowledge-validator-0q4xmhch.js} +2 -2
  55. package/dist/cli/{mcp-j1dy60mx.js → mcp-hh5k6qar.js} +1 -1
  56. package/dist/cli/{model-preflight-962y2z1d.js → model-preflight-zh4t5ywj.js} +26 -26
  57. package/dist/cli/{pending-delegations-erjwa1y6.js → pending-delegations-vxk971ny.js} +2 -2
  58. package/dist/cli/{pr-subscriptions-7fcawjg9.js → pr-subscriptions-nhdfz8pc.js} +1 -1
  59. package/dist/cli/{pr-workflow-gate-j8ee9c6g.js → pr-workflow-gate-bej2nn0c.js} +26 -26
  60. package/dist/cli/{scan-cursor-msz8j44s.js → scan-cursor-v5f7s9jb.js} +2 -2
  61. package/dist/cli/{schema-kep9t01t.js → schema-ejerjdcy.js} +1 -1
  62. package/dist/cli/{scope-persistence-tx71g0ac.js → scope-persistence-5nd08ct5.js} +5 -5
  63. package/dist/cli/{server-6enk6sfw.js → server-e9xvqypk.js} +35 -26
  64. package/dist/cli/{skill-generator-p9fkx1g3.js → skill-generator-6c57ckmm.js} +8 -8
  65. package/dist/cli/{snapshot-coordination-init-kgftbdmq.js → snapshot-coordination-init-jbs93ng2.js} +26 -26
  66. package/dist/cli/{speckit-checkoff-jfdwsy5n.js → speckit-checkoff-ryx6gh3p.js} +3 -3
  67. package/dist/cli/{workflow-wal-file-xvvwcxr1.js → workflow-wal-file-3f6ajfce.js} +2 -2
  68. package/dist/cli/{worktree-collision-ownership-hac3t2xv.js → worktree-collision-ownership-vdjhvm3b.js} +2 -2
  69. package/dist/cli/{worktree-isolation-tjvxcsr9.js → worktree-isolation-arqj4g26.js} +26 -26
  70. package/dist/hooks/delegation-gate.d.ts +6 -0
  71. package/dist/hooks/guardrails/audit-log.d.ts +2 -0
  72. package/dist/hooks/guardrails/cmd-delete-grammar.d.ts +47 -0
  73. package/dist/hooks/guardrails/destructive-command.d.ts +11 -3
  74. package/dist/hooks/guardrails/shell-audit-store.d.ts +2 -0
  75. package/dist/hooks/guardrails/tool-before.d.ts +16 -0
  76. package/dist/index.js +17 -17
  77. package/package.json +1 -1
@@ -22,41 +22,41 @@ import {
22
22
  resolveWriteTargets,
23
23
  searchKnowledge,
24
24
  symbols
25
- } from "./index-4dvqvn4k.js";
25
+ } from "./index-phm7gmpq.js";
26
26
  import {
27
27
  pLimit
28
28
  } from "./index-ckq78kq1.js";
29
29
  import {
30
30
  checkFileAuthority,
31
31
  checkWriteTargetForSymlink
32
- } from "./index-fbn2mv67.js";
33
- import"./index-kxxy7zq4.js";
32
+ } from "./index-1egy4f76.js";
33
+ import"./index-gkaj31rk.js";
34
34
  import {
35
35
  _internals,
36
36
  saveEvidence
37
- } from "./index-ywwazz81.js";
37
+ } from "./index-sfd8kb4k.js";
38
38
  import"./index-vx1j2t5p.js";
39
39
  import"./index-txdagbh7.js";
40
40
  import {
41
41
  getProfileForFile
42
42
  } from "./index-axqyjreb.js";
43
- import"./index-60m7qnds.js";
44
- import"./index-h9qhy8r6.js";
43
+ import"./index-fk1w7r9k.js";
44
+ import"./index-5ecsb26p.js";
45
45
  import {
46
46
  resolveCohortId
47
- } from "./index-bt3pxs7r.js";
47
+ } from "./index-2w17wxc1.js";
48
48
  import"./index-rdec0y3z.js";
49
- import"./index-rnm6c33a.js";
50
- import"./index-vqknke9n.js";
51
- import"./index-xkavxqf2.js";
49
+ import"./index-2ftz9m3d.js";
50
+ import"./index-dfgqg3qd.js";
51
+ import"./index-213w5jn9.js";
52
52
  import"./index-rpvp88js.js";
53
53
  import"./index-kd1n3ne2.js";
54
54
  import"./index-x5jwegqw.js";
55
55
  import"./index-w0afnznk.js";
56
- import"./index-66b4f2qd.js";
56
+ import"./index-n9mb83fx.js";
57
57
  import {
58
58
  normalizeScopeFiles
59
- } from "./index-ev46f132.js";
59
+ } from "./index-9dtd681s.js";
60
60
  import"./index-tggyracy.js";
61
61
  import {
62
62
  getLanguageForExtension,
@@ -65,11 +65,11 @@ import {
65
65
  import"./index-q7sjgr1y.js";
66
66
  import {
67
67
  createSwarmTool
68
- } from "./index-ffm3d4cn.js";
68
+ } from "./index-fe3dtakd.js";
69
69
  import {
70
70
  loadPlan,
71
71
  loadPlanJsonOnly
72
- } from "./index-tm6nwe43.js";
72
+ } from "./index-5t3p0nd1.js";
73
73
  import {
74
74
  containsControlChars,
75
75
  createTargetWithinRootValidator,
@@ -79,9 +79,9 @@ import {
79
79
  validateWorkspaceRoot
80
80
  } from "./index-6b295cas.js";
81
81
  import"./index-9nyqt3kb.js";
82
- import"./index-2dey2mtg.js";
82
+ import"./index-td0bfecx.js";
83
83
  import"./index-697mg68b.js";
84
- import"./index-6e7jxxys.js";
84
+ import"./index-vzd1w4ra.js";
85
85
  import"./index-rck7v4r4.js";
86
86
  import"./index-ck7jpn0y.js";
87
87
  import"./index-ry16d01s.js";
@@ -89,9 +89,9 @@ import"./index-rdm3px0g.js";
89
89
  import"./index-dp6hy23p.js";
90
90
  import"./index-rjsqf4hv.js";
91
91
  import"./index-7pmbnjvj.js";
92
- import"./index-43zgg04r.js";
93
- import"./index-gsnj3a0h.js";
94
- import"./index-6ehx0pj4.js";
92
+ import"./index-z0jf1tyr.js";
93
+ import"./index-gvzf86kf.js";
94
+ import"./index-wfx209wp.js";
95
95
  import"./index-m9zzj4ee.js";
96
96
  import"./index-8xtdxy91.js";
97
97
  import {
@@ -99,7 +99,7 @@ import {
99
99
  validateActionability,
100
100
  validateActionableFields,
101
101
  validateLesson
102
- } from "./index-nv8tx9v4.js";
102
+ } from "./index-n425a88g.js";
103
103
  import {
104
104
  resolveWorktreeId
105
105
  } from "./index-qyj4383m.js";
@@ -113,28 +113,28 @@ import {
113
113
  reinforceSwarmKnowledgeEntry,
114
114
  resolveSwarmKnowledgePath,
115
115
  transactKnowledge
116
- } from "./index-vajbtn3v.js";
116
+ } from "./index-0cqr8afr.js";
117
117
  import"./index-vzm6zre7.js";
118
118
  import"./index-ae75rja9.js";
119
119
  import"./index-erp7fk72.js";
120
- import"./index-3h5ztpn5.js";
120
+ import"./index-60yd5f2p.js";
121
121
  import"./index-g22dps7x.js";
122
122
  import"./index-0725jpp7.js";
123
123
  import"./index-3t46mez1.js";
124
124
  import {
125
125
  loadGateOverrides,
126
126
  loadPluginConfigWithMeta
127
- } from "./index-ww5ne0g6.js";
127
+ } from "./index-jkj598w8.js";
128
128
  import {
129
129
  KnowledgeConfigSchema,
130
130
  init_schema
131
- } from "./index-06sj5bjh.js";
131
+ } from "./index-9t4gxpt5.js";
132
132
  import {
133
133
  KNOWLEDGE_SCHEMA_VERSION,
134
134
  init_knowledge_types
135
135
  } from "./index-bk5tah7q.js";
136
- import"./index-r3wyt8za.js";
137
- import"./index-vm3j8fvn.js";
136
+ import"./index-2pvmk43k.js";
137
+ import"./index-xdyqfp37.js";
138
138
  import"./index-spggmr30.js";
139
139
  import"./index-001tkp0j.js";
140
140
  import {
@@ -14733,6 +14733,15 @@ class McpServer {
14733
14733
  this._promptHandlersInitialized = false;
14734
14734
  this.server = new Server(serverInfo, options);
14735
14735
  this._maxToolInputElements = resolveMaxToolInputElements(options?.maxToolInputElements);
14736
+ if (options?.capabilities?.tools) {
14737
+ this.setToolRequestHandlers();
14738
+ }
14739
+ if (options?.capabilities?.resources) {
14740
+ this.setResourceRequestHandlers();
14741
+ }
14742
+ if (options?.capabilities?.prompts) {
14743
+ this.setPromptRequestHandlers();
14744
+ }
14736
14745
  }
14737
14746
  get experimental() {
14738
14747
  if (!this._experimental) {
@@ -33,25 +33,25 @@ import {
33
33
  sanitizeSlug,
34
34
  selectCandidateEntries,
35
35
  writeEvalStub
36
- } from "./index-60m7qnds.js";
36
+ } from "./index-fk1w7r9k.js";
37
37
  import"./index-q7sjgr1y.js";
38
- import"./index-gsnj3a0h.js";
39
- import"./index-6ehx0pj4.js";
38
+ import"./index-gvzf86kf.js";
39
+ import"./index-wfx209wp.js";
40
40
  import"./index-m9zzj4ee.js";
41
41
  import"./index-8xtdxy91.js";
42
- import"./index-nv8tx9v4.js";
42
+ import"./index-n425a88g.js";
43
43
  import"./index-qyj4383m.js";
44
44
  import"./index-rtry5xyf.js";
45
- import"./index-vajbtn3v.js";
45
+ import"./index-0cqr8afr.js";
46
46
  import"./index-vzm6zre7.js";
47
47
  import"./index-ae75rja9.js";
48
48
  import"./index-erp7fk72.js";
49
- import"./index-3h5ztpn5.js";
49
+ import"./index-60yd5f2p.js";
50
50
  import"./index-g22dps7x.js";
51
51
  import"./index-0725jpp7.js";
52
52
  import"./index-3t46mez1.js";
53
- import"./index-ww5ne0g6.js";
54
- import"./index-06sj5bjh.js";
53
+ import"./index-jkj598w8.js";
54
+ import"./index-9t4gxpt5.js";
55
55
  import"./index-bk5tah7q.js";
56
56
  import"./index-001tkp0j.js";
57
57
  import"./index-9rwhas09.js";
@@ -8,37 +8,37 @@ import {
8
8
  markSnapshotCoordinationClosing,
9
9
  retrySnapshotCoordinationInitialization,
10
10
  startSnapshotCoordinationInitialization
11
- } from "./index-4dvqvn4k.js";
11
+ } from "./index-phm7gmpq.js";
12
12
  import"./index-ckq78kq1.js";
13
- import"./index-fbn2mv67.js";
14
- import"./index-kxxy7zq4.js";
15
- import"./index-ywwazz81.js";
13
+ import"./index-1egy4f76.js";
14
+ import"./index-gkaj31rk.js";
15
+ import"./index-sfd8kb4k.js";
16
16
  import"./index-vx1j2t5p.js";
17
17
  import"./index-txdagbh7.js";
18
18
  import"./index-axqyjreb.js";
19
- import"./index-60m7qnds.js";
20
- import"./index-h9qhy8r6.js";
21
- import"./index-bt3pxs7r.js";
19
+ import"./index-fk1w7r9k.js";
20
+ import"./index-5ecsb26p.js";
21
+ import"./index-2w17wxc1.js";
22
22
  import"./index-rdec0y3z.js";
23
- import"./index-rnm6c33a.js";
24
- import"./index-vqknke9n.js";
25
- import"./index-xkavxqf2.js";
23
+ import"./index-2ftz9m3d.js";
24
+ import"./index-dfgqg3qd.js";
25
+ import"./index-213w5jn9.js";
26
26
  import"./index-rpvp88js.js";
27
27
  import"./index-kd1n3ne2.js";
28
28
  import"./index-x5jwegqw.js";
29
29
  import"./index-w0afnznk.js";
30
- import"./index-66b4f2qd.js";
31
- import"./index-ev46f132.js";
30
+ import"./index-n9mb83fx.js";
31
+ import"./index-9dtd681s.js";
32
32
  import"./index-tggyracy.js";
33
33
  import"./index-pt7h91zc.js";
34
34
  import"./index-q7sjgr1y.js";
35
- import"./index-ffm3d4cn.js";
36
- import"./index-tm6nwe43.js";
35
+ import"./index-fe3dtakd.js";
36
+ import"./index-5t3p0nd1.js";
37
37
  import"./index-6b295cas.js";
38
38
  import"./index-9nyqt3kb.js";
39
- import"./index-2dey2mtg.js";
39
+ import"./index-td0bfecx.js";
40
40
  import"./index-697mg68b.js";
41
- import"./index-6e7jxxys.js";
41
+ import"./index-vzd1w4ra.js";
42
42
  import"./index-rck7v4r4.js";
43
43
  import"./index-ck7jpn0y.js";
44
44
  import"./index-ry16d01s.js";
@@ -46,27 +46,27 @@ import"./index-rdm3px0g.js";
46
46
  import"./index-dp6hy23p.js";
47
47
  import"./index-rjsqf4hv.js";
48
48
  import"./index-7pmbnjvj.js";
49
- import"./index-43zgg04r.js";
50
- import"./index-gsnj3a0h.js";
51
- import"./index-6ehx0pj4.js";
49
+ import"./index-z0jf1tyr.js";
50
+ import"./index-gvzf86kf.js";
51
+ import"./index-wfx209wp.js";
52
52
  import"./index-m9zzj4ee.js";
53
53
  import"./index-8xtdxy91.js";
54
- import"./index-nv8tx9v4.js";
54
+ import"./index-n425a88g.js";
55
55
  import"./index-qyj4383m.js";
56
56
  import"./index-rtry5xyf.js";
57
- import"./index-vajbtn3v.js";
57
+ import"./index-0cqr8afr.js";
58
58
  import"./index-vzm6zre7.js";
59
59
  import"./index-ae75rja9.js";
60
60
  import"./index-erp7fk72.js";
61
- import"./index-3h5ztpn5.js";
61
+ import"./index-60yd5f2p.js";
62
62
  import"./index-g22dps7x.js";
63
63
  import"./index-0725jpp7.js";
64
64
  import"./index-3t46mez1.js";
65
- import"./index-ww5ne0g6.js";
66
- import"./index-06sj5bjh.js";
65
+ import"./index-jkj598w8.js";
66
+ import"./index-9t4gxpt5.js";
67
67
  import"./index-bk5tah7q.js";
68
- import"./index-r3wyt8za.js";
69
- import"./index-vm3j8fvn.js";
68
+ import"./index-2pvmk43k.js";
69
+ import"./index-xdyqfp37.js";
70
70
  import"./index-spggmr30.js";
71
71
  import"./index-001tkp0j.js";
72
72
  import"./index-9rwhas09.js";
@@ -7,9 +7,9 @@ import {
7
7
  parseSpeckitTasksContent,
8
8
  propagateSpeckitCheckoff,
9
9
  writeSpeckitCheckoffLedger
10
- } from "./index-43zgg04r.js";
11
- import"./index-ww5ne0g6.js";
12
- import"./index-06sj5bjh.js";
10
+ } from "./index-z0jf1tyr.js";
11
+ import"./index-jkj598w8.js";
12
+ import"./index-9t4gxpt5.js";
13
13
  import"./index-bk5tah7q.js";
14
14
  import"./index-ejhxgyvm.js";
15
15
  import"./index-7g4c7s5r.js";
@@ -4,8 +4,8 @@ import {
4
4
  readWorkflowWalFile,
5
5
  readWorkflowWalFileSync,
6
6
  writeWorkflowWalFile
7
- } from "./index-r3wyt8za.js";
8
- import"./index-vm3j8fvn.js";
7
+ } from "./index-2pvmk43k.js";
8
+ import"./index-xdyqfp37.js";
9
9
  import"./index-spggmr30.js";
10
10
  import"./index-001tkp0j.js";
11
11
  import"./index-9rwhas09.js";
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  scanDelegationFallbacksForRecovery,
12
12
  scanDelegationsForRecovery
13
- } from "./index-66b4f2qd.js";
13
+ } from "./index-n9mb83fx.js";
14
14
  import"./index-tggyracy.js";
15
15
  import {
16
16
  scanWorktreeMergeFailuresForRecovery
@@ -22,7 +22,7 @@ import"./index-rdm3px0g.js";
22
22
  import"./index-rjsqf4hv.js";
23
23
  import"./index-7pmbnjvj.js";
24
24
  import"./index-8xtdxy91.js";
25
- import"./index-vajbtn3v.js";
25
+ import"./index-0cqr8afr.js";
26
26
  import"./index-vzm6zre7.js";
27
27
  import"./index-ae75rja9.js";
28
28
  import"./index-erp7fk72.js";
@@ -25,37 +25,37 @@ import {
25
25
  sanitizeWorktreeTaskId,
26
26
  standardWorktreeByCallID,
27
27
  standardWorktreeSerializationSessions
28
- } from "./index-4dvqvn4k.js";
28
+ } from "./index-phm7gmpq.js";
29
29
  import"./index-ckq78kq1.js";
30
- import"./index-fbn2mv67.js";
31
- import"./index-kxxy7zq4.js";
32
- import"./index-ywwazz81.js";
30
+ import"./index-1egy4f76.js";
31
+ import"./index-gkaj31rk.js";
32
+ import"./index-sfd8kb4k.js";
33
33
  import"./index-vx1j2t5p.js";
34
34
  import"./index-txdagbh7.js";
35
35
  import"./index-axqyjreb.js";
36
- import"./index-60m7qnds.js";
37
- import"./index-h9qhy8r6.js";
38
- import"./index-bt3pxs7r.js";
36
+ import"./index-fk1w7r9k.js";
37
+ import"./index-5ecsb26p.js";
38
+ import"./index-2w17wxc1.js";
39
39
  import"./index-rdec0y3z.js";
40
- import"./index-rnm6c33a.js";
41
- import"./index-vqknke9n.js";
42
- import"./index-xkavxqf2.js";
40
+ import"./index-2ftz9m3d.js";
41
+ import"./index-dfgqg3qd.js";
42
+ import"./index-213w5jn9.js";
43
43
  import"./index-rpvp88js.js";
44
44
  import"./index-kd1n3ne2.js";
45
45
  import"./index-x5jwegqw.js";
46
46
  import"./index-w0afnznk.js";
47
- import"./index-66b4f2qd.js";
48
- import"./index-ev46f132.js";
47
+ import"./index-n9mb83fx.js";
48
+ import"./index-9dtd681s.js";
49
49
  import"./index-tggyracy.js";
50
50
  import"./index-pt7h91zc.js";
51
51
  import"./index-q7sjgr1y.js";
52
- import"./index-ffm3d4cn.js";
53
- import"./index-tm6nwe43.js";
52
+ import"./index-fe3dtakd.js";
53
+ import"./index-5t3p0nd1.js";
54
54
  import"./index-6b295cas.js";
55
55
  import"./index-9nyqt3kb.js";
56
- import"./index-2dey2mtg.js";
56
+ import"./index-td0bfecx.js";
57
57
  import"./index-697mg68b.js";
58
- import"./index-6e7jxxys.js";
58
+ import"./index-vzd1w4ra.js";
59
59
  import"./index-rck7v4r4.js";
60
60
  import"./index-ck7jpn0y.js";
61
61
  import"./index-ry16d01s.js";
@@ -63,29 +63,29 @@ import"./index-rdm3px0g.js";
63
63
  import"./index-dp6hy23p.js";
64
64
  import"./index-rjsqf4hv.js";
65
65
  import"./index-7pmbnjvj.js";
66
- import"./index-43zgg04r.js";
67
- import"./index-gsnj3a0h.js";
68
- import"./index-6ehx0pj4.js";
66
+ import"./index-z0jf1tyr.js";
67
+ import"./index-gvzf86kf.js";
68
+ import"./index-wfx209wp.js";
69
69
  import"./index-m9zzj4ee.js";
70
70
  import"./index-8xtdxy91.js";
71
- import"./index-nv8tx9v4.js";
71
+ import"./index-n425a88g.js";
72
72
  import"./index-qyj4383m.js";
73
73
  import"./index-rtry5xyf.js";
74
- import"./index-vajbtn3v.js";
74
+ import"./index-0cqr8afr.js";
75
75
  import"./index-vzm6zre7.js";
76
76
  import"./index-ae75rja9.js";
77
77
  import"./index-erp7fk72.js";
78
78
  import {
79
79
  resolveWorktreeIsolationConfig
80
- } from "./index-3h5ztpn5.js";
80
+ } from "./index-60yd5f2p.js";
81
81
  import"./index-g22dps7x.js";
82
82
  import"./index-0725jpp7.js";
83
83
  import"./index-3t46mez1.js";
84
- import"./index-ww5ne0g6.js";
85
- import"./index-06sj5bjh.js";
84
+ import"./index-jkj598w8.js";
85
+ import"./index-9t4gxpt5.js";
86
86
  import"./index-bk5tah7q.js";
87
- import"./index-r3wyt8za.js";
88
- import"./index-vm3j8fvn.js";
87
+ import"./index-2pvmk43k.js";
88
+ import"./index-xdyqfp37.js";
89
89
  import"./index-spggmr30.js";
90
90
  import"./index-001tkp0j.js";
91
91
  import"./index-9rwhas09.js";
@@ -534,6 +534,12 @@ declare function resolveEvidenceTaskId(args: Record<string, unknown> | undefined
534
534
  */
535
535
  export declare const _internals: {
536
536
  isEpicOpenForProject: typeof isEpicOpenForProject;
537
+ /**
538
+ * #3502 review (PRR-007): set by createDelegationGateHook so tests can
539
+ * observe the settlement-side invalidation gate for a specific hook
540
+ * instance (did THIS dispatch's route persist fail for this task?).
541
+ */
542
+ routeInvalidationProbe: ((callID: string, sessionId: string, taskId: string) => boolean) | null;
537
543
  /** Epic v2 C4: wave-only coder admission + the wave's parallel/isolation policy. */
538
544
  resolveEpicDispatchPolicy: typeof resolveEpicDispatchPolicy;
539
545
  resolveEpicPrFeedbackConflict: typeof resolveEpicPrFeedbackConflict;
@@ -64,6 +64,8 @@ export interface ScopeViolationDecision {
64
64
  declaredScope: string;
65
65
  resolvedScope: string;
66
66
  action: string;
67
+ /** Shell write operator that tripped the gate (issue #3495 item 4). */
68
+ operator?: string;
67
69
  }
68
70
  export interface DestructiveBlockDecision {
69
71
  type: 'destructive_block';
@@ -0,0 +1,47 @@
1
+ /**
2
+ * cmd.exe rd/rmdir/del recursion-switch grammar (leaf module — no local
3
+ * imports: both the destructive guard (guardrails/destructive-command.ts)
4
+ * and the shell-write detector (shell-write-detect.ts) consume it, and
5
+ * destructive-command already imports from shell-write-detect, so hosting
6
+ * the grammar in either would create a cycle).
7
+ *
8
+ * Modeled from executed cmd.exe ground truth (PR #3499 review round):
9
+ * - cmd scans each UNQUOTED argument for the FIRST `/` — everything from it
10
+ * to the end of the token is switch text; the text before it is the path.
11
+ * `rd zzz/s` therefore deletes `zzz` recursively (`rd zzz /s`), and so do
12
+ * `rd ../s` and `rd ./s`.
13
+ * - A fully double-quoted token is a path; cmd does not scan it for
14
+ * switches (`rd "/s" x` does not recurse — `"/s"` is a path).
15
+ * - Single quotes are NOT quotes for cmd (`rd 'zzz/s'` splits at the slash).
16
+ * - `^/` caret escapes decode to `/` (normalized by dcNormalizeCommand).
17
+ */
18
+ /**
19
+ * Whether slash-separated switch TEXT (the characters after the first
20
+ * unquoted `/` of a cmd.exe argument) parses as a switch cluster: every
21
+ * slash-separated segment is 1–2 ASCII letters — `s`, `S`, `q`, `s/q`,
22
+ * `sq`, `qs`. Multi-letter segments never qualify: `share` and
23
+ * `src/old` are not switch names (real cmd.exe rejects `rd a/share/b` with
24
+ * "Parameter format not correct" — nothing is deletable, so the argument is
25
+ * a plain path operand, and on POSIX it stays an ordinary nested path).
26
+ */
27
+ export declare function dcIsSwitchClusterText(text: string): boolean;
28
+ /**
29
+ * Parse the argument text of a cmd.exe rd/rmdir/del command for the
30
+ * recursion switch and its deletion targets.
31
+ *
32
+ * - Leading `/` with valid switch letters: pure switch token; a quoted span
33
+ * glued after the letters (`/s"file.txt"`) is the deletion target.
34
+ * - `/` at index > 0 with valid switch letters containing `s`: the command
35
+ * recurses over the path prefix (`rd zzz/s` → target `zzz`).
36
+ * - Invalid switch text (`a/share/b` → cmd errors "Parameter format not
37
+ * correct"): nothing is deletable; the token is a plain path operand and
38
+ * never fires — on POSIX executors it stays an ordinary nested path.
39
+ * - A fully double-quoted token is a path operand, never a switch.
40
+ *
41
+ * Returns `fires` (the recursion switch is present) and the deletion
42
+ * targets to evaluate when it fires.
43
+ */
44
+ export declare function dcParseWindowsRecursiveDelete(args: string): {
45
+ fires: boolean;
46
+ targets: string[];
47
+ };
@@ -136,11 +136,19 @@ export declare function dcEvaluateRecursiveDeleteTargets(input: {
136
136
  * ln -s <target> <link> (when target is outside cwd)
137
137
  */
138
138
  export declare function dcCheckJunctionCreation(segment: string, cwd: string): string | null;
139
+ export { dcIsSwitchClusterText, dcParseWindowsRecursiveDelete, } from './cmd-delete-grammar';
139
140
  /**
140
- * Extract candidate target paths from a destructive Windows cmd.exe command.
141
- * Returns array of path-like arguments.
141
+ * Whether a whitespace-delimited cmd.exe argument behaves like a switch
142
+ * cluster (issue #3495): a leading `/` followed by switch text where EVERY
143
+ * slash-separated segment is 1–2 ASCII letters — `/s`, `/S`, `/q`, `/s/q`,
144
+ * `/sq`, `/qs`. Path-like tokens never qualify: `/share` and `/src/old`
145
+ * carry multi-letter segments, and a quoted token (`"/s"`, `"a/share/b"`)
146
+ * does not start with `/`. Verified against real cmd.exe: a quoted `"/s"`
147
+ * is treated as a path, and `/sq` is rejected by cmd itself ("Parameter
148
+ * format not correct"), so classifying these clusters as switches is at
149
+ * worst fail-closed parity. Grammar text lives in ./cmd-delete-grammar.
142
150
  */
143
- export declare function dcExtractWindowsCmdTargets(segment: string): string[];
151
+ export declare function dcIsWindowsSwitchCluster(token: string): boolean;
144
152
  /**
145
153
  * Extract candidate target paths from a destructive PowerShell command.
146
154
  * Handles both `Remove-Item <path> -Recurse` and `Remove-Item -Recurse <path>` orderings.
@@ -73,6 +73,8 @@ export interface ShellAuditLimits {
73
73
  maxCommandChars: number;
74
74
  /** Free-text (reason) truncation bound applied at line-shaping time. */
75
75
  maxReasonChars: number;
76
+ /** Path truncation bound applied at line-shaping time (issue #3495). */
77
+ maxPathChars: number;
76
78
  /**
77
79
  * Hard bound on any single whole-file store read. A legacy header-less
78
80
  * file larger than this migrates through the bounded STREAMING reader
@@ -63,6 +63,22 @@ export interface ToolBeforeContext {
63
63
  }
64
64
  /** @internal test seam */
65
65
  export declare function _resetSandboxUnavailableWarningState(): void;
66
+ /**
67
+ * Structured denial from the shell write-scope gate (issue #3495). The
68
+ * message stays the operator-facing contract; these fields carry the
69
+ * structured facts the audit row needs (resolved target + write operator) so
70
+ * the toolBefore catch never re-parses human-readable text to recover them.
71
+ * Either field may be absent when the denial site does not know it (e.g. the
72
+ * dynamic-path denial has an operator but no resolvable target).
73
+ */
74
+ export declare class ShellWriteBlockedError extends Error {
75
+ readonly writeTarget?: string;
76
+ readonly writeOperator?: string;
77
+ constructor(message: string, details?: {
78
+ writeTarget?: string;
79
+ writeOperator?: string;
80
+ });
81
+ }
66
82
  /**
67
83
  * Whether the executor that will run a bare `rmdir` has POSIX rmdir(2)
68
84
  * semantics, the only basis for the empty-directory-removal exemption. Under