@farm.js/core 0.1.50 → 0.1.51-beta.1

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 (388) hide show
  1. package/README.md +163 -3
  2. package/dist/{agent-mcp-CIMH324y.d.mts → agent-mcp.d-BPzpKBHQ.d.mts} +1 -1
  3. package/dist/{agent-mcp-9BMbRgg_.d.ts → agent-mcp.d-ZuuNgrkQ.d.ts} +1 -1
  4. package/dist/agent-runtime.cjs +3 -3
  5. package/dist/agent-runtime.d.mts +13 -13
  6. package/dist/agent-runtime.d.ts +13 -13
  7. package/dist/agent-runtime.mjs +2 -2
  8. package/dist/{analyzer-CN7C74WX.cjs → analyzer-AZULAOPL.cjs} +2 -2
  9. package/dist/{analyzer-DDW34OMC.mjs → analyzer-V74FTD2F.mjs} +1 -1
  10. package/dist/api/client.d.mts +4 -4
  11. package/dist/api/client.d.ts +4 -4
  12. package/dist/api/route-manager.cjs +5 -5
  13. package/dist/api/route-manager.d.mts +19 -19
  14. package/dist/api/route-manager.d.ts +19 -19
  15. package/dist/api/route-manager.mjs +4 -4
  16. package/dist/api/runtime.d.mts +15 -15
  17. package/dist/api/runtime.d.ts +15 -15
  18. package/dist/{api-client-CvI5oOBE.d.ts → api-client.d-BWcqZciH.d.ts} +3 -3
  19. package/dist/{api-client-CFdv-Xgh.d.mts → api-client.d-CeA6tNA6.d.mts} +3 -3
  20. package/dist/api.cjs +7 -7
  21. package/dist/api.d.mts +21 -21
  22. package/dist/api.d.ts +21 -21
  23. package/dist/api.mjs +6 -6
  24. package/dist/{app-manifest-D0kaXdwu.d.ts → app-manifest.d-BJDcZn3W.d.mts} +1 -1
  25. package/dist/{app-manifest-CQDJOKL2.d.mts → app-manifest.d-HWhqbP2X.d.ts} +1 -1
  26. package/dist/app-markdown.d.mts +14 -14
  27. package/dist/app-markdown.d.ts +14 -14
  28. package/dist/{app-BWibTHVT.d.ts → app.d-B5EWdob-.d.ts} +12 -10
  29. package/dist/{app-DVJ13FPA.d.mts → app.d-DOGW1KI8.d.mts} +12 -10
  30. package/dist/base-path.d-BOUV5ozD.d.mts +10 -0
  31. package/dist/base-path.d-BOUV5ozD.d.ts +10 -0
  32. package/dist/{chunk-B5S2JS6M.cjs → chunk-2756SHCI.cjs} +372 -305
  33. package/dist/{chunk-RWT2BTJT.cjs → chunk-2IAPKPEB.cjs} +6 -6
  34. package/dist/{chunk-2G63BIRL.mjs → chunk-2KVDHNQS.mjs} +8 -11
  35. package/dist/{chunk-NJVFPJ2Y.cjs → chunk-3OWVWZ6R.cjs} +28 -2
  36. package/dist/{chunk-WVBUXNBX.mjs → chunk-5A5GAZ75.mjs} +296 -106
  37. package/dist/{chunk-GERUXONA.cjs → chunk-5A77OEIG.cjs} +4 -1
  38. package/dist/{chunk-4HBKBHVP.mjs → chunk-5ENW27SL.mjs} +1 -1
  39. package/dist/{chunk-FACTMUPI.cjs → chunk-5IONBVJY.cjs} +33 -22
  40. package/dist/{chunk-X2EL3BLH.cjs → chunk-5N7QAGEA.cjs} +36 -9
  41. package/dist/{chunk-DGOLAZLV.cjs → chunk-65Y5SIBH.cjs} +1 -1
  42. package/dist/{chunk-MTB57GOK.mjs → chunk-724WT3NI.mjs} +4 -2
  43. package/dist/{chunk-C73RIAEF.mjs → chunk-72NBDVWQ.mjs} +18 -7
  44. package/dist/{chunk-VCKGOXFI.cjs → chunk-76GHW3WI.cjs} +7 -1
  45. package/dist/{chunk-ZIBIE7AH.mjs → chunk-7UPCJDB5.mjs} +7 -1
  46. package/dist/{chunk-CPXDDWGL.mjs → chunk-AER5I65K.mjs} +1 -1
  47. package/dist/{chunk-RHOR2J6V.cjs → chunk-AGR7VJH2.cjs} +1 -1
  48. package/dist/{chunk-WB6XES4V.mjs → chunk-ALEUMLJN.mjs} +34 -5
  49. package/dist/{chunk-OD6WM3I7.mjs → chunk-AV26KHTG.mjs} +1 -1
  50. package/dist/{chunk-L6QDME5Z.cjs → chunk-B3GZAQSC.cjs} +3 -3
  51. package/dist/{chunk-ZLOQQ2UF.mjs → chunk-BSEKNTMS.mjs} +107 -40
  52. package/dist/{chunk-WAPQWAE6.cjs → chunk-CECUDGXQ.cjs} +9 -8
  53. package/dist/chunk-CKPTIEDX.cjs +12 -0
  54. package/dist/{chunk-IUQLRTTO.mjs → chunk-CO6UYM2D.mjs} +14 -1
  55. package/dist/{chunk-SHJJM6OG.mjs → chunk-CZ35L6PL.mjs} +9 -2
  56. package/dist/{chunk-EQMTJBB7.cjs → chunk-DZZHTMWM.cjs} +35 -6
  57. package/dist/{chunk-3ATXWZPH.cjs → chunk-E36C43IX.cjs} +13 -16
  58. package/dist/{chunk-J2ZEVDEK.cjs → chunk-EHB77D5U.cjs} +3 -3
  59. package/dist/{chunk-KO2NWUKN.mjs → chunk-EIMK7D2D.mjs} +33 -6
  60. package/dist/{chunk-CY7H5KS4.cjs → chunk-EKJYE4Y7.cjs} +2 -2
  61. package/dist/{chunk-2VCC3GVC.mjs → chunk-EOSFVNXZ.mjs} +1 -1
  62. package/dist/{chunk-IWJKJDNW.mjs → chunk-EWC76P5D.mjs} +53 -32
  63. package/dist/{chunk-WQGRD5BJ.cjs → chunk-EX6ZSN5P.cjs} +1 -16
  64. package/dist/{chunk-6QA2SXVH.cjs → chunk-FK25QSVC.cjs} +2 -1
  65. package/dist/{chunk-BW6SCVYX.mjs → chunk-FSQMN2MQ.mjs} +1 -0
  66. package/dist/{chunk-2H3FJYY6.mjs → chunk-FSXSQQTV.mjs} +3 -2
  67. package/dist/chunk-GNZIAJGB.mjs +358 -0
  68. package/dist/{chunk-TXK4D46O.mjs → chunk-H3ASZDT7.mjs} +21 -1
  69. package/dist/{chunk-B6PREBN6.cjs → chunk-HASX6DC7.cjs} +8 -8
  70. package/dist/{chunk-76R5GJER.mjs → chunk-I3EFXUAR.mjs} +60 -13
  71. package/dist/{chunk-HYN3LLG7.cjs → chunk-IFBINMI4.cjs} +3 -3
  72. package/dist/{chunk-CBJKDB6F.mjs → chunk-IRSS4HS4.mjs} +1 -1
  73. package/dist/{chunk-4T25YCZ5.cjs → chunk-JVBNKWLV.cjs} +81 -34
  74. package/dist/{chunk-VOZ5DI7D.mjs → chunk-JWI5PUO2.mjs} +6 -2
  75. package/dist/{chunk-YAXOEAND.cjs → chunk-KHXAJ2KA.cjs} +6 -6
  76. package/dist/{chunk-2DEPNLXK.mjs → chunk-KMB5BMFX.mjs} +122 -12
  77. package/dist/{chunk-M7LKA632.mjs → chunk-KU7MBLDZ.mjs} +1 -1
  78. package/dist/{chunk-WXHDVXJE.mjs → chunk-KY32FWK7.mjs} +2 -2
  79. package/dist/{chunk-EQWWOQTK.cjs → chunk-LEIXUFJN.cjs} +6 -2
  80. package/dist/{chunk-2GLQSIZD.mjs → chunk-LMFJCXDD.mjs} +1 -1
  81. package/dist/{chunk-IXSMFKZ2.cjs → chunk-LNM57D3H.cjs} +4 -4
  82. package/dist/{chunk-5V4KZOZO.mjs → chunk-LZ4SB57H.mjs} +2 -2
  83. package/dist/chunk-N4AQNEXR.cjs +17 -0
  84. package/dist/{chunk-J37KTQIA.cjs → chunk-NK2VWS7P.cjs} +52 -3
  85. package/dist/{chunk-X3HOVNHI.mjs → chunk-NN3MOPSI.mjs} +7 -7
  86. package/dist/{chunk-JZMZKABS.cjs → chunk-NWUHS6GV.cjs} +3 -2
  87. package/dist/{chunk-XLLVWLWO.mjs → chunk-PIHKO25G.mjs} +1 -1
  88. package/dist/chunk-PIUTGRDI.cjs +358 -0
  89. package/dist/{chunk-JJOWY3XD.mjs → chunk-QAIAFCRZ.mjs} +8 -6
  90. package/dist/{chunk-Q3UU2KXC.mjs → chunk-QMDU6QHN.mjs} +4 -1
  91. package/dist/{chunk-75WWOZ5C.mjs → chunk-QOSDWGKT.mjs} +1 -1
  92. package/dist/{chunk-GOOK2J2W.cjs → chunk-RMPNYUGT.cjs} +9 -7
  93. package/dist/{chunk-HWCHIBJZ.mjs → chunk-SCRC5AMM.mjs} +5 -5
  94. package/dist/{chunk-PXEXOQ5R.mjs → chunk-SHS6KXOZ.mjs} +1 -1
  95. package/dist/{chunk-ETF5C6HR.cjs → chunk-SJ23LJ3N.cjs} +3 -3
  96. package/dist/{chunk-JHXJBNLY.cjs → chunk-SUCDVKUB.cjs} +21 -1
  97. package/dist/{chunk-7ONZDKVY.mjs → chunk-T4EW7AAD.mjs} +2 -2
  98. package/dist/{chunk-F5LERVY3.cjs → chunk-TT66CP3P.cjs} +13 -13
  99. package/dist/{chunk-IUBDMDZZ.cjs → chunk-UQHIWZZ6.cjs} +15 -8
  100. package/dist/{chunk-LYWAGXXW.cjs → chunk-VITZRYW3.cjs} +131 -21
  101. package/dist/{chunk-XN2MB4QZ.cjs → chunk-VQJYGZNX.cjs} +4 -4
  102. package/dist/{chunk-KGP76FSV.mjs → chunk-VS7EHLLW.mjs} +1 -1
  103. package/dist/{chunk-5PKDHKQP.cjs → chunk-WFVSAT7Y.cjs} +6 -4
  104. package/dist/{chunk-UY6HS5PF.cjs → chunk-X2AMN2WV.cjs} +10 -10
  105. package/dist/{chunk-474FO3UE.cjs → chunk-X2M4XN4V.cjs} +213 -192
  106. package/dist/chunk-X3EFRVXY.mjs +12 -0
  107. package/dist/{chunk-UCQ52TJY.mjs → chunk-X3JNB2TB.mjs} +1 -1
  108. package/dist/{chunk-IQXGHGZF.cjs → chunk-XB24LZWI.cjs} +5 -5
  109. package/dist/{chunk-BNMHXVLL.mjs → chunk-XMHERKSE.mjs} +0 -15
  110. package/dist/{chunk-CGCJ2TJU.cjs → chunk-XPMC4E2G.cjs} +3 -3
  111. package/dist/{chunk-KZH6YLND.cjs → chunk-XY4DYGSU.cjs} +603 -413
  112. package/dist/{chunk-C7425KDG.cjs → chunk-XYL4HSVC.cjs} +2 -2
  113. package/dist/{chunk-HHFMECFO.mjs → chunk-Y2G5SJFB.mjs} +2 -1
  114. package/dist/{chunk-2SVJGOAX.mjs → chunk-Y3N5BFRJ.mjs} +3 -3
  115. package/dist/{chunk-Z5MZDFX4.cjs → chunk-YIHRZBD7.cjs} +14 -1
  116. package/dist/chunk-Z5A6CNV2.mjs +60 -0
  117. package/dist/chunk-Z64V4WZI.mjs +17 -0
  118. package/dist/{chunk-E2BMCNMJ.cjs → chunk-ZOWNWHK6.cjs} +2 -2
  119. package/dist/{chunk-C5JXCUKR.mjs → chunk-ZQ5BDNKW.mjs} +51 -2
  120. package/dist/client/lifecycle.d.mts +1 -1
  121. package/dist/client/lifecycle.d.ts +1 -1
  122. package/dist/{client-plugins-BPfltM5m.d.ts → client-plugins.d-C0n8Yhh-.d.ts} +60 -14
  123. package/dist/{client-plugins-D4RO59f0.d.mts → client-plugins.d-C_3CdALC.d.mts} +60 -14
  124. package/dist/client-plugins.d.mts +13 -13
  125. package/dist/client-plugins.d.ts +13 -13
  126. package/dist/client.cjs +5 -4
  127. package/dist/client.d.mts +24 -24
  128. package/dist/client.d.ts +24 -24
  129. package/dist/client.mjs +4 -3
  130. package/dist/config.d.mts +13 -13
  131. package/dist/config.d.ts +13 -13
  132. package/dist/cron.cjs +4 -4
  133. package/dist/cron.mjs +3 -3
  134. package/dist/desktop.d.mts +14 -14
  135. package/dist/desktop.d.ts +14 -14
  136. package/dist/{dev-guard-YLO5DE3H.cjs → dev-guard-2UW2KERP.cjs} +2 -2
  137. package/dist/{dev-guard-4PFQNXQX.mjs → dev-guard-ONNMVQUN.mjs} +1 -1
  138. package/dist/{devtools-STG7HPRV.mjs → devtools-BU5IT2PD.mjs} +8 -8
  139. package/dist/{devtools-N5XTOECL.cjs → devtools-KJFUE5FO.cjs} +10 -10
  140. package/dist/docs.cjs +14 -12
  141. package/dist/docs.d.mts +23 -15
  142. package/dist/docs.d.ts +23 -15
  143. package/dist/docs.mjs +13 -11
  144. package/dist/environment/vite.cjs +2 -2
  145. package/dist/environment/vite.d.mts +1 -1
  146. package/dist/environment/vite.d.ts +1 -1
  147. package/dist/environment/vite.mjs +1 -1
  148. package/dist/{generate-route-types-TF5Wwtvz.d.mts → generate-route-types.d-BL2pq6xC.d.ts} +1 -1
  149. package/dist/{generate-route-types-DQP0cUzk.d.ts → generate-route-types.d-BoVDU8qX.d.mts} +1 -1
  150. package/dist/i18n/client.d.mts +2 -2
  151. package/dist/i18n/client.d.ts +2 -2
  152. package/dist/i18n/index.d.mts +3 -3
  153. package/dist/i18n/index.d.ts +3 -3
  154. package/dist/i18n/server.d.mts +5 -5
  155. package/dist/i18n/server.d.ts +5 -5
  156. package/dist/image/server.d.mts +1 -1
  157. package/dist/image/server.d.ts +1 -1
  158. package/dist/image/sharp.d.mts +1 -1
  159. package/dist/image/sharp.d.ts +1 -1
  160. package/dist/image.d.mts +1 -1
  161. package/dist/image.d.ts +1 -1
  162. package/dist/index.cjs +48 -44
  163. package/dist/{index-C-N3Pwg-.d.ts → index.d-B6M_8kmo.d.ts} +2 -2
  164. package/dist/{index-D3l4tREW.d.ts → index.d-BNNDpql4.d.ts} +2 -2
  165. package/dist/{index-DPUAPho_.d.mts → index.d-BqcfqJvt.d.mts} +2 -2
  166. package/dist/{index-k8o8eUOd.d.mts → index.d-CsGxS-hZ.d.mts} +2 -2
  167. package/dist/index.d.mts +42 -42
  168. package/dist/index.d.ts +42 -42
  169. package/dist/index.mjs +47 -43
  170. package/dist/instrumentation.d.mts +2 -2
  171. package/dist/instrumentation.d.ts +2 -2
  172. package/dist/integrations.cjs +3 -3
  173. package/dist/integrations.d.mts +13 -13
  174. package/dist/integrations.d.ts +13 -13
  175. package/dist/integrations.mjs +2 -2
  176. package/dist/internal/app-markdown-runtime.d.mts +14 -14
  177. package/dist/internal/app-markdown-runtime.d.ts +14 -14
  178. package/dist/internal/build-runtime.cjs +36 -35
  179. package/dist/internal/build-runtime.d.mts +16 -16
  180. package/dist/internal/build-runtime.d.ts +16 -16
  181. package/dist/internal/build-runtime.mjs +35 -34
  182. package/dist/internal/cli-runtime.cjs +18 -18
  183. package/dist/internal/cli-runtime.mjs +17 -17
  184. package/dist/internal/client-error-overlay.cjs +4 -4
  185. package/dist/internal/client-error-overlay.mjs +1 -1
  186. package/dist/internal/client-runtime.cjs +4 -2
  187. package/dist/internal/client-runtime.d.mts +21 -21
  188. package/dist/internal/client-runtime.d.ts +21 -21
  189. package/dist/internal/client-runtime.mjs +3 -1
  190. package/dist/internal/compression-runtime.d.mts +13 -13
  191. package/dist/internal/compression-runtime.d.ts +13 -13
  192. package/dist/internal/config-runtime.cjs +10 -10
  193. package/dist/internal/config-runtime.d.mts +18 -18
  194. package/dist/internal/config-runtime.d.ts +18 -18
  195. package/dist/internal/config-runtime.mjs +9 -9
  196. package/dist/internal/form-actions.cjs +4 -3
  197. package/dist/internal/form-actions.d.mts +1 -1
  198. package/dist/internal/form-actions.d.ts +1 -1
  199. package/dist/internal/form-actions.mjs +3 -2
  200. package/dist/internal/infra-analytics-runtime.cjs +5 -5
  201. package/dist/internal/infra-analytics-runtime.mjs +3 -3
  202. package/dist/internal/island-value-store.d.mts +1 -1
  203. package/dist/internal/island-value-store.d.ts +1 -1
  204. package/dist/internal/islands-runtime.cjs +56 -0
  205. package/dist/internal/islands-runtime.d.mts +1 -1
  206. package/dist/internal/islands-runtime.d.ts +1 -1
  207. package/dist/internal/islands-runtime.mjs +57 -1
  208. package/dist/internal/isolated-boundary.d.mts +2 -2
  209. package/dist/internal/isolated-boundary.d.ts +2 -2
  210. package/dist/internal/product-telemetry-runtime.cjs +2 -2
  211. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  212. package/dist/internal/production-runtime.cjs +15 -8
  213. package/dist/internal/production-runtime.d.mts +46 -30
  214. package/dist/internal/production-runtime.d.ts +46 -30
  215. package/dist/internal/production-runtime.mjs +14 -7
  216. package/dist/internal/server-fn-transform.cjs +13 -0
  217. package/dist/internal/server-fn-transform.d.mts +24 -0
  218. package/dist/internal/server-fn-transform.d.ts +24 -0
  219. package/dist/internal/server-fn-transform.mjs +13 -0
  220. package/dist/internal/server-tree.d.mts +1 -1
  221. package/dist/internal/server-tree.d.ts +1 -1
  222. package/dist/markdown.d.mts +13 -13
  223. package/dist/markdown.d.ts +13 -13
  224. package/dist/middleware.cjs +8 -8
  225. package/dist/middleware.d.mts +15 -15
  226. package/dist/middleware.d.ts +15 -15
  227. package/dist/middleware.mjs +7 -7
  228. package/dist/mobile.d.mts +37 -10
  229. package/dist/mobile.d.ts +37 -10
  230. package/dist/{navigation-delegate-8xg3Zvp4.d.ts → navigation-delegate.d-C0BbdUgN.d.mts} +1 -1
  231. package/dist/{navigation-delegate-ji6elCKy.d.mts → navigation-delegate.d-jArRF0ZP.d.ts} +1 -1
  232. package/dist/navigation.d.mts +17 -17
  233. package/dist/navigation.d.ts +17 -17
  234. package/dist/{nitro-YPSZBYDK.cjs → nitro-CK7M4RMY.cjs} +11 -11
  235. package/dist/{nitro-2Q5NVY7L.mjs → nitro-R444AF3O.mjs} +7 -7
  236. package/dist/observability.d.mts +1 -1
  237. package/dist/observability.d.ts +1 -1
  238. package/dist/plugin.cjs +29 -27
  239. package/dist/plugin.d.mts +17 -17
  240. package/dist/plugin.d.ts +17 -17
  241. package/dist/plugin.mjs +28 -26
  242. package/dist/{production-runtime-TdKaYRj0.d.ts → production-runtime.d-DFaQ1qaV.d.mts} +3 -3
  243. package/dist/{production-runtime-DXnQQkQf.d.mts → production-runtime.d-UnXmSS_S.d.ts} +3 -3
  244. package/dist/{programmatic-routes-client-Dh1SDLSM.d.mts → programmatic-routes-client.d-BIowUXQC.d.mts} +10 -2
  245. package/dist/{programmatic-routes-client-BwiTndEC.d.ts → programmatic-routes-client.d-VZ0qcbH4.d.ts} +10 -2
  246. package/dist/query/client.d.mts +1 -1
  247. package/dist/query/client.d.ts +1 -1
  248. package/dist/query/index.d.mts +1 -1
  249. package/dist/query/index.d.ts +1 -1
  250. package/dist/query/server.d.mts +1 -1
  251. package/dist/query/server.d.ts +1 -1
  252. package/dist/{render-plan-BPbwRbuN.d.ts → render-plan.d-BB6KrYjP.d.ts} +2 -2
  253. package/dist/{render-plan-BvCGXF6K.d.mts → render-plan.d-BNeqyPyJ.d.mts} +2 -2
  254. package/dist/renderer-client.cjs +8 -6
  255. package/dist/renderer-client.d.mts +19 -19
  256. package/dist/renderer-client.d.ts +19 -19
  257. package/dist/renderer-client.mjs +4 -2
  258. package/dist/{request-C_xTkJib.d.mts → request.d-BV1munmx.d.mts} +1 -1
  259. package/dist/{request-B8PGTZNR.d.ts → request.d-Bxhghm76.d.ts} +1 -1
  260. package/dist/request.d.mts +14 -14
  261. package/dist/request.d.ts +14 -14
  262. package/dist/{resolver-CJ-D9nP-.d.ts → resolver.d-BHyZgpa7.d.ts} +1 -1
  263. package/dist/{resolver-TDyZKgKI.d.mts → resolver.d-JnZKKsc5.d.mts} +1 -1
  264. package/dist/response.d-BolW0Vx_.d.mts +10 -0
  265. package/dist/response.d-BolW0Vx_.d.ts +10 -0
  266. package/dist/{route-rendering-DlddURL1.d.mts → route-rendering.d-BIf7zE9d.d.ts} +1 -1
  267. package/dist/{route-rendering-RNtcj607.d.ts → route-rendering.d-DShqKlgK.d.mts} +1 -1
  268. package/dist/{route-DFhZj6jN.d.ts → route.d-BaVH3V0w.d.mts} +1 -1
  269. package/dist/{route-2_yXC6gv.d.mts → route.d-DBTEqifW.d.ts} +1 -1
  270. package/dist/{router-B97eB0Mq.d.mts → router.d-BE7i84fb.d.mts} +1 -1
  271. package/dist/{router-qUVaoEN8.d.ts → router.d-Bw3K3b0a.d.ts} +1 -1
  272. package/dist/routes.cjs +3 -2
  273. package/dist/{routes-8PT9cl60.d.ts → routes.d-DVZQL0-H.d.ts} +3 -3
  274. package/dist/{routes-kEUsXHx3.d.mts → routes.d-_5tBQexL.d.mts} +3 -3
  275. package/dist/routes.d.mts +14 -14
  276. package/dist/routes.d.ts +14 -14
  277. package/dist/routes.mjs +2 -1
  278. package/dist/{rsc-pipeline-T3775JUA.mjs → rsc-pipeline-FBM6NFYY.mjs} +13 -13
  279. package/dist/{rsc-pipeline-L4XOZ2TE.cjs → rsc-pipeline-IQI5XQLS.cjs} +14 -14
  280. package/dist/{runtime-HRSFC4ZC.mjs → runtime-2JYIDUON.mjs} +14 -14
  281. package/dist/{runtime-BIBGJO7V.cjs → runtime-DXEVFYLE.cjs} +16 -16
  282. package/dist/{runtime-CihDZ2Rn.d.mts → runtime.d-3iJAKptR.d.mts} +2 -2
  283. package/dist/{runtime-C4CmlOOh.d.ts → runtime.d-BtL3PCL3.d.ts} +2 -2
  284. package/dist/{runtime-C8GUnNeP.d.ts → runtime.d-CQgoYR0Q.d.mts} +4 -4
  285. package/dist/{runtime-CaDswfWi.d.mts → runtime.d-CfhaLPl-.d.ts} +4 -4
  286. package/dist/{schema-dev-notice-LZ5NXGLN.mjs → schema-dev-notice-F6QYSOAI.mjs} +2 -2
  287. package/dist/{schema-dev-notice-XV7GZ3QJ.cjs → schema-dev-notice-UU7DMZEU.cjs} +3 -3
  288. package/dist/{search-client-BTXL5XWD.mjs → search-client-OXH6GBNO.mjs} +5 -3
  289. package/dist/search-client-ZZLKVO5R.cjs +15 -0
  290. package/dist/server-action-security.cjs +2 -2
  291. package/dist/server-action-security.d.mts +1 -1
  292. package/dist/server-action-security.d.ts +1 -1
  293. package/dist/server-action-security.mjs +1 -1
  294. package/dist/server-fn-client.d.mts +5 -5
  295. package/dist/server-fn-client.d.ts +5 -5
  296. package/dist/server-fn.cjs +3 -3
  297. package/dist/server-fn.d.mts +3 -3
  298. package/dist/server-fn.d.ts +3 -3
  299. package/dist/server-fn.mjs +2 -2
  300. package/dist/server-plugins.d.mts +14 -14
  301. package/dist/server-plugins.d.ts +14 -14
  302. package/dist/server-query-client.cjs +4 -3
  303. package/dist/server-query-client.d.mts +5 -5
  304. package/dist/server-query-client.d.ts +5 -5
  305. package/dist/server-query-client.mjs +3 -2
  306. package/dist/server-query.cjs +4 -4
  307. package/dist/server-query.d.mts +2 -2
  308. package/dist/server-query.d.ts +2 -2
  309. package/dist/server-query.mjs +3 -3
  310. package/dist/server.cjs +64 -62
  311. package/dist/server.d.mts +28 -29
  312. package/dist/server.d.ts +28 -29
  313. package/dist/server.mjs +38 -36
  314. package/dist/{spa-router-Dlv5ofg0.d.mts → spa-router.d-C5opIgXg.d.ts} +5 -5
  315. package/dist/{spa-router-qapSboKz.d.ts → spa-router.d-D63jb6nX.d.mts} +5 -5
  316. package/dist/storage.d.mts +2 -2
  317. package/dist/storage.d.ts +2 -2
  318. package/dist/testing.cjs +12 -11
  319. package/dist/testing.d.mts +14 -14
  320. package/dist/testing.d.ts +14 -14
  321. package/dist/testing.mjs +9 -8
  322. package/dist/theme/client.d.mts +1 -1
  323. package/dist/theme/client.d.ts +1 -1
  324. package/dist/theme/index.d.mts +2 -2
  325. package/dist/theme/index.d.ts +2 -2
  326. package/dist/theme/runtime.d.mts +1 -1
  327. package/dist/theme/runtime.d.ts +1 -1
  328. package/dist/theme/server.d.mts +1 -1
  329. package/dist/theme/server.d.ts +1 -1
  330. package/dist/{utils-DyvlSxFk.d.mts → utils.d-CO-U4OVZ.d.mts} +1 -1
  331. package/dist/{utils-A-cYF81u.d.ts → utils.d-CkpTqTsC.d.ts} +1 -1
  332. package/dist/version.cjs +2 -2
  333. package/dist/version.mjs +1 -1
  334. package/dist/vite.cjs +29 -27
  335. package/dist/vite.d.mts +20 -19
  336. package/dist/vite.d.ts +20 -19
  337. package/dist/vite.mjs +28 -26
  338. package/dist/workflows.cjs +4 -4
  339. package/dist/workflows.d.mts +1 -1
  340. package/dist/workflows.d.ts +1 -1
  341. package/dist/workflows.mjs +3 -3
  342. package/package.json +10 -5
  343. package/dist/base-path-leyrqXbX.d.mts +0 -19
  344. package/dist/base-path-leyrqXbX.d.ts +0 -19
  345. package/dist/chunk-OTOOJIUB.mjs +0 -34
  346. package/dist/search-client-QCYAL6AY.cjs +0 -13
  347. /package/dist/{chunk-recovery-lnQFzcQP.d.mts → chunk-recovery.d-lnQFzcQP.d.mts} +0 -0
  348. /package/dist/{chunk-recovery-lnQFzcQP.d.ts → chunk-recovery.d-lnQFzcQP.d.ts} +0 -0
  349. /package/dist/{client-cache-Deoqq-nM.d.ts → client-cache.d-Deoqq-nM.d.ts} +0 -0
  350. /package/dist/{client-cache-di_Nasxa.d.mts → client-cache.d-di_Nasxa.d.mts} +0 -0
  351. /package/dist/{config-CnhyvvmT.d.mts → config.d-CnhyvvmT.d.mts} +0 -0
  352. /package/dist/{config-CnhyvvmT.d.ts → config.d-CnhyvvmT.d.ts} +0 -0
  353. /package/dist/{endpoint-BgHn0lhl.d.ts → endpoint.d-BgHn0lhl.d.ts} +0 -0
  354. /package/dist/{endpoint-BkMSCRf6.d.mts → endpoint.d-BkMSCRf6.d.mts} +0 -0
  355. /package/dist/{image-config-CeDgNyX4.d.mts → image-config.d-CeDgNyX4.d.mts} +0 -0
  356. /package/dist/{image-config-CeDgNyX4.d.ts → image-config.d-CeDgNyX4.d.ts} +0 -0
  357. /package/dist/{instrumentation-runtime-CX9Zh-16.d.mts → instrumentation-runtime.d-CX9Zh-16.d.mts} +0 -0
  358. /package/dist/{instrumentation-runtime-CX9Zh-16.d.ts → instrumentation-runtime.d-CX9Zh-16.d.ts} +0 -0
  359. /package/dist/{island-value-protocol-BRayRghM.d.mts → island-value-protocol.d-BRayRghM.d.mts} +0 -0
  360. /package/dist/{island-value-protocol-BRayRghM.d.ts → island-value-protocol.d-BRayRghM.d.ts} +0 -0
  361. /package/dist/{island-CfGru1MO.d.mts → island.d-CfGru1MO.d.mts} +0 -0
  362. /package/dist/{island-CfGru1MO.d.ts → island.d-CfGru1MO.d.ts} +0 -0
  363. /package/dist/{layers-CcS42OGR.d.mts → layers.d-CcS42OGR.d.mts} +0 -0
  364. /package/dist/{layers-CcS42OGR.d.ts → layers.d-CcS42OGR.d.ts} +0 -0
  365. /package/dist/{lifecycle-C2aLBOwu.d.mts → lifecycle.d-C2aLBOwu.d.mts} +0 -0
  366. /package/dist/{lifecycle-C2aLBOwu.d.ts → lifecycle.d-C2aLBOwu.d.ts} +0 -0
  367. /package/dist/{observability-B2363jB6.d.mts → observability.d-B2363jB6.d.mts} +0 -0
  368. /package/dist/{observability-B2363jB6.d.ts → observability.d-B2363jB6.d.ts} +0 -0
  369. /package/dist/{params-BALtrRim.d.ts → params.d-BALtrRim.d.ts} +0 -0
  370. /package/dist/{params-ry-lxqmy.d.mts → params.d-ry-lxqmy.d.mts} +0 -0
  371. /package/dist/{production-vite-BQFAlG7n.d.mts → production-vite.d-BQFAlG7n.d.mts} +0 -0
  372. /package/dist/{production-vite-BQFAlG7n.d.ts → production-vite.d-BQFAlG7n.d.ts} +0 -0
  373. /package/dist/{route-pattern-CVsVbq5n.d.mts → route-pattern.d-CVsVbq5n.d.mts} +0 -0
  374. /package/dist/{route-pattern-CVsVbq5n.d.ts → route-pattern.d-CVsVbq5n.d.ts} +0 -0
  375. /package/dist/{server-client-bridge-DKWDl5NB.d.mts → server-client-bridge.d-DKWDl5NB.d.mts} +0 -0
  376. /package/dist/{server-client-bridge-DKWDl5NB.d.ts → server-client-bridge.d-DKWDl5NB.d.ts} +0 -0
  377. /package/dist/{server-fn-error-DrcH9cc1.d.mts → server-fn-error.d-DrcH9cc1.d.mts} +0 -0
  378. /package/dist/{server-fn-error-DrcH9cc1.d.ts → server-fn-error.d-DrcH9cc1.d.ts} +0 -0
  379. /package/dist/{server-query-runtime-DXRNhX_3.d.ts → server-query-runtime.d-DXRNhX_3.d.ts} +0 -0
  380. /package/dist/{server-query-runtime-aP52iuL5.d.mts → server-query-runtime.d-aP52iuL5.d.mts} +0 -0
  381. /package/dist/{types-BnIqOn9w.d.mts → types.d-BnIqOn9w.d.mts} +0 -0
  382. /package/dist/{types-BnIqOn9w.d.ts → types.d-BnIqOn9w.d.ts} +0 -0
  383. /package/dist/{types-C41ePjvP.d.mts → types.d-C41ePjvP.d.mts} +0 -0
  384. /package/dist/{types-C41ePjvP.d.ts → types.d-C41ePjvP.d.ts} +0 -0
  385. /package/dist/{types-DQnyD3VD.d.mts → types.d-DQnyD3VD.d.mts} +0 -0
  386. /package/dist/{types-DQnyD3VD.d.ts → types.d-DQnyD3VD.d.ts} +0 -0
  387. /package/dist/{workflows-CRMzQZ3k.d.mts → workflows.d-CRMzQZ3k.d.mts} +0 -0
  388. /package/dist/{workflows-CRMzQZ3k.d.ts → workflows.d-CRMzQZ3k.d.ts} +0 -0
@@ -13,6 +13,51 @@ var _path = require('path'); var _path2 = _interopRequireDefault(_path);
13
13
 
14
14
  // src/programmatic-routes-client.ts
15
15
  var _module = require('module');
16
+
17
+ // src/browser-builtins.ts
18
+
19
+ var FARM_BROWSER_BUILTIN_PREFIX = "\0farm:browser-builtin:";
20
+ var BROWSER_IMPLEMENTATIONS = {
21
+ crypto: {
22
+ webcrypto: "globalThis.crypto",
23
+ subtle: "globalThis.crypto?.subtle",
24
+ getRandomValues: "(array) => globalThis.crypto.getRandomValues(array)",
25
+ randomUUID: "() => globalThis.crypto.randomUUID()"
26
+ }
27
+ };
28
+ var BROWSER_EXTERNAL_RE = /^(?:__vite-)?browser-external(?::|$)/;
29
+ var IDENTIFIER_RE = /^[A-Za-z_$][\w$]*$/;
30
+ async function resolveFarmBrowserBuiltin(context, source, importer, options) {
31
+ const resolved = await context.resolve(source, importer, { ...options, skipSelf: true });
32
+ if (!resolved || !BROWSER_EXTERNAL_RE.test(resolved.id)) return resolved;
33
+ return FARM_BROWSER_BUILTIN_PREFIX + source.replace(/^node:/, "");
34
+ }
35
+ function loadFarmBrowserBuiltin(id) {
36
+ if (!id.startsWith(FARM_BROWSER_BUILTIN_PREFIX)) return void 0;
37
+ const name = id.slice(FARM_BROWSER_BUILTIN_PREFIX.length);
38
+ const implementations = _nullishCoalesce(BROWSER_IMPLEMENTATIONS[name], () => ( {}));
39
+ const exports = Object.keys(_nullishCoalesce(process.getBuiltinModule(`node:${name}`), () => ( {}))).filter(
40
+ (key) => key !== "default" && IDENTIFIER_RE.test(key)
41
+ );
42
+ const implemented = exports.filter((key) => key in implementations);
43
+ return [
44
+ ...exports.map((key) => `export const ${key} = ${_nullishCoalesce(implementations[key], () => ( "undefined"))};`),
45
+ `export default { ${implemented.join(", ")} };`
46
+ ].join("\n");
47
+ }
48
+ function farmBrowserBuiltinsOptimizerPlugin() {
49
+ return {
50
+ name: "farm:browser-builtins-optimizer",
51
+ resolveId(source, importer, options) {
52
+ return _module.isBuiltin.call(void 0, source) ? resolveFarmBrowserBuiltin(this, source, importer, options) : null;
53
+ },
54
+ load(id) {
55
+ return _nullishCoalesce(loadFarmBrowserBuiltin(id), () => ( null));
56
+ }
57
+ };
58
+ }
59
+
60
+ // src/programmatic-routes-client.ts
16
61
  var _url = require('url');
17
62
  var SERVER_PROPS_KEYS = ["params", "search", "guard", "data"];
18
63
  function programmaticClientRouteKey(routesFile, kind, routePath) {
@@ -258,6 +303,7 @@ function isApplicationModuleId(id) {
258
303
  return MODULE_EXTENSION_RE.test(id.split("?", 1)[0]);
259
304
  }
260
305
  function isNodeBuiltinId(id) {
306
+ if (id.startsWith(FARM_BROWSER_BUILTIN_PREFIX)) return true;
261
307
  const external = id.indexOf("__vite-browser-external:");
262
308
  const bare = external === 0 || external === 1 ? id.slice(external + 24) : id;
263
309
  return bare.startsWith("node:") || NODE_BUILTINS.has(bare);
@@ -493,11 +539,11 @@ function compareOwners(left, right) {
493
539
  if (right.exportName === "default") return 1;
494
540
  return left.exportName < right.exportName ? -1 : left.exportName > right.exportName ? 1 : 0;
495
541
  }
496
- var IDENTIFIER_RE = /^[A-Za-z_$][\w$]*$/;
542
+ var IDENTIFIER_RE2 = /^[A-Za-z_$][\w$]*$/;
497
543
  function importExport(value, local, toImportSpecifier) {
498
544
  const source = JSON.stringify(toImportSpecifier(value.file));
499
545
  if (value.exportName === "default") return `import ${local} from ${source};`;
500
- const imported = IDENTIFIER_RE.test(value.exportName) ? value.exportName : JSON.stringify(value.exportName);
546
+ const imported = IDENTIFIER_RE2.test(value.exportName) ? value.exportName : JSON.stringify(value.exportName);
501
547
  return `import { ${imported} as ${local} } from ${source};`;
502
548
  }
503
549
  function toPosixPath(filePath) {
@@ -902,4 +948,7 @@ function transformError(id, message) {
902
948
 
903
949
 
904
950
 
905
- exports.programmaticClientRouteKey = programmaticClientRouteKey; exports.resolveProgrammaticClientRoutes = resolveProgrammaticClientRoutes; exports.createEvaluatedRouteGraph = createEvaluatedRouteGraph; exports.mergeProgrammaticClientRoutes = mergeProgrammaticClientRoutes; exports.generateProgrammaticClientRouteModule = generateProgrammaticClientRouteModule; exports.transformEnvironmentFunctions = transformEnvironmentFunctions; exports.farmEnvironmentFunctionsPlugin = farmEnvironmentFunctionsPlugin;
951
+
952
+
953
+
954
+ exports.resolveFarmBrowserBuiltin = resolveFarmBrowserBuiltin; exports.loadFarmBrowserBuiltin = loadFarmBrowserBuiltin; exports.farmBrowserBuiltinsOptimizerPlugin = farmBrowserBuiltinsOptimizerPlugin; exports.programmaticClientRouteKey = programmaticClientRouteKey; exports.resolveProgrammaticClientRoutes = resolveProgrammaticClientRoutes; exports.createEvaluatedRouteGraph = createEvaluatedRouteGraph; exports.mergeProgrammaticClientRoutes = mergeProgrammaticClientRoutes; exports.generateProgrammaticClientRouteModule = generateProgrammaticClientRouteModule; exports.transformEnvironmentFunctions = transformEnvironmentFunctions; exports.farmEnvironmentFunctionsPlugin = farmEnvironmentFunctionsPlugin;
@@ -1,14 +1,14 @@
1
- import {
2
- appendMiddlewareDirectory,
3
- appendMiddlewareRoutePath,
4
- compareMiddlewareRouteLocations
5
- } from "./chunk-4HBKBHVP.mjs";
6
1
  import {
7
2
  normalizeMiddlewareModule,
8
3
  parseMiddlewareCookieHeader,
9
4
  serializeMiddlewareCookie,
10
5
  serializeMiddlewareCookieDeletion
11
6
  } from "./chunk-KPAJWD3N.mjs";
7
+ import {
8
+ appendMiddlewareDirectory,
9
+ appendMiddlewareRoutePath,
10
+ compareMiddlewareRouteLocations
11
+ } from "./chunk-5ENW27SL.mjs";
12
12
  import {
13
13
  compileMiddlewareConfig,
14
14
  compileMiddlewareRoute,
@@ -27,13 +27,13 @@ import {
27
27
  } from "./chunk-TUOO6IK3.mjs";
28
28
  import {
29
29
  logger
30
- } from "./chunk-2SVJGOAX.mjs";
30
+ } from "./chunk-Y3N5BFRJ.mjs";
31
31
  import {
32
32
  emitFarmEvent
33
33
  } from "./chunk-2DA7CLY7.mjs";
34
34
  import {
35
35
  sendWebResponse
36
- } from "./chunk-IUQLRTTO.mjs";
36
+ } from "./chunk-CO6UYM2D.mjs";
37
37
  import {
38
38
  createFarmAPIMiddlewarePathnames
39
39
  } from "./chunk-LM2YOGDK.mjs";
@@ -52,10 +52,11 @@ async function findProgrammaticRouteSourceFiles(srcRoot) {
52
52
  return [];
53
53
  }
54
54
  try {
55
- const glob = await import("fast-glob");
56
- return await glob.default("**/*.{ts,tsx,js,jsx}", {
55
+ const { glob } = await import("tinyglobby");
56
+ return await glob("**/*.{ts,tsx,js,jsx}", {
57
57
  cwd: srcRoot,
58
58
  absolute: true,
59
+ expandDirectories: false,
59
60
  ignore: [
60
61
  "**/*.d.ts",
61
62
  "**/node_modules/**",
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-NR63PD3P.mjs";
5
5
  import {
6
6
  logger
7
- } from "./chunk-2SVJGOAX.mjs";
7
+ } from "./chunk-Y3N5BFRJ.mjs";
8
8
 
9
9
  // src/build/tailwind.ts
10
10
  import path from "path";
@@ -0,0 +1,358 @@
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; }// src/server-fn-transform.ts
2
+ var SERVER_FUNCTION_FACTORY_IMPORT_RE = /\bimport\s+(?:type\s+)?(?:[A-Za-z_$][\w$]*\s*,\s*)?(\{[^}]*\})\s+from\s*["']@farm.js\/core(?:\/(?:server-fn|server-query))?["']\s*;?/g;
3
+ var EXPORT_SERVER_FUNCTION_FACTORY_RE = /\bexport\s+(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*([A-Za-z_$][\w$]*)\s*(?:<[^<>]*(?:<[^<>]*>[^<>]*)*>)?\s*\(/g;
4
+ var EXPORT_DEFAULT_SERVER_FUNCTION_FACTORY_RE = /\bexport\s+default\s+([A-Za-z_$][\w$]*)\s*(?:<[^<>]*(?:<[^<>]*>[^<>]*)*>)?\s*\(/g;
5
+ var SERVER_FUNCTION_DECLARATION_RE = /(?<![.\w$])([A-Za-z_$][\w$]*)\s*=\s*([A-Za-z_$][\w$]*)\s*(?:<[^<>]*(?:<[^<>]*>[^<>]*)*>)?\s*\(/g;
6
+ var LOCAL_EXPORT_CLAUSE_RE = /\bexport\s*\{([^}]*)\}/g;
7
+ var EXPORT_DEFAULT_ALIAS_RE = /\bexport\s+default\s+([A-Za-z_$][\w$]*)\s*(?:;|(?=[\r\n])|$)/g;
8
+ var EXPORT_BINDING_ALIAS_RE = /\bexport\s+(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*([A-Za-z_$][\w$]*)\s*(?:;|(?=[,\r\n])|$)/g;
9
+ var MODULE_EXT_RE = /\.[cm]?[jt]sx?$/;
10
+ var DECLARATION_RE = /(^|\n)\s*["']([^"']+)["']\s*;?/g;
11
+ var FARM_SERVER_FN_BOUNDARY_QUERY = "?farm-server-fns";
12
+ function transformFarmServerFns(code, id, options = {}) {
13
+ const analysis = analyzeServerFnModule(code, id);
14
+ if (!analysis) return null;
15
+ const { replacements } = analysis;
16
+ const exports = replacements.map((replacement) => replacement.exportName);
17
+ if (hasModuleDirective(code, "use server")) {
18
+ return { code: applyReplacements(code, replacements, "wrapper"), exports };
19
+ }
20
+ const boundaryId = JSON.stringify(serverFnBoundaryId(id));
21
+ if (options.environment !== void 0 && options.environment !== "rsc") {
22
+ return {
23
+ code: `export { ${exports.join(", ")} } from ${boundaryId};
24
+ `,
25
+ exports
26
+ };
27
+ }
28
+ const imports = replacements.map(
29
+ (replacement) => replacement.exportName === "default" ? "default as $$farm_server_fn_boundary_default" : replacement.exportName
30
+ );
31
+ const reExports = replacements.map(
32
+ (replacement) => replacement.exportName === "default" ? "$$farm_server_fn_boundary_default as default" : replacement.exportName
33
+ );
34
+ const privateNames = replacements.map((replacement) => replacement.privateName);
35
+ return {
36
+ code: applyReplacements(code, replacements, "private") + `
37
+ import { ${imports.join(", ")} } from ${boundaryId};
38
+ export { ${[...reExports, ...privateNames].join(", ")} };
39
+ `,
40
+ exports
41
+ };
42
+ }
43
+ function createFarmServerFnBoundaryModule(code, id) {
44
+ if (hasModuleDirective(code, "use server")) return null;
45
+ const analysis = analyzeServerFnModule(code, id);
46
+ if (!analysis) return null;
47
+ const sourceId = JSON.stringify(id.split("?", 1)[0].replace(/\\/g, "/"));
48
+ const privateNames = analysis.replacements.map((replacement) => replacement.privateName);
49
+ let output = `"use server";
50
+ import { ${privateNames.join(", ")} } from ${sourceId};
51
+ `;
52
+ for (const replacement of analysis.replacements) {
53
+ const declaration = replacement.exportName === "default" ? "export default async function" : "export async function";
54
+ output += `${declaration} ${replacement.wrapperName}(input) {
55
+ return ${replacement.privateName}(input);
56
+ }
57
+ ${copyServerFunctionDescriptor(replacement.wrapperName, replacement.privateName, true)}
58
+ `;
59
+ }
60
+ return output;
61
+ }
62
+ function isFarmServerFnBoundaryId(id) {
63
+ return /[?&]farm-server-fns(?:&|$)/.test(id);
64
+ }
65
+ function serverFnBoundaryId(id) {
66
+ return `${id.split("?", 1)[0].replace(/\\/g, "/")}${FARM_SERVER_FN_BOUNDARY_QUERY}`;
67
+ }
68
+ function applyReplacements(code, replacements, mode) {
69
+ let output = code;
70
+ for (const replacement of [...replacements].sort((a, b) => b.start - a.start)) {
71
+ const declaration = `const ${replacement.privateName} = ${replacement.callExpression};
72
+ `;
73
+ const wrapper = mode === "private" ? "" : `${replacement.exportName === "default" ? "export default async function" : "export async function"} ${replacement.wrapperName}(input) {
74
+ return ${replacement.privateName}(input);
75
+ }
76
+ ${copyServerFunctionDescriptor(replacement.wrapperName, replacement.privateName, false)}`;
77
+ output = output.slice(0, replacement.start) + declaration + wrapper + output.slice(replacement.end);
78
+ }
79
+ return output;
80
+ }
81
+ function analyzeServerFnModule(code, id) {
82
+ if (!isTransformableModule(id) || !code.includes("createServerFn") && !code.includes("createServerQuery")) {
83
+ return null;
84
+ }
85
+ const factoryNames = findServerFunctionFactoryImportNames(code);
86
+ if (factoryNames.size === 0) return null;
87
+ const reExport = findServerFnReExport(code, factoryNames);
88
+ if (reExport) {
89
+ const factoryName = reExport.factory === "fn" ? "createServerFn" : "createServerQuery";
90
+ const escape = reExport.form === "clause" ? "with an export clause" : reExport.form === "default" ? "as the default export" : "through another exported binding";
91
+ const inlineForm = reExport.form === "default" ? `export default ${factoryName}(...)` : `export const ${reExport.exportName} = ${factoryName}(...)`;
92
+ throw new Error(
93
+ `Server function "${reExport.localName}" cannot be re-exported ${escape}. Export it inline instead: ${inlineForm}.`
94
+ );
95
+ }
96
+ const replacements = findServerFnExportReplacements(code, factoryNames);
97
+ if (replacements.length === 0) return null;
98
+ if (hasModuleDirective(code, "use client")) {
99
+ throw new Error(
100
+ "createServerFn and createServerQuery exports must live in a server module. Move them out of the 'use client' file."
101
+ );
102
+ }
103
+ return { replacements };
104
+ }
105
+ function isTransformableModule(id) {
106
+ const cleanId = id.split("?", 1)[0];
107
+ return MODULE_EXT_RE.test(cleanId) && !/\.d\.[cm]?ts$/.test(cleanId);
108
+ }
109
+ function findServerFunctionFactoryImportNames(code) {
110
+ const names = /* @__PURE__ */ new Map();
111
+ for (const match of code.matchAll(SERVER_FUNCTION_FACTORY_IMPORT_RE)) {
112
+ const importClause = _nullishCoalesce(match[1], () => ( ""));
113
+ const namedStart = importClause.indexOf("{");
114
+ const namedEnd = importClause.lastIndexOf("}");
115
+ if (namedStart === -1 || namedEnd === -1 || namedEnd <= namedStart) continue;
116
+ const namedImports = importClause.slice(namedStart + 1, namedEnd).split(",");
117
+ for (const specifier of namedImports) {
118
+ const normalized = specifier.trim().replace(/^type\s+/, "");
119
+ const specifierMatch = normalized.match(
120
+ /^(createServerFn|createServerQuery)(?:\s+as\s+([A-Za-z_$][\w$]*))?$/
121
+ );
122
+ if (specifierMatch) {
123
+ const factory = specifierMatch[1];
124
+ names.set(_nullishCoalesce(specifierMatch[2], () => ( factory)), factory === "createServerFn" ? "fn" : "query");
125
+ }
126
+ }
127
+ }
128
+ return names;
129
+ }
130
+ function findServerFnReExport(code, factoryNames) {
131
+ const scannable = stripCommentsAndStrings(code);
132
+ const declarations = /* @__PURE__ */ new Map();
133
+ for (const match of scannable.matchAll(SERVER_FUNCTION_DECLARATION_RE)) {
134
+ const localName = match[1];
135
+ const factoryName = match[2];
136
+ const factory = factoryName ? factoryNames.get(factoryName) : void 0;
137
+ if (localName && factory) declarations.set(localName, factory);
138
+ }
139
+ if (declarations.size === 0) return null;
140
+ for (const match of scannable.matchAll(LOCAL_EXPORT_CLAUSE_RE)) {
141
+ const clause = _nullishCoalesce(match[1], () => ( ""));
142
+ const clauseEnd = (_nullishCoalesce(match.index, () => ( 0))) + match[0].length;
143
+ if (scannable.slice(clauseEnd).trimStart().startsWith("from")) continue;
144
+ for (const specifier of clause.split(",")) {
145
+ const parts = specifier.trim().split(/\s+as\s+/);
146
+ const localName = _optionalChain([parts, 'access', _ => _[0], 'optionalAccess', _2 => _2.trim, 'call', _3 => _3()]);
147
+ if (!localName || !declarations.has(localName)) continue;
148
+ return {
149
+ localName,
150
+ exportName: _optionalChain([parts, 'access', _4 => _4[1], 'optionalAccess', _5 => _5.trim, 'call', _6 => _6()]) || localName,
151
+ factory: declarations.get(localName),
152
+ form: "clause"
153
+ };
154
+ }
155
+ }
156
+ for (const match of scannable.matchAll(EXPORT_DEFAULT_ALIAS_RE)) {
157
+ const localName = match[1];
158
+ if (!localName || !declarations.has(localName)) continue;
159
+ return {
160
+ localName,
161
+ exportName: "default",
162
+ factory: declarations.get(localName),
163
+ form: "default"
164
+ };
165
+ }
166
+ for (const match of scannable.matchAll(EXPORT_BINDING_ALIAS_RE)) {
167
+ const exportName = match[1];
168
+ const localName = match[2];
169
+ if (!exportName || !localName || !declarations.has(localName)) continue;
170
+ return {
171
+ localName,
172
+ exportName,
173
+ factory: declarations.get(localName),
174
+ form: "binding"
175
+ };
176
+ }
177
+ return null;
178
+ }
179
+ function stripCommentsAndStrings(code) {
180
+ const output = code.split("");
181
+ let quote = null;
182
+ let lineComment = false;
183
+ let blockComment = false;
184
+ let escaped = false;
185
+ for (let index = 0; index < code.length; index++) {
186
+ const char = code[index];
187
+ const next = code[index + 1];
188
+ if (lineComment) {
189
+ if (char === "\n" || char === "\r") lineComment = false;
190
+ else output[index] = " ";
191
+ continue;
192
+ }
193
+ if (blockComment) {
194
+ if (char === "*" && next === "/") {
195
+ blockComment = false;
196
+ output[index] = " ";
197
+ output[index + 1] = " ";
198
+ index++;
199
+ } else if (char !== "\n") {
200
+ output[index] = " ";
201
+ }
202
+ continue;
203
+ }
204
+ if (quote) {
205
+ if (escaped) {
206
+ escaped = false;
207
+ output[index] = " ";
208
+ continue;
209
+ }
210
+ if (char === "\\") {
211
+ escaped = true;
212
+ output[index] = " ";
213
+ continue;
214
+ }
215
+ if (char === quote) {
216
+ quote = null;
217
+ continue;
218
+ }
219
+ if (char !== "\n") output[index] = " ";
220
+ continue;
221
+ }
222
+ if (char === "/" && next === "/") {
223
+ lineComment = true;
224
+ output[index] = " ";
225
+ continue;
226
+ }
227
+ if (char === "/" && next === "*") {
228
+ blockComment = true;
229
+ output[index] = " ";
230
+ continue;
231
+ }
232
+ if (char === "'" || char === '"' || char === "`") {
233
+ quote = char;
234
+ }
235
+ }
236
+ return output.join("");
237
+ }
238
+ function findServerFnExportReplacements(code, factoryNames) {
239
+ const replacements = [];
240
+ for (const match of code.matchAll(EXPORT_SERVER_FUNCTION_FACTORY_RE)) {
241
+ const exportName = match[1];
242
+ const calleeName = match[2];
243
+ const factory = calleeName ? factoryNames.get(calleeName) : void 0;
244
+ if (!exportName || !calleeName || !factory) continue;
245
+ const openParenIndex = (_nullishCoalesce(match.index, () => ( 0))) + match[0].length - 1;
246
+ const callEnd = findMatchingParen(code, openParenIndex);
247
+ if (callEnd === -1) continue;
248
+ let declarationEnd = callEnd + 1;
249
+ while (/\s/.test(_nullishCoalesce(code[declarationEnd], () => ( "")))) declarationEnd++;
250
+ if (code[declarationEnd] === ";") declarationEnd++;
251
+ const calleeIndex = code.indexOf(calleeName, match.index);
252
+ replacements.push({
253
+ start: _nullishCoalesce(match.index, () => ( 0)),
254
+ end: declarationEnd,
255
+ exportName,
256
+ privateName: `$$farm_server_${factory}_${exportName}`,
257
+ wrapperName: exportName,
258
+ callExpression: code.slice(calleeIndex, callEnd + 1)
259
+ });
260
+ }
261
+ for (const match of code.matchAll(EXPORT_DEFAULT_SERVER_FUNCTION_FACTORY_RE)) {
262
+ const calleeName = match[1];
263
+ const factory = calleeName ? factoryNames.get(calleeName) : void 0;
264
+ if (!calleeName || !factory) continue;
265
+ const openParenIndex = (_nullishCoalesce(match.index, () => ( 0))) + match[0].length - 1;
266
+ const callEnd = findMatchingParen(code, openParenIndex);
267
+ if (callEnd === -1) continue;
268
+ let declarationEnd = callEnd + 1;
269
+ while (/\s/.test(_nullishCoalesce(code[declarationEnd], () => ( "")))) declarationEnd++;
270
+ if (code[declarationEnd] === ";") declarationEnd++;
271
+ const calleeIndex = code.indexOf(calleeName, match.index);
272
+ const privateName = `$$farm_server_${factory}_default`;
273
+ replacements.push({
274
+ start: _nullishCoalesce(match.index, () => ( 0)),
275
+ end: declarationEnd,
276
+ exportName: "default",
277
+ privateName,
278
+ wrapperName: `${privateName}_export`,
279
+ callExpression: code.slice(calleeIndex, callEnd + 1)
280
+ });
281
+ }
282
+ return replacements;
283
+ }
284
+ function copyServerFunctionDescriptor(target, source, lazy) {
285
+ const key = 'Symbol.for("farm.server-function.descriptor")';
286
+ return lazy ? `Object.defineProperty(${target}, ${key}, { get: () => ${source}[${key}] });` : `Object.defineProperty(${target}, ${key}, { value: ${source}[${key}] });`;
287
+ }
288
+ function hasModuleDirective(code, directive) {
289
+ for (const match of code.matchAll(DECLARATION_RE)) {
290
+ const value = match[2];
291
+ if (value === directive) return true;
292
+ if (value !== "use strict" && value !== "use client" && value !== "use server") return false;
293
+ }
294
+ return false;
295
+ }
296
+ function findMatchingParen(code, openParenIndex) {
297
+ let depth = 0;
298
+ let quote = null;
299
+ let lineComment = false;
300
+ let blockComment = false;
301
+ let escaped = false;
302
+ for (let index = openParenIndex; index < code.length; index++) {
303
+ const char = code[index];
304
+ const next = code[index + 1];
305
+ if (lineComment) {
306
+ if (char === "\n" || char === "\r") lineComment = false;
307
+ continue;
308
+ }
309
+ if (blockComment) {
310
+ if (char === "*" && next === "/") {
311
+ blockComment = false;
312
+ index++;
313
+ }
314
+ continue;
315
+ }
316
+ if (quote) {
317
+ if (escaped) {
318
+ escaped = false;
319
+ continue;
320
+ }
321
+ if (char === "\\") {
322
+ escaped = true;
323
+ continue;
324
+ }
325
+ if (char === quote) {
326
+ quote = null;
327
+ }
328
+ continue;
329
+ }
330
+ if (char === "/" && next === "/") {
331
+ lineComment = true;
332
+ index++;
333
+ continue;
334
+ }
335
+ if (char === "/" && next === "*") {
336
+ blockComment = true;
337
+ index++;
338
+ continue;
339
+ }
340
+ if (char === "'" || char === '"' || char === "`") {
341
+ quote = char;
342
+ continue;
343
+ }
344
+ if (char === "(") depth++;
345
+ if (char === ")") {
346
+ depth--;
347
+ if (depth === 0) return index;
348
+ }
349
+ }
350
+ return -1;
351
+ }
352
+
353
+
354
+
355
+
356
+
357
+
358
+ exports.FARM_SERVER_FN_BOUNDARY_QUERY = FARM_SERVER_FN_BOUNDARY_QUERY; exports.transformFarmServerFns = transformFarmServerFns; exports.createFarmServerFnBoundaryModule = createFarmServerFnBoundaryModule; exports.isFarmServerFnBoundaryId = isFarmServerFnBoundaryId;
@@ -23,7 +23,7 @@ import {
23
23
  } from "./chunk-LM2YOGDK.mjs";
24
24
  import {
25
25
  FARM_VERSION
26
- } from "./chunk-2VCC3GVC.mjs";
26
+ } from "./chunk-EOSFVNXZ.mjs";
27
27
  import {
28
28
  applyFarmBasePath
29
29
  } from "./chunk-SF3JB56B.mjs";
@@ -441,14 +441,16 @@ function resolveFarmDocsRouteLabel(routePathname, docs) {
441
441
  const apiPath = normalize(docs.apiPath ?? "/api/docs");
442
442
  if (pathname === apiPath) return apiPath;
443
443
  if (pathname.startsWith(`${apiPath}/`)) return `${apiPath}/[...path]`;
444
- const entry = normalize(docs.path);
445
- const base = entry === "/" ? "" : entry;
446
444
  const markdown = pathname.toLowerCase().endsWith(".md");
447
445
  const page = markdown ? pathname.slice(0, -".md".length) : pathname;
448
- if (page === entry || entry === "/" && page === "/index") {
449
- return markdown ? getFarmMarkdownMirrorPath(entry) : entry;
446
+ const entries = [docs.path, ...docs.roots ?? []].map(normalize).sort((a, b) => b.length - a.length);
447
+ for (const entry of entries) {
448
+ const base = entry === "/" ? "" : entry;
449
+ if (page === entry || entry === "/" && page === "/index") {
450
+ return markdown ? getFarmMarkdownMirrorPath(entry) : entry;
451
+ }
452
+ if (page.startsWith(`${base}/`)) return `${base}/[...slug]${markdown ? ".md" : ""}`;
450
453
  }
451
- if (page.startsWith(`${base}/`)) return `${base}/[...slug]${markdown ? ".md" : ""}`;
452
454
  return null;
453
455
  }
454
456
  function resolveFarmDocsEngineRouteLabel(routePathname, docs) {
@@ -15,6 +15,9 @@ import {
15
15
  createRouteDataCacheTag,
16
16
  getFarmDataCache
17
17
  } from "./chunk-RLEALQEN.mjs";
18
+ import {
19
+ createFarmSearchParams
20
+ } from "./chunk-H3ASZDT7.mjs";
18
21
  import {
19
22
  createFarmCacheKey
20
23
  } from "./chunk-GLOICKDO.mjs";
@@ -535,7 +538,7 @@ async function resolveProgrammaticRouteProps(route, props) {
535
538
  ...props,
536
539
  params,
537
540
  search,
538
- searchParams: Promise.resolve(search)
541
+ searchParams: createFarmSearchParams(search)
539
542
  };
540
543
  const routeContextProps = {
541
544
  ...baseProps,
@@ -12,7 +12,7 @@ function farmDesktopDevGuardPlugin(basePath) {
12
12
  order: "pre",
13
13
  async handler(server) {
14
14
  if (resolveFarmPlatform() !== "desktop") return;
15
- const { createFarmDesktopDevGuard } = await import("./dev-guard-4PFQNXQX.mjs");
15
+ const { createFarmDesktopDevGuard } = await import("./dev-guard-ONNMVQUN.mjs");
16
16
  server.middlewares.use(createFarmDesktopDevGuard(server, { basePath: basePath || "" }));
17
17
  }
18
18
  }
@@ -23,7 +23,7 @@ var _chunkLIFUPCXWcjs = require('./chunk-LIFUPCXW.cjs');
23
23
  var _chunkB5BBTPJQcjs = require('./chunk-B5BBTPJQ.cjs');
24
24
 
25
25
 
26
- var _chunkRHOR2J6Vcjs = require('./chunk-RHOR2J6V.cjs');
26
+ var _chunkAGR7VJH2cjs = require('./chunk-AGR7VJH2.cjs');
27
27
 
28
28
 
29
29
  var _chunkD22BUQKWcjs = require('./chunk-D22BUQKW.cjs');
@@ -282,7 +282,7 @@ function createFarmAppManifest(input) {
282
282
  return {
283
283
  schemaVersion: 1,
284
284
  app: app ? {
285
- ...app.version ? { farm: _chunkRHOR2J6Vcjs.FARM_VERSION } : {},
285
+ ...app.version ? { farm: _chunkAGR7VJH2cjs.FARM_VERSION } : {},
286
286
  ...app.renderer ? { renderer: input.renderer } : {},
287
287
  basePath: input.basePath,
288
288
  ...app.build ? { build: input.build } : {}
@@ -441,14 +441,16 @@ function resolveFarmDocsRouteLabel(routePathname, docs) {
441
441
  const apiPath = normalize(_nullishCoalesce(docs.apiPath, () => ( "/api/docs")));
442
442
  if (pathname === apiPath) return apiPath;
443
443
  if (pathname.startsWith(`${apiPath}/`)) return `${apiPath}/[...path]`;
444
- const entry = normalize(docs.path);
445
- const base = entry === "/" ? "" : entry;
446
444
  const markdown = pathname.toLowerCase().endsWith(".md");
447
445
  const page = markdown ? pathname.slice(0, -".md".length) : pathname;
448
- if (page === entry || entry === "/" && page === "/index") {
449
- return markdown ? _chunkWJFFPXCVcjs.getFarmMarkdownMirrorPath.call(void 0, entry) : entry;
446
+ const entries = [docs.path, ..._nullishCoalesce(docs.roots, () => ( []))].map(normalize).sort((a, b) => b.length - a.length);
447
+ for (const entry of entries) {
448
+ const base = entry === "/" ? "" : entry;
449
+ if (page === entry || entry === "/" && page === "/index") {
450
+ return markdown ? _chunkWJFFPXCVcjs.getFarmMarkdownMirrorPath.call(void 0, entry) : entry;
451
+ }
452
+ if (page.startsWith(`${base}/`)) return `${base}/[...slug]${markdown ? ".md" : ""}`;
450
453
  }
451
- if (page.startsWith(`${base}/`)) return `${base}/[...slug]${markdown ? ".md" : ""}`;
452
454
  return null;
453
455
  }
454
456
  function resolveFarmDocsEngineRouteLabel(routePathname, docs) {
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  FARM_RSC_INSTALL_HINT,
3
3
  findFarmAppPackageDir
4
- } from "./chunk-PXEXOQ5R.mjs";
4
+ } from "./chunk-SHS6KXOZ.mjs";
5
5
  import {
6
6
  createFarmDevLoopbackPlugin
7
- } from "./chunk-2GLQSIZD.mjs";
7
+ } from "./chunk-LMFJCXDD.mjs";
8
8
  import {
9
9
  resolveDeployOutputPath
10
- } from "./chunk-2DEPNLXK.mjs";
10
+ } from "./chunk-KMB5BMFX.mjs";
11
11
  import {
12
12
  farmDesktopDevGuardPlugin,
13
13
  loadFarmReactPlugin
14
- } from "./chunk-75WWOZ5C.mjs";
14
+ } from "./chunk-QOSDWGKT.mjs";
15
15
  import {
16
16
  loadTailwindVitePlugin
17
- } from "./chunk-XLLVWLWO.mjs";
17
+ } from "./chunk-PIHKO25G.mjs";
18
18
  import {
19
19
  resolveFarmPlatform
20
20
  } from "./chunk-SMUW7UST.mjs";
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-PAKCHVUS.mjs";
5
5
  import {
6
6
  logger
7
- } from "./chunk-2SVJGOAX.mjs";
7
+ } from "./chunk-Y3N5BFRJ.mjs";
8
8
 
9
9
  // src/server-components-status.ts
10
10
  import { existsSync, realpathSync } from "fs";
@@ -4,7 +4,7 @@
4
4
  var _chunkBPNOYILCcjs = require('./chunk-BPNOYILC.cjs');
5
5
 
6
6
 
7
- var _chunkXN2MB4QZcjs = require('./chunk-XN2MB4QZ.cjs');
7
+ var _chunkVQJYGZNXcjs = require('./chunk-VQJYGZNX.cjs');
8
8
 
9
9
  // src/server-components-status.ts
10
10
  var _fs = require('fs');
@@ -103,7 +103,7 @@ function farmAppUsesRscPipeline(config, root) {
103
103
  if (status.fallback) {
104
104
  if (!warnedFallback) {
105
105
  warnedFallback = true;
106
- _chunkXN2MB4QZcjs.logger.warn(
106
+ _chunkVQJYGZNXcjs.logger.warn(
107
107
  `[Farm.js] ${formatFarmRscFallbackMessage(status.missingPackages, status.blockingKeys)}`
108
108
  );
109
109
  }
@@ -113,7 +113,7 @@ function farmAppUsesRscPipeline(config, root) {
113
113
  throw new Error(`[Farm.js] ${formatFarmRscBlockingMessage(status.blockingKeys)}`);
114
114
  }
115
115
  if (status.ignoredKeys.length > 0) {
116
- _chunkXN2MB4QZcjs.logger.warn(
116
+ _chunkVQJYGZNXcjs.logger.warn(
117
117
  `[Farm.js] experimental.serverComponents runs on the RSC pipeline, which does not run ${formatKeys(
118
118
  status.ignoredKeys
119
119
  )} yet. ${status.ignoredKeys.length === 1 ? "It is" : "They are"} ignored.`