@neuralnomads/codenomad-dev 0.20.0-dev-20260911-ea37f97b → 0.20.0-dev-20260917-aa51cbb9

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 (191) hide show
  1. package/README.md +2 -2
  2. package/dist/api-types.js.map +1 -1
  3. package/dist/opencode/automation-plugin.test.js +32 -38
  4. package/dist/opencode/automation-plugin.test.js.map +1 -1
  5. package/dist/opencode/compatibility/contract-fixture.js +15 -0
  6. package/dist/opencode/compatibility/contract-fixture.js.map +1 -0
  7. package/dist/opencode/compatibility/events.js +9 -0
  8. package/dist/opencode/compatibility/events.js.map +1 -0
  9. package/dist/opencode/compatibility/location.js +89 -0
  10. package/dist/opencode/compatibility/location.js.map +1 -0
  11. package/dist/opencode/compatibility/location.test.js +92 -0
  12. package/dist/opencode/compatibility/location.test.js.map +1 -0
  13. package/dist/opencode/compatibility/negotiate.js +73 -0
  14. package/dist/opencode/compatibility/negotiate.js.map +1 -0
  15. package/dist/opencode/compatibility/negotiate.test.js +61 -0
  16. package/dist/opencode/compatibility/negotiate.test.js.map +1 -0
  17. package/dist/opencode/compatibility/proxy-locations.js +137 -0
  18. package/dist/opencode/compatibility/proxy-locations.js.map +1 -0
  19. package/dist/opencode/compatibility/proxy-locations.test.js +42 -0
  20. package/dist/opencode/compatibility/proxy-locations.test.js.map +1 -0
  21. package/dist/opencode/compatibility/proxy.js +60 -0
  22. package/dist/opencode/compatibility/proxy.js.map +1 -0
  23. package/dist/opencode/compatibility/proxy.test.js +47 -0
  24. package/dist/opencode/compatibility/proxy.test.js.map +1 -0
  25. package/dist/opencode/compatibility/requests.js +54 -0
  26. package/dist/opencode/compatibility/requests.js.map +1 -0
  27. package/dist/opencode/compatibility/runtime.js +26 -0
  28. package/dist/opencode/compatibility/runtime.js.map +1 -0
  29. package/dist/opencode/compatibility/transport.js +112 -0
  30. package/dist/opencode/compatibility/transport.js.map +1 -0
  31. package/dist/opencode/compatibility/transport.test.js +83 -0
  32. package/dist/opencode/compatibility/transport.test.js.map +1 -0
  33. package/dist/opencode/session-pruning/location.js +16 -0
  34. package/dist/opencode/session-pruning/location.js.map +1 -0
  35. package/dist/opencode/session-pruning/package.test.js +37 -0
  36. package/dist/opencode/session-pruning/package.test.js.map +1 -0
  37. package/dist/opencode/session-pruning/plugin.js +5 -2
  38. package/dist/opencode/session-pruning/plugin.js.map +1 -1
  39. package/dist/opencode/session-pruning/preview-store.js +3 -2
  40. package/dist/opencode/session-pruning/preview-store.js.map +1 -1
  41. package/dist/opencode/session-pruning/pruning.test.js +7 -5
  42. package/dist/opencode/session-pruning/pruning.test.js.map +1 -1
  43. package/dist/opencode/session-pruning/service.js +5 -4
  44. package/dist/opencode/session-pruning/service.js.map +1 -1
  45. package/dist/opencode/session-pruning/service.test.js +65 -53
  46. package/dist/opencode/session-pruning/service.test.js.map +1 -1
  47. package/dist/permissions/opencode-replier.js +2 -2
  48. package/dist/permissions/opencode-replier.js.map +1 -1
  49. package/dist/permissions/opencode-replier.test.js +1 -1
  50. package/dist/permissions/opencode-replier.test.js.map +1 -1
  51. package/dist/permissions/opencode-yolo-metadata.js.map +1 -1
  52. package/dist/permissions/opencode-yolo-metadata.test.js.map +1 -1
  53. package/dist/plugins/session-pruning/plugin.mjs +422 -271
  54. package/dist/server/__tests__/instance-proxy-legacy.test.js +111 -0
  55. package/dist/server/__tests__/instance-proxy-legacy.test.js.map +1 -0
  56. package/dist/server/__tests__/instance-proxy.test.js +95 -34
  57. package/dist/server/__tests__/instance-proxy.test.js.map +1 -1
  58. package/dist/server/http-server.js +147 -237
  59. package/dist/server/http-server.js.map +1 -1
  60. package/dist/server/routes/session-pruning.js +4 -2
  61. package/dist/server/routes/session-pruning.js.map +1 -1
  62. package/dist/server/routes/session-pruning.test.js +16 -2
  63. package/dist/server/routes/session-pruning.test.js.map +1 -1
  64. package/dist/server/routes/worktrees.js +1 -0
  65. package/dist/server/routes/worktrees.js.map +1 -1
  66. package/dist/server/routes/worktrees.test.js +54 -1
  67. package/dist/server/routes/worktrees.test.js.map +1 -1
  68. package/dist/workspaces/host-opencode-service.test.js +56 -7
  69. package/dist/workspaces/host-opencode-service.test.js.map +1 -1
  70. package/dist/workspaces/instance-client.js.map +1 -1
  71. package/dist/workspaces/instance-events.js +71 -57
  72. package/dist/workspaces/instance-events.js.map +1 -1
  73. package/dist/workspaces/instance-events.test.js +122 -9
  74. package/dist/workspaces/instance-events.test.js.map +1 -1
  75. package/dist/workspaces/manager.js +24 -39
  76. package/dist/workspaces/manager.js.map +1 -1
  77. package/dist/workspaces/manager.test.js +43 -7
  78. package/dist/workspaces/manager.test.js.map +1 -1
  79. package/dist/workspaces/opencode-cli-service.js +56 -29
  80. package/dist/workspaces/opencode-cli-service.js.map +1 -1
  81. package/dist/workspaces/opencode-connection-generation.test.js +57 -0
  82. package/dist/workspaces/opencode-connection-generation.test.js.map +1 -0
  83. package/dist/workspaces/opencode-service.js +70 -16
  84. package/dist/workspaces/opencode-service.js.map +1 -1
  85. package/dist/workspaces/opencode-service.test.js +3 -4
  86. package/dist/workspaces/opencode-service.test.js.map +1 -1
  87. package/dist/workspaces/worktree-session-evacuation.js +31 -11
  88. package/dist/workspaces/worktree-session-evacuation.js.map +1 -1
  89. package/dist/workspaces/worktree-session-evacuation.test.js +211 -0
  90. package/dist/workspaces/worktree-session-evacuation.test.js.map +1 -1
  91. package/dist/workspaces/wsl-opencode-service.test.js +64 -24
  92. package/dist/workspaces/wsl-opencode-service.test.js.map +1 -1
  93. package/package.json +3 -3
  94. package/public/assets/App-BROhwPo9.js +54 -0
  95. package/public/assets/App-BROhwPo9.js.map +1 -0
  96. package/public/assets/{FilesTab-CRpGDs1B.js → FilesTab-DY3Vr-3r.js} +3 -3
  97. package/public/assets/{FilesTab-CRpGDs1B.js.map → FilesTab-DY3Vr-3r.js.map} +1 -1
  98. package/public/assets/{GitChangesTab-DxFebTiq.js → GitChangesTab-BD6CJngE.js} +3 -3
  99. package/public/assets/{GitChangesTab-DxFebTiq.js.map → GitChangesTab-BD6CJngE.js.map} +1 -1
  100. package/public/assets/{SplitFilePanel-DgTMrrO-.js → SplitFilePanel-BdY6d_6m.js} +2 -2
  101. package/public/assets/{SplitFilePanel-DgTMrrO-.js.map → SplitFilePanel-BdY6d_6m.js.map} +1 -1
  102. package/public/assets/StatusTab-C-_2yaPa.js +2 -0
  103. package/public/assets/StatusTab-C-_2yaPa.js.map +1 -0
  104. package/public/assets/{align-justify-v_yPXSys.js → align-justify-DI8VTZ4G.js} +2 -2
  105. package/public/assets/{align-justify-v_yPXSys.js.map → align-justify-DI8VTZ4G.js.map} +1 -1
  106. package/public/assets/{bundle-full-HzL_Jtqk.js → bundle-full-D_M65Eb_.js} +2 -2
  107. package/public/assets/{bundle-full-HzL_Jtqk.js.map → bundle-full-D_M65Eb_.js.map} +1 -1
  108. package/public/assets/{client-state-CF-PJ0GG.js → client-state-CWCzCOz6.js} +2 -2
  109. package/public/assets/{client-state-CF-PJ0GG.js.map → client-state-CWCzCOz6.js.map} +1 -1
  110. package/public/assets/{diff-viewer-BFDQBDVy.js → diff-viewer-CGPsYEr3.js} +2 -2
  111. package/public/assets/{diff-viewer-BFDQBDVy.js.map → diff-viewer-CGPsYEr3.js.map} +1 -1
  112. package/public/assets/index-B8-lAqjr.js +2 -0
  113. package/public/assets/index-B8-lAqjr.js.map +1 -0
  114. package/public/assets/index-BeUewQym.js +2 -0
  115. package/public/assets/index-BeUewQym.js.map +1 -0
  116. package/public/assets/index-BxRFHpJd.js +2 -0
  117. package/public/assets/{index-D2UHSOG5.js.map → index-BxRFHpJd.js.map} +1 -1
  118. package/public/assets/index-Bzv1kU-S.js +2 -0
  119. package/public/assets/{index-CTKYD_VJ.js.map → index-Bzv1kU-S.js.map} +1 -1
  120. package/public/assets/index-C9tI4CRG.js +2 -0
  121. package/public/assets/index-C9tI4CRG.js.map +1 -0
  122. package/public/assets/index-CGYHFZ6F.js +2 -0
  123. package/public/assets/index-CGYHFZ6F.js.map +1 -0
  124. package/public/assets/{index-CHYmKl10.js → index-CMEAjBFp.js} +2 -2
  125. package/public/assets/index-CMEAjBFp.js.map +1 -0
  126. package/public/assets/index-Cazypvyc.js +2 -0
  127. package/public/assets/index-Cazypvyc.js.map +1 -0
  128. package/public/assets/index-CwqzofWP.js +2 -0
  129. package/public/assets/index-CwqzofWP.js.map +1 -0
  130. package/public/assets/index-Da9yOa6q.js +2 -0
  131. package/public/assets/index-Da9yOa6q.js.map +1 -0
  132. package/public/assets/{index-RK9gf0uk.js → index-Ddjkirek.js} +2 -2
  133. package/public/assets/{index-RK9gf0uk.js.map → index-Ddjkirek.js.map} +1 -1
  134. package/public/assets/index-HHgvEOAH.js +3 -0
  135. package/public/assets/index-HHgvEOAH.js.map +1 -0
  136. package/public/assets/index-MeFffHqb.css +1 -0
  137. package/public/assets/loading-CdhHiSED.css +1 -0
  138. package/public/assets/{loading-BSB82snY.js → loading-Gqh6NPUr.js} +2 -2
  139. package/public/assets/{loading-BSB82snY.js.map → loading-Gqh6NPUr.js.map} +1 -1
  140. package/public/assets/main-Cbx7KdTr.js +38 -0
  141. package/public/assets/main-Cbx7KdTr.js.map +1 -0
  142. package/public/assets/{markdown-DtidoL2Z.js → markdown-BWnjyvnX.js} +4 -4
  143. package/public/assets/{markdown-DtidoL2Z.js.map → markdown-BWnjyvnX.js.map} +1 -1
  144. package/public/assets/monaco-viewer-BEJIiZWL.js +27 -0
  145. package/public/assets/monaco-viewer-BEJIiZWL.js.map +1 -0
  146. package/public/assets/{startup-state-settings-card-BY741Rt0.js → startup-state-settings-card-C4E2Itop.js} +2 -2
  147. package/public/assets/{startup-state-settings-card-BY741Rt0.js.map → startup-state-settings-card-C4E2Itop.js.map} +1 -1
  148. package/public/assets/{terminal-square-BdC_jwm3.js → terminal-square-C3wutdV0.js} +2 -2
  149. package/public/assets/{terminal-square-BdC_jwm3.js.map → terminal-square-C3wutdV0.js.map} +1 -1
  150. package/public/assets/tool-call-DNsAQ_m4.js +60 -0
  151. package/public/assets/tool-call-DNsAQ_m4.js.map +1 -0
  152. package/public/assets/{unified-picker-C0eo1chJ.js → unified-picker-tB7y17Qz.js} +2 -2
  153. package/public/assets/unified-picker-tB7y17Qz.js.map +1 -0
  154. package/public/assets/{wrap-text-BuMtdvMx.js → wrap-text-CkBxzt04.js} +2 -2
  155. package/public/assets/{wrap-text-BuMtdvMx.js.map → wrap-text-CkBxzt04.js.map} +1 -1
  156. package/public/index.html +4 -4
  157. package/public/loading.html +5 -5
  158. package/public/sw.js +1 -1
  159. package/public/sw.js.map +1 -1
  160. package/public/assets/App-0-FcHzPS.js +0 -44
  161. package/public/assets/App-0-FcHzPS.js.map +0 -1
  162. package/public/assets/StatusTab-LKUA9cbH.js +0 -2
  163. package/public/assets/StatusTab-LKUA9cbH.js.map +0 -1
  164. package/public/assets/index-8iPlm2r0.js +0 -2
  165. package/public/assets/index-8iPlm2r0.js.map +0 -1
  166. package/public/assets/index-B185mC7m.js +0 -2
  167. package/public/assets/index-B185mC7m.js.map +0 -1
  168. package/public/assets/index-Bbj1xF8i.js +0 -2
  169. package/public/assets/index-Bbj1xF8i.js.map +0 -1
  170. package/public/assets/index-BsmFN3k1.js +0 -2
  171. package/public/assets/index-BsmFN3k1.js.map +0 -1
  172. package/public/assets/index-Bz_OQJYA.css +0 -1
  173. package/public/assets/index-C52CfqK3.js +0 -2
  174. package/public/assets/index-C52CfqK3.js.map +0 -1
  175. package/public/assets/index-CHYmKl10.js.map +0 -1
  176. package/public/assets/index-CTKYD_VJ.js +0 -2
  177. package/public/assets/index-D2UHSOG5.js +0 -2
  178. package/public/assets/index-DDoB_Z36.js +0 -2
  179. package/public/assets/index-DDoB_Z36.js.map +0 -1
  180. package/public/assets/index-DcwAtZw-.js +0 -3
  181. package/public/assets/index-DcwAtZw-.js.map +0 -1
  182. package/public/assets/index-DxUD3RYr.js +0 -2
  183. package/public/assets/index-DxUD3RYr.js.map +0 -1
  184. package/public/assets/loading-CmEVQgyj.css +0 -1
  185. package/public/assets/main-CZztwrfv.js +0 -48
  186. package/public/assets/main-CZztwrfv.js.map +0 -1
  187. package/public/assets/monaco-viewer-CpxDfB-6.js +0 -27
  188. package/public/assets/monaco-viewer-CpxDfB-6.js.map +0 -1
  189. package/public/assets/tool-call-DbtCsJ4x.js +0 -60
  190. package/public/assets/tool-call-DbtCsJ4x.js.map +0 -1
  191. package/public/assets/unified-picker-C0eo1chJ.js.map +0 -1
@@ -19,7 +19,7 @@ var agent_exports = {};
19
19
  __export(agent_exports, {
20
20
  Agent: () => agent_exports,
21
21
  Color: () => Color,
22
- Event: () => Event5,
22
+ Event: () => Event7,
23
23
  ID: () => ID8,
24
24
  Info: () => Info7,
25
25
  Name: () => Name
@@ -183,24 +183,24 @@ function memoizeIdempotent(f) {
183
183
 
184
184
  // ../../node_modules/effect/dist/internal/equal.js
185
185
  var getAllObjectKeys = (obj) => {
186
- const keys3 = new Set(Reflect.ownKeys(obj));
187
- if (obj.constructor === Object) return keys3;
186
+ const keys4 = new Set(Reflect.ownKeys(obj));
187
+ if (obj.constructor === Object) return keys4;
188
188
  if (obj instanceof Error) {
189
- keys3.delete("stack");
189
+ keys4.delete("stack");
190
190
  }
191
191
  const proto = Object.getPrototypeOf(obj);
192
192
  let current = proto;
193
193
  while (current !== null && current !== Object.prototype) {
194
194
  const ownKeys = Reflect.ownKeys(current);
195
195
  for (let i = 0; i < ownKeys.length; i++) {
196
- keys3.add(ownKeys[i]);
196
+ keys4.add(ownKeys[i]);
197
197
  }
198
198
  current = Object.getPrototypeOf(current);
199
199
  }
200
- if (keys3.has("constructor") && typeof obj.constructor === "function" && proto === obj.constructor.prototype) {
201
- keys3.delete("constructor");
200
+ if (keys4.has("constructor") && typeof obj.constructor === "function" && proto === obj.constructor.prototype) {
201
+ keys4.delete("constructor");
202
202
  }
203
- return keys3;
203
+ return keys4;
204
204
  };
205
205
  var byReferenceInstances = /* @__PURE__ */ new WeakSet();
206
206
 
@@ -349,9 +349,9 @@ var string = (str) => {
349
349
  }
350
350
  return optimize(h);
351
351
  };
352
- var structureKeys = (o, keys3) => {
352
+ var structureKeys = (o, keys4) => {
353
353
  let h = 12289;
354
- for (const key of keys3) {
354
+ for (const key of keys4) {
355
355
  h ^= combine(hash(key), hash(o[key]));
356
356
  }
357
357
  return optimize(h);
@@ -605,19 +605,28 @@ function Array_(item) {
605
605
  return true;
606
606
  });
607
607
  }
608
+ function Struct(fields) {
609
+ const keys4 = Reflect.ownKeys(fields);
610
+ return make2((self, that) => {
611
+ for (const key of keys4) {
612
+ if (!fields[key](self[key], that[key])) return false;
613
+ }
614
+ return true;
615
+ });
616
+ }
608
617
 
609
618
  // ../../node_modules/effect/dist/internal/array.js
610
619
  var isArrayNonEmpty = (self) => self.length > 0;
611
620
 
612
621
  // ../../node_modules/effect/dist/internal/doNotation.js
613
- var let_ = (map10) => dual(3, (self, name, f) => map10(self, (a) => ({
622
+ var let_ = (map11) => dual(3, (self, name, f) => map11(self, (a) => ({
614
623
  ...a,
615
624
  [name]: f(a)
616
625
  })));
617
- var bindTo = (map10) => dual(2, (self, name) => map10(self, (a) => ({
626
+ var bindTo = (map11) => dual(2, (self, name) => map11(self, (a) => ({
618
627
  [name]: a
619
628
  })));
620
- var bind = (map10, flatMap6) => dual(3, (self, name, f) => flatMap6(self, (a) => map10(f(a), (b) => ({
629
+ var bind = (map11, flatMap6) => dual(3, (self, name, f) => flatMap6(self, (a) => map11(f(a), (b) => ({
621
630
  ...a,
622
631
  [name]: b
623
632
  }))));
@@ -777,13 +786,13 @@ ${ind(d)}]`;
777
786
  } else if (Symbol.iterator in v) {
778
787
  output = `${v.constructor.name}(${recur3(Array.from(v), d)})`;
779
788
  } else {
780
- const keys3 = ownKeys(v);
781
- if (!gap || keys3.length <= 1) {
782
- const body = `{${keys3.map((k) => `${formatPropertyKey(k)}:${recur3(v[k], d)}`).join(",")}}`;
789
+ const keys4 = ownKeys(v);
790
+ if (!gap || keys4.length <= 1) {
791
+ const body = `{${keys4.map((k) => `${formatPropertyKey(k)}:${recur3(v[k], d)}`).join(",")}}`;
783
792
  output = wrap(v, body);
784
793
  } else {
785
794
  const body = `{
786
- ${keys3.map((k) => `${ind(d + 1)}${formatPropertyKey(k)}: ${recur3(v[k], d + 1)}`).join(",\n")}
795
+ ${keys4.map((k) => `${ind(d + 1)}${formatPropertyKey(k)}: ${recur3(v[k], d + 1)}`).join(",\n")}
787
796
  ${ind(d)}}`;
788
797
  output = wrap(v, body);
789
798
  }
@@ -1475,6 +1484,18 @@ var Number2 = /* @__PURE__ */ make4((self, that) => {
1475
1484
  var BigInt2 = /* @__PURE__ */ make4((self, that) => self < that ? -1 : 1);
1476
1485
  var mapInput = /* @__PURE__ */ dual(2, (self, f) => make4((b1, b2) => self(f(b1), f(b2))));
1477
1486
  var Date2 = /* @__PURE__ */ mapInput(Number2, (date) => date.getTime());
1487
+ function Struct2(fields) {
1488
+ const keys4 = Object.keys(fields);
1489
+ return make4((self, that) => {
1490
+ for (const key of keys4) {
1491
+ const o = fields[key](self[key], that[key]);
1492
+ if (o !== 0) {
1493
+ return o;
1494
+ }
1495
+ }
1496
+ return 0;
1497
+ });
1498
+ }
1478
1499
  var isLessThan = (O) => dual(2, (self, that) => O(self, that) === -1);
1479
1500
  var isGreaterThan = (O) => dual(2, (self, that) => O(self, that) === 1);
1480
1501
  var isLessThanOrEqualTo = (O) => dual(2, (self, that) => O(self, that) !== 1);
@@ -2124,22 +2145,22 @@ var makeImpl = (cacheRoot, base2, overlay, depth) => {
2124
2145
  self.baseHits = 0;
2125
2146
  return self;
2126
2147
  };
2127
- var applyOverlays = (map10, overlay) => {
2148
+ var applyOverlays = (map11, overlay) => {
2128
2149
  if (!overlay) return;
2129
- applyOverlays(map10, overlay.parent);
2130
- map10.set(overlay.key, overlay.value);
2150
+ applyOverlays(map11, overlay.parent);
2151
+ map11.set(overlay.key, overlay.value);
2131
2152
  };
2132
2153
  var flatten2 = (self) => {
2133
2154
  if (self._flat) return self._flat;
2134
2155
  if (!self.overlay) return self._flat = self.base;
2135
- const map10 = new Map(self.base);
2136
- applyOverlays(map10, self.overlay);
2137
- return self._flat = map10;
2156
+ const map11 = new Map(self.base);
2157
+ applyOverlays(map11, self.overlay);
2158
+ return self._flat = map11;
2138
2159
  };
2139
2160
  var withFlat = (self, f) => {
2140
- const map10 = new Map(self.mapUnsafe);
2141
- f(map10);
2142
- return makeUnsafe(map10);
2161
+ const map11 = new Map(self.mapUnsafe);
2162
+ f(map11);
2163
+ return makeUnsafe(map11);
2143
2164
  };
2144
2165
  var notFound = /* @__PURE__ */ Symbol();
2145
2166
  var lookup = (self, key) => {
@@ -2199,9 +2220,9 @@ var addUnsafe = (self, key, service3) => {
2199
2220
  const impl = self;
2200
2221
  const cacheRoot = cacheKeys.has(key) ? void 0 : impl.cacheRoot;
2201
2222
  if (impl.depth >= MaxDepth) {
2202
- const map10 = new Map(impl.mapUnsafe);
2203
- map10.set(key, service3);
2204
- return makeImpl(cacheRoot, map10, void 0, 0);
2223
+ const map11 = new Map(impl.mapUnsafe);
2224
+ map11.set(key, service3);
2225
+ return makeImpl(cacheRoot, map11, void 0, 0);
2205
2226
  }
2206
2227
  return makeImpl(cacheRoot, impl.base, {
2207
2228
  key,
@@ -2247,16 +2268,16 @@ var getOption = /* @__PURE__ */ dual(2, (self, service3) => {
2247
2268
  var merge = /* @__PURE__ */ dual(2, (self, that) => {
2248
2269
  if (self.mapUnsafe.size === 0) return that;
2249
2270
  if (that.mapUnsafe.size === 0) return self;
2250
- return withFlat(self, (map10) => that.mapUnsafe.forEach((value3, key) => map10.set(key, value3)));
2271
+ return withFlat(self, (map11) => that.mapUnsafe.forEach((value3, key) => map11.set(key, value3)));
2251
2272
  });
2252
2273
  var mergeAll = (...ctxs) => {
2253
- const map10 = /* @__PURE__ */ new Map();
2274
+ const map11 = /* @__PURE__ */ new Map();
2254
2275
  for (let i = 0; i < ctxs.length; i++) {
2255
2276
  ctxs[i].mapUnsafe.forEach((value3, key) => {
2256
- map10.set(key, value3);
2277
+ map11.set(key, value3);
2257
2278
  });
2258
2279
  }
2259
- return makeUnsafe(map10);
2280
+ return makeUnsafe(map11);
2260
2281
  };
2261
2282
  var Reference = Service;
2262
2283
 
@@ -4065,10 +4086,10 @@ var catchTag = /* @__PURE__ */ dual((args2) => isEffect(args2[0]), (self, k, f,
4065
4086
  return catchIf(self, pred, f, orElse2);
4066
4087
  });
4067
4088
  var catchTags = /* @__PURE__ */ dual((args2) => isEffect(args2[0]), (self, cases, orElse2) => {
4068
- let keys3;
4089
+ let keys4;
4069
4090
  return catchFilter(self, (e) => {
4070
- keys3 ??= Object.keys(cases);
4071
- return hasProperty(e, "_tag") && isString(e["_tag"]) && keys3.includes(e["_tag"]) ? succeed2(e) : fail2(e);
4091
+ keys4 ??= Object.keys(cases);
4092
+ return hasProperty(e, "_tag") && isString(e["_tag"]) && keys4.includes(e["_tag"]) ? succeed2(e) : fail2(e);
4072
4093
  }, (e) => internalCall(() => cases[e["_tag"]](e)), orElse2);
4073
4094
  });
4074
4095
  var catchReason = /* @__PURE__ */ dual((args2) => isEffect(args2[0]), (self, errorTag, reasonTag, f, orElse2) => catchIf(self, (e) => isTagged(e, errorTag) && hasProperty(e, "reason"), (e) => {
@@ -4077,11 +4098,11 @@ var catchReason = /* @__PURE__ */ dual((args2) => isEffect(args2[0]), (self, err
4077
4098
  return orElse2 ? internalCall(() => orElse2(reason, e)) : fail3(e);
4078
4099
  }));
4079
4100
  var catchReasons = /* @__PURE__ */ dual((args2) => isEffect(args2[0]), (self, errorTag, cases, orElse2) => {
4080
- let keys3;
4101
+ let keys4;
4081
4102
  return catchIf(self, (e) => isTagged(e, errorTag) && hasProperty(e, "reason") && hasProperty(e.reason, "_tag") && isString(e.reason._tag), (e) => {
4082
4103
  const reason = e.reason;
4083
- keys3 ??= Object.keys(cases);
4084
- if (keys3.includes(reason._tag)) {
4104
+ keys4 ??= Object.keys(cases);
4105
+ if (keys4.includes(reason._tag)) {
4085
4106
  return internalCall(() => cases[reason._tag](reason, e));
4086
4107
  }
4087
4108
  return orElse2 ? internalCall(() => orElse2(reason, e)) : fail3(e);
@@ -9708,9 +9729,9 @@ var Objects = class _Objects extends Base2 {
9708
9729
  for (let i = 0; i < indexCount; i++) {
9709
9730
  const index2 = indexes[i];
9710
9731
  const parse = index2.is.parameter === string2 ? parseStringIndex : parseIndex;
9711
- const keys3 = index2.is.parameter === string2 ? Object.keys(record2) : getIndexSignatureKeys(record2, index2.is.parameter, options2);
9712
- for (let j = 0; j < keys3.length; j++) {
9713
- const eff = parse(state, keys3[j], index2);
9732
+ const keys4 = index2.is.parameter === string2 ? Object.keys(record2) : getIndexSignatureKeys(record2, index2.is.parameter, options2);
9733
+ for (let j = 0; j < keys4.length; j++) {
9734
+ const eff = parse(state, keys4[j], index2);
9714
9735
  if (!effectIsExit(eff)) yield* eff;
9715
9736
  else if (eff._tag === "Failure") return yield* eff;
9716
9737
  }
@@ -9719,9 +9740,9 @@ var Objects = class _Objects extends Base2 {
9719
9740
  const keyPairs = empty();
9720
9741
  for (let i = 0; i < indexCount; i++) {
9721
9742
  const index2 = indexes[i];
9722
- const keys3 = getIndexSignatureKeys(record2, index2.is.parameter, options2);
9723
- for (let j = 0; j < keys3.length; j++) {
9724
- keyPairs.push([keys3[j], index2]);
9743
+ const keys4 = getIndexSignatureKeys(record2, index2.is.parameter, options2);
9744
+ for (let j = 0; j < keys4.length; j++) {
9745
+ keyPairs.push([keys4[j], index2]);
9725
9746
  }
9726
9747
  }
9727
9748
  const eff = parseIndexes(state, keyPairs, concurrency);
@@ -9731,9 +9752,9 @@ var Objects = class _Objects extends Base2 {
9731
9752
  return yield* fail5(new Composite(ast, state.issues, input, options2));
9732
9753
  }
9733
9754
  if (options2.propertyOrder === "original") {
9734
- const keys3 = (inputKeys ?? Reflect.ownKeys(record2)).concat(expectedKeys);
9755
+ const keys4 = (inputKeys ?? Reflect.ownKeys(record2)).concat(expectedKeys);
9735
9756
  const preserved = {};
9736
- for (const key of keys3) {
9757
+ for (const key of keys4) {
9737
9758
  if (Object.hasOwn(out, key)) {
9738
9759
  assignProperty(preserved, key, out[key]);
9739
9760
  }
@@ -10888,14 +10909,14 @@ function isTree(u, isLeaf) {
10888
10909
  }
10889
10910
  while (stack.length > 0) {
10890
10911
  const frame = stack[stack.length - 1];
10891
- const keys3 = frame.keys;
10892
- if (typeof keys3 === "number") {
10893
- if (frame.index < keys3) {
10912
+ const keys4 = frame.keys;
10913
+ if (typeof keys4 === "number") {
10914
+ if (frame.index < keys4) {
10894
10915
  u = frame.value[frame.index++];
10895
10916
  continue outer;
10896
10917
  }
10897
- } else if (frame.index < keys3.length) {
10898
- u = frame.value[keys3[frame.index++]];
10918
+ } else if (frame.index < keys4.length) {
10919
+ u = frame.value[keys4[frame.index++]];
10899
10920
  continue outer;
10900
10921
  }
10901
10922
  cache.set(frame.value, true);
@@ -11207,7 +11228,7 @@ __export(Schema_exports, {
11207
11228
  ReadonlyMapReviver: () => ReadonlyMapReviver,
11208
11229
  ReadonlySet: () => ReadonlySet,
11209
11230
  ReadonlySetReviver: () => ReadonlySetReviver,
11210
- Record: () => Record,
11231
+ Record: () => Record2,
11211
11232
  Redacted: () => Redacted,
11212
11233
  RedactedFromValue: () => RedactedFromValue,
11213
11234
  RedactedReviver: () => RedactedReviver,
@@ -11222,7 +11243,7 @@ __export(Schema_exports, {
11222
11243
  StringFromBase64Url: () => StringFromBase64Url,
11223
11244
  StringFromHex: () => StringFromHex,
11224
11245
  StringFromUriComponent: () => StringFromUriComponent,
11225
- Struct: () => Struct,
11246
+ Struct: () => Struct3,
11226
11247
  StructWithRest: () => StructWithRest,
11227
11248
  Symbol: () => Symbol3,
11228
11249
  TaggedClass: () => TaggedClass,
@@ -12307,11 +12328,11 @@ var makeImpl2 = (keyMap2) => {
12307
12328
  var isHashSet = (u) => hasProperty(u, HashSetTypeId);
12308
12329
  var keyMap = (self) => self.keyMap;
12309
12330
  var fromIterable6 = (values2) => {
12310
- let map10 = empty5();
12331
+ let map11 = empty5();
12311
12332
  for (const value3 of values2) {
12312
- map10 = set(map10, value3, true);
12333
+ map11 = set(map11, value3, true);
12313
12334
  }
12314
- return makeImpl2(map10);
12335
+ return makeImpl2(map11);
12315
12336
  };
12316
12337
  var has2 = (self, value3) => has(keyMap(self), value3);
12317
12338
  var size4 = (self) => size2(keyMap(self));
@@ -12673,11 +12694,34 @@ function make16(ast, options2) {
12673
12694
  }
12674
12695
 
12675
12696
  // ../../node_modules/effect/dist/Struct.js
12676
- var pick = /* @__PURE__ */ dual(2, (self, keys3) => {
12677
- return buildStruct(self, (k, v) => keys3.includes(k) ? [k, v] : void 0);
12678
- });
12679
- var omit2 = /* @__PURE__ */ dual(2, (self, keys3) => {
12680
- return buildStruct(self, (k, v) => !keys3.includes(k) ? [k, v] : void 0);
12697
+ var Struct_exports = {};
12698
+ __export(Struct_exports, {
12699
+ Record: () => Record,
12700
+ assign: () => assign,
12701
+ evolve: () => evolve,
12702
+ evolveEntries: () => evolveEntries,
12703
+ evolveKeys: () => evolveKeys,
12704
+ get: () => get3,
12705
+ keys: () => keys3,
12706
+ lambda: () => lambda,
12707
+ makeCombiner: () => makeCombiner,
12708
+ makeEquivalence: () => makeEquivalence4,
12709
+ makeOrder: () => makeOrder2,
12710
+ makeReducer: () => makeReducer2,
12711
+ map: () => map10,
12712
+ mapOmit: () => mapOmit,
12713
+ mapPick: () => mapPick,
12714
+ omit: () => omit2,
12715
+ pick: () => pick,
12716
+ renameKeys: () => renameKeys
12717
+ });
12718
+ var get3 = /* @__PURE__ */ dual(2, (self, key) => self[key]);
12719
+ var keys3 = (self) => Object.keys(self);
12720
+ var pick = /* @__PURE__ */ dual(2, (self, keys4) => {
12721
+ return buildStruct(self, (k, v) => keys4.includes(k) ? [k, v] : void 0);
12722
+ });
12723
+ var omit2 = /* @__PURE__ */ dual(2, (self, keys4) => {
12724
+ return buildStruct(self, (k, v) => !keys4.includes(k) ? [k, v] : void 0);
12681
12725
  });
12682
12726
  var assign = /* @__PURE__ */ dual(2, (self, that) => {
12683
12727
  return {
@@ -12685,10 +12729,30 @@ var assign = /* @__PURE__ */ dual(2, (self, that) => {
12685
12729
  ...that
12686
12730
  };
12687
12731
  });
12732
+ var evolve = /* @__PURE__ */ dual(2, (self, e) => {
12733
+ return buildStruct(self, (k, v) => [k, Object.hasOwn(e, k) ? e[k](v) : v]);
12734
+ });
12735
+ var evolveKeys = /* @__PURE__ */ dual(2, (self, e) => {
12736
+ return buildStruct(self, (k, v) => [Object.hasOwn(e, k) ? e[k](k) : k, v]);
12737
+ });
12738
+ var evolveEntries = /* @__PURE__ */ dual(2, (self, e) => {
12739
+ return buildStruct(self, (k, v) => Object.hasOwn(e, k) ? e[k](k, v) : [k, v]);
12740
+ });
12688
12741
  var renameKeys = /* @__PURE__ */ dual(2, (self, mapping) => {
12689
12742
  return buildStruct(self, (k, v) => [Object.hasOwn(mapping, k) ? mapping[k] : k, v]);
12690
12743
  });
12744
+ var makeEquivalence4 = Struct;
12745
+ var makeOrder2 = Struct2;
12691
12746
  var lambda = (f) => f;
12747
+ var map10 = /* @__PURE__ */ dual(2, (self, lambda2) => {
12748
+ return buildStruct(self, (k, v) => [k, lambda2(v)]);
12749
+ });
12750
+ var mapPick = /* @__PURE__ */ dual(3, (self, keys4, lambda2) => {
12751
+ return buildStruct(self, (k, v) => [k, keys4.includes(k) ? lambda2(v) : v]);
12752
+ });
12753
+ var mapOmit = /* @__PURE__ */ dual(3, (self, keys4, lambda2) => {
12754
+ return buildStruct(self, (k, v) => [k, !keys4.includes(k) ? lambda2(v) : v]);
12755
+ });
12692
12756
  function buildStruct(source, f) {
12693
12757
  const out = {};
12694
12758
  for (const k of Reflect.ownKeys(source)) {
@@ -12704,9 +12768,9 @@ function buildStruct(source, f) {
12704
12768
  function makeCombiner(combiners, options2) {
12705
12769
  const omitKeyWhen = options2?.omitKeyWhen ?? (() => false);
12706
12770
  return make3((self, that) => {
12707
- const keys3 = Reflect.ownKeys(combiners);
12771
+ const keys4 = Reflect.ownKeys(combiners);
12708
12772
  const out = {};
12709
- for (const key of keys3) {
12773
+ for (const key of keys4) {
12710
12774
  const merge2 = combiners[key].combine(self[key], that[key]);
12711
12775
  if (omitKeyWhen(merge2)) continue;
12712
12776
  assignProperty(out, key, merge2);
@@ -12714,9 +12778,26 @@ function makeCombiner(combiners, options2) {
12714
12778
  return out;
12715
12779
  });
12716
12780
  }
12781
+ function makeReducer2(reducers, options2) {
12782
+ const combine2 = makeCombiner(reducers, options2).combine;
12783
+ const initialValue = {};
12784
+ for (const key of Reflect.ownKeys(reducers)) {
12785
+ const iv = reducers[key].initialValue;
12786
+ if (options2?.omitKeyWhen?.(iv)) continue;
12787
+ assignProperty(initialValue, key, iv);
12788
+ }
12789
+ return make(combine2, initialValue);
12790
+ }
12791
+ function Record(keys4, value3) {
12792
+ const out = {};
12793
+ for (const key of keys4) {
12794
+ assignProperty(out, key, value3);
12795
+ }
12796
+ return out;
12797
+ }
12717
12798
 
12718
12799
  // ../../node_modules/effect/dist/UndefinedOr.js
12719
- function makeReducer2(combiner2) {
12800
+ function makeReducer3(combiner2) {
12720
12801
  return make((self, that) => {
12721
12802
  if (self === void 0) return that;
12722
12803
  if (that === void 0) return self;
@@ -12783,10 +12864,10 @@ function appendObjectEntries(out, entries3) {
12783
12864
  ...o
12784
12865
  })));
12785
12866
  }
12786
- var max5 = /* @__PURE__ */ makeReducer2(ReducerMax);
12787
- var min5 = /* @__PURE__ */ makeReducer2(ReducerMin);
12788
- var or = /* @__PURE__ */ makeReducer2(ReducerOr);
12789
- var concat = /* @__PURE__ */ makeReducer2(/* @__PURE__ */ makeReducerConcat());
12867
+ var max5 = /* @__PURE__ */ makeReducer3(ReducerMax);
12868
+ var min5 = /* @__PURE__ */ makeReducer3(ReducerMin);
12869
+ var or = /* @__PURE__ */ makeReducer3(ReducerOr);
12870
+ var concat = /* @__PURE__ */ makeReducer3(/* @__PURE__ */ makeReducerConcat());
12790
12871
  var combiner = /* @__PURE__ */ makeCombiner({
12791
12872
  integer: or,
12792
12873
  maxLength: min5,
@@ -13366,7 +13447,7 @@ function base(ast, path5) {
13366
13447
  case "Suspend": {
13367
13448
  const memo = arbitraryMemoMap.get(ast);
13368
13449
  if (memo) return memo;
13369
- const get4 = memoizeThunk(() => recur(ast.thunk(), path5));
13450
+ const get5 = memoizeThunk(() => recur(ast.thunk(), path5));
13370
13451
  const out = makeLazy((fc, ctx, recursionStack) => {
13371
13452
  const recursion = getSuspendRecursion(fc, ast);
13372
13453
  const nextCtx = {
@@ -13374,17 +13455,17 @@ function base(ast, path5) {
13374
13455
  recursion
13375
13456
  };
13376
13457
  const nextStack = recursionStack.includes(ast) ? recursionStack : [...recursionStack, ast];
13377
- const terminal = get4().terminal(fc, nextCtx, nextStack);
13458
+ const terminal = get5().terminal(fc, nextCtx, nextStack);
13378
13459
  if (terminal === void 0) {
13379
13460
  throw errorWithPath("Unable to derive an arbitrary for a recursive schema without a finite generation path", path5);
13380
13461
  }
13381
- return fc.oneof(recursion, terminal, fc.constant(null).chain(() => get4()(fc, nextCtx, nextStack)));
13462
+ return fc.oneof(recursion, terminal, fc.constant(null).chain(() => get5()(fc, nextCtx, nextStack)));
13382
13463
  }, (fc, ctx, recursionStack) => {
13383
13464
  if (recursionStack.includes(ast)) {
13384
13465
  return void 0;
13385
13466
  }
13386
13467
  const recursion = getSuspendRecursion(fc, ast);
13387
- return get4().terminal(fc, {
13468
+ return get5().terminal(fc, {
13388
13469
  ...ctx,
13389
13470
  recursion
13390
13471
  }, [...recursionStack, ast]);
@@ -13512,8 +13593,8 @@ function recur2(ast, path5) {
13512
13593
  });
13513
13594
  }
13514
13595
  case "Suspend": {
13515
- const get4 = memoizeThunk(() => recur2(ast.thunk(), path5));
13516
- return make2((a, b) => get4()(a, b));
13596
+ const get5 = memoizeThunk(() => recur2(ast.thunk(), path5));
13597
+ return make2((a, b) => get5()(a, b));
13517
13598
  }
13518
13599
  }
13519
13600
  }
@@ -13857,8 +13938,8 @@ function convertDependencies(source, out, context3, targetDialect) {
13857
13938
  const dependentSchemas = isObject(source.dependentSchemas) ? source.dependentSchemas : void 0;
13858
13939
  if (dependentRequired === void 0 && dependentSchemas === void 0) return;
13859
13940
  const dependencies = {};
13860
- const keys3 = /* @__PURE__ */ new Set([...Object.keys(dependentRequired ?? {}), ...Object.keys(dependentSchemas ?? {})]);
13861
- for (const key of keys3) {
13941
+ const keys4 = /* @__PURE__ */ new Set([...Object.keys(dependentRequired ?? {}), ...Object.keys(dependentSchemas ?? {})]);
13942
+ for (const key of keys4) {
13862
13943
  const required3 = dependentRequired?.[key];
13863
13944
  const dependency = dependentSchemas?.[key];
13864
13945
  const omitRequired = targetDialect === "draft-04" && Array.isArray(required3) && required3.length === 0;
@@ -14388,8 +14469,8 @@ function compactEnums(schemas) {
14388
14469
  let sharedType = void 0;
14389
14470
  const values2 = [];
14390
14471
  for (const schema of schemas) {
14391
- const keys3 = Object.keys(schema);
14392
- if (keys3.length !== 2 || schema.type === void 0 || !Array.isArray(schema.enum) || schema.enum.length === 0) {
14472
+ const keys4 = Object.keys(schema);
14473
+ if (keys4.length !== 2 || schema.type === void 0 || !Array.isArray(schema.enum) || schema.enum.length === 0) {
14393
14474
  return void 0;
14394
14475
  }
14395
14476
  if (sharedType === void 0) sharedType = schema.type;
@@ -14757,7 +14838,7 @@ function toRepresentations(asts, options2) {
14757
14838
  }
14758
14839
 
14759
14840
  // ../../node_modules/effect/dist/JsonPatch.js
14760
- function get3(oldValue, newValue) {
14841
+ function get4(oldValue, newValue) {
14761
14842
  const patches = [];
14762
14843
  getLoop(oldValue, newValue, "", patches);
14763
14844
  return patches;
@@ -14938,17 +15019,17 @@ function rebuildFromStack(stack, newParent) {
14938
15019
  }
14939
15020
 
14940
15021
  // ../../node_modules/effect/dist/Optic.js
14941
- function makeIso(get4, set2) {
14942
- return make17(primitiveNode("Iso", get4, set2));
15022
+ function makeIso(get5, set2) {
15023
+ return make17(primitiveNode("Iso", get5, set2));
14943
15024
  }
14944
- function makeLens(get4, replace) {
14945
- return make17(primitiveNode("Lens", get4, replace));
15025
+ function makeLens(get5, replace) {
15026
+ return make17(primitiveNode("Lens", get5, replace));
14946
15027
  }
14947
- function primitiveNode(kind, get4, set2) {
15028
+ function primitiveNode(kind, get5, set2) {
14948
15029
  return [{
14949
15030
  _tag: "PrimitiveNode",
14950
15031
  kind,
14951
- get: get4,
15032
+ get: get5,
14952
15033
  set: set2
14953
15034
  }];
14954
15035
  }
@@ -15078,14 +15159,14 @@ var OptionalImpl = class {
15078
15159
  }
15079
15160
  })));
15080
15161
  }
15081
- pick(keys3) {
15082
- return this.compose(makeLens(pick(keys3), (p, a) => ({
15162
+ pick(keys4) {
15163
+ return this.compose(makeLens(pick(keys4), (p, a) => ({
15083
15164
  ...a,
15084
15165
  ...p
15085
15166
  })));
15086
15167
  }
15087
- omit(keys3) {
15088
- return this.compose(makeLens(omit2(keys3), (o, a) => ({
15168
+ omit(keys4) {
15169
+ return this.compose(makeLens(omit2(keys4), (o, a) => ({
15089
15170
  ...a,
15090
15171
  ...o
15091
15172
  })));
@@ -15138,9 +15219,9 @@ var OptionalImpl = class {
15138
15219
  var IsoImpl = class extends OptionalImpl {
15139
15220
  get;
15140
15221
  set;
15141
- constructor(node, get4, set2) {
15142
- super(node, (s) => succeed2(get4(s)), (a) => succeed2(set2(a)));
15143
- this.get = get4;
15222
+ constructor(node, get5, set2) {
15223
+ super(node, (s) => succeed2(get5(s)), (a) => succeed2(set2(a)));
15224
+ this.get = get5;
15144
15225
  this.set = set2;
15145
15226
  }
15146
15227
  replace(a, _) {
@@ -15152,9 +15233,9 @@ var IsoImpl = class extends OptionalImpl {
15152
15233
  };
15153
15234
  var LensImpl = class extends OptionalImpl {
15154
15235
  get;
15155
- constructor(node, get4, replace) {
15156
- super(node, (s) => succeed2(get4(s)), (a, s) => succeed2(replace(a, s)));
15157
- this.get = get4;
15236
+ constructor(node, get5, replace) {
15237
+ super(node, (s) => succeed2(get5(s)), (a, s) => succeed2(replace(a, s)));
15238
+ this.get = get5;
15158
15239
  this.replace = replace;
15159
15240
  }
15160
15241
  modify(f) {
@@ -15324,7 +15405,7 @@ var Proto4 = {
15324
15405
  }
15325
15406
  };
15326
15407
  var value2 = value;
15327
- var makeEquivalence4 = (isEquivalent) => make2((x, y) => isEquivalent(value2(x), value2(y)));
15408
+ var makeEquivalence5 = (isEquivalent) => make2((x, y) => isEquivalent(value2(x), value2(y)));
15328
15409
 
15329
15410
  // ../../node_modules/effect/dist/Schema.js
15330
15411
  var TypeId22 = TypeId20;
@@ -15682,7 +15763,7 @@ function makeStruct(ast, fields) {
15682
15763
  }
15683
15764
  });
15684
15765
  }
15685
- function Struct(fields) {
15766
+ function Struct3(fields) {
15686
15767
  return makeStruct(struct(fields, void 0), fields);
15687
15768
  }
15688
15769
  function fieldsAssign(fields) {
@@ -15710,7 +15791,7 @@ function encodeKeys(mapping) {
15710
15791
  reverseMapping[encodedKey] = k;
15711
15792
  }
15712
15793
  }
15713
- return Struct(fields).pipe(decodeTo2(self, transform2({
15794
+ return Struct3(fields).pipe(decodeTo2(self, transform2({
15714
15795
  decode: renameKeys(reverseMapping),
15715
15796
  encode: renameKeys(appliedMapping)
15716
15797
  })));
@@ -15719,7 +15800,7 @@ function encodeKeys(mapping) {
15719
15800
  function extendTo(fields, derive) {
15720
15801
  return (self) => {
15721
15802
  const f = map3(self.fields, toType2);
15722
- const to = Struct({
15803
+ const to = Struct3({
15723
15804
  ...f,
15724
15805
  ...fields
15725
15806
  });
@@ -15749,7 +15830,7 @@ function extendTo(fields, derive) {
15749
15830
  })));
15750
15831
  };
15751
15832
  }
15752
- function Record(key, value3) {
15833
+ function Record2(key, value3) {
15753
15834
  return make19(record(key.ast, value3.ast), {
15754
15835
  key,
15755
15836
  value: value3
@@ -15942,7 +16023,7 @@ function tagDefaultOmit(literal) {
15942
16023
  }));
15943
16024
  }
15944
16025
  function TaggedStruct(value3, fields) {
15945
- return Struct({
16026
+ return Struct3({
15946
16027
  _tag: tag(value3),
15947
16028
  ...fields
15948
16029
  });
@@ -15953,7 +16034,7 @@ function toTaggedUnion(tag2) {
15953
16034
  const discriminants = [];
15954
16035
  const discriminantKeys = /* @__PURE__ */ new Set();
15955
16036
  const guards = {};
15956
- const isAnyOf = (keys3) => (value3) => keys3.includes(value3[tag2]);
16037
+ const isAnyOf = (keys4) => (value3) => keys4.includes(value3[tag2]);
15957
16038
  walk(self);
15958
16039
  return Object.assign(self, {
15959
16040
  cases,
@@ -16101,7 +16182,7 @@ function isPattern2(regExp, annotations) {
16101
16182
  ...annotations
16102
16183
  });
16103
16184
  }
16104
- var IsPatternPayload = /* @__PURE__ */ Struct({
16185
+ var IsPatternPayload = /* @__PURE__ */ Struct3({
16105
16186
  source: String5,
16106
16187
  flags: String5
16107
16188
  }).check(/* @__PURE__ */ makeFilter2((payload) => {
@@ -16175,7 +16256,7 @@ function isUUID(version, annotations) {
16175
16256
  ...annotations
16176
16257
  });
16177
16258
  }
16178
- var isUUIDReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isUUID", /* @__PURE__ */ Struct({
16259
+ var isUUIDReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isUUID", /* @__PURE__ */ Struct3({
16179
16260
  version: /* @__PURE__ */ Union2([/* @__PURE__ */ Literals([1, 2, 3, 4, 5, 6, 7, 8]), Null2])
16180
16261
  }), ({
16181
16262
  annotations,
@@ -16285,7 +16366,7 @@ function isStartsWith(startsWith, annotations) {
16285
16366
  ...annotations
16286
16367
  });
16287
16368
  }
16288
- var isStartsWithReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isStartsWith", /* @__PURE__ */ Struct({
16369
+ var isStartsWithReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isStartsWith", /* @__PURE__ */ Struct3({
16289
16370
  startsWith: String5
16290
16371
  }), ({
16291
16372
  annotations,
@@ -16316,7 +16397,7 @@ function isEndsWith(endsWith, annotations) {
16316
16397
  ...annotations
16317
16398
  });
16318
16399
  }
16319
- var isEndsWithReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isEndsWith", /* @__PURE__ */ Struct({
16400
+ var isEndsWithReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isEndsWith", /* @__PURE__ */ Struct3({
16320
16401
  endsWith: String5
16321
16402
  }), ({
16322
16403
  annotations,
@@ -16347,7 +16428,7 @@ function isIncludes(includes, annotations) {
16347
16428
  ...annotations
16348
16429
  });
16349
16430
  }
16350
- var isIncludesReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isIncludes", /* @__PURE__ */ Struct({
16431
+ var isIncludesReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isIncludes", /* @__PURE__ */ Struct3({
16351
16432
  includes: String5
16352
16433
  }), ({
16353
16434
  annotations,
@@ -16604,7 +16685,7 @@ var isGreaterThan5 = /* @__PURE__ */ makeIsGreaterThan({
16604
16685
  })
16605
16686
  })
16606
16687
  });
16607
- var isGreaterThanReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isGreaterThan", /* @__PURE__ */ Struct({
16688
+ var isGreaterThanReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isGreaterThan", /* @__PURE__ */ Struct3({
16608
16689
  exclusiveMinimum: Finite
16609
16690
  }), ({
16610
16691
  annotations,
@@ -16627,7 +16708,7 @@ var isGreaterThanOrEqualTo4 = /* @__PURE__ */ makeIsGreaterThanOrEqualTo({
16627
16708
  })
16628
16709
  })
16629
16710
  });
16630
- var isGreaterThanOrEqualToReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isGreaterThanOrEqualTo", /* @__PURE__ */ Struct({
16711
+ var isGreaterThanOrEqualToReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isGreaterThanOrEqualTo", /* @__PURE__ */ Struct3({
16631
16712
  minimum: Finite
16632
16713
  }), ({
16633
16714
  annotations,
@@ -16650,7 +16731,7 @@ var isLessThan5 = /* @__PURE__ */ makeIsLessThan({
16650
16731
  })
16651
16732
  })
16652
16733
  });
16653
- var isLessThanReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isLessThan", /* @__PURE__ */ Struct({
16734
+ var isLessThanReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isLessThan", /* @__PURE__ */ Struct3({
16654
16735
  exclusiveMaximum: Finite
16655
16736
  }), ({
16656
16737
  annotations,
@@ -16673,7 +16754,7 @@ var isLessThanOrEqualTo5 = /* @__PURE__ */ makeIsLessThanOrEqualTo({
16673
16754
  })
16674
16755
  })
16675
16756
  });
16676
- var isLessThanOrEqualToReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isLessThanOrEqualTo", /* @__PURE__ */ Struct({
16757
+ var isLessThanOrEqualToReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isLessThanOrEqualTo", /* @__PURE__ */ Struct3({
16677
16758
  maximum: Finite
16678
16759
  }), ({
16679
16760
  annotations,
@@ -16709,7 +16790,7 @@ var isBetween2 = /* @__PURE__ */ makeIsBetween({
16709
16790
  };
16710
16791
  }
16711
16792
  });
16712
- var isBetweenReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isBetween", /* @__PURE__ */ Struct({
16793
+ var isBetweenReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isBetween", /* @__PURE__ */ Struct3({
16713
16794
  minimum: Finite,
16714
16795
  maximum: Finite,
16715
16796
  exclusiveMinimum: /* @__PURE__ */ optional2(/* @__PURE__ */ Literal2(true)),
@@ -16737,7 +16818,7 @@ var isMultipleOf = /* @__PURE__ */ makeIsMultipleOf({
16737
16818
  })
16738
16819
  })
16739
16820
  });
16740
- var isMultipleOfReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isMultipleOf", /* @__PURE__ */ Struct({
16821
+ var isMultipleOfReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isMultipleOf", /* @__PURE__ */ Struct3({
16741
16822
  divisor: Finite
16742
16823
  }), ({
16743
16824
  annotations,
@@ -17043,7 +17124,7 @@ function isMinLength(minLength, annotations) {
17043
17124
  ...annotations
17044
17125
  });
17045
17126
  }
17046
- var isMinLengthReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isMinLength", /* @__PURE__ */ Struct({
17127
+ var isMinLengthReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isMinLength", /* @__PURE__ */ Struct3({
17047
17128
  minLength: Natural
17048
17129
  }), ({
17049
17130
  annotations,
@@ -17081,7 +17162,7 @@ function isMaxLength(maxLength, annotations) {
17081
17162
  ...annotations
17082
17163
  });
17083
17164
  }
17084
- var isMaxLengthReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isMaxLength", /* @__PURE__ */ Struct({
17165
+ var isMaxLengthReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isMaxLength", /* @__PURE__ */ Struct3({
17085
17166
  maxLength: Natural
17086
17167
  }), ({
17087
17168
  annotations,
@@ -17127,7 +17208,7 @@ function isLengthBetween(minimum, maximum, annotations) {
17127
17208
  ...annotations
17128
17209
  });
17129
17210
  }
17130
- var isLengthBetweenReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isLengthBetween", /* @__PURE__ */ Struct({
17211
+ var isLengthBetweenReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isLengthBetween", /* @__PURE__ */ Struct3({
17131
17212
  minimum: Natural,
17132
17213
  maximum: Natural
17133
17214
  }), ({
@@ -17157,7 +17238,7 @@ function isMinSize(minSize, annotations) {
17157
17238
  ...annotations
17158
17239
  });
17159
17240
  }
17160
- var isMinSizeReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isMinSize", /* @__PURE__ */ Struct({
17241
+ var isMinSizeReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isMinSize", /* @__PURE__ */ Struct3({
17161
17242
  minSize: Natural
17162
17243
  }), ({
17163
17244
  annotations,
@@ -17186,7 +17267,7 @@ function isMaxSize(maxSize, annotations) {
17186
17267
  ...annotations
17187
17268
  });
17188
17269
  }
17189
- var isMaxSizeReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isMaxSize", /* @__PURE__ */ Struct({
17270
+ var isMaxSizeReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isMaxSize", /* @__PURE__ */ Struct3({
17190
17271
  maxSize: Natural
17191
17272
  }), ({
17192
17273
  annotations,
@@ -17218,7 +17299,7 @@ function isSizeBetween(minimum, maximum, annotations) {
17218
17299
  ...annotations
17219
17300
  });
17220
17301
  }
17221
- var isSizeBetweenReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isSizeBetween", /* @__PURE__ */ Struct({
17302
+ var isSizeBetweenReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isSizeBetween", /* @__PURE__ */ Struct3({
17222
17303
  minimum: Natural,
17223
17304
  maximum: Natural
17224
17305
  }), ({
@@ -17250,7 +17331,7 @@ function isMinProperties(minProperties, annotations) {
17250
17331
  ...annotations
17251
17332
  });
17252
17333
  }
17253
- var isMinPropertiesReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isMinProperties", /* @__PURE__ */ Struct({
17334
+ var isMinPropertiesReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isMinProperties", /* @__PURE__ */ Struct3({
17254
17335
  minProperties: Natural
17255
17336
  }), ({
17256
17337
  annotations,
@@ -17281,7 +17362,7 @@ function isMaxProperties(maxProperties, annotations) {
17281
17362
  ...annotations
17282
17363
  });
17283
17364
  }
17284
- var isMaxPropertiesReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isMaxProperties", /* @__PURE__ */ Struct({
17365
+ var isMaxPropertiesReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isMaxProperties", /* @__PURE__ */ Struct3({
17285
17366
  maxProperties: Natural
17286
17367
  }), ({
17287
17368
  annotations,
@@ -17316,7 +17397,7 @@ function isPropertiesLengthBetween(minimum, maximum, annotations) {
17316
17397
  ...annotations
17317
17398
  });
17318
17399
  }
17319
- var isPropertiesLengthBetweenReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isPropertiesLengthBetween", /* @__PURE__ */ Struct({
17400
+ var isPropertiesLengthBetweenReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isPropertiesLengthBetween", /* @__PURE__ */ Struct3({
17320
17401
  minimum: Natural,
17321
17402
  maximum: Natural
17322
17403
  }), ({
@@ -17327,9 +17408,9 @@ function isPropertyNames(keySchema, annotations) {
17327
17408
  const propertyNames = toEncoded2(keySchema);
17328
17409
  const parser = _issue(propertyNames.ast);
17329
17410
  return makeFilter2((input, ast, options2) => {
17330
- const keys3 = Reflect.ownKeys(input);
17411
+ const keys4 = Reflect.ownKeys(input);
17331
17412
  const issues = [];
17332
- for (const key of keys3) {
17413
+ for (const key of keys4) {
17333
17414
  const issue = parser(key, options2);
17334
17415
  if (issue !== void 0) {
17335
17416
  issues.push(new Pointer([key], issue));
@@ -17416,10 +17497,10 @@ function Option(value3) {
17416
17497
  importDeclarations: [`import * as Option from "effect/Option"`]
17417
17498
  }),
17418
17499
  expected: "Option",
17419
- toCodec: ([value4]) => link()(Union2([Struct({
17500
+ toCodec: ([value4]) => link()(Union2([Struct3({
17420
17501
  _tag: Literal2("Some"),
17421
17502
  value: value4
17422
- }), Struct({
17503
+ }), Struct3({
17423
17504
  _tag: Literal2("None")
17424
17505
  })]), transform2({
17425
17506
  decode: (e) => e._tag === "None" ? none2() : some2(e.value),
@@ -17505,10 +17586,10 @@ function Result(success, failure) {
17505
17586
  importDeclarations: [`import * as Result from "effect/Result"`]
17506
17587
  }),
17507
17588
  expected: "Result",
17508
- toCodec: ([success2, failure2]) => link()(Union2([Struct({
17589
+ toCodec: ([success2, failure2]) => link()(Union2([Struct3({
17509
17590
  _tag: Literal2("Success"),
17510
17591
  success: success2
17511
- }), Struct({
17592
+ }), Struct3({
17512
17593
  _tag: Literal2("Failure"),
17513
17594
  failure: failure2
17514
17595
  })]), transform2({
@@ -17548,8 +17629,8 @@ var RedactedOptionsPayload = /* @__PURE__ */ declare((input) => {
17548
17629
  if (!isObject(input)) {
17549
17630
  return false;
17550
17631
  }
17551
- const keys3 = globalThis.Object.keys(input);
17552
- return keys3.length > 0 && keys3.every((key) => {
17632
+ const keys4 = globalThis.Object.keys(input);
17633
+ return keys4.length > 0 && keys4.every((key) => {
17553
17634
  switch (key) {
17554
17635
  case "label":
17555
17636
  return typeof input[key] === "string";
@@ -17612,7 +17693,7 @@ function Redacted(value3, options2) {
17612
17693
  }))
17613
17694
  }),
17614
17695
  toFormatter: () => globalThis.String,
17615
- toEquivalence: ([value4]) => makeEquivalence4(value4)
17696
+ toEquivalence: ([value4]) => makeEquivalence5(value4)
17616
17697
  });
17617
17698
  return make19(schema.ast, {
17618
17699
  value: value3
@@ -17669,13 +17750,13 @@ function CauseReason(error, defect) {
17669
17750
  importDeclarations: [`import * as Cause from "effect/Cause"`]
17670
17751
  }),
17671
17752
  expected: "Cause.Failure",
17672
- toCodec: ([error2, defect2]) => link()(Union2([Struct({
17753
+ toCodec: ([error2, defect2]) => link()(Union2([Struct3({
17673
17754
  _tag: Literal2("Fail"),
17674
17755
  error: error2
17675
- }), Struct({
17756
+ }), Struct3({
17676
17757
  _tag: Literal2("Die"),
17677
17758
  defect: defect2
17678
- }), Struct({
17759
+ }), Struct3({
17679
17760
  _tag: Literal2("Interrupt"),
17680
17761
  fiberId: UndefinedOr(Finite)
17681
17762
  })]), transform2({
@@ -17808,8 +17889,8 @@ var ErrorOptionsPayload = /* @__PURE__ */ declare((input) => {
17808
17889
  if (!isObject(input)) {
17809
17890
  return false;
17810
17891
  }
17811
- const keys3 = globalThis.Object.keys(input);
17812
- return keys3.length > 0 && keys3.every((key) => (key === "includeStack" || key === "excludeCause") && input[key] === true);
17892
+ const keys4 = globalThis.Object.keys(input);
17893
+ return keys4.length > 0 && keys4.every((key) => (key === "includeStack" || key === "excludeCause") && input[key] === true);
17813
17894
  });
17814
17895
  var ErrorRepresentationPayload = /* @__PURE__ */ Union2([Null2, ErrorOptionsPayload]);
17815
17896
  var getErrorOptionsKey = (options2) => (options2?.includeStack === true ? 1 : 0) | (options2?.excludeCause === true ? 2 : 0);
@@ -17907,10 +17988,10 @@ function Exit(value3, error, defect) {
17907
17988
  importDeclarations: [`import * as Exit from "effect/Exit"`]
17908
17989
  }),
17909
17990
  expected: "Exit",
17910
- toCodec: ([value4, error2, defect2]) => link()(Union2([Struct({
17991
+ toCodec: ([value4, error2, defect2]) => link()(Union2([Struct3({
17911
17992
  _tag: Literal2("Success"),
17912
17993
  value: value4
17913
- }), Struct({
17994
+ }), Struct3({
17914
17995
  _tag: Literal2("Failure"),
17915
17996
  cause: Cause(error2, defect2)
17916
17997
  })]), transform2({
@@ -18034,7 +18115,7 @@ function ReadonlyMap(key, value3) {
18034
18115
  expected: "ReadonlyMap",
18035
18116
  toCodec: ([key2, value4]) => link()(ArraySchema(Tuple([key2, value4])), transform2({
18036
18117
  decode: (e) => new globalThis.Map(e),
18037
- encode: (map10) => [...map10.entries()]
18118
+ encode: (map11) => [...map11.entries()]
18038
18119
  })),
18039
18120
  toArbitrary: ([key2, value4]) => (fc, ctx) => entriesArbitrary(fc, ctx, key2, value4, (as4) => new globalThis.Map(as4)),
18040
18121
  toEquivalence: ([key2, value4]) => makeCompareMap(key2, value4),
@@ -18060,13 +18141,13 @@ var ReadonlyMapReviver = /* @__PURE__ */ makeDeclarationReviver("effect/schema/R
18060
18141
  return annotations === void 0 ? schema : schema.annotate(annotations);
18061
18142
  });
18062
18143
  function graphEncodedSchema(type, node, edge) {
18063
- return Struct({
18144
+ return Struct3({
18064
18145
  type: Literal2(type),
18065
- nodes: ArraySchema(Struct({
18146
+ nodes: ArraySchema(Struct3({
18066
18147
  index: Natural,
18067
18148
  data: node
18068
18149
  })),
18069
- edges: ArraySchema(Struct({
18150
+ edges: ArraySchema(Struct3({
18070
18151
  index: Natural,
18071
18152
  source: Natural,
18072
18153
  target: Natural,
@@ -18422,7 +18503,7 @@ var RegExp3 = /* @__PURE__ */ instanceOf(globalThis.RegExp, {
18422
18503
  Type: `globalThis.RegExp`
18423
18504
  }),
18424
18505
  expected: "RegExp",
18425
- toCodecJson: () => link()(Struct({
18506
+ toCodecJson: () => link()(Struct3({
18426
18507
  source: String5,
18427
18508
  flags: String5
18428
18509
  }), transformOrFail2({
@@ -18526,14 +18607,14 @@ var Duration = /* @__PURE__ */ declare(isDuration, {
18526
18607
  importDeclarations: [`import * as Duration from "effect/Duration"`]
18527
18608
  }),
18528
18609
  expected: "Duration",
18529
- toCodecJson: () => link()(Union2([Struct({
18610
+ toCodecJson: () => link()(Union2([Struct3({
18530
18611
  _tag: Literal2("Infinity")
18531
- }), Struct({
18612
+ }), Struct3({
18532
18613
  _tag: Literal2("NegativeInfinity")
18533
- }), Struct({
18614
+ }), Struct3({
18534
18615
  _tag: Literal2("Nanos"),
18535
18616
  value: BigInt5
18536
- }), Struct({
18617
+ }), Struct3({
18537
18618
  _tag: Literal2("Millis"),
18538
18619
  value: Int
18539
18620
  })]), transform2({
@@ -18684,7 +18765,7 @@ var File = /* @__PURE__ */ instanceOf(globalThis.File, {
18684
18765
  Type: `globalThis.File`
18685
18766
  }),
18686
18767
  expected: "File",
18687
- toCodecJson: () => link()(Struct({
18768
+ toCodecJson: () => link()(Struct3({
18688
18769
  data: String5.check(isBase64()),
18689
18770
  type: String5,
18690
18771
  name: String5,
@@ -18729,10 +18810,10 @@ var FormData2 = /* @__PURE__ */ instanceOf(globalThis.FormData, {
18729
18810
  Type: `globalThis.FormData`
18730
18811
  }),
18731
18812
  expected: "FormData",
18732
- toCodecJson: () => link()(ArraySchema(Tuple([String5, Union2([Struct({
18813
+ toCodecJson: () => link()(ArraySchema(Tuple([String5, Union2([Struct3({
18733
18814
  _tag: tag("String"),
18734
18815
  value: String5
18735
- }), Struct({
18816
+ }), Struct3({
18736
18817
  _tag: tag("File"),
18737
18818
  value: File
18738
18819
  })])])), transformOrFail2({
@@ -18809,10 +18890,10 @@ var StringFromUriComponent = /* @__PURE__ */ String5.annotate({
18809
18890
  expected: "a URI component encoded string that will be decoded as a UTF-8 string"
18810
18891
  }).pipe(/* @__PURE__ */ decodeTo2(String5, stringFromUriComponent));
18811
18892
  var PropertyKey = /* @__PURE__ */ Union2([Finite, Symbol3, String5]);
18812
- var StandardSchemaV1FailureResult = /* @__PURE__ */ Struct({
18813
- issues: /* @__PURE__ */ ArraySchema(/* @__PURE__ */ Struct({
18893
+ var StandardSchemaV1FailureResult = /* @__PURE__ */ Struct3({
18894
+ issues: /* @__PURE__ */ ArraySchema(/* @__PURE__ */ Struct3({
18814
18895
  message: String5,
18815
- path: /* @__PURE__ */ optional2(/* @__PURE__ */ ArraySchema(/* @__PURE__ */ Union2([PropertyKey, /* @__PURE__ */ Struct({
18896
+ path: /* @__PURE__ */ optional2(/* @__PURE__ */ ArraySchema(/* @__PURE__ */ Union2([PropertyKey, /* @__PURE__ */ Struct3({
18816
18897
  key: PropertyKey
18817
18898
  })])))
18818
18899
  }))
@@ -19030,7 +19111,7 @@ function makeClass(Inherited, identifier2, struct2, annotations, proto) {
19030
19111
  }
19031
19112
  static extend(identifier3) {
19032
19113
  return (schema, annotations2) => {
19033
- const extension = isStruct(schema) ? schema : Struct(schema);
19114
+ const extension = isStruct(schema) ? schema : Struct3(schema);
19034
19115
  const fields = {
19035
19116
  ...struct2.fields,
19036
19117
  ...extension.fields
@@ -19094,7 +19175,7 @@ function isStruct(schema) {
19094
19175
  return isSchema(schema);
19095
19176
  }
19096
19177
  var Class4 = (identifier2) => (schema, annotations) => {
19097
- const struct2 = isStruct(schema) ? schema : Struct(schema);
19178
+ const struct2 = isStruct(schema) ? schema : Struct3(schema);
19098
19179
  return makeClass(Class3, identifier2, struct2, annotations, (identifier3) => ({
19099
19180
  toString() {
19100
19181
  return `${identifier3}(${format({
@@ -19115,7 +19196,7 @@ var TaggedClass = (identifier2) => {
19115
19196
  };
19116
19197
  };
19117
19198
  var Error3 = (identifier2) => (schema, annotations) => {
19118
- const struct2 = isStruct(schema) ? schema : Struct(schema);
19199
+ const struct2 = isStruct(schema) ? schema : Struct3(schema);
19119
19200
  const self = makeClass(Error2, identifier2, struct2, annotations, (identifier3) => ({
19120
19201
  name: identifier3
19121
19202
  }));
@@ -19212,8 +19293,8 @@ function toFormatter(schema, options2) {
19212
19293
  out.push(`${formatPropertyKey(name)}: ${propertySignatures[i](t[name])}`);
19213
19294
  }
19214
19295
  for (let i = 0; i < indexSignatures.length; i++) {
19215
- const keys3 = getIndexSignatureKeys(t, ast.indexSignatures[i].parameter);
19216
- for (const key of keys3) {
19296
+ const keys4 = getIndexSignatureKeys(t, ast.indexSignatures[i].parameter);
19297
+ for (const key of keys4) {
19217
19298
  if (visited.has(key)) {
19218
19299
  continue;
19219
19300
  }
@@ -19240,8 +19321,8 @@ function toFormatter(schema, options2) {
19240
19321
  };
19241
19322
  }
19242
19323
  case "Suspend": {
19243
- const get4 = memoizeThunk(() => recur3(ast.thunk()));
19244
- return (t) => get4()(t);
19324
+ const get5 = memoizeThunk(() => recur3(ast.thunk()));
19325
+ return (t) => get5()(t);
19245
19326
  }
19246
19327
  }
19247
19328
  }
@@ -19434,14 +19515,14 @@ function stringTreeToXml(value3, options2) {
19434
19515
  return;
19435
19516
  }
19436
19517
  const obj = node;
19437
- const keys3 = Object.keys(obj);
19438
- if (sortKeys) keys3.sort();
19439
- if (keys3.length === 0) {
19518
+ const keys4 = Object.keys(obj);
19519
+ if (sortKeys) keys4.sort();
19520
+ if (keys4.length === 0) {
19440
19521
  push(depth, `<${safe}${attrs}/>`);
19441
19522
  return;
19442
19523
  }
19443
19524
  push(depth, `<${safe}${attrs}>`);
19444
- for (const k of keys3) {
19525
+ for (const k of keys4) {
19445
19526
  recur3(xml.parseTagName(k).safe, obj[k], depth + 1, k);
19446
19527
  }
19447
19528
  push(depth, `</${safe}>`);
@@ -19573,31 +19654,31 @@ var toCodecArrayFromSingleAST = /* @__PURE__ */ applyToSelfOrLastLinkEncodingIde
19573
19654
  function toCodecArrayFromSingleASTStep(ast) {
19574
19655
  return ast._tag === "Declaration" || ast._tag === "Arrays" || ast._tag === "Objects" || ast._tag === "Union" || ast._tag === "Suspend" ? ast.recur(toCodecArrayFromSingleAST) : ast;
19575
19656
  }
19576
- var isGreaterThanDateReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isGreaterThanDate", /* @__PURE__ */ Struct({
19657
+ var isGreaterThanDateReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isGreaterThanDate", /* @__PURE__ */ Struct3({
19577
19658
  exclusiveMinimum: Date4
19578
19659
  }), ({
19579
19660
  annotations,
19580
19661
  payload
19581
19662
  }) => isGreaterThanDate(payload.exclusiveMinimum, annotations));
19582
- var isGreaterThanOrEqualToDateReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isGreaterThanOrEqualToDate", /* @__PURE__ */ Struct({
19663
+ var isGreaterThanOrEqualToDateReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isGreaterThanOrEqualToDate", /* @__PURE__ */ Struct3({
19583
19664
  minimum: Date4
19584
19665
  }), ({
19585
19666
  annotations,
19586
19667
  payload
19587
19668
  }) => isGreaterThanOrEqualToDate(payload.minimum, annotations));
19588
- var isLessThanDateReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isLessThanDate", /* @__PURE__ */ Struct({
19669
+ var isLessThanDateReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isLessThanDate", /* @__PURE__ */ Struct3({
19589
19670
  exclusiveMaximum: Date4
19590
19671
  }), ({
19591
19672
  annotations,
19592
19673
  payload
19593
19674
  }) => isLessThanDate(payload.exclusiveMaximum, annotations));
19594
- var isLessThanOrEqualToDateReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isLessThanOrEqualToDate", /* @__PURE__ */ Struct({
19675
+ var isLessThanOrEqualToDateReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isLessThanOrEqualToDate", /* @__PURE__ */ Struct3({
19595
19676
  maximum: Date4
19596
19677
  }), ({
19597
19678
  annotations,
19598
19679
  payload
19599
19680
  }) => isLessThanOrEqualToDate(payload.maximum, annotations));
19600
- var isBetweenDateReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isBetweenDate", /* @__PURE__ */ Struct({
19681
+ var isBetweenDateReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isBetweenDate", /* @__PURE__ */ Struct3({
19601
19682
  minimum: Date4,
19602
19683
  maximum: Date4,
19603
19684
  exclusiveMinimum: /* @__PURE__ */ optional2(/* @__PURE__ */ Literal2(true)),
@@ -19606,31 +19687,31 @@ var isBetweenDateReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isBe
19606
19687
  annotations,
19607
19688
  payload
19608
19689
  }) => isBetweenDate(payload, annotations));
19609
- var isGreaterThanBigIntReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isGreaterThanBigInt", /* @__PURE__ */ Struct({
19690
+ var isGreaterThanBigIntReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isGreaterThanBigInt", /* @__PURE__ */ Struct3({
19610
19691
  exclusiveMinimum: BigInt5
19611
19692
  }), ({
19612
19693
  annotations,
19613
19694
  payload
19614
19695
  }) => isGreaterThanBigInt(payload.exclusiveMinimum, annotations));
19615
- var isGreaterThanOrEqualToBigIntReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isGreaterThanOrEqualToBigInt", /* @__PURE__ */ Struct({
19696
+ var isGreaterThanOrEqualToBigIntReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isGreaterThanOrEqualToBigInt", /* @__PURE__ */ Struct3({
19616
19697
  minimum: BigInt5
19617
19698
  }), ({
19618
19699
  annotations,
19619
19700
  payload
19620
19701
  }) => isGreaterThanOrEqualToBigInt(payload.minimum, annotations));
19621
- var isLessThanBigIntReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isLessThanBigInt", /* @__PURE__ */ Struct({
19702
+ var isLessThanBigIntReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isLessThanBigInt", /* @__PURE__ */ Struct3({
19622
19703
  exclusiveMaximum: BigInt5
19623
19704
  }), ({
19624
19705
  annotations,
19625
19706
  payload
19626
19707
  }) => isLessThanBigInt(payload.exclusiveMaximum, annotations));
19627
- var isLessThanOrEqualToBigIntReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isLessThanOrEqualToBigInt", /* @__PURE__ */ Struct({
19708
+ var isLessThanOrEqualToBigIntReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isLessThanOrEqualToBigInt", /* @__PURE__ */ Struct3({
19628
19709
  maximum: BigInt5
19629
19710
  }), ({
19630
19711
  annotations,
19631
19712
  payload
19632
19713
  }) => isLessThanOrEqualToBigInt(payload.maximum, annotations));
19633
- var isBetweenBigIntReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isBetweenBigInt", /* @__PURE__ */ Struct({
19714
+ var isBetweenBigIntReviver = /* @__PURE__ */ makeFilterReviver("effect/schema/isBetweenBigInt", /* @__PURE__ */ Struct3({
19634
19715
  minimum: BigInt5,
19635
19716
  maximum: BigInt5,
19636
19717
  exclusiveMinimum: /* @__PURE__ */ optional2(/* @__PURE__ */ Literal2(true)),
@@ -19660,14 +19741,14 @@ function overrideToCodecIso(to, transformation) {
19660
19741
  }
19661
19742
  function toDifferJsonPatch(schema) {
19662
19743
  const serializer = toCodecJson(schema);
19663
- const get4 = encodeSync(serializer);
19744
+ const get5 = encodeSync(serializer);
19664
19745
  const set2 = decodeSync(serializer);
19665
19746
  return {
19666
19747
  empty: [],
19667
- diff: (oldValue, newValue) => get3(get4(oldValue), get4(newValue)),
19748
+ diff: (oldValue, newValue) => get4(get5(oldValue), get5(newValue)),
19668
19749
  combine: (first, second) => [...first, ...second],
19669
19750
  patch: (oldValue, patch) => {
19670
- const value3 = get4(oldValue);
19751
+ const value3 = get5(oldValue);
19671
19752
  const patched = apply(patch, value3);
19672
19753
  return Object.is(patched, value3) ? oldValue : set2(patched);
19673
19754
  }
@@ -19675,7 +19756,7 @@ function toDifferJsonPatch(schema) {
19675
19756
  }
19676
19757
  function Tree(node) {
19677
19758
  const Tree$ref = suspend3(() => Tree2);
19678
- const Tree2 = Union2([node, ArraySchema(Tree$ref), Record(String5, Tree$ref)]);
19759
+ const Tree2 = Union2([node, ArraySchema(Tree$ref), Record2(String5, Tree$ref)]);
19679
19760
  return Tree2;
19680
19761
  }
19681
19762
  var Json2 = /* @__PURE__ */ make19(/* @__PURE__ */ annotate(Json, {
@@ -19684,9 +19765,9 @@ var Json2 = /* @__PURE__ */ make19(/* @__PURE__ */ annotate(Json, {
19684
19765
  Type: "Schema.Json"
19685
19766
  })
19686
19767
  }));
19687
- var JsonObject = /* @__PURE__ */ Record(String5, Json2);
19768
+ var JsonObject = /* @__PURE__ */ Record2(String5, Json2);
19688
19769
  var JsonReviver = /* @__PURE__ */ makeFixedDeclarationReviver("effect/schema/Json", Json2);
19689
- var JsonError = /* @__PURE__ */ Struct({
19770
+ var JsonError = /* @__PURE__ */ Struct3({
19690
19771
  message: String5,
19691
19772
  name: /* @__PURE__ */ optionalKey2(String5),
19692
19773
  stack: /* @__PURE__ */ optionalKey2(String5),
@@ -19765,6 +19846,8 @@ var location_exports = {};
19765
19846
  __export(location_exports, {
19766
19847
  Info: () => Info,
19767
19848
  Location: () => location_exports,
19849
+ PublicInfo: () => PublicInfo,
19850
+ PublicRef: () => PublicRef,
19768
19851
  Ref: () => Ref,
19769
19852
  response: () => response
19770
19853
  });
@@ -19792,6 +19875,9 @@ var Ref = Schema_exports.Struct({
19792
19875
  directory: AbsolutePath,
19793
19876
  workspaceID: optional3(WorkspaceID)
19794
19877
  }).annotate({ identifier: "Location.Ref" });
19878
+ var PublicRef = Schema_exports.Struct(Struct_exports.omit(Ref.fields, ["workspaceID"])).annotate({
19879
+ identifier: "Location.PublicRef"
19880
+ });
19795
19881
  var Info = class extends Schema_exports.Class("Location.Info")({
19796
19882
  directory: AbsolutePath,
19797
19883
  workspaceID: optional3(WorkspaceID),
@@ -19802,8 +19888,11 @@ var Info = class extends Schema_exports.Class("Location.Info")({
19802
19888
  })
19803
19889
  }) {
19804
19890
  };
19891
+ var PublicInfo = Schema_exports.Struct(Struct_exports.omit(Info.fields, ["workspaceID"])).annotate({
19892
+ identifier: "Location.PublicInfo"
19893
+ });
19805
19894
  function response(data) {
19806
- return Schema_exports.Struct({ location: Info, data });
19895
+ return Schema_exports.Struct({ location: PublicRef, data });
19807
19896
  }
19808
19897
 
19809
19898
  // ../../node_modules/@opencode/schema/dist/event.js
@@ -19886,18 +19975,18 @@ function durableMap(definitions) {
19886
19975
  return result3;
19887
19976
  }, /* @__PURE__ */ new Map()));
19888
19977
  }
19889
- function readonlyMap(map10) {
19978
+ function readonlyMap(map11) {
19890
19979
  const result3 = Object.freeze({
19891
19980
  get size() {
19892
- return map10.size;
19981
+ return map11.size;
19893
19982
  },
19894
- entries: () => map10.entries(),
19895
- forEach: (callback3, thisArg) => map10.forEach((value3, key) => callback3.call(thisArg, value3, key, result3)),
19896
- get: (key) => map10.get(key),
19897
- has: (key) => map10.has(key),
19898
- keys: () => map10.keys(),
19899
- values: () => map10.values(),
19900
- [Symbol.iterator]: () => map10[Symbol.iterator]()
19983
+ entries: () => map11.entries(),
19984
+ forEach: (callback3, thisArg) => map11.forEach((value3, key) => callback3.call(thisArg, value3, key, result3)),
19985
+ get: (key) => map11.get(key),
19986
+ has: (key) => map11.has(key),
19987
+ keys: () => map11.keys(),
19988
+ values: () => map11.values(),
19989
+ [Symbol.iterator]: () => map11[Symbol.iterator]()
19901
19990
  });
19902
19991
  return result3;
19903
19992
  }
@@ -19908,6 +19997,7 @@ __export(model_exports, {
19908
19997
  Capabilities: () => Capabilities,
19909
19998
  Compatibility: () => Compatibility,
19910
19999
  Cost: () => Cost,
20000
+ Event: () => Event5,
19911
20001
  Family: () => Family,
19912
20002
  ID: () => ID6,
19913
20003
  Info: () => Info6,
@@ -19924,13 +20014,15 @@ var provider_exports = {};
19924
20014
  __export(provider_exports, {
19925
20015
  Activation: () => Activation,
19926
20016
  Compaction: () => Compaction,
20017
+ Event: () => Event4,
19927
20018
  ID: () => ID5,
19928
20019
  Info: () => Info5,
19929
20020
  Overlays: () => Overlays,
19930
20021
  Package: () => Package,
19931
20022
  Provider: () => provider_exports,
19932
20023
  Request: () => Request,
19933
- Settings: () => Settings
20024
+ Settings: () => Settings,
20025
+ Transport: () => Transport
19934
20026
  });
19935
20027
 
19936
20028
  // ../../node_modules/@opencode/schema/dist/integration.js
@@ -19983,6 +20075,7 @@ var form_exports = {};
19983
20075
  __export(form_exports, {
19984
20076
  Answer: () => Answer,
19985
20077
  BooleanField: () => BooleanField,
20078
+ Detail: () => Detail,
19986
20079
  Event: () => Event,
19987
20080
  ExternalField: () => ExternalField,
19988
20081
  Field: () => Field,
@@ -20100,6 +20193,10 @@ var State = Schema_exports.Union([
20100
20193
  Schema_exports.Struct({ status: Schema_exports.Literal("answered"), answer: Answer }),
20101
20194
  Schema_exports.Struct({ status: Schema_exports.Literal("cancelled") })
20102
20195
  ]).pipe(Schema_exports.toTaggedUnion("status")).annotate({ identifier: "Form.State" });
20196
+ var Detail = Schema_exports.Struct({
20197
+ ...Info2.fields,
20198
+ state: State
20199
+ }).annotate({ identifier: "Form.Detail" });
20103
20200
  var Reply = Schema_exports.Struct({
20104
20201
  answer: Answer
20105
20202
  }).annotate({ identifier: "Form.Reply" });
@@ -20237,12 +20334,15 @@ var ID5 = Schema_exports.String.pipe(Schema_exports.brand("Provider.ID"), static
20237
20334
  mistral: schema.make("mistral"),
20238
20335
  gitlab: schema.make("gitlab")
20239
20336
  })));
20337
+ var Updated3 = ephemeral({ type: "provider.updated", schema: {} });
20338
+ var Event4 = { Updated: Updated3, Definitions: inventory(Updated3) };
20240
20339
  var Package = Schema_exports.String;
20241
20340
  var Activation = Schema_exports.Literals(["auto", "enabled", "disabled"]);
20242
20341
  var Compaction = Schema_exports.Union([
20243
20342
  Schema_exports.Struct({ mode: Schema_exports.Literal("local") }),
20244
20343
  Schema_exports.Struct({ mode: Schema_exports.Literal("provider"), threshold: PositiveInt.pipe(optional3) })
20245
20344
  ]).annotate({ identifier: "Provider.Compaction" });
20345
+ var Transport = Schema_exports.Literals(["http", "websocket"]).annotate({ identifier: "Provider.Transport" });
20246
20346
  var Overlays = {
20247
20347
  settings: Schema_exports.Record(Schema_exports.String, Schema_exports.Any).pipe(optional3),
20248
20348
  headers: Schema_exports.Record(Schema_exports.String, Schema_exports.String).pipe(optional3),
@@ -20262,8 +20362,8 @@ var Info5 = Schema_exports.Struct({
20262
20362
  activation: Activation,
20263
20363
  package: Package,
20264
20364
  compaction: Compaction.pipe(optional3),
20265
- /** Session WebSocket policy for routes that support it; omitted means disabled. */
20266
- websocket: Schema_exports.Boolean.pipe(optional3),
20365
+ /** Session transport for this provider's models; omitted means HTTP. */
20366
+ transport: Transport.pipe(optional3),
20267
20367
  ...Overlays
20268
20368
  }).annotate({ identifier: "Provider.Info" }).pipe(statics(() => ({
20269
20369
  empty: (id3) => ({ id: id3, name: id3, activation: "auto", package: "" })
@@ -20281,6 +20381,8 @@ var USDPerMillionTokens = Schema_exports.Finite.pipe(Schema_exports.brand("Money
20281
20381
 
20282
20382
  // ../../node_modules/@opencode/schema/dist/model.js
20283
20383
  var ID6 = Schema_exports.String.pipe(Schema_exports.brand("Model.ID"));
20384
+ var Updated4 = ephemeral({ type: "model.updated", schema: {} });
20385
+ var Event5 = { Updated: Updated4, Definitions: inventory(Updated4) };
20284
20386
  var VariantID = Schema_exports.String.pipe(Schema_exports.brand("Model.VariantID"));
20285
20387
  var Ref3 = Schema_exports.Struct({
20286
20388
  id: ID6,
@@ -20318,13 +20420,13 @@ var Compatibility = Schema_exports.Struct({
20318
20420
  requireReasoning: Schema_exports.Boolean.pipe(optional3),
20319
20421
  maxTokensField: MaxTokensField.pipe(optional3),
20320
20422
  requireFinishReason: Schema_exports.Boolean.pipe(optional3),
20321
- requireAssistantAfterTool: Schema_exports.Boolean.pipe(optional3)
20423
+ requireAssistantAfterTool: Schema_exports.Boolean.pipe(optional3),
20424
+ supportsPromptCacheKey: Schema_exports.Boolean.pipe(optional3)
20322
20425
  }).annotate({ identifier: "Model.Compatibility" });
20323
20426
  var Capabilities = Schema_exports.Struct({
20324
20427
  tools: Schema_exports.Boolean,
20325
20428
  input: Schema_exports.Array(Schema_exports.String),
20326
- output: Schema_exports.Array(Schema_exports.String),
20327
- responsesWebsockets: Schema_exports.Boolean.pipe(optional3)
20429
+ output: Schema_exports.Array(Schema_exports.String)
20328
20430
  }).annotate({ identifier: "Model.Capabilities" }).pipe(statics(() => ({
20329
20431
  default: () => ({ tools: true, input: ["text", "image"], output: ["text"] })
20330
20432
  })));
@@ -20354,8 +20456,8 @@ var Info6 = Schema_exports.Struct({
20354
20456
  compatibility: Compatibility.pipe(optional3),
20355
20457
  package: provider_exports.Package.pipe(optional3),
20356
20458
  compaction: provider_exports.Compaction.pipe(optional3),
20357
- /** Session WebSocket policy; omitted inherits the provider policy, then defaults to disabled. */
20358
- websocket: Schema_exports.Boolean.pipe(optional3),
20459
+ /** Session transport; omitted inherits the provider transport, then defaults to HTTP. */
20460
+ transport: provider_exports.Transport.pipe(optional3),
20359
20461
  ...provider_exports.Overlays,
20360
20462
  capabilities: Capabilities,
20361
20463
  variants: Schema_exports.Array(Variant),
@@ -20390,7 +20492,7 @@ var Info6 = Schema_exports.Struct({
20390
20492
  var permission_exports = {};
20391
20493
  __export(permission_exports, {
20392
20494
  Effect: () => Effect,
20393
- Event: () => Event4,
20495
+ Event: () => Event6,
20394
20496
  ID: () => ID7,
20395
20497
  Permission: () => permission_exports,
20396
20498
  Reply: () => Reply2,
@@ -20441,7 +20543,7 @@ var Replied2 = ephemeral({
20441
20543
  reply: Reply2
20442
20544
  }
20443
20545
  });
20444
- var Event4 = { Asked, Replied: Replied2, Definitions: inventory(Asked, Replied2) };
20546
+ var Event6 = { Asked, Replied: Replied2, Definitions: inventory(Asked, Replied2) };
20445
20547
  var Effect = Schema_exports.Literals(["allow", "deny", "ask"]).annotate({ identifier: "Permission.Effect" });
20446
20548
  var Rule = Schema_exports.Struct({
20447
20549
  action: Schema_exports.String,
@@ -20451,7 +20553,7 @@ var Rule = Schema_exports.Struct({
20451
20553
  var Ruleset = Schema_exports.Array(Rule).annotate({ identifier: "Permission.Ruleset" });
20452
20554
 
20453
20555
  // ../../node_modules/@opencode/schema/dist/agent.js
20454
- var Updated3 = ephemeral({ type: "agent.updated", schema: {} });
20556
+ var Updated5 = ephemeral({ type: "agent.updated", schema: {} });
20455
20557
  var ID8 = Schema_exports.String.pipe(Schema_exports.brand("Agent.ID"));
20456
20558
  var Name = Schema_exports.String.pipe(Schema_exports.brand("Agent.Name"));
20457
20559
  var Color = Schema_exports.String.annotate({ identifier: "Agent.Color" });
@@ -20483,20 +20585,20 @@ var Info7 = Schema_exports.Struct({
20483
20585
  ]
20484
20586
  })
20485
20587
  })));
20486
- var Event5 = {
20487
- Updated: Updated3,
20488
- Definitions: inventory(Updated3)
20588
+ var Event7 = {
20589
+ Updated: Updated5,
20590
+ Definitions: inventory(Updated5)
20489
20591
  };
20490
20592
 
20491
20593
  // ../../node_modules/@opencode/schema/dist/command.js
20492
- var Updated4 = ephemeral({ type: "command.updated", schema: {} });
20594
+ var Updated6 = ephemeral({ type: "command.updated", schema: {} });
20493
20595
  var Info8 = Schema_exports.Struct({
20494
20596
  name: Schema_exports.String,
20495
20597
  description: Schema_exports.String.pipe(optional3)
20496
20598
  }).annotate({ identifier: "Command.Info" });
20497
- var Event6 = {
20498
- Updated: Updated4,
20499
- Definitions: inventory(Updated4)
20599
+ var Event8 = {
20600
+ Updated: Updated6,
20601
+ Definitions: inventory(Updated6)
20500
20602
  };
20501
20603
 
20502
20604
  // ../../node_modules/@opencode/schema/dist/mcp.js
@@ -20512,6 +20614,10 @@ var TimeoutConfig = class extends Schema_exports.Class("Mcp.TimeoutConfig")({
20512
20614
  })
20513
20615
  }) {
20514
20616
  };
20617
+ var Protocol = Schema_exports.Literals(["legacy", "auto", "2026-07-28"]).annotate({
20618
+ identifier: "Mcp.Protocol",
20619
+ description: 'MCP protocol negotiation. "legacy" (default) opens with the initialize handshake and speaks protocol revisions up to 2025-11-25. "auto" probes for the 2026-07-28 revision and falls back to legacy when the server does not support it. "2026-07-28" requires that revision and fails otherwise.'
20620
+ });
20515
20621
  var LocalConfig = class extends Schema_exports.Class("Mcp.LocalConfig")({
20516
20622
  type: Schema_exports.Literal("local"),
20517
20623
  command: Schema_exports.String.pipe(Schema_exports.Array),
@@ -20523,7 +20629,8 @@ var LocalConfig = class extends Schema_exports.Class("Mcp.LocalConfig")({
20523
20629
  codemode: Schema_exports.Boolean.pipe(optional3).annotate({
20524
20630
  description: "Expose this server's tools through Code Mode. Defaults to true."
20525
20631
  }),
20526
- timeout: TimeoutConfig.pipe(optional3)
20632
+ timeout: TimeoutConfig.pipe(optional3),
20633
+ protocol: Protocol.pipe(optional3)
20527
20634
  }) {
20528
20635
  };
20529
20636
  var OAuthConfig = class extends Schema_exports.Class("Mcp.OAuthConfig")({
@@ -20531,7 +20638,10 @@ var OAuthConfig = class extends Schema_exports.Class("Mcp.OAuthConfig")({
20531
20638
  client_secret: Schema_exports.String.pipe(optional3),
20532
20639
  scope: Schema_exports.String.pipe(optional3),
20533
20640
  callback_port: Schema_exports.Int.check(Schema_exports.isBetween({ minimum: 1, maximum: 65535 })).pipe(optional3),
20534
- redirect_uri: Schema_exports.String.pipe(optional3)
20641
+ redirect_uri: Schema_exports.String.pipe(optional3),
20642
+ auth_server_metadata_url: Schema_exports.String.pipe(optional3).annotate({
20643
+ description: "URL of the OAuth or OpenID Connect authorization server metadata document. Set when the MCP server does not publish protected resource metadata that names its authorization server."
20644
+ })
20535
20645
  }) {
20536
20646
  };
20537
20647
  var RemoteConfig = class extends Schema_exports.Class("Mcp.RemoteConfig")({
@@ -20543,7 +20653,8 @@ var RemoteConfig = class extends Schema_exports.Class("Mcp.RemoteConfig")({
20543
20653
  codemode: Schema_exports.Boolean.pipe(optional3).annotate({
20544
20654
  description: "Expose this server's tools through Code Mode. Defaults to true."
20545
20655
  }),
20546
- timeout: TimeoutConfig.pipe(optional3)
20656
+ timeout: TimeoutConfig.pipe(optional3),
20657
+ protocol: Protocol.pipe(optional3)
20547
20658
  }) {
20548
20659
  };
20549
20660
  var ServerConfig = Schema_exports.Union([LocalConfig, RemoteConfig]).pipe(Schema_exports.toTaggedUnion("type"));
@@ -20559,7 +20670,7 @@ var Disabled = Schema_exports.Struct({ status: Schema_exports.Literal("disabled"
20559
20670
  var Failed = Schema_exports.Struct({ status: Schema_exports.Literal("failed"), error: Schema_exports.String }).annotate({
20560
20671
  identifier: "Mcp.Status.Failed"
20561
20672
  });
20562
- var NeedsAuth = Schema_exports.Struct({ status: Schema_exports.Literal("needs_auth") }).annotate({
20673
+ var NeedsAuth = Schema_exports.Struct({ status: Schema_exports.Literal("needs_auth"), error: Schema_exports.String }).annotate({
20563
20674
  identifier: "Mcp.Status.NeedsAuth"
20564
20675
  });
20565
20676
  var Status = Schema_exports.Union([Connected, Pending, Disabled, Failed, NeedsAuth]).pipe(Schema_exports.toTaggedUnion("status"));
@@ -20612,7 +20723,7 @@ var ResourceContent = Schema_exports.Struct({
20612
20723
  var pty_exports = {};
20613
20724
  __export(pty_exports, {
20614
20725
  CreateInput: () => CreateInput,
20615
- Event: () => Event7,
20726
+ Event: () => Event9,
20616
20727
  ID: () => ID9,
20617
20728
  Info: () => Info9,
20618
20729
  Pty: () => pty_exports,
@@ -20637,10 +20748,10 @@ var Info9 = Schema_exports.Struct({
20637
20748
  exitCode: optional3(NonNegativeInt)
20638
20749
  }).annotate({ identifier: "Pty" });
20639
20750
  var Created2 = ephemeral({ type: "pty.created", schema: { info: Info9 } });
20640
- var Updated5 = ephemeral({ type: "pty.updated", schema: { info: Info9 } });
20751
+ var Updated7 = ephemeral({ type: "pty.updated", schema: { info: Info9 } });
20641
20752
  var Exited = ephemeral({ type: "pty.exited", schema: { id: ID9, exitCode: NonNegativeInt } });
20642
20753
  var Deleted = ephemeral({ type: "pty.deleted", schema: { id: ID9 } });
20643
- var Event7 = { Created: Created2, Updated: Updated5, Exited, Deleted, Definitions: inventory(Created2, Updated5, Exited, Deleted) };
20754
+ var Event9 = { Created: Created2, Updated: Updated7, Exited, Deleted, Definitions: inventory(Created2, Updated7, Exited, Deleted) };
20644
20755
  var CreateInput = Schema_exports.Struct({
20645
20756
  command: optional3(Schema_exports.String),
20646
20757
  args: optional3(Schema_exports.Array(Schema_exports.String)),
@@ -20659,9 +20770,8 @@ var UpdateInput = Schema_exports.Struct({
20659
20770
  // ../../node_modules/@opencode/schema/dist/session.js
20660
20771
  var session_exports = {};
20661
20772
  __export(session_exports, {
20662
- Event: () => Event11,
20773
+ Event: () => Event13,
20663
20774
  ForkBoundary: () => ForkBoundary,
20664
- ForkRequestBoundary: () => ForkRequestBoundary,
20665
20775
  ID: () => ID15,
20666
20776
  Info: () => Info19,
20667
20777
  ListAnchor: () => ListAnchor,
@@ -20675,7 +20785,7 @@ var project_exports = {};
20675
20785
  __export(project_exports, {
20676
20786
  Commands: () => Commands,
20677
20787
  Current: () => Current,
20678
- Event: () => Event8,
20788
+ Event: () => Event10,
20679
20789
  ID: () => ID10,
20680
20790
  Icon: () => Icon,
20681
20791
  Info: () => Info10,
@@ -20703,8 +20813,7 @@ var Commands = Schema_exports.Struct({
20703
20813
  }).annotate({ identifier: "Project.Commands" });
20704
20814
  var Time = Schema_exports.Struct({
20705
20815
  created: NonNegativeInt,
20706
- updated: NonNegativeInt,
20707
- initialized: optional3(NonNegativeInt)
20816
+ updated: NonNegativeInt
20708
20817
  }).annotate({ identifier: "Project.Time" });
20709
20818
  var Info10 = Schema_exports.Struct({
20710
20819
  id: ID10,
@@ -20723,8 +20832,8 @@ var UpdateInput2 = Schema_exports.Struct({
20723
20832
  icon: optional3(Icon),
20724
20833
  commands: optional3(Commands)
20725
20834
  }).annotate({ identifier: "Project.UpdateInput" });
20726
- var Updated6 = ephemeral({ type: "project.updated", schema: Info10.fields });
20727
- var Event8 = { Updated: Updated6, Definitions: inventory(Updated6) };
20835
+ var Updated8 = ephemeral({ type: "project.updated", schema: Info10.fields });
20836
+ var Event10 = { Updated: Updated8, Definitions: inventory(Updated8) };
20728
20837
 
20729
20838
  // ../../node_modules/@opencode/schema/dist/session-event.js
20730
20839
  var session_event_exports = {};
@@ -20749,6 +20858,7 @@ __export(session_event_exports, {
20749
20858
  MessageContentUpdated: () => MessageContentUpdated,
20750
20859
  ModelSelected: () => ModelSelected2,
20751
20860
  Moved: () => Moved,
20861
+ Permissions: () => Permissions,
20752
20862
  Reasoning: () => Reasoning,
20753
20863
  Renamed: () => Renamed,
20754
20864
  RetryScheduled: () => RetryScheduled,
@@ -20794,7 +20904,7 @@ var skill_exports = {};
20794
20904
  __export(skill_exports, {
20795
20905
  DirectorySource: () => DirectorySource,
20796
20906
  EmbeddedSource: () => EmbeddedSource,
20797
- Event: () => Event9,
20907
+ Event: () => Event11,
20798
20908
  ID: () => ID11,
20799
20909
  Info: () => Info11,
20800
20910
  Name: () => Name2,
@@ -20816,13 +20926,12 @@ var Info11 = Schema_exports.Struct({
20816
20926
  id: ID11,
20817
20927
  name: Name2,
20818
20928
  description: Schema_exports.String.pipe(optional3),
20819
- slash: Schema_exports.Boolean.pipe(optional3),
20820
20929
  autoinvoke: Schema_exports.Boolean.pipe(optional3),
20821
- location: AbsolutePath,
20930
+ path: AbsolutePath,
20822
20931
  content: Schema_exports.String
20823
20932
  }).annotate({ identifier: "Skill.Info" });
20824
- var Updated7 = ephemeral({ type: "skill.updated", schema: {} });
20825
- var Event9 = { Updated: Updated7, Definitions: inventory(Updated7) };
20933
+ var Updated9 = ephemeral({ type: "skill.updated", schema: {} });
20934
+ var Event11 = { Updated: Updated9, Definitions: inventory(Updated9) };
20826
20935
  var EmbeddedSource = Schema_exports.Struct({
20827
20936
  type: Schema_exports.tag("embedded"),
20828
20937
  skill: Schema_exports.suspend(() => Info11)
@@ -20916,6 +21025,7 @@ __export(session_message_exports, {
20916
21025
  CompactionFailed: () => CompactionFailed,
20917
21026
  CompactionRunning: () => CompactionRunning,
20918
21027
  ID: () => ID14,
21028
+ Idle: () => Idle,
20919
21029
  Info: () => Info15,
20920
21030
  LocationSwitched: () => LocationSwitched,
20921
21031
  ModelSelected: () => ModelSelected,
@@ -20959,7 +21069,7 @@ var Info12 = Schema_exports.Struct({
20959
21069
  var shell_exports = {};
20960
21070
  __export(shell_exports, {
20961
21071
  CreateInput: () => CreateInput2,
20962
- Event: () => Event10,
21072
+ Event: () => Event12,
20963
21073
  ID: () => ID12,
20964
21074
  Info: () => Info13,
20965
21075
  Metadata: () => Metadata2,
@@ -20979,8 +21089,10 @@ var ID12 = IDSchema3.pipe(statics((schema) => {
20979
21089
  }));
20980
21090
  var Status2 = Schema_exports.Literals(["running", "exited", "timeout", "killed"]);
20981
21091
  var Time2 = Schema_exports.Struct({
20982
- started: Schema_exports.Finite,
20983
- completed: optional3(Schema_exports.Finite)
21092
+ started: Schema_exports.Finite.annotate({ description: "Start time in milliseconds since the Unix epoch" }),
21093
+ completed: optional3(Schema_exports.Finite).annotate({
21094
+ description: "Completion time in milliseconds since the Unix epoch"
21095
+ })
20984
21096
  });
20985
21097
  var Metadata2 = Schema_exports.Record(Schema_exports.String, Schema_exports.Unknown);
20986
21098
  var Info13 = Schema_exports.Struct({
@@ -21000,11 +21112,11 @@ var Info13 = Schema_exports.Struct({
21000
21112
  var Created3 = ephemeral({ type: "shell.created", schema: { info: Info13 } });
21001
21113
  var Exited2 = ephemeral({ type: "shell.exited", schema: { id: ID12, exit: optional3(Schema_exports.Finite), status: Status2 } });
21002
21114
  var Deleted2 = ephemeral({ type: "shell.deleted", schema: { id: ID12 } });
21003
- var Event10 = { Created: Created3, Exited: Exited2, Deleted: Deleted2, Definitions: inventory(Created3, Exited2, Deleted2) };
21115
+ var Event12 = { Created: Created3, Exited: Exited2, Deleted: Deleted2, Definitions: inventory(Created3, Exited2, Deleted2) };
21004
21116
  var CreateInput2 = Schema_exports.Struct({
21005
21117
  command: Schema_exports.String,
21006
21118
  cwd: optional3(Schema_exports.String),
21007
- timeout: NonNegativeInt,
21119
+ timeout: optional3(NonNegativeInt),
21008
21120
  metadata: optional3(Metadata2)
21009
21121
  });
21010
21122
  var OutputInput = Schema_exports.Struct({
@@ -21255,6 +21367,11 @@ var CompactionFailed = Schema_exports.Struct({
21255
21367
  ...CompactionUsage
21256
21368
  }).annotate({ identifier: "Session.Message.Compaction.Failed" });
21257
21369
  var Compaction2 = Schema_exports.Union([CompactionRunning, CompactionCompleted, CompactionFailed]).pipe(Schema_exports.toTaggedUnion("status"), Schema_exports.annotate({ identifier: "Session.Message.Compaction" }));
21370
+ var Idle = Schema_exports.Struct({
21371
+ ...Base3,
21372
+ type: Schema_exports.tag("idle"),
21373
+ outcome: Schema_exports.Literals(["succeeded", "failed", "interrupted"])
21374
+ }).annotate({ identifier: "Session.Message.Idle" });
21258
21375
  var Info15 = Schema_exports.Union([
21259
21376
  AgentSelected,
21260
21377
  ModelSelected,
@@ -21265,7 +21382,8 @@ var Info15 = Schema_exports.Union([
21265
21382
  Skill,
21266
21383
  Shell,
21267
21384
  Assistant,
21268
- Compaction2
21385
+ Compaction2,
21386
+ Idle
21269
21387
  ]).annotate({ identifier: "Session.Message.Info" });
21270
21388
 
21271
21389
  // ../../node_modules/@opencode/schema/dist/file-diff.js
@@ -21389,7 +21507,7 @@ var Snapshot = Schema_exports.Array(Schema_exports.Struct({
21389
21507
  ...Info17.fields,
21390
21508
  removed: Schema_exports.Boolean
21391
21509
  })).annotate({ identifier: "InstructionEntry.Snapshot" });
21392
- var MaxValueBytes = 8 * 1024;
21510
+ var MaxValueBytes = 256 * 1024;
21393
21511
  var ValueTooLargeError = class extends Schema_exports.TaggedError()("InstructionEntryValueTooLargeError", {
21394
21512
  actualBytes: Schema_exports.Int,
21395
21513
  maxBytes: Schema_exports.Int,
@@ -21441,7 +21559,7 @@ var Item = Schema_exports.Union([UserItem, SyntheticItem, CompactionItem, MoveIt
21441
21559
  var Enqueued = {
21442
21560
  id: session_message_exports.ID,
21443
21561
  sessionID: SessionID,
21444
- timeCreated: DateTimeUtcFromMillis2
21562
+ time: Schema_exports.Struct({ created: DateTimeUtcFromMillis2 })
21445
21563
  };
21446
21564
  var User2 = Schema_exports.Struct({ ...Enqueued, ...UserItem.fields }).annotate({ identifier: "Session.Inbox.User" });
21447
21565
  var Synthetic2 = Schema_exports.Struct({ ...Enqueued, ...SyntheticItem.fields }).annotate({
@@ -21457,17 +21575,12 @@ var Info18 = Schema_exports.Union([User2, Synthetic2, Compaction3, Move]).pipe(S
21457
21575
  var session_fork_exports = {};
21458
21576
  __export(session_fork_exports, {
21459
21577
  Boundary: () => Boundary,
21460
- RequestBoundary: () => RequestBoundary,
21461
21578
  SessionFork: () => session_fork_exports
21462
21579
  });
21463
21580
  var Boundary = Schema_exports.Union([
21464
21581
  Schema_exports.Struct({ type: Schema_exports.Literal("before"), messageID: session_message_exports.ID }),
21465
21582
  Schema_exports.Struct({ type: Schema_exports.Literal("through"), messageID: session_message_exports.ID })
21466
21583
  ]).annotate({ identifier: "Session.ForkBoundary" });
21467
- var RequestBoundary = Schema_exports.Union([
21468
- Schema_exports.Struct({ type: Schema_exports.Literal("before"), messageID: session_message_exports.ID }),
21469
- Schema_exports.Struct({ type: Schema_exports.Literal("through") })
21470
- ]).annotate({ identifier: "Session.ForkRequestBoundary" });
21471
21584
 
21472
21585
  // ../../node_modules/@opencode/schema/dist/session-event.js
21473
21586
  var Source3 = Schema_exports.Struct({
@@ -21501,6 +21614,7 @@ var Created4 = event_exports.durable({
21501
21614
  model: model_exports.Ref.pipe(optional3),
21502
21615
  /** Host-supplied annotations resolved at creation, including any inherited from a parent. */
21503
21616
  metadata: SessionMetadata.pipe(optional3),
21617
+ permissions: permission_exports.Ruleset.pipe(optional3),
21504
21618
  version: Schema_exports.String
21505
21619
  }
21506
21620
  });
@@ -21538,6 +21652,14 @@ var Renamed = event_exports.durable({
21538
21652
  title: Schema_exports.String
21539
21653
  }
21540
21654
  });
21655
+ var Permissions = event_exports.durable({
21656
+ type: "session.permissions",
21657
+ ...options,
21658
+ schema: {
21659
+ ...Base4,
21660
+ permissions: permission_exports.Ruleset
21661
+ }
21662
+ });
21541
21663
  var Viewed = event_exports.durable({
21542
21664
  type: "session.viewed",
21543
21665
  ...options,
@@ -21970,7 +22092,7 @@ var RevertEvent;
21970
22092
  schema: { ...Base4, to: session_message_exports.ID }
21971
22093
  });
21972
22094
  })(RevertEvent || (RevertEvent = {}));
21973
- var Definitions = event_exports.inventory(Created4, AgentSelected2, ModelSelected2, Moved, Renamed, Viewed, UsageUpdated, Deleted3, Forked, InboxDelivered, InboxEnqueued, InboxCancelled, InboxDeliveryChanged, Execution.Started, Execution.Succeeded, Execution.Failed, Execution.Interrupted, InstructionsUpdated, Synthetic3, Skill2.Activated, Shell2.Started, Shell2.Ended, Step.Started, Step.Streamed, Step.Ended, Step.Failed, Text.Started, Text.Delta, Text.Ended, Reasoning.Started, Reasoning.Delta, Reasoning.Ended, Tool.Input.Started, Tool.Input.Delta, Tool.Input.Ended, Tool.Called, Tool.Progress, Tool.Success, Tool.Failed, RetryScheduled, Compaction4.Started, Compaction4.Delta, Compaction4.Ended, Compaction4.Failed, RevertEvent.Staged, RevertEvent.Cleared, RevertEvent.Committed);
22095
+ var Definitions = event_exports.inventory(Created4, AgentSelected2, ModelSelected2, Moved, Renamed, Permissions, Viewed, UsageUpdated, Deleted3, Forked, InboxDelivered, InboxEnqueued, InboxCancelled, InboxDeliveryChanged, Execution.Started, Execution.Succeeded, Execution.Failed, Execution.Interrupted, InstructionsUpdated, Synthetic3, Skill2.Activated, Shell2.Started, Shell2.Ended, Step.Started, Step.Streamed, Step.Ended, Step.Failed, Text.Started, Text.Delta, Text.Ended, Reasoning.Started, Reasoning.Delta, Reasoning.Ended, Tool.Input.Started, Tool.Input.Delta, Tool.Input.Ended, Tool.Called, Tool.Progress, Tool.Success, Tool.Failed, RetryScheduled, Compaction4.Started, Compaction4.Delta, Compaction4.Ended, Compaction4.Failed, RevertEvent.Staged, RevertEvent.Cleared, RevertEvent.Committed);
21974
22096
  var DurableDefinitions = event_exports.inventory(...Definitions.filter((definition) => definition.durability === "durable"), UsageRecorded, MessageContentUpdated);
21975
22097
  var EphemeralDefinitions = event_exports.inventory(...Definitions.filter((definition) => definition.durability === "ephemeral"));
21976
22098
  var Durable = Schema_exports.Union(DurableDefinitions, { mode: "oneOf" }).pipe(Schema_exports.toTaggedUnion("type")).annotate({ identifier: "Session.Event.Durable" });
@@ -21979,9 +22101,8 @@ var All = Schema_exports.Union([Durable, ...EphemeralDefinitions], { mode: "oneO
21979
22101
  // ../../node_modules/@opencode/schema/dist/session.js
21980
22102
  var ID15 = SessionID;
21981
22103
  var Metadata3 = SessionMetadata;
21982
- var Event11 = session_event_exports;
22104
+ var Event13 = session_event_exports;
21983
22105
  var ForkBoundary = session_fork_exports.Boundary;
21984
- var ForkRequestBoundary = session_fork_exports.RequestBoundary;
21985
22106
  var Info19 = Schema_exports.Struct({
21986
22107
  id: ID15,
21987
22108
  parentID: ID15.pipe(optional3),
@@ -22007,6 +22128,8 @@ var Info19 = Schema_exports.Struct({
22007
22128
  location: location_exports.Ref,
22008
22129
  subpath: RelativePath.pipe(optional3),
22009
22130
  metadata: Metadata3.pipe(optional3),
22131
+ /** Evaluated after the agent's rules; the last matching rule wins. */
22132
+ permissions: permission_exports.Ruleset.pipe(optional3),
22010
22133
  revert: Revert.pipe(optional3)
22011
22134
  }).annotate({ identifier: "Session.Info" });
22012
22135
  var ListAnchor = Schema_exports.Struct({
@@ -22064,11 +22187,11 @@ var ReadResult = Schema_exports.Struct({
22064
22187
  }).annotate({ identifier: "PersistentPty.ReadResult" });
22065
22188
  var Added = ephemeral({ type: "persistent-pty.added", schema: { sessionID: session_exports.ID, terminal: Info20 } });
22066
22189
  var Removed2 = ephemeral({ type: "persistent-pty.removed", schema: { sessionID: session_exports.ID, ptyID: pty_exports.ID } });
22067
- var Event12 = { Added, Removed: Removed2, Definitions: inventory(Added, Removed2) };
22190
+ var Event14 = { Added, Removed: Removed2, Definitions: inventory(Added, Removed2) };
22068
22191
 
22069
22192
  // ../../node_modules/@opencode/schema/dist/reference.js
22070
- var Updated8 = ephemeral({ type: "reference.updated", schema: {} });
22071
- var Event13 = { Updated: Updated8, Definitions: inventory(Updated8) };
22193
+ var Updated10 = ephemeral({ type: "reference.updated", schema: {} });
22194
+ var Event15 = { Updated: Updated10, Definitions: inventory(Updated10) };
22072
22195
  var LocalSource = Schema_exports.Struct({
22073
22196
  type: Schema_exports.Literal("local"),
22074
22197
  path: AbsolutePath,
@@ -22110,6 +22233,7 @@ var Branch = Schema_exports.Struct({
22110
22233
  default: optional3(Schema_exports.String)
22111
22234
  }).annotate({ identifier: "Vcs.Branch" });
22112
22235
  var Info22 = Schema_exports.Struct({
22236
+ provider: optional3(Schema_exports.String),
22113
22237
  branch: Branch
22114
22238
  }).annotate({ identifier: "Vcs.Info" });
22115
22239
  var BranchList = Schema_exports.Array(Schema_exports.String).annotate({ identifier: "Vcs.BranchList" });
@@ -22141,7 +22265,9 @@ var Result2 = Schema_exports.Struct({
22141
22265
  title: Schema_exports.String.pipe(optional3),
22142
22266
  content: Schema_exports.String.pipe(optional3),
22143
22267
  time: Schema_exports.Struct({
22144
- published: Schema_exports.Finite.pipe(optional3)
22268
+ published: Schema_exports.Finite.pipe(optional3).annotate({
22269
+ description: "Publication time in milliseconds since the Unix epoch"
22270
+ })
22145
22271
  })
22146
22272
  }).annotate({ identifier: "WebSearch.Result" });
22147
22273
  var Response = class extends Schema_exports.Class("WebSearch.Response")({
@@ -22149,24 +22275,25 @@ var Response = class extends Schema_exports.Class("WebSearch.Response")({
22149
22275
  results: Schema_exports.Array(Result2)
22150
22276
  }) {
22151
22277
  };
22152
- var Updated9 = ephemeral({
22278
+ var Updated11 = ephemeral({
22153
22279
  type: "websearch.updated",
22154
22280
  schema: {}
22155
22281
  });
22156
- var Event14 = { Updated: Updated9, Definitions: inventory(Updated9) };
22282
+ var Event16 = { Updated: Updated11, Definitions: inventory(Updated11) };
22157
22283
 
22158
22284
  // ../../node_modules/@opencode/schema/dist/worktree.js
22159
22285
  var StrategyID = Schema_exports.Trim.pipe(Schema_exports.check(Schema_exports.isNonEmpty()), Schema_exports.brand("Worktree.StrategyID"));
22160
22286
  var CreateInput4 = Schema_exports.Struct({
22161
- strategy: optional3(StrategyID),
22287
+ projectID: project_exports.ID,
22162
22288
  from: optional3(AbsolutePath),
22163
22289
  branch: optional3(Schema_exports.Trim.pipe(Schema_exports.check(Schema_exports.isNonEmpty()))),
22164
22290
  directory: optional3(AbsolutePath).annotate({
22165
- description: "Parent directory for the new worktree. Uses the location's configuration, then defaults to the server's data directory under worktree/<first six project ID characters>."
22291
+ description: "Parent directory for the new worktree. Uses the project's canonical configuration, then defaults to the server's data directory under worktree/<first six project ID characters>."
22166
22292
  }),
22167
22293
  name: optional3(Schema_exports.String)
22168
22294
  }).annotate({ identifier: "Worktree.CreateInput" });
22169
22295
  var RemoveInput = Schema_exports.Struct({
22296
+ projectID: project_exports.ID,
22170
22297
  directory: AbsolutePath,
22171
22298
  force: Schema_exports.Boolean
22172
22299
  }).annotate({ identifier: "Worktree.RemoveInput" });
@@ -22187,7 +22314,7 @@ var OperationError = class extends Schema_exports.TaggedError()("Worktree.Operat
22187
22314
  }) {
22188
22315
  };
22189
22316
  var List = Schema_exports.Array(Directory).annotate({ identifier: "Worktree.List" });
22190
- var Updated10 = ephemeral({
22317
+ var Updated12 = ephemeral({
22191
22318
  type: "worktree.updated",
22192
22319
  schema: { projectID: project_exports.ID }
22193
22320
  });
@@ -22201,7 +22328,7 @@ var Resolved = durable({
22201
22328
  adopted: optional3(Schema_exports.Array(project_exports.ID))
22202
22329
  }
22203
22330
  });
22204
- var Event15 = { Updated: Updated10, Resolved, Definitions: inventory(Updated10, Resolved) };
22331
+ var Event17 = { Updated: Updated12, Resolved, Definitions: inventory(Updated12, Resolved) };
22205
22332
 
22206
22333
  // ../../node_modules/zod/v3/external.js
22207
22334
  var external_exports = {};
@@ -22348,13 +22475,13 @@ var util;
22348
22475
  });
22349
22476
  };
22350
22477
  util2.objectKeys = typeof Object.keys === "function" ? (obj) => Object.keys(obj) : (object) => {
22351
- const keys3 = [];
22478
+ const keys4 = [];
22352
22479
  for (const key in object) {
22353
22480
  if (Object.prototype.hasOwnProperty.call(object, key)) {
22354
- keys3.push(key);
22481
+ keys4.push(key);
22355
22482
  }
22356
22483
  }
22357
- return keys3;
22484
+ return keys4;
22358
22485
  };
22359
22486
  util2.find = (arr, checker) => {
22360
22487
  for (const item of arr) {
@@ -22672,8 +22799,8 @@ var en_default = errorMap;
22672
22799
 
22673
22800
  // ../../node_modules/zod/v3/errors.js
22674
22801
  var overrideErrorMap = en_default;
22675
- function setErrorMap(map10) {
22676
- overrideErrorMap = map10;
22802
+ function setErrorMap(map11) {
22803
+ overrideErrorMap = map11;
22677
22804
  }
22678
22805
  function getErrorMap() {
22679
22806
  return overrideErrorMap;
@@ -22696,8 +22823,8 @@ var makeIssue = (params) => {
22696
22823
  }
22697
22824
  let errorMessage = "";
22698
22825
  const maps = errorMaps.filter((m) => !!m).slice().reverse();
22699
- for (const map10 of maps) {
22700
- errorMessage = map10(fullIssue, { data, defaultError: errorMessage }).message;
22826
+ for (const map11 of maps) {
22827
+ errorMessage = map11(fullIssue, { data, defaultError: errorMessage }).message;
22701
22828
  }
22702
22829
  return {
22703
22830
  ...issueData,
@@ -24582,8 +24709,8 @@ var ZodObject = class _ZodObject extends ZodType {
24582
24709
  if (this._cached !== null)
24583
24710
  return this._cached;
24584
24711
  const shape = this._def.shape();
24585
- const keys3 = util.objectKeys(shape);
24586
- this._cached = { shape, keys: keys3 };
24712
+ const keys4 = util.objectKeys(shape);
24713
+ this._cached = { shape, keys: keys4 };
24587
24714
  return this._cached;
24588
24715
  }
24589
24716
  _parse(input) {
@@ -26341,7 +26468,7 @@ function storageDirectory(directory) {
26341
26468
  }
26342
26469
 
26343
26470
  // src/opencode/session-pruning/preview-store.ts
26344
- async function readPruningPreview(filename, target, directory) {
26471
+ async function readPruningPreview(filename, target, location, projectID) {
26345
26472
  if (typeof filename !== "string" || !path.isAbsolute(filename)) return void 0;
26346
26473
  const { DatabaseSync } = await import("node:sqlite");
26347
26474
  const db = new DatabaseSync(filename, { readOnly: true, timeout: 1e3 });
@@ -26350,7 +26477,14 @@ async function readPruningPreview(filename, target, directory) {
26350
26477
  const row = db.prepare(`SELECT m.data FROM session_message m
26351
26478
  JOIN session_v2 s ON s.id = m.session_id
26352
26479
  WHERE m.id = ? AND m.session_id = ? AND m.type = 'assistant' AND s.directory = ?
26353
- AND length(CAST(m.data AS BLOB)) <= 16777216`).get(target.messageID, target.sessionID, storageDirectory(directory));
26480
+ AND s.project_id = ? AND s.workspace_id IS ?
26481
+ AND length(CAST(m.data AS BLOB)) <= 16777216`).get(
26482
+ target.messageID,
26483
+ target.sessionID,
26484
+ storageDirectory(location.directory),
26485
+ projectID,
26486
+ location.workspaceID ?? null
26487
+ );
26354
26488
  return typeof row?.data === "string" ? JSON.parse(row.data) : void 0;
26355
26489
  } finally {
26356
26490
  db.close();
@@ -26427,6 +26561,17 @@ function pruningDatabasePath(configured, channel, env = process.env, home = os.h
26427
26561
  return path2.join(data, shared ? "opencode.db" : `opencode-${channel.replace(/[^a-zA-Z0-9._-]/g, "-")}.db`);
26428
26562
  }
26429
26563
 
26564
+ // src/opencode/session-pruning/location.ts
26565
+ function readLocationRef(value3) {
26566
+ if (!value3 || typeof value3 !== "object" || Array.isArray(value3)) throw new Error("Invalid location");
26567
+ const input = value3;
26568
+ if (typeof input.directory !== "string" || !input.directory.trim() || input.directory.includes("\0") || input.workspaceID !== void 0 && (typeof input.workspaceID !== "string" || !input.workspaceID.trim() || input.workspaceID.includes("\0"))) throw new Error("Invalid location");
26569
+ return { directory: input.directory, ...input.workspaceID === void 0 ? {} : { workspaceID: input.workspaceID } };
26570
+ }
26571
+ function sameLocation(left, right) {
26572
+ return left.directory === right.directory && left.workspaceID === right.workspaceID;
26573
+ }
26574
+
26430
26575
  // src/opencode/session-pruning/service.ts
26431
26576
  async function pruneBoundMessage(ctx, input, signal) {
26432
26577
  const request3 = pruneRequestSchema.parse(input);
@@ -26435,7 +26580,10 @@ async function pruneBoundMessage(ctx, input, signal) {
26435
26580
  return { status: "blocked", reason: "unsupported_storage" };
26436
26581
  }
26437
26582
  const session = await ctx.session.get({ sessionID: request3.sessionID });
26438
- if (session.location.directory !== ctx.location.directory || session.projectID !== ctx.location.project.id || session.location.workspaceID !== ctx.location.workspaceID) return { status: "blocked", reason: "not_deletable" };
26583
+ const location = readLocationRef(session.location);
26584
+ if (!sameLocation(location, readLocationRef(ctx.location)) || session.projectID !== ctx.location.project.id) {
26585
+ return { status: "blocked", reason: "not_deletable" };
26586
+ }
26439
26587
  const filename = await realpath(configured);
26440
26588
  const { DatabaseSync } = await import("node:sqlite");
26441
26589
  const key = `pruning/binding/${randomUUID()}`;
@@ -26451,9 +26599,9 @@ async function pruneBoundMessage(ctx, input, signal) {
26451
26599
  return pruneTransaction(db, request3, () => validateClaimFence(db, request3.sessionID, {
26452
26600
  key: storageKey(key),
26453
26601
  nonce,
26454
- directory: session.location.directory,
26455
- projectID: session.projectID,
26456
- workspaceID: session.location.workspaceID
26602
+ directory: location.directory,
26603
+ workspaceID: location.workspaceID,
26604
+ projectID: session.projectID
26457
26605
  }), storageKey("pruning/receipt/"));
26458
26606
  } catch (error) {
26459
26607
  const code = error.errcode;
@@ -26477,8 +26625,11 @@ var plugin_default = plugin_exports.define({
26477
26625
  preview: async (input) => {
26478
26626
  const target = messageTargetSchema.parse(input);
26479
26627
  const session = await ctx.session.get({ sessionID: target.sessionID });
26480
- if (session.location.directory !== ctx.location.directory) return { status: "blocked", reason: "not_deletable" };
26481
- const data = await readPruningPreview(pruningDatabasePath(ctx.options.databasePath, ctx.app.channel), target, session.location.directory);
26628
+ const location = readLocationRef(session.location);
26629
+ if (!sameLocation(location, readLocationRef(ctx.location)) || session.projectID !== ctx.location.project.id) {
26630
+ return { status: "blocked", reason: "not_deletable" };
26631
+ }
26632
+ const data = await readPruningPreview(pruningDatabasePath(ctx.options.databasePath, ctx.app.channel), target, location, session.projectID);
26482
26633
  const preview = data ? previewContent(data) : { status: "blocked", reason: "unavailable" };
26483
26634
  return preview.status === "preview" ? { ...preview, liveMutation: true } : preview;
26484
26635
  },