@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
package/dist/client.cjs CHANGED
@@ -13,24 +13,24 @@
13
13
 
14
14
 
15
15
 
16
- var _chunkLEIXUFJNcjs = require('./chunk-LEIXUFJN.cjs');
16
+ var _chunkD4MRNBVFcjs = require('./chunk-D4MRNBVF.cjs');
17
17
 
18
18
 
19
19
 
20
20
  var _chunk7PTISZSQcjs = require('./chunk-7PTISZSQ.cjs');
21
21
 
22
22
 
23
- var _chunkWFVSAT7Ycjs = require('./chunk-WFVSAT7Y.cjs');
23
+ var _chunkPZXYAWYGcjs = require('./chunk-PZXYAWYG.cjs');
24
24
 
25
25
 
26
- var _chunkPZXYAWYGcjs = require('./chunk-PZXYAWYG.cjs');
26
+ var _chunkWFVSAT7Ycjs = require('./chunk-WFVSAT7Y.cjs');
27
27
 
28
28
 
29
29
 
30
30
 
31
31
 
32
32
 
33
- var _chunkS5AQ7CACcjs = require('./chunk-S5AQ7CAC.cjs');
33
+ var _chunkCNNBFGL5cjs = require('./chunk-CNNBFGL5.cjs');
34
34
 
35
35
 
36
36
  var _chunkC7LCTVJ2cjs = require('./chunk-C7LCTVJ2.cjs');
@@ -49,7 +49,7 @@ var _chunkC7LCTVJ2cjs = require('./chunk-C7LCTVJ2.cjs');
49
49
 
50
50
 
51
51
 
52
- var _chunkVSLM6BHXcjs = require('./chunk-VSLM6BHX.cjs');
52
+ var _chunk3OJNNCDLcjs = require('./chunk-3OJNNCDL.cjs');
53
53
  require('./chunk-EOXPRC2C.cjs');
54
54
  require('./chunk-N4AQNEXR.cjs');
55
55
 
@@ -70,11 +70,11 @@ require('./chunk-53EHWHT2.cjs');
70
70
 
71
71
 
72
72
 
73
- var _chunkI2DQGS56cjs = require('./chunk-I2DQGS56.cjs');
73
+ var _chunkCBOEJ5Z4cjs = require('./chunk-CBOEJ5Z4.cjs');
74
74
  require('./chunk-RI3EVPKD.cjs');
75
75
 
76
76
 
77
- var _chunkQXJADAQBcjs = require('./chunk-QXJADAQB.cjs');
77
+ var _chunkJIBEFLQ7cjs = require('./chunk-JIBEFLQ7.cjs');
78
78
  require('./chunk-QQ44FYRO.cjs');
79
79
 
80
80
 
@@ -97,7 +97,7 @@ var _chunkHA7YRO53cjs = require('./chunk-HA7YRO53.cjs');
97
97
  require('./chunk-PO5MXV5X.cjs');
98
98
  require('./chunk-HLYRXN2I.cjs');
99
99
  require('./chunk-CA7DNRHO.cjs');
100
- require('./chunk-IWFV5ZED.cjs');
100
+ require('./chunk-PMJSG4JS.cjs');
101
101
  require('./chunk-D4XGKF67.cjs');
102
102
  require('./chunk-6IOZPJ3I.cjs');
103
103
  require('./chunk-CQL5ZGFU.cjs');
@@ -172,4 +172,4 @@ require('./chunk-BTZ5O6VM.cjs');
172
172
 
173
173
 
174
174
 
175
- exports.APIClientError = _chunkVSLM6BHXcjs.APIClientError; exports.FARM_CACHE_INVALIDATION_CHANNEL = _chunkLEIXUFJNcjs.FARM_CACHE_INVALIDATION_CHANNEL; exports.FARM_CLIENT_CACHE_PERSIST_VERSION = _chunkLEIXUFJNcjs.FARM_CLIENT_CACHE_PERSIST_VERSION; exports.FarmClientPluginManager = _chunk2XGBJSDVcjs.FarmClientPluginManager; exports.FetcherInputError = _chunkLEIXUFJNcjs.FetcherInputError; exports.IntegrationClientError = _chunkVSLM6BHXcjs.IntegrationClientError; exports.Link = _chunkLEIXUFJNcjs.Link; exports.SPARouter = _chunkI2DQGS56cjs.SPARouter; exports.api = _chunkHA7YRO53cjs.api; exports.clearPersistedCache = _chunkLEIXUFJNcjs.clearPersistedCache; exports.createAPIClient = _chunkVSLM6BHXcjs.createAPIClient; exports.createApiClients = _chunkVSLM6BHXcjs.createApiClients; exports.createClientPluginManager = _chunk2XGBJSDVcjs.createClientPluginManager; exports.createIntegrationApi = _chunkVSLM6BHXcjs.createIntegrationApi; exports.createIntegrationClient = _chunkVSLM6BHXcjs.createIntegrationClient; exports.createIntegrationClients = _chunkVSLM6BHXcjs.createIntegrationClients; exports.createIntegrationServerClient = _chunkVSLM6BHXcjs.createIntegrationServerClient; exports.createIntegrations = _chunkVSLM6BHXcjs.createIntegrations; exports.createServerAPIClient = _chunkVSLM6BHXcjs.createServerAPIClient; exports.createStore = _chunkLEIXUFJNcjs.createStore; exports.defineClientCacheAdapter = _chunkLEIXUFJNcjs.defineClientCacheAdapter; exports.defineIntegrationAPI = _chunkHA7YRO53cjs.defineIntegrationAPI; exports.defineIntegrationAPIOperation = _chunkHA7YRO53cjs.defineIntegrationAPIOperation; exports.delegateNavigation = _chunkQXJADAQBcjs.delegateNavigation; exports.enableCrossTabCacheInvalidation = _chunkLEIXUFJNcjs.enableCrossTabCacheInvalidation; exports.enableLiveCacheInvalidation = _chunkLEIXUFJNcjs.enableLiveCacheInvalidation; exports.endpoint = _chunkHA7YRO53cjs.endpoint; exports.fetchServerQuery = _chunkEX6ZSN5Pcjs.fetchServerQuery; exports.getFarmClientDataCache = _chunkI2BYNELAcjs.getFarmClientDataCache; exports.getIntegrationAPIManifest = _chunkVSLM6BHXcjs.getIntegrationAPIManifest; exports.getRouter = _chunkI2DQGS56cjs.getRouter; exports.getTheme = _chunkWEGAVN37cjs.getTheme; exports.initConfiguredClientCachePersistence = _chunkLEIXUFJNcjs.initConfiguredClientCachePersistence; exports.initPersistedClientCache = _chunkLEIXUFJNcjs.initPersistedClientCache; exports.installChunkErrorRecovery = _chunk7PTISZSQcjs.installChunkErrorRecovery; exports.integrationClients = _chunkVSLM6BHXcjs.integrationClients; exports.integrationsClient = _chunkVSLM6BHXcjs.integrationsClient; exports.integrationsServer = _chunkVSLM6BHXcjs.integrationsServer; exports.isChunkLoadError = _chunk7PTISZSQcjs.isChunkLoadError; exports.navigateTo = _chunkI2DQGS56cjs.navigateTo; exports.normalizeFarmClientCacheKey = _chunkI2BYNELAcjs.normalizeFarmClientCacheKey; exports.prefetch = _chunkI2DQGS56cjs.prefetch; exports.prefetchServerQuery = _chunkEX6ZSN5Pcjs.prefetchServerQuery; exports.pushState = _chunkI2DQGS56cjs.pushState; exports.readPageState = _chunkI2DQGS56cjs.readPageState; exports.replaceState = _chunkI2DQGS56cjs.replaceState; exports.setTheme = _chunkWEGAVN37cjs.setTheme; exports.storageClientCacheAdapter = _chunkLEIXUFJNcjs.storageClientCacheAdapter; exports.toggleTheme = _chunkWEGAVN37cjs.toggleTheme; exports.useAction = _chunkPZXYAWYGcjs.useAction; exports.useBlocker = _chunkS5AQ7CACcjs.useBlocker; exports.useFetcher = _chunkLEIXUFJNcjs.useFetcher; exports.useMutation = _chunkLEIXUFJNcjs.useMutation; exports.useNavigation = _chunkS5AQ7CACcjs.useNavigation; exports.usePageState = _chunkS5AQ7CACcjs.usePageState; exports.useRouter = _chunkS5AQ7CACcjs.useRouter; exports.useScrollRestoration = _chunkS5AQ7CACcjs.useScrollRestoration; exports.useServerQuery = _chunkWFVSAT7Ycjs.useServerQuery; exports.useTheme = _chunkC7LCTVJ2cjs.useTheme;
175
+ exports.APIClientError = _chunk3OJNNCDLcjs.APIClientError; exports.FARM_CACHE_INVALIDATION_CHANNEL = _chunkD4MRNBVFcjs.FARM_CACHE_INVALIDATION_CHANNEL; exports.FARM_CLIENT_CACHE_PERSIST_VERSION = _chunkD4MRNBVFcjs.FARM_CLIENT_CACHE_PERSIST_VERSION; exports.FarmClientPluginManager = _chunk2XGBJSDVcjs.FarmClientPluginManager; exports.FetcherInputError = _chunkD4MRNBVFcjs.FetcherInputError; exports.IntegrationClientError = _chunk3OJNNCDLcjs.IntegrationClientError; exports.Link = _chunkD4MRNBVFcjs.Link; exports.SPARouter = _chunkCBOEJ5Z4cjs.SPARouter; exports.api = _chunkHA7YRO53cjs.api; exports.clearPersistedCache = _chunkD4MRNBVFcjs.clearPersistedCache; exports.createAPIClient = _chunk3OJNNCDLcjs.createAPIClient; exports.createApiClients = _chunk3OJNNCDLcjs.createApiClients; exports.createClientPluginManager = _chunk2XGBJSDVcjs.createClientPluginManager; exports.createIntegrationApi = _chunk3OJNNCDLcjs.createIntegrationApi; exports.createIntegrationClient = _chunk3OJNNCDLcjs.createIntegrationClient; exports.createIntegrationClients = _chunk3OJNNCDLcjs.createIntegrationClients; exports.createIntegrationServerClient = _chunk3OJNNCDLcjs.createIntegrationServerClient; exports.createIntegrations = _chunk3OJNNCDLcjs.createIntegrations; exports.createServerAPIClient = _chunk3OJNNCDLcjs.createServerAPIClient; exports.createStore = _chunkD4MRNBVFcjs.createStore; exports.defineClientCacheAdapter = _chunkD4MRNBVFcjs.defineClientCacheAdapter; exports.defineIntegrationAPI = _chunkHA7YRO53cjs.defineIntegrationAPI; exports.defineIntegrationAPIOperation = _chunkHA7YRO53cjs.defineIntegrationAPIOperation; exports.delegateNavigation = _chunkJIBEFLQ7cjs.delegateNavigation; exports.enableCrossTabCacheInvalidation = _chunkD4MRNBVFcjs.enableCrossTabCacheInvalidation; exports.enableLiveCacheInvalidation = _chunkD4MRNBVFcjs.enableLiveCacheInvalidation; exports.endpoint = _chunkHA7YRO53cjs.endpoint; exports.fetchServerQuery = _chunkEX6ZSN5Pcjs.fetchServerQuery; exports.getFarmClientDataCache = _chunkI2BYNELAcjs.getFarmClientDataCache; exports.getIntegrationAPIManifest = _chunk3OJNNCDLcjs.getIntegrationAPIManifest; exports.getRouter = _chunkCBOEJ5Z4cjs.getRouter; exports.getTheme = _chunkWEGAVN37cjs.getTheme; exports.initConfiguredClientCachePersistence = _chunkD4MRNBVFcjs.initConfiguredClientCachePersistence; exports.initPersistedClientCache = _chunkD4MRNBVFcjs.initPersistedClientCache; exports.installChunkErrorRecovery = _chunk7PTISZSQcjs.installChunkErrorRecovery; exports.integrationClients = _chunk3OJNNCDLcjs.integrationClients; exports.integrationsClient = _chunk3OJNNCDLcjs.integrationsClient; exports.integrationsServer = _chunk3OJNNCDLcjs.integrationsServer; exports.isChunkLoadError = _chunk7PTISZSQcjs.isChunkLoadError; exports.navigateTo = _chunkCBOEJ5Z4cjs.navigateTo; exports.normalizeFarmClientCacheKey = _chunkI2BYNELAcjs.normalizeFarmClientCacheKey; exports.prefetch = _chunkCBOEJ5Z4cjs.prefetch; exports.prefetchServerQuery = _chunkEX6ZSN5Pcjs.prefetchServerQuery; exports.pushState = _chunkCBOEJ5Z4cjs.pushState; exports.readPageState = _chunkCBOEJ5Z4cjs.readPageState; exports.replaceState = _chunkCBOEJ5Z4cjs.replaceState; exports.setTheme = _chunkWEGAVN37cjs.setTheme; exports.storageClientCacheAdapter = _chunkD4MRNBVFcjs.storageClientCacheAdapter; exports.toggleTheme = _chunkWEGAVN37cjs.toggleTheme; exports.useAction = _chunkPZXYAWYGcjs.useAction; exports.useBlocker = _chunkCNNBFGL5cjs.useBlocker; exports.useFetcher = _chunkD4MRNBVFcjs.useFetcher; exports.useMutation = _chunkD4MRNBVFcjs.useMutation; exports.useNavigation = _chunkCNNBFGL5cjs.useNavigation; exports.usePageState = _chunkCNNBFGL5cjs.usePageState; exports.useRouter = _chunkCNNBFGL5cjs.useRouter; exports.useScrollRestoration = _chunkCNNBFGL5cjs.useScrollRestoration; exports.useServerQuery = _chunkWFVSAT7Ycjs.useServerQuery; exports.useTheme = _chunkC7LCTVJ2cjs.useTheme;
package/dist/client.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { g as APIResult, p as ClientOptions } from './api-client.d-CeA6tNA6.mjs';
2
- export { A as APIClient, a as APIClientError, b as APIClientOptions, c as APIClientSystemError, d as APIClientWithoutIntegrationsOptions, j as ApiClients, n as ClientHeaders, o as ClientLifecycleHooks, q as ClientRequestEvent, r as ClientResponseEvent, I as InferIntegrationOperationBody, t as InferIntegrationOperationQuery, u as InferIntegrationOperationResponse, v as IntegrationAPI, w as IntegrationClient, x as IntegrationClientAliases, y as IntegrationClientData, z as IntegrationClientError, B as IntegrationClientOptions, D as IntegrationClientRequestOptions, E as IntegrationClientRoot, G as IntegrationClients, H as IntegrationOperationResult, J as IntegrationServerClient, K as IntegrationServerClientAliases, L as IntegrationServerClientOptions, M as IntegrationServerClientRequestOptions, N as IntegrationServerClientRoot, O as IntegrationServerRequestLike, X as RouteAPIClient, Y as ServerAPIClient, Z as ServerAPIClientOptions, _ as ServerAPIClientWithoutIntegrationsOptions, a2 as createAPIClient, a3 as createApiClients, a4 as createIntegrationApi, a5 as createIntegrationClient, a6 as createIntegrationClients, a7 as createIntegrationServerClient, a8 as createIntegrations, a9 as createServerAPIClient, ab as getIntegrationAPIManifest, ac as integrationClients, ad as integrationsClient, ae as integrationsServer } from './api-client.d-CeA6tNA6.mjs';
1
+ import { n as APIResult, v as ClientOptions } from './api-client.d-BNLXNCXJ.mjs';
2
+ export { A as APIClient, b as APIClientError, d as APIClientOptions, e as APIClientSystemError, f as APIClientWithoutIntegrationsOptions, g as ApiClients, t as ClientHeaders, u as ClientLifecycleHooks, w as ClientRequestEvent, x as ClientResponseEvent, I as InferIntegrationOperationBody, z as InferIntegrationOperationQuery, B as InferIntegrationOperationResponse, D as IntegrationAPI, E as IntegrationClient, G as IntegrationClientAliases, H as IntegrationClientData, J as IntegrationClientError, K as IntegrationClientOptions, L as IntegrationClientRequestOptions, M as IntegrationClientRoot, N as IntegrationClients, O as IntegrationOperationResult, P as IntegrationServerClient, Q as IntegrationServerClientAliases, T as IntegrationServerClientOptions, U as IntegrationServerClientRequestOptions, V as IntegrationServerClientRoot, W as IntegrationServerRequestLike, R as RouteAPIClient, S as ServerAPIClient, h as ServerAPIClientOptions, i as ServerAPIClientWithoutIntegrationsOptions, c as createAPIClient, a as createApiClients, a5 as createIntegrationApi, a6 as createIntegrationClient, a7 as createIntegrationClients, a8 as createIntegrationServerClient, a9 as createIntegrations, j as createServerAPIClient, ab as getIntegrationAPIManifest, ac as integrationClients, ad as integrationsClient, ae as integrationsServer } from './api-client.d-BNLXNCXJ.mjs';
3
3
  export { F as FarmAPIStream } from './endpoint.d-BkMSCRf6.mjs';
4
4
  import React__default, { FormHTMLAttributes, FormEvent, ComponentType, AnchorHTMLAttributes } from 'react';
5
5
  export { RouteActionTarget, UseActionFormProps, UseActionReturn, UseServerFnOptions, useAction } from './server-fn-client.mjs';
@@ -8,11 +8,11 @@ export { a as FarmClientCacheEntry, b as FarmClientCacheKey, F as FarmClientCach
8
8
  export { F as FarmIntegrationAPI, e as FarmIntegrationAPIBodyFormat, f as FarmIntegrationAPIMethod, g as FarmIntegrationAPIOperation, h as FarmIntegrationAPIResponseFormat, p as api, r as defineIntegrationAPI, s as defineIntegrationAPIOperation, t as endpoint } from './route.d-BaVH3V0w.mjs';
9
9
  export { UseThemeResult, useTheme } from './theme/client.mjs';
10
10
  import { FarmRouterPathParams, FarmRouterPathParam, FarmRouterBuildOptions } from './router.mjs';
11
- import { f as FarmViewTransitionMode } from './spa-router.d-BWDhS0FK.mjs';
12
- export { b as FarmNavigateOptions, c as FarmNavigationBlocker, F as FarmNavigationBlockerContext, d as FarmNavigationListener, e as FarmNavigationLocation, a as FarmNavigationState, S as SPARouter, g as getRouter, n as navigateTo, p as prefetch, h as pushState, r as readPageState, i as replaceState } from './spa-router.d-BWDhS0FK.mjs';
11
+ import { f as FarmViewTransitionMode } from './spa-router.d-DHDoXxDE.mjs';
12
+ export { b as FarmNavigateOptions, c as FarmNavigationBlocker, F as FarmNavigationBlockerContext, d as FarmNavigationListener, e as FarmNavigationLocation, a as FarmNavigationState, S as SPARouter, g as getRouter, n as navigateTo, p as prefetch, h as pushState, r as readPageState, i as replaceState } from './spa-router.d-DHDoXxDE.mjs';
13
13
  import { c as FarmI18nLocale } from './types.d-C41ePjvP.mjs';
14
- export { U as UseBlockerOptions, a as UseBlockerReturn, b as UseRouterOptions, u as useBlocker, c as useNavigation, d as usePageState, e as useRouter, f as useScrollRestoration } from './router.d-e0jQ3jQ-.mjs';
15
- export { F as FarmNavigationDelegate, a as FarmNavigationDelegateContext, d as delegateNavigation } from './navigation-delegate.d-HnDXhlyP.mjs';
14
+ export { U as UseBlockerOptions, a as UseBlockerReturn, b as UseRouterOptions, u as useBlocker, c as useNavigation, d as usePageState, e as useRouter, f as useScrollRestoration } from './router.d-mNTbOGV_.mjs';
15
+ export { F as FarmNavigationDelegate, a as FarmNavigationDelegateContext, d as delegateNavigation } from './navigation-delegate.d-CnOTWOyi.mjs';
16
16
  export { F as FarmChunkRecoveryOptions, i as installChunkErrorRecovery, a as isChunkLoadError } from './chunk-recovery.d-lnQFzcQP.mjs';
17
17
  export { b as FarmClientHydrationCompleteEvent, d as FarmClientHydrationEvent, e as FarmClientHydrationMode, f as FarmClientHydrationSession, g as FarmClientLocation, h as FarmClientNavigationAction, i as FarmClientNavigationErrorEvent, j as FarmClientNavigationEvent, k as FarmClientNavigationLoadedEvent, l as FarmClientNavigationResolvedEvent, m as FarmClientNavigationSession, n as FarmClientPerformanceEvent, a as FarmClientPlugin, o as FarmClientPluginCloseEvent, p as FarmClientPluginEnforce, q as FarmClientPluginErrorEvent, r as FarmClientPluginErrorPhase, F as FarmClientPluginManager, s as FarmClientPluginManagerOptions, t as FarmClientPluginMetadata, u as FarmClientPluginRegistration, v as FarmClientPluginRouter, w as FarmClientPluginSetupEvent, x as FarmClientPluginStateEvent, c as createClientPluginManager } from './lifecycle.d-C2aLBOwu.mjs';
18
18
  export { S as ServerQueryFetchOptions, f as fetchServerQuery, p as prefetchServerQuery } from './server-query-runtime.d-aP52iuL5.mjs';
@@ -22,7 +22,7 @@ import './server-fn.mjs';
22
22
  import './server-fn-error.d-DrcH9cc1.mjs';
23
23
  import './server-query.mjs';
24
24
  import './types.d-DQnyD3VD.mjs';
25
- import './client-plugins.d-Bx3FXpqm.mjs';
25
+ import './client-plugins.d-CgQQ-EAv.mjs';
26
26
  import './renderer.mjs';
27
27
  import './deployment.mjs';
28
28
  import 'http';
@@ -43,10 +43,10 @@ import './layers.d-CcS42OGR.mjs';
43
43
  import 'rolldown/utils';
44
44
  import 'rolldown';
45
45
  import './image-config.d-CeDgNyX4.mjs';
46
- import './config.d-iRPI16ku.mjs';
46
+ import './config.d-DqZkLwef.mjs';
47
47
  import './font.mjs';
48
48
  import './island.d-CfGru1MO.mjs';
49
- import './render-plan.d-BH9edqKs.mjs';
49
+ import './render-plan.d-DZ-qjjdG.mjs';
50
50
 
51
51
  type MutationStatus = "idle" | "pending" | "success" | "error";
52
52
  type AnyMutationTarget = (...args: any[]) => Promise<any>;
package/dist/client.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { g as APIResult, p as ClientOptions } from './api-client.d-BWcqZciH.js';
2
- export { A as APIClient, a as APIClientError, b as APIClientOptions, c as APIClientSystemError, d as APIClientWithoutIntegrationsOptions, j as ApiClients, n as ClientHeaders, o as ClientLifecycleHooks, q as ClientRequestEvent, r as ClientResponseEvent, I as InferIntegrationOperationBody, t as InferIntegrationOperationQuery, u as InferIntegrationOperationResponse, v as IntegrationAPI, w as IntegrationClient, x as IntegrationClientAliases, y as IntegrationClientData, z as IntegrationClientError, B as IntegrationClientOptions, D as IntegrationClientRequestOptions, E as IntegrationClientRoot, G as IntegrationClients, H as IntegrationOperationResult, J as IntegrationServerClient, K as IntegrationServerClientAliases, L as IntegrationServerClientOptions, M as IntegrationServerClientRequestOptions, N as IntegrationServerClientRoot, O as IntegrationServerRequestLike, X as RouteAPIClient, Y as ServerAPIClient, Z as ServerAPIClientOptions, _ as ServerAPIClientWithoutIntegrationsOptions, a2 as createAPIClient, a3 as createApiClients, a4 as createIntegrationApi, a5 as createIntegrationClient, a6 as createIntegrationClients, a7 as createIntegrationServerClient, a8 as createIntegrations, a9 as createServerAPIClient, ab as getIntegrationAPIManifest, ac as integrationClients, ad as integrationsClient, ae as integrationsServer } from './api-client.d-BWcqZciH.js';
1
+ import { n as APIResult, v as ClientOptions } from './api-client.d-ddQBNGtu.js';
2
+ export { A as APIClient, b as APIClientError, d as APIClientOptions, e as APIClientSystemError, f as APIClientWithoutIntegrationsOptions, g as ApiClients, t as ClientHeaders, u as ClientLifecycleHooks, w as ClientRequestEvent, x as ClientResponseEvent, I as InferIntegrationOperationBody, z as InferIntegrationOperationQuery, B as InferIntegrationOperationResponse, D as IntegrationAPI, E as IntegrationClient, G as IntegrationClientAliases, H as IntegrationClientData, J as IntegrationClientError, K as IntegrationClientOptions, L as IntegrationClientRequestOptions, M as IntegrationClientRoot, N as IntegrationClients, O as IntegrationOperationResult, P as IntegrationServerClient, Q as IntegrationServerClientAliases, T as IntegrationServerClientOptions, U as IntegrationServerClientRequestOptions, V as IntegrationServerClientRoot, W as IntegrationServerRequestLike, R as RouteAPIClient, S as ServerAPIClient, h as ServerAPIClientOptions, i as ServerAPIClientWithoutIntegrationsOptions, c as createAPIClient, a as createApiClients, a5 as createIntegrationApi, a6 as createIntegrationClient, a7 as createIntegrationClients, a8 as createIntegrationServerClient, a9 as createIntegrations, j as createServerAPIClient, ab as getIntegrationAPIManifest, ac as integrationClients, ad as integrationsClient, ae as integrationsServer } from './api-client.d-ddQBNGtu.js';
3
3
  export { F as FarmAPIStream } from './endpoint.d-BgHn0lhl.js';
4
4
  import React__default, { FormHTMLAttributes, FormEvent, ComponentType, AnchorHTMLAttributes } from 'react';
5
5
  export { RouteActionTarget, UseActionFormProps, UseActionReturn, UseServerFnOptions, useAction } from './server-fn-client.js';
@@ -8,11 +8,11 @@ export { a as FarmClientCacheEntry, b as FarmClientCacheKey, F as FarmClientCach
8
8
  export { F as FarmIntegrationAPI, e as FarmIntegrationAPIBodyFormat, f as FarmIntegrationAPIMethod, g as FarmIntegrationAPIOperation, h as FarmIntegrationAPIResponseFormat, p as api, r as defineIntegrationAPI, s as defineIntegrationAPIOperation, t as endpoint } from './route.d-DBTEqifW.js';
9
9
  export { UseThemeResult, useTheme } from './theme/client.js';
10
10
  import { FarmRouterPathParams, FarmRouterPathParam, FarmRouterBuildOptions } from './router.js';
11
- import { f as FarmViewTransitionMode } from './spa-router.d-CO01mVOM.js';
12
- export { b as FarmNavigateOptions, c as FarmNavigationBlocker, F as FarmNavigationBlockerContext, d as FarmNavigationListener, e as FarmNavigationLocation, a as FarmNavigationState, S as SPARouter, g as getRouter, n as navigateTo, p as prefetch, h as pushState, r as readPageState, i as replaceState } from './spa-router.d-CO01mVOM.js';
11
+ import { f as FarmViewTransitionMode } from './spa-router.d-DAtnNoBe.js';
12
+ export { b as FarmNavigateOptions, c as FarmNavigationBlocker, F as FarmNavigationBlockerContext, d as FarmNavigationListener, e as FarmNavigationLocation, a as FarmNavigationState, S as SPARouter, g as getRouter, n as navigateTo, p as prefetch, h as pushState, r as readPageState, i as replaceState } from './spa-router.d-DAtnNoBe.js';
13
13
  import { c as FarmI18nLocale } from './types.d-C41ePjvP.js';
14
- export { U as UseBlockerOptions, a as UseBlockerReturn, b as UseRouterOptions, u as useBlocker, c as useNavigation, d as usePageState, e as useRouter, f as useScrollRestoration } from './router.d-Bd1x9XxQ.js';
15
- export { F as FarmNavigationDelegate, a as FarmNavigationDelegateContext, d as delegateNavigation } from './navigation-delegate.d-BY1e_Xrh.js';
14
+ export { U as UseBlockerOptions, a as UseBlockerReturn, b as UseRouterOptions, u as useBlocker, c as useNavigation, d as usePageState, e as useRouter, f as useScrollRestoration } from './router.d-DjGn_al7.js';
15
+ export { F as FarmNavigationDelegate, a as FarmNavigationDelegateContext, d as delegateNavigation } from './navigation-delegate.d-JXx40JzR.js';
16
16
  export { F as FarmChunkRecoveryOptions, i as installChunkErrorRecovery, a as isChunkLoadError } from './chunk-recovery.d-lnQFzcQP.js';
17
17
  export { b as FarmClientHydrationCompleteEvent, d as FarmClientHydrationEvent, e as FarmClientHydrationMode, f as FarmClientHydrationSession, g as FarmClientLocation, h as FarmClientNavigationAction, i as FarmClientNavigationErrorEvent, j as FarmClientNavigationEvent, k as FarmClientNavigationLoadedEvent, l as FarmClientNavigationResolvedEvent, m as FarmClientNavigationSession, n as FarmClientPerformanceEvent, a as FarmClientPlugin, o as FarmClientPluginCloseEvent, p as FarmClientPluginEnforce, q as FarmClientPluginErrorEvent, r as FarmClientPluginErrorPhase, F as FarmClientPluginManager, s as FarmClientPluginManagerOptions, t as FarmClientPluginMetadata, u as FarmClientPluginRegistration, v as FarmClientPluginRouter, w as FarmClientPluginSetupEvent, x as FarmClientPluginStateEvent, c as createClientPluginManager } from './lifecycle.d-C2aLBOwu.js';
18
18
  export { S as ServerQueryFetchOptions, f as fetchServerQuery, p as prefetchServerQuery } from './server-query-runtime.d-DXRNhX_3.js';
@@ -22,7 +22,7 @@ import './server-fn.js';
22
22
  import './server-fn-error.d-DrcH9cc1.js';
23
23
  import './server-query.js';
24
24
  import './types.d-DQnyD3VD.js';
25
- import './client-plugins.d-TiLbS5j4.js';
25
+ import './client-plugins.d-vXrbcfJ1.js';
26
26
  import './renderer.js';
27
27
  import './deployment.js';
28
28
  import 'http';
@@ -43,10 +43,10 @@ import './layers.d-CcS42OGR.js';
43
43
  import 'rolldown/utils';
44
44
  import 'rolldown';
45
45
  import './image-config.d-CeDgNyX4.js';
46
- import './config.d-iRPI16ku.js';
46
+ import './config.d-DqZkLwef.js';
47
47
  import './font.js';
48
48
  import './island.d-CfGru1MO.js';
49
- import './render-plan.d-DhP0mTHF.js';
49
+ import './render-plan.d-B9lAP3uX.js';
50
50
 
51
51
  type MutationStatus = "idle" | "pending" | "success" | "error";
52
52
  type AnyMutationTarget = (...args: any[]) => Promise<any>;
package/dist/client.mjs CHANGED
@@ -13,24 +13,24 @@ import {
13
13
  storageClientCacheAdapter,
14
14
  useFetcher,
15
15
  useMutation
16
- } from "./chunk-JWI5PUO2.mjs";
16
+ } from "./chunk-W2ZXMMHA.mjs";
17
17
  import {
18
18
  installChunkErrorRecovery,
19
19
  isChunkLoadError
20
20
  } from "./chunk-O4F3JUST.mjs";
21
- import {
22
- useServerQuery
23
- } from "./chunk-724WT3NI.mjs";
24
21
  import {
25
22
  useAction
26
23
  } from "./chunk-GL3ZDHKI.mjs";
24
+ import {
25
+ useServerQuery
26
+ } from "./chunk-724WT3NI.mjs";
27
27
  import {
28
28
  useBlocker,
29
29
  useNavigation,
30
30
  usePageState,
31
31
  useRouter,
32
32
  useScrollRestoration
33
- } from "./chunk-VAHBCI6X.mjs";
33
+ } from "./chunk-BQWBHWEW.mjs";
34
34
  import {
35
35
  useTheme
36
36
  } from "./chunk-EFLNOZGH.mjs";
@@ -49,7 +49,7 @@ import {
49
49
  integrationClients,
50
50
  integrationsClient,
51
51
  integrationsServer
52
- } from "./chunk-2NHOYYUT.mjs";
52
+ } from "./chunk-7H45IJWO.mjs";
53
53
  import "./chunk-IAPTECEB.mjs";
54
54
  import "./chunk-Z64V4WZI.mjs";
55
55
  import {
@@ -70,11 +70,11 @@ import {
70
70
  pushState,
71
71
  readPageState,
72
72
  replaceState
73
- } from "./chunk-SN5VSO3Q.mjs";
73
+ } from "./chunk-25T5VXOE.mjs";
74
74
  import "./chunk-PTLXHRJZ.mjs";
75
75
  import {
76
76
  delegateNavigation
77
- } from "./chunk-G2KTRMWA.mjs";
77
+ } from "./chunk-RSEAX5MW.mjs";
78
78
  import "./chunk-NCIAP562.mjs";
79
79
  import {
80
80
  getFarmClientDataCache,
@@ -97,7 +97,7 @@ import {
97
97
  import "./chunk-5Y4GYKKH.mjs";
98
98
  import "./chunk-YT3SLLZK.mjs";
99
99
  import "./chunk-GUZC226X.mjs";
100
- import "./chunk-BLD5GVCG.mjs";
100
+ import "./chunk-W6QLRQ3V.mjs";
101
101
  import "./chunk-MFQGU5CC.mjs";
102
102
  import "./chunk-S6O2L47H.mjs";
103
103
  import "./chunk-NBIVGHAT.mjs";
@@ -7,6 +7,125 @@ interface PlatformBlockChecker {
7
7
  /** Results of function-valued blocks for one dev session or build. */
8
8
  type PlatformBlockCache<T> = Map<string, Promise<T>>;
9
9
 
10
+ /**
11
+ * What web screens can call on an app native module (RFC 0004, 7.5): the Promise methods of its
12
+ * Codegen spec, read with React Native's own Codegen parser so the spec stays the one source. The
13
+ * Android shell checks arguments against these types before the module runs, and `src/farm.d.ts`
14
+ * types `native.<module>` from them.
15
+ */
16
+ /** A value a web screen sends or receives, as the Codegen spec declares it. */
17
+ type FarmNativeType = ({
18
+ type: "string";
19
+ } | {
20
+ type: "number";
21
+ integer?: true;
22
+ } | {
23
+ type: "boolean";
24
+ }
25
+ /** A string literal union, a single literal, or an enum: the values the spec allows. */
26
+ | {
27
+ type: "literal";
28
+ values: Array<string | number>;
29
+ }
30
+ /** An object type with declared properties: `ReadableMap` in Kotlin. */
31
+ | {
32
+ type: "object";
33
+ properties: FarmNativeProperty[];
34
+ }
35
+ /** `Object` or `UnsafeObject`: any JSON object, `ReadableMap` in Kotlin. */
36
+ | {
37
+ type: "map";
38
+ }
39
+ /** An array; without `element`, any JSON values. `ReadableArray` in Kotlin. */
40
+ | {
41
+ type: "array";
42
+ element?: FarmNativeType;
43
+ }
44
+ /** Return values only: `Promise<void>`. */
45
+ | {
46
+ type: "void";
47
+ }
48
+ /** Return values only: a type web screens get as JSON without a narrower type. */
49
+ | {
50
+ type: "unknown";
51
+ }) & {
52
+ nullable?: true;
53
+ };
54
+ interface FarmNativeProperty {
55
+ name: string;
56
+ optional: boolean;
57
+ type: FarmNativeType;
58
+ }
59
+ interface FarmNativeMethod {
60
+ name: string;
61
+ params: FarmNativeProperty[];
62
+ /** What the Promise resolves with. */
63
+ returns: FarmNativeType;
64
+ }
65
+ /** The part of one Codegen spec web screens reach. */
66
+ interface FarmNativeWebSpec {
67
+ /** Promise methods whose parameters web screens can send, in spec order. */
68
+ methods: FarmNativeMethod[];
69
+ /** Promise methods web screens cannot call, and why, such as a callback parameter. */
70
+ unsupported: Array<{
71
+ method: string;
72
+ reason: string;
73
+ }>;
74
+ }
75
+
76
+ /**
77
+ * Native modules (RFC 0004, 7.5): the app's own TurboModules in `src/native/`, and
78
+ * `mobile.modules`, the OS permission entries and usage strings per module.
79
+ */
80
+ /** What the OS needs for one module: `mobile.modules.<name>`. */
81
+ interface FarmMobileModuleConfig {
82
+ /**
83
+ * Android permissions the generated `AndroidManifest.xml` declares, such as
84
+ * `"android.permission.VIBRATE"`. Community modules already merge their own manifest's
85
+ * permissions, so this is for extra ones.
86
+ */
87
+ permissions?: string[];
88
+ /**
89
+ * iOS usage strings the generated `Info.plist` gets, keyed by usage-description key, such as
90
+ * `{ NSCameraUsageDescription: "Scans receipts." }`.
91
+ */
92
+ usage?: Record<string, string>;
93
+ /**
94
+ * Lets web screens (`page.tsx` in the shell's WebView) call the module's Promise methods as
95
+ * `native.<name>.<method>()` from `@farm.js/core/native`, with arguments checked against its
96
+ * Codegen spec. App modules in `src/native/` only: community modules need the React Native JS
97
+ * runtime. Android only for now. Defaults to `false`.
98
+ */
99
+ web?: boolean;
100
+ }
101
+ interface ResolvedFarmMobileModuleConfig {
102
+ permissions: string[];
103
+ usage: Record<string, string>;
104
+ web: boolean;
105
+ }
106
+ /** One Codegen spec in `src/native/`, such as `NativeDevice.ts`. */
107
+ interface FarmMobileAppModuleSpec {
108
+ /** The name the spec registers: `TurboModuleRegistry.getEnforcing<Spec>("Device")`. */
109
+ name: string;
110
+ /** Absolute path of the spec file. */
111
+ file: string;
112
+ /**
113
+ * With `mobile.modules.<name>.web`: the Promise methods web screens may call, read from the spec
114
+ * with React Native's Codegen.
115
+ */
116
+ web?: FarmNativeWebSpec;
117
+ }
118
+ /** The app's own native modules: the files in `src/native/` the generated projects copy. */
119
+ interface FarmMobileAppModules {
120
+ /** Absolute path of `src/native/`. */
121
+ dir: string;
122
+ specs: FarmMobileAppModuleSpec[];
123
+ /** Absolute paths of the Kotlin files (`*.kt`), linked into the Android app. */
124
+ android: string[];
125
+ /** Absolute paths of the Swift files (`*.swift`), copied but not built: iOS has no host yet. */
126
+ ios: string[];
127
+ }
128
+
10
129
  type FarmMobileOS = "android" | "ios";
11
130
  /** How the native navigator shows a route: on a new stack screen, as a sheet, or in place. */
12
131
  type FarmMobilePresentation = "push" | "modal" | "replace";
@@ -27,6 +146,13 @@ interface FarmMobileRouteConfig {
27
146
  * `page.swift` (`"platform"`).
28
147
  */
29
148
  type FarmMobileScreen = "web" | "native" | "platform";
149
+ /**
150
+ * What the route manifest shows for a route: a {@link FarmMobileScreen}, or `"server"`, a native
151
+ * screen the shell draws from the page the server renders (the analyzer's native tier). Config
152
+ * cannot ask for `"server"`; `export const mobile = { native: true }` or `native.auto: "on"` gets
153
+ * it for a page the analyzer proves. A shell that does not know a screen shows the route as web.
154
+ */
155
+ type FarmMobileRouteScreen = FarmMobileScreen | "server";
30
156
  /** What builds native screens. Only the decision is recorded for now; no engine ships yet. */
31
157
  type FarmMobileNativeEngine = "react-native" | "platform";
32
158
  /**
@@ -107,6 +233,20 @@ interface FarmMobileUserConfig {
107
233
  routes?: Record<string, FarmMobileRouteConfig>;
108
234
  /** Screen tiers per route, the native engine, and the analyzer. */
109
235
  native?: FarmMobileNativeConfig;
236
+ /**
237
+ * Bundle a page shell, the route's layouts around its `loading.tsx`, into the app for routes
238
+ * whose loading file and layouts sit in static folders. A web screen that loads a document
239
+ * shows its shell at once, and keeps it up while the server is unreachable. Built by
240
+ * `farm build --mobile`; defaults to `false`.
241
+ */
242
+ shells?: boolean;
243
+ /**
244
+ * What the OS needs for each native module, keyed by module name: an app module's registered
245
+ * name (`src/native/NativeDevice.ts` registers `"Device"`) or an installed package such as
246
+ * `"react-native-vision-camera"`. `permissions` go into the Android manifest and `usage`
247
+ * strings into the iOS `Info.plist`.
248
+ */
249
+ modules?: Record<string, FarmMobileModuleConfig>;
110
250
  }
111
251
  /** What a function-valued `mobile` block receives. Resolved once per OS per dev start or build. */
112
252
  interface FarmMobileContext {
@@ -142,6 +282,9 @@ interface ResolvedFarmMobileConfig {
142
282
  /** `mobile.routes`, keyed by route pattern with route groups removed. */
143
283
  routes: Record<string, FarmMobileRouteConfig>;
144
284
  native: ResolvedFarmMobileNativeConfig;
285
+ shells: boolean;
286
+ /** `mobile.modules`, checked: permissions deduplicated per module, usage strings trimmed. */
287
+ modules: Record<string, ResolvedFarmMobileModuleConfig>;
145
288
  }
146
289
  /**
147
290
  * The origin a mobile app loads pages from. `https://` anywhere; `http://` only for loopback and
@@ -163,6 +306,8 @@ interface FarmMobileResolveOptions {
163
306
  srcDir?: string;
164
307
  /** The app's page route patterns, such as `"/notes/[id]"` (route groups removed). */
165
308
  routes: readonly string[];
309
+ /** Names the app's own native module specs register (`scanFarmMobileAppModules`). */
310
+ appModules?: readonly string[];
166
311
  }
167
312
  /**
168
313
  * Fill in defaults for an already resolved (static or returned) `mobile` block and check it
@@ -189,4 +334,4 @@ type FarmMobileBlockCache = PlatformBlockCache<FarmMobileUserConfig>;
189
334
  */
190
335
  declare function resolveFarmMobileBlock(input: FarmMobileConfigInput, context: FarmMobileContext, cache?: FarmMobileBlockCache): Promise<FarmMobileUserConfig>;
191
336
 
192
- export { type FarmMobileOS as F, type PlatformBlockCache as P, type ResolvedFarmMobileConfig as R, type FarmMobileBudgets as a, type FarmMobileConfigInput as b, type FarmMobileContext as c, type FarmMobileNativeAuto as d, type FarmMobileNativeConfig as e, type FarmMobileNativeEngine as f, type FarmMobileNativeRouteConfig as g, type FarmMobilePageConfig as h, type FarmMobilePrefetch as i, type FarmMobilePresentation as j, type FarmMobileRouteConfig as k, type FarmMobileScreen as l, type FarmMobileTab as m, type FarmMobileUserConfig as n, type FarmMobileBlockCache as o, type FarmMobileContextOptions as p, type FarmMobileResolveOptions as q, type ResolvedFarmMobileNativeConfig as r, createFarmMobileContext as s, resolveFarmMobileBlock as t, resolveFarmMobileConfig as u, resolveFarmMobileServer as v, validateFarmMobileConfig as w, validateFarmMobilePageConfig as x };
337
+ export { type ResolvedFarmMobileNativeConfig as A, createFarmMobileContext as B, resolveFarmMobileBlock as C, resolveFarmMobileConfig as D, resolveFarmMobileServer as E, type FarmMobileOS as F, validateFarmMobileConfig as G, validateFarmMobilePageConfig as H, type PlatformBlockCache as P, type ResolvedFarmMobileConfig as R, type FarmMobileAppModules as a, type FarmMobileAppModuleSpec as b, type FarmMobileBudgets as c, type FarmMobileConfigInput as d, type FarmMobileContext as e, type FarmMobileModuleConfig as f, type FarmMobileNativeAuto as g, type FarmMobileNativeConfig as h, type FarmMobileNativeEngine as i, type FarmMobileNativeRouteConfig as j, type FarmMobilePageConfig as k, type FarmMobilePrefetch as l, type FarmMobilePresentation as m, type FarmMobileRouteConfig as n, type FarmMobileRouteScreen as o, type FarmMobileScreen as p, type FarmMobileTab as q, type FarmMobileUserConfig as r, type FarmNativeMethod as s, type FarmNativeProperty as t, type FarmNativeType as u, type FarmNativeWebSpec as v, type ResolvedFarmMobileModuleConfig as w, type FarmMobileBlockCache as x, type FarmMobileContextOptions as y, type FarmMobileResolveOptions as z };
@@ -7,6 +7,125 @@ interface PlatformBlockChecker {
7
7
  /** Results of function-valued blocks for one dev session or build. */
8
8
  type PlatformBlockCache<T> = Map<string, Promise<T>>;
9
9
 
10
+ /**
11
+ * What web screens can call on an app native module (RFC 0004, 7.5): the Promise methods of its
12
+ * Codegen spec, read with React Native's own Codegen parser so the spec stays the one source. The
13
+ * Android shell checks arguments against these types before the module runs, and `src/farm.d.ts`
14
+ * types `native.<module>` from them.
15
+ */
16
+ /** A value a web screen sends or receives, as the Codegen spec declares it. */
17
+ type FarmNativeType = ({
18
+ type: "string";
19
+ } | {
20
+ type: "number";
21
+ integer?: true;
22
+ } | {
23
+ type: "boolean";
24
+ }
25
+ /** A string literal union, a single literal, or an enum: the values the spec allows. */
26
+ | {
27
+ type: "literal";
28
+ values: Array<string | number>;
29
+ }
30
+ /** An object type with declared properties: `ReadableMap` in Kotlin. */
31
+ | {
32
+ type: "object";
33
+ properties: FarmNativeProperty[];
34
+ }
35
+ /** `Object` or `UnsafeObject`: any JSON object, `ReadableMap` in Kotlin. */
36
+ | {
37
+ type: "map";
38
+ }
39
+ /** An array; without `element`, any JSON values. `ReadableArray` in Kotlin. */
40
+ | {
41
+ type: "array";
42
+ element?: FarmNativeType;
43
+ }
44
+ /** Return values only: `Promise<void>`. */
45
+ | {
46
+ type: "void";
47
+ }
48
+ /** Return values only: a type web screens get as JSON without a narrower type. */
49
+ | {
50
+ type: "unknown";
51
+ }) & {
52
+ nullable?: true;
53
+ };
54
+ interface FarmNativeProperty {
55
+ name: string;
56
+ optional: boolean;
57
+ type: FarmNativeType;
58
+ }
59
+ interface FarmNativeMethod {
60
+ name: string;
61
+ params: FarmNativeProperty[];
62
+ /** What the Promise resolves with. */
63
+ returns: FarmNativeType;
64
+ }
65
+ /** The part of one Codegen spec web screens reach. */
66
+ interface FarmNativeWebSpec {
67
+ /** Promise methods whose parameters web screens can send, in spec order. */
68
+ methods: FarmNativeMethod[];
69
+ /** Promise methods web screens cannot call, and why, such as a callback parameter. */
70
+ unsupported: Array<{
71
+ method: string;
72
+ reason: string;
73
+ }>;
74
+ }
75
+
76
+ /**
77
+ * Native modules (RFC 0004, 7.5): the app's own TurboModules in `src/native/`, and
78
+ * `mobile.modules`, the OS permission entries and usage strings per module.
79
+ */
80
+ /** What the OS needs for one module: `mobile.modules.<name>`. */
81
+ interface FarmMobileModuleConfig {
82
+ /**
83
+ * Android permissions the generated `AndroidManifest.xml` declares, such as
84
+ * `"android.permission.VIBRATE"`. Community modules already merge their own manifest's
85
+ * permissions, so this is for extra ones.
86
+ */
87
+ permissions?: string[];
88
+ /**
89
+ * iOS usage strings the generated `Info.plist` gets, keyed by usage-description key, such as
90
+ * `{ NSCameraUsageDescription: "Scans receipts." }`.
91
+ */
92
+ usage?: Record<string, string>;
93
+ /**
94
+ * Lets web screens (`page.tsx` in the shell's WebView) call the module's Promise methods as
95
+ * `native.<name>.<method>()` from `@farm.js/core/native`, with arguments checked against its
96
+ * Codegen spec. App modules in `src/native/` only: community modules need the React Native JS
97
+ * runtime. Android only for now. Defaults to `false`.
98
+ */
99
+ web?: boolean;
100
+ }
101
+ interface ResolvedFarmMobileModuleConfig {
102
+ permissions: string[];
103
+ usage: Record<string, string>;
104
+ web: boolean;
105
+ }
106
+ /** One Codegen spec in `src/native/`, such as `NativeDevice.ts`. */
107
+ interface FarmMobileAppModuleSpec {
108
+ /** The name the spec registers: `TurboModuleRegistry.getEnforcing<Spec>("Device")`. */
109
+ name: string;
110
+ /** Absolute path of the spec file. */
111
+ file: string;
112
+ /**
113
+ * With `mobile.modules.<name>.web`: the Promise methods web screens may call, read from the spec
114
+ * with React Native's Codegen.
115
+ */
116
+ web?: FarmNativeWebSpec;
117
+ }
118
+ /** The app's own native modules: the files in `src/native/` the generated projects copy. */
119
+ interface FarmMobileAppModules {
120
+ /** Absolute path of `src/native/`. */
121
+ dir: string;
122
+ specs: FarmMobileAppModuleSpec[];
123
+ /** Absolute paths of the Kotlin files (`*.kt`), linked into the Android app. */
124
+ android: string[];
125
+ /** Absolute paths of the Swift files (`*.swift`), copied but not built: iOS has no host yet. */
126
+ ios: string[];
127
+ }
128
+
10
129
  type FarmMobileOS = "android" | "ios";
11
130
  /** How the native navigator shows a route: on a new stack screen, as a sheet, or in place. */
12
131
  type FarmMobilePresentation = "push" | "modal" | "replace";
@@ -27,6 +146,13 @@ interface FarmMobileRouteConfig {
27
146
  * `page.swift` (`"platform"`).
28
147
  */
29
148
  type FarmMobileScreen = "web" | "native" | "platform";
149
+ /**
150
+ * What the route manifest shows for a route: a {@link FarmMobileScreen}, or `"server"`, a native
151
+ * screen the shell draws from the page the server renders (the analyzer's native tier). Config
152
+ * cannot ask for `"server"`; `export const mobile = { native: true }` or `native.auto: "on"` gets
153
+ * it for a page the analyzer proves. A shell that does not know a screen shows the route as web.
154
+ */
155
+ type FarmMobileRouteScreen = FarmMobileScreen | "server";
30
156
  /** What builds native screens. Only the decision is recorded for now; no engine ships yet. */
31
157
  type FarmMobileNativeEngine = "react-native" | "platform";
32
158
  /**
@@ -107,6 +233,20 @@ interface FarmMobileUserConfig {
107
233
  routes?: Record<string, FarmMobileRouteConfig>;
108
234
  /** Screen tiers per route, the native engine, and the analyzer. */
109
235
  native?: FarmMobileNativeConfig;
236
+ /**
237
+ * Bundle a page shell, the route's layouts around its `loading.tsx`, into the app for routes
238
+ * whose loading file and layouts sit in static folders. A web screen that loads a document
239
+ * shows its shell at once, and keeps it up while the server is unreachable. Built by
240
+ * `farm build --mobile`; defaults to `false`.
241
+ */
242
+ shells?: boolean;
243
+ /**
244
+ * What the OS needs for each native module, keyed by module name: an app module's registered
245
+ * name (`src/native/NativeDevice.ts` registers `"Device"`) or an installed package such as
246
+ * `"react-native-vision-camera"`. `permissions` go into the Android manifest and `usage`
247
+ * strings into the iOS `Info.plist`.
248
+ */
249
+ modules?: Record<string, FarmMobileModuleConfig>;
110
250
  }
111
251
  /** What a function-valued `mobile` block receives. Resolved once per OS per dev start or build. */
112
252
  interface FarmMobileContext {
@@ -142,6 +282,9 @@ interface ResolvedFarmMobileConfig {
142
282
  /** `mobile.routes`, keyed by route pattern with route groups removed. */
143
283
  routes: Record<string, FarmMobileRouteConfig>;
144
284
  native: ResolvedFarmMobileNativeConfig;
285
+ shells: boolean;
286
+ /** `mobile.modules`, checked: permissions deduplicated per module, usage strings trimmed. */
287
+ modules: Record<string, ResolvedFarmMobileModuleConfig>;
145
288
  }
146
289
  /**
147
290
  * The origin a mobile app loads pages from. `https://` anywhere; `http://` only for loopback and
@@ -163,6 +306,8 @@ interface FarmMobileResolveOptions {
163
306
  srcDir?: string;
164
307
  /** The app's page route patterns, such as `"/notes/[id]"` (route groups removed). */
165
308
  routes: readonly string[];
309
+ /** Names the app's own native module specs register (`scanFarmMobileAppModules`). */
310
+ appModules?: readonly string[];
166
311
  }
167
312
  /**
168
313
  * Fill in defaults for an already resolved (static or returned) `mobile` block and check it
@@ -189,4 +334,4 @@ type FarmMobileBlockCache = PlatformBlockCache<FarmMobileUserConfig>;
189
334
  */
190
335
  declare function resolveFarmMobileBlock(input: FarmMobileConfigInput, context: FarmMobileContext, cache?: FarmMobileBlockCache): Promise<FarmMobileUserConfig>;
191
336
 
192
- export { type FarmMobileOS as F, type PlatformBlockCache as P, type ResolvedFarmMobileConfig as R, type FarmMobileBudgets as a, type FarmMobileConfigInput as b, type FarmMobileContext as c, type FarmMobileNativeAuto as d, type FarmMobileNativeConfig as e, type FarmMobileNativeEngine as f, type FarmMobileNativeRouteConfig as g, type FarmMobilePageConfig as h, type FarmMobilePrefetch as i, type FarmMobilePresentation as j, type FarmMobileRouteConfig as k, type FarmMobileScreen as l, type FarmMobileTab as m, type FarmMobileUserConfig as n, type FarmMobileBlockCache as o, type FarmMobileContextOptions as p, type FarmMobileResolveOptions as q, type ResolvedFarmMobileNativeConfig as r, createFarmMobileContext as s, resolveFarmMobileBlock as t, resolveFarmMobileConfig as u, resolveFarmMobileServer as v, validateFarmMobileConfig as w, validateFarmMobilePageConfig as x };
337
+ export { type ResolvedFarmMobileNativeConfig as A, createFarmMobileContext as B, resolveFarmMobileBlock as C, resolveFarmMobileConfig as D, resolveFarmMobileServer as E, type FarmMobileOS as F, validateFarmMobileConfig as G, validateFarmMobilePageConfig as H, type PlatformBlockCache as P, type ResolvedFarmMobileConfig as R, type FarmMobileAppModules as a, type FarmMobileAppModuleSpec as b, type FarmMobileBudgets as c, type FarmMobileConfigInput as d, type FarmMobileContext as e, type FarmMobileModuleConfig as f, type FarmMobileNativeAuto as g, type FarmMobileNativeConfig as h, type FarmMobileNativeEngine as i, type FarmMobileNativeRouteConfig as j, type FarmMobilePageConfig as k, type FarmMobilePrefetch as l, type FarmMobilePresentation as m, type FarmMobileRouteConfig as n, type FarmMobileRouteScreen as o, type FarmMobileScreen as p, type FarmMobileTab as q, type FarmMobileUserConfig as r, type FarmNativeMethod as s, type FarmNativeProperty as t, type FarmNativeType as u, type FarmNativeWebSpec as v, type ResolvedFarmMobileModuleConfig as w, type FarmMobileBlockCache as x, type FarmMobileContextOptions as y, type FarmMobileResolveOptions as z };
package/dist/config.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { p as FarmUserConfig } from './client-plugins.d-Bx3FXpqm.mjs';
1
+ import { p as FarmUserConfig } from './client-plugins.d-CgQQ-EAv.mjs';
2
2
  import './lifecycle.d-C2aLBOwu.mjs';
3
3
  import './route.d-BaVH3V0w.mjs';
4
4
  import './endpoint.d-BkMSCRf6.mjs';
@@ -28,7 +28,7 @@ import 'rolldown/utils';
28
28
  import 'rolldown';
29
29
  import './image-config.d-CeDgNyX4.mjs';
30
30
  import './types.d-C41ePjvP.mjs';
31
- import './config.d-iRPI16ku.mjs';
31
+ import './config.d-DqZkLwef.mjs';
32
32
  import './types.d-DQnyD3VD.mjs';
33
33
  import './font.mjs';
34
34