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

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 (299) hide show
  1. package/dist/{agent-mcp-BBMfNpsC.d.ts → agent-mcp.d-CR5Ov83o.d.ts} +1 -1
  2. package/dist/{agent-mcp-D44ip11f.d.mts → agent-mcp.d-Z5DuwrqW.d.mts} +1 -1
  3. package/dist/agent-runtime.cjs +3 -3
  4. package/dist/agent-runtime.d.mts +13 -13
  5. package/dist/agent-runtime.d.ts +13 -13
  6. package/dist/agent-runtime.mjs +2 -2
  7. package/dist/{analyzer-VKUDHNDF.cjs → analyzer-T76CN3S7.cjs} +70 -21
  8. package/dist/{analyzer-HOUCQR3K.mjs → analyzer-Z6TNEAET.mjs} +70 -21
  9. package/dist/api/client.d.mts +4 -4
  10. package/dist/api/client.d.ts +4 -4
  11. package/dist/api/route-manager.d.mts +19 -19
  12. package/dist/api/route-manager.d.ts +19 -19
  13. package/dist/api/runtime.d.mts +15 -15
  14. package/dist/api/runtime.d.ts +15 -15
  15. package/dist/{api-client-CvI5oOBE.d.ts → api-client.d-BWcqZciH.d.ts} +3 -3
  16. package/dist/{api-client-CFdv-Xgh.d.mts → api-client.d-CeA6tNA6.d.mts} +3 -3
  17. package/dist/api.cjs +3 -3
  18. package/dist/api.d.mts +21 -21
  19. package/dist/api.d.ts +21 -21
  20. package/dist/api.mjs +2 -2
  21. package/dist/{app-manifest-LzjoNPeq.d.ts → app-manifest.d-CAHkOBFa.d.mts} +1 -1
  22. package/dist/{app-manifest-BC6mFn5A.d.mts → app-manifest.d-DiWr_Jfx.d.ts} +1 -1
  23. package/dist/app-markdown.d.mts +14 -14
  24. package/dist/app-markdown.d.ts +14 -14
  25. package/dist/{app-aeD4s_mg.d.mts → app.d-BfgJCsTQ.d.mts} +12 -10
  26. package/dist/{app-CourU3rQ.d.ts → app.d-DmapqkbV.d.ts} +12 -10
  27. package/dist/{chunk-AMRK3P6W.mjs → chunk-4SSRBCBR.mjs} +233 -84
  28. package/dist/{chunk-PDJSL7PL.cjs → chunk-5IONBVJY.cjs} +3 -3
  29. package/dist/{chunk-IOUOGRDX.cjs → chunk-5N7QAGEA.cjs} +25 -6
  30. package/dist/{chunk-DGOLAZLV.cjs → chunk-65Y5SIBH.cjs} +1 -1
  31. package/dist/{chunk-ZF3GX4O7.mjs → chunk-6CYQQQGR.mjs} +1 -1
  32. package/dist/{chunk-QI5AQMEE.mjs → chunk-72NBDVWQ.mjs} +1 -1
  33. package/dist/{chunk-I2ZA5SXS.mjs → chunk-74Z5KX4A.mjs} +53 -19
  34. package/dist/chunk-7FVVQEVL.cjs +541 -0
  35. package/dist/{chunk-OD6WM3I7.mjs → chunk-AV26KHTG.mjs} +1 -1
  36. package/dist/chunk-C3BOESDW.mjs +541 -0
  37. package/dist/{chunk-WAPQWAE6.cjs → chunk-CECUDGXQ.cjs} +9 -8
  38. package/dist/{chunk-IUQLRTTO.mjs → chunk-CO6UYM2D.mjs} +14 -1
  39. package/dist/{chunk-JF5CNHHF.mjs → chunk-CTM4SPB3.mjs} +123 -8
  40. package/dist/{chunk-WVX3BUNJ.mjs → chunk-CZ35L6PL.mjs} +8 -1
  41. package/dist/{chunk-SO3T6T4I.cjs → chunk-DTU4PX7V.cjs} +408 -259
  42. package/dist/{chunk-YLNBWUVS.mjs → chunk-E6LTONL4.mjs} +1 -1
  43. package/dist/{chunk-R5P4KFPM.mjs → chunk-E73PGHSR.mjs} +8 -6
  44. package/dist/{chunk-4GJJ65RB.mjs → chunk-EIMK7D2D.mjs} +24 -5
  45. package/dist/{chunk-CY7H5KS4.cjs → chunk-EKJYE4Y7.cjs} +2 -2
  46. package/dist/{chunk-3HA7PP72.mjs → chunk-FM2UEKS2.mjs} +60 -13
  47. package/dist/{chunk-VIFPE5RG.cjs → chunk-GNJIYJMS.cjs} +81 -34
  48. package/dist/{chunk-X5BCMLGP.cjs → chunk-GUJTVM36.cjs} +1 -1
  49. package/dist/{chunk-XWC5NAHV.mjs → chunk-IBSAYAWB.mjs} +2 -2
  50. package/dist/{chunk-J22JD5YJ.cjs → chunk-J3LBO2O4.cjs} +9 -7
  51. package/dist/{chunk-J37KTQIA.cjs → chunk-NK2VWS7P.cjs} +52 -3
  52. package/dist/{chunk-WSY2JD7O.mjs → chunk-NN3MOPSI.mjs} +1 -1
  53. package/dist/{chunk-O3MMJPC2.cjs → chunk-NPQLMP7M.cjs} +124 -9
  54. package/dist/{chunk-QK3HBOTG.cjs → chunk-NXBHYO7S.cjs} +5 -5
  55. package/dist/{chunk-S5ZA2T2W.mjs → chunk-PMKUU273.mjs} +21 -7
  56. package/dist/{chunk-75WWOZ5C.mjs → chunk-QOSDWGKT.mjs} +1 -1
  57. package/dist/{chunk-VO6NLTV4.cjs → chunk-QXPSWMUD.cjs} +3 -3
  58. package/dist/{chunk-Y7TLL65B.cjs → chunk-UQHIWZZ6.cjs} +11 -4
  59. package/dist/{chunk-PPDHCRTC.mjs → chunk-VS7EHLLW.mjs} +1 -1
  60. package/dist/{chunk-F42U3R4F.cjs → chunk-WZW6LEHM.cjs} +55 -41
  61. package/dist/{chunk-USL2ANCB.cjs → chunk-X2AMN2WV.cjs} +2 -2
  62. package/dist/{chunk-HHFMECFO.mjs → chunk-Y2G5SJFB.mjs} +2 -1
  63. package/dist/{chunk-Z5MZDFX4.cjs → chunk-YIHRZBD7.cjs} +14 -1
  64. package/dist/{chunk-DWW3AMJX.cjs → chunk-YU42A5MA.cjs} +282 -248
  65. package/dist/{chunk-MMEEXMUQ.cjs → chunk-ZOWNWHK6.cjs} +2 -2
  66. package/dist/{chunk-C5JXCUKR.mjs → chunk-ZQ5BDNKW.mjs} +51 -2
  67. package/dist/client/lifecycle.d.mts +1 -1
  68. package/dist/client/lifecycle.d.ts +1 -1
  69. package/dist/{client-plugins-cqy_dQd0.d.mts → client-plugins.d-Bx3FXpqm.d.mts} +57 -15
  70. package/dist/{client-plugins-CFBEfVPO.d.ts → client-plugins.d-TiLbS5j4.d.ts} +57 -15
  71. package/dist/client-plugins.d.mts +13 -13
  72. package/dist/client-plugins.d.ts +13 -13
  73. package/dist/client.d.mts +24 -24
  74. package/dist/client.d.ts +24 -24
  75. package/dist/{config-CnhyvvmT.d.mts → config.d-iRPI16ku.d.mts} +6 -2
  76. package/dist/{config-CnhyvvmT.d.ts → config.d-iRPI16ku.d.ts} +6 -2
  77. package/dist/config.d.mts +13 -13
  78. package/dist/config.d.ts +13 -13
  79. package/dist/desktop.d.mts +14 -14
  80. package/dist/desktop.d.ts +14 -14
  81. package/dist/{dev-guard-YLO5DE3H.cjs → dev-guard-2UW2KERP.cjs} +2 -2
  82. package/dist/{dev-guard-4PFQNXQX.mjs → dev-guard-ONNMVQUN.mjs} +1 -1
  83. package/dist/{devtools-4ZLMD454.cjs → devtools-6XWCZIGO.cjs} +4 -4
  84. package/dist/{devtools-4MLL3RAL.mjs → devtools-UQLDAOEI.mjs} +3 -3
  85. package/dist/docs.cjs +8 -6
  86. package/dist/docs.d.mts +23 -15
  87. package/dist/docs.d.ts +23 -15
  88. package/dist/docs.mjs +7 -5
  89. package/dist/environment/vite.cjs +2 -2
  90. package/dist/environment/vite.d.mts +1 -1
  91. package/dist/environment/vite.d.ts +1 -1
  92. package/dist/environment/vite.mjs +1 -1
  93. package/dist/{generate-route-types-TF5Wwtvz.d.mts → generate-route-types.d-BL2pq6xC.d.ts} +1 -1
  94. package/dist/{generate-route-types-DQP0cUzk.d.ts → generate-route-types.d-BoVDU8qX.d.mts} +1 -1
  95. package/dist/i18n/client.d.mts +2 -2
  96. package/dist/i18n/client.d.ts +2 -2
  97. package/dist/i18n/index.d.mts +3 -3
  98. package/dist/i18n/index.d.ts +3 -3
  99. package/dist/i18n/server.d.mts +5 -5
  100. package/dist/i18n/server.d.ts +5 -5
  101. package/dist/image/server.d.mts +1 -1
  102. package/dist/image/server.d.ts +1 -1
  103. package/dist/image/sharp.d.mts +1 -1
  104. package/dist/image/sharp.d.ts +1 -1
  105. package/dist/image.d.mts +1 -1
  106. package/dist/image.d.ts +1 -1
  107. package/dist/index.cjs +20 -17
  108. package/dist/{index-D3l4tREW.d.ts → index.d-BNNDpql4.d.ts} +2 -2
  109. package/dist/{index-DPUAPho_.d.mts → index.d-BqcfqJvt.d.mts} +2 -2
  110. package/dist/{index-BxjN_UDZ.d.ts → index.d-YxJ2AiDF.d.mts} +2 -2
  111. package/dist/{index-BYkNbeQV.d.mts → index.d-yueUNipJ.d.ts} +2 -2
  112. package/dist/index.d.mts +42 -42
  113. package/dist/index.d.ts +42 -42
  114. package/dist/index.mjs +19 -16
  115. package/dist/instrumentation.d.mts +2 -2
  116. package/dist/instrumentation.d.ts +2 -2
  117. package/dist/integrations.cjs +3 -3
  118. package/dist/integrations.d.mts +13 -13
  119. package/dist/integrations.d.ts +13 -13
  120. package/dist/integrations.mjs +2 -2
  121. package/dist/internal/app-markdown-runtime.d.mts +14 -14
  122. package/dist/internal/app-markdown-runtime.d.ts +14 -14
  123. package/dist/internal/build-runtime.cjs +16 -15
  124. package/dist/internal/build-runtime.d.mts +16 -16
  125. package/dist/internal/build-runtime.d.ts +16 -16
  126. package/dist/internal/build-runtime.mjs +15 -14
  127. package/dist/internal/cli-runtime.cjs +7 -7
  128. package/dist/internal/cli-runtime.mjs +6 -6
  129. package/dist/internal/client-error-overlay.cjs +4 -4
  130. package/dist/internal/client-error-overlay.mjs +1 -1
  131. package/dist/internal/client-runtime.d.mts +21 -21
  132. package/dist/internal/client-runtime.d.ts +21 -21
  133. package/dist/internal/compression-runtime.d.mts +13 -13
  134. package/dist/internal/compression-runtime.d.ts +13 -13
  135. package/dist/internal/config-runtime.cjs +5 -5
  136. package/dist/internal/config-runtime.d.mts +29 -92
  137. package/dist/internal/config-runtime.d.ts +29 -92
  138. package/dist/internal/config-runtime.mjs +4 -4
  139. package/dist/internal/form-actions.d.mts +1 -1
  140. package/dist/internal/form-actions.d.ts +1 -1
  141. package/dist/internal/infra-analytics-runtime.cjs +5 -5
  142. package/dist/internal/infra-analytics-runtime.mjs +3 -3
  143. package/dist/internal/island-value-store.d.mts +1 -1
  144. package/dist/internal/island-value-store.d.ts +1 -1
  145. package/dist/internal/islands-runtime.d.mts +1 -1
  146. package/dist/internal/islands-runtime.d.ts +1 -1
  147. package/dist/internal/isolated-boundary.d.mts +2 -2
  148. package/dist/internal/isolated-boundary.d.ts +2 -2
  149. package/dist/internal/product-telemetry-runtime.cjs +2 -2
  150. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  151. package/dist/internal/production-runtime.cjs +11 -3
  152. package/dist/internal/production-runtime.d.mts +57 -31
  153. package/dist/internal/production-runtime.d.ts +57 -31
  154. package/dist/internal/production-runtime.mjs +10 -2
  155. package/dist/internal/server-tree.d.mts +1 -1
  156. package/dist/internal/server-tree.d.ts +1 -1
  157. package/dist/markdown.d.mts +13 -13
  158. package/dist/markdown.d.ts +13 -13
  159. package/dist/middleware.cjs +4 -4
  160. package/dist/middleware.d.mts +15 -15
  161. package/dist/middleware.d.ts +15 -15
  162. package/dist/middleware.mjs +3 -3
  163. package/dist/mobile.d.mts +7 -7
  164. package/dist/mobile.d.ts +7 -7
  165. package/dist/{navigation-delegate-BU4xqdnw.d.ts → navigation-delegate.d-BY1e_Xrh.d.ts} +1 -1
  166. package/dist/{navigation-delegate-DLhbfEN4.d.mts → navigation-delegate.d-HnDXhlyP.d.mts} +1 -1
  167. package/dist/navigation.d.mts +17 -17
  168. package/dist/navigation.d.ts +17 -17
  169. package/dist/observability.d.mts +1 -1
  170. package/dist/observability.d.ts +1 -1
  171. package/dist/plugin.cjs +11 -11
  172. package/dist/plugin.d.mts +17 -17
  173. package/dist/plugin.d.ts +17 -17
  174. package/dist/plugin.mjs +10 -10
  175. package/dist/{production-runtime-DLA4J5WG.d.mts → production-runtime.d-BpJUDzP8.d.mts} +3 -3
  176. package/dist/{production-runtime-C78A8YgK.d.ts → production-runtime.d-lMjvE9cf.d.ts} +3 -3
  177. package/dist/{programmatic-routes-client-NpqGBn-i.d.mts → programmatic-routes-client.d-6CGQ3TCk.d.mts} +10 -2
  178. package/dist/{programmatic-routes-client-CBqkNhBy.d.ts → programmatic-routes-client.d-BlFp5hv4.d.ts} +10 -2
  179. package/dist/query/client.d.mts +1 -1
  180. package/dist/query/client.d.ts +1 -1
  181. package/dist/query/index.d.mts +1 -1
  182. package/dist/query/index.d.ts +1 -1
  183. package/dist/query/server.d.mts +1 -1
  184. package/dist/query/server.d.ts +1 -1
  185. package/dist/{render-plan-CrqcBbnV.d.ts → render-plan.d-BH9edqKs.d.mts} +2 -2
  186. package/dist/{render-plan-C9sWvDTv.d.mts → render-plan.d-DhP0mTHF.d.ts} +2 -2
  187. package/dist/renderer-client.d.mts +19 -19
  188. package/dist/renderer-client.d.ts +19 -19
  189. package/dist/{request-BizeuqD7.d.ts → request.d-BVZrsR1v.d.ts} +1 -1
  190. package/dist/{request-WwB1-Uim.d.mts → request.d-DJFRdKi8.d.mts} +1 -1
  191. package/dist/request.d.mts +14 -14
  192. package/dist/request.d.ts +14 -14
  193. package/dist/{resolver-CJ-D9nP-.d.ts → resolver.d-BHyZgpa7.d.ts} +1 -1
  194. package/dist/{resolver-TDyZKgKI.d.mts → resolver.d-JnZKKsc5.d.mts} +1 -1
  195. package/dist/response.d-BolW0Vx_.d.mts +10 -0
  196. package/dist/response.d-BolW0Vx_.d.ts +10 -0
  197. package/dist/{route-rendering-BGhJN64l.d.ts → route-rendering.d-B00JtK_-.d.ts} +1 -1
  198. package/dist/{route-rendering-S6NFjnx4.d.mts → route-rendering.d-Bpmw7PED.d.mts} +1 -1
  199. package/dist/{route-2_yXC6gv.d.mts → route.d-BaVH3V0w.d.mts} +1 -1
  200. package/dist/{route-DFhZj6jN.d.ts → route.d-DBTEqifW.d.ts} +1 -1
  201. package/dist/{router-BUD_j2EL.d.ts → router.d-Bd1x9XxQ.d.ts} +1 -1
  202. package/dist/{router-BIheIy9G.d.mts → router.d-e0jQ3jQ-.d.mts} +1 -1
  203. package/dist/{routes-kEUsXHx3.d.mts → routes.d-Cmv8TgVq.d.mts} +91 -4
  204. package/dist/{routes-8PT9cl60.d.ts → routes.d-D96Dq9lz.d.ts} +91 -4
  205. package/dist/routes.d.mts +13 -13
  206. package/dist/routes.d.ts +13 -13
  207. package/dist/{rsc-pipeline-JRGUZBYM.cjs → rsc-pipeline-DX4OC5FN.cjs} +6 -6
  208. package/dist/{rsc-pipeline-OLAVIKI3.mjs → rsc-pipeline-ZQ4CTVEG.mjs} +5 -5
  209. package/dist/{runtime-OGCHDACZ.mjs → runtime-NPDRDV6R.mjs} +66 -17
  210. package/dist/{runtime-G23RSLEK.cjs → runtime-NQ3EDSA7.cjs} +75 -26
  211. package/dist/{runtime-CihDZ2Rn.d.mts → runtime.d-3iJAKptR.d.mts} +2 -2
  212. package/dist/{runtime-C4CmlOOh.d.ts → runtime.d-BtL3PCL3.d.ts} +2 -2
  213. package/dist/{runtime-CWP-21hP.d.ts → runtime.d-CgB3IJDq.d.mts} +4 -4
  214. package/dist/{runtime-CgJwe6H_.d.mts → runtime.d-D-td-RR3.d.ts} +4 -4
  215. package/dist/server-action-security.d.mts +1 -1
  216. package/dist/server-action-security.d.ts +1 -1
  217. package/dist/server-fn-client.d.mts +5 -5
  218. package/dist/server-fn-client.d.ts +5 -5
  219. package/dist/server-fn.d.mts +3 -3
  220. package/dist/server-fn.d.ts +3 -3
  221. package/dist/server-plugins.d.mts +14 -14
  222. package/dist/server-plugins.d.ts +14 -14
  223. package/dist/server-query-client.d.mts +5 -5
  224. package/dist/server-query-client.d.ts +5 -5
  225. package/dist/server-query.d.mts +2 -2
  226. package/dist/server-query.d.ts +2 -2
  227. package/dist/server.cjs +31 -31
  228. package/dist/server.d.mts +28 -29
  229. package/dist/server.d.ts +28 -29
  230. package/dist/server.mjs +13 -13
  231. package/dist/session-AAU7RNRO.cjs +23 -0
  232. package/dist/session-IGEDQ5PY.mjs +23 -0
  233. package/dist/{spa-router-Kytv4jSB.d.ts → spa-router.d-BWDhS0FK.d.mts} +5 -5
  234. package/dist/{spa-router-CVOL0Vrq.d.mts → spa-router.d-CO01mVOM.d.ts} +5 -5
  235. package/dist/storage.d.mts +2 -2
  236. package/dist/storage.d.ts +2 -2
  237. package/dist/testing.d.mts +14 -14
  238. package/dist/testing.d.ts +14 -14
  239. package/dist/theme/client.d.mts +1 -1
  240. package/dist/theme/client.d.ts +1 -1
  241. package/dist/theme/index.d.mts +2 -2
  242. package/dist/theme/index.d.ts +2 -2
  243. package/dist/theme/runtime.d.mts +1 -1
  244. package/dist/theme/runtime.d.ts +1 -1
  245. package/dist/theme/server.d.mts +1 -1
  246. package/dist/theme/server.d.ts +1 -1
  247. package/dist/{utils-DbyXlzaj.d.ts → utils.d-B77__yh8.d.ts} +1 -1
  248. package/dist/{utils-Dsa1HZ7X.d.mts → utils.d-DRDazhCA.d.mts} +1 -1
  249. package/dist/version.cjs +2 -2
  250. package/dist/version.mjs +1 -1
  251. package/dist/vite.cjs +11 -11
  252. package/dist/vite.d.mts +20 -19
  253. package/dist/vite.d.ts +20 -19
  254. package/dist/vite.mjs +10 -10
  255. package/dist/workflows.d.mts +1 -1
  256. package/dist/workflows.d.ts +1 -1
  257. package/package.json +5 -5
  258. /package/dist/{base-path-BOUV5ozD.d.mts → base-path.d-BOUV5ozD.d.mts} +0 -0
  259. /package/dist/{base-path-BOUV5ozD.d.ts → base-path.d-BOUV5ozD.d.ts} +0 -0
  260. /package/dist/{chunk-recovery-lnQFzcQP.d.mts → chunk-recovery.d-lnQFzcQP.d.mts} +0 -0
  261. /package/dist/{chunk-recovery-lnQFzcQP.d.ts → chunk-recovery.d-lnQFzcQP.d.ts} +0 -0
  262. /package/dist/{client-cache-Deoqq-nM.d.ts → client-cache.d-Deoqq-nM.d.ts} +0 -0
  263. /package/dist/{client-cache-di_Nasxa.d.mts → client-cache.d-di_Nasxa.d.mts} +0 -0
  264. /package/dist/{endpoint-BgHn0lhl.d.ts → endpoint.d-BgHn0lhl.d.ts} +0 -0
  265. /package/dist/{endpoint-BkMSCRf6.d.mts → endpoint.d-BkMSCRf6.d.mts} +0 -0
  266. /package/dist/{image-config-CeDgNyX4.d.mts → image-config.d-CeDgNyX4.d.mts} +0 -0
  267. /package/dist/{image-config-CeDgNyX4.d.ts → image-config.d-CeDgNyX4.d.ts} +0 -0
  268. /package/dist/{instrumentation-runtime-CX9Zh-16.d.mts → instrumentation-runtime.d-CX9Zh-16.d.mts} +0 -0
  269. /package/dist/{instrumentation-runtime-CX9Zh-16.d.ts → instrumentation-runtime.d-CX9Zh-16.d.ts} +0 -0
  270. /package/dist/{island-value-protocol-BRayRghM.d.mts → island-value-protocol.d-BRayRghM.d.mts} +0 -0
  271. /package/dist/{island-value-protocol-BRayRghM.d.ts → island-value-protocol.d-BRayRghM.d.ts} +0 -0
  272. /package/dist/{island-CfGru1MO.d.mts → island.d-CfGru1MO.d.mts} +0 -0
  273. /package/dist/{island-CfGru1MO.d.ts → island.d-CfGru1MO.d.ts} +0 -0
  274. /package/dist/{layers-CcS42OGR.d.mts → layers.d-CcS42OGR.d.mts} +0 -0
  275. /package/dist/{layers-CcS42OGR.d.ts → layers.d-CcS42OGR.d.ts} +0 -0
  276. /package/dist/{lifecycle-C2aLBOwu.d.mts → lifecycle.d-C2aLBOwu.d.mts} +0 -0
  277. /package/dist/{lifecycle-C2aLBOwu.d.ts → lifecycle.d-C2aLBOwu.d.ts} +0 -0
  278. /package/dist/{observability-B2363jB6.d.mts → observability.d-B2363jB6.d.mts} +0 -0
  279. /package/dist/{observability-B2363jB6.d.ts → observability.d-B2363jB6.d.ts} +0 -0
  280. /package/dist/{params-BALtrRim.d.ts → params.d-BALtrRim.d.ts} +0 -0
  281. /package/dist/{params-ry-lxqmy.d.mts → params.d-ry-lxqmy.d.mts} +0 -0
  282. /package/dist/{production-vite-BQFAlG7n.d.mts → production-vite.d-BQFAlG7n.d.mts} +0 -0
  283. /package/dist/{production-vite-BQFAlG7n.d.ts → production-vite.d-BQFAlG7n.d.ts} +0 -0
  284. /package/dist/{route-pattern-CVsVbq5n.d.mts → route-pattern.d-CVsVbq5n.d.mts} +0 -0
  285. /package/dist/{route-pattern-CVsVbq5n.d.ts → route-pattern.d-CVsVbq5n.d.ts} +0 -0
  286. /package/dist/{server-client-bridge-DKWDl5NB.d.mts → server-client-bridge.d-DKWDl5NB.d.mts} +0 -0
  287. /package/dist/{server-client-bridge-DKWDl5NB.d.ts → server-client-bridge.d-DKWDl5NB.d.ts} +0 -0
  288. /package/dist/{server-fn-error-DrcH9cc1.d.mts → server-fn-error.d-DrcH9cc1.d.mts} +0 -0
  289. /package/dist/{server-fn-error-DrcH9cc1.d.ts → server-fn-error.d-DrcH9cc1.d.ts} +0 -0
  290. /package/dist/{server-query-runtime-DXRNhX_3.d.ts → server-query-runtime.d-DXRNhX_3.d.ts} +0 -0
  291. /package/dist/{server-query-runtime-aP52iuL5.d.mts → server-query-runtime.d-aP52iuL5.d.mts} +0 -0
  292. /package/dist/{types-BnIqOn9w.d.mts → types.d-BnIqOn9w.d.mts} +0 -0
  293. /package/dist/{types-BnIqOn9w.d.ts → types.d-BnIqOn9w.d.ts} +0 -0
  294. /package/dist/{types-C41ePjvP.d.mts → types.d-C41ePjvP.d.mts} +0 -0
  295. /package/dist/{types-C41ePjvP.d.ts → types.d-C41ePjvP.d.ts} +0 -0
  296. /package/dist/{types-DQnyD3VD.d.mts → types.d-DQnyD3VD.d.mts} +0 -0
  297. /package/dist/{types-DQnyD3VD.d.ts → types.d-DQnyD3VD.d.ts} +0 -0
  298. /package/dist/{workflows-CRMzQZ3k.d.mts → workflows.d-CRMzQZ3k.d.mts} +0 -0
  299. /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;
@@ -33,7 +33,7 @@ import {
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";
@@ -71,7 +71,7 @@ var _chunkWT6RAN2Icjs = require('./chunk-WT6RAN2I.cjs');
71
71
  var _chunkWJFFPXCVcjs = require('./chunk-WJFFPXCV.cjs');
72
72
 
73
73
 
74
- var _chunkWAPQWAE6cjs = require('./chunk-WAPQWAE6.cjs');
74
+ var _chunkCECUDGXQcjs = require('./chunk-CECUDGXQ.cjs');
75
75
 
76
76
 
77
77
  var _chunk5DX3O6TTcjs = require('./chunk-5DX3O6TT.cjs');
@@ -565,29 +565,35 @@ async function resolveDocsConfig(userDocs, options = {}) {
565
565
  config: { entry: "docs", docsPath: "/docs" }
566
566
  };
567
567
  }
568
- const inlineDocsConfig = sanitizeDocsConfig(docsOptions.config || {});
568
+ const fileDocsConfig = omitDocsRoots(_optionalChain([loadedConfig, 'optionalAccess', _24 => _24.config]));
569
+ const inlineRawDocsConfig = omitDocsRoots(docsOptions.config);
570
+ const inlineDocsConfig = sanitizeDocsConfig(inlineRawDocsConfig);
569
571
  const directDocsConfig = sanitizeDocsConfig({
570
572
  ...docsOptions,
571
573
  adapter: void 0,
572
574
  enabled: void 0,
575
+ prerender: void 0,
573
576
  config: void 0,
574
- configPath: void 0
577
+ configPath: void 0,
578
+ roots: void 0
575
579
  });
576
- const loadedDocsConfig = sanitizeDocsConfig(_optionalChain([loadedConfig, 'optionalAccess', _24 => _24.config]) || {});
580
+ const loadedDocsConfig = sanitizeDocsConfig(fileDocsConfig);
577
581
  const mergedDocsConfig = {
578
582
  ...loadedDocsConfig,
579
583
  ...inlineDocsConfig,
580
584
  ...directDocsConfig
581
585
  };
582
586
  const runtimeDocsConfig = {
583
- ..._optionalChain([loadedConfig, 'optionalAccess', _25 => _25.config]) || {},
584
- ...isRecord(docsOptions.config) ? docsOptions.config : {},
587
+ ...fileDocsConfig,
588
+ ...inlineRawDocsConfig,
585
589
  ...omitUndefined({
586
590
  ...docsOptions,
587
591
  adapter: void 0,
588
592
  enabled: void 0,
593
+ prerender: void 0,
589
594
  config: void 0,
590
- configPath: void 0
595
+ configPath: void 0,
596
+ roots: void 0
591
597
  })
592
598
  };
593
599
  const explicitRoute = typeof docsOptions.entry === "string" ? docsOptions.entry : void 0;
@@ -601,10 +607,33 @@ async function resolveDocsConfig(userDocs, options = {}) {
601
607
  docsOptions.contentDir || mergedDocsConfig.contentDir
602
608
  );
603
609
  const contentDir = configuredContentDir || await inferDocsContentDir(root, options.srcDir || "src", docsEntry);
610
+ const configOverrides = { ...inlineDocsConfig, ...directDocsConfig };
611
+ const configFileName = loadedConfig ? _path2.default.relative(root, loadedConfig.configPath) || loadedConfig.configPath : "the docs config";
612
+ const roots = await resolveDocsRoots(
613
+ [
614
+ { field: `roots in ${configFileName}`, roots: docsRootsOf(_optionalChain([loadedConfig, 'optionalAccess', _25 => _25.config])), file: true },
615
+ { field: "docs.config.roots", roots: docsRootsOf(docsOptions.config) },
616
+ { field: "docs.roots", roots: docsOptions.roots }
617
+ ],
618
+ {
619
+ root,
620
+ srcDir: options.srcDir || "src",
621
+ mainEntry: entryRoute,
622
+ mergedDocsConfig,
623
+ runtimeDocsConfig,
624
+ configOverrides
625
+ }
626
+ );
627
+ if (roots.length > 0 && !(docsOptions.adapter && docsOptions.adapter.server && docsOptions.adapter.react)) {
628
+ throw new Error(
629
+ `Docs roots require a docs adapter such as @farming-labs/farmjs; Farm's built-in docs renderer serves a single docs root. Install the adapter, or remove the roots from ${configFileName} and docs.roots.`
630
+ );
631
+ }
604
632
  return {
605
633
  enabled: true,
606
634
  entry: entryRoute,
607
635
  ...docsOptions.adapter ? { adapter: docsOptions.adapter } : {},
636
+ ...docsOptions.prerender === true ? { prerender: true } : {},
608
637
  contentDir,
609
638
  configPath: _optionalChain([loadedConfig, 'optionalAccess', _26 => _26.configPath]),
610
639
  config: {
@@ -619,9 +648,90 @@ async function resolveDocsConfig(userDocs, options = {}) {
619
648
  docsPath: entryRoute,
620
649
  ...contentDir ? { contentDir } : {}
621
650
  },
622
- configOverrides: { ...inlineDocsConfig, ...directDocsConfig }
651
+ configOverrides,
652
+ ...roots.length > 0 ? { roots } : {}
623
653
  };
624
654
  }
655
+ function docsRootsOf(config) {
656
+ return isRecord(config) ? config.roots : void 0;
657
+ }
658
+ function omitDocsRoots(config) {
659
+ if (!isRecord(config)) return {};
660
+ const { roots: _roots, ...rest } = config;
661
+ return rest;
662
+ }
663
+ function omitKeys(value, keys) {
664
+ const output = { ...value };
665
+ for (const key of keys) delete output[key];
666
+ return output;
667
+ }
668
+ async function resolveDocsRoots(sources, options) {
669
+ const declared = /* @__PURE__ */ new Map();
670
+ for (const source of sources) {
671
+ if (source.roots === void 0) continue;
672
+ if (!Array.isArray(source.roots)) throw new Error(`${source.field} must be an array.`);
673
+ const seen = /* @__PURE__ */ new Set();
674
+ for (const [index, rootInput] of source.roots.entries()) {
675
+ const field = `${source.field}[${index}].entry`;
676
+ if (!isRecord(rootInput) || typeof rootInput.entry !== "string" || !rootInput.entry.trim()) {
677
+ throw new Error(`${field} must be a route such as "/guides/docs".`);
678
+ }
679
+ const entryRoute = normalizeDocsRoute(rootInput.entry);
680
+ if (entryRoute === "/") {
681
+ throw new Error(
682
+ `${field} cannot be "/"; a docs root at "/" leaves no route for the others.`
683
+ );
684
+ }
685
+ if (entryRoute === options.mainEntry || seen.has(entryRoute)) {
686
+ throw new Error(
687
+ `${field} ${JSON.stringify(entryRoute)} is already served by another docs root.`
688
+ );
689
+ }
690
+ seen.add(entryRoute);
691
+ const { entry: _entry, ...fields } = rootInput;
692
+ const layers = _nullishCoalesce(declared.get(entryRoute), () => ( { file: {}, overrides: {} }));
693
+ if (source.file) layers.file = fields;
694
+ else layers.overrides = { ...layers.overrides, ...fields };
695
+ declared.set(entryRoute, layers);
696
+ }
697
+ }
698
+ const roots = [];
699
+ for (const [entryRoute, { file, overrides }] of declared) {
700
+ const docsEntry = docsRouteToEntry(entryRoute);
701
+ const contentDir = normalizeDocsContentDir(
702
+ typeof overrides.contentDir === "string" && overrides.contentDir || typeof file.contentDir === "string" && file.contentDir || void 0
703
+ ) || await inferDocsContentDir(options.root, options.srcDir, docsEntry);
704
+ const routeConfig = {
705
+ entry: docsEntry,
706
+ docsPath: entryRoute,
707
+ contentDir
708
+ };
709
+ const rootOverrides = sanitizeDocsConfig(overrides);
710
+ roots.push({
711
+ entry: entryRoute,
712
+ contentDir,
713
+ config: omitUndefined({
714
+ ...options.mergedDocsConfig,
715
+ ...sanitizeDocsConfig(file),
716
+ ...rootOverrides,
717
+ ...routeConfig
718
+ }),
719
+ runtimeConfig: omitUndefined({
720
+ ...options.runtimeDocsConfig,
721
+ ...file,
722
+ ...overrides,
723
+ ...routeConfig
724
+ }),
725
+ // The adapter reads the config file's own root from the config module, so the main
726
+ // root's overrides leave out whatever that root sets itself.
727
+ configOverrides: {
728
+ ...omitKeys(options.configOverrides, Object.keys(file)),
729
+ ...rootOverrides
730
+ }
731
+ });
732
+ }
733
+ return roots;
734
+ }
625
735
  function validateRedirectConfigs(redirects, field) {
626
736
  for (const [index, redirect] of redirects.entries()) {
627
737
  _chunk6XQSPIN6cjs.validateConfigRouteSource.call(void 0, redirect.source, `${field}[${index}].source`);
@@ -721,6 +831,10 @@ async function resolveConfig(userConfig, mode) {
721
831
  userConfig.deploymentId || process.env.FARM_DEPLOYMENT_ID || process.env.VERCEL_GIT_COMMIT_SHA || process.env.CF_PAGES_COMMIT_SHA || (mode === "production" ? await generateBuildId() : "development")
722
832
  );
723
833
  const basePath = _chunkD22BUQKWcjs.normalizeFarmConfigBasePath.call(void 0, userConfig.basePath);
834
+ const mobileSessionPlugin = userConfig.mobile !== void 0 && userConfig.mobile !== null ? (await import("./session-AAU7RNRO.cjs")).createFarmMobileSessionPlugin({
835
+ basePath,
836
+ integrations: () => integrations
837
+ }) : null;
724
838
  const openapi = {
725
839
  enabled: false,
726
840
  route: "/docs/reference",
@@ -772,7 +886,8 @@ async function resolveConfig(userConfig, mode) {
772
886
  agent: resolveFarmAgentConfig(userConfig.agent, { docs: docs.enabled }),
773
887
  desktop: _nullishCoalesce(_optionalChain([desktopSetup, 'optionalAccess', _40 => _40.desktop]), () => ( null)),
774
888
  plugins: [
775
- ..._chunkWAPQWAE6cjs.resolveIntegrationPlugins.call(void 0, integrations),
889
+ ...mobileSessionPlugin ? [mobileSessionPlugin] : [],
890
+ ..._chunkCECUDGXQcjs.resolveIntegrationPlugins.call(void 0, integrations),
776
891
  ...nativeMCPPlugin ? [nativeMCPPlugin] : [],
777
892
  ...userConfig.plugins || []
778
893
  ],
@@ -7,11 +7,11 @@ var _chunkSJ23LJ3Ncjs = require('./chunk-SJ23LJ3N.cjs');
7
7
  var _chunkXPMC4E2Gcjs = require('./chunk-XPMC4E2G.cjs');
8
8
 
9
9
 
10
- var _chunkO3MMJPC2cjs = require('./chunk-O3MMJPC2.cjs');
10
+ var _chunkNPQLMP7Mcjs = require('./chunk-NPQLMP7M.cjs');
11
11
 
12
12
 
13
13
 
14
- var _chunkDGOLAZLVcjs = require('./chunk-DGOLAZLV.cjs');
14
+ var _chunk65Y5SIBHcjs = require('./chunk-65Y5SIBH.cjs');
15
15
 
16
16
 
17
17
  var _chunkLNM57D3Hcjs = require('./chunk-LNM57D3H.cjs');
@@ -91,7 +91,7 @@ async function createFarmRscViteConfig(userConfig, options) {
91
91
  for (const key of FARM_RSC_CONFIG_KEYS) {
92
92
  if (userConfig[key] !== void 0) rscConfig[key] = userConfig[key];
93
93
  }
94
- const createReactPlugin = hasPluginNamed(vitePlugins, "vite:react") ? void 0 : await _asyncNullishCoalesce(await _asyncOptionalChain([viteReact, 'optionalAccess', async _2 => _2.default]), async () => ( (options.command === "serve" ? (await _chunkDGOLAZLVcjs.loadFarmReactPlugin.call(void 0, )).default : void 0)));
94
+ const createReactPlugin = hasPluginNamed(vitePlugins, "vite:react") ? void 0 : await _asyncNullishCoalesce(await _asyncOptionalChain([viteReact, 'optionalAccess', async _2 => _2.default]), async () => ( (options.command === "serve" ? (await _chunk65Y5SIBHcjs.loadFarmReactPlugin.call(void 0, )).default : void 0)));
95
95
  const tailwind = hasPluginNamed(vitePlugins, "@tailwindcss/vite") ? void 0 : await _chunkLNM57D3Hcjs.loadTailwindVitePlugin.call(void 0, );
96
96
  const farmConfig = pluginRsc.defineConfig({
97
97
  ...rscConfig,
@@ -99,7 +99,7 @@ async function createFarmRscViteConfig(userConfig, options) {
99
99
  port: _nullishCoalesce(options.port, () => ( _optionalChain([userConfig, 'access', _3 => _3.server, 'optionalAccess', _4 => _4.port]))),
100
100
  plugins: [
101
101
  ...options.command === "serve" && _chunkAQLHD6HZcjs.resolveFarmPlatform.call(void 0, ) === "desktop" ? [
102
- _chunkDGOLAZLVcjs.farmDesktopDevGuardPlugin.call(void 0,
102
+ _chunk65Y5SIBHcjs.farmDesktopDevGuardPlugin.call(void 0,
103
103
  typeof userConfig.basePath === "string" ? userConfig.basePath : void 0
104
104
  )
105
105
  ] : [],
@@ -111,7 +111,7 @@ async function createFarmRscViteConfig(userConfig, options) {
111
111
  server: { environmentName: "rsc" },
112
112
  config: {
113
113
  preset: options.preset,
114
- outputDir: options.outputDir && _chunkO3MMJPC2cjs.resolveDeployOutputPath.call(void 0, root, options.outputDir)
114
+ outputDir: options.outputDir && _chunkNPQLMP7Mcjs.resolveDeployOutputPath.call(void 0, root, options.outputDir)
115
115
  }
116
116
  })
117
117
  ]
@@ -5,7 +5,7 @@ import {
5
5
  collectSSGPages,
6
6
  matchSSGPage,
7
7
  resolveRouteRenderingConfigFromFile
8
- } from "./chunk-WVX3BUNJ.mjs";
8
+ } from "./chunk-CZ35L6PL.mjs";
9
9
  import {
10
10
  classifyFarmDocumentPrefix,
11
11
  composeFarmFullDocument,
@@ -33,7 +33,7 @@ import {
33
33
  } from "./chunk-7UPCJDB5.mjs";
34
34
  import {
35
35
  listFarmMCPLlmsTxtLinks
36
- } from "./chunk-R5P4KFPM.mjs";
36
+ } from "./chunk-E73PGHSR.mjs";
37
37
  import {
38
38
  FARM_DEFAULT_MCP_PATH,
39
39
  collectFarmDefaultMCPPages,
@@ -60,7 +60,7 @@ import {
60
60
  createEvaluatedRouteGraph,
61
61
  mergeProgrammaticClientRoutes,
62
62
  resolveProgrammaticClientRoutes
63
- } from "./chunk-C5JXCUKR.mjs";
63
+ } from "./chunk-ZQ5BDNKW.mjs";
64
64
  import {
65
65
  createFarmMarkdownRouteModuleFromFile,
66
66
  loadFarmMdxComponents
@@ -164,7 +164,7 @@ import {
164
164
  getIntegrationProviders,
165
165
  getRegisteredIntegrationAPIManifest,
166
166
  isFarmIntegrationProviderComponentReference
167
- } from "./chunk-HHFMECFO.mjs";
167
+ } from "./chunk-Y2G5SJFB.mjs";
168
168
  import {
169
169
  createRouteSlotContainerId,
170
170
  parseRouteSlotFile
@@ -241,7 +241,7 @@ import {
241
241
  } from "./chunk-2DA7CLY7.mjs";
242
242
  import {
243
243
  sendWebResponse
244
- } from "./chunk-IUQLRTTO.mjs";
244
+ } from "./chunk-CO6UYM2D.mjs";
245
245
  import {
246
246
  matchesFarmIfNoneMatch,
247
247
  resolveFarmServerConfig
@@ -254,7 +254,7 @@ import {
254
254
  } from "./chunk-LM2YOGDK.mjs";
255
255
  import {
256
256
  FARM_VERSION
257
- } from "./chunk-ZF3GX4O7.mjs";
257
+ } from "./chunk-6CYQQQGR.mjs";
258
258
  import {
259
259
  resolveFarmTrailingSlashRedirect,
260
260
  setFarmTrailingSlashPreference
@@ -2865,6 +2865,18 @@ var RouteManager = class {
2865
2865
  }
2866
2866
  }
2867
2867
  }
2868
+ /** The page routes a docs adapter answers before Farm's own page rendering. */
2869
+ getDocsAdapterRoutes() {
2870
+ const docs = this.config.docs;
2871
+ if (!docs || typeof docs !== "object" || !docs.enabled || !docs.adapter || !docs.adapter.server || !docs.adapter.react || !isReactRenderer(this.config.renderer)) {
2872
+ return void 0;
2873
+ }
2874
+ const entry = `/${String(docs.entry || "docs").replace(/^\/+|\/+$/g, "")}`;
2875
+ return {
2876
+ owns: (routePath) => entry === "/" || routePath === entry || routePath.startsWith(`${entry}/`),
2877
+ prerender: docs.prerender === true
2878
+ };
2879
+ }
2868
2880
  /**
2869
2881
  * Collect SSG pages for static generation
2870
2882
  *
@@ -2879,8 +2891,10 @@ var RouteManager = class {
2879
2891
  pattern: entry.pattern
2880
2892
  }));
2881
2893
  const i18n = this.getI18nConfig();
2894
+ const docsAdapterRoutes = this.getDocsAdapterRoutes();
2882
2895
  const result = await collectSSGPages(routes, (filePath) => this.loadRouteModule(filePath), {
2883
- suggestStaticRendering: shouldSuggestStaticRenderingForI18n(i18n)
2896
+ suggestStaticRendering: shouldSuggestStaticRenderingForI18n(i18n),
2897
+ ...docsAdapterRoutes ? { docsAdapterRoutes } : {}
2884
2898
  });
2885
2899
  if (!i18n) {
2886
2900
  return result;
@@ -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
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkJ22JD5YJcjs = require('./chunk-J22JD5YJ.cjs');
3
+ var _chunkJ3LBO2O4cjs = require('./chunk-J3LBO2O4.cjs');
4
4
 
5
5
 
6
6
  var _chunkWJFFPXCVcjs = require('./chunk-WJFFPXCV.cjs');
@@ -273,7 +273,7 @@ function requestEvent(metadata, method, status, durationMs) {
273
273
  id: uuid(),
274
274
  requestId: metadata.id,
275
275
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
276
- route: routeTemplate(_chunkJ22JD5YJcjs.getFarmRouteLabel.call(void 0, metadata.route)),
276
+ route: routeTemplate(_chunkJ3LBO2O4cjs.getFarmRouteLabel.call(void 0, metadata.route)),
277
277
  agent: metadata.agent,
278
278
  kind: "request",
279
279
  method,
@@ -286,7 +286,7 @@ function toolEvent(metadata, event) {
286
286
  id: uuid(),
287
287
  requestId: metadata.id,
288
288
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
289
- route: routeTemplate(_chunkJ22JD5YJcjs.getFarmRouteLabel.call(void 0, metadata.route)),
289
+ route: routeTemplate(_chunkJ3LBO2O4cjs.getFarmRouteLabel.call(void 0, metadata.route)),
290
290
  agent: metadata.agent,
291
291
  kind: "mcp.tool",
292
292
  tool: event.tool,
@@ -407,6 +407,7 @@ async function collectSSGPages(routes, loadModule, options = {}) {
407
407
  const ssgPages = [];
408
408
  const ssrRoutes = [];
409
409
  const staticCandidateRoutes = [];
410
+ let staticCandidateDocsPages = 0;
410
411
  for (const route of routes) {
411
412
  try {
412
413
  const mod = await loadModule(route.filePath);
@@ -453,7 +454,8 @@ async function collectSSGPages(routes, loadModule, options = {}) {
453
454
  } else {
454
455
  ssrRoutes.push(route.path);
455
456
  if (options.suggestStaticRendering !== false && analyzeStaticRouteCandidate(mod, source, { isDynamic: route.isDynamic }).candidate) {
456
- staticCandidateRoutes.push(route.path);
457
+ if (_optionalChain([options, 'access', _41 => _41.docsAdapterRoutes, 'optionalAccess', _42 => _42.owns, 'call', _43 => _43(route.path)])) staticCandidateDocsPages += 1;
458
+ else staticCandidateRoutes.push(route.path);
457
459
  }
458
460
  }
459
461
  } catch (error) {
@@ -472,6 +474,11 @@ async function collectSSGPages(routes, loadModule, options = {}) {
472
474
  Add \`export const dynamic = "force-static";\` after verifying that imported code does not read cookies, headers, authentication, or other request data.`
473
475
  );
474
476
  }
477
+ if (staticCandidateDocsPages > 0 && !_optionalChain([options, 'access', _44 => _44.docsAdapterRoutes, 'optionalAccess', _45 => _45.prerender])) {
478
+ console.warn(
479
+ `[Farm.js] ${staticCandidateDocsPages} docs page${staticCandidateDocsPages === 1 ? " renders" : "s render"} on each request. Set \`docs.prerender: true\` in farm.config.ts to prerender docs pages on Node and serverless targets.`
480
+ );
481
+ }
475
482
  return { ssg: ssgPages, ssr: ssrRoutes };
476
483
  }
477
484
  function isSSGModule(mod) {
@@ -749,7 +756,7 @@ function fieldTsType(field) {
749
756
  case "json":
750
757
  return "unknown";
751
758
  case "enum":
752
- return _optionalChain([field, 'access', _41 => _41.values, 'optionalAccess', _42 => _42.length]) ? field.values.map((value) => JSON.stringify(value)).join(" | ") : "string";
759
+ return _optionalChain([field, 'access', _46 => _46.values, 'optionalAccess', _47 => _47.length]) ? field.values.map((value) => JSON.stringify(value)).join(" | ") : "string";
753
760
  // id, uuid, string, text, datetime all travel as strings over JSON.
754
761
  default:
755
762
  return "string";
@@ -773,7 +780,7 @@ async function generateFarmTypeArtifacts(options) {
773
780
  const shouldGenerateApi = options.api !== false;
774
781
  const shouldGenerateEnv = options.env !== false;
775
782
  const shouldGenerateImages = options.images !== false;
776
- const shouldGenerateI18n = options.i18n !== false && _optionalChain([options, 'access', _43 => _43.i18nConfig, 'optionalAccess', _44 => _44.enabled]);
783
+ const shouldGenerateI18n = options.i18n !== false && _optionalChain([options, 'access', _48 => _48.i18nConfig, 'optionalAccess', _49 => _49.enabled]);
777
784
  const sourceRoots = _chunk5Y2P454Ocjs.getFarmSourceRoots.call(void 0, { root, srcDir, layers: options.layers });
778
785
  const appDirs = _chunk5Y2P454Ocjs.getFarmAppDirectories.call(void 0, { root, srcDir, layers: options.layers });
779
786
  const result = {
@@ -893,7 +900,7 @@ async function generateFarmTypeArtifacts(options) {
893
900
  });
894
901
  }
895
902
  }
896
- if (shouldRefreshUnifiedTypes && _optionalChain([options, 'access', _45 => _45.i18nConfig, 'optionalAccess', _46 => _46.enabled]) && !options.i18nTypesOutFile) {
903
+ if (shouldRefreshUnifiedTypes && _optionalChain([options, 'access', _50 => _50.i18nConfig, 'optionalAccess', _51 => _51.enabled]) && !options.i18nTypesOutFile) {
897
904
  const { signatures } = await _chunkBBPDJGCUcjs.readFarmI18nCatalogs.call(void 0, options.i18nConfig);
898
905
  unifiedSections.push(renderFarmI18nTypes(options.i18nConfig.locales, signatures));
899
906
  result.i18nTypesPath = unifiedTypesPath;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  MiddlewareManager
3
- } from "./chunk-WSY2JD7O.mjs";
3
+ } from "./chunk-NN3MOPSI.mjs";
4
4
  import {
5
5
  matchesMiddlewarePredicate
6
6
  } from "./chunk-EDPENAVO.mjs";