@farm.js/core 0.1.51-beta.2 → 0.1.60

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 (321) hide show
  1. package/dist/{agent-mcp-handler-WWCC4GLG.mjs → agent-mcp-handler-7QMX2LUY.mjs} +7 -7
  2. package/dist/agent-mcp-handler-OV4WRFBL.cjs +18 -0
  3. package/dist/{agent-mcp.d-Z5DuwrqW.d.mts → agent-mcp.d-C-2S9bnP.d.mts} +1 -1
  4. package/dist/{agent-mcp.d-CR5Ov83o.d.ts → agent-mcp.d-SIoCUP1I.d.ts} +1 -1
  5. package/dist/agent-runtime.cjs +5 -5
  6. package/dist/agent-runtime.d.mts +2 -2
  7. package/dist/agent-runtime.d.ts +2 -2
  8. package/dist/agent-runtime.mjs +4 -4
  9. package/dist/{analyzer-Z6TNEAET.mjs → analyzer-22BEYV7S.mjs} +126 -12
  10. package/dist/{analyzer-T76CN3S7.cjs → analyzer-LCSI3NSH.cjs} +132 -18
  11. package/dist/api/client.cjs +5 -4
  12. package/dist/api/client.d.mts +1 -1
  13. package/dist/api/client.d.ts +1 -1
  14. package/dist/api/client.mjs +3 -2
  15. package/dist/api/client.native.cjs +45 -0
  16. package/dist/api/client.native.d.mts +23 -0
  17. package/dist/api/client.native.d.ts +23 -0
  18. package/dist/api/client.native.mjs +45 -0
  19. package/dist/api/route-manager.cjs +7 -7
  20. package/dist/api/route-manager.d.mts +4 -4
  21. package/dist/api/route-manager.d.ts +4 -4
  22. package/dist/api/route-manager.mjs +6 -6
  23. package/dist/api/runtime.cjs +5 -5
  24. package/dist/api/runtime.d.mts +3 -3
  25. package/dist/api/runtime.d.ts +3 -3
  26. package/dist/api/runtime.mjs +4 -4
  27. package/dist/{api-client.d-CeA6tNA6.d.mts → api-client.d-BNLXNCXJ.d.mts} +1 -1
  28. package/dist/{api-client.d-BWcqZciH.d.ts → api-client.d-ddQBNGtu.d.ts} +1 -1
  29. package/dist/api.cjs +11 -11
  30. package/dist/api.d.mts +5 -5
  31. package/dist/api.d.ts +5 -5
  32. package/dist/api.mjs +10 -10
  33. package/dist/{app-manifest.d-CAHkOBFa.d.mts → app-manifest.d-DrSAHskY.d.mts} +1 -1
  34. package/dist/{app-manifest.d-DiWr_Jfx.d.ts → app-manifest.d-Tb3CJpL4.d.ts} +1 -1
  35. package/dist/app-markdown.cjs +7 -7
  36. package/dist/app-markdown.d.mts +3 -3
  37. package/dist/app-markdown.d.ts +3 -3
  38. package/dist/app-markdown.mjs +6 -6
  39. package/dist/{app.d-DmapqkbV.d.ts → app.d-CmWlYpZJ.d.ts} +9 -4
  40. package/dist/{app.d-BfgJCsTQ.d.mts → app.d-D6QQM_kk.d.mts} +9 -4
  41. package/dist/{chunk-SN5VSO3Q.mjs → chunk-25T5VXOE.mjs} +7 -9
  42. package/dist/{chunk-GUJTVM36.cjs → chunk-2FRLSDBT.cjs} +1 -1
  43. package/dist/{chunk-LM2YOGDK.mjs → chunk-2I6PUKWJ.mjs} +1 -1
  44. package/dist/{chunk-EIMK7D2D.mjs → chunk-2KTYMMWT.mjs} +34 -4
  45. package/dist/{chunk-B5BBTPJQ.cjs → chunk-2OF5RPVU.cjs} +14 -14
  46. package/dist/chunk-37PYUEK5.mjs +533 -0
  47. package/dist/chunk-3HLQTOVU.cjs +6 -0
  48. package/dist/{chunk-VSLM6BHX.cjs → chunk-3OJNNCDL.cjs} +9 -9
  49. package/dist/{chunk-X3JNB2TB.mjs → chunk-3PX4AIXO.mjs} +36 -5
  50. package/dist/{chunk-UQHIWZZ6.cjs → chunk-3TL3AH25.cjs} +12 -6
  51. package/dist/chunk-3YMLUNL2.cjs +251 -0
  52. package/dist/chunk-4JTQPOKO.cjs +137 -0
  53. package/dist/{chunk-QXPSWMUD.cjs → chunk-4P23B7DU.cjs} +5 -5
  54. package/dist/{chunk-YVJV7Q2X.mjs → chunk-55U5QIXQ.mjs} +1 -1
  55. package/dist/{chunk-5N7QAGEA.cjs → chunk-5JNUYGNF.cjs} +37 -7
  56. package/dist/{chunk-NJLTQR5P.cjs → chunk-6BJJYOFL.cjs} +7 -7
  57. package/dist/chunk-6UUH4N4J.mjs +251 -0
  58. package/dist/{chunk-2NHOYYUT.mjs → chunk-7H45IJWO.mjs} +2 -2
  59. package/dist/{chunk-NN3MOPSI.mjs → chunk-A2MN5PQJ.mjs} +7 -7
  60. package/dist/{chunk-KY32FWK7.mjs → chunk-BHJAYPYU.mjs} +2 -2
  61. package/dist/{chunk-VAHBCI6X.mjs → chunk-BQWBHWEW.mjs} +26 -1
  62. package/dist/{chunk-KJMWAUKE.mjs → chunk-C7GJDVN4.mjs} +1 -1
  63. package/dist/{chunk-OYNNA4DD.cjs → chunk-CBKRS3M4.cjs} +9 -9
  64. package/dist/{chunk-I2DQGS56.cjs → chunk-CBOEJ5Z4.cjs} +39 -41
  65. package/dist/{chunk-BOVGCUDZ.cjs → chunk-CI4UNQHO.cjs} +2 -2
  66. package/dist/{chunk-S5AQ7CAC.cjs → chunk-CNNBFGL5.cjs} +39 -14
  67. package/dist/chunk-D2X5MUF5.cjs +1457 -0
  68. package/dist/{chunk-LEIXUFJN.cjs → chunk-D4MRNBVF.cjs} +10 -9
  69. package/dist/{chunk-2KVDHNQS.mjs → chunk-D7LTCK3U.mjs} +2 -2
  70. package/dist/{chunk-J3LBO2O4.cjs → chunk-DPJ66FSI.cjs} +22 -22
  71. package/dist/{chunk-NYQSC4DX.cjs → chunk-DZPR2W6U.cjs} +5 -5
  72. package/dist/{chunk-GW4YUIHW.mjs → chunk-E72UD6ME.mjs} +1 -1
  73. package/dist/chunk-EFZGB7JC.cjs +114 -0
  74. package/dist/{chunk-XXXRRVY6.mjs → chunk-EGVC4LIG.mjs} +5 -5
  75. package/dist/{chunk-72NBDVWQ.mjs → chunk-EXUONJYV.mjs} +3 -3
  76. package/dist/{chunk-VS7EHLLW.mjs → chunk-EZ34EHQP.mjs} +1 -1
  77. package/dist/{chunk-FM2UEKS2.mjs → chunk-F6Y7ZAPQ.mjs} +2 -2
  78. package/dist/{chunk-LMFJCXDD.mjs → chunk-FN5UEC7I.mjs} +1 -1
  79. package/dist/{chunk-E6LTONL4.mjs → chunk-FORSVMEJ.mjs} +2 -2
  80. package/dist/{chunk-6CYQQQGR.mjs → chunk-HPWB57PZ.mjs} +1 -1
  81. package/dist/{chunk-Y2G5SJFB.mjs → chunk-IFHPDLIS.mjs} +1 -1
  82. package/dist/{chunk-GNJIYJMS.cjs → chunk-IFXSBJPN.cjs} +16 -16
  83. package/dist/{chunk-74Z5KX4A.mjs → chunk-ILMTRGBG.mjs} +309 -56
  84. package/dist/{chunk-NXBHYO7S.cjs → chunk-JBK7UJOI.cjs} +14 -11
  85. package/dist/chunk-JI5D7MXY.mjs +137 -0
  86. package/dist/{chunk-QXJADAQB.cjs → chunk-JIBEFLQ7.cjs} +6 -2
  87. package/dist/{chunk-LZ4SB57H.mjs → chunk-JPIUGDK4.mjs} +1 -1
  88. package/dist/{chunk-Y3N5BFRJ.mjs → chunk-JSDV2NUN.mjs} +1 -1
  89. package/dist/{chunk-IRSS4HS4.mjs → chunk-K3RU5MOR.mjs} +1 -1
  90. package/dist/chunk-KPOMS5RO.cjs +237 -0
  91. package/dist/{chunk-LAZK6UV7.mjs → chunk-KVW2M6PI.mjs} +1 -1
  92. package/dist/{chunk-5IONBVJY.cjs → chunk-LB3DPQP6.cjs} +22 -22
  93. package/dist/{chunk-CZ35L6PL.mjs → chunk-LJVNMGE3.mjs} +10 -4
  94. package/dist/chunk-LLZSYFOM.mjs +6 -0
  95. package/dist/{chunk-X2AMN2WV.cjs → chunk-LQNW3ABP.cjs} +10 -10
  96. package/dist/{chunk-6ONBZGVH.cjs → chunk-LRB5OVRT.cjs} +3 -3
  97. package/dist/{chunk-WJFFPXCV.cjs → chunk-LT4VAF5Z.cjs} +12 -10
  98. package/dist/{chunk-F6TLUMH7.mjs → chunk-M53MIIXY.mjs} +1 -1
  99. package/dist/{chunk-HIFIG6HL.cjs → chunk-MEQN6DDA.cjs} +5 -5
  100. package/dist/{chunk-XLRLSTJ6.cjs → chunk-MGKW5XZE.cjs} +7 -7
  101. package/dist/{chunk-B3GZAQSC.cjs → chunk-MHLNWRCJ.cjs} +3 -3
  102. package/dist/{chunk-5ENW27SL.mjs → chunk-MMK4MZUN.mjs} +1 -1
  103. package/dist/{chunk-DTU4PX7V.cjs → chunk-MTWXOEI4.cjs} +927 -629
  104. package/dist/chunk-NHD7BAKD.mjs +1457 -0
  105. package/dist/{chunk-NPQLMP7M.cjs → chunk-NQJDO7K7.cjs} +32 -31
  106. package/dist/{chunk-76GHW3WI.cjs → chunk-O27PLNQZ.cjs} +10 -10
  107. package/dist/{chunk-PIHKO25G.mjs → chunk-OM7WILES.mjs} +1 -1
  108. package/dist/{chunk-7UPCJDB5.mjs → chunk-PCXIJKPM.mjs} +8 -8
  109. package/dist/{chunk-IWFV5ZED.cjs → chunk-PMJSG4JS.cjs} +1 -1
  110. package/dist/{chunk-JATTVAHA.cjs → chunk-PRFNLQSP.cjs} +4 -4
  111. package/dist/{chunk-SBABQKPT.cjs → chunk-QAS7KE7J.cjs} +7 -7
  112. package/dist/chunk-QGOZLGVP.mjs +0 -0
  113. package/dist/{chunk-VQJYGZNX.cjs → chunk-QMNWKQL4.cjs} +1 -1
  114. package/dist/{chunk-XB24LZWI.cjs → chunk-QRX4JRBO.cjs} +3 -3
  115. package/dist/{chunk-LNM57D3H.cjs → chunk-R53QDV6T.cjs} +4 -4
  116. package/dist/{chunk-SUV6YO4Q.cjs → chunk-RAWWCDCT.cjs} +5 -5
  117. package/dist/{chunk-LJDIFIJ2.mjs → chunk-RPUJHJHE.mjs} +4 -4
  118. package/dist/{chunk-G2KTRMWA.mjs → chunk-RSEAX5MW.mjs} +4 -0
  119. package/dist/chunk-SJRCWF4Z.mjs +237 -0
  120. package/dist/{chunk-IBSAYAWB.mjs → chunk-SX7EECTS.mjs} +8 -5
  121. package/dist/{chunk-KBRZAYI7.mjs → chunk-T4TBK5NY.mjs} +2 -2
  122. package/dist/{chunk-4SSRBCBR.mjs → chunk-T7I62A4C.mjs} +619 -321
  123. package/dist/{chunk-E36C43IX.cjs → chunk-U4BJKNIR.cjs} +6 -6
  124. package/dist/{chunk-YU42A5MA.cjs → chunk-UDJY2ZGY.cjs} +533 -280
  125. package/dist/{chunk-SHS6KXOZ.mjs → chunk-UR25Z5Z6.mjs} +1 -1
  126. package/dist/{chunk-WZW6LEHM.cjs → chunk-UYSTTPYJ.cjs} +1590 -1019
  127. package/dist/{chunk-KRRZJ77U.mjs → chunk-UZZ6IEQP.mjs} +3 -3
  128. package/dist/{chunk-EKJYE4Y7.cjs → chunk-VGG74PSU.cjs} +25 -25
  129. package/dist/{chunk-CTM4SPB3.mjs → chunk-VPTWKOCY.mjs} +20 -19
  130. package/dist/{chunk-UN6N623E.mjs → chunk-VQJHT2ND.mjs} +2 -2
  131. package/dist/{chunk-SJ23LJ3N.cjs → chunk-VVTJTMGQ.cjs} +3 -3
  132. package/dist/{chunk-KHXAJ2KA.cjs → chunk-W2RZ73IU.cjs} +12 -12
  133. package/dist/{chunk-JWI5PUO2.mjs → chunk-W2ZXMMHA.mjs} +2 -1
  134. package/dist/{chunk-BLD5GVCG.mjs → chunk-W6QLRQ3V.mjs} +1 -1
  135. package/dist/{chunk-AV26KHTG.mjs → chunk-X2CZTWQA.mjs} +2 -2
  136. package/dist/chunk-XPIPMWY3.cjs +1 -0
  137. package/dist/chunk-XTG73QZA.cjs +533 -0
  138. package/dist/{chunk-XPMC4E2G.cjs → chunk-XVSBALOY.cjs} +3 -3
  139. package/dist/{chunk-XYL4HSVC.cjs → chunk-YI6FKTTN.cjs} +38 -7
  140. package/dist/{chunk-N77JBPLC.mjs → chunk-YSXTNSXS.mjs} +10 -8
  141. package/dist/{chunk-EHB77D5U.cjs → chunk-ZDAEHG2O.cjs} +3 -3
  142. package/dist/{chunk-PMKUU273.mjs → chunk-ZFUKPWFC.mjs} +1226 -655
  143. package/dist/{chunk-E73PGHSR.mjs → chunk-ZMHAFH4R.mjs} +8 -8
  144. package/dist/{chunk-ZOWNWHK6.cjs → chunk-ZNH6NR3H.cjs} +2 -2
  145. package/dist/chunk-ZNXTU4YH.mjs +114 -0
  146. package/dist/{chunk-PFV2KPDZ.cjs → chunk-ZOYKJBP5.cjs} +3 -3
  147. package/dist/{chunk-CECUDGXQ.cjs → chunk-ZP32GNJQ.cjs} +13 -13
  148. package/dist/{chunk-72D2NX77.mjs → chunk-ZZ2QKCKW.mjs} +1 -1
  149. package/dist/{client-plugins.d-Bx3FXpqm.d.mts → client-plugins.d-CgQQ-EAv.d.mts} +25 -4
  150. package/dist/{client-plugins.d-TiLbS5j4.d.ts → client-plugins.d-vXrbcfJ1.d.ts} +25 -4
  151. package/dist/client-plugins.d.mts +2 -2
  152. package/dist/client-plugins.d.ts +2 -2
  153. package/dist/client.cjs +9 -9
  154. package/dist/client.d.mts +9 -9
  155. package/dist/client.d.ts +9 -9
  156. package/dist/client.mjs +9 -9
  157. package/dist/{config.d-iRPI16ku.d.mts → config.d-DqZkLwef.d.mts} +146 -1
  158. package/dist/{config.d-iRPI16ku.d.ts → config.d-DqZkLwef.d.ts} +146 -1
  159. package/dist/config.d.mts +2 -2
  160. package/dist/config.d.ts +2 -2
  161. package/dist/cron.cjs +3 -3
  162. package/dist/cron.d.mts +10 -0
  163. package/dist/cron.d.ts +10 -0
  164. package/dist/cron.mjs +2 -2
  165. package/dist/desktop.d.mts +3 -3
  166. package/dist/desktop.d.ts +3 -3
  167. package/dist/{devtools-UQLDAOEI.mjs → devtools-KQZ6SRCJ.mjs} +16 -16
  168. package/dist/{devtools-6XWCZIGO.cjs → devtools-UF6JYHUN.cjs} +18 -18
  169. package/dist/docs.cjs +19 -19
  170. package/dist/docs.d.mts +3 -3
  171. package/dist/docs.d.ts +3 -3
  172. package/dist/docs.mjs +18 -18
  173. package/dist/index.cjs +99 -95
  174. package/dist/{index.d-yueUNipJ.d.ts → index.d-DlCELfhf.d.ts} +1 -1
  175. package/dist/{index.d-YxJ2AiDF.d.mts → index.d-Dmfb7Kb_.d.mts} +1 -1
  176. package/dist/index.d.mts +18 -18
  177. package/dist/index.d.ts +18 -18
  178. package/dist/index.mjs +139 -135
  179. package/dist/integrations.cjs +5 -5
  180. package/dist/integrations.d.mts +2 -2
  181. package/dist/integrations.d.ts +2 -2
  182. package/dist/integrations.mjs +4 -4
  183. package/dist/internal/app-markdown-runtime.cjs +6 -6
  184. package/dist/internal/app-markdown-runtime.d.mts +3 -3
  185. package/dist/internal/app-markdown-runtime.d.ts +3 -3
  186. package/dist/internal/app-markdown-runtime.mjs +5 -5
  187. package/dist/internal/build-runtime.cjs +52 -50
  188. package/dist/internal/build-runtime.d.mts +4 -4
  189. package/dist/internal/build-runtime.d.ts +4 -4
  190. package/dist/internal/build-runtime.mjs +51 -49
  191. package/dist/internal/cli-runtime.cjs +28 -28
  192. package/dist/internal/cli-runtime.mjs +28 -28
  193. package/dist/internal/client-error-overlay.cjs +4 -4
  194. package/dist/internal/client-error-overlay.mjs +1 -1
  195. package/dist/internal/client-runtime.cjs +20 -15
  196. package/dist/internal/client-runtime.d.mts +5 -5
  197. package/dist/internal/client-runtime.d.ts +5 -5
  198. package/dist/internal/client-runtime.mjs +8 -3
  199. package/dist/internal/compression-runtime.d.mts +2 -2
  200. package/dist/internal/compression-runtime.d.ts +2 -2
  201. package/dist/internal/config-runtime.cjs +18 -18
  202. package/dist/internal/config-runtime.d.mts +119 -7
  203. package/dist/internal/config-runtime.d.ts +119 -7
  204. package/dist/internal/config-runtime.mjs +17 -17
  205. package/dist/internal/infra-analytics-runtime.cjs +11 -11
  206. package/dist/internal/infra-analytics-runtime.mjs +9 -9
  207. package/dist/internal/islands-boot.cjs +211 -0
  208. package/dist/internal/islands-boot.d.mts +8 -0
  209. package/dist/internal/islands-boot.d.ts +8 -0
  210. package/dist/internal/islands-boot.mjs +211 -0
  211. package/dist/internal/product-telemetry-runtime.cjs +2 -2
  212. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  213. package/dist/internal/production-runtime.cjs +42 -28
  214. package/dist/internal/production-runtime.d.mts +50 -12
  215. package/dist/internal/production-runtime.d.ts +50 -12
  216. package/dist/internal/production-runtime.mjs +52 -38
  217. package/dist/markdown.cjs +7 -5
  218. package/dist/markdown.d.mts +2 -2
  219. package/dist/markdown.d.ts +2 -2
  220. package/dist/markdown.mjs +6 -4
  221. package/dist/middleware.cjs +10 -10
  222. package/dist/middleware.d.mts +4 -4
  223. package/dist/middleware.d.ts +4 -4
  224. package/dist/middleware.mjs +9 -9
  225. package/dist/mobile.d.mts +43 -5
  226. package/dist/mobile.d.ts +43 -5
  227. package/dist/modules-VHD7BELU.mjs +13 -0
  228. package/dist/modules-WT5D3AWY.cjs +13 -0
  229. package/dist/native-specs-BD7HOTMJ.mjs +15 -0
  230. package/dist/native-specs-IQQRJOOW.cjs +15 -0
  231. package/dist/native-tree-6G5O53O3.cjs +27 -0
  232. package/dist/native-tree-VWNW2MQ2.mjs +27 -0
  233. package/dist/native.cjs +87 -0
  234. package/dist/native.d.mts +72 -0
  235. package/dist/native.d.ts +72 -0
  236. package/dist/native.mjs +87 -0
  237. package/dist/{navigation-delegate.d-HnDXhlyP.d.mts → navigation-delegate.d-CnOTWOyi.d.mts} +1 -1
  238. package/dist/{navigation-delegate.d-BY1e_Xrh.d.ts → navigation-delegate.d-JXx40JzR.d.ts} +1 -1
  239. package/dist/navigation.cjs +5 -5
  240. package/dist/navigation.d.mts +5 -5
  241. package/dist/navigation.d.ts +5 -5
  242. package/dist/navigation.mjs +4 -4
  243. package/dist/{nitro-R444AF3O.mjs → nitro-FLN6DRGJ.mjs} +7 -7
  244. package/dist/{nitro-CK7M4RMY.cjs → nitro-HXAZZQKY.cjs} +12 -12
  245. package/dist/plugin.cjs +43 -42
  246. package/dist/plugin.d.mts +5 -4
  247. package/dist/plugin.d.ts +5 -4
  248. package/dist/plugin.mjs +42 -41
  249. package/dist/port-C6GBH4C6.cjs +419 -0
  250. package/dist/port-WOOQ3V56.mjs +419 -0
  251. package/dist/{production-runtime.d-BpJUDzP8.d.mts → production-runtime.d-CP5s6RuY.d.mts} +1 -1
  252. package/dist/{production-runtime.d-lMjvE9cf.d.ts → production-runtime.d-N-cE3pmy.d.ts} +1 -1
  253. package/dist/{programmatic-routes-client.d-BlFp5hv4.d.ts → programmatic-routes-client.d-CLG2N1yH.d.ts} +2 -2
  254. package/dist/{programmatic-routes-client.d-6CGQ3TCk.d.mts → programmatic-routes-client.d-CPbNqtIi.d.mts} +2 -2
  255. package/dist/query/client.cjs +6 -6
  256. package/dist/query/client.mjs +2 -2
  257. package/dist/{render-plan.d-DhP0mTHF.d.ts → render-plan.d-B9lAP3uX.d.ts} +1 -1
  258. package/dist/{render-plan.d-BH9edqKs.d.mts → render-plan.d-DZ-qjjdG.d.mts} +1 -1
  259. package/dist/renderer/react/server.cjs +2 -2
  260. package/dist/renderer/react/server.mjs +3 -3
  261. package/dist/renderer-client.cjs +6 -6
  262. package/dist/renderer-client.d.mts +5 -5
  263. package/dist/renderer-client.d.ts +5 -5
  264. package/dist/renderer-client.mjs +2 -2
  265. package/dist/{request.d-BVZrsR1v.d.ts → request.d-BiicaNxb.d.ts} +1 -1
  266. package/dist/{request.d-DJFRdKi8.d.mts → request.d-DV0oeUit.d.mts} +1 -1
  267. package/dist/request.d.mts +3 -3
  268. package/dist/request.d.ts +3 -3
  269. package/dist/{route-rendering.d-Bpmw7PED.d.mts → route-rendering.d-BrIKA51A.d.mts} +1 -1
  270. package/dist/{route-rendering.d-B00JtK_-.d.ts → route-rendering.d-Iss0C7GR.d.ts} +1 -1
  271. package/dist/{router.d-Bd1x9XxQ.d.ts → router.d-DjGn_al7.d.ts} +1 -1
  272. package/dist/{router.d-e0jQ3jQ-.d.mts → router.d-mNTbOGV_.d.mts} +1 -1
  273. package/dist/{routes.d-D96Dq9lz.d.ts → routes.d-BKSjHuH9.d.ts} +27 -4
  274. package/dist/{routes.d-Cmv8TgVq.d.mts → routes.d-qd8Qf4LG.d.mts} +27 -4
  275. package/dist/routes.d.mts +2 -2
  276. package/dist/routes.d.ts +2 -2
  277. package/dist/{rsc-pipeline-DX4OC5FN.cjs → rsc-pipeline-SVLBTY7H.cjs} +21 -21
  278. package/dist/{rsc-pipeline-ZQ4CTVEG.mjs → rsc-pipeline-WBLBDQXA.mjs} +20 -20
  279. package/dist/{runtime-NQ3EDSA7.cjs → runtime-DGUOWSMF.cjs} +307 -48
  280. package/dist/{runtime-NPDRDV6R.mjs → runtime-HFZTVNFF.mjs} +298 -39
  281. package/dist/{runtime.d-CgB3IJDq.d.mts → runtime.d-BNVbojF1.d.mts} +1 -1
  282. package/dist/{runtime.d-D-td-RR3.d.ts → runtime.d-Bm_4hP5T.d.ts} +1 -1
  283. package/dist/{schema-dev-notice-F6QYSOAI.mjs → schema-dev-notice-JMXEQWIQ.mjs} +3 -3
  284. package/dist/{schema-dev-notice-UU7DMZEU.cjs → schema-dev-notice-PLBFDTOF.cjs} +6 -6
  285. package/dist/server-fn-client.d.mts +1 -1
  286. package/dist/server-fn-client.d.ts +1 -1
  287. package/dist/server-plugins.cjs +1 -1
  288. package/dist/server-plugins.d.mts +3 -3
  289. package/dist/server-plugins.d.ts +3 -3
  290. package/dist/server-plugins.mjs +1 -1
  291. package/dist/server.cjs +82 -81
  292. package/dist/server.d.mts +12 -11
  293. package/dist/server.d.ts +12 -11
  294. package/dist/server.mjs +65 -64
  295. package/dist/session-2Q72D4QV.cjs +23 -0
  296. package/dist/{session-IGEDQ5PY.mjs → session-QZXZOPR2.mjs} +2 -2
  297. package/dist/shell-render.d-CG6bPiiA.d.mts +41 -0
  298. package/dist/shell-render.d-CG6bPiiA.d.ts +41 -0
  299. package/dist/{spa-router.d-CO01mVOM.d.ts → spa-router.d-DAtnNoBe.d.ts} +11 -2
  300. package/dist/{spa-router.d-BWDhS0FK.d.mts → spa-router.d-DHDoXxDE.d.mts} +11 -2
  301. package/dist/testing.cjs +7 -7
  302. package/dist/testing.d.mts +2 -2
  303. package/dist/testing.d.ts +2 -2
  304. package/dist/testing.mjs +6 -6
  305. package/dist/{utils.d-B77__yh8.d.ts → utils.d-DwZ-KLSB.d.ts} +7 -1
  306. package/dist/{utils.d-DRDazhCA.d.mts → utils.d-uKZcKJk4.d.mts} +7 -1
  307. package/dist/version.cjs +2 -2
  308. package/dist/version.mjs +1 -1
  309. package/dist/vite.cjs +43 -42
  310. package/dist/vite.d.mts +17 -6
  311. package/dist/vite.d.ts +17 -6
  312. package/dist/vite.mjs +42 -41
  313. package/dist/workflows.cjs +3 -3
  314. package/dist/workflows.mjs +2 -2
  315. package/package.json +17 -3
  316. package/dist/agent-mcp-handler-RT3COCEL.cjs +0 -18
  317. package/dist/session-AAU7RNRO.cjs +0 -23
  318. package/dist/{chunk-7FVVQEVL.cjs → chunk-4BS3HSY7.cjs} +2 -2
  319. package/dist/{chunk-N7JQXQAV.cjs → chunk-5OJVKXFV.cjs} +2 -2
  320. package/dist/{chunk-WSDKXV4E.mjs → chunk-72KABRWN.mjs} +4 -4
  321. package/dist/{chunk-C3BOESDW.mjs → chunk-B4CWYGCG.mjs} +3 -3
@@ -0,0 +1,419 @@
1
+ import {
2
+ cascadeFarmNativeStylesheetsForElement,
3
+ createFarmNativeTheme,
4
+ farmNativeClassProblem,
5
+ inspectFarmNativeStylesheets,
6
+ parseFarmNativeStylesheet,
7
+ resolveFarmNativeClasses
8
+ } from "./chunk-NHD7BAKD.mjs";
9
+ import "./chunk-Y6FXYEAI.mjs";
10
+
11
+ // src/mobile/port.ts
12
+ import { readFileSync } from "fs";
13
+ import path from "path";
14
+ var DOM_TAGS = new Set(
15
+ "div section main article header footer nav aside figure hr p h1 h2 h3 h4 h5 h6 span strong em b i small code label br a button input textarea img ul ol li".split(" ")
16
+ );
17
+ var DOM_PROPS = new Set(
18
+ "key style href src alt width height value defaultValue placeholder type disabled readOnly autoFocus maxLength rows name id title role htmlFor target rel tabIndex lang dir onClick onChange onInput onFocus onBlur onLoad onError".split(" ")
19
+ );
20
+ var REACT_NAMES = new Set(
21
+ "default Fragment StrictMode memo forwardRef useState useReducer useMemo useCallback useEffect useRef useId useTransition useDeferredValue startTransition".split(" ")
22
+ );
23
+ var PURE_PACKAGES = /* @__PURE__ */ new Set([
24
+ "zod",
25
+ "valibot",
26
+ "date-fns",
27
+ "dayjs",
28
+ "lodash",
29
+ "lodash-es",
30
+ "nanoid",
31
+ "uuid",
32
+ "clsx",
33
+ "classnames",
34
+ "tailwind-merge",
35
+ "zustand",
36
+ "jotai",
37
+ "immer"
38
+ ]);
39
+ var CORE_LINK = /* @__PURE__ */ new Set(["@farm.js/core", "@farm.js/core/client"]);
40
+ var SCRIPT = /\.(?:tsx|ts|jsx|js|mjs)$/;
41
+ function packageName(specifier) {
42
+ const parts = specifier.split("/");
43
+ return specifier.startsWith("@") ? parts.slice(0, 2).join("/") : parts[0];
44
+ }
45
+ function posix(file) {
46
+ return file.split(path.sep).join("/");
47
+ }
48
+ function withoutExtension(file) {
49
+ return file.replace(SCRIPT, "");
50
+ }
51
+ function specifierBetween(fromFile, toFile) {
52
+ const relative = posix(path.relative(path.dirname(fromFile), withoutExtension(toFile)));
53
+ return relative.startsWith(".") ? relative : `./${relative}`;
54
+ }
55
+ function walk(node, visit) {
56
+ if (Array.isArray(node)) {
57
+ for (const child of node) walk(child, visit);
58
+ return;
59
+ }
60
+ if (!node || typeof node !== "object") return;
61
+ const current = node;
62
+ if (typeof current.type === "string") visit(current);
63
+ for (const [key, value] of Object.entries(current)) {
64
+ if (key !== "type" && key !== "start" && key !== "end" && value && typeof value === "object") {
65
+ walk(value, visit);
66
+ }
67
+ }
68
+ }
69
+ function hasJsx(program) {
70
+ let found = false;
71
+ walk(program, (node) => {
72
+ if (node.type === "JSXElement" || node.type === "JSXFragment") found = true;
73
+ });
74
+ return found;
75
+ }
76
+ function staticString(value) {
77
+ if (!value) return void 0;
78
+ if ((value.type === "Literal" || value.type === "StringLiteral") && typeof value.value === "string") {
79
+ return value.value;
80
+ }
81
+ if (value.type === "JSXExpressionContainer") return staticString(value.expression);
82
+ if (value.type === "TemplateLiteral" && value.expressions.length === 0) {
83
+ return value.quasis.map((quasi) => quasi.value.cooked).join("");
84
+ }
85
+ return void 0;
86
+ }
87
+ function lineColumn(source, offset) {
88
+ const before = source.slice(0, offset).split("\n");
89
+ return `${before.length}:${before.at(-1).length + 1}`;
90
+ }
91
+ async function emitFarmMobilePort(options) {
92
+ const { root, graph, portsDir } = options;
93
+ const read = options.readFile ?? ((file) => readFileSync(file, "utf8"));
94
+ const { parseSync } = await import("rolldown/utils");
95
+ const problems = [];
96
+ const copyOf = (file) => path.join(portsDir, path.relative(root, file));
97
+ const parsed = /* @__PURE__ */ new Map();
98
+ for (const module of graph.modules) {
99
+ const source = read(module.file);
100
+ const lang = module.file.endsWith(".tsx") ? "tsx" : module.file.endsWith(".ts") ? "ts" : "jsx";
101
+ parsed.set(module.file, { source, program: parseSync(module.file, source, { lang }).program });
102
+ }
103
+ const copied = new Set(
104
+ graph.modules.filter((module) => module.file === graph.page || hasJsx(parsed.get(module.file).program)).map((module) => module.file)
105
+ );
106
+ const files = {};
107
+ const tags = /* @__PURE__ */ new Set();
108
+ const classNames = [];
109
+ const outputs = [];
110
+ for (const module of graph.modules) {
111
+ const label = posix(path.relative(root, module.file));
112
+ if (module.serverBoundary) {
113
+ problems.push(`${label} defines server functions, which ports do not call yet`);
114
+ continue;
115
+ }
116
+ if (!copied.has(module.file)) continue;
117
+ const { source, program } = parsed.get(module.file);
118
+ const at = (node) => `${label}:${lineColumn(source, node.start)}`;
119
+ const edits = [];
120
+ const resolvedBySource = new Map(module.imports.map((entry2) => [entry2.source, entry2.file]));
121
+ const linkNames = /* @__PURE__ */ new Set();
122
+ const reactObjects = /* @__PURE__ */ new Set();
123
+ let usesDom = false;
124
+ const rewriteSource = (node, kind) => {
125
+ const specifier = node.value;
126
+ const target = resolvedBySource.get(specifier);
127
+ if (target) {
128
+ if (kind === "value" && !SCRIPT.test(target)) {
129
+ problems.push(`${at(node)} imports "${specifier}", an asset ports do not load yet`);
130
+ return;
131
+ }
132
+ const next = specifierBetween(
133
+ copyOf(module.file),
134
+ copied.has(target) ? copyOf(target) : target
135
+ );
136
+ edits.push({ start: node.start, end: node.end, text: JSON.stringify(next) });
137
+ return;
138
+ }
139
+ if (specifier.startsWith(".") || specifier.startsWith("/")) {
140
+ if (kind === "value") {
141
+ problems.push(`${at(node)} imports "${specifier}", an asset ports do not load yet`);
142
+ }
143
+ return;
144
+ }
145
+ if (kind === "type" || specifier === "react" || PURE_PACKAGES.has(packageName(specifier))) {
146
+ return;
147
+ }
148
+ if (!CORE_LINK.has(specifier)) {
149
+ problems.push(`${at(node)} imports "${specifier}", which ports do not map yet`);
150
+ }
151
+ };
152
+ for (const statement of program.body) {
153
+ if (statement.type === "ImportDeclaration") {
154
+ const typeOnly = statement.importKind === "type";
155
+ const specifier = statement.source.value;
156
+ if (!typeOnly && specifier === "react") {
157
+ for (const imported of statement.specifiers) {
158
+ if (imported.importKind === "type") continue;
159
+ if (imported.type !== "ImportSpecifier") reactObjects.add(imported.local.name);
160
+ const name = imported.type === "ImportSpecifier" ? imported.imported.name ?? imported.imported.value : "default";
161
+ if (!REACT_NAMES.has(name)) {
162
+ problems.push(
163
+ `${at(imported)} uses ${name} from "react", which ports do not support yet`
164
+ );
165
+ }
166
+ }
167
+ }
168
+ if (/\.css$/i.test(specifier)) {
169
+ if (statement.specifiers.length > 0) {
170
+ problems.push(`${at(statement)} imports CSS module names, which ports do not map yet`);
171
+ } else edits.push({ start: statement.start, end: statement.end, text: "" });
172
+ continue;
173
+ }
174
+ if (!typeOnly && CORE_LINK.has(specifier)) {
175
+ const values = statement.specifiers.filter(
176
+ (imported) => imported.importKind !== "type"
177
+ );
178
+ for (const imported of values) {
179
+ const name = imported.type === "ImportSpecifier" ? imported.imported.name : "default";
180
+ if (name === "Link") linkNames.add(imported.local.name);
181
+ else
182
+ problems.push(
183
+ `${at(imported)} uses ${name} from "${specifier}", which ports do not map yet`
184
+ );
185
+ }
186
+ const types = statement.specifiers.filter(
187
+ (imported) => imported.importKind === "type"
188
+ );
189
+ edits.push({
190
+ start: statement.start,
191
+ end: statement.end,
192
+ text: types.length === 0 ? "" : `import type { ${types.map(
193
+ (imported) => source.slice(imported.start, imported.end).replace(/^type\s+/, "")
194
+ ).join(", ")} } from ${JSON.stringify(specifier)};`
195
+ });
196
+ continue;
197
+ }
198
+ rewriteSource(statement.source, typeOnly ? "type" : "value");
199
+ } else if ((statement.type === "ExportNamedDeclaration" || statement.type === "ExportAllDeclaration") && statement.source) {
200
+ rewriteSource(statement.source, statement.exportKind === "type" ? "type" : "value");
201
+ }
202
+ }
203
+ walk(program, (node) => {
204
+ if (node.type === "MemberExpression" && node.object?.type === "Identifier" && reactObjects.has(node.object.name) && node.property?.type === "Identifier" && !REACT_NAMES.has(node.property.name)) {
205
+ problems.push(
206
+ `${at(node)} uses ${node.property.name} from "react", which ports do not support yet`
207
+ );
208
+ }
209
+ if (node.type === "ImportExpression") {
210
+ problems.push(`${at(node)} imports a module at runtime, which ports do not follow yet`);
211
+ }
212
+ if (node.type === "JSXOpeningElement" || node.type === "JSXClosingElement") {
213
+ const name = node.name;
214
+ if (name.type !== "JSXIdentifier") return;
215
+ const className = (tag) => {
216
+ if (node.type !== "JSXOpeningElement") return;
217
+ for (const attribute of node.attributes) {
218
+ if (attribute.type !== "JSXAttribute" || attribute.name.name !== "className") continue;
219
+ const classes = staticString(attribute.value);
220
+ if (classes === void 0) {
221
+ problems.push(`${at(attribute)} <${tag}> builds its class names at runtime`);
222
+ continue;
223
+ }
224
+ classNames.push({
225
+ edits,
226
+ attribute,
227
+ tag,
228
+ classes: classes.split(/\s+/).filter(Boolean),
229
+ at: at(attribute)
230
+ });
231
+ }
232
+ };
233
+ if (linkNames.has(name.name)) {
234
+ edits.push({ start: name.start, end: name.end, text: "__FarmLink" });
235
+ tags.add("a");
236
+ className("a");
237
+ return;
238
+ }
239
+ if (!/^[a-z]/.test(name.name)) return;
240
+ if (!DOM_TAGS.has(name.name)) {
241
+ if (node.type === "JSXOpeningElement") {
242
+ problems.push(`${at(node)} renders <${name.name}>, which ports do not draw yet`);
243
+ }
244
+ return;
245
+ }
246
+ usesDom = true;
247
+ tags.add(name.name);
248
+ edits.push({ start: name.start, end: name.end, text: `__FarmDom.${name.name}` });
249
+ if (node.type !== "JSXOpeningElement") return;
250
+ for (const attribute of node.attributes) {
251
+ if (attribute.type === "JSXSpreadAttribute") {
252
+ problems.push(`${at(attribute)} spreads props on <${name.name}>`);
253
+ continue;
254
+ }
255
+ const prop = attribute.name.type === "JSXNamespacedName" ? `${attribute.name.namespace.name}:${attribute.name.name.name}` : attribute.name.name;
256
+ if (prop !== "className" && !DOM_PROPS.has(prop) && !/^(?:aria|data)-/.test(prop)) {
257
+ problems.push(`${at(attribute)} <${name.name} ${prop}> has no port mapping yet`);
258
+ }
259
+ }
260
+ className(name.name);
261
+ }
262
+ });
263
+ if (linkNames.size > 0 || usesDom) {
264
+ const names = [
265
+ ...usesDom ? ["FarmDom as __FarmDom"] : [],
266
+ ...linkNames.size > 0 ? ["Link as __FarmLink"] : []
267
+ ];
268
+ const body = program.body;
269
+ const first = body.find(
270
+ (statement) => !(statement.type === "ExpressionStatement" && statement.directive)
271
+ );
272
+ edits.push({
273
+ start: first?.start ?? source.length,
274
+ end: first?.start ?? source.length,
275
+ text: `import { ${names.join(", ")} } from "@farm.js/native/elements";
276
+ `
277
+ });
278
+ }
279
+ outputs.push({
280
+ key: posix(path.relative(portsDir, copyOf(module.file))),
281
+ label,
282
+ source,
283
+ edits
284
+ });
285
+ }
286
+ const page = parsed.get(graph.page);
287
+ const hasDefault = page.program.body.some(
288
+ (statement) => statement.type === "ExportDefaultDeclaration"
289
+ );
290
+ if (!hasDefault) problems.push(`${posix(path.relative(root, graph.page))} has no default export`);
291
+ const sheets = [];
292
+ const themeDeclarations = [];
293
+ let tailwind = false;
294
+ for (const file of options.stylesheets ?? []) {
295
+ let css = read(file).replace(/\/\*[\s\S]*?\*\//g, "");
296
+ css = css.replace(/@import\s+(["'])tailwindcss\1[^;]*;/g, () => {
297
+ tailwind = true;
298
+ return "";
299
+ });
300
+ css = css.replace(/@source\b[^;]*;/g, "");
301
+ css = css.replace(/@theme\b[^{;]*\{([^{}]*)\}/g, (_block, body) => {
302
+ for (const match of body.matchAll(/(--[\w*-]+)\s*:\s*([^;]+);?/g)) {
303
+ themeDeclarations.push([match[1], match[2].trim()]);
304
+ }
305
+ return "";
306
+ });
307
+ const directive = /@(?:import|layer|tailwind|apply|theme|utility|plugin|config|custom-variant|variant|reference)\b/.exec(
308
+ css
309
+ );
310
+ if (directive) {
311
+ problems.push(
312
+ `${posix(path.relative(root, file))} uses ${directive[0]}, which ports do not read yet`
313
+ );
314
+ } else sheets.push(parseFarmNativeStylesheet(css));
315
+ }
316
+ for (const specifier of options.unreadStylesheets ?? []) {
317
+ problems.push(`the app imports "${specifier}", which ports cannot read as plain CSS`);
318
+ }
319
+ const sheet = {};
320
+ const rootVars = {
321
+ light: Object.assign(
322
+ {},
323
+ ...sheets.map((sheet2) => sheet2.vars.light),
324
+ Object.fromEntries(themeDeclarations)
325
+ ),
326
+ dark: Object.assign({}, ...sheets.map((sheet2) => sheet2.vars.dark))
327
+ };
328
+ const theme = themeDeclarations.length > 0 ? createFarmNativeTheme(themeDeclarations, rootVars) : void 0;
329
+ const contextClasses = /* @__PURE__ */ new Set([
330
+ ...graph.layoutClasses,
331
+ ...classNames.flatMap((entry2) => entry2.classes)
332
+ ]);
333
+ for (const { edits, attribute, tag, classes, at } of classNames) {
334
+ const utilities = [];
335
+ const appClasses = [];
336
+ for (const token of classes) {
337
+ const inTable = resolveFarmNativeClasses(token, theme).unsupported.length === 0;
338
+ const styled = inspectFarmNativeStylesheets(sheets, { class: token }).styled;
339
+ if (tailwind && inTable) utilities.push(token);
340
+ if (styled) appClasses.push(token);
341
+ else if (tailwind && !inTable) {
342
+ problems.push(
343
+ `${at} ${farmNativeClassProblem(token, theme) ?? `class "${token}" has no port style`}`
344
+ );
345
+ }
346
+ }
347
+ const tw = resolveFarmNativeClasses(utilities.join(" "), theme);
348
+ const css = cascadeFarmNativeStylesheetsForElement(
349
+ sheets,
350
+ { tag, classes: appClasses },
351
+ contextClasses
352
+ );
353
+ problems.push(...css.problems.map((message) => `${at} ${message}`));
354
+ const resolved = {
355
+ ...utilities.length > 0 ? { tw: { style: tw.style, ...tw.dark ? { dark: tw.dark } : {} } } : {},
356
+ css: {
357
+ style: css.style,
358
+ ...Object.keys(css.dark).length > 0 ? { dark: css.dark } : {},
359
+ ...css.inherit.length > 0 ? { inherit: css.inherit } : {}
360
+ }
361
+ };
362
+ edits.push({
363
+ start: attribute.start,
364
+ end: attribute.end,
365
+ text: `__farm={${JSON.stringify(resolved)}}`
366
+ });
367
+ }
368
+ for (const { key, label, source, edits } of outputs) {
369
+ let output = source;
370
+ for (const edit of edits.sort(
371
+ (left, right) => right.start - left.start || right.end - left.end
372
+ )) {
373
+ output = output.slice(0, edit.start) + edit.text + output.slice(edit.end);
374
+ }
375
+ files[key] = `// Generated by Farm from ${label} for its React Native port. Do not edit.
376
+ ${output}`;
377
+ }
378
+ for (const tag of ["html", "body", ...[...tags].sort()]) {
379
+ const cascaded = cascadeFarmNativeStylesheetsForElement(sheets, { tag }, contextClasses);
380
+ problems.push(...cascaded.problems);
381
+ const entry2 = {
382
+ ...Object.keys(cascaded.style).length > 0 ? { style: cascaded.style } : {},
383
+ ...Object.keys(cascaded.dark).length > 0 ? { dark: cascaded.dark } : {},
384
+ ...cascaded.inherit.length > 0 ? { inherit: cascaded.inherit } : {}
385
+ };
386
+ if (Object.keys(entry2).length > 0) sheet[tag] = entry2;
387
+ }
388
+ if (problems.length > 0) return { problems: [...new Set(problems)] };
389
+ const hasMetadata = page.program.body.some(
390
+ (statement) => statement.type === "ExportNamedDeclaration" && statement.declaration?.declarations?.some(
391
+ (declaration) => declaration.id?.name === "metadata"
392
+ )
393
+ );
394
+ const entry = `${options.module}.port.tsx`;
395
+ const pageImport = specifierBetween(path.join(portsDir, entry), copyOf(graph.page));
396
+ files[entry] = [
397
+ `// Generated by Farm: the React Native port of ${posix(path.relative(root, graph.page))}. Do not edit.`,
398
+ 'import { useRouteParams } from "@farm.js/native";',
399
+ 'import { FarmDomScreen } from "@farm.js/native/elements";',
400
+ `import Page from ${JSON.stringify(pageImport)};`,
401
+ ...hasMetadata ? [`export { metadata } from ${JSON.stringify(pageImport)};`] : [],
402
+ "",
403
+ "// The app's CSS for each element the page renders, light and dark.",
404
+ `const sheet = ${JSON.stringify(sheet)};`,
405
+ "",
406
+ "export default function FarmPort() {",
407
+ " return (",
408
+ ` <FarmDomScreen sheet={sheet}${tailwind ? " preflight" : ""}>`,
409
+ " <Page params={useRouteParams()} />",
410
+ " </FarmDomScreen>",
411
+ " );",
412
+ "}",
413
+ ""
414
+ ].join("\n");
415
+ return { port: { entry, files } };
416
+ }
417
+ export {
418
+ emitFarmMobilePort
419
+ };
@@ -1,4 +1,4 @@
1
- import { bi as ReadonlyMiddlewareStore, bj as FarmMiddlewareConfig, bk as MiddlewareModule, bl as MiddlewareConfig, bm as MiddlewareContext } from './client-plugins.d-Bx3FXpqm.mjs';
1
+ import { bi as ReadonlyMiddlewareStore, bj as FarmMiddlewareConfig, bk as MiddlewareModule, bl as MiddlewareConfig, bm as MiddlewareContext } from './client-plugins.d-CgQQ-EAv.mjs';
2
2
  import { R as ResolvedFarmI18nConfig } from './types.d-C41ePjvP.mjs';
3
3
  import { R as ResolvedFarmServerConfig } from './workflows.d-CRMzQZ3k.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- import { bi as ReadonlyMiddlewareStore, bj as FarmMiddlewareConfig, bk as MiddlewareModule, bl as MiddlewareConfig, bm as MiddlewareContext } from './client-plugins.d-TiLbS5j4.js';
1
+ import { bi as ReadonlyMiddlewareStore, bj as FarmMiddlewareConfig, bk as MiddlewareModule, bl as MiddlewareConfig, bm as MiddlewareContext } from './client-plugins.d-vXrbcfJ1.js';
2
2
  import { R as ResolvedFarmI18nConfig } from './types.d-C41ePjvP.js';
3
3
  import { R as ResolvedFarmServerConfig } from './workflows.d-CRMzQZ3k.js';
4
4
 
@@ -1,5 +1,5 @@
1
- import { R as RouteRenderingOptions, D as DirectiveRenderingConfig, a as RouteRenderingConfig } from './route-rendering.d-B00JtK_-.js';
2
- import { i as RouteModule, b6 as SSGCollectionResult, b7 as SSGPage } from './client-plugins.d-TiLbS5j4.js';
1
+ import { R as RouteRenderingOptions, D as DirectiveRenderingConfig, a as RouteRenderingConfig } from './route-rendering.d-Iss0C7GR.js';
2
+ import { i as RouteModule, b6 as SSGCollectionResult, b7 as SSGPage } from './client-plugins.d-vXrbcfJ1.js';
3
3
 
4
4
  /**
5
5
  * Farm.js SSG (Static Site Generation) Module
@@ -1,5 +1,5 @@
1
- import { R as RouteRenderingOptions, D as DirectiveRenderingConfig, a as RouteRenderingConfig } from './route-rendering.d-Bpmw7PED.mjs';
2
- import { i as RouteModule, b6 as SSGCollectionResult, b7 as SSGPage } from './client-plugins.d-Bx3FXpqm.mjs';
1
+ import { R as RouteRenderingOptions, D as DirectiveRenderingConfig, a as RouteRenderingConfig } from './route-rendering.d-BrIKA51A.mjs';
2
+ import { i as RouteModule, b6 as SSGCollectionResult, b7 as SSGPage } from './client-plugins.d-CgQQ-EAv.mjs';
3
3
 
4
4
  /**
5
5
  * Farm.js SSG (Static Site Generation) Module
@@ -18,9 +18,9 @@ var _chunkSXCL2MINcjs = require('../chunk-SXCL2MIN.cjs');
18
18
 
19
19
 
20
20
 
21
- var _chunkI2DQGS56cjs = require('../chunk-I2DQGS56.cjs');
21
+ var _chunkCBOEJ5Z4cjs = require('../chunk-CBOEJ5Z4.cjs');
22
22
  require('../chunk-RI3EVPKD.cjs');
23
- require('../chunk-QXJADAQB.cjs');
23
+ require('../chunk-JIBEFLQ7.cjs');
24
24
  require('../chunk-QQ44FYRO.cjs');
25
25
  require('../chunk-PENBZAHJ.cjs');
26
26
  require('../chunk-6IOZPJ3I.cjs');
@@ -210,7 +210,7 @@ var commitURLUpdate = (updates, options, emitUpdate) => {
210
210
  const currentUrl = url.pathname + url.search + url.hash;
211
211
  if (newUrl === currentUrl) return;
212
212
  const historyAction = history === "replaceState" ? "replace" : "push";
213
- if (!_chunkI2DQGS56cjs.writeFarmURLSearchHistory.call(void 0, historyAction, newUrl)) {
213
+ if (!_chunkCBOEJ5Z4cjs.writeFarmURLSearchHistory.call(void 0, historyAction, newUrl)) {
214
214
  const historyState = window.history.state;
215
215
  const nextHistoryState = historyState && typeof historyState === "object" && "path" in historyState ? { ...historyState, path: newUrl } : historyState;
216
216
  window.history[history](nextHistoryState, "", newUrl);
@@ -221,7 +221,7 @@ var commitURLUpdate = (updates, options, emitUpdate) => {
221
221
  }
222
222
  emitter.emitUpdate(getCurrentSearchParams());
223
223
  }
224
- if (shallow) _chunkI2DQGS56cjs.notifyHistoryChange.call(void 0, "url-search");
224
+ if (shallow) _chunkCBOEJ5Z4cjs.notifyHistoryChange.call(void 0, "url-search");
225
225
  if (scroll) {
226
226
  window.scrollTo(0, 0);
227
227
  }
@@ -305,7 +305,7 @@ function useQueryState(key, parser, options) {
305
305
  }
306
306
  };
307
307
  onPopState();
308
- const unsubscribeHistory = _chunkI2DQGS56cjs.subscribeHistoryChange.call(void 0, onPopState);
308
+ const unsubscribeHistory = _chunkCBOEJ5Z4cjs.subscribeHistoryChange.call(void 0, onPopState);
309
309
  emitter.on("update", onEmitterUpdate);
310
310
  emitter.onKey(key, onKeyUpdate);
311
311
  return () => {
@@ -398,7 +398,7 @@ function useQueryStates(parsers, options = {}) {
398
398
  applyChange2(searchParams);
399
399
  };
400
400
  applyChange2(getCurrentSearchParams());
401
- const unsubscribeHistory = _chunkI2DQGS56cjs.subscribeHistoryChange.call(void 0, onPopState);
401
+ const unsubscribeHistory = _chunkCBOEJ5Z4cjs.subscribeHistoryChange.call(void 0, onPopState);
402
402
  emitter.on("update", onEmitterUpdate);
403
403
  const unsubscribeKeys = Object.entries(parsers).map(([key, parser]) => {
404
404
  const onKeyUpdate = (payload) => {
@@ -18,9 +18,9 @@ import {
18
18
  notifyHistoryChange,
19
19
  subscribeHistoryChange,
20
20
  writeFarmURLSearchHistory
21
- } from "../chunk-SN5VSO3Q.mjs";
21
+ } from "../chunk-25T5VXOE.mjs";
22
22
  import "../chunk-PTLXHRJZ.mjs";
23
- import "../chunk-G2KTRMWA.mjs";
23
+ import "../chunk-RSEAX5MW.mjs";
24
24
  import "../chunk-NCIAP562.mjs";
25
25
  import "../chunk-H227LYHT.mjs";
26
26
  import "../chunk-S6O2L47H.mjs";
@@ -1,5 +1,5 @@
1
1
  import { F as FarmIslandStrategy } from './island.d-CfGru1MO.js';
2
- import './client-plugins.d-TiLbS5j4.js';
2
+ import './client-plugins.d-vXrbcfJ1.js';
3
3
 
4
4
  /**
5
5
  * A build-time rendering decision consumed by the browser router.
@@ -1,5 +1,5 @@
1
1
  import { F as FarmIslandStrategy } from './island.d-CfGru1MO.mjs';
2
- import './client-plugins.d-Bx3FXpqm.mjs';
2
+ import './client-plugins.d-CgQQ-EAv.mjs';
3
3
 
4
4
  /**
5
5
  * A build-time rendering decision consumed by the browser router.
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
+ var _chunk72KCTHLVcjs = require('../../chunk-72KCTHLV.cjs');
3
4
 
4
- var _chunkEGHPFXPZcjs = require('../../chunk-EGHPFXPZ.cjs');
5
5
 
6
6
 
7
- var _chunk72KCTHLVcjs = require('../../chunk-72KCTHLV.cjs');
7
+ var _chunkEGHPFXPZcjs = require('../../chunk-EGHPFXPZ.cjs');
8
8
  require('../../chunk-ATYTLVSI.cjs');
9
9
  require('../../chunk-CQL5ZGFU.cjs');
10
10
  require('../../chunk-BTZ5O6VM.cjs');
@@ -1,10 +1,10 @@
1
+ import {
2
+ renderFarmServerTreePage
3
+ } from "../../chunk-QGJ4FI2G.mjs";
1
4
  import {
2
5
  isolateFarmServerPageGraph,
3
6
  wrapFarmIsolatedClientGraph
4
7
  } from "../../chunk-SVCUSOEF.mjs";
5
- import {
6
- renderFarmServerTreePage
7
- } from "../../chunk-QGJ4FI2G.mjs";
8
8
  import "../../chunk-FHURJABM.mjs";
9
9
  import "../../chunk-NBIVGHAT.mjs";
10
10
  import "../../chunk-Y6FXYEAI.mjs";
@@ -23,14 +23,14 @@ var _chunk53EHWHT2cjs = require('./chunk-53EHWHT2.cjs');
23
23
 
24
24
 
25
25
 
26
- var _chunkI2DQGS56cjs = require('./chunk-I2DQGS56.cjs');
26
+ var _chunkCBOEJ5Z4cjs = require('./chunk-CBOEJ5Z4.cjs');
27
27
 
28
28
 
29
29
 
30
30
  var _chunkRI3EVPKDcjs = require('./chunk-RI3EVPKD.cjs');
31
31
 
32
32
 
33
- var _chunkQXJADAQBcjs = require('./chunk-QXJADAQB.cjs');
33
+ var _chunkJIBEFLQ7cjs = require('./chunk-JIBEFLQ7.cjs');
34
34
  require('./chunk-QQ44FYRO.cjs');
35
35
 
36
36
 
@@ -67,7 +67,7 @@ require('./chunk-BTZ5O6VM.cjs');
67
67
  function createRendererRouter(options = {}) {
68
68
  const basePath = options.basePath === void 0 ? _chunkD22BUQKWcjs.getFarmBasePath.call(void 0, ) : _chunkD22BUQKWcjs.normalizeFarmBasePath.call(void 0, options.basePath);
69
69
  const matcher = _optionalChain([options, 'access', _ => _.routes, 'optionalAccess', _2 => _2.length]) ? _chunk53EHWHT2cjs.createFarmRouter.call(void 0, [...options.routes]) : null;
70
- const router = _chunkI2DQGS56cjs.getRouter.call(void 0, );
70
+ const router = _chunkCBOEJ5Z4cjs.getRouter.call(void 0, );
71
71
  let snapshot = readRendererRouterSnapshot(basePath, matcher, router.getNavigationState());
72
72
  const read = () => {
73
73
  snapshot = readRendererRouterSnapshot(basePath, matcher, router.getNavigationState());
@@ -83,7 +83,7 @@ function createRendererRouter(options = {}) {
83
83
  listener();
84
84
  };
85
85
  const unsubscribeNavigation = router.subscribeNavigation(notify);
86
- const unsubscribeHistory = _chunkI2DQGS56cjs.subscribeHistoryChange.call(void 0, notify);
86
+ const unsubscribeHistory = _chunkCBOEJ5Z4cjs.subscribeHistoryChange.call(void 0, notify);
87
87
  read();
88
88
  return () => {
89
89
  unsubscribeNavigation();
@@ -314,7 +314,7 @@ function readRendererRouterSnapshot(basePath, matcher, navigation) {
314
314
  pathname,
315
315
  searchParams: url.searchParams,
316
316
  params: _optionalChain([matcher, 'optionalAccess', _20 => _20.match, 'call', _21 => _21(routePathname), 'optionalAccess', _22 => _22.params]) || {},
317
- pageState: _chunkI2DQGS56cjs.readPageState.call(void 0, ),
317
+ pageState: _chunkCBOEJ5Z4cjs.readPageState.call(void 0, ),
318
318
  navigation
319
319
  };
320
320
  }
@@ -344,4 +344,4 @@ function isRendererFormData(value) {
344
344
 
345
345
 
346
346
 
347
- exports.createRendererAction = createRendererAction; exports.createRendererI18n = createRendererI18n; exports.createRendererQuery = createRendererQuery; exports.createRendererRouter = createRendererRouter; exports.createRendererTheme = createRendererTheme; exports.delegateNavigation = _chunkQXJADAQBcjs.delegateNavigation;
347
+ exports.createRendererAction = createRendererAction; exports.createRendererI18n = createRendererI18n; exports.createRendererQuery = createRendererQuery; exports.createRendererRouter = createRendererRouter; exports.createRendererTheme = createRendererTheme; exports.delegateNavigation = _chunkJIBEFLQ7cjs.delegateNavigation;
@@ -1,13 +1,13 @@
1
1
  import { FarmRouterRouteInput } from './router.mjs';
2
- import { a as FarmNavigationState, b as FarmNavigateOptions } from './spa-router.d-BWDhS0FK.mjs';
2
+ import { a as FarmNavigationState, b as FarmNavigateOptions } from './spa-router.d-DHDoXxDE.mjs';
3
3
  import { F as FarmClientCacheStatus } from './client-cache.d-di_Nasxa.mjs';
4
4
  import { ServerFn } from './server-fn.mjs';
5
5
  import { ServerQuery } from './server-query.mjs';
6
6
  import { S as ServerQueryFetchOptions } from './server-query-runtime.d-aP52iuL5.mjs';
7
7
  import { F as FarmThemeSnapshot, a as FarmThemePreference } from './types.d-DQnyD3VD.mjs';
8
8
  import { a as FarmI18nClientSnapshot, d as FarmTranslator, c as FarmI18nLocale } from './types.d-C41ePjvP.mjs';
9
- export { F as FarmNavigationDelegate, a as FarmNavigationDelegateContext, d as delegateNavigation } from './navigation-delegate.d-HnDXhlyP.mjs';
10
- import './client-plugins.d-Bx3FXpqm.mjs';
9
+ export { F as FarmNavigationDelegate, a as FarmNavigationDelegateContext, d as delegateNavigation } from './navigation-delegate.d-CnOTWOyi.mjs';
10
+ import './client-plugins.d-CgQQ-EAv.mjs';
11
11
  import './lifecycle.d-C2aLBOwu.mjs';
12
12
  import './route.d-BaVH3V0w.mjs';
13
13
  import './endpoint.d-BkMSCRf6.mjs';
@@ -34,10 +34,10 @@ import './layers.d-CcS42OGR.mjs';
34
34
  import 'rolldown/utils';
35
35
  import 'rolldown';
36
36
  import './image-config.d-CeDgNyX4.mjs';
37
- import './config.d-iRPI16ku.mjs';
37
+ import './config.d-DqZkLwef.mjs';
38
38
  import './font.mjs';
39
39
  import './island.d-CfGru1MO.mjs';
40
- import './render-plan.d-BH9edqKs.mjs';
40
+ import './render-plan.d-DZ-qjjdG.mjs';
41
41
 
42
42
  interface FarmClientStore<TSnapshot> {
43
43
  getSnapshot(): TSnapshot;
@@ -1,13 +1,13 @@
1
1
  import { FarmRouterRouteInput } from './router.js';
2
- import { a as FarmNavigationState, b as FarmNavigateOptions } from './spa-router.d-CO01mVOM.js';
2
+ import { a as FarmNavigationState, b as FarmNavigateOptions } from './spa-router.d-DAtnNoBe.js';
3
3
  import { F as FarmClientCacheStatus } from './client-cache.d-Deoqq-nM.js';
4
4
  import { ServerFn } from './server-fn.js';
5
5
  import { ServerQuery } from './server-query.js';
6
6
  import { S as ServerQueryFetchOptions } from './server-query-runtime.d-DXRNhX_3.js';
7
7
  import { F as FarmThemeSnapshot, a as FarmThemePreference } from './types.d-DQnyD3VD.js';
8
8
  import { a as FarmI18nClientSnapshot, d as FarmTranslator, c as FarmI18nLocale } from './types.d-C41ePjvP.js';
9
- export { F as FarmNavigationDelegate, a as FarmNavigationDelegateContext, d as delegateNavigation } from './navigation-delegate.d-BY1e_Xrh.js';
10
- import './client-plugins.d-TiLbS5j4.js';
9
+ export { F as FarmNavigationDelegate, a as FarmNavigationDelegateContext, d as delegateNavigation } from './navigation-delegate.d-JXx40JzR.js';
10
+ import './client-plugins.d-vXrbcfJ1.js';
11
11
  import './lifecycle.d-C2aLBOwu.js';
12
12
  import './route.d-DBTEqifW.js';
13
13
  import './endpoint.d-BgHn0lhl.js';
@@ -34,10 +34,10 @@ import './layers.d-CcS42OGR.js';
34
34
  import 'rolldown/utils';
35
35
  import 'rolldown';
36
36
  import './image-config.d-CeDgNyX4.js';
37
- import './config.d-iRPI16ku.js';
37
+ import './config.d-DqZkLwef.js';
38
38
  import './font.js';
39
39
  import './island.d-CfGru1MO.js';
40
- import './render-plan.d-DhP0mTHF.js';
40
+ import './render-plan.d-B9lAP3uX.js';
41
41
 
42
42
  interface FarmClientStore<TSnapshot> {
43
43
  getSnapshot(): TSnapshot;