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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/dist/{agent-mcp-handler-WWCC4GLG.mjs → agent-mcp-handler-7QMX2LUY.mjs} +7 -7
  2. package/dist/agent-mcp-handler-OV4WRFBL.cjs +18 -0
  3. package/dist/{agent-mcp.d-Z5DuwrqW.d.mts → agent-mcp.d-C-2S9bnP.d.mts} +1 -1
  4. package/dist/{agent-mcp.d-CR5Ov83o.d.ts → agent-mcp.d-SIoCUP1I.d.ts} +1 -1
  5. package/dist/agent-runtime.cjs +5 -5
  6. package/dist/agent-runtime.d.mts +2 -2
  7. package/dist/agent-runtime.d.ts +2 -2
  8. package/dist/agent-runtime.mjs +4 -4
  9. package/dist/{analyzer-Z6TNEAET.mjs → analyzer-22BEYV7S.mjs} +126 -12
  10. package/dist/{analyzer-T76CN3S7.cjs → analyzer-LCSI3NSH.cjs} +132 -18
  11. package/dist/api/client.cjs +5 -4
  12. package/dist/api/client.d.mts +1 -1
  13. package/dist/api/client.d.ts +1 -1
  14. package/dist/api/client.mjs +3 -2
  15. package/dist/api/client.native.cjs +45 -0
  16. package/dist/api/client.native.d.mts +23 -0
  17. package/dist/api/client.native.d.ts +23 -0
  18. package/dist/api/client.native.mjs +45 -0
  19. package/dist/api/route-manager.cjs +7 -7
  20. package/dist/api/route-manager.d.mts +4 -4
  21. package/dist/api/route-manager.d.ts +4 -4
  22. package/dist/api/route-manager.mjs +6 -6
  23. package/dist/api/runtime.cjs +5 -5
  24. package/dist/api/runtime.d.mts +3 -3
  25. package/dist/api/runtime.d.ts +3 -3
  26. package/dist/api/runtime.mjs +4 -4
  27. package/dist/{api-client.d-CeA6tNA6.d.mts → api-client.d-BNLXNCXJ.d.mts} +1 -1
  28. package/dist/{api-client.d-BWcqZciH.d.ts → api-client.d-ddQBNGtu.d.ts} +1 -1
  29. package/dist/api.cjs +11 -11
  30. package/dist/api.d.mts +5 -5
  31. package/dist/api.d.ts +5 -5
  32. package/dist/api.mjs +10 -10
  33. package/dist/{app-manifest.d-CAHkOBFa.d.mts → app-manifest.d-DrSAHskY.d.mts} +1 -1
  34. package/dist/{app-manifest.d-DiWr_Jfx.d.ts → app-manifest.d-Tb3CJpL4.d.ts} +1 -1
  35. package/dist/app-markdown.cjs +7 -7
  36. package/dist/app-markdown.d.mts +3 -3
  37. package/dist/app-markdown.d.ts +3 -3
  38. package/dist/app-markdown.mjs +6 -6
  39. package/dist/{app.d-DmapqkbV.d.ts → app.d-CmWlYpZJ.d.ts} +9 -4
  40. package/dist/{app.d-BfgJCsTQ.d.mts → app.d-D6QQM_kk.d.mts} +9 -4
  41. package/dist/{chunk-SN5VSO3Q.mjs → chunk-25T5VXOE.mjs} +7 -9
  42. package/dist/{chunk-GUJTVM36.cjs → chunk-2FRLSDBT.cjs} +1 -1
  43. package/dist/{chunk-LM2YOGDK.mjs → chunk-2I6PUKWJ.mjs} +1 -1
  44. package/dist/{chunk-EIMK7D2D.mjs → chunk-2KTYMMWT.mjs} +34 -4
  45. package/dist/{chunk-B5BBTPJQ.cjs → chunk-2OF5RPVU.cjs} +14 -14
  46. package/dist/chunk-37PYUEK5.mjs +533 -0
  47. package/dist/chunk-3HLQTOVU.cjs +6 -0
  48. package/dist/{chunk-VSLM6BHX.cjs → chunk-3OJNNCDL.cjs} +9 -9
  49. package/dist/{chunk-X3JNB2TB.mjs → chunk-3PX4AIXO.mjs} +36 -5
  50. package/dist/{chunk-UQHIWZZ6.cjs → chunk-3TL3AH25.cjs} +12 -6
  51. package/dist/chunk-3YMLUNL2.cjs +251 -0
  52. package/dist/chunk-4JTQPOKO.cjs +137 -0
  53. package/dist/{chunk-QXPSWMUD.cjs → chunk-4P23B7DU.cjs} +5 -5
  54. package/dist/{chunk-YVJV7Q2X.mjs → chunk-55U5QIXQ.mjs} +1 -1
  55. package/dist/{chunk-5N7QAGEA.cjs → chunk-5JNUYGNF.cjs} +37 -7
  56. package/dist/{chunk-NJLTQR5P.cjs → chunk-6BJJYOFL.cjs} +7 -7
  57. package/dist/chunk-6UUH4N4J.mjs +251 -0
  58. package/dist/{chunk-2NHOYYUT.mjs → chunk-7H45IJWO.mjs} +2 -2
  59. package/dist/{chunk-NN3MOPSI.mjs → chunk-A2MN5PQJ.mjs} +7 -7
  60. package/dist/{chunk-KY32FWK7.mjs → chunk-BHJAYPYU.mjs} +2 -2
  61. package/dist/{chunk-VAHBCI6X.mjs → chunk-BQWBHWEW.mjs} +26 -1
  62. package/dist/{chunk-KJMWAUKE.mjs → chunk-C7GJDVN4.mjs} +1 -1
  63. package/dist/{chunk-OYNNA4DD.cjs → chunk-CBKRS3M4.cjs} +9 -9
  64. package/dist/{chunk-I2DQGS56.cjs → chunk-CBOEJ5Z4.cjs} +39 -41
  65. package/dist/{chunk-BOVGCUDZ.cjs → chunk-CI4UNQHO.cjs} +2 -2
  66. package/dist/{chunk-S5AQ7CAC.cjs → chunk-CNNBFGL5.cjs} +39 -14
  67. package/dist/chunk-D2X5MUF5.cjs +1457 -0
  68. package/dist/{chunk-LEIXUFJN.cjs → chunk-D4MRNBVF.cjs} +10 -9
  69. package/dist/{chunk-2KVDHNQS.mjs → chunk-D7LTCK3U.mjs} +2 -2
  70. package/dist/{chunk-J3LBO2O4.cjs → chunk-DPJ66FSI.cjs} +22 -22
  71. package/dist/{chunk-NYQSC4DX.cjs → chunk-DZPR2W6U.cjs} +5 -5
  72. package/dist/{chunk-GW4YUIHW.mjs → chunk-E72UD6ME.mjs} +1 -1
  73. package/dist/chunk-EFZGB7JC.cjs +114 -0
  74. package/dist/{chunk-XXXRRVY6.mjs → chunk-EGVC4LIG.mjs} +5 -5
  75. package/dist/{chunk-72NBDVWQ.mjs → chunk-EXUONJYV.mjs} +3 -3
  76. package/dist/{chunk-VS7EHLLW.mjs → chunk-EZ34EHQP.mjs} +1 -1
  77. package/dist/{chunk-FM2UEKS2.mjs → chunk-F6Y7ZAPQ.mjs} +2 -2
  78. package/dist/{chunk-LMFJCXDD.mjs → chunk-FN5UEC7I.mjs} +1 -1
  79. package/dist/{chunk-E6LTONL4.mjs → chunk-FORSVMEJ.mjs} +2 -2
  80. package/dist/{chunk-6CYQQQGR.mjs → chunk-HPWB57PZ.mjs} +1 -1
  81. package/dist/{chunk-Y2G5SJFB.mjs → chunk-IFHPDLIS.mjs} +1 -1
  82. package/dist/{chunk-GNJIYJMS.cjs → chunk-IFXSBJPN.cjs} +16 -16
  83. package/dist/{chunk-74Z5KX4A.mjs → chunk-ILMTRGBG.mjs} +309 -56
  84. package/dist/{chunk-NXBHYO7S.cjs → chunk-JBK7UJOI.cjs} +14 -11
  85. package/dist/chunk-JI5D7MXY.mjs +137 -0
  86. package/dist/{chunk-QXJADAQB.cjs → chunk-JIBEFLQ7.cjs} +6 -2
  87. package/dist/{chunk-LZ4SB57H.mjs → chunk-JPIUGDK4.mjs} +1 -1
  88. package/dist/{chunk-Y3N5BFRJ.mjs → chunk-JSDV2NUN.mjs} +1 -1
  89. package/dist/{chunk-IRSS4HS4.mjs → chunk-K3RU5MOR.mjs} +1 -1
  90. package/dist/chunk-KPOMS5RO.cjs +237 -0
  91. package/dist/{chunk-LAZK6UV7.mjs → chunk-KVW2M6PI.mjs} +1 -1
  92. package/dist/{chunk-5IONBVJY.cjs → chunk-LB3DPQP6.cjs} +22 -22
  93. package/dist/{chunk-CZ35L6PL.mjs → chunk-LJVNMGE3.mjs} +10 -4
  94. package/dist/chunk-LLZSYFOM.mjs +6 -0
  95. package/dist/{chunk-X2AMN2WV.cjs → chunk-LQNW3ABP.cjs} +10 -10
  96. package/dist/{chunk-6ONBZGVH.cjs → chunk-LRB5OVRT.cjs} +3 -3
  97. package/dist/{chunk-WJFFPXCV.cjs → chunk-LT4VAF5Z.cjs} +12 -10
  98. package/dist/{chunk-F6TLUMH7.mjs → chunk-M53MIIXY.mjs} +1 -1
  99. package/dist/{chunk-HIFIG6HL.cjs → chunk-MEQN6DDA.cjs} +5 -5
  100. package/dist/{chunk-XLRLSTJ6.cjs → chunk-MGKW5XZE.cjs} +7 -7
  101. package/dist/{chunk-B3GZAQSC.cjs → chunk-MHLNWRCJ.cjs} +3 -3
  102. package/dist/{chunk-5ENW27SL.mjs → chunk-MMK4MZUN.mjs} +1 -1
  103. package/dist/{chunk-DTU4PX7V.cjs → chunk-MTWXOEI4.cjs} +927 -629
  104. package/dist/chunk-NHD7BAKD.mjs +1457 -0
  105. package/dist/{chunk-NPQLMP7M.cjs → chunk-NQJDO7K7.cjs} +32 -31
  106. package/dist/{chunk-76GHW3WI.cjs → chunk-O27PLNQZ.cjs} +10 -10
  107. package/dist/{chunk-PIHKO25G.mjs → chunk-OM7WILES.mjs} +1 -1
  108. package/dist/{chunk-7UPCJDB5.mjs → chunk-PCXIJKPM.mjs} +8 -8
  109. package/dist/{chunk-IWFV5ZED.cjs → chunk-PMJSG4JS.cjs} +1 -1
  110. package/dist/{chunk-JATTVAHA.cjs → chunk-PRFNLQSP.cjs} +4 -4
  111. package/dist/{chunk-SBABQKPT.cjs → chunk-QAS7KE7J.cjs} +7 -7
  112. package/dist/chunk-QGOZLGVP.mjs +0 -0
  113. package/dist/{chunk-VQJYGZNX.cjs → chunk-QMNWKQL4.cjs} +1 -1
  114. package/dist/{chunk-XB24LZWI.cjs → chunk-QRX4JRBO.cjs} +3 -3
  115. package/dist/{chunk-LNM57D3H.cjs → chunk-R53QDV6T.cjs} +4 -4
  116. package/dist/{chunk-SUV6YO4Q.cjs → chunk-RAWWCDCT.cjs} +5 -5
  117. package/dist/{chunk-LJDIFIJ2.mjs → chunk-RPUJHJHE.mjs} +4 -4
  118. package/dist/{chunk-G2KTRMWA.mjs → chunk-RSEAX5MW.mjs} +4 -0
  119. package/dist/chunk-SJRCWF4Z.mjs +237 -0
  120. package/dist/{chunk-IBSAYAWB.mjs → chunk-SX7EECTS.mjs} +8 -5
  121. package/dist/{chunk-KBRZAYI7.mjs → chunk-T4TBK5NY.mjs} +2 -2
  122. package/dist/{chunk-4SSRBCBR.mjs → chunk-T7I62A4C.mjs} +619 -321
  123. package/dist/{chunk-E36C43IX.cjs → chunk-U4BJKNIR.cjs} +6 -6
  124. package/dist/{chunk-YU42A5MA.cjs → chunk-UDJY2ZGY.cjs} +533 -280
  125. package/dist/{chunk-SHS6KXOZ.mjs → chunk-UR25Z5Z6.mjs} +1 -1
  126. package/dist/{chunk-WZW6LEHM.cjs → chunk-UYSTTPYJ.cjs} +1590 -1019
  127. package/dist/{chunk-KRRZJ77U.mjs → chunk-UZZ6IEQP.mjs} +3 -3
  128. package/dist/{chunk-EKJYE4Y7.cjs → chunk-VGG74PSU.cjs} +25 -25
  129. package/dist/{chunk-CTM4SPB3.mjs → chunk-VPTWKOCY.mjs} +20 -19
  130. package/dist/{chunk-UN6N623E.mjs → chunk-VQJHT2ND.mjs} +2 -2
  131. package/dist/{chunk-SJ23LJ3N.cjs → chunk-VVTJTMGQ.cjs} +3 -3
  132. package/dist/{chunk-KHXAJ2KA.cjs → chunk-W2RZ73IU.cjs} +12 -12
  133. package/dist/{chunk-JWI5PUO2.mjs → chunk-W2ZXMMHA.mjs} +2 -1
  134. package/dist/{chunk-BLD5GVCG.mjs → chunk-W6QLRQ3V.mjs} +1 -1
  135. package/dist/{chunk-AV26KHTG.mjs → chunk-X2CZTWQA.mjs} +2 -2
  136. package/dist/chunk-XPIPMWY3.cjs +1 -0
  137. package/dist/chunk-XTG73QZA.cjs +533 -0
  138. package/dist/{chunk-XPMC4E2G.cjs → chunk-XVSBALOY.cjs} +3 -3
  139. package/dist/{chunk-XYL4HSVC.cjs → chunk-YI6FKTTN.cjs} +38 -7
  140. package/dist/{chunk-N77JBPLC.mjs → chunk-YSXTNSXS.mjs} +10 -8
  141. package/dist/{chunk-EHB77D5U.cjs → chunk-ZDAEHG2O.cjs} +3 -3
  142. package/dist/{chunk-PMKUU273.mjs → chunk-ZFUKPWFC.mjs} +1226 -655
  143. package/dist/{chunk-E73PGHSR.mjs → chunk-ZMHAFH4R.mjs} +8 -8
  144. package/dist/{chunk-ZOWNWHK6.cjs → chunk-ZNH6NR3H.cjs} +2 -2
  145. package/dist/chunk-ZNXTU4YH.mjs +114 -0
  146. package/dist/{chunk-PFV2KPDZ.cjs → chunk-ZOYKJBP5.cjs} +3 -3
  147. package/dist/{chunk-CECUDGXQ.cjs → chunk-ZP32GNJQ.cjs} +13 -13
  148. package/dist/{chunk-72D2NX77.mjs → chunk-ZZ2QKCKW.mjs} +1 -1
  149. package/dist/{client-plugins.d-Bx3FXpqm.d.mts → client-plugins.d-CgQQ-EAv.d.mts} +25 -4
  150. package/dist/{client-plugins.d-TiLbS5j4.d.ts → client-plugins.d-vXrbcfJ1.d.ts} +25 -4
  151. package/dist/client-plugins.d.mts +2 -2
  152. package/dist/client-plugins.d.ts +2 -2
  153. package/dist/client.cjs +9 -9
  154. package/dist/client.d.mts +9 -9
  155. package/dist/client.d.ts +9 -9
  156. package/dist/client.mjs +9 -9
  157. package/dist/{config.d-iRPI16ku.d.mts → config.d-DqZkLwef.d.mts} +146 -1
  158. package/dist/{config.d-iRPI16ku.d.ts → config.d-DqZkLwef.d.ts} +146 -1
  159. package/dist/config.d.mts +2 -2
  160. package/dist/config.d.ts +2 -2
  161. package/dist/cron.cjs +3 -3
  162. package/dist/cron.d.mts +10 -0
  163. package/dist/cron.d.ts +10 -0
  164. package/dist/cron.mjs +2 -2
  165. package/dist/desktop.d.mts +3 -3
  166. package/dist/desktop.d.ts +3 -3
  167. package/dist/{devtools-UQLDAOEI.mjs → devtools-KQZ6SRCJ.mjs} +16 -16
  168. package/dist/{devtools-6XWCZIGO.cjs → devtools-UF6JYHUN.cjs} +18 -18
  169. package/dist/docs.cjs +19 -19
  170. package/dist/docs.d.mts +3 -3
  171. package/dist/docs.d.ts +3 -3
  172. package/dist/docs.mjs +18 -18
  173. package/dist/index.cjs +99 -95
  174. package/dist/{index.d-yueUNipJ.d.ts → index.d-DlCELfhf.d.ts} +1 -1
  175. package/dist/{index.d-YxJ2AiDF.d.mts → index.d-Dmfb7Kb_.d.mts} +1 -1
  176. package/dist/index.d.mts +18 -18
  177. package/dist/index.d.ts +18 -18
  178. package/dist/index.mjs +139 -135
  179. package/dist/integrations.cjs +5 -5
  180. package/dist/integrations.d.mts +2 -2
  181. package/dist/integrations.d.ts +2 -2
  182. package/dist/integrations.mjs +4 -4
  183. package/dist/internal/app-markdown-runtime.cjs +6 -6
  184. package/dist/internal/app-markdown-runtime.d.mts +3 -3
  185. package/dist/internal/app-markdown-runtime.d.ts +3 -3
  186. package/dist/internal/app-markdown-runtime.mjs +5 -5
  187. package/dist/internal/build-runtime.cjs +52 -50
  188. package/dist/internal/build-runtime.d.mts +4 -4
  189. package/dist/internal/build-runtime.d.ts +4 -4
  190. package/dist/internal/build-runtime.mjs +51 -49
  191. package/dist/internal/cli-runtime.cjs +28 -28
  192. package/dist/internal/cli-runtime.mjs +28 -28
  193. package/dist/internal/client-error-overlay.cjs +4 -4
  194. package/dist/internal/client-error-overlay.mjs +1 -1
  195. package/dist/internal/client-runtime.cjs +20 -15
  196. package/dist/internal/client-runtime.d.mts +5 -5
  197. package/dist/internal/client-runtime.d.ts +5 -5
  198. package/dist/internal/client-runtime.mjs +8 -3
  199. package/dist/internal/compression-runtime.d.mts +2 -2
  200. package/dist/internal/compression-runtime.d.ts +2 -2
  201. package/dist/internal/config-runtime.cjs +18 -18
  202. package/dist/internal/config-runtime.d.mts +119 -7
  203. package/dist/internal/config-runtime.d.ts +119 -7
  204. package/dist/internal/config-runtime.mjs +17 -17
  205. package/dist/internal/infra-analytics-runtime.cjs +11 -11
  206. package/dist/internal/infra-analytics-runtime.mjs +9 -9
  207. package/dist/internal/islands-boot.cjs +211 -0
  208. package/dist/internal/islands-boot.d.mts +8 -0
  209. package/dist/internal/islands-boot.d.ts +8 -0
  210. package/dist/internal/islands-boot.mjs +211 -0
  211. package/dist/internal/product-telemetry-runtime.cjs +2 -2
  212. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  213. package/dist/internal/production-runtime.cjs +42 -28
  214. package/dist/internal/production-runtime.d.mts +50 -12
  215. package/dist/internal/production-runtime.d.ts +50 -12
  216. package/dist/internal/production-runtime.mjs +52 -38
  217. package/dist/markdown.cjs +7 -5
  218. package/dist/markdown.d.mts +2 -2
  219. package/dist/markdown.d.ts +2 -2
  220. package/dist/markdown.mjs +6 -4
  221. package/dist/middleware.cjs +10 -10
  222. package/dist/middleware.d.mts +4 -4
  223. package/dist/middleware.d.ts +4 -4
  224. package/dist/middleware.mjs +9 -9
  225. package/dist/mobile.d.mts +43 -5
  226. package/dist/mobile.d.ts +43 -5
  227. package/dist/modules-VHD7BELU.mjs +13 -0
  228. package/dist/modules-WT5D3AWY.cjs +13 -0
  229. package/dist/native-specs-BD7HOTMJ.mjs +15 -0
  230. package/dist/native-specs-IQQRJOOW.cjs +15 -0
  231. package/dist/native-tree-6G5O53O3.cjs +27 -0
  232. package/dist/native-tree-VWNW2MQ2.mjs +27 -0
  233. package/dist/native.cjs +87 -0
  234. package/dist/native.d.mts +72 -0
  235. package/dist/native.d.ts +72 -0
  236. package/dist/native.mjs +87 -0
  237. package/dist/{navigation-delegate.d-HnDXhlyP.d.mts → navigation-delegate.d-CnOTWOyi.d.mts} +1 -1
  238. package/dist/{navigation-delegate.d-BY1e_Xrh.d.ts → navigation-delegate.d-JXx40JzR.d.ts} +1 -1
  239. package/dist/navigation.cjs +5 -5
  240. package/dist/navigation.d.mts +5 -5
  241. package/dist/navigation.d.ts +5 -5
  242. package/dist/navigation.mjs +4 -4
  243. package/dist/{nitro-R444AF3O.mjs → nitro-FLN6DRGJ.mjs} +7 -7
  244. package/dist/{nitro-CK7M4RMY.cjs → nitro-HXAZZQKY.cjs} +12 -12
  245. package/dist/plugin.cjs +43 -42
  246. package/dist/plugin.d.mts +5 -4
  247. package/dist/plugin.d.ts +5 -4
  248. package/dist/plugin.mjs +42 -41
  249. package/dist/port-C6GBH4C6.cjs +419 -0
  250. package/dist/port-WOOQ3V56.mjs +419 -0
  251. package/dist/{production-runtime.d-BpJUDzP8.d.mts → production-runtime.d-CP5s6RuY.d.mts} +1 -1
  252. package/dist/{production-runtime.d-lMjvE9cf.d.ts → production-runtime.d-N-cE3pmy.d.ts} +1 -1
  253. package/dist/{programmatic-routes-client.d-BlFp5hv4.d.ts → programmatic-routes-client.d-CLG2N1yH.d.ts} +2 -2
  254. package/dist/{programmatic-routes-client.d-6CGQ3TCk.d.mts → programmatic-routes-client.d-CPbNqtIi.d.mts} +2 -2
  255. package/dist/query/client.cjs +6 -6
  256. package/dist/query/client.mjs +2 -2
  257. package/dist/{render-plan.d-DhP0mTHF.d.ts → render-plan.d-B9lAP3uX.d.ts} +1 -1
  258. package/dist/{render-plan.d-BH9edqKs.d.mts → render-plan.d-DZ-qjjdG.d.mts} +1 -1
  259. package/dist/renderer/react/server.cjs +2 -2
  260. package/dist/renderer/react/server.mjs +3 -3
  261. package/dist/renderer-client.cjs +6 -6
  262. package/dist/renderer-client.d.mts +5 -5
  263. package/dist/renderer-client.d.ts +5 -5
  264. package/dist/renderer-client.mjs +2 -2
  265. package/dist/{request.d-BVZrsR1v.d.ts → request.d-BiicaNxb.d.ts} +1 -1
  266. package/dist/{request.d-DJFRdKi8.d.mts → request.d-DV0oeUit.d.mts} +1 -1
  267. package/dist/request.d.mts +3 -3
  268. package/dist/request.d.ts +3 -3
  269. package/dist/{route-rendering.d-Bpmw7PED.d.mts → route-rendering.d-BrIKA51A.d.mts} +1 -1
  270. package/dist/{route-rendering.d-B00JtK_-.d.ts → route-rendering.d-Iss0C7GR.d.ts} +1 -1
  271. package/dist/{router.d-Bd1x9XxQ.d.ts → router.d-DjGn_al7.d.ts} +1 -1
  272. package/dist/{router.d-e0jQ3jQ-.d.mts → router.d-mNTbOGV_.d.mts} +1 -1
  273. package/dist/{routes.d-D96Dq9lz.d.ts → routes.d-BKSjHuH9.d.ts} +27 -4
  274. package/dist/{routes.d-Cmv8TgVq.d.mts → routes.d-qd8Qf4LG.d.mts} +27 -4
  275. package/dist/routes.d.mts +2 -2
  276. package/dist/routes.d.ts +2 -2
  277. package/dist/{rsc-pipeline-DX4OC5FN.cjs → rsc-pipeline-SVLBTY7H.cjs} +21 -21
  278. package/dist/{rsc-pipeline-ZQ4CTVEG.mjs → rsc-pipeline-WBLBDQXA.mjs} +20 -20
  279. package/dist/{runtime-NQ3EDSA7.cjs → runtime-DGUOWSMF.cjs} +307 -48
  280. package/dist/{runtime-NPDRDV6R.mjs → runtime-HFZTVNFF.mjs} +298 -39
  281. package/dist/{runtime.d-CgB3IJDq.d.mts → runtime.d-BNVbojF1.d.mts} +1 -1
  282. package/dist/{runtime.d-D-td-RR3.d.ts → runtime.d-Bm_4hP5T.d.ts} +1 -1
  283. package/dist/{schema-dev-notice-F6QYSOAI.mjs → schema-dev-notice-JMXEQWIQ.mjs} +3 -3
  284. package/dist/{schema-dev-notice-UU7DMZEU.cjs → schema-dev-notice-PLBFDTOF.cjs} +6 -6
  285. package/dist/server-fn-client.d.mts +1 -1
  286. package/dist/server-fn-client.d.ts +1 -1
  287. package/dist/server-plugins.cjs +1 -1
  288. package/dist/server-plugins.d.mts +3 -3
  289. package/dist/server-plugins.d.ts +3 -3
  290. package/dist/server-plugins.mjs +1 -1
  291. package/dist/server.cjs +82 -81
  292. package/dist/server.d.mts +12 -11
  293. package/dist/server.d.ts +12 -11
  294. package/dist/server.mjs +65 -64
  295. package/dist/session-2Q72D4QV.cjs +23 -0
  296. package/dist/{session-IGEDQ5PY.mjs → session-QZXZOPR2.mjs} +2 -2
  297. package/dist/shell-render.d-CG6bPiiA.d.mts +41 -0
  298. package/dist/shell-render.d-CG6bPiiA.d.ts +41 -0
  299. package/dist/{spa-router.d-CO01mVOM.d.ts → spa-router.d-DAtnNoBe.d.ts} +11 -2
  300. package/dist/{spa-router.d-BWDhS0FK.d.mts → spa-router.d-DHDoXxDE.d.mts} +11 -2
  301. package/dist/testing.cjs +7 -7
  302. package/dist/testing.d.mts +2 -2
  303. package/dist/testing.d.ts +2 -2
  304. package/dist/testing.mjs +6 -6
  305. package/dist/{utils.d-B77__yh8.d.ts → utils.d-DwZ-KLSB.d.ts} +7 -1
  306. package/dist/{utils.d-DRDazhCA.d.mts → utils.d-uKZcKJk4.d.mts} +7 -1
  307. package/dist/version.cjs +2 -2
  308. package/dist/version.mjs +1 -1
  309. package/dist/vite.cjs +43 -42
  310. package/dist/vite.d.mts +17 -6
  311. package/dist/vite.d.ts +17 -6
  312. package/dist/vite.mjs +42 -41
  313. package/dist/workflows.cjs +3 -3
  314. package/dist/workflows.mjs +2 -2
  315. package/package.json +17 -3
  316. package/dist/agent-mcp-handler-RT3COCEL.cjs +0 -18
  317. package/dist/session-AAU7RNRO.cjs +0 -23
  318. package/dist/{chunk-7FVVQEVL.cjs → chunk-4BS3HSY7.cjs} +2 -2
  319. package/dist/{chunk-N7JQXQAV.cjs → chunk-5OJVKXFV.cjs} +2 -2
  320. package/dist/{chunk-WSDKXV4E.mjs → chunk-72KABRWN.mjs} +4 -4
  321. package/dist/{chunk-C3BOESDW.mjs → chunk-B4CWYGCG.mjs} +3 -3
@@ -5,7 +5,7 @@ var _chunkMF3IA2AWcjs = require('../chunk-MF3IA2AW.cjs');
5
5
 
6
6
 
7
7
 
8
- var _chunkNPQLMP7Mcjs = require('../chunk-NPQLMP7M.cjs');
8
+ var _chunkNQJDO7K7cjs = require('../chunk-NQJDO7K7.cjs');
9
9
  require('../chunk-OZC2JPW6.cjs');
10
10
 
11
11
 
@@ -22,50 +22,50 @@ require('../chunk-V56632LA.cjs');
22
22
  require('../chunk-LSHX2H5G.cjs');
23
23
  require('../chunk-STF6VDYQ.cjs');
24
24
  require('../chunk-RD623KW4.cjs');
25
- require('../chunk-NYQSC4DX.cjs');
26
- require('../chunk-SG57PX7K.cjs');
27
- require('../chunk-HIFIG6HL.cjs');
25
+ require('../chunk-DZPR2W6U.cjs');
28
26
  require('../chunk-6JHZPB52.cjs');
27
+ require('../chunk-SG57PX7K.cjs');
28
+ require('../chunk-MEQN6DDA.cjs');
29
+ require('../chunk-5Y2P454O.cjs');
29
30
  require('../chunk-HEPJIKKQ.cjs');
30
31
  require('../chunk-3EIPOTZV.cjs');
31
- require('../chunk-5Y2P454O.cjs');
32
32
  require('../chunk-2HW5LWAH.cjs');
33
+ require('../chunk-LT4VAF5Z.cjs');
33
34
  require('../chunk-DQJ2CIH7.cjs');
34
- require('../chunk-XB24LZWI.cjs');
35
- require('../chunk-XYL4HSVC.cjs');
35
+ require('../chunk-QRX4JRBO.cjs');
36
+ require('../chunk-YI6FKTTN.cjs');
36
37
  require('../chunk-2KMIJDY6.cjs');
37
38
  require('../chunk-FK25QSVC.cjs');
38
- require('../chunk-WT6RAN2I.cjs');
39
- require('../chunk-WJFFPXCV.cjs');
40
39
  require('../chunk-SHIWRBFI.cjs');
41
- require('../chunk-CECUDGXQ.cjs');
40
+ require('../chunk-WT6RAN2I.cjs');
41
+ require('../chunk-ZP32GNJQ.cjs');
42
42
  require('../chunk-DUIP64BF.cjs');
43
- require('../chunk-PFV2KPDZ.cjs');
43
+ require('../chunk-ZOYKJBP5.cjs');
44
44
  require('../chunk-ZXK2EYQW.cjs');
45
45
  require('../chunk-5DX3O6TT.cjs');
46
- require('../chunk-6ONBZGVH.cjs');
46
+ require('../chunk-LRB5OVRT.cjs');
47
47
  require('../chunk-OYZXVBZP.cjs');
48
48
  require('../chunk-ITV4QQL2.cjs');
49
49
  require('../chunk-FEFCISOX.cjs');
50
50
  require('../chunk-LNVGXUL3.cjs');
51
51
 
52
52
 
53
- var _chunkVQJYGZNXcjs = require('../chunk-VQJYGZNX.cjs');
53
+ var _chunkQMNWKQL4cjs = require('../chunk-QMNWKQL4.cjs');
54
54
  require('../chunk-SUCDVKUB.cjs');
55
55
  require('../chunk-EVIWKPJV.cjs');
56
56
  require('../chunk-YIHRZBD7.cjs');
57
+ require('../chunk-2OF5RPVU.cjs');
57
58
  require('../chunk-LIFUPCXW.cjs');
58
59
  require('../chunk-JYT7AN37.cjs');
59
- require('../chunk-B5BBTPJQ.cjs');
60
60
  require('../chunk-HA7YRO53.cjs');
61
61
  require('../chunk-CA7DNRHO.cjs');
62
- require('../chunk-IWFV5ZED.cjs');
62
+ require('../chunk-PMJSG4JS.cjs');
63
63
  require('../chunk-6FXBJPF5.cjs');
64
64
  require('../chunk-E552H232.cjs');
65
65
  require('../chunk-UZCMMJJT.cjs');
66
66
  require('../chunk-6XQSPIN6.cjs');
67
- require('../chunk-7JUIK547.cjs');
68
67
  require('../chunk-A25FXJ7D.cjs');
68
+ require('../chunk-7JUIK547.cjs');
69
69
  require('../chunk-6CTFVBAT.cjs');
70
70
  require('../chunk-3BIASUGR.cjs');
71
71
  require('../chunk-OWQV6MLM.cjs');
@@ -75,7 +75,7 @@ require('../chunk-BTZ5O6VM.cjs');
75
75
 
76
76
  // src/config-runtime.ts
77
77
  function loadFarmMobileRuntime() {
78
- return import("../runtime-NQ3EDSA7.cjs");
78
+ return import("../runtime-DGUOWSMF.cjs");
79
79
  }
80
80
 
81
81
 
@@ -91,4 +91,4 @@ function loadFarmMobileRuntime() {
91
91
 
92
92
 
93
93
 
94
- exports.createFarmDesktopContext = _chunkAQLHD6HZcjs.createFarmDesktopContext; exports.getFarmDesktopOutputDirs = _chunkAQLHD6HZcjs.getFarmDesktopOutputDirs; exports.installFarmDesktopSetup = _chunkAQLHD6HZcjs.installFarmDesktopSetup; exports.loadConfig = _chunkNPQLMP7Mcjs.loadConfig; exports.loadFarmMobileRuntime = loadFarmMobileRuntime; exports.loadFarmProductionVite = _chunkMF3IA2AWcjs.loadFarmProductionVite; exports.logger = _chunkVQJYGZNXcjs.logger; exports.resolveConfig = _chunkNPQLMP7Mcjs.resolveConfig; exports.resolveDeployConfig = _chunkNPQLMP7Mcjs.resolveDeployConfig; exports.resolveFarmDesktopBlock = _chunkAQLHD6HZcjs.resolveFarmDesktopBlock; exports.resolveFarmDesktopConfig = _chunkAQLHD6HZcjs.resolveFarmDesktopConfig; exports.setFarmDesktopDevSession = _chunkAQLHD6HZcjs.setFarmDesktopDevSession; exports.validateFarmDesktopConfig = _chunkAQLHD6HZcjs.validateFarmDesktopConfig;
94
+ exports.createFarmDesktopContext = _chunkAQLHD6HZcjs.createFarmDesktopContext; exports.getFarmDesktopOutputDirs = _chunkAQLHD6HZcjs.getFarmDesktopOutputDirs; exports.installFarmDesktopSetup = _chunkAQLHD6HZcjs.installFarmDesktopSetup; exports.loadConfig = _chunkNQJDO7K7cjs.loadConfig; exports.loadFarmMobileRuntime = loadFarmMobileRuntime; exports.loadFarmProductionVite = _chunkMF3IA2AWcjs.loadFarmProductionVite; exports.logger = _chunkQMNWKQL4cjs.logger; exports.resolveConfig = _chunkNQJDO7K7cjs.resolveConfig; exports.resolveDeployConfig = _chunkNQJDO7K7cjs.resolveDeployConfig; exports.resolveFarmDesktopBlock = _chunkAQLHD6HZcjs.resolveFarmDesktopBlock; exports.resolveFarmDesktopConfig = _chunkAQLHD6HZcjs.resolveFarmDesktopConfig; exports.setFarmDesktopDevSession = _chunkAQLHD6HZcjs.setFarmDesktopDevSession; exports.validateFarmDesktopConfig = _chunkAQLHD6HZcjs.validateFarmDesktopConfig;
@@ -1,10 +1,11 @@
1
- import { bo as ResolvedFarmConfig, p as FarmUserConfig } from '../client-plugins.d-Bx3FXpqm.mjs';
2
- export { bs as FarmDesktopDevSession, bt as FarmDesktopSetupOptions, bu as createFarmDesktopContext, bv as getFarmDesktopOutputDirs, bw as installFarmDesktopSetup, O as loadConfig, Q as resolveConfig, S as resolveDeployConfig, bx as resolveFarmDesktopBlock, by as resolveFarmDesktopConfig, bz as setFarmDesktopDevSession, bA as validateFarmDesktopConfig } from '../client-plugins.d-Bx3FXpqm.mjs';
1
+ import { bo as ResolvedFarmConfig, p as FarmUserConfig } from '../client-plugins.d-CgQQ-EAv.mjs';
2
+ export { bF as FarmDesktopDevSession, bG as FarmDesktopSetupOptions, bH as createFarmDesktopContext, bI as getFarmDesktopOutputDirs, bJ as installFarmDesktopSetup, O as loadConfig, Q as resolveConfig, S as resolveDeployConfig, bK as resolveFarmDesktopBlock, bL as resolveFarmDesktopConfig, bM as setFarmDesktopDevSession, bN as validateFarmDesktopConfig } from '../client-plugins.d-CgQQ-EAv.mjs';
3
3
  import { P as PlatformRouteFiles } from '../generate-route-types.d-BoVDU8qX.mjs';
4
- import { F as FarmMobileOS, f as FarmMobileNativeEngine, d as FarmMobileNativeAuto, l as FarmMobileScreen, c as FarmMobileContext, R as ResolvedFarmMobileConfig, o as FarmMobileBlockCache, a as FarmMobileBudgets, b as FarmMobileConfigInput, p as FarmMobileContextOptions, e as FarmMobileNativeConfig, g as FarmMobileNativeRouteConfig, h as FarmMobilePageConfig, i as FarmMobilePrefetch, j as FarmMobilePresentation, q as FarmMobileResolveOptions, k as FarmMobileRouteConfig, m as FarmMobileTab, n as FarmMobileUserConfig, r as ResolvedFarmMobileNativeConfig, s as createFarmMobileContext, t as resolveFarmMobileBlock, u as resolveFarmMobileConfig, v as resolveFarmMobileServer, w as validateFarmMobileConfig, x as validateFarmMobilePageConfig } from '../config.d-iRPI16ku.mjs';
5
- import { b as FarmMobileTier, c as FarmMobileScreenSource, d as FarmMobileRouteAnalysis, e as FarmMobileScreenDecision, f as FarmMobileAnalyzerStats, F as FarmMobileRouteManifest, g as FarmMobileBlocker, h as FarmMobileBlockerRule, i as FarmMobilePageExport, j as FarmMobileRouteManifestOptions, a as FarmMobileRouteRule, k as FarmMobileScreens, l as FarmMobileScreensOptions, m as FarmUiNode, n as createFarmMobileModuleId, o as createFarmMobileRouteManifest, p as createFarmMobileRoutePattern, r as readFarmMobilePageExport, q as resolveFarmMobileScreens } from '../routes.d-Cmv8TgVq.mjs';
4
+ import { F as FarmMobileOS, i as FarmMobileNativeEngine, g as FarmMobileNativeAuto, o as FarmMobileRouteScreen, p as FarmMobileScreen, e as FarmMobileContext, R as ResolvedFarmMobileConfig, a as FarmMobileAppModules, x as FarmMobileBlockCache, c as FarmMobileBudgets, d as FarmMobileConfigInput, y as FarmMobileContextOptions, h as FarmMobileNativeConfig, j as FarmMobileNativeRouteConfig, k as FarmMobilePageConfig, l as FarmMobilePrefetch, m as FarmMobilePresentation, z as FarmMobileResolveOptions, n as FarmMobileRouteConfig, q as FarmMobileTab, r as FarmMobileUserConfig, A as ResolvedFarmMobileNativeConfig, B as createFarmMobileContext, C as resolveFarmMobileBlock, D as resolveFarmMobileConfig, E as resolveFarmMobileServer, G as validateFarmMobileConfig, H as validateFarmMobilePageConfig } from '../config.d-DqZkLwef.mjs';
5
+ import { c as FarmMobileTier, d as FarmMobileScreenSource, e as FarmMobileRouteAnalysis, f as FarmMobileScreenDecision, g as FarmMobileAnalyzerStats, b as FarmMobileShellManifest, F as FarmMobileRouteManifest, h as FarmMobileBlocker, i as FarmMobileBlockerRule, j as FarmMobilePageExport, k as FarmMobileRouteManifestOptions, a as FarmMobileRouteRule, l as FarmMobileScreens, m as FarmMobileScreensOptions, n as FarmUiNode, o as createFarmMobileModuleId, p as createFarmMobileRouteManifest, q as createFarmMobileRoutePattern, r as readFarmMobilePageExport, s as resolveFarmMobileScreens } from '../routes.d-qd8Qf4LG.mjs';
6
+ import { F as FARM_SHELL_PARAM_SEGMENT, a as FARM_SHELL_RENDER_HEADER, b as FARM_SHELL_ROUTE_HEADER, c as createFarmMobileShellRenderPath } from '../shell-render.d-CG6bPiiA.mjs';
6
7
  export { F as FarmProductionViteRuntime, l as loadFarmProductionVite } from '../production-vite.d-BQFAlG7n.mjs';
7
- export { l as logger } from '../utils.d-DRDazhCA.mjs';
8
+ export { l as logger } from '../utils.d-uKZcKJk4.mjs';
8
9
  import '../lifecycle.d-C2aLBOwu.mjs';
9
10
  import '../route.d-BaVH3V0w.mjs';
10
11
  import '../endpoint.d-BkMSCRf6.mjs';
@@ -37,6 +38,13 @@ import '../types.d-C41ePjvP.mjs';
37
38
  import '../types.d-DQnyD3VD.mjs';
38
39
  import '../font.mjs';
39
40
 
41
+ interface FarmMobilePort {
42
+ /** The screen module the native entry registers, relative to the ports directory. */
43
+ entry: string;
44
+ /** Generated sources, keyed by path relative to the ports directory. */
45
+ files: Record<string, string>;
46
+ }
47
+
40
48
  /**
41
49
  * `.farm/output/mobile/native-report.json` and its terminal table: what each route shows, and
42
50
  * for routes the analyzer looked at, whether it could become a native screen and why not.
@@ -45,7 +53,7 @@ import '../font.mjs';
45
53
  interface FarmMobileNativeReportRoute {
46
54
  route: string;
47
55
  /** What `farm-routes.json` shows for the route. */
48
- screen: FarmMobileScreen;
56
+ screen: FarmMobileRouteScreen;
49
57
  source: FarmMobileScreenSource;
50
58
  requested?: Exclude<FarmMobileScreen, "web">;
51
59
  /** The page export or screen file that decided, app-root-relative. */
@@ -88,6 +96,85 @@ declare function formatFarmMobileNativeReport(report: FarmMobileNativeReport, op
88
96
  file?: string;
89
97
  }): string;
90
98
 
99
+ /** The page shells of one build, as a shell package writes them into the app. */
100
+ interface FarmMobilePageShells extends FarmMobileShellManifest {
101
+ /** Shell HTML by file name, such as `{ "1a2b3c4d5e6f7a8b.html": "<!DOCTYPE html>..." }`. */
102
+ files: Record<string, string>;
103
+ }
104
+ interface FarmMobilePageShellOptions {
105
+ os: FarmMobileOS;
106
+ /**
107
+ * The text of a stylesheet the document links, by its href, such as `/assets/app-h1a2.css`;
108
+ * undefined for one the build did not write. iOS shells inline every stylesheet they can
109
+ * (`loadHTMLString` has no bundled files to load it from); Android loads it from the app.
110
+ */
111
+ readStylesheet?: (href: string) => string | undefined;
112
+ }
113
+ /**
114
+ * A rendered document as a page shell: every script and script preload removed (a shell never
115
+ * runs code; the real document does), the links that name the request's URL (`canonical`,
116
+ * `alternate`: locale and markdown versions) removed, so a shell is the same file for every route
117
+ * that shares it and carries no address of the build's server, `data-farm-page-shell` on `<html>`
118
+ * so app CSS can tell, and on iOS each stylesheet the build wrote inlined.
119
+ */
120
+ declare function createFarmMobilePageShell(html: string, options: FarmMobilePageShellOptions): string;
121
+ /** A shell's file name: its content hash, so equal shells share one file. */
122
+ declare function getFarmMobilePageShellFile(shell: string): string;
123
+ interface RenderFarmMobilePageShellsOptions extends FarmMobilePageShellOptions {
124
+ /** Page route patterns, route groups removed. */
125
+ routes: readonly string[];
126
+ /** The token the build's server answers shell requests with. */
127
+ token: string;
128
+ /** The app's basePath ("" or "/base"). */
129
+ basePath: string;
130
+ /** The mobile client entry of the build, from `mobile-client.json`. */
131
+ client: string;
132
+ /** Requests a path (with the base path) from the build's server. */
133
+ fetch: (path: string, init: {
134
+ headers: Record<string, string>;
135
+ }) => Promise<Response>;
136
+ /** Requests in flight at once; defaults to 4. */
137
+ concurrency?: number;
138
+ }
139
+ interface RenderedFarmMobilePageShells {
140
+ shells: FarmMobilePageShells;
141
+ /** Routes without a shell and why, for `--verbose` output. */
142
+ skipped: {
143
+ route: string;
144
+ reason: string;
145
+ }[];
146
+ }
147
+ /**
148
+ * Ask the build's server for each route's shell and keep the ones it renders. The server decides
149
+ * which routes qualify (a loading file and layouts in static folders) and says why the others do
150
+ * not; middleware and guards run as for any request, so a route they redirect gets no shell.
151
+ */
152
+ declare function renderFarmMobilePageShells(options: RenderFarmMobilePageShellsOptions): Promise<RenderedFarmMobilePageShells>;
153
+
154
+ /** `.farm/mobile-client.json` once the build has finished. */
155
+ interface FarmMobileClientManifest {
156
+ version: 1;
157
+ /** The web client entry documents reference, such as `/farm-client-h1a2b3c4d.js`. */
158
+ webEntry: string;
159
+ /** The mobile client entry a shell's documents load instead. */
160
+ entry: string;
161
+ /** The stylesheet both clients use. */
162
+ stylesheet: string;
163
+ /**
164
+ * Every content-hashed file a shell's document loads, as URL paths: the mobile client's
165
+ * chunks and assets, the stylesheet, and the files the stylesheet references. A shell may
166
+ * answer exactly these paths from its bundle; a hashed name only ever has these bytes.
167
+ */
168
+ files: string[];
169
+ /**
170
+ * The client output the files are in, relative to the app root, when it is not the build
171
+ * directory's `client/`: the RSC pipeline (`@farm.js/plugin/rsc`) writes this manifest too.
172
+ */
173
+ clientDir?: string;
174
+ }
175
+ /** Read the finished manifest, or null when the last build had no mobile client. */
176
+ declare function readFarmMobileClientManifest(buildDir: string): Promise<FarmMobileClientManifest | null>;
177
+
91
178
  /** An expected failure with its own fix; the CLI prints it without a stack. */
92
179
  declare class FarmMobileError extends Error {
93
180
  name: string;
@@ -104,7 +191,11 @@ declare function getFarmMobileOutputDirs(distDir: string): {
104
191
  /** Built apps, such as the debug APK. */
105
192
  dist: string;
106
193
  report: string;
194
+ /** Generated React Native ports of portable pages. */
195
+ ports: string;
107
196
  analyzerCache: string;
197
+ /** The production build's client output, which holds the mobile client a shell bundles. */
198
+ client: string;
108
199
  };
109
200
  interface FarmMobileAppOptions {
110
201
  root?: string;
@@ -128,6 +219,8 @@ interface FarmMobileAppOptions {
128
219
  * that a page with `export const mobile = { native: true }` is always checked.
129
220
  */
130
221
  analyze?: boolean | "always";
222
+ /** `farm build --mobile` with `mobile.shells`: the page shells it rendered, for the manifest. */
223
+ shells?: FarmMobileShellManifest;
131
224
  }
132
225
  interface FarmMobileApp {
133
226
  context: FarmMobileContext;
@@ -142,9 +235,13 @@ interface FarmMobileApp {
142
235
  nativeLayouts: Record<string, PlatformRouteFiles>;
143
236
  /** Absolute page file per file-based page route. */
144
237
  pageFiles: Map<string, string>;
238
+ /** The React Native port of each route Farm ported, written by `generateFarmMobileRoutes`. */
239
+ ports: Record<string, FarmMobilePort>;
145
240
  /** The analyzer's report, when it ran. */
146
241
  report?: FarmMobileNativeReport;
147
242
  analyzerStats?: FarmMobileAnalyzerStats;
243
+ /** The app's own native modules in `src/native/`, when it has any. */
244
+ appModules?: FarmMobileAppModules;
148
245
  }
149
246
  /** Resolve the `mobile` block for one OS against the app's routes. Writes nothing. */
150
247
  declare function resolveFarmMobileApp(options?: FarmMobileAppOptions): Promise<FarmMobileApp>;
@@ -158,6 +255,9 @@ declare function generateFarmMobileRoutes(options?: FarmMobileAppOptions): Promi
158
255
  table?: string;
159
256
  }>;
160
257
 
258
+ declare const __mobile_runtime_FARM_SHELL_PARAM_SEGMENT: typeof FARM_SHELL_PARAM_SEGMENT;
259
+ declare const __mobile_runtime_FARM_SHELL_RENDER_HEADER: typeof FARM_SHELL_RENDER_HEADER;
260
+ declare const __mobile_runtime_FARM_SHELL_ROUTE_HEADER: typeof FARM_SHELL_ROUTE_HEADER;
161
261
  declare const __mobile_runtime_FarmMobileAnalyzerStats: typeof FarmMobileAnalyzerStats;
162
262
  type __mobile_runtime_FarmMobileApp = FarmMobileApp;
163
263
  type __mobile_runtime_FarmMobileAppOptions = FarmMobileAppOptions;
@@ -165,6 +265,7 @@ declare const __mobile_runtime_FarmMobileBlockCache: typeof FarmMobileBlockCache
165
265
  declare const __mobile_runtime_FarmMobileBlocker: typeof FarmMobileBlocker;
166
266
  declare const __mobile_runtime_FarmMobileBlockerRule: typeof FarmMobileBlockerRule;
167
267
  declare const __mobile_runtime_FarmMobileBudgets: typeof FarmMobileBudgets;
268
+ type __mobile_runtime_FarmMobileClientManifest = FarmMobileClientManifest;
168
269
  declare const __mobile_runtime_FarmMobileConfigInput: typeof FarmMobileConfigInput;
169
270
  declare const __mobile_runtime_FarmMobileContext: typeof FarmMobileContext;
170
271
  declare const __mobile_runtime_FarmMobileContextOptions: typeof FarmMobileContextOptions;
@@ -179,6 +280,8 @@ declare const __mobile_runtime_FarmMobileNativeRouteConfig: typeof FarmMobileNat
179
280
  declare const __mobile_runtime_FarmMobileOS: typeof FarmMobileOS;
180
281
  declare const __mobile_runtime_FarmMobilePageConfig: typeof FarmMobilePageConfig;
181
282
  declare const __mobile_runtime_FarmMobilePageExport: typeof FarmMobilePageExport;
283
+ type __mobile_runtime_FarmMobilePageShellOptions = FarmMobilePageShellOptions;
284
+ type __mobile_runtime_FarmMobilePageShells = FarmMobilePageShells;
182
285
  declare const __mobile_runtime_FarmMobilePrefetch: typeof FarmMobilePrefetch;
183
286
  declare const __mobile_runtime_FarmMobilePresentation: typeof FarmMobilePresentation;
184
287
  declare const __mobile_runtime_FarmMobileResolveOptions: typeof FarmMobileResolveOptions;
@@ -187,26 +290,35 @@ declare const __mobile_runtime_FarmMobileRouteConfig: typeof FarmMobileRouteConf
187
290
  declare const __mobile_runtime_FarmMobileRouteManifest: typeof FarmMobileRouteManifest;
188
291
  declare const __mobile_runtime_FarmMobileRouteManifestOptions: typeof FarmMobileRouteManifestOptions;
189
292
  declare const __mobile_runtime_FarmMobileRouteRule: typeof FarmMobileRouteRule;
293
+ declare const __mobile_runtime_FarmMobileRouteScreen: typeof FarmMobileRouteScreen;
190
294
  declare const __mobile_runtime_FarmMobileScreen: typeof FarmMobileScreen;
191
295
  declare const __mobile_runtime_FarmMobileScreenDecision: typeof FarmMobileScreenDecision;
192
296
  declare const __mobile_runtime_FarmMobileScreenSource: typeof FarmMobileScreenSource;
193
297
  declare const __mobile_runtime_FarmMobileScreens: typeof FarmMobileScreens;
194
298
  declare const __mobile_runtime_FarmMobileScreensOptions: typeof FarmMobileScreensOptions;
299
+ declare const __mobile_runtime_FarmMobileShellManifest: typeof FarmMobileShellManifest;
195
300
  declare const __mobile_runtime_FarmMobileTab: typeof FarmMobileTab;
196
301
  declare const __mobile_runtime_FarmMobileTier: typeof FarmMobileTier;
197
302
  declare const __mobile_runtime_FarmMobileUserConfig: typeof FarmMobileUserConfig;
198
303
  declare const __mobile_runtime_FarmUiNode: typeof FarmUiNode;
304
+ type __mobile_runtime_RenderFarmMobilePageShellsOptions = RenderFarmMobilePageShellsOptions;
305
+ type __mobile_runtime_RenderedFarmMobilePageShells = RenderedFarmMobilePageShells;
199
306
  declare const __mobile_runtime_ResolvedFarmMobileConfig: typeof ResolvedFarmMobileConfig;
200
307
  declare const __mobile_runtime_ResolvedFarmMobileNativeConfig: typeof ResolvedFarmMobileNativeConfig;
201
308
  declare const __mobile_runtime_createFarmMobileContext: typeof createFarmMobileContext;
202
309
  declare const __mobile_runtime_createFarmMobileModuleId: typeof createFarmMobileModuleId;
203
310
  declare const __mobile_runtime_createFarmMobileNativeReport: typeof createFarmMobileNativeReport;
311
+ declare const __mobile_runtime_createFarmMobilePageShell: typeof createFarmMobilePageShell;
204
312
  declare const __mobile_runtime_createFarmMobileRouteManifest: typeof createFarmMobileRouteManifest;
205
313
  declare const __mobile_runtime_createFarmMobileRoutePattern: typeof createFarmMobileRoutePattern;
314
+ declare const __mobile_runtime_createFarmMobileShellRenderPath: typeof createFarmMobileShellRenderPath;
206
315
  declare const __mobile_runtime_formatFarmMobileNativeReport: typeof formatFarmMobileNativeReport;
207
316
  declare const __mobile_runtime_generateFarmMobileRoutes: typeof generateFarmMobileRoutes;
208
317
  declare const __mobile_runtime_getFarmMobileOutputDirs: typeof getFarmMobileOutputDirs;
318
+ declare const __mobile_runtime_getFarmMobilePageShellFile: typeof getFarmMobilePageShellFile;
319
+ declare const __mobile_runtime_readFarmMobileClientManifest: typeof readFarmMobileClientManifest;
209
320
  declare const __mobile_runtime_readFarmMobilePageExport: typeof readFarmMobilePageExport;
321
+ declare const __mobile_runtime_renderFarmMobilePageShells: typeof renderFarmMobilePageShells;
210
322
  declare const __mobile_runtime_resolveFarmMobileApp: typeof resolveFarmMobileApp;
211
323
  declare const __mobile_runtime_resolveFarmMobileBlock: typeof resolveFarmMobileBlock;
212
324
  declare const __mobile_runtime_resolveFarmMobileConfig: typeof resolveFarmMobileConfig;
@@ -215,7 +327,7 @@ declare const __mobile_runtime_resolveFarmMobileServer: typeof resolveFarmMobile
215
327
  declare const __mobile_runtime_validateFarmMobileConfig: typeof validateFarmMobileConfig;
216
328
  declare const __mobile_runtime_validateFarmMobilePageConfig: typeof validateFarmMobilePageConfig;
217
329
  declare namespace __mobile_runtime {
218
- export { __mobile_runtime_FarmMobileAnalyzerStats as FarmMobileAnalyzerStats, type __mobile_runtime_FarmMobileApp as FarmMobileApp, type __mobile_runtime_FarmMobileAppOptions as FarmMobileAppOptions, __mobile_runtime_FarmMobileBlockCache as FarmMobileBlockCache, __mobile_runtime_FarmMobileBlocker as FarmMobileBlocker, __mobile_runtime_FarmMobileBlockerRule as FarmMobileBlockerRule, __mobile_runtime_FarmMobileBudgets as FarmMobileBudgets, __mobile_runtime_FarmMobileConfigInput as FarmMobileConfigInput, __mobile_runtime_FarmMobileContext as FarmMobileContext, __mobile_runtime_FarmMobileContextOptions as FarmMobileContextOptions, __mobile_runtime_FarmMobileError as FarmMobileError, __mobile_runtime_FarmMobileNativeAuto as FarmMobileNativeAuto, __mobile_runtime_FarmMobileNativeConfig as FarmMobileNativeConfig, __mobile_runtime_FarmMobileNativeEngine as FarmMobileNativeEngine, type __mobile_runtime_FarmMobileNativeReport as FarmMobileNativeReport, type __mobile_runtime_FarmMobileNativeReportRoute as FarmMobileNativeReportRoute, __mobile_runtime_FarmMobileNativeRouteConfig as FarmMobileNativeRouteConfig, __mobile_runtime_FarmMobileOS as FarmMobileOS, __mobile_runtime_FarmMobilePageConfig as FarmMobilePageConfig, __mobile_runtime_FarmMobilePageExport as FarmMobilePageExport, __mobile_runtime_FarmMobilePrefetch as FarmMobilePrefetch, __mobile_runtime_FarmMobilePresentation as FarmMobilePresentation, __mobile_runtime_FarmMobileResolveOptions as FarmMobileResolveOptions, __mobile_runtime_FarmMobileRouteAnalysis as FarmMobileRouteAnalysis, __mobile_runtime_FarmMobileRouteConfig as FarmMobileRouteConfig, __mobile_runtime_FarmMobileRouteManifest as FarmMobileRouteManifest, __mobile_runtime_FarmMobileRouteManifestOptions as FarmMobileRouteManifestOptions, __mobile_runtime_FarmMobileRouteRule as FarmMobileRouteRule, __mobile_runtime_FarmMobileScreen as FarmMobileScreen, __mobile_runtime_FarmMobileScreenDecision as FarmMobileScreenDecision, __mobile_runtime_FarmMobileScreenSource as FarmMobileScreenSource, __mobile_runtime_FarmMobileScreens as FarmMobileScreens, __mobile_runtime_FarmMobileScreensOptions as FarmMobileScreensOptions, __mobile_runtime_FarmMobileTab as FarmMobileTab, __mobile_runtime_FarmMobileTier as FarmMobileTier, __mobile_runtime_FarmMobileUserConfig as FarmMobileUserConfig, __mobile_runtime_FarmUiNode as FarmUiNode, __mobile_runtime_ResolvedFarmMobileConfig as ResolvedFarmMobileConfig, __mobile_runtime_ResolvedFarmMobileNativeConfig as ResolvedFarmMobileNativeConfig, __mobile_runtime_createFarmMobileContext as createFarmMobileContext, __mobile_runtime_createFarmMobileModuleId as createFarmMobileModuleId, __mobile_runtime_createFarmMobileNativeReport as createFarmMobileNativeReport, __mobile_runtime_createFarmMobileRouteManifest as createFarmMobileRouteManifest, __mobile_runtime_createFarmMobileRoutePattern as createFarmMobileRoutePattern, __mobile_runtime_formatFarmMobileNativeReport as formatFarmMobileNativeReport, __mobile_runtime_generateFarmMobileRoutes as generateFarmMobileRoutes, __mobile_runtime_getFarmMobileOutputDirs as getFarmMobileOutputDirs, __mobile_runtime_readFarmMobilePageExport as readFarmMobilePageExport, __mobile_runtime_resolveFarmMobileApp as resolveFarmMobileApp, __mobile_runtime_resolveFarmMobileBlock as resolveFarmMobileBlock, __mobile_runtime_resolveFarmMobileConfig as resolveFarmMobileConfig, __mobile_runtime_resolveFarmMobileScreens as resolveFarmMobileScreens, __mobile_runtime_resolveFarmMobileServer as resolveFarmMobileServer, __mobile_runtime_validateFarmMobileConfig as validateFarmMobileConfig, __mobile_runtime_validateFarmMobilePageConfig as validateFarmMobilePageConfig };
330
+ export { __mobile_runtime_FARM_SHELL_PARAM_SEGMENT as FARM_SHELL_PARAM_SEGMENT, __mobile_runtime_FARM_SHELL_RENDER_HEADER as FARM_SHELL_RENDER_HEADER, __mobile_runtime_FARM_SHELL_ROUTE_HEADER as FARM_SHELL_ROUTE_HEADER, __mobile_runtime_FarmMobileAnalyzerStats as FarmMobileAnalyzerStats, type __mobile_runtime_FarmMobileApp as FarmMobileApp, type __mobile_runtime_FarmMobileAppOptions as FarmMobileAppOptions, __mobile_runtime_FarmMobileBlockCache as FarmMobileBlockCache, __mobile_runtime_FarmMobileBlocker as FarmMobileBlocker, __mobile_runtime_FarmMobileBlockerRule as FarmMobileBlockerRule, __mobile_runtime_FarmMobileBudgets as FarmMobileBudgets, type __mobile_runtime_FarmMobileClientManifest as FarmMobileClientManifest, __mobile_runtime_FarmMobileConfigInput as FarmMobileConfigInput, __mobile_runtime_FarmMobileContext as FarmMobileContext, __mobile_runtime_FarmMobileContextOptions as FarmMobileContextOptions, __mobile_runtime_FarmMobileError as FarmMobileError, __mobile_runtime_FarmMobileNativeAuto as FarmMobileNativeAuto, __mobile_runtime_FarmMobileNativeConfig as FarmMobileNativeConfig, __mobile_runtime_FarmMobileNativeEngine as FarmMobileNativeEngine, type __mobile_runtime_FarmMobileNativeReport as FarmMobileNativeReport, type __mobile_runtime_FarmMobileNativeReportRoute as FarmMobileNativeReportRoute, __mobile_runtime_FarmMobileNativeRouteConfig as FarmMobileNativeRouteConfig, __mobile_runtime_FarmMobileOS as FarmMobileOS, __mobile_runtime_FarmMobilePageConfig as FarmMobilePageConfig, __mobile_runtime_FarmMobilePageExport as FarmMobilePageExport, type __mobile_runtime_FarmMobilePageShellOptions as FarmMobilePageShellOptions, type __mobile_runtime_FarmMobilePageShells as FarmMobilePageShells, __mobile_runtime_FarmMobilePrefetch as FarmMobilePrefetch, __mobile_runtime_FarmMobilePresentation as FarmMobilePresentation, __mobile_runtime_FarmMobileResolveOptions as FarmMobileResolveOptions, __mobile_runtime_FarmMobileRouteAnalysis as FarmMobileRouteAnalysis, __mobile_runtime_FarmMobileRouteConfig as FarmMobileRouteConfig, __mobile_runtime_FarmMobileRouteManifest as FarmMobileRouteManifest, __mobile_runtime_FarmMobileRouteManifestOptions as FarmMobileRouteManifestOptions, __mobile_runtime_FarmMobileRouteRule as FarmMobileRouteRule, __mobile_runtime_FarmMobileRouteScreen as FarmMobileRouteScreen, __mobile_runtime_FarmMobileScreen as FarmMobileScreen, __mobile_runtime_FarmMobileScreenDecision as FarmMobileScreenDecision, __mobile_runtime_FarmMobileScreenSource as FarmMobileScreenSource, __mobile_runtime_FarmMobileScreens as FarmMobileScreens, __mobile_runtime_FarmMobileScreensOptions as FarmMobileScreensOptions, __mobile_runtime_FarmMobileShellManifest as FarmMobileShellManifest, __mobile_runtime_FarmMobileTab as FarmMobileTab, __mobile_runtime_FarmMobileTier as FarmMobileTier, __mobile_runtime_FarmMobileUserConfig as FarmMobileUserConfig, __mobile_runtime_FarmUiNode as FarmUiNode, type __mobile_runtime_RenderFarmMobilePageShellsOptions as RenderFarmMobilePageShellsOptions, type __mobile_runtime_RenderedFarmMobilePageShells as RenderedFarmMobilePageShells, __mobile_runtime_ResolvedFarmMobileConfig as ResolvedFarmMobileConfig, __mobile_runtime_ResolvedFarmMobileNativeConfig as ResolvedFarmMobileNativeConfig, __mobile_runtime_createFarmMobileContext as createFarmMobileContext, __mobile_runtime_createFarmMobileModuleId as createFarmMobileModuleId, __mobile_runtime_createFarmMobileNativeReport as createFarmMobileNativeReport, __mobile_runtime_createFarmMobilePageShell as createFarmMobilePageShell, __mobile_runtime_createFarmMobileRouteManifest as createFarmMobileRouteManifest, __mobile_runtime_createFarmMobileRoutePattern as createFarmMobileRoutePattern, __mobile_runtime_createFarmMobileShellRenderPath as createFarmMobileShellRenderPath, __mobile_runtime_formatFarmMobileNativeReport as formatFarmMobileNativeReport, __mobile_runtime_generateFarmMobileRoutes as generateFarmMobileRoutes, __mobile_runtime_getFarmMobileOutputDirs as getFarmMobileOutputDirs, __mobile_runtime_getFarmMobilePageShellFile as getFarmMobilePageShellFile, __mobile_runtime_readFarmMobileClientManifest as readFarmMobileClientManifest, __mobile_runtime_readFarmMobilePageExport as readFarmMobilePageExport, __mobile_runtime_renderFarmMobilePageShells as renderFarmMobilePageShells, __mobile_runtime_resolveFarmMobileApp as resolveFarmMobileApp, __mobile_runtime_resolveFarmMobileBlock as resolveFarmMobileBlock, __mobile_runtime_resolveFarmMobileConfig as resolveFarmMobileConfig, __mobile_runtime_resolveFarmMobileScreens as resolveFarmMobileScreens, __mobile_runtime_resolveFarmMobileServer as resolveFarmMobileServer, __mobile_runtime_validateFarmMobileConfig as validateFarmMobileConfig, __mobile_runtime_validateFarmMobilePageConfig as validateFarmMobilePageConfig };
219
331
  }
220
332
 
221
333
  /** The `mobile` block and its route manifest, loaded only by mobile commands. */
@@ -1,10 +1,11 @@
1
- import { bo as ResolvedFarmConfig, p as FarmUserConfig } from '../client-plugins.d-TiLbS5j4.js';
2
- export { bs as FarmDesktopDevSession, bt as FarmDesktopSetupOptions, bu as createFarmDesktopContext, bv as getFarmDesktopOutputDirs, bw as installFarmDesktopSetup, O as loadConfig, Q as resolveConfig, S as resolveDeployConfig, bx as resolveFarmDesktopBlock, by as resolveFarmDesktopConfig, bz as setFarmDesktopDevSession, bA as validateFarmDesktopConfig } from '../client-plugins.d-TiLbS5j4.js';
1
+ import { bo as ResolvedFarmConfig, p as FarmUserConfig } from '../client-plugins.d-vXrbcfJ1.js';
2
+ export { bF as FarmDesktopDevSession, bG as FarmDesktopSetupOptions, bH as createFarmDesktopContext, bI as getFarmDesktopOutputDirs, bJ as installFarmDesktopSetup, O as loadConfig, Q as resolveConfig, S as resolveDeployConfig, bK as resolveFarmDesktopBlock, bL as resolveFarmDesktopConfig, bM as setFarmDesktopDevSession, bN as validateFarmDesktopConfig } from '../client-plugins.d-vXrbcfJ1.js';
3
3
  import { P as PlatformRouteFiles } from '../generate-route-types.d-BL2pq6xC.js';
4
- import { F as FarmMobileOS, f as FarmMobileNativeEngine, d as FarmMobileNativeAuto, l as FarmMobileScreen, c as FarmMobileContext, R as ResolvedFarmMobileConfig, o as FarmMobileBlockCache, a as FarmMobileBudgets, b as FarmMobileConfigInput, p as FarmMobileContextOptions, e as FarmMobileNativeConfig, g as FarmMobileNativeRouteConfig, h as FarmMobilePageConfig, i as FarmMobilePrefetch, j as FarmMobilePresentation, q as FarmMobileResolveOptions, k as FarmMobileRouteConfig, m as FarmMobileTab, n as FarmMobileUserConfig, r as ResolvedFarmMobileNativeConfig, s as createFarmMobileContext, t as resolveFarmMobileBlock, u as resolveFarmMobileConfig, v as resolveFarmMobileServer, w as validateFarmMobileConfig, x as validateFarmMobilePageConfig } from '../config.d-iRPI16ku.js';
5
- import { b as FarmMobileTier, c as FarmMobileScreenSource, d as FarmMobileRouteAnalysis, e as FarmMobileScreenDecision, f as FarmMobileAnalyzerStats, F as FarmMobileRouteManifest, g as FarmMobileBlocker, h as FarmMobileBlockerRule, i as FarmMobilePageExport, j as FarmMobileRouteManifestOptions, a as FarmMobileRouteRule, k as FarmMobileScreens, l as FarmMobileScreensOptions, m as FarmUiNode, n as createFarmMobileModuleId, o as createFarmMobileRouteManifest, p as createFarmMobileRoutePattern, r as readFarmMobilePageExport, q as resolveFarmMobileScreens } from '../routes.d-D96Dq9lz.js';
4
+ import { F as FarmMobileOS, i as FarmMobileNativeEngine, g as FarmMobileNativeAuto, o as FarmMobileRouteScreen, p as FarmMobileScreen, e as FarmMobileContext, R as ResolvedFarmMobileConfig, a as FarmMobileAppModules, x as FarmMobileBlockCache, c as FarmMobileBudgets, d as FarmMobileConfigInput, y as FarmMobileContextOptions, h as FarmMobileNativeConfig, j as FarmMobileNativeRouteConfig, k as FarmMobilePageConfig, l as FarmMobilePrefetch, m as FarmMobilePresentation, z as FarmMobileResolveOptions, n as FarmMobileRouteConfig, q as FarmMobileTab, r as FarmMobileUserConfig, A as ResolvedFarmMobileNativeConfig, B as createFarmMobileContext, C as resolveFarmMobileBlock, D as resolveFarmMobileConfig, E as resolveFarmMobileServer, G as validateFarmMobileConfig, H as validateFarmMobilePageConfig } from '../config.d-DqZkLwef.js';
5
+ import { c as FarmMobileTier, d as FarmMobileScreenSource, e as FarmMobileRouteAnalysis, f as FarmMobileScreenDecision, g as FarmMobileAnalyzerStats, b as FarmMobileShellManifest, F as FarmMobileRouteManifest, h as FarmMobileBlocker, i as FarmMobileBlockerRule, j as FarmMobilePageExport, k as FarmMobileRouteManifestOptions, a as FarmMobileRouteRule, l as FarmMobileScreens, m as FarmMobileScreensOptions, n as FarmUiNode, o as createFarmMobileModuleId, p as createFarmMobileRouteManifest, q as createFarmMobileRoutePattern, r as readFarmMobilePageExport, s as resolveFarmMobileScreens } from '../routes.d-BKSjHuH9.js';
6
+ import { F as FARM_SHELL_PARAM_SEGMENT, a as FARM_SHELL_RENDER_HEADER, b as FARM_SHELL_ROUTE_HEADER, c as createFarmMobileShellRenderPath } from '../shell-render.d-CG6bPiiA.js';
6
7
  export { F as FarmProductionViteRuntime, l as loadFarmProductionVite } from '../production-vite.d-BQFAlG7n.js';
7
- export { l as logger } from '../utils.d-B77__yh8.js';
8
+ export { l as logger } from '../utils.d-DwZ-KLSB.js';
8
9
  import '../lifecycle.d-C2aLBOwu.js';
9
10
  import '../route.d-DBTEqifW.js';
10
11
  import '../endpoint.d-BgHn0lhl.js';
@@ -37,6 +38,13 @@ import '../types.d-C41ePjvP.js';
37
38
  import '../types.d-DQnyD3VD.js';
38
39
  import '../font.js';
39
40
 
41
+ interface FarmMobilePort {
42
+ /** The screen module the native entry registers, relative to the ports directory. */
43
+ entry: string;
44
+ /** Generated sources, keyed by path relative to the ports directory. */
45
+ files: Record<string, string>;
46
+ }
47
+
40
48
  /**
41
49
  * `.farm/output/mobile/native-report.json` and its terminal table: what each route shows, and
42
50
  * for routes the analyzer looked at, whether it could become a native screen and why not.
@@ -45,7 +53,7 @@ import '../font.js';
45
53
  interface FarmMobileNativeReportRoute {
46
54
  route: string;
47
55
  /** What `farm-routes.json` shows for the route. */
48
- screen: FarmMobileScreen;
56
+ screen: FarmMobileRouteScreen;
49
57
  source: FarmMobileScreenSource;
50
58
  requested?: Exclude<FarmMobileScreen, "web">;
51
59
  /** The page export or screen file that decided, app-root-relative. */
@@ -88,6 +96,85 @@ declare function formatFarmMobileNativeReport(report: FarmMobileNativeReport, op
88
96
  file?: string;
89
97
  }): string;
90
98
 
99
+ /** The page shells of one build, as a shell package writes them into the app. */
100
+ interface FarmMobilePageShells extends FarmMobileShellManifest {
101
+ /** Shell HTML by file name, such as `{ "1a2b3c4d5e6f7a8b.html": "<!DOCTYPE html>..." }`. */
102
+ files: Record<string, string>;
103
+ }
104
+ interface FarmMobilePageShellOptions {
105
+ os: FarmMobileOS;
106
+ /**
107
+ * The text of a stylesheet the document links, by its href, such as `/assets/app-h1a2.css`;
108
+ * undefined for one the build did not write. iOS shells inline every stylesheet they can
109
+ * (`loadHTMLString` has no bundled files to load it from); Android loads it from the app.
110
+ */
111
+ readStylesheet?: (href: string) => string | undefined;
112
+ }
113
+ /**
114
+ * A rendered document as a page shell: every script and script preload removed (a shell never
115
+ * runs code; the real document does), the links that name the request's URL (`canonical`,
116
+ * `alternate`: locale and markdown versions) removed, so a shell is the same file for every route
117
+ * that shares it and carries no address of the build's server, `data-farm-page-shell` on `<html>`
118
+ * so app CSS can tell, and on iOS each stylesheet the build wrote inlined.
119
+ */
120
+ declare function createFarmMobilePageShell(html: string, options: FarmMobilePageShellOptions): string;
121
+ /** A shell's file name: its content hash, so equal shells share one file. */
122
+ declare function getFarmMobilePageShellFile(shell: string): string;
123
+ interface RenderFarmMobilePageShellsOptions extends FarmMobilePageShellOptions {
124
+ /** Page route patterns, route groups removed. */
125
+ routes: readonly string[];
126
+ /** The token the build's server answers shell requests with. */
127
+ token: string;
128
+ /** The app's basePath ("" or "/base"). */
129
+ basePath: string;
130
+ /** The mobile client entry of the build, from `mobile-client.json`. */
131
+ client: string;
132
+ /** Requests a path (with the base path) from the build's server. */
133
+ fetch: (path: string, init: {
134
+ headers: Record<string, string>;
135
+ }) => Promise<Response>;
136
+ /** Requests in flight at once; defaults to 4. */
137
+ concurrency?: number;
138
+ }
139
+ interface RenderedFarmMobilePageShells {
140
+ shells: FarmMobilePageShells;
141
+ /** Routes without a shell and why, for `--verbose` output. */
142
+ skipped: {
143
+ route: string;
144
+ reason: string;
145
+ }[];
146
+ }
147
+ /**
148
+ * Ask the build's server for each route's shell and keep the ones it renders. The server decides
149
+ * which routes qualify (a loading file and layouts in static folders) and says why the others do
150
+ * not; middleware and guards run as for any request, so a route they redirect gets no shell.
151
+ */
152
+ declare function renderFarmMobilePageShells(options: RenderFarmMobilePageShellsOptions): Promise<RenderedFarmMobilePageShells>;
153
+
154
+ /** `.farm/mobile-client.json` once the build has finished. */
155
+ interface FarmMobileClientManifest {
156
+ version: 1;
157
+ /** The web client entry documents reference, such as `/farm-client-h1a2b3c4d.js`. */
158
+ webEntry: string;
159
+ /** The mobile client entry a shell's documents load instead. */
160
+ entry: string;
161
+ /** The stylesheet both clients use. */
162
+ stylesheet: string;
163
+ /**
164
+ * Every content-hashed file a shell's document loads, as URL paths: the mobile client's
165
+ * chunks and assets, the stylesheet, and the files the stylesheet references. A shell may
166
+ * answer exactly these paths from its bundle; a hashed name only ever has these bytes.
167
+ */
168
+ files: string[];
169
+ /**
170
+ * The client output the files are in, relative to the app root, when it is not the build
171
+ * directory's `client/`: the RSC pipeline (`@farm.js/plugin/rsc`) writes this manifest too.
172
+ */
173
+ clientDir?: string;
174
+ }
175
+ /** Read the finished manifest, or null when the last build had no mobile client. */
176
+ declare function readFarmMobileClientManifest(buildDir: string): Promise<FarmMobileClientManifest | null>;
177
+
91
178
  /** An expected failure with its own fix; the CLI prints it without a stack. */
92
179
  declare class FarmMobileError extends Error {
93
180
  name: string;
@@ -104,7 +191,11 @@ declare function getFarmMobileOutputDirs(distDir: string): {
104
191
  /** Built apps, such as the debug APK. */
105
192
  dist: string;
106
193
  report: string;
194
+ /** Generated React Native ports of portable pages. */
195
+ ports: string;
107
196
  analyzerCache: string;
197
+ /** The production build's client output, which holds the mobile client a shell bundles. */
198
+ client: string;
108
199
  };
109
200
  interface FarmMobileAppOptions {
110
201
  root?: string;
@@ -128,6 +219,8 @@ interface FarmMobileAppOptions {
128
219
  * that a page with `export const mobile = { native: true }` is always checked.
129
220
  */
130
221
  analyze?: boolean | "always";
222
+ /** `farm build --mobile` with `mobile.shells`: the page shells it rendered, for the manifest. */
223
+ shells?: FarmMobileShellManifest;
131
224
  }
132
225
  interface FarmMobileApp {
133
226
  context: FarmMobileContext;
@@ -142,9 +235,13 @@ interface FarmMobileApp {
142
235
  nativeLayouts: Record<string, PlatformRouteFiles>;
143
236
  /** Absolute page file per file-based page route. */
144
237
  pageFiles: Map<string, string>;
238
+ /** The React Native port of each route Farm ported, written by `generateFarmMobileRoutes`. */
239
+ ports: Record<string, FarmMobilePort>;
145
240
  /** The analyzer's report, when it ran. */
146
241
  report?: FarmMobileNativeReport;
147
242
  analyzerStats?: FarmMobileAnalyzerStats;
243
+ /** The app's own native modules in `src/native/`, when it has any. */
244
+ appModules?: FarmMobileAppModules;
148
245
  }
149
246
  /** Resolve the `mobile` block for one OS against the app's routes. Writes nothing. */
150
247
  declare function resolveFarmMobileApp(options?: FarmMobileAppOptions): Promise<FarmMobileApp>;
@@ -158,6 +255,9 @@ declare function generateFarmMobileRoutes(options?: FarmMobileAppOptions): Promi
158
255
  table?: string;
159
256
  }>;
160
257
 
258
+ declare const __mobile_runtime_FARM_SHELL_PARAM_SEGMENT: typeof FARM_SHELL_PARAM_SEGMENT;
259
+ declare const __mobile_runtime_FARM_SHELL_RENDER_HEADER: typeof FARM_SHELL_RENDER_HEADER;
260
+ declare const __mobile_runtime_FARM_SHELL_ROUTE_HEADER: typeof FARM_SHELL_ROUTE_HEADER;
161
261
  declare const __mobile_runtime_FarmMobileAnalyzerStats: typeof FarmMobileAnalyzerStats;
162
262
  type __mobile_runtime_FarmMobileApp = FarmMobileApp;
163
263
  type __mobile_runtime_FarmMobileAppOptions = FarmMobileAppOptions;
@@ -165,6 +265,7 @@ declare const __mobile_runtime_FarmMobileBlockCache: typeof FarmMobileBlockCache
165
265
  declare const __mobile_runtime_FarmMobileBlocker: typeof FarmMobileBlocker;
166
266
  declare const __mobile_runtime_FarmMobileBlockerRule: typeof FarmMobileBlockerRule;
167
267
  declare const __mobile_runtime_FarmMobileBudgets: typeof FarmMobileBudgets;
268
+ type __mobile_runtime_FarmMobileClientManifest = FarmMobileClientManifest;
168
269
  declare const __mobile_runtime_FarmMobileConfigInput: typeof FarmMobileConfigInput;
169
270
  declare const __mobile_runtime_FarmMobileContext: typeof FarmMobileContext;
170
271
  declare const __mobile_runtime_FarmMobileContextOptions: typeof FarmMobileContextOptions;
@@ -179,6 +280,8 @@ declare const __mobile_runtime_FarmMobileNativeRouteConfig: typeof FarmMobileNat
179
280
  declare const __mobile_runtime_FarmMobileOS: typeof FarmMobileOS;
180
281
  declare const __mobile_runtime_FarmMobilePageConfig: typeof FarmMobilePageConfig;
181
282
  declare const __mobile_runtime_FarmMobilePageExport: typeof FarmMobilePageExport;
283
+ type __mobile_runtime_FarmMobilePageShellOptions = FarmMobilePageShellOptions;
284
+ type __mobile_runtime_FarmMobilePageShells = FarmMobilePageShells;
182
285
  declare const __mobile_runtime_FarmMobilePrefetch: typeof FarmMobilePrefetch;
183
286
  declare const __mobile_runtime_FarmMobilePresentation: typeof FarmMobilePresentation;
184
287
  declare const __mobile_runtime_FarmMobileResolveOptions: typeof FarmMobileResolveOptions;
@@ -187,26 +290,35 @@ declare const __mobile_runtime_FarmMobileRouteConfig: typeof FarmMobileRouteConf
187
290
  declare const __mobile_runtime_FarmMobileRouteManifest: typeof FarmMobileRouteManifest;
188
291
  declare const __mobile_runtime_FarmMobileRouteManifestOptions: typeof FarmMobileRouteManifestOptions;
189
292
  declare const __mobile_runtime_FarmMobileRouteRule: typeof FarmMobileRouteRule;
293
+ declare const __mobile_runtime_FarmMobileRouteScreen: typeof FarmMobileRouteScreen;
190
294
  declare const __mobile_runtime_FarmMobileScreen: typeof FarmMobileScreen;
191
295
  declare const __mobile_runtime_FarmMobileScreenDecision: typeof FarmMobileScreenDecision;
192
296
  declare const __mobile_runtime_FarmMobileScreenSource: typeof FarmMobileScreenSource;
193
297
  declare const __mobile_runtime_FarmMobileScreens: typeof FarmMobileScreens;
194
298
  declare const __mobile_runtime_FarmMobileScreensOptions: typeof FarmMobileScreensOptions;
299
+ declare const __mobile_runtime_FarmMobileShellManifest: typeof FarmMobileShellManifest;
195
300
  declare const __mobile_runtime_FarmMobileTab: typeof FarmMobileTab;
196
301
  declare const __mobile_runtime_FarmMobileTier: typeof FarmMobileTier;
197
302
  declare const __mobile_runtime_FarmMobileUserConfig: typeof FarmMobileUserConfig;
198
303
  declare const __mobile_runtime_FarmUiNode: typeof FarmUiNode;
304
+ type __mobile_runtime_RenderFarmMobilePageShellsOptions = RenderFarmMobilePageShellsOptions;
305
+ type __mobile_runtime_RenderedFarmMobilePageShells = RenderedFarmMobilePageShells;
199
306
  declare const __mobile_runtime_ResolvedFarmMobileConfig: typeof ResolvedFarmMobileConfig;
200
307
  declare const __mobile_runtime_ResolvedFarmMobileNativeConfig: typeof ResolvedFarmMobileNativeConfig;
201
308
  declare const __mobile_runtime_createFarmMobileContext: typeof createFarmMobileContext;
202
309
  declare const __mobile_runtime_createFarmMobileModuleId: typeof createFarmMobileModuleId;
203
310
  declare const __mobile_runtime_createFarmMobileNativeReport: typeof createFarmMobileNativeReport;
311
+ declare const __mobile_runtime_createFarmMobilePageShell: typeof createFarmMobilePageShell;
204
312
  declare const __mobile_runtime_createFarmMobileRouteManifest: typeof createFarmMobileRouteManifest;
205
313
  declare const __mobile_runtime_createFarmMobileRoutePattern: typeof createFarmMobileRoutePattern;
314
+ declare const __mobile_runtime_createFarmMobileShellRenderPath: typeof createFarmMobileShellRenderPath;
206
315
  declare const __mobile_runtime_formatFarmMobileNativeReport: typeof formatFarmMobileNativeReport;
207
316
  declare const __mobile_runtime_generateFarmMobileRoutes: typeof generateFarmMobileRoutes;
208
317
  declare const __mobile_runtime_getFarmMobileOutputDirs: typeof getFarmMobileOutputDirs;
318
+ declare const __mobile_runtime_getFarmMobilePageShellFile: typeof getFarmMobilePageShellFile;
319
+ declare const __mobile_runtime_readFarmMobileClientManifest: typeof readFarmMobileClientManifest;
209
320
  declare const __mobile_runtime_readFarmMobilePageExport: typeof readFarmMobilePageExport;
321
+ declare const __mobile_runtime_renderFarmMobilePageShells: typeof renderFarmMobilePageShells;
210
322
  declare const __mobile_runtime_resolveFarmMobileApp: typeof resolveFarmMobileApp;
211
323
  declare const __mobile_runtime_resolveFarmMobileBlock: typeof resolveFarmMobileBlock;
212
324
  declare const __mobile_runtime_resolveFarmMobileConfig: typeof resolveFarmMobileConfig;
@@ -215,7 +327,7 @@ declare const __mobile_runtime_resolveFarmMobileServer: typeof resolveFarmMobile
215
327
  declare const __mobile_runtime_validateFarmMobileConfig: typeof validateFarmMobileConfig;
216
328
  declare const __mobile_runtime_validateFarmMobilePageConfig: typeof validateFarmMobilePageConfig;
217
329
  declare namespace __mobile_runtime {
218
- export { __mobile_runtime_FarmMobileAnalyzerStats as FarmMobileAnalyzerStats, type __mobile_runtime_FarmMobileApp as FarmMobileApp, type __mobile_runtime_FarmMobileAppOptions as FarmMobileAppOptions, __mobile_runtime_FarmMobileBlockCache as FarmMobileBlockCache, __mobile_runtime_FarmMobileBlocker as FarmMobileBlocker, __mobile_runtime_FarmMobileBlockerRule as FarmMobileBlockerRule, __mobile_runtime_FarmMobileBudgets as FarmMobileBudgets, __mobile_runtime_FarmMobileConfigInput as FarmMobileConfigInput, __mobile_runtime_FarmMobileContext as FarmMobileContext, __mobile_runtime_FarmMobileContextOptions as FarmMobileContextOptions, __mobile_runtime_FarmMobileError as FarmMobileError, __mobile_runtime_FarmMobileNativeAuto as FarmMobileNativeAuto, __mobile_runtime_FarmMobileNativeConfig as FarmMobileNativeConfig, __mobile_runtime_FarmMobileNativeEngine as FarmMobileNativeEngine, type __mobile_runtime_FarmMobileNativeReport as FarmMobileNativeReport, type __mobile_runtime_FarmMobileNativeReportRoute as FarmMobileNativeReportRoute, __mobile_runtime_FarmMobileNativeRouteConfig as FarmMobileNativeRouteConfig, __mobile_runtime_FarmMobileOS as FarmMobileOS, __mobile_runtime_FarmMobilePageConfig as FarmMobilePageConfig, __mobile_runtime_FarmMobilePageExport as FarmMobilePageExport, __mobile_runtime_FarmMobilePrefetch as FarmMobilePrefetch, __mobile_runtime_FarmMobilePresentation as FarmMobilePresentation, __mobile_runtime_FarmMobileResolveOptions as FarmMobileResolveOptions, __mobile_runtime_FarmMobileRouteAnalysis as FarmMobileRouteAnalysis, __mobile_runtime_FarmMobileRouteConfig as FarmMobileRouteConfig, __mobile_runtime_FarmMobileRouteManifest as FarmMobileRouteManifest, __mobile_runtime_FarmMobileRouteManifestOptions as FarmMobileRouteManifestOptions, __mobile_runtime_FarmMobileRouteRule as FarmMobileRouteRule, __mobile_runtime_FarmMobileScreen as FarmMobileScreen, __mobile_runtime_FarmMobileScreenDecision as FarmMobileScreenDecision, __mobile_runtime_FarmMobileScreenSource as FarmMobileScreenSource, __mobile_runtime_FarmMobileScreens as FarmMobileScreens, __mobile_runtime_FarmMobileScreensOptions as FarmMobileScreensOptions, __mobile_runtime_FarmMobileTab as FarmMobileTab, __mobile_runtime_FarmMobileTier as FarmMobileTier, __mobile_runtime_FarmMobileUserConfig as FarmMobileUserConfig, __mobile_runtime_FarmUiNode as FarmUiNode, __mobile_runtime_ResolvedFarmMobileConfig as ResolvedFarmMobileConfig, __mobile_runtime_ResolvedFarmMobileNativeConfig as ResolvedFarmMobileNativeConfig, __mobile_runtime_createFarmMobileContext as createFarmMobileContext, __mobile_runtime_createFarmMobileModuleId as createFarmMobileModuleId, __mobile_runtime_createFarmMobileNativeReport as createFarmMobileNativeReport, __mobile_runtime_createFarmMobileRouteManifest as createFarmMobileRouteManifest, __mobile_runtime_createFarmMobileRoutePattern as createFarmMobileRoutePattern, __mobile_runtime_formatFarmMobileNativeReport as formatFarmMobileNativeReport, __mobile_runtime_generateFarmMobileRoutes as generateFarmMobileRoutes, __mobile_runtime_getFarmMobileOutputDirs as getFarmMobileOutputDirs, __mobile_runtime_readFarmMobilePageExport as readFarmMobilePageExport, __mobile_runtime_resolveFarmMobileApp as resolveFarmMobileApp, __mobile_runtime_resolveFarmMobileBlock as resolveFarmMobileBlock, __mobile_runtime_resolveFarmMobileConfig as resolveFarmMobileConfig, __mobile_runtime_resolveFarmMobileScreens as resolveFarmMobileScreens, __mobile_runtime_resolveFarmMobileServer as resolveFarmMobileServer, __mobile_runtime_validateFarmMobileConfig as validateFarmMobileConfig, __mobile_runtime_validateFarmMobilePageConfig as validateFarmMobilePageConfig };
330
+ export { __mobile_runtime_FARM_SHELL_PARAM_SEGMENT as FARM_SHELL_PARAM_SEGMENT, __mobile_runtime_FARM_SHELL_RENDER_HEADER as FARM_SHELL_RENDER_HEADER, __mobile_runtime_FARM_SHELL_ROUTE_HEADER as FARM_SHELL_ROUTE_HEADER, __mobile_runtime_FarmMobileAnalyzerStats as FarmMobileAnalyzerStats, type __mobile_runtime_FarmMobileApp as FarmMobileApp, type __mobile_runtime_FarmMobileAppOptions as FarmMobileAppOptions, __mobile_runtime_FarmMobileBlockCache as FarmMobileBlockCache, __mobile_runtime_FarmMobileBlocker as FarmMobileBlocker, __mobile_runtime_FarmMobileBlockerRule as FarmMobileBlockerRule, __mobile_runtime_FarmMobileBudgets as FarmMobileBudgets, type __mobile_runtime_FarmMobileClientManifest as FarmMobileClientManifest, __mobile_runtime_FarmMobileConfigInput as FarmMobileConfigInput, __mobile_runtime_FarmMobileContext as FarmMobileContext, __mobile_runtime_FarmMobileContextOptions as FarmMobileContextOptions, __mobile_runtime_FarmMobileError as FarmMobileError, __mobile_runtime_FarmMobileNativeAuto as FarmMobileNativeAuto, __mobile_runtime_FarmMobileNativeConfig as FarmMobileNativeConfig, __mobile_runtime_FarmMobileNativeEngine as FarmMobileNativeEngine, type __mobile_runtime_FarmMobileNativeReport as FarmMobileNativeReport, type __mobile_runtime_FarmMobileNativeReportRoute as FarmMobileNativeReportRoute, __mobile_runtime_FarmMobileNativeRouteConfig as FarmMobileNativeRouteConfig, __mobile_runtime_FarmMobileOS as FarmMobileOS, __mobile_runtime_FarmMobilePageConfig as FarmMobilePageConfig, __mobile_runtime_FarmMobilePageExport as FarmMobilePageExport, type __mobile_runtime_FarmMobilePageShellOptions as FarmMobilePageShellOptions, type __mobile_runtime_FarmMobilePageShells as FarmMobilePageShells, __mobile_runtime_FarmMobilePrefetch as FarmMobilePrefetch, __mobile_runtime_FarmMobilePresentation as FarmMobilePresentation, __mobile_runtime_FarmMobileResolveOptions as FarmMobileResolveOptions, __mobile_runtime_FarmMobileRouteAnalysis as FarmMobileRouteAnalysis, __mobile_runtime_FarmMobileRouteConfig as FarmMobileRouteConfig, __mobile_runtime_FarmMobileRouteManifest as FarmMobileRouteManifest, __mobile_runtime_FarmMobileRouteManifestOptions as FarmMobileRouteManifestOptions, __mobile_runtime_FarmMobileRouteRule as FarmMobileRouteRule, __mobile_runtime_FarmMobileRouteScreen as FarmMobileRouteScreen, __mobile_runtime_FarmMobileScreen as FarmMobileScreen, __mobile_runtime_FarmMobileScreenDecision as FarmMobileScreenDecision, __mobile_runtime_FarmMobileScreenSource as FarmMobileScreenSource, __mobile_runtime_FarmMobileScreens as FarmMobileScreens, __mobile_runtime_FarmMobileScreensOptions as FarmMobileScreensOptions, __mobile_runtime_FarmMobileShellManifest as FarmMobileShellManifest, __mobile_runtime_FarmMobileTab as FarmMobileTab, __mobile_runtime_FarmMobileTier as FarmMobileTier, __mobile_runtime_FarmMobileUserConfig as FarmMobileUserConfig, __mobile_runtime_FarmUiNode as FarmUiNode, type __mobile_runtime_RenderFarmMobilePageShellsOptions as RenderFarmMobilePageShellsOptions, type __mobile_runtime_RenderedFarmMobilePageShells as RenderedFarmMobilePageShells, __mobile_runtime_ResolvedFarmMobileConfig as ResolvedFarmMobileConfig, __mobile_runtime_ResolvedFarmMobileNativeConfig as ResolvedFarmMobileNativeConfig, __mobile_runtime_createFarmMobileContext as createFarmMobileContext, __mobile_runtime_createFarmMobileModuleId as createFarmMobileModuleId, __mobile_runtime_createFarmMobileNativeReport as createFarmMobileNativeReport, __mobile_runtime_createFarmMobilePageShell as createFarmMobilePageShell, __mobile_runtime_createFarmMobileRouteManifest as createFarmMobileRouteManifest, __mobile_runtime_createFarmMobileRoutePattern as createFarmMobileRoutePattern, __mobile_runtime_createFarmMobileShellRenderPath as createFarmMobileShellRenderPath, __mobile_runtime_formatFarmMobileNativeReport as formatFarmMobileNativeReport, __mobile_runtime_generateFarmMobileRoutes as generateFarmMobileRoutes, __mobile_runtime_getFarmMobileOutputDirs as getFarmMobileOutputDirs, __mobile_runtime_getFarmMobilePageShellFile as getFarmMobilePageShellFile, __mobile_runtime_readFarmMobileClientManifest as readFarmMobileClientManifest, __mobile_runtime_readFarmMobilePageExport as readFarmMobilePageExport, __mobile_runtime_renderFarmMobilePageShells as renderFarmMobilePageShells, __mobile_runtime_resolveFarmMobileApp as resolveFarmMobileApp, __mobile_runtime_resolveFarmMobileBlock as resolveFarmMobileBlock, __mobile_runtime_resolveFarmMobileConfig as resolveFarmMobileConfig, __mobile_runtime_resolveFarmMobileScreens as resolveFarmMobileScreens, __mobile_runtime_resolveFarmMobileServer as resolveFarmMobileServer, __mobile_runtime_validateFarmMobileConfig as validateFarmMobileConfig, __mobile_runtime_validateFarmMobilePageConfig as validateFarmMobilePageConfig };
219
331
  }
220
332
 
221
333
  /** The `mobile` block and its route manifest, loaded only by mobile commands. */