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

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 (252) hide show
  1. package/README.md +163 -3
  2. package/dist/{agent-mcp-9BMbRgg_.d.ts → agent-mcp-BBMfNpsC.d.ts} +1 -1
  3. package/dist/{agent-mcp-CIMH324y.d.mts → agent-mcp-D44ip11f.d.mts} +1 -1
  4. package/dist/agent-runtime.d.mts +1 -1
  5. package/dist/agent-runtime.d.ts +1 -1
  6. package/dist/{analyzer-DDW34OMC.mjs → analyzer-HOUCQR3K.mjs} +1 -1
  7. package/dist/{analyzer-CN7C74WX.cjs → analyzer-VKUDHNDF.cjs} +2 -2
  8. package/dist/api/route-manager.cjs +5 -5
  9. package/dist/api/route-manager.d.mts +3 -3
  10. package/dist/api/route-manager.d.ts +3 -3
  11. package/dist/api/route-manager.mjs +4 -4
  12. package/dist/api/runtime.d.mts +2 -2
  13. package/dist/api/runtime.d.ts +2 -2
  14. package/dist/api.cjs +6 -6
  15. package/dist/api.d.mts +3 -3
  16. package/dist/api.d.ts +3 -3
  17. package/dist/api.mjs +5 -5
  18. package/dist/{app-BWibTHVT.d.ts → app-CourU3rQ.d.ts} +4 -4
  19. package/dist/{app-DVJ13FPA.d.mts → app-aeD4s_mg.d.mts} +4 -4
  20. package/dist/{app-manifest-CQDJOKL2.d.mts → app-manifest-BC6mFn5A.d.mts} +1 -1
  21. package/dist/{app-manifest-D0kaXdwu.d.ts → app-manifest-LzjoNPeq.d.ts} +1 -1
  22. package/dist/app-markdown.d.mts +2 -2
  23. package/dist/app-markdown.d.ts +2 -2
  24. package/dist/base-path-BOUV5ozD.d.mts +10 -0
  25. package/dist/base-path-BOUV5ozD.d.ts +10 -0
  26. package/dist/{chunk-RWT2BTJT.cjs → chunk-2IAPKPEB.cjs} +6 -6
  27. package/dist/{chunk-2G63BIRL.mjs → chunk-2KVDHNQS.mjs} +8 -11
  28. package/dist/{chunk-76R5GJER.mjs → chunk-3HA7PP72.mjs} +2 -2
  29. package/dist/{chunk-NJVFPJ2Y.cjs → chunk-3OWVWZ6R.cjs} +28 -2
  30. package/dist/{chunk-KO2NWUKN.mjs → chunk-4GJJ65RB.mjs} +9 -1
  31. package/dist/{chunk-GERUXONA.cjs → chunk-5A77OEIG.cjs} +4 -1
  32. package/dist/{chunk-4HBKBHVP.mjs → chunk-5ENW27SL.mjs} +1 -1
  33. package/dist/{chunk-MTB57GOK.mjs → chunk-724WT3NI.mjs} +4 -2
  34. package/dist/{chunk-VCKGOXFI.cjs → chunk-76GHW3WI.cjs} +7 -1
  35. package/dist/{chunk-ZIBIE7AH.mjs → chunk-7UPCJDB5.mjs} +7 -1
  36. package/dist/{chunk-CPXDDWGL.mjs → chunk-AER5I65K.mjs} +1 -1
  37. package/dist/{chunk-WB6XES4V.mjs → chunk-ALEUMLJN.mjs} +34 -5
  38. package/dist/{chunk-WVBUXNBX.mjs → chunk-AMRK3P6W.mjs} +123 -47
  39. package/dist/{chunk-L6QDME5Z.cjs → chunk-B3GZAQSC.cjs} +3 -3
  40. package/dist/chunk-CKPTIEDX.cjs +12 -0
  41. package/dist/{chunk-B5S2JS6M.cjs → chunk-DWW3AMJX.cjs} +288 -255
  42. package/dist/{chunk-EQMTJBB7.cjs → chunk-DZZHTMWM.cjs} +35 -6
  43. package/dist/{chunk-3ATXWZPH.cjs → chunk-E36C43IX.cjs} +13 -16
  44. package/dist/{chunk-J2ZEVDEK.cjs → chunk-EHB77D5U.cjs} +3 -3
  45. package/dist/{chunk-WQGRD5BJ.cjs → chunk-EX6ZSN5P.cjs} +1 -16
  46. package/dist/{chunk-474FO3UE.cjs → chunk-F42U3R4F.cjs} +170 -163
  47. package/dist/{chunk-6QA2SXVH.cjs → chunk-FK25QSVC.cjs} +2 -1
  48. package/dist/{chunk-BW6SCVYX.mjs → chunk-FSQMN2MQ.mjs} +1 -0
  49. package/dist/{chunk-2H3FJYY6.mjs → chunk-FSXSQQTV.mjs} +3 -2
  50. package/dist/chunk-GNZIAJGB.mjs +358 -0
  51. package/dist/{chunk-TXK4D46O.mjs → chunk-H3ASZDT7.mjs} +21 -1
  52. package/dist/{chunk-B6PREBN6.cjs → chunk-HASX6DC7.cjs} +8 -8
  53. package/dist/{chunk-ZLOQQ2UF.mjs → chunk-I2ZA5SXS.mjs} +60 -27
  54. package/dist/{chunk-X2EL3BLH.cjs → chunk-IOUOGRDX.cjs} +11 -3
  55. package/dist/{chunk-CBJKDB6F.mjs → chunk-IRSS4HS4.mjs} +1 -1
  56. package/dist/{chunk-GOOK2J2W.cjs → chunk-J22JD5YJ.cjs} +2 -2
  57. package/dist/{chunk-2DEPNLXK.mjs → chunk-JF5CNHHF.mjs} +4 -4
  58. package/dist/{chunk-VOZ5DI7D.mjs → chunk-JWI5PUO2.mjs} +6 -2
  59. package/dist/{chunk-YAXOEAND.cjs → chunk-KHXAJ2KA.cjs} +6 -6
  60. package/dist/{chunk-WXHDVXJE.mjs → chunk-KY32FWK7.mjs} +2 -2
  61. package/dist/{chunk-EQWWOQTK.cjs → chunk-LEIXUFJN.cjs} +6 -2
  62. package/dist/{chunk-2GLQSIZD.mjs → chunk-LMFJCXDD.mjs} +1 -1
  63. package/dist/{chunk-IXSMFKZ2.cjs → chunk-LNM57D3H.cjs} +4 -4
  64. package/dist/{chunk-5V4KZOZO.mjs → chunk-LZ4SB57H.mjs} +2 -2
  65. package/dist/{chunk-E2BMCNMJ.cjs → chunk-MMEEXMUQ.cjs} +2 -2
  66. package/dist/chunk-N4AQNEXR.cjs +17 -0
  67. package/dist/{chunk-JZMZKABS.cjs → chunk-NWUHS6GV.cjs} +3 -2
  68. package/dist/{chunk-LYWAGXXW.cjs → chunk-O3MMJPC2.cjs} +12 -12
  69. package/dist/{chunk-FACTMUPI.cjs → chunk-PDJSL7PL.cjs} +30 -19
  70. package/dist/{chunk-XLLVWLWO.mjs → chunk-PIHKO25G.mjs} +1 -1
  71. package/dist/chunk-PIUTGRDI.cjs +358 -0
  72. package/dist/{chunk-KGP76FSV.mjs → chunk-PPDHCRTC.mjs} +1 -1
  73. package/dist/{chunk-C73RIAEF.mjs → chunk-QI5AQMEE.mjs} +17 -6
  74. package/dist/{chunk-F5LERVY3.cjs → chunk-QK3HBOTG.cjs} +10 -10
  75. package/dist/{chunk-Q3UU2KXC.mjs → chunk-QMDU6QHN.mjs} +4 -1
  76. package/dist/{chunk-JJOWY3XD.mjs → chunk-R5P4KFPM.mjs} +1 -1
  77. package/dist/{chunk-IWJKJDNW.mjs → chunk-S5ZA2T2W.mjs} +35 -28
  78. package/dist/{chunk-PXEXOQ5R.mjs → chunk-SHS6KXOZ.mjs} +1 -1
  79. package/dist/{chunk-ETF5C6HR.cjs → chunk-SJ23LJ3N.cjs} +3 -3
  80. package/dist/{chunk-KZH6YLND.cjs → chunk-SO3T6T4I.cjs} +427 -351
  81. package/dist/{chunk-JHXJBNLY.cjs → chunk-SUCDVKUB.cjs} +21 -1
  82. package/dist/{chunk-7ONZDKVY.mjs → chunk-T4EW7AAD.mjs} +2 -2
  83. package/dist/{chunk-UY6HS5PF.cjs → chunk-USL2ANCB.cjs} +8 -8
  84. package/dist/{chunk-4T25YCZ5.cjs → chunk-VIFPE5RG.cjs} +14 -14
  85. package/dist/{chunk-HYN3LLG7.cjs → chunk-VO6NLTV4.cjs} +3 -3
  86. package/dist/{chunk-XN2MB4QZ.cjs → chunk-VQJYGZNX.cjs} +4 -4
  87. package/dist/{chunk-5PKDHKQP.cjs → chunk-WFVSAT7Y.cjs} +6 -4
  88. package/dist/{chunk-X3HOVNHI.mjs → chunk-WSY2JD7O.mjs} +6 -6
  89. package/dist/{chunk-SHJJM6OG.mjs → chunk-WVX3BUNJ.mjs} +1 -1
  90. package/dist/chunk-X3EFRVXY.mjs +12 -0
  91. package/dist/{chunk-UCQ52TJY.mjs → chunk-X3JNB2TB.mjs} +1 -1
  92. package/dist/{chunk-RHOR2J6V.cjs → chunk-X5BCMLGP.cjs} +1 -1
  93. package/dist/{chunk-IQXGHGZF.cjs → chunk-XB24LZWI.cjs} +5 -5
  94. package/dist/{chunk-BNMHXVLL.mjs → chunk-XMHERKSE.mjs} +0 -15
  95. package/dist/{chunk-CGCJ2TJU.cjs → chunk-XPMC4E2G.cjs} +3 -3
  96. package/dist/{chunk-HWCHIBJZ.mjs → chunk-XWC5NAHV.mjs} +4 -4
  97. package/dist/{chunk-C7425KDG.cjs → chunk-XYL4HSVC.cjs} +2 -2
  98. package/dist/{chunk-2SVJGOAX.mjs → chunk-Y3N5BFRJ.mjs} +3 -3
  99. package/dist/{chunk-IUBDMDZZ.cjs → chunk-Y7TLL65B.cjs} +4 -4
  100. package/dist/{chunk-M7LKA632.mjs → chunk-YLNBWUVS.mjs} +1 -1
  101. package/dist/chunk-Z5A6CNV2.mjs +60 -0
  102. package/dist/chunk-Z64V4WZI.mjs +17 -0
  103. package/dist/{chunk-2VCC3GVC.mjs → chunk-ZF3GX4O7.mjs} +1 -1
  104. package/dist/{client-plugins-BPfltM5m.d.ts → client-plugins-CFBEfVPO.d.ts} +20 -3
  105. package/dist/{client-plugins-D4RO59f0.d.mts → client-plugins-cqy_dQd0.d.mts} +20 -3
  106. package/dist/client-plugins.d.mts +1 -1
  107. package/dist/client-plugins.d.ts +1 -1
  108. package/dist/client.cjs +5 -4
  109. package/dist/client.d.mts +6 -6
  110. package/dist/client.d.ts +6 -6
  111. package/dist/client.mjs +4 -3
  112. package/dist/config.d.mts +1 -1
  113. package/dist/config.d.ts +1 -1
  114. package/dist/cron.cjs +4 -4
  115. package/dist/cron.mjs +3 -3
  116. package/dist/desktop.d.mts +2 -2
  117. package/dist/desktop.d.ts +2 -2
  118. package/dist/{devtools-STG7HPRV.mjs → devtools-4MLL3RAL.mjs} +6 -6
  119. package/dist/{devtools-N5XTOECL.cjs → devtools-4ZLMD454.cjs} +8 -8
  120. package/dist/docs.cjs +10 -10
  121. package/dist/docs.d.mts +2 -2
  122. package/dist/docs.d.ts +2 -2
  123. package/dist/docs.mjs +9 -9
  124. package/dist/{index-k8o8eUOd.d.mts → index-BYkNbeQV.d.mts} +1 -1
  125. package/dist/{index-C-N3Pwg-.d.ts → index-BxjN_UDZ.d.ts} +1 -1
  126. package/dist/index.cjs +42 -40
  127. package/dist/index.d.mts +16 -16
  128. package/dist/index.d.ts +16 -16
  129. package/dist/index.mjs +41 -39
  130. package/dist/integrations.d.mts +1 -1
  131. package/dist/integrations.d.ts +1 -1
  132. package/dist/internal/app-markdown-runtime.d.mts +2 -2
  133. package/dist/internal/app-markdown-runtime.d.ts +2 -2
  134. package/dist/internal/build-runtime.cjs +32 -31
  135. package/dist/internal/build-runtime.d.mts +3 -3
  136. package/dist/internal/build-runtime.d.ts +3 -3
  137. package/dist/internal/build-runtime.mjs +31 -30
  138. package/dist/internal/cli-runtime.cjs +15 -15
  139. package/dist/internal/cli-runtime.mjs +14 -14
  140. package/dist/internal/client-error-overlay.cjs +4 -4
  141. package/dist/internal/client-error-overlay.mjs +1 -1
  142. package/dist/internal/client-runtime.cjs +4 -2
  143. package/dist/internal/client-runtime.d.mts +5 -5
  144. package/dist/internal/client-runtime.d.ts +5 -5
  145. package/dist/internal/client-runtime.mjs +3 -1
  146. package/dist/internal/compression-runtime.d.mts +1 -1
  147. package/dist/internal/compression-runtime.d.ts +1 -1
  148. package/dist/internal/config-runtime.cjs +8 -8
  149. package/dist/internal/config-runtime.d.mts +3 -3
  150. package/dist/internal/config-runtime.d.ts +3 -3
  151. package/dist/internal/config-runtime.mjs +7 -7
  152. package/dist/internal/form-actions.cjs +4 -3
  153. package/dist/internal/form-actions.mjs +3 -2
  154. package/dist/internal/infra-analytics-runtime.cjs +5 -5
  155. package/dist/internal/infra-analytics-runtime.mjs +3 -3
  156. package/dist/internal/islands-runtime.cjs +56 -0
  157. package/dist/internal/islands-runtime.mjs +57 -1
  158. package/dist/internal/product-telemetry-runtime.cjs +2 -2
  159. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  160. package/dist/internal/production-runtime.cjs +11 -8
  161. package/dist/internal/production-runtime.d.mts +24 -11
  162. package/dist/internal/production-runtime.d.ts +24 -11
  163. package/dist/internal/production-runtime.mjs +10 -7
  164. package/dist/internal/server-fn-transform.cjs +13 -0
  165. package/dist/internal/server-fn-transform.d.mts +24 -0
  166. package/dist/internal/server-fn-transform.d.ts +24 -0
  167. package/dist/internal/server-fn-transform.mjs +13 -0
  168. package/dist/markdown.d.mts +1 -1
  169. package/dist/markdown.d.ts +1 -1
  170. package/dist/middleware.cjs +7 -7
  171. package/dist/middleware.d.mts +3 -3
  172. package/dist/middleware.d.ts +3 -3
  173. package/dist/middleware.mjs +6 -6
  174. package/dist/mobile.d.mts +30 -3
  175. package/dist/mobile.d.ts +30 -3
  176. package/dist/{navigation-delegate-8xg3Zvp4.d.ts → navigation-delegate-BU4xqdnw.d.ts} +1 -1
  177. package/dist/{navigation-delegate-ji6elCKy.d.mts → navigation-delegate-DLhbfEN4.d.mts} +1 -1
  178. package/dist/navigation.d.mts +4 -4
  179. package/dist/navigation.d.ts +4 -4
  180. package/dist/{nitro-YPSZBYDK.cjs → nitro-CK7M4RMY.cjs} +11 -11
  181. package/dist/{nitro-2Q5NVY7L.mjs → nitro-R444AF3O.mjs} +7 -7
  182. package/dist/plugin.cjs +25 -23
  183. package/dist/plugin.d.mts +3 -3
  184. package/dist/plugin.d.ts +3 -3
  185. package/dist/plugin.mjs +24 -22
  186. package/dist/{production-runtime-TdKaYRj0.d.ts → production-runtime-C78A8YgK.d.ts} +1 -1
  187. package/dist/{production-runtime-DXnQQkQf.d.mts → production-runtime-DLA4J5WG.d.mts} +1 -1
  188. package/dist/{programmatic-routes-client-BwiTndEC.d.ts → programmatic-routes-client-CBqkNhBy.d.ts} +2 -2
  189. package/dist/{programmatic-routes-client-Dh1SDLSM.d.mts → programmatic-routes-client-NpqGBn-i.d.mts} +2 -2
  190. package/dist/{render-plan-BvCGXF6K.d.mts → render-plan-C9sWvDTv.d.mts} +1 -1
  191. package/dist/{render-plan-BPbwRbuN.d.ts → render-plan-CrqcBbnV.d.ts} +1 -1
  192. package/dist/renderer-client.cjs +8 -6
  193. package/dist/renderer-client.d.mts +4 -4
  194. package/dist/renderer-client.d.ts +4 -4
  195. package/dist/renderer-client.mjs +4 -2
  196. package/dist/{request-B8PGTZNR.d.ts → request-BizeuqD7.d.ts} +1 -1
  197. package/dist/{request-C_xTkJib.d.mts → request-WwB1-Uim.d.mts} +1 -1
  198. package/dist/request.d.mts +2 -2
  199. package/dist/request.d.ts +2 -2
  200. package/dist/{route-rendering-RNtcj607.d.ts → route-rendering-BGhJN64l.d.ts} +1 -1
  201. package/dist/{route-rendering-DlddURL1.d.mts → route-rendering-S6NFjnx4.d.mts} +1 -1
  202. package/dist/{router-B97eB0Mq.d.mts → router-BIheIy9G.d.mts} +1 -1
  203. package/dist/{router-qUVaoEN8.d.ts → router-BUD_j2EL.d.ts} +1 -1
  204. package/dist/routes.cjs +3 -2
  205. package/dist/routes.d.mts +2 -2
  206. package/dist/routes.d.ts +2 -2
  207. package/dist/routes.mjs +2 -1
  208. package/dist/{rsc-pipeline-L4XOZ2TE.cjs → rsc-pipeline-JRGUZBYM.cjs} +11 -11
  209. package/dist/{rsc-pipeline-T3775JUA.mjs → rsc-pipeline-OLAVIKI3.mjs} +10 -10
  210. package/dist/{runtime-C8GUnNeP.d.ts → runtime-CWP-21hP.d.ts} +1 -1
  211. package/dist/{runtime-CaDswfWi.d.mts → runtime-CgJwe6H_.d.mts} +1 -1
  212. package/dist/{runtime-BIBGJO7V.cjs → runtime-G23RSLEK.cjs} +14 -14
  213. package/dist/{runtime-HRSFC4ZC.mjs → runtime-OGCHDACZ.mjs} +12 -12
  214. package/dist/{schema-dev-notice-LZ5NXGLN.mjs → schema-dev-notice-F6QYSOAI.mjs} +2 -2
  215. package/dist/{schema-dev-notice-XV7GZ3QJ.cjs → schema-dev-notice-UU7DMZEU.cjs} +3 -3
  216. package/dist/{search-client-BTXL5XWD.mjs → search-client-OXH6GBNO.mjs} +5 -3
  217. package/dist/search-client-ZZLKVO5R.cjs +15 -0
  218. package/dist/server-action-security.cjs +2 -2
  219. package/dist/server-action-security.mjs +1 -1
  220. package/dist/server-fn.cjs +3 -3
  221. package/dist/server-fn.mjs +2 -2
  222. package/dist/server-plugins.d.mts +2 -2
  223. package/dist/server-plugins.d.ts +2 -2
  224. package/dist/server-query-client.cjs +4 -3
  225. package/dist/server-query-client.mjs +3 -2
  226. package/dist/server-query.cjs +4 -4
  227. package/dist/server-query.mjs +3 -3
  228. package/dist/server.cjs +57 -55
  229. package/dist/server.d.mts +9 -9
  230. package/dist/server.d.ts +9 -9
  231. package/dist/server.mjs +34 -32
  232. package/dist/{spa-router-Dlv5ofg0.d.mts → spa-router-CVOL0Vrq.d.mts} +2 -2
  233. package/dist/{spa-router-qapSboKz.d.ts → spa-router-Kytv4jSB.d.ts} +2 -2
  234. package/dist/testing.cjs +12 -11
  235. package/dist/testing.d.mts +1 -1
  236. package/dist/testing.d.ts +1 -1
  237. package/dist/testing.mjs +9 -8
  238. package/dist/{utils-A-cYF81u.d.ts → utils-DbyXlzaj.d.ts} +1 -1
  239. package/dist/{utils-DyvlSxFk.d.mts → utils-Dsa1HZ7X.d.mts} +1 -1
  240. package/dist/version.cjs +2 -2
  241. package/dist/version.mjs +1 -1
  242. package/dist/vite.cjs +25 -23
  243. package/dist/vite.d.mts +4 -4
  244. package/dist/vite.d.ts +4 -4
  245. package/dist/vite.mjs +24 -22
  246. package/dist/workflows.cjs +4 -4
  247. package/dist/workflows.mjs +3 -3
  248. package/package.json +8 -3
  249. package/dist/base-path-leyrqXbX.d.mts +0 -19
  250. package/dist/base-path-leyrqXbX.d.ts +0 -19
  251. package/dist/chunk-OTOOJIUB.mjs +0 -34
  252. package/dist/search-client-QCYAL6AY.cjs +0 -13
@@ -1,3 +1,6 @@
1
+ import {
2
+ loadFarmProductionVite
3
+ } from "./chunk-PSUYE5HR.mjs";
1
4
  import {
2
5
  FARM_DESKTOP_ENV_MODULE_FILE,
3
6
  FARM_DESKTOP_ENV_MODULE_SOURCE,
@@ -7,9 +10,6 @@ import {
7
10
  createFarmNodeServerEntry,
8
11
  withProductionNodeEnv
9
12
  } from "./chunk-VU3MYZPO.mjs";
10
- import {
11
- loadFarmProductionVite
12
- } from "./chunk-PSUYE5HR.mjs";
13
13
  import {
14
14
  generateNativeMCPPluginSource
15
15
  } from "./chunk-KQH2COEJ.mjs";
@@ -18,7 +18,7 @@ import {
18
18
  compileFarmDocsAdapterEdgeManifest,
19
19
  createFarmDocsAPIHandler,
20
20
  hasFarmDocsRuntimeAdapter
21
- } from "./chunk-76R5GJER.mjs";
21
+ } from "./chunk-3HA7PP72.mjs";
22
22
  import {
23
23
  FARM_DOCS_LAST_MODIFIED_MANIFEST,
24
24
  createFarmDocsHandler,
@@ -29,15 +29,15 @@ import {
29
29
  loadFarmDocsPage,
30
30
  resolveFarmDocsContentDir,
31
31
  toFarmDocsMarkdownPage
32
- } from "./chunk-KO2NWUKN.mjs";
32
+ } from "./chunk-4GJJ65RB.mjs";
33
33
  import {
34
34
  generateFarmDocsSearchClientRuntime,
35
35
  isFarmDocsSearchEnabled,
36
36
  resolveFarmDocsSearchClientModule
37
- } from "./chunk-WB6XES4V.mjs";
37
+ } from "./chunk-ALEUMLJN.mjs";
38
38
  import {
39
39
  FARM_PRERENDER_ENV
40
- } from "./chunk-M7LKA632.mjs";
40
+ } from "./chunk-YLNBWUVS.mjs";
41
41
  import {
42
42
  resolveFarmInstrumentationFile
43
43
  } from "./chunk-N35YPV4N.mjs";
@@ -52,7 +52,7 @@ import {
52
52
  getDeployTargetForPreset,
53
53
  hasCustomFarmRouteContext,
54
54
  resolveDeployOutputPath
55
- } from "./chunk-2DEPNLXK.mjs";
55
+ } from "./chunk-JF5CNHHF.mjs";
56
56
  import {
57
57
  DEFAULT_NOT_FOUND_STYLES,
58
58
  FARM_LAYOUT_ELEMENT_CLIENT_SOURCE,
@@ -84,10 +84,10 @@ import {
84
84
  resolveFarmIsolatedClientHydrationMode,
85
85
  resolveFarmNotFoundComponentPath,
86
86
  usesFarmServerTree
87
- } from "./chunk-IWJKJDNW.mjs";
87
+ } from "./chunk-S5ZA2T2W.mjs";
88
88
  import {
89
89
  loadTailwindVitePlugin
90
- } from "./chunk-XLLVWLWO.mjs";
90
+ } from "./chunk-PIHKO25G.mjs";
91
91
  import {
92
92
  PluginManager
93
93
  } from "./chunk-GHNW564E.mjs";
@@ -95,7 +95,7 @@ import {
95
95
  generateFarmTypeArtifacts,
96
96
  readRouteRenderingDirectiveFromFile,
97
97
  resolveRouteRenderingConfigFromFile
98
- } from "./chunk-SHJJM6OG.mjs";
98
+ } from "./chunk-WVX3BUNJ.mjs";
99
99
  import {
100
100
  HOISTED_HEAD_ELEMENT,
101
101
  appMiddlewareMayHandlePath,
@@ -108,7 +108,7 @@ import {
108
108
  layoutsCanCoverSamePage,
109
109
  routeBoundaryCoversDirectory,
110
110
  stripRouteGroups
111
- } from "./chunk-ZIBIE7AH.mjs";
111
+ } from "./chunk-7UPCJDB5.mjs";
112
112
  import {
113
113
  farmPluginMayAffectRuntimePath
114
114
  } from "./chunk-UUMKLGUU.mjs";
@@ -122,7 +122,7 @@ import {
122
122
  listFarmBuiltInRoutePaths,
123
123
  resolveFarmApiCatalogInput,
124
124
  resolveFarmAppManifestInput
125
- } from "./chunk-JJOWY3XD.mjs";
125
+ } from "./chunk-R5P4KFPM.mjs";
126
126
  import {
127
127
  FARM_DEFAULT_MCP_PATH,
128
128
  createFarmDefaultMCPServer,
@@ -174,16 +174,16 @@ import {
174
174
  import {
175
175
  applyFarmWorkflowVercelCrons,
176
176
  prepareFarmWorkflowsForNitro
177
- } from "./chunk-5V4KZOZO.mjs";
177
+ } from "./chunk-LZ4SB57H.mjs";
178
178
  import {
179
179
  applyFarmCronVercelCrons,
180
180
  createFarmCronCloudflareConfig,
181
181
  mergeScheduledTasks,
182
182
  prepareFarmCronForNitro
183
- } from "./chunk-UCQ52TJY.mjs";
183
+ } from "./chunk-X3JNB2TB.mjs";
184
184
  import {
185
185
  resolveServerActionsConfig
186
- } from "./chunk-BW6SCVYX.mjs";
186
+ } from "./chunk-FSQMN2MQ.mjs";
187
187
  import {
188
188
  getFarmMarkdownAlternatePath
189
189
  } from "./chunk-N77JBPLC.mjs";
@@ -201,10 +201,10 @@ import {
201
201
  appendMiddlewareDirectory,
202
202
  appendMiddlewareRoutePath,
203
203
  compareMiddlewareRouteLocations
204
- } from "./chunk-4HBKBHVP.mjs";
204
+ } from "./chunk-5ENW27SL.mjs";
205
205
  import {
206
206
  APIRouteManager
207
- } from "./chunk-WXHDVXJE.mjs";
207
+ } from "./chunk-KY32FWK7.mjs";
208
208
  import {
209
209
  readFarmI18nCatalogs
210
210
  } from "./chunk-DU4VHHPJ.mjs";
@@ -224,14 +224,14 @@ import {
224
224
  logger,
225
225
  toPosixPath,
226
226
  toViteModuleId
227
- } from "./chunk-2SVJGOAX.mjs";
227
+ } from "./chunk-Y3N5BFRJ.mjs";
228
228
  import {
229
229
  resolveFarmAPIServerBasePath,
230
230
  resolveFarmAPIServerRoutePath
231
231
  } from "./chunk-LM2YOGDK.mjs";
232
232
  import {
233
233
  FARM_VERSION
234
- } from "./chunk-2VCC3GVC.mjs";
234
+ } from "./chunk-ZF3GX4O7.mjs";
235
235
  import {
236
236
  getFarmPresetRuntime
237
237
  } from "./chunk-UAQD67HM.mjs";
@@ -1080,6 +1080,75 @@ function createFarmPrivateClientSourcemapsPlugin(options) {
1080
1080
  };
1081
1081
  }
1082
1082
 
1083
+ // src/middleware/static-config.ts
1084
+ function literalMatcher(node) {
1085
+ if (!node) return void 0;
1086
+ if (node.type === "Literal" && typeof node.value === "string") return node.value;
1087
+ if (node.type === "Literal" && node.regex)
1088
+ return new RegExp(node.regex.pattern, node.regex.flags);
1089
+ if (node.type === "TemplateLiteral" && node.expressions.length === 0) {
1090
+ return node.quasis[0]?.value?.cooked ?? void 0;
1091
+ }
1092
+ return void 0;
1093
+ }
1094
+ function literalMatchers(node) {
1095
+ const values = node.type === "ArrayExpression" ? node.elements : [node];
1096
+ const matchers = [];
1097
+ for (const value of values) {
1098
+ const matcher = literalMatcher(value);
1099
+ if (matcher === void 0) return void 0;
1100
+ matchers.push(matcher);
1101
+ }
1102
+ return matchers;
1103
+ }
1104
+ function unwrap(node) {
1105
+ while (node.type === "TSAsExpression" || node.type === "TSSatisfiesExpression" || node.type === "ParenthesizedExpression") {
1106
+ node = node.expression;
1107
+ }
1108
+ return node;
1109
+ }
1110
+ function readStaticMiddlewareConfig(program) {
1111
+ let found = null;
1112
+ for (const statement of program.body) {
1113
+ if (statement.type === "ExportNamedDeclaration" && !statement.declaration) {
1114
+ if (statement.specifiers.some((specifier) => specifier.exported?.name === "config")) {
1115
+ return "unknown";
1116
+ }
1117
+ continue;
1118
+ }
1119
+ const declaration = statement.type === "ExportNamedDeclaration" ? statement.declaration : null;
1120
+ if (!declaration || declaration.type !== "VariableDeclaration") continue;
1121
+ for (const declarator of declaration.declarations) {
1122
+ if (declarator.id?.type !== "Identifier" || declarator.id.name !== "config") continue;
1123
+ if (declaration.kind !== "const" || !declarator.init) return "unknown";
1124
+ const init = unwrap(declarator.init);
1125
+ if (init.type !== "ObjectExpression") return "unknown";
1126
+ const config = {};
1127
+ for (const property of init.properties) {
1128
+ if (property.type !== "Property" || property.computed) return "unknown";
1129
+ const key = property.key?.name ?? property.key?.value;
1130
+ if (key !== "matcher" && key !== "exclude") continue;
1131
+ const matchers = literalMatchers(unwrap(property.value));
1132
+ if (!matchers) return "unknown";
1133
+ if (key === "matcher") config.matcher = matchers;
1134
+ else config.exclude = matchers;
1135
+ }
1136
+ found = config;
1137
+ }
1138
+ }
1139
+ return found;
1140
+ }
1141
+ async function readMiddlewareFileConfig(filePath) {
1142
+ try {
1143
+ const [{ readFile }, vite] = await Promise.all([import("fs/promises"), import("vite")]);
1144
+ const parsed = vite.parseSync(filePath, await readFile(filePath, "utf8"));
1145
+ if (parsed.errors?.length) return "unknown";
1146
+ return readStaticMiddlewareConfig(parsed.program);
1147
+ } catch {
1148
+ return "unknown";
1149
+ }
1150
+ }
1151
+
1083
1152
  // src/nitro/universal-build.ts
1084
1153
  function preloadFarmNitroBuilder() {
1085
1154
  return import("nitro/builder").then(
@@ -3355,6 +3424,14 @@ function countFarmKeptLayouts(request, layouts, params) {
3355
3424
  // browser's chain starts at the next layout.
3356
3425
  return keys.length > 1 ? 1 + getSharedLayoutPrefixLength(chain, keys.slice(1)) : 0;
3357
3426
  }
3427
+ `;
3428
+ var FARM_DOCUMENT_PARSED_RUNTIME = `function farmDocumentParsed() {
3429
+ if (document.readyState !== "loading") return Promise.resolve();
3430
+ return new Promise(function(resolve) {
3431
+ document.addEventListener("DOMContentLoaded", function() { resolve(); }, { once: true });
3432
+ });
3433
+ }
3434
+
3358
3435
  `;
3359
3436
  function generateClientHydrationEntry(clientPages, layoutRoutes, clientRouteSlots, root, srcDir, docsSearchEnabled, docsSearchModuleId, docsEntryPath, docsAdapterReact, i18nConfig = {
3360
3437
  enabled: false,
@@ -3715,7 +3792,7 @@ void farmClientRuntime.start();
3715
3792
  spaRouter.initializeHistory();
3716
3793
  window.__FARM_SPA_ROUTER__ = spaRouter;
3717
3794
 
3718
- ${islandValues ? "void farmDocumentParsed().then(hydrateFarmDocsAdapterRuntime);" : "void hydrateFarmDocsAdapterRuntime();"}
3795
+ ${islandValues ? `${FARM_DOCUMENT_PARSED_RUNTIME}void farmDocumentParsed().then(hydrateFarmDocsAdapterRuntime);` : "void hydrateFarmDocsAdapterRuntime();"}
3719
3796
 
3720
3797
  window.addEventListener("beforeunload", function(event) {
3721
3798
  if (spaRouter.shouldBlockUnload()) {
@@ -3842,7 +3919,7 @@ ${layoutImports}
3842
3919
  ${rendererClientImports}
3843
3920
  ${isolatedHydrationImport}
3844
3921
  ${providerClientCode.imports}
3845
- import { createClientCancellation, createClientPluginManager, getFarmIslandValueHeaders, getHashTargetElement, installChunkErrorRecovery, isFarmBlockedNavigationURL, isFarmExternalNavigationURL, reconcileFarmDocumentHead, runFarmNavigationDelegates, scheduleFarmIslandHydration, searchParamsToObject, setFarmBasePath, setFarmTrailingSlashPreference, stripFarmBasePath } from "@farm.js/core/internal/client-runtime";
3922
+ import { createClientCancellation, createClientPluginManager, getFarmIslandValueHeaders, getHashTargetElement, installChunkErrorRecovery, isFarmBlockedNavigationURL, isFarmExternalNavigationURL, reconcileFarmDocumentHead, runFarmNavigationDelegates, scheduleFarmIslandHydration, createFarmSearchParams, searchParamsToObject, setFarmBasePath, setFarmTrailingSlashPreference, stripFarmBasePath } from "@farm.js/core/internal/client-runtime";
3846
3923
  import { createFarmDeploymentMismatchError, createFarmDeploymentRequestHeaders, isFarmDeploymentMismatchResponse } from "@farm.js/core/deployment";
3847
3924
  import { createFarmRouter, isFarmRouteActive, matchFarmRoute } from "@farm.js/core/router";
3848
3925
  ${clientPluginEntry.imports}
@@ -4029,7 +4106,7 @@ async function createMatchedHydrationRoute(matched, pathname, searchParams, serv
4029
4106
  if (!serverProps || serverProps.__farmRoutePropsResolved !== true) return null;
4030
4107
  const props = {
4031
4108
  ...reviveServerPageProps(serverProps),
4032
- searchParams: Promise.resolve(serverProps.search ?? searchParams),
4109
+ searchParams: createFarmSearchParams(serverProps.search ?? searchParams),
4033
4110
  };
4034
4111
  pageElement = React.createElement(Component, props);
4035
4112
  } else if (typeof Component === "function" && Component.constructor && Component.constructor.name === "AsyncFunction") {
@@ -4044,7 +4121,7 @@ async function createMatchedHydrationRoute(matched, pathname, searchParams, serv
4044
4121
  const props = {
4045
4122
  ...reviveServerPageProps(serverProps),
4046
4123
  params: params,
4047
- searchParams: Promise.resolve(searchParams),
4124
+ searchParams: createFarmSearchParams(searchParams),
4048
4125
  };
4049
4126
  pageElement = React.createElement(Component, props);
4050
4127
  }
@@ -4290,16 +4367,7 @@ function resetReactRoot() {
4290
4367
  isHydrated = false;
4291
4368
  }
4292
4369
 
4293
- ${islandValues ? `// Islands mode starts the client while the body streams (an async entry): a page of islands
4294
- // hydrates them as they arrive; anything else waits for the whole document.
4295
- function farmDocumentParsed() {
4296
- if (document.readyState !== "loading") return Promise.resolve();
4297
- return new Promise(function(resolve) {
4298
- document.addEventListener("DOMContentLoaded", function() { resolve(); }, { once: true });
4299
- });
4300
- }
4301
-
4302
- ` : ""}// Hydrate client components
4370
+ ${islandValues ? FARM_DOCUMENT_PARSED_RUNTIME : ""}// Hydrate client components
4303
4371
  async function hydrate() {
4304
4372
  await window.__FARM_PPR_REFRESH_PROMISE__;
4305
4373
  // A PPR refresh that is still retrying must not replace DOM once hydration starts.
@@ -4703,7 +4771,7 @@ ${islandValues ? ` // Islands mode: navigations name the layouts on screen, and
4703
4771
  if (!this.isCurrentNavigation(navigation, clientNavigation)) return;
4704
4772
  const params = matched.params;
4705
4773
  const searchParams = searchParamsToObject(url.searchParams);
4706
- const props = { params: params, searchParams: Promise.resolve(searchParams) };
4774
+ const props = { params: params, searchParams: createFarmSearchParams(searchParams) };
4707
4775
  let pageElement = React.createElement(Component, props);
4708
4776
  if (hasHydratableLayout(pathname)) {
4709
4777
  pageElement = createLayoutPageBoundary(matched.route, pageElement);
@@ -5240,7 +5308,7 @@ async function buildSSRInMemory(productionVite, config, root, routeManager, apiR
5240
5308
  srcDir: config.srcDir,
5241
5309
  clientEntry: FARM_CLIENT_JS_SRC_PLACEHOLDER,
5242
5310
  fontStylesheetHref: "/farm-fonts.css",
5243
- globalStylesheetHref: "/assets/globals.css"
5311
+ globalStylesheetHref: FARM_CLIENT_CSS_HREF_PLACEHOLDER
5244
5312
  }) : await (async () => {
5245
5313
  const guardedPaths = new Set(getFarmDocsGuardedPaths(config, middlewareRoutes));
5246
5314
  return compileFarmDocsManifest(config.docs, {
@@ -5249,7 +5317,7 @@ async function buildSSRInMemory(productionVite, config, root, routeManager, apiR
5249
5317
  clientEntry: FARM_CLIENT_JS_SRC_PLACEHOLDER,
5250
5318
  fontAssets: toFarmDocsPublicFontAssets(resolveFarmDocsFontAssets(root)),
5251
5319
  fontStylesheetHref: "/farm-fonts.css",
5252
- globalStylesheetHref: "/assets/globals.css",
5320
+ globalStylesheetHref: FARM_CLIENT_CSS_HREF_PLACEHOLDER,
5253
5321
  isPathGuarded: (pathname) => guardedPaths.has(pathname)
5254
5322
  });
5255
5323
  })()
@@ -6268,6 +6336,7 @@ function renderFarmServerTreeLayout(Layout, props, outlets) {
6268
6336
  resolveFarmPreviewDeployment,
6269
6337
  resolveFarmWebRequestOrigin,
6270
6338
  runWithFarmRequestSpan,
6339
+ createFarmSearchParams,
6271
6340
  searchParamsToObject,
6272
6341
  setFarmBasePath,
6273
6342
  setFarmTrailingSlashPreference,
@@ -6788,7 +6857,8 @@ const farmDocsHandler = ${config.docs?.enabled ? hasPrecompiledDocs ? "farmDocsP
6788
6857
  getApplicableLayouts(getFarmRoutePathname(pathname)).map((layout) => layout.module),
6789
6858
  ),
6790
6859
  fontStylesheetHref: "/farm-fonts.css",
6791
- globalStylesheetHref: "/assets/globals.css",
6860
+ // The client stylesheet carries globals.css under a content-hashed name.
6861
+ globalStylesheetHref: ${JSON.stringify(FARM_CLIENT_CSS_HREF_PLACEHOLDER)},
6792
6862
  isPathGuarded: isFarmDocsPathGuarded,
6793
6863
  })` : "null"};
6794
6864
  const farmDocsAPIHandler = ${config.docs?.enabled ? hasPrecompiledDocs ? "farmDocsPrecompiledRuntime.handleAPIRequest" : adapterOwnsDocsRuntime ? "null" : `createFarmDocsAPIHandler({ rootDir: farmDocsRuntimeRoot, srcDir: ${JSON.stringify(config.srcDir)}, docs: farmDocsResolvedConfig, isPathGuarded: isFarmDocsPathGuarded })` : "null"};
@@ -7853,7 +7923,7 @@ async function handleMetadataImageRequest(request, routePathname) {
7853
7923
  const searchParams = searchParamsToObject(url.searchParams);
7854
7924
  const props = {
7855
7925
  params: match.params,
7856
- searchParams: Promise.resolve(searchParams),
7926
+ searchParams: createFarmSearchParams(searchParams),
7857
7927
  path: match.pagePath,
7858
7928
  };
7859
7929
  const value = typeof imageModule.default === "function"
@@ -9317,7 +9387,7 @@ ${hasServerRuntimeIntegrations ? `
9317
9387
  const rawPageProps = withFarmRouteContext(
9318
9388
  {
9319
9389
  params,
9320
- searchParams: Promise.resolve(searchParamsObj),
9390
+ searchParams: createFarmSearchParams(searchParamsObj),
9321
9391
  path: pathname,
9322
9392
  ...(middlewareData?.size ? { middleware: { data: middlewareData } } : {}),
9323
9393
  },
@@ -9358,7 +9428,7 @@ ${hasServerRuntimeIntegrations ? `
9358
9428
  ...rawPageProps,
9359
9429
  params: parsedParams,
9360
9430
  search: parsedSearch,
9361
- searchParams: Promise.resolve(parsedSearch),
9431
+ searchParams: createFarmSearchParams(parsedSearch),
9362
9432
  };
9363
9433
  })();
9364
9434
  if (
@@ -9377,7 +9447,7 @@ ${hasServerRuntimeIntegrations ? `
9377
9447
  const routeStateProps = {
9378
9448
  ...rawPageProps,
9379
9449
  search: searchParamsObj,
9380
- searchParams: Promise.resolve(searchParamsObj),
9450
+ searchParams: createFarmSearchParams(searchParamsObj),
9381
9451
  error: routeStateError,
9382
9452
  };
9383
9453
  if (isFarmNotFoundError(routeStateError) && routeComponents?.notFound) {
@@ -9406,7 +9476,7 @@ ${hasServerRuntimeIntegrations ? `
9406
9476
  const rawSlotProps = withFarmRouteContext(
9407
9477
  {
9408
9478
  params: slot.params,
9409
- searchParams: Promise.resolve(searchParamsObj),
9479
+ searchParams: createFarmSearchParams(searchParamsObj),
9410
9480
  path: pathname,
9411
9481
  ...(middlewareData?.size ? { middleware: { data: middlewareData } } : {}),
9412
9482
  },
@@ -9433,7 +9503,7 @@ ${hasServerRuntimeIntegrations ? `
9433
9503
  search: slotSchemas.search?.parse
9434
9504
  ? slotSchemas.search.parse(searchParamsObj)
9435
9505
  : searchParamsObj,
9436
- searchParams: Promise.resolve(
9506
+ searchParams: createFarmSearchParams(
9437
9507
  slotSchemas.search?.parse
9438
9508
  ? slotSchemas.search.parse(searchParamsObj)
9439
9509
  : searchParamsObj,
@@ -10097,7 +10167,7 @@ ${hasServerRuntimeIntegrations ? `
10097
10167
  reset: function() {},
10098
10168
  params,
10099
10169
  search: searchParamsObj,
10100
- searchParams: Promise.resolve(searchParamsObj),
10170
+ searchParams: createFarmSearchParams(searchParamsObj),
10101
10171
  path: pathname,
10102
10172
  ...(middlewareData?.size ? { middleware: { data: middlewareData } } : {}),
10103
10173
  });
@@ -10674,12 +10744,18 @@ async function buildNitroUniversal(config, routeManager, apiRouteManager, server
10674
10744
  const rewriteSources = configuredRewrites.map((route) => route.source);
10675
10745
  const prerenderRoutes = [];
10676
10746
  const skippedPrerenderRoutes = [];
10747
+ const middlewareRoutesWithConfig = ssgPages.length > 0 ? await Promise.all(
10748
+ middlewareRoutes.map(async (route) => ({
10749
+ ...route,
10750
+ config: await readMiddlewareFileConfig(route.filePath)
10751
+ }))
10752
+ ) : middlewareRoutes;
10677
10753
  for (const page of ssgPages) {
10678
10754
  if (page.revalidate !== void 0) continue;
10679
10755
  if (prerenderRoutes.includes(page.urlPath)) continue;
10680
10756
  const reason = getPhysicalPrerenderBypassReason({
10681
10757
  config,
10682
- middlewareRoutes,
10758
+ middlewareRoutes: middlewareRoutesWithConfig,
10683
10759
  routeRuntimeManifest,
10684
10760
  redirectSources,
10685
10761
  rewriteSources,
@@ -12063,7 +12139,7 @@ function resolveLegacyPageEntry(config, root, srcDir) {
12063
12139
  }
12064
12140
  async function buildNitro(config, routeManager, apiRouteManager, serverRenderer, preset, root, distDir, pluginManager) {
12065
12141
  const [{ createNitroConfig }, { createNitro, build: nitroBuild }] = await Promise.all([
12066
- import("./nitro-2Q5NVY7L.mjs"),
12142
+ import("./nitro-R444AF3O.mjs"),
12067
12143
  import("nitro/builder")
12068
12144
  ]);
12069
12145
  let nitroConfig = await createNitroConfig(
@@ -1,11 +1,11 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkJ2ZEVDEKcjs = require('./chunk-J2ZEVDEK.cjs');
4
+ var _chunkEHB77D5Ucjs = require('./chunk-EHB77D5U.cjs');
5
5
 
6
6
  // src/middleware/path.ts
7
7
  function appendMiddlewareRoutePath(routePath, directoryName) {
8
- const marker = _chunkJ2ZEVDEKcjs.parseInterceptionMarker.call(void 0, directoryName);
8
+ const marker = _chunkEHB77D5Ucjs.parseInterceptionMarker.call(void 0, directoryName);
9
9
  if (marker) {
10
10
  const owner = routePath.split("/").filter(Boolean);
11
11
  const parts = [
@@ -14,7 +14,7 @@ function appendMiddlewareRoutePath(routePath, directoryName) {
14
14
  ];
15
15
  return `/${parts.join("/")}`;
16
16
  }
17
- if (directoryName.startsWith("(") && directoryName.endsWith(")") || _chunkJ2ZEVDEKcjs.isRouteSlotSegment.call(void 0, directoryName)) {
17
+ if (directoryName.startsWith("(") && directoryName.endsWith(")") || _chunkEHB77D5Ucjs.isRouteSlotSegment.call(void 0, directoryName)) {
18
18
  return routePath;
19
19
  }
20
20
  return routePath === "/" ? `/${directoryName}` : `${routePath}/${directoryName}`;
@@ -0,0 +1,12 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/islands-action-protocol.ts
2
+ var FARM_ACTION_RESULT_KEY = "__farmAction";
3
+ function isFarmIslandsActionResult(value) {
4
+ if (!value || typeof value !== "object") return false;
5
+ const meta = value[FARM_ACTION_RESULT_KEY];
6
+ return !!meta && typeof meta === "object" && Array.isArray(meta.invalidations);
7
+ }
8
+
9
+
10
+
11
+
12
+ exports.FARM_ACTION_RESULT_KEY = FARM_ACTION_RESULT_KEY; exports.isFarmIslandsActionResult = isFarmIslandsActionResult;