@farm.js/core 0.1.41 → 0.1.43

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 (237) hide show
  1. package/dist/{agent-mcp-BOqIxJLI.d.mts → agent-mcp-3KDz4hr9.d.mts} +1 -1
  2. package/dist/{agent-mcp-D0eZKfci.d.ts → agent-mcp-6yRebHk7.d.ts} +1 -1
  3. package/dist/agent-runtime.d.mts +1 -1
  4. package/dist/agent-runtime.d.ts +1 -1
  5. package/dist/api/route-manager.d.mts +3 -3
  6. package/dist/api/route-manager.d.ts +3 -3
  7. package/dist/api/runtime.d.mts +2 -2
  8. package/dist/api/runtime.d.ts +2 -2
  9. package/dist/api.cjs +2 -2
  10. package/dist/api.d.mts +8 -3
  11. package/dist/api.d.ts +8 -3
  12. package/dist/api.mjs +1 -1
  13. package/dist/{app-DM8e1z3G.d.ts → app-8Db1zR-2.d.ts} +8 -4
  14. package/dist/{app-CzTSMJaf.d.mts → app-DlTWv4cn.d.mts} +8 -4
  15. package/dist/app-manifest-TRzS7ZZ9.d.mts +120 -0
  16. package/dist/app-manifest-cO2jkG1F.d.ts +120 -0
  17. package/dist/app-markdown.d.mts +2 -2
  18. package/dist/app-markdown.d.ts +2 -2
  19. package/dist/{chunk-ECKF2BAM.cjs → chunk-2GVF3C2F.cjs} +255 -42
  20. package/dist/chunk-2NXO5SBY.mjs +57 -0
  21. package/dist/chunk-3BROEWFY.cjs +39 -0
  22. package/dist/{chunk-ENOBPDKZ.mjs → chunk-4MRQ5OKQ.mjs} +14 -9
  23. package/dist/{chunk-R65GCA6A.mjs → chunk-4OCEMK72.mjs} +260 -49
  24. package/dist/{chunk-6PKXK4TY.mjs → chunk-53ZV6K65.mjs} +1 -1
  25. package/dist/{chunk-LYIZHJTK.cjs → chunk-5LPHJZSI.cjs} +14 -14
  26. package/dist/chunk-5NIWBWDD.mjs +97 -0
  27. package/dist/{chunk-NRDBW4MP.mjs → chunk-7IQQIPRZ.mjs} +10 -0
  28. package/dist/{chunk-FJGIVDA5.mjs → chunk-7SCCY6SI.mjs} +80 -177
  29. package/dist/chunk-APDGOKKE.cjs +148 -0
  30. package/dist/chunk-AZBSVLRM.cjs +132 -0
  31. package/dist/{chunk-PN676AZF.cjs → chunk-BKPXWRTT.cjs} +6 -6
  32. package/dist/chunk-CEDPEDNW.cjs +98 -0
  33. package/dist/chunk-D5RFPV2H.mjs +148 -0
  34. package/dist/{chunk-BYQVROIP.mjs → chunk-DMRPN25V.mjs} +69 -0
  35. package/dist/{chunk-724JLMS4.mjs → chunk-F646BZ4Y.mjs} +4 -2
  36. package/dist/{chunk-C5KVWHIH.cjs → chunk-G2Z5DGMS.cjs} +5 -3
  37. package/dist/{chunk-L6HYACBE.cjs → chunk-GVNCWSQV.cjs} +145 -127
  38. package/dist/{chunk-24SP5TGU.mjs → chunk-H4LXPWI2.mjs} +2 -2
  39. package/dist/chunk-H7BLEEAE.cjs +57 -0
  40. package/dist/{chunk-JOTUZIM4.cjs → chunk-HUMEHX24.cjs} +2 -2
  41. package/dist/{chunk-BD3D7EZV.cjs → chunk-IXFOBGLQ.cjs} +9 -3
  42. package/dist/{chunk-3TB5QGUW.cjs → chunk-JAXDRRRC.cjs} +70 -1
  43. package/dist/{chunk-32TZ3QTP.cjs → chunk-JDJAPCR2.cjs} +421 -210
  44. package/dist/{chunk-MHN4UR5U.cjs → chunk-KFZZFZ7J.cjs} +7 -7
  45. package/dist/chunk-LRJRXXQZ.cjs +109 -0
  46. package/dist/{chunk-EX4MKHXN.cjs → chunk-LVABUXLA.cjs} +22 -17
  47. package/dist/{chunk-HCSVR4YZ.mjs → chunk-M3BXTWJM.mjs} +18 -0
  48. package/dist/{chunk-PYHPXPSW.mjs → chunk-NXO75WY4.mjs} +1 -1
  49. package/dist/{chunk-BGGWKZ2V.mjs → chunk-OYSGGV6O.mjs} +137 -167
  50. package/dist/{chunk-JR4QCLJY.cjs → chunk-PDU4P2IC.cjs} +19 -1
  51. package/dist/chunk-PJEHUSHA.mjs +229 -0
  52. package/dist/chunk-QGH2RQVF.mjs +132 -0
  53. package/dist/{chunk-YWMZUGIS.mjs → chunk-R3ZFQJEF.mjs} +247 -34
  54. package/dist/{chunk-ROQ4C4LJ.cjs → chunk-RACQTC7K.cjs} +274 -371
  55. package/dist/{chunk-WSOBCAYO.cjs → chunk-RQYTOFQM.cjs} +23 -23
  56. package/dist/chunk-S34OBRMZ.mjs +109 -0
  57. package/dist/{chunk-TS4JHGUJ.mjs → chunk-S3ZEMCE6.mjs} +9 -3
  58. package/dist/{chunk-WWFTAUFG.cjs → chunk-SBH2JLLF.cjs} +12 -2
  59. package/dist/{chunk-YSLWRWWP.cjs → chunk-SKK6UF5P.cjs} +200 -46
  60. package/dist/chunk-T7J7E63D.cjs +144 -0
  61. package/dist/{chunk-SVPGWJZF.mjs → chunk-TESO7EFU.mjs} +125 -107
  62. package/dist/{chunk-OQ4YXWH4.cjs → chunk-VIVQERJ5.cjs} +320 -351
  63. package/dist/{chunk-JIYYX7WU.mjs → chunk-VLXNGUKO.mjs} +1 -1
  64. package/dist/{chunk-OFZUJMCU.mjs → chunk-WPJQN64R.mjs} +195 -41
  65. package/dist/chunk-XARSG2TG.mjs +144 -0
  66. package/dist/chunk-XUGFRFD2.mjs +39 -0
  67. package/dist/{chunk-EH3464KF.cjs → chunk-YBDSTNMH.cjs} +1 -1
  68. package/dist/{chunk-VLPII2JJ.mjs → chunk-YGZH4T2X.mjs} +1 -1
  69. package/dist/chunk-YKUEJ3MG.cjs +229 -0
  70. package/dist/{chunk-4C7KTKX7.mjs → chunk-ZYWJIPKQ.mjs} +1 -1
  71. package/dist/{client-plugins-CkYwvDJ0.d.mts → client-plugins-Cv0OJtnM.d.mts} +98 -7
  72. package/dist/{client-plugins-DfeKd0sD.d.ts → client-plugins-kwQuZcWq.d.ts} +98 -7
  73. package/dist/client-plugins.d.mts +1 -1
  74. package/dist/client-plugins.d.ts +1 -1
  75. package/dist/client.cjs +4 -3
  76. package/dist/client.d.mts +5 -5
  77. package/dist/client.d.ts +5 -5
  78. package/dist/client.mjs +3 -2
  79. package/dist/config.d.mts +1 -1
  80. package/dist/config.d.ts +1 -1
  81. package/dist/{devtools-N3QLRIQU.mjs → devtools-M22FEFPK.mjs} +4 -4
  82. package/dist/{devtools-2YHAJYH6.cjs → devtools-MLB3JJMC.cjs} +5 -5
  83. package/dist/docs.cjs +6 -6
  84. package/dist/docs.d.mts +2 -2
  85. package/dist/docs.d.ts +2 -2
  86. package/dist/docs.mjs +5 -5
  87. package/dist/index-CQOp8EmB.d.mts +48 -0
  88. package/dist/index-DAl0QTZS.d.ts +48 -0
  89. package/dist/index.cjs +41 -24
  90. package/dist/index.d.mts +15 -14
  91. package/dist/index.d.ts +15 -14
  92. package/dist/index.mjs +46 -29
  93. package/dist/integrations.d.mts +1 -1
  94. package/dist/integrations.d.ts +1 -1
  95. package/dist/internal/app-markdown-runtime.d.mts +2 -2
  96. package/dist/internal/app-markdown-runtime.d.ts +2 -2
  97. package/dist/internal/build-runtime.cjs +29 -15
  98. package/dist/internal/build-runtime.d.mts +12 -16
  99. package/dist/internal/build-runtime.d.ts +12 -16
  100. package/dist/internal/build-runtime.mjs +28 -14
  101. package/dist/internal/cli-runtime.cjs +23 -11
  102. package/dist/internal/cli-runtime.mjs +23 -11
  103. package/dist/internal/client-error-overlay.cjs +4 -4
  104. package/dist/internal/client-error-overlay.mjs +1 -1
  105. package/dist/internal/client-runtime.cjs +5 -1
  106. package/dist/internal/client-runtime.d.mts +1 -0
  107. package/dist/internal/client-runtime.d.ts +1 -0
  108. package/dist/internal/client-runtime.mjs +4 -0
  109. package/dist/internal/compression-runtime.d.mts +1 -1
  110. package/dist/internal/compression-runtime.d.ts +1 -1
  111. package/dist/internal/config-runtime.cjs +5 -5
  112. package/dist/internal/config-runtime.d.mts +2 -2
  113. package/dist/internal/config-runtime.d.ts +2 -2
  114. package/dist/internal/config-runtime.mjs +4 -4
  115. package/dist/internal/form-actions-client.cjs +18 -0
  116. package/dist/internal/form-actions-client.d.mts +5 -0
  117. package/dist/internal/form-actions-client.d.ts +5 -0
  118. package/dist/internal/form-actions-client.mjs +18 -0
  119. package/dist/internal/form-actions.cjs +18 -0
  120. package/dist/internal/form-actions.d.mts +14 -0
  121. package/dist/internal/form-actions.d.ts +14 -0
  122. package/dist/internal/form-actions.mjs +18 -0
  123. package/dist/internal/island-codec.cjs +22 -0
  124. package/dist/internal/island-codec.d.mts +29 -0
  125. package/dist/internal/island-codec.d.ts +29 -0
  126. package/dist/internal/island-codec.mjs +22 -0
  127. package/dist/internal/island-value-store.cjs +13 -0
  128. package/dist/internal/island-value-store.d.mts +6 -0
  129. package/dist/internal/island-value-store.d.ts +6 -0
  130. package/dist/internal/island-value-store.mjs +13 -0
  131. package/dist/internal/islands-runtime.cjs +77 -0
  132. package/dist/internal/islands-runtime.d.mts +57 -0
  133. package/dist/internal/islands-runtime.d.ts +57 -0
  134. package/dist/internal/islands-runtime.mjs +77 -0
  135. package/dist/internal/islands-server.cjs +19 -0
  136. package/dist/internal/islands-server.d.mts +3 -0
  137. package/dist/internal/islands-server.d.ts +3 -0
  138. package/dist/internal/islands-server.mjs +19 -0
  139. package/dist/internal/islx-client.cjs +5 -0
  140. package/dist/internal/islx-client.d.mts +2 -0
  141. package/dist/internal/islx-client.d.ts +2 -0
  142. package/dist/internal/islx-client.mjs +3 -0
  143. package/dist/internal/islx-react.cjs +4 -0
  144. package/dist/internal/islx-react.d.mts +1 -0
  145. package/dist/internal/islx-react.d.ts +1 -0
  146. package/dist/internal/islx-react.mjs +2 -0
  147. package/dist/internal/islx-server.cjs +5 -0
  148. package/dist/internal/islx-server.d.mts +2 -0
  149. package/dist/internal/islx-server.d.ts +2 -0
  150. package/dist/internal/islx-server.mjs +3 -0
  151. package/dist/internal/isolated-boundary.cjs +4 -3
  152. package/dist/internal/isolated-boundary.d.mts +13 -1
  153. package/dist/internal/isolated-boundary.d.ts +13 -1
  154. package/dist/internal/isolated-boundary.mjs +3 -2
  155. package/dist/internal/product-telemetry-runtime.cjs +2 -2
  156. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  157. package/dist/internal/production-runtime.cjs +24 -7
  158. package/dist/internal/production-runtime.d.mts +20 -127
  159. package/dist/internal/production-runtime.d.ts +20 -127
  160. package/dist/internal/production-runtime.mjs +24 -7
  161. package/dist/internal/server-tree.cjs +6 -3
  162. package/dist/internal/server-tree.d.mts +25 -2
  163. package/dist/internal/server-tree.d.ts +25 -2
  164. package/dist/internal/server-tree.mjs +7 -4
  165. package/dist/island-value-protocol-BRayRghM.d.mts +12 -0
  166. package/dist/island-value-protocol-BRayRghM.d.ts +12 -0
  167. package/dist/markdown.d.mts +1 -1
  168. package/dist/markdown.d.ts +1 -1
  169. package/dist/middleware.d.mts +3 -3
  170. package/dist/middleware.d.ts +3 -3
  171. package/dist/navigation.cjs +5 -4
  172. package/dist/navigation.d.mts +4 -4
  173. package/dist/navigation.d.ts +4 -4
  174. package/dist/navigation.mjs +4 -3
  175. package/dist/og.d.mts +5 -0
  176. package/dist/og.d.ts +5 -0
  177. package/dist/plugin.cjs +18 -12
  178. package/dist/plugin.d.mts +3 -3
  179. package/dist/plugin.d.ts +3 -3
  180. package/dist/plugin.mjs +17 -11
  181. package/dist/{production-runtime-DFC7pgbp.d.ts → production-runtime-5nArjFpn.d.ts} +1 -1
  182. package/dist/{production-runtime-BTkXQdYy.d.mts → production-runtime-BzsF2z5F.d.mts} +1 -1
  183. package/dist/query/client.cjs +6 -5
  184. package/dist/query/client.mjs +2 -1
  185. package/dist/{render-plan-5rFeWmk7.d.mts → render-plan-B9yQorV4.d.mts} +4 -2
  186. package/dist/{render-plan-BoAK9xFC.d.ts → render-plan-fg6E_HvL.d.ts} +4 -2
  187. package/dist/renderer/react/server.cjs +7 -6
  188. package/dist/renderer/react/server.d.mts +3 -1
  189. package/dist/renderer/react/server.d.ts +3 -1
  190. package/dist/renderer/react/server.mjs +5 -4
  191. package/dist/renderer-client.cjs +5 -4
  192. package/dist/renderer-client.d.mts +3 -3
  193. package/dist/renderer-client.d.ts +3 -3
  194. package/dist/renderer-client.mjs +2 -1
  195. package/dist/renderer.d.mts +3 -1
  196. package/dist/renderer.d.ts +3 -1
  197. package/dist/{request-BxBWigtl.d.mts → request-C4j_g-BH.d.mts} +1 -1
  198. package/dist/{request-fciwmd3n.d.ts → request-gz8vFK0n.d.ts} +1 -1
  199. package/dist/request.d.mts +2 -2
  200. package/dist/request.d.ts +2 -2
  201. package/dist/{route-rendering-BLZT0IP0.d.ts → route-rendering-DamyKVi3.d.ts} +1 -1
  202. package/dist/{route-rendering-BCM1QzEf.d.mts → route-rendering-iTTOwz1f.d.mts} +1 -1
  203. package/dist/{router-DyZJWc1_.d.mts → router-EoSzHlos.d.mts} +1 -1
  204. package/dist/{router-CkheNX3-.d.ts → router-OVjDqVo8.d.ts} +1 -1
  205. package/dist/routes.d.mts +1 -1
  206. package/dist/routes.d.ts +1 -1
  207. package/dist/rsc-pipeline-LK4K5JFK.mjs +77 -0
  208. package/dist/rsc-pipeline-YCDRJME4.cjs +77 -0
  209. package/dist/{runtime-DfU4sKa5.d.ts → runtime-CwiuozLd.d.ts} +1 -1
  210. package/dist/{runtime-wexvUN5J.d.mts → runtime-DDH4tiuF.d.mts} +1 -1
  211. package/dist/{schema-dev-notice-5JPE67AI.cjs → schema-dev-notice-77ZL23PL.cjs} +4 -4
  212. package/dist/{schema-dev-notice-WLPZ6WKU.mjs → schema-dev-notice-BLXOS6U2.mjs} +2 -2
  213. package/dist/server-plugins.d.mts +2 -2
  214. package/dist/server-plugins.d.ts +2 -2
  215. package/dist/server.cjs +56 -38
  216. package/dist/server.d.mts +15 -10
  217. package/dist/server.d.ts +15 -10
  218. package/dist/server.mjs +36 -18
  219. package/dist/{spa-router-DgsMXqfX.d.mts → spa-router-Br4qFCWf.d.mts} +8 -3
  220. package/dist/{spa-router-CcejECnG.d.ts → spa-router-BsWUKH73.d.ts} +8 -3
  221. package/dist/{ssg-1FGaFISl.d.ts → ssg-Csy2vwpi.d.ts} +2 -2
  222. package/dist/{ssg-Bg4bMMhM.d.mts → ssg-Donyfcxy.d.mts} +2 -2
  223. package/dist/testing.d.mts +1 -1
  224. package/dist/testing.d.ts +1 -1
  225. package/dist/{utils-Dxbh6Hgj.d.ts → utils-Luk72LXC.d.ts} +1 -1
  226. package/dist/{utils-8wtTYiH4.d.mts → utils-d_k1ZZw0.d.mts} +1 -1
  227. package/dist/version.cjs +2 -2
  228. package/dist/version.mjs +1 -1
  229. package/dist/vite.cjs +18 -12
  230. package/dist/vite.d.mts +6 -4
  231. package/dist/vite.d.ts +6 -4
  232. package/dist/vite.mjs +17 -11
  233. package/package.json +53 -1
  234. package/dist/{chunk-35WS7P2V.mjs → chunk-26CXZR6L.mjs} +3 -3
  235. package/dist/{chunk-QEILRWVV.cjs → chunk-3XEMGDBF.cjs} +2 -2
  236. package/dist/{chunk-BPOTSHDO.cjs → chunk-IOAUK4OI.cjs} +2 -2
  237. package/dist/{chunk-BYR3RQPB.mjs → chunk-T76H22WI.mjs} +4 -4
@@ -0,0 +1,29 @@
1
+ /** A tagged object. */
2
+ declare function farmTagged(tag: string, value?: unknown): Record<string, unknown>;
3
+ /** Whether a plain object must travel wrapped as `o`, because its own keys include `$`. */
4
+ declare function needsFarmObjectTag(object: object): boolean;
5
+ /**
6
+ * The tag for a value JSON cannot hold and that has no children (everything above but `M`, `S`
7
+ * and `o`), or undefined when the value needs none.
8
+ */
9
+ declare function encodeFarmLeaf(value: unknown): Record<string, unknown> | undefined;
10
+ /** Returned by `decodeFarmTagged` for the runtime's reference tags (`r`, `s`, `a`). */
11
+ declare const NOT_A_FARM_MARKER: unique symbol;
12
+ /** A plain object from entries; `defineProperty`, so a "__proto__" key stays an ordinary key. */
13
+ declare function farmPlainObject(entries: Iterable<[string, unknown]>): Record<string, unknown>;
14
+ /**
15
+ * The value a tagged object stands for, decoding children (a `Map`'s or `Set`'s entries, an `o`
16
+ * object's properties) with `decodeChild`. Returns `NOT_A_FARM_MARKER` for the runtime's reference
17
+ * tags, and throws for an unknown or malformed tag.
18
+ */
19
+ declare function decodeFarmTagged(object: Record<string, unknown>, decodeChild: (value: unknown) => unknown): unknown;
20
+ /**
21
+ * Encodes a value for JSON with the tags above: plain objects, arrays and the types listed.
22
+ * Functions, symbols, class instances and circular values throw. Used for server action
23
+ * arguments and results.
24
+ */
25
+ declare function encodeFarmJson(value: unknown, seen?: Set<object>): unknown;
26
+ /** Decodes what `encodeFarmJson` produced, after `JSON.parse`. Reference tags are rejected. */
27
+ declare function decodeFarmJson(value: unknown): unknown;
28
+
29
+ export { NOT_A_FARM_MARKER, decodeFarmJson, decodeFarmTagged, encodeFarmJson, encodeFarmLeaf, farmPlainObject, farmTagged, needsFarmObjectTag };
@@ -0,0 +1,22 @@
1
+ import {
2
+ NOT_A_FARM_MARKER,
3
+ decodeFarmJson,
4
+ decodeFarmTagged,
5
+ encodeFarmJson,
6
+ encodeFarmLeaf,
7
+ farmPlainObject,
8
+ farmTagged,
9
+ needsFarmObjectTag
10
+ } from "../chunk-PJEHUSHA.mjs";
11
+ import "../chunk-2NXO5SBY.mjs";
12
+ import "../chunk-LPEX4YW6.mjs";
13
+ export {
14
+ NOT_A_FARM_MARKER,
15
+ decodeFarmJson,
16
+ decodeFarmTagged,
17
+ encodeFarmJson,
18
+ encodeFarmLeaf,
19
+ farmPlainObject,
20
+ farmTagged,
21
+ needsFarmObjectTag
22
+ };
@@ -0,0 +1,13 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkS3JO3N4Hcjs = require('../chunk-S3JO3N4H.cjs');
4
+
5
+ // src/client/island-value-store.ts
6
+ var _client = require('@farm.js/islx/client');
7
+ function getFarmIslandValueStore() {
8
+ return _client.getValueStore.call(void 0, );
9
+ }
10
+ _chunkS3JO3N4Hcjs.__name.call(void 0, getFarmIslandValueStore, "getFarmIslandValueStore");
11
+
12
+
13
+ exports.getFarmIslandValueStore = getFarmIslandValueStore;
@@ -0,0 +1,6 @@
1
+ import { F as FarmIslandValueStore } from '../island-value-protocol-BRayRghM.mjs';
2
+
3
+ /** The page's value store, shared by every copy of the runtime. */
4
+ declare function getFarmIslandValueStore(): FarmIslandValueStore;
5
+
6
+ export { getFarmIslandValueStore };
@@ -0,0 +1,6 @@
1
+ import { F as FarmIslandValueStore } from '../island-value-protocol-BRayRghM.js';
2
+
3
+ /** The page's value store, shared by every copy of the runtime. */
4
+ declare function getFarmIslandValueStore(): FarmIslandValueStore;
5
+
6
+ export { getFarmIslandValueStore };
@@ -0,0 +1,13 @@
1
+ import {
2
+ __name
3
+ } from "../chunk-LPEX4YW6.mjs";
4
+
5
+ // src/client/island-value-store.ts
6
+ import { getValueStore } from "@farm.js/islx/client";
7
+ function getFarmIslandValueStore() {
8
+ return getValueStore();
9
+ }
10
+ __name(getFarmIslandValueStore, "getFarmIslandValueStore");
11
+ export {
12
+ getFarmIslandValueStore
13
+ };
@@ -0,0 +1,77 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+ var _chunkH7BLEEAEcjs = require('../chunk-H7BLEEAE.cjs');
4
+
5
+
6
+ var _chunkS3JO3N4Hcjs = require('../chunk-S3JO3N4H.cjs');
7
+
8
+ // src/client/islands-runtime.ts
9
+ var _client = require('@farm.js/islx/client');
10
+ var _react = require('@farm.js/islx/react');
11
+
12
+
13
+
14
+
15
+ var _client3 = require('@farm.js/islx/react/client');
16
+ function createFarmIsolatedHydrationRuntime(options) {
17
+ const runtime = _client3.createHydrationRuntime.call(void 0, {
18
+ load: options.load,
19
+ schedule: options.schedule,
20
+ wrap: options.wrap,
21
+ report: options.report
22
+ });
23
+ const router = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, () => window.__FARM_SPA_ROUTER__, "router");
24
+ _client.setActionNavigator.call(void 0, {
25
+ refresh: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, () => _optionalChain([router, 'call', _ => _(), 'optionalAccess', _2 => _2.refresh, 'optionalCall', _3 => _3({ scroll: false })]), "refresh"),
26
+ navigate: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (href) => {
27
+ const current = router();
28
+ return _optionalChain([current, 'optionalAccess', _4 => _4.navigate]) ? current.navigate(href) : location.assign(href);
29
+ }, "navigate")
30
+ });
31
+ _client.enhanceForms.call(void 0, );
32
+ return {
33
+ hydrate: runtime.hydrate,
34
+ carryOver: runtime.carryOver,
35
+ updateModule: runtime.update,
36
+ dispose: runtime.dispose,
37
+ rootCount: runtime.rootCount
38
+ };
39
+ }
40
+ _chunkS3JO3N4Hcjs.__name.call(void 0, createFarmIsolatedHydrationRuntime, "createFarmIsolatedHydrationRuntime");
41
+ function createFarmServerPageBoundary(_React, runtime) {
42
+ return _client3.createServerHtml.call(void 0, runtime);
43
+ }
44
+ _chunkS3JO3N4Hcjs.__name.call(void 0, createFarmServerPageBoundary, "createFarmServerPageBoundary");
45
+ function wrapFarmIsolatedClientGraph(_React, element) {
46
+ return _react.withinClientRoot.call(void 0, element);
47
+ }
48
+ _chunkS3JO3N4Hcjs.__name.call(void 0, wrapFarmIsolatedClientGraph, "wrapFarmIsolatedClientGraph");
49
+ function isolateFarmServerPageGraph(_React, element) {
50
+ return _react.isolateIslands.call(void 0, element);
51
+ }
52
+ _chunkS3JO3N4Hcjs.__name.call(void 0, isolateFarmServerPageGraph, "isolateFarmServerPageGraph");
53
+ function renderFarmServerTreePage(_React, element, options) {
54
+ return _react.renderServerTree.call(void 0, element, {
55
+ isolate: options.isolate,
56
+ payloadOnly: options.payloadOnly,
57
+ // The values this request's browser holds (Farm's request store).
58
+ held: _nullishCoalesce(_optionalChain([_chunkH7BLEEAEcjs.getFarmIslandValuesServer.call(void 0, ), 'optionalAccess', _5 => _5.held, 'call', _6 => _6()]), () => ( null))
59
+ });
60
+ }
61
+ _chunkS3JO3N4Hcjs.__name.call(void 0, renderFarmServerTreePage, "renderFarmServerTreePage");
62
+ function createFarmServerTreeElement(_React, source, options) {
63
+ return _client3.createServerTreeElement.call(void 0, source, {
64
+ load: options.load,
65
+ ServerHtml: options.ServerHtml,
66
+ key: options.key
67
+ });
68
+ }
69
+ _chunkS3JO3N4Hcjs.__name.call(void 0, createFarmServerTreeElement, "createFarmServerTreeElement");
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+ exports.createFarmIsolatedHydrationRuntime = createFarmIsolatedHydrationRuntime; exports.createFarmServerPageBoundary = createFarmServerPageBoundary; exports.createFarmServerTreeElement = createFarmServerTreeElement; exports.isolateFarmServerPageGraph = isolateFarmServerPageGraph; exports.renderFarmServerTreePage = renderFarmServerTreePage; exports.wrapFarmIsolatedClientGraph = wrapFarmIsolatedClientGraph;
@@ -0,0 +1,57 @@
1
+ import React__default from 'react';
2
+ import { createServerHtml } from '@farm.js/islx/react/client';
3
+ import { F as FarmIslandStrategy } from '../island-CfGru1MO.mjs';
4
+
5
+ /**
6
+ * @internal Islands mode's runtime (`experimental.serverComponents: { mode: "islands" }`), run by
7
+ * islx. Generated code imports these in islands mode under the names the isolated-hydration
8
+ * runtime uses, so the rest of Farm's runtime stays the same; apps on isolated hydration without
9
+ * islands mode never load islx.
10
+ */
11
+
12
+ interface FarmIslandsRuntimeOptions {
13
+ load(reference: string): Promise<Record<string, unknown>>;
14
+ schedule(options: {
15
+ container: Element;
16
+ strategy: FarmIslandStrategy;
17
+ signal?: AbortSignal;
18
+ hydrate(): Promise<void>;
19
+ }): Promise<unknown>;
20
+ wrap?(element: React__default.ReactElement): React__default.ReactNode;
21
+ report?(message: string, error?: unknown): void;
22
+ }
23
+ /**
24
+ * Hydrates islands with Farm's scheduler and providers; actions (from islands, and from forms in
25
+ * server components) refresh through Farm's router.
26
+ */
27
+ declare function createFarmIsolatedHydrationRuntime(options: FarmIslandsRuntimeOptions): {
28
+ hydrate: (scope?: ParentNode, signal?: AbortSignal) => Promise<void>;
29
+ carryOver: (current: ParentNode, next: ParentNode) => number;
30
+ updateModule: (src: string, module: Record<string, unknown>) => number;
31
+ dispose: (scope: Node) => void;
32
+ rootCount: () => number;
33
+ };
34
+ /** A page a hydrating layout keeps as server HTML; its islands start inside it. */
35
+ declare function createFarmServerPageBoundary(_React: typeof React__default, runtime: Parameters<typeof createServerHtml>[0]): React__default.ComponentType<Record<string, unknown> & {
36
+ as?: string;
37
+ dangerouslySetInnerHTML: {
38
+ __html: string;
39
+ };
40
+ }>;
41
+ /** A layout that hydrates as one React root: its client components join that root. */
42
+ declare function wrapFarmIsolatedClientGraph(_React: typeof React__default, element: React__default.ReactNode): React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>>;
43
+ /** The page such a layout keeps as server HTML: its client components are islands again. */
44
+ declare function isolateFarmServerPageGraph(_React: typeof React__default, element: React__default.ReactNode): React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>>;
45
+ /** An async page under a hydrating layout, as a server tree the browser rebuilds in its root. */
46
+ declare function renderFarmServerTreePage(_React: typeof React__default, element: React__default.ReactNode, options: {
47
+ isolate?(element: React__default.ReactNode): React__default.ReactNode;
48
+ payloadOnly?: boolean;
49
+ }): Promise<React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>>>;
50
+ /** Rebuilds a server-tree page in the browser, inside the layout's React root. */
51
+ declare function createFarmServerTreeElement(_React: typeof React__default, source: ParentNode | string, options: {
52
+ load(reference: string): Promise<Record<string, unknown>>;
53
+ ServerHtml: React__default.ComponentType<any>;
54
+ key?: string;
55
+ }): Promise<React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>> | null>;
56
+
57
+ export { type FarmIslandsRuntimeOptions, createFarmIsolatedHydrationRuntime, createFarmServerPageBoundary, createFarmServerTreeElement, isolateFarmServerPageGraph, renderFarmServerTreePage, wrapFarmIsolatedClientGraph };
@@ -0,0 +1,57 @@
1
+ import React__default from 'react';
2
+ import { createServerHtml } from '@farm.js/islx/react/client';
3
+ import { F as FarmIslandStrategy } from '../island-CfGru1MO.js';
4
+
5
+ /**
6
+ * @internal Islands mode's runtime (`experimental.serverComponents: { mode: "islands" }`), run by
7
+ * islx. Generated code imports these in islands mode under the names the isolated-hydration
8
+ * runtime uses, so the rest of Farm's runtime stays the same; apps on isolated hydration without
9
+ * islands mode never load islx.
10
+ */
11
+
12
+ interface FarmIslandsRuntimeOptions {
13
+ load(reference: string): Promise<Record<string, unknown>>;
14
+ schedule(options: {
15
+ container: Element;
16
+ strategy: FarmIslandStrategy;
17
+ signal?: AbortSignal;
18
+ hydrate(): Promise<void>;
19
+ }): Promise<unknown>;
20
+ wrap?(element: React__default.ReactElement): React__default.ReactNode;
21
+ report?(message: string, error?: unknown): void;
22
+ }
23
+ /**
24
+ * Hydrates islands with Farm's scheduler and providers; actions (from islands, and from forms in
25
+ * server components) refresh through Farm's router.
26
+ */
27
+ declare function createFarmIsolatedHydrationRuntime(options: FarmIslandsRuntimeOptions): {
28
+ hydrate: (scope?: ParentNode, signal?: AbortSignal) => Promise<void>;
29
+ carryOver: (current: ParentNode, next: ParentNode) => number;
30
+ updateModule: (src: string, module: Record<string, unknown>) => number;
31
+ dispose: (scope: Node) => void;
32
+ rootCount: () => number;
33
+ };
34
+ /** A page a hydrating layout keeps as server HTML; its islands start inside it. */
35
+ declare function createFarmServerPageBoundary(_React: typeof React__default, runtime: Parameters<typeof createServerHtml>[0]): React__default.ComponentType<Record<string, unknown> & {
36
+ as?: string;
37
+ dangerouslySetInnerHTML: {
38
+ __html: string;
39
+ };
40
+ }>;
41
+ /** A layout that hydrates as one React root: its client components join that root. */
42
+ declare function wrapFarmIsolatedClientGraph(_React: typeof React__default, element: React__default.ReactNode): React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>>;
43
+ /** The page such a layout keeps as server HTML: its client components are islands again. */
44
+ declare function isolateFarmServerPageGraph(_React: typeof React__default, element: React__default.ReactNode): React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>>;
45
+ /** An async page under a hydrating layout, as a server tree the browser rebuilds in its root. */
46
+ declare function renderFarmServerTreePage(_React: typeof React__default, element: React__default.ReactNode, options: {
47
+ isolate?(element: React__default.ReactNode): React__default.ReactNode;
48
+ payloadOnly?: boolean;
49
+ }): Promise<React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>>>;
50
+ /** Rebuilds a server-tree page in the browser, inside the layout's React root. */
51
+ declare function createFarmServerTreeElement(_React: typeof React__default, source: ParentNode | string, options: {
52
+ load(reference: string): Promise<Record<string, unknown>>;
53
+ ServerHtml: React__default.ComponentType<any>;
54
+ key?: string;
55
+ }): Promise<React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>> | null>;
56
+
57
+ export { type FarmIslandsRuntimeOptions, createFarmIsolatedHydrationRuntime, createFarmServerPageBoundary, createFarmServerTreeElement, isolateFarmServerPageGraph, renderFarmServerTreePage, wrapFarmIsolatedClientGraph };
@@ -0,0 +1,77 @@
1
+ import {
2
+ getFarmIslandValuesServer
3
+ } from "../chunk-2NXO5SBY.mjs";
4
+ import {
5
+ __name
6
+ } from "../chunk-LPEX4YW6.mjs";
7
+
8
+ // src/client/islands-runtime.ts
9
+ import { enhanceForms, setActionNavigator } from "@farm.js/islx/client";
10
+ import { isolateIslands, renderServerTree, withinClientRoot } from "@farm.js/islx/react";
11
+ import {
12
+ createHydrationRuntime,
13
+ createServerHtml,
14
+ createServerTreeElement
15
+ } from "@farm.js/islx/react/client";
16
+ function createFarmIsolatedHydrationRuntime(options) {
17
+ const runtime = createHydrationRuntime({
18
+ load: options.load,
19
+ schedule: options.schedule,
20
+ wrap: options.wrap,
21
+ report: options.report
22
+ });
23
+ const router = /* @__PURE__ */ __name(() => window.__FARM_SPA_ROUTER__, "router");
24
+ setActionNavigator({
25
+ refresh: /* @__PURE__ */ __name(() => router()?.refresh?.({ scroll: false }), "refresh"),
26
+ navigate: /* @__PURE__ */ __name((href) => {
27
+ const current = router();
28
+ return current?.navigate ? current.navigate(href) : location.assign(href);
29
+ }, "navigate")
30
+ });
31
+ enhanceForms();
32
+ return {
33
+ hydrate: runtime.hydrate,
34
+ carryOver: runtime.carryOver,
35
+ updateModule: runtime.update,
36
+ dispose: runtime.dispose,
37
+ rootCount: runtime.rootCount
38
+ };
39
+ }
40
+ __name(createFarmIsolatedHydrationRuntime, "createFarmIsolatedHydrationRuntime");
41
+ function createFarmServerPageBoundary(_React, runtime) {
42
+ return createServerHtml(runtime);
43
+ }
44
+ __name(createFarmServerPageBoundary, "createFarmServerPageBoundary");
45
+ function wrapFarmIsolatedClientGraph(_React, element) {
46
+ return withinClientRoot(element);
47
+ }
48
+ __name(wrapFarmIsolatedClientGraph, "wrapFarmIsolatedClientGraph");
49
+ function isolateFarmServerPageGraph(_React, element) {
50
+ return isolateIslands(element);
51
+ }
52
+ __name(isolateFarmServerPageGraph, "isolateFarmServerPageGraph");
53
+ function renderFarmServerTreePage(_React, element, options) {
54
+ return renderServerTree(element, {
55
+ isolate: options.isolate,
56
+ payloadOnly: options.payloadOnly,
57
+ // The values this request's browser holds (Farm's request store).
58
+ held: getFarmIslandValuesServer()?.held() ?? null
59
+ });
60
+ }
61
+ __name(renderFarmServerTreePage, "renderFarmServerTreePage");
62
+ function createFarmServerTreeElement(_React, source, options) {
63
+ return createServerTreeElement(source, {
64
+ load: options.load,
65
+ ServerHtml: options.ServerHtml,
66
+ key: options.key
67
+ });
68
+ }
69
+ __name(createFarmServerTreeElement, "createFarmServerTreeElement");
70
+ export {
71
+ createFarmIsolatedHydrationRuntime,
72
+ createFarmServerPageBoundary,
73
+ createFarmServerTreeElement,
74
+ isolateFarmServerPageGraph,
75
+ renderFarmServerTreePage,
76
+ wrapFarmIsolatedClientGraph
77
+ };
@@ -0,0 +1,19 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkAPDGOKKEcjs = require('../chunk-APDGOKKE.cjs');
4
+ require('../chunk-YKUEJ3MG.cjs');
5
+ require('../chunk-H7BLEEAE.cjs');
6
+ require('../chunk-6IZWX6ES.cjs');
7
+
8
+
9
+ var _chunkS3JO3N4Hcjs = require('../chunk-S3JO3N4H.cjs');
10
+
11
+ // src/client/islands-server.ts
12
+ var _server = require('@farm.js/islx/react/server');
13
+ function installFarmIslandsServer() {
14
+ _server.setRenderStateResolver.call(void 0, _chunkAPDGOKKEcjs.resolveFarmIslandRenderState);
15
+ }
16
+ _chunkS3JO3N4Hcjs.__name.call(void 0, installFarmIslandsServer, "installFarmIslandsServer");
17
+
18
+
19
+ exports.installFarmIslandsServer = installFarmIslandsServer;
@@ -0,0 +1,3 @@
1
+ declare function installFarmIslandsServer(): void;
2
+
3
+ export { installFarmIslandsServer };
@@ -0,0 +1,3 @@
1
+ declare function installFarmIslandsServer(): void;
2
+
3
+ export { installFarmIslandsServer };
@@ -0,0 +1,19 @@
1
+ import {
2
+ resolveFarmIslandRenderState
3
+ } from "../chunk-D5RFPV2H.mjs";
4
+ import "../chunk-PJEHUSHA.mjs";
5
+ import "../chunk-2NXO5SBY.mjs";
6
+ import "../chunk-6LVRDOAW.mjs";
7
+ import {
8
+ __name
9
+ } from "../chunk-LPEX4YW6.mjs";
10
+
11
+ // src/client/islands-server.ts
12
+ import { setRenderStateResolver } from "@farm.js/islx/react/server";
13
+ function installFarmIslandsServer() {
14
+ setRenderStateResolver(resolveFarmIslandRenderState);
15
+ }
16
+ __name(installFarmIslandsServer, "installFarmIslandsServer");
17
+ export {
18
+ installFarmIslandsServer
19
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); }require('../chunk-S3JO3N4H.cjs');
2
+
3
+ // src/islx/client.ts
4
+ var _client = require('@farm.js/islx/client'); _createStarExport(_client);
5
+ var _client3 = require('@farm.js/islx/react/client'); _createStarExport(_client3);
@@ -0,0 +1,2 @@
1
+ export * from '@farm.js/islx/client';
2
+ export * from '@farm.js/islx/react/client';
@@ -0,0 +1,2 @@
1
+ export * from '@farm.js/islx/client';
2
+ export * from '@farm.js/islx/react/client';
@@ -0,0 +1,3 @@
1
+ // src/islx/client.ts
2
+ export * from "@farm.js/islx/client";
3
+ export * from "@farm.js/islx/react/client";
@@ -0,0 +1,4 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); }require('../chunk-S3JO3N4H.cjs');
2
+
3
+ // src/islx/react.ts
4
+ var _react = require('@farm.js/islx/react'); _createStarExport(_react);
@@ -0,0 +1 @@
1
+ export * from '@farm.js/islx/react';
@@ -0,0 +1 @@
1
+ export * from '@farm.js/islx/react';
@@ -0,0 +1,2 @@
1
+ // src/islx/react.ts
2
+ export * from "@farm.js/islx/react";
@@ -0,0 +1,5 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); }require('../chunk-S3JO3N4H.cjs');
2
+
3
+ // src/islx/server.ts
4
+ var _server = require('@farm.js/islx/server'); _createStarExport(_server);
5
+ var _server3 = require('@farm.js/islx/react/server'); _createStarExport(_server3);
@@ -0,0 +1,2 @@
1
+ export * from '@farm.js/islx/server';
2
+ export * from '@farm.js/islx/react/server';
@@ -0,0 +1,2 @@
1
+ export * from '@farm.js/islx/server';
2
+ export * from '@farm.js/islx/react/server';
@@ -0,0 +1,3 @@
1
+ // src/islx/server.ts
2
+ export * from "@farm.js/islx/server";
3
+ export * from "@farm.js/islx/react/server";
@@ -4,8 +4,9 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkECKF2BAMcjs = require('../chunk-ECKF2BAM.cjs');
8
- require('../chunk-WWFTAUFG.cjs');
7
+ var _chunk2GVF3C2Fcjs = require('../chunk-2GVF3C2F.cjs');
8
+ require('../chunk-SBH2JLLF.cjs');
9
+ require('../chunk-H7BLEEAE.cjs');
9
10
  require('../chunk-S3JO3N4H.cjs');
10
11
 
11
12
 
@@ -13,4 +14,4 @@ require('../chunk-S3JO3N4H.cjs');
13
14
 
14
15
 
15
16
 
16
- exports.createFarmIsolatedClientBoundary = _chunkECKF2BAMcjs.createFarmIsolatedClientBoundary; exports.createFarmIsolatedHydrationRuntime = _chunkECKF2BAMcjs.createFarmIsolatedHydrationRuntime; exports.createFarmServerPageBoundary = _chunkECKF2BAMcjs.createFarmServerPageBoundary; exports.isolateFarmServerPageGraph = _chunkECKF2BAMcjs.isolateFarmServerPageGraph; exports.wrapFarmIsolatedClientGraph = _chunkECKF2BAMcjs.wrapFarmIsolatedClientGraph;
17
+ exports.createFarmIsolatedClientBoundary = _chunk2GVF3C2Fcjs.createFarmIsolatedClientBoundary; exports.createFarmIsolatedHydrationRuntime = _chunk2GVF3C2Fcjs.createFarmIsolatedHydrationRuntime; exports.createFarmServerPageBoundary = _chunk2GVF3C2Fcjs.createFarmServerPageBoundary; exports.isolateFarmServerPageGraph = _chunk2GVF3C2Fcjs.isolateFarmServerPageGraph; exports.wrapFarmIsolatedClientGraph = _chunk2GVF3C2Fcjs.wrapFarmIsolatedClientGraph;
@@ -1,6 +1,8 @@
1
1
  import React__default from 'react';
2
2
  import { F as FarmIslandStrategy } from '../island-CfGru1MO.mjs';
3
+ import { F as FarmIslandValueStore } from '../island-value-protocol-BRayRghM.mjs';
3
4
 
5
+ type FarmMarkerDecoder = (object: Record<string, unknown>, decodeChild: (value: unknown) => unknown) => unknown;
4
6
  /** @internal Keeps client-to-client imports inside one isolated React root. */
5
7
  declare function wrapFarmIsolatedClientGraph(ReactRuntime: typeof React__default, element: React__default.ReactNode): React__default.ReactElement;
6
8
  /**
@@ -9,7 +11,10 @@ declare function wrapFarmIsolatedClientGraph(ReactRuntime: typeof React__default
9
11
  * their own, not part of the layout's React tree.
10
12
  */
11
13
  declare function isolateFarmServerPageGraph(ReactRuntime: typeof React__default, element: React__default.ReactNode): React__default.ReactElement;
12
- declare function createFarmIsolatedClientBoundary(ReactRuntime: typeof React__default, Component: React__default.ComponentType<any>, moduleReference: string, exportName: string, islandStrategy: FarmIslandStrategy): React__default.ComponentType<any>;
14
+ declare function createFarmIsolatedClientBoundary(ReactRuntime: typeof React__default, Component: React__default.ComponentType<any>, moduleReference: string, exportName: string, islandStrategy: FarmIslandStrategy, boundaryOptions?: {
15
+ slots?: boolean;
16
+ values?: boolean;
17
+ }): React__default.ComponentType<any>;
13
18
  type FarmIsolatedRoot = {
14
19
  render(element: React__default.ReactNode): void;
15
20
  unmount(): void;
@@ -30,10 +35,17 @@ interface FarmIsolatedHydrationRuntimeOptions {
30
35
  }): Promise<unknown>;
31
36
  wrap?(element: React__default.ReactElement): React__default.ReactNode;
32
37
  report?(message: string, error?: unknown): void;
38
+ /** Islands mode's value store; other modes never send values, so they leave it out. */
39
+ values?: Pick<FarmIslandValueStore, "ingest" | "resolve">;
40
+ /** Islands mode: the function a server action reference in props stands for. */
41
+ actions?(id: string): (...args: unknown[]) => unknown;
42
+ /** Islands mode: decodes props JSON cannot hold (`decodeFarmTagged` in island-codec.ts). */
43
+ decode?: FarmMarkerDecoder;
33
44
  }
34
45
  /** @internal Shared development and production runtime for isolated React roots. */
35
46
  declare function createFarmIsolatedHydrationRuntime(options: FarmIsolatedHydrationRuntimeOptions): {
36
47
  hydrate: (scope?: ParentNode, signal?: AbortSignal) => Promise<void>;
48
+ carryOver: (current: ParentNode, next: ParentNode) => number;
37
49
  updateModule: (reference: string, module: Record<string, unknown>) => number;
38
50
  dispose: (scope: Node) => void;
39
51
  rootCount: () => number;
@@ -1,6 +1,8 @@
1
1
  import React__default from 'react';
2
2
  import { F as FarmIslandStrategy } from '../island-CfGru1MO.js';
3
+ import { F as FarmIslandValueStore } from '../island-value-protocol-BRayRghM.js';
3
4
 
5
+ type FarmMarkerDecoder = (object: Record<string, unknown>, decodeChild: (value: unknown) => unknown) => unknown;
4
6
  /** @internal Keeps client-to-client imports inside one isolated React root. */
5
7
  declare function wrapFarmIsolatedClientGraph(ReactRuntime: typeof React__default, element: React__default.ReactNode): React__default.ReactElement;
6
8
  /**
@@ -9,7 +11,10 @@ declare function wrapFarmIsolatedClientGraph(ReactRuntime: typeof React__default
9
11
  * their own, not part of the layout's React tree.
10
12
  */
11
13
  declare function isolateFarmServerPageGraph(ReactRuntime: typeof React__default, element: React__default.ReactNode): React__default.ReactElement;
12
- declare function createFarmIsolatedClientBoundary(ReactRuntime: typeof React__default, Component: React__default.ComponentType<any>, moduleReference: string, exportName: string, islandStrategy: FarmIslandStrategy): React__default.ComponentType<any>;
14
+ declare function createFarmIsolatedClientBoundary(ReactRuntime: typeof React__default, Component: React__default.ComponentType<any>, moduleReference: string, exportName: string, islandStrategy: FarmIslandStrategy, boundaryOptions?: {
15
+ slots?: boolean;
16
+ values?: boolean;
17
+ }): React__default.ComponentType<any>;
13
18
  type FarmIsolatedRoot = {
14
19
  render(element: React__default.ReactNode): void;
15
20
  unmount(): void;
@@ -30,10 +35,17 @@ interface FarmIsolatedHydrationRuntimeOptions {
30
35
  }): Promise<unknown>;
31
36
  wrap?(element: React__default.ReactElement): React__default.ReactNode;
32
37
  report?(message: string, error?: unknown): void;
38
+ /** Islands mode's value store; other modes never send values, so they leave it out. */
39
+ values?: Pick<FarmIslandValueStore, "ingest" | "resolve">;
40
+ /** Islands mode: the function a server action reference in props stands for. */
41
+ actions?(id: string): (...args: unknown[]) => unknown;
42
+ /** Islands mode: decodes props JSON cannot hold (`decodeFarmTagged` in island-codec.ts). */
43
+ decode?: FarmMarkerDecoder;
33
44
  }
34
45
  /** @internal Shared development and production runtime for isolated React roots. */
35
46
  declare function createFarmIsolatedHydrationRuntime(options: FarmIsolatedHydrationRuntimeOptions): {
36
47
  hydrate: (scope?: ParentNode, signal?: AbortSignal) => Promise<void>;
48
+ carryOver: (current: ParentNode, next: ParentNode) => number;
37
49
  updateModule: (reference: string, module: Record<string, unknown>) => number;
38
50
  dispose: (scope: Node) => void;
39
51
  rootCount: () => number;
@@ -4,8 +4,9 @@ import {
4
4
  createFarmServerPageBoundary,
5
5
  isolateFarmServerPageGraph,
6
6
  wrapFarmIsolatedClientGraph
7
- } from "../chunk-YWMZUGIS.mjs";
8
- import "../chunk-NRDBW4MP.mjs";
7
+ } from "../chunk-R3ZFQJEF.mjs";
8
+ import "../chunk-7IQQIPRZ.mjs";
9
+ import "../chunk-2NXO5SBY.mjs";
9
10
  import "../chunk-LPEX4YW6.mjs";
10
11
  export {
11
12
  createFarmIsolatedClientBoundary,
@@ -3,7 +3,7 @@
3
3
  var _chunkCXP5U3RWcjs = require('../chunk-CXP5U3RW.cjs');
4
4
 
5
5
 
6
- var _chunkEH3464KFcjs = require('../chunk-EH3464KF.cjs');
6
+ var _chunkYBDSTNMHcjs = require('../chunk-YBDSTNMH.cjs');
7
7
 
8
8
 
9
9
  var _chunkS3JO3N4Hcjs = require('../chunk-S3JO3N4H.cjs');
@@ -59,7 +59,7 @@ function createFarmProductionSiteReporter(options) {
59
59
  schemaVersion: FARM_PRODUCTION_SITE_TELEMETRY_SCHEMA_VERSION,
60
60
  eventType: FARM_PRODUCTION_SITE_ATTESTATION_EVENT_TYPE,
61
61
  packageName: FARM_PRODUCTION_SITE_TELEMETRY_PACKAGE_NAME,
62
- packageVersion: sanitizeDetail(_chunkEH3464KFcjs.FARM_VERSION, "unknown"),
62
+ packageVersion: sanitizeDetail(_chunkYBDSTNMHcjs.FARM_VERSION, "unknown"),
63
63
  renderer: sanitizeDetail(options.renderer, "custom"),
64
64
  deployTarget: sanitizeDetail(options.deployTarget, "custom")
65
65
  };
@@ -3,7 +3,7 @@ import {
3
3
  } from "../chunk-BOYNDCZL.mjs";
4
4
  import {
5
5
  FARM_VERSION
6
- } from "../chunk-VLPII2JJ.mjs";
6
+ } from "../chunk-YGZH4T2X.mjs";
7
7
  import {
8
8
  __name
9
9
  } from "../chunk-LPEX4YW6.mjs";