@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
@@ -1,6 +1,14 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkGUJTVM36cjs = require('./chunk-GUJTVM36.cjs');
3
+
4
+
5
+
6
+
7
+
8
+ var _chunkD2X5MUF5cjs = require('./chunk-D2X5MUF5.cjs');
9
+
10
+
11
+ var _chunk2FRLSDBTcjs = require('./chunk-2FRLSDBT.cjs');
4
12
  require('./chunk-BTZ5O6VM.cjs');
5
13
 
6
14
  // src/mobile/analyzer.ts
@@ -8,7 +16,7 @@ var _crypto = require('crypto');
8
16
  var _fs = require('fs');
9
17
  var _promises = require('fs/promises');
10
18
  var _path = require('path'); var path = _interopRequireWildcard(_path);
11
- var ANALYZER_VERSION = `2:${_chunkGUJTVM36cjs.FARM_VERSION}`;
19
+ var ANALYZER_VERSION = `5:${_chunk2FRLSDBTcjs.FARM_VERSION}`;
12
20
  var INTRINSIC_KINDS = {};
13
21
  for (const tag of "div section main article header footer nav aside figure hr li".split(" ")) {
14
22
  INTRINSIC_KINDS[tag] = "View";
@@ -128,6 +136,18 @@ var CORE_PORTABLE = {
128
136
  "@farm.js/core/version": /* @__PURE__ */ new Set(["FARM_VERSION"]),
129
137
  "@farm.js/core/platform": /* @__PURE__ */ new Set(["platform"])
130
138
  };
139
+ var INLINE_BOX_TAGS = new Set("span strong em b i small label code".split(" "));
140
+ function hasBoxStyle(node) {
141
+ const tokens = _nullishCoalesce(node.style, () => ( []));
142
+ const classes = tokens.filter((token) => !token.startsWith("style."));
143
+ const resolved = _chunkD2X5MUF5cjs.resolveFarmNativeClasses.call(void 0, classes.join(" "));
144
+ const keys = [
145
+ ...Object.keys(resolved.style),
146
+ ...Object.keys(_nullishCoalesce(resolved.dark, () => ( {}))),
147
+ ...tokens.filter((token) => token.startsWith("style.")).map((token) => token.slice(6))
148
+ ];
149
+ return keys.some((key) => !_chunkD2X5MUF5cjs.FARM_NATIVE_TEXT_KEYS.has(key));
150
+ }
131
151
  var MAPPED_COMPONENTS = {
132
152
  "@farm.js/core": { Link: "Pressable" },
133
153
  "@farm.js/core/client": { Link: "Pressable" },
@@ -300,7 +320,9 @@ function analyzeSource(file, source, parseSync) {
300
320
  useClient: false,
301
321
  serverBoundary: false,
302
322
  asyncDefault: false,
303
- components: {}
323
+ components: {},
324
+ appClasses: [],
325
+ tags: []
304
326
  };
305
327
  const starts = lineStarts(source);
306
328
  const block = (node, rule, message, only) => {
@@ -398,6 +420,7 @@ function analyzeSource(file, source, parseSync) {
398
420
  const isIntrinsic = opening.name.type === "JSXIdentifier" && /^[a-z]/.test(tag);
399
421
  if (isIntrinsic) {
400
422
  kind = INTRINSIC_KINDS[tag];
423
+ if (!facts.tags.includes(tag)) facts.tags.push(tag);
401
424
  if (!kind) block(opening, "unmapped-element", `<${tag}> has no native mapping`);
402
425
  } else if (opening.name.type === "JSXNamespacedName") {
403
426
  block(opening, "unmapped-element", `<${tag}> has no native mapping`);
@@ -484,8 +507,14 @@ function analyzeSource(file, source, parseSync) {
484
507
  }
485
508
  for (const token of classes.split(/\s+/).filter(Boolean)) {
486
509
  const problem = classifyClass(token);
487
- if (problem) block(attribute, "class-name", problem);
488
- else style.push(token);
510
+ if (problem && /^class ".*" is not in the native Tailwind subset$/.test(problem)) {
511
+ facts.appClasses.push({ name: token, ...locate(starts, attribute.start) });
512
+ } else if (problem) block(attribute, "class-name", problem);
513
+ else {
514
+ style.push(token);
515
+ const native = _chunkD2X5MUF5cjs.farmNativeClassProblem.call(void 0, token);
516
+ if (native) block(attribute, "class-name", native, "native");
517
+ }
489
518
  }
490
519
  continue;
491
520
  }
@@ -505,6 +534,9 @@ function analyzeSource(file, source, parseSync) {
505
534
  block(property, "style", `style.${key} has no native mapping`);
506
535
  continue;
507
536
  }
537
+ if (!_chunkD2X5MUF5cjs.FARM_NATIVE_STYLE_PROPERTIES.has(key)) {
538
+ block(property, "style", `style.${key} has no native-tier style`, "native");
539
+ }
508
540
  const literal2 = staticString(property.value);
509
541
  if (literal2 !== void 0) {
510
542
  if (STYLE_ENUMS[key] && !STYLE_ENUMS[key].has(literal2)) {
@@ -562,6 +594,14 @@ function analyzeSource(file, source, parseSync) {
562
594
  return void 0;
563
595
  case "JSXElement": {
564
596
  const ui = classifyElement(node);
597
+ if (INLINE_BOX_TAGS.has(ui.tag) && parent && parent.kind !== "Fragment" && parent.kind !== "Component" && !_optionalChain([parent, 'access', _20 => _20.style, 'optionalAccess', _21 => _21.some, 'call', _22 => _22((token) => token === "flex" || token === "inline-flex")]) && hasBoxStyle(ui)) {
598
+ block(
599
+ node.openingElement,
600
+ "class-name",
601
+ `<${ui.tag}> with a background, border, padding, or size inside text has no native-tier layout`,
602
+ "native"
603
+ );
604
+ }
565
605
  for (const attribute of node.openingElement.attributes) {
566
606
  visit(attribute.type === "JSXSpreadAttribute" ? attribute.argument : attribute.value);
567
607
  }
@@ -645,7 +685,7 @@ function analyzeSource(file, source, parseSync) {
645
685
  if (calleeName === "setInterval") wins.add("timer");
646
686
  if (callee.type === "Identifier" && SERVER_FN_FACTORIES.has(callee.name)) {
647
687
  const binding = imported.get(callee.name);
648
- if (_optionalChain([binding, 'optionalAccess', _20 => _20.source, 'access', _21 => _21.startsWith, 'call', _22 => _22("@farm.js/core")])) callsServerFactory = true;
688
+ if (_optionalChain([binding, 'optionalAccess', _23 => _23.source, 'access', _24 => _24.startsWith, 'call', _25 => _25("@farm.js/core")])) callsServerFactory = true;
649
689
  }
650
690
  if (calleeName === "map" && callee.type === "MemberExpression" && parent) {
651
691
  const before = facts.elements.total;
@@ -710,11 +750,11 @@ function analyzeSource(file, source, parseSync) {
710
750
  const isDefault = statement.type === "ExportDefaultDeclaration";
711
751
  const declaration = statement.type === "ExportNamedDeclaration" || isDefault ? statement.declaration : statement;
712
752
  const roots = [];
713
- if (_optionalChain([declaration, 'optionalAccess', _23 => _23.type]) === "FunctionDeclaration" || isDefault && /Function/.test(_nullishCoalesce(_optionalChain([declaration, 'optionalAccess', _24 => _24.type]), () => ( "")))) {
753
+ if (_optionalChain([declaration, 'optionalAccess', _26 => _26.type]) === "FunctionDeclaration" || isDefault && /Function/.test(_nullishCoalesce(_optionalChain([declaration, 'optionalAccess', _27 => _27.type]), () => ( "")))) {
714
754
  roots.push([isDefault ? "default" : declaration.id.name, declaration]);
715
- } else if (_optionalChain([declaration, 'optionalAccess', _25 => _25.type]) === "VariableDeclaration") {
755
+ } else if (_optionalChain([declaration, 'optionalAccess', _28 => _28.type]) === "VariableDeclaration") {
716
756
  for (const declarator of declaration.declarations) {
717
- if (declarator.id.type === "Identifier" && /Function/.test(_nullishCoalesce(_optionalChain([declarator, 'access', _26 => _26.init, 'optionalAccess', _27 => _27.type]), () => ( "")))) {
757
+ if (declarator.id.type === "Identifier" && /Function/.test(_nullishCoalesce(_optionalChain([declarator, 'access', _29 => _29.init, 'optionalAccess', _30 => _30.type]), () => ( "")))) {
718
758
  roots.push([declarator.id.name, declarator]);
719
759
  }
720
760
  }
@@ -730,7 +770,7 @@ function analyzeSource(file, source, parseSync) {
730
770
  facts.components[name] = holder.children.length === 1 ? holder.children[0] : holder;
731
771
  }
732
772
  }
733
- if (isDefault && _optionalChain([declaration, 'optionalAccess', _28 => _28.type]) === "Identifier") {
773
+ if (isDefault && _optionalChain([declaration, 'optionalAccess', _31 => _31.type]) === "Identifier") {
734
774
  facts.components.default = { kind: "Component", tag: declaration.name };
735
775
  }
736
776
  }
@@ -797,7 +837,7 @@ function classifyPackage(fact, serverBoundary) {
797
837
  }
798
838
  if (specifier.startsWith("@farm.js/core")) {
799
839
  const portable = CORE_PORTABLE[specifier];
800
- const unmapped = fact.names.filter((name2) => !_optionalChain([portable, 'optionalAccess', _29 => _29.has, 'call', _30 => _30(name2)]));
840
+ const unmapped = fact.names.filter((name2) => !_optionalChain([portable, 'optionalAccess', _32 => _32.has, 'call', _33 => _33(name2)]));
801
841
  if (unmapped.length > 0 || !portable) {
802
842
  return {
803
843
  ...at,
@@ -935,18 +975,13 @@ async function analyzeFarmMobileRoutes(options) {
935
975
  const blocker = classifyPackage(fact, moduleFacts.serverBoundary);
936
976
  return blocker ? { fact, blocker } : { fact };
937
977
  }
938
- if (STYLE_FILE.test(specifier)) {
939
- return {
940
- fact,
941
- blocker: { ...at, rule: "css-import", message: `import "${specifier}" is a stylesheet` }
942
- };
943
- }
944
978
  if (ASSET_FILE.test(specifier)) return { fact };
945
979
  for (const candidate of candidates) {
946
980
  const file = resolveFile(candidate);
947
981
  if (file) {
948
982
  if (ASSET_FILE.test(file)) return { fact };
949
983
  if (STYLE_FILE.test(file)) {
984
+ if (file.endsWith(".css")) return { fact, stylesheet: file };
950
985
  return {
951
986
  fact,
952
987
  blocker: {
@@ -998,15 +1033,32 @@ async function analyzeFarmMobileRoutes(options) {
998
1033
  }
999
1034
  }
1000
1035
  await Promise.all([...scripts].map(visitModule));
1036
+ const parsedSheets = /* @__PURE__ */ new Map();
1037
+ const readStylesheet = (file) => {
1038
+ let sheet = parsedSheets.get(file);
1039
+ if (!sheet) {
1040
+ sheet = _chunkD2X5MUF5cjs.parseFarmNativeStylesheet.call(void 0, _fs.readFileSync.call(void 0, file, "utf8"));
1041
+ parsedSheets.set(file, sheet);
1042
+ }
1043
+ return sheet;
1044
+ };
1001
1045
  const settled = /* @__PURE__ */ new Map();
1002
1046
  for (const [file, pending] of facts) settled.set(file, await pending);
1003
1047
  const routes = {};
1048
+ const graphs = {};
1049
+ const allStylesheets = /* @__PURE__ */ new Set();
1050
+ const unreadStylesheets = /* @__PURE__ */ new Set();
1004
1051
  for (const [route, { page, layouts }] of entries) {
1005
1052
  const blockers = [];
1006
1053
  const wins = /* @__PURE__ */ new Set();
1007
1054
  const elements = { total: 0, mapped: 0, byKind: {} };
1008
1055
  const seen = /* @__PURE__ */ new Set();
1009
1056
  const ir = { root: "", components: {} };
1057
+ const stylesheets = /* @__PURE__ */ new Set();
1058
+ const appClasses = [];
1059
+ const tags = /* @__PURE__ */ new Set();
1060
+ const graph = [];
1061
+ const layoutClasses = /* @__PURE__ */ new Set();
1010
1062
  const walk = (file, entry, layout) => {
1011
1063
  if (seen.has(file)) return;
1012
1064
  seen.add(file);
@@ -1036,8 +1088,32 @@ async function analyzeFarmMobileRoutes(options) {
1036
1088
  only: "react-native"
1037
1089
  });
1038
1090
  }
1091
+ if (!layout) {
1092
+ graph.push({
1093
+ file,
1094
+ serverBoundary: moduleFacts.serverBoundary,
1095
+ imports: (_nullishCoalesce(resolved.get(file), () => ( []))).map((entryImport) => ({
1096
+ source: entryImport.fact.source,
1097
+ ...entryImport.file ? { file: entryImport.file } : {}
1098
+ }))
1099
+ });
1100
+ }
1101
+ if (layout) {
1102
+ for (const appClass of moduleFacts.appClasses) layoutClasses.add(appClass.name);
1103
+ const visit = (node) => {
1104
+ for (const token of _nullishCoalesce(node.style, () => ( [])))
1105
+ if (!token.startsWith("style.")) layoutClasses.add(token);
1106
+ for (const child of _nullishCoalesce(node.children, () => ( []))) visit(child);
1107
+ };
1108
+ for (const node of Object.values(moduleFacts.components)) visit(node);
1109
+ }
1039
1110
  if (moduleFacts.serverBoundary && !entry) return;
1040
1111
  for (const blocker of moduleFacts.blockers) add({ file: label, ...blocker });
1112
+ if (!layout) {
1113
+ for (const appClass of moduleFacts.appClasses)
1114
+ appClasses.push({ file: label, ...appClass });
1115
+ for (const tag of moduleFacts.tags) tags.add(tag);
1116
+ }
1041
1117
  for (const win of moduleFacts.wins) wins.add(win);
1042
1118
  elements.total += moduleFacts.elements.total;
1043
1119
  elements.mapped += moduleFacts.elements.mapped;
@@ -1048,6 +1124,12 @@ async function analyzeFarmMobileRoutes(options) {
1048
1124
  ir.components[`${label}#${name}`] = node;
1049
1125
  }
1050
1126
  for (const entryImport of _nullishCoalesce(resolved.get(file), () => ( []))) {
1127
+ if (entryImport.stylesheet) {
1128
+ stylesheets.add(entryImport.stylesheet);
1129
+ allStylesheets.add(entryImport.stylesheet);
1130
+ } else if (_optionalChain([entryImport, 'access', _34 => _34.blocker, 'optionalAccess', _35 => _35.rule]) === "css-import") {
1131
+ unreadStylesheets.add(entryImport.fact.source);
1132
+ }
1051
1133
  if (entryImport.blocker) add({ file: label, ...entryImport.blocker });
1052
1134
  if (entryImport.file) walk(entryImport.file, false, layout);
1053
1135
  }
@@ -1073,6 +1155,34 @@ async function analyzeFarmMobileRoutes(options) {
1073
1155
  ir.root = `${relative2(root, page)}#default`;
1074
1156
  }
1075
1157
  for (const layout of layouts) walk(layout, true, true);
1158
+ const sheets = [...stylesheets].map(readStylesheet);
1159
+ for (const appClass of appClasses) {
1160
+ const { styled, problems } = _chunkD2X5MUF5cjs.inspectFarmNativeStylesheets.call(void 0, sheets, { class: appClass.name });
1161
+ const at = { file: appClass.file, line: appClass.line, column: appClass.column };
1162
+ if (!styled) {
1163
+ blockers.push({
1164
+ ...at,
1165
+ rule: "class-name",
1166
+ message: `class "${appClass.name}" is neither Tailwind nor in the app's CSS`,
1167
+ only: "native"
1168
+ });
1169
+ }
1170
+ for (const message of problems) {
1171
+ blockers.push({ ...at, rule: "class-name", message, only: "native" });
1172
+ }
1173
+ }
1174
+ for (const tag of tags) {
1175
+ for (const message of _chunkD2X5MUF5cjs.inspectFarmNativeStylesheets.call(void 0, sheets, { tag }).problems) {
1176
+ blockers.push({
1177
+ file: relative2(root, _nullishCoalesce(page, () => ( ""))),
1178
+ line: 1,
1179
+ column: 1,
1180
+ rule: "style",
1181
+ message,
1182
+ only: "native"
1183
+ });
1184
+ }
1185
+ }
1076
1186
  const strip = ({ only: _only, ...blocker }) => blocker;
1077
1187
  const portBlockers = blockers.filter((blocker) => blocker.only !== "native").map(strip);
1078
1188
  const nativeBlockers = blockers.filter((blocker) => blocker.only !== "react-native").map(strip);
@@ -1094,6 +1204,7 @@ async function analyzeFarmMobileRoutes(options) {
1094
1204
  if (portable) {
1095
1205
  analysis.ir = ir;
1096
1206
  analysis.irBytes = Buffer.byteLength(JSON.stringify(ir));
1207
+ if (page) graphs[route] = { page, modules: graph, layoutClasses: [...layoutClasses].sort() };
1097
1208
  }
1098
1209
  routes[route] = analysis;
1099
1210
  }
@@ -1106,7 +1217,10 @@ async function analyzeFarmMobileRoutes(options) {
1106
1217
  }
1107
1218
  return {
1108
1219
  routes,
1109
- stats: { modules: facts.size, parsed, cached, ms: Math.round(performance.now() - started) }
1220
+ stats: { modules: facts.size, parsed, cached, ms: Math.round(performance.now() - started) },
1221
+ graphs,
1222
+ stylesheets: [...allStylesheets].sort(),
1223
+ unreadStylesheets: [...unreadStylesheets].sort()
1110
1224
  };
1111
1225
  }
1112
1226
 
@@ -1,16 +1,17 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-XPIPMWY3.cjs');
2
2
 
3
3
 
4
4
 
5
5
 
6
- var _chunkVSLM6BHXcjs = require('../chunk-VSLM6BHX.cjs');
6
+
7
+ var _chunk3OJNNCDLcjs = require('../chunk-3OJNNCDL.cjs');
7
8
  require('../chunk-EOXPRC2C.cjs');
8
9
  require('../chunk-I2BYNELA.cjs');
9
10
  require('../chunk-PENBZAHJ.cjs');
10
11
  require('../chunk-PO5MXV5X.cjs');
11
12
  require('../chunk-HLYRXN2I.cjs');
12
13
  require('../chunk-CA7DNRHO.cjs');
13
- require('../chunk-IWFV5ZED.cjs');
14
+ require('../chunk-PMJSG4JS.cjs');
14
15
  require('../chunk-DXUXQP2T.cjs');
15
16
  require('../chunk-UZCMMJJT.cjs');
16
17
  require('../chunk-3BIASUGR.cjs');
@@ -21,4 +22,4 @@ require('../chunk-BTZ5O6VM.cjs');
21
22
 
22
23
 
23
24
 
24
- exports.APIClientError = _chunkVSLM6BHXcjs.APIClientError; exports.createAPIClient = _chunkVSLM6BHXcjs.createAPIClient; exports.createApiClients = _chunkVSLM6BHXcjs.createApiClients; exports.createServerAPIClient = _chunkVSLM6BHXcjs.createServerAPIClient;
25
+ exports.APIClientError = _chunk3OJNNCDLcjs.APIClientError; exports.createAPIClient = _chunk3OJNNCDLcjs.createAPIClient; exports.createApiClients = _chunk3OJNNCDLcjs.createApiClients; exports.createServerAPIClient = _chunk3OJNNCDLcjs.createServerAPIClient;
@@ -1,4 +1,4 @@
1
- export { A as APIClient, a as APIClientError, b as APIClientOptions, c as APIClientSystemError, d as APIClientWithoutIntegrationsOptions, j as ApiClients, X as RouteAPIClient, Y as ServerAPIClient, Z as ServerAPIClientOptions, _ as ServerAPIClientWithoutIntegrationsOptions, a2 as createAPIClient, a3 as createApiClients, a9 as createServerAPIClient } from '../api-client.d-CeA6tNA6.mjs';
1
+ export { A as APIClient, b as APIClientError, d as APIClientOptions, e as APIClientSystemError, f as APIClientWithoutIntegrationsOptions, g as ApiClients, R as RouteAPIClient, S as ServerAPIClient, h as ServerAPIClientOptions, i as ServerAPIClientWithoutIntegrationsOptions, c as createAPIClient, a as createApiClients, j as createServerAPIClient } from '../api-client.d-BNLXNCXJ.mjs';
2
2
  import '../route.d-BaVH3V0w.mjs';
3
3
  import '../endpoint.d-BkMSCRf6.mjs';
4
4
  import '../cache.mjs';
@@ -1,4 +1,4 @@
1
- export { A as APIClient, a as APIClientError, b as APIClientOptions, c as APIClientSystemError, d as APIClientWithoutIntegrationsOptions, j as ApiClients, X as RouteAPIClient, Y as ServerAPIClient, Z as ServerAPIClientOptions, _ as ServerAPIClientWithoutIntegrationsOptions, a2 as createAPIClient, a3 as createApiClients, a9 as createServerAPIClient } from '../api-client.d-BWcqZciH.js';
1
+ export { A as APIClient, b as APIClientError, d as APIClientOptions, e as APIClientSystemError, f as APIClientWithoutIntegrationsOptions, g as ApiClients, R as RouteAPIClient, S as ServerAPIClient, h as ServerAPIClientOptions, i as ServerAPIClientWithoutIntegrationsOptions, c as createAPIClient, a as createApiClients, j as createServerAPIClient } from '../api-client.d-ddQBNGtu.js';
2
2
  import '../route.d-DBTEqifW.js';
3
3
  import '../endpoint.d-BgHn0lhl.js';
4
4
  import '../cache.js';
@@ -1,16 +1,17 @@
1
+ import "../chunk-QGOZLGVP.mjs";
1
2
  import {
2
3
  APIClientError,
3
4
  createAPIClient,
4
5
  createApiClients,
5
6
  createServerAPIClient
6
- } from "../chunk-2NHOYYUT.mjs";
7
+ } from "../chunk-7H45IJWO.mjs";
7
8
  import "../chunk-IAPTECEB.mjs";
8
9
  import "../chunk-C64XOPBZ.mjs";
9
10
  import "../chunk-H227LYHT.mjs";
10
11
  import "../chunk-5Y4GYKKH.mjs";
11
12
  import "../chunk-YT3SLLZK.mjs";
12
13
  import "../chunk-GUZC226X.mjs";
13
- import "../chunk-BLD5GVCG.mjs";
14
+ import "../chunk-W6QLRQ3V.mjs";
14
15
  import "../chunk-GLOICKDO.mjs";
15
16
  import "../chunk-AZQXXXDX.mjs";
16
17
  import "../chunk-VIXTAVEA.mjs";
@@ -0,0 +1,45 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-XPIPMWY3.cjs');
2
+
3
+
4
+
5
+
6
+
7
+ var _chunk3OJNNCDLcjs = require('../chunk-3OJNNCDL.cjs');
8
+ require('../chunk-EOXPRC2C.cjs');
9
+ require('../chunk-I2BYNELA.cjs');
10
+ require('../chunk-PENBZAHJ.cjs');
11
+ require('../chunk-PO5MXV5X.cjs');
12
+ require('../chunk-HLYRXN2I.cjs');
13
+ require('../chunk-CA7DNRHO.cjs');
14
+ require('../chunk-PMJSG4JS.cjs');
15
+ require('../chunk-DXUXQP2T.cjs');
16
+ require('../chunk-UZCMMJJT.cjs');
17
+ require('../chunk-3BIASUGR.cjs');
18
+ require('../chunk-YTVSWXEZ.cjs');
19
+ require('../chunk-BTZ5O6VM.cjs');
20
+
21
+ // src/api-client.native.ts
22
+ var SERVER = "https://farm-native.invalid";
23
+ var SERVER_FETCH = /* @__PURE__ */ Symbol.for("farm.native.serverFetch");
24
+ function nativeFetch(input, init) {
25
+ const url = new URL(input instanceof Request ? input.url : String(input));
26
+ if (url.origin !== SERVER) return fetch(input, init);
27
+ const serverFetch = globalThis[SERVER_FETCH];
28
+ if (!serverFetch) {
29
+ throw new Error(
30
+ "@farm.js/core/api/client needs @farm.js/native on a native screen: install it, or pass createApiClients({ baseURL }) to call another server."
31
+ );
32
+ }
33
+ return serverFetch(`${url.pathname}${url.search}`, init);
34
+ }
35
+ function nativeOptions(options) {
36
+ return options.baseURL || options.fetch ? options : { ...options, baseURL: SERVER, fetch: nativeFetch };
37
+ }
38
+ var createApiClients2 = ((options = {}) => _chunk3OJNNCDLcjs.createApiClients.call(void 0, nativeOptions(options)));
39
+ var createAPIClient2 = ((options = {}) => _chunk3OJNNCDLcjs.createAPIClient.call(void 0, nativeOptions(options)));
40
+
41
+
42
+
43
+
44
+
45
+ exports.APIClientError = _chunk3OJNNCDLcjs.APIClientError; exports.createAPIClient = createAPIClient2; exports.createApiClients = createApiClients2; exports.createServerAPIClient = _chunk3OJNNCDLcjs.createServerAPIClient;
@@ -0,0 +1,23 @@
1
+ import { c as createAPIClient$1, a as createApiClients$1 } 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, R as RouteAPIClient, S as ServerAPIClient, h as ServerAPIClientOptions, i as ServerAPIClientWithoutIntegrationsOptions, j as createServerAPIClient } from '../api-client.d-BNLXNCXJ.mjs';
3
+ import '../route.d-BaVH3V0w.mjs';
4
+ import '../endpoint.d-BkMSCRf6.mjs';
5
+ import '../cache.mjs';
6
+ import '../client-cache.d-di_Nasxa.mjs';
7
+
8
+ /**
9
+ * `@farm.js/core/api/client` for React Native screens (`page.native.tsx`). Metro resolves this
10
+ * file through the `react-native` export condition; web builds never see it, so web bundles do
11
+ * not change. It has the web client's exports and types: an app's `createApiClients` module works
12
+ * unchanged on a native screen, and `apiClient.notes.post({ body })` calls the same API route the
13
+ * web page calls.
14
+ *
15
+ * Without a `baseURL` or `fetch` of their own, the clients call the app's server (`mobile.server`,
16
+ * or the dev server under `farm dev --mobile`) through `serverFetch` from `@farm.js/native`, which
17
+ * sends the device's session once the user signed in on a web screen.
18
+ */
19
+
20
+ declare const createApiClients: typeof createApiClients$1;
21
+ declare const createAPIClient: typeof createAPIClient$1;
22
+
23
+ export { createAPIClient, createApiClients };
@@ -0,0 +1,23 @@
1
+ import { c as createAPIClient$1, a as createApiClients$1 } 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, R as RouteAPIClient, S as ServerAPIClient, h as ServerAPIClientOptions, i as ServerAPIClientWithoutIntegrationsOptions, j as createServerAPIClient } from '../api-client.d-ddQBNGtu.js';
3
+ import '../route.d-DBTEqifW.js';
4
+ import '../endpoint.d-BgHn0lhl.js';
5
+ import '../cache.js';
6
+ import '../client-cache.d-Deoqq-nM.js';
7
+
8
+ /**
9
+ * `@farm.js/core/api/client` for React Native screens (`page.native.tsx`). Metro resolves this
10
+ * file through the `react-native` export condition; web builds never see it, so web bundles do
11
+ * not change. It has the web client's exports and types: an app's `createApiClients` module works
12
+ * unchanged on a native screen, and `apiClient.notes.post({ body })` calls the same API route the
13
+ * web page calls.
14
+ *
15
+ * Without a `baseURL` or `fetch` of their own, the clients call the app's server (`mobile.server`,
16
+ * or the dev server under `farm dev --mobile`) through `serverFetch` from `@farm.js/native`, which
17
+ * sends the device's session once the user signed in on a web screen.
18
+ */
19
+
20
+ declare const createApiClients: typeof createApiClients$1;
21
+ declare const createAPIClient: typeof createAPIClient$1;
22
+
23
+ export { createAPIClient, createApiClients };
@@ -0,0 +1,45 @@
1
+ import "../chunk-QGOZLGVP.mjs";
2
+ import {
3
+ APIClientError,
4
+ createAPIClient,
5
+ createApiClients,
6
+ createServerAPIClient
7
+ } from "../chunk-7H45IJWO.mjs";
8
+ import "../chunk-IAPTECEB.mjs";
9
+ import "../chunk-C64XOPBZ.mjs";
10
+ import "../chunk-H227LYHT.mjs";
11
+ import "../chunk-5Y4GYKKH.mjs";
12
+ import "../chunk-YT3SLLZK.mjs";
13
+ import "../chunk-GUZC226X.mjs";
14
+ import "../chunk-W6QLRQ3V.mjs";
15
+ import "../chunk-GLOICKDO.mjs";
16
+ import "../chunk-AZQXXXDX.mjs";
17
+ import "../chunk-VIXTAVEA.mjs";
18
+ import "../chunk-AYP2YFVN.mjs";
19
+ import "../chunk-Y6FXYEAI.mjs";
20
+
21
+ // src/api-client.native.ts
22
+ var SERVER = "https://farm-native.invalid";
23
+ var SERVER_FETCH = /* @__PURE__ */ Symbol.for("farm.native.serverFetch");
24
+ function nativeFetch(input, init) {
25
+ const url = new URL(input instanceof Request ? input.url : String(input));
26
+ if (url.origin !== SERVER) return fetch(input, init);
27
+ const serverFetch = globalThis[SERVER_FETCH];
28
+ if (!serverFetch) {
29
+ throw new Error(
30
+ "@farm.js/core/api/client needs @farm.js/native on a native screen: install it, or pass createApiClients({ baseURL }) to call another server."
31
+ );
32
+ }
33
+ return serverFetch(`${url.pathname}${url.search}`, init);
34
+ }
35
+ function nativeOptions(options) {
36
+ return options.baseURL || options.fetch ? options : { ...options, baseURL: SERVER, fetch: nativeFetch };
37
+ }
38
+ var createApiClients2 = ((options = {}) => createApiClients(nativeOptions(options)));
39
+ var createAPIClient2 = ((options = {}) => createAPIClient(nativeOptions(options)));
40
+ export {
41
+ APIClientError,
42
+ createAPIClient2 as createAPIClient,
43
+ createApiClients2 as createApiClients,
44
+ createServerAPIClient
45
+ };
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkKHXAJ2KAcjs = require('../chunk-KHXAJ2KA.cjs');
4
+ var _chunkW2RZ73IUcjs = require('../chunk-W2RZ73IU.cjs');
5
5
  require('../chunk-NWUHS6GV.cjs');
6
6
  require('../chunk-SBDWCDS6.cjs');
7
7
  require('../chunk-RVGLYMJM.cjs');
@@ -14,11 +14,11 @@ require('../chunk-KORZ6PRE.cjs');
14
14
 
15
15
 
16
16
 
17
- var _chunkOYNNA4DDcjs = require('../chunk-OYNNA4DD.cjs');
17
+ var _chunkCBKRS3M4cjs = require('../chunk-CBKRS3M4.cjs');
18
18
  require('../chunk-5C7XMKQ4.cjs');
19
19
  require('../chunk-JXIYH2NO.cjs');
20
20
  require('../chunk-4DCWVSL2.cjs');
21
- require('../chunk-6ONBZGVH.cjs');
21
+ require('../chunk-LRB5OVRT.cjs');
22
22
  require('../chunk-E7QOEV5Z.cjs');
23
23
  require('../chunk-OYZXVBZP.cjs');
24
24
  require('../chunk-DMAP4RND.cjs');
@@ -27,17 +27,17 @@ require('../chunk-FEFCISOX.cjs');
27
27
  require('../chunk-SNP33A33.cjs');
28
28
  require('../chunk-JYNNIGQO.cjs');
29
29
  require('../chunk-LNVGXUL3.cjs');
30
- require('../chunk-VQJYGZNX.cjs');
30
+ require('../chunk-QMNWKQL4.cjs');
31
31
  require('../chunk-SUCDVKUB.cjs');
32
32
  require('../chunk-EVIWKPJV.cjs');
33
+ require('../chunk-2OF5RPVU.cjs');
33
34
  require('../chunk-LIFUPCXW.cjs');
34
35
  require('../chunk-JYT7AN37.cjs');
35
- require('../chunk-B5BBTPJQ.cjs');
36
36
  require('../chunk-HLYRXN2I.cjs');
37
37
 
38
38
 
39
39
  var _chunkCA7DNRHOcjs = require('../chunk-CA7DNRHO.cjs');
40
- require('../chunk-IWFV5ZED.cjs');
40
+ require('../chunk-PMJSG4JS.cjs');
41
41
  require('../chunk-VOQ7XZZT.cjs');
42
42
  require('../chunk-R5U7OIPI.cjs');
43
43
  require('../chunk-AOKXITZ6.cjs');
@@ -60,4 +60,4 @@ require('../chunk-BTZ5O6VM.cjs');
60
60
 
61
61
 
62
62
 
63
- exports.APIRouteConflictError = _chunkKHXAJ2KAcjs.APIRouteConflictError; exports.APIRouteManager = _chunkKHXAJ2KAcjs.APIRouteManager; exports.API_ROUTE_METHODS = _chunkOYNNA4DDcjs.API_ROUTE_METHODS; exports.getAllowedAPIRouteMethods = _chunkOYNNA4DDcjs.getAllowedAPIRouteMethods; exports.invokeAPIRouteEndpoint = _chunkOYNNA4DDcjs.invokeAPIRouteEndpoint; exports.isWebResponse = _chunkOYNNA4DDcjs.isWebResponse; exports.matchAPIRoute = _chunkCA7DNRHOcjs.matchAPIRoute; exports.normalizeRouteResponse = _chunkOYNNA4DDcjs.normalizeRouteResponse; exports.resolveAPIRouteEndpoint = _chunkOYNNA4DDcjs.resolveAPIRouteEndpoint;
63
+ exports.APIRouteConflictError = _chunkW2RZ73IUcjs.APIRouteConflictError; exports.APIRouteManager = _chunkW2RZ73IUcjs.APIRouteManager; exports.API_ROUTE_METHODS = _chunkCBKRS3M4cjs.API_ROUTE_METHODS; exports.getAllowedAPIRouteMethods = _chunkCBKRS3M4cjs.getAllowedAPIRouteMethods; exports.invokeAPIRouteEndpoint = _chunkCBKRS3M4cjs.invokeAPIRouteEndpoint; exports.isWebResponse = _chunkCBKRS3M4cjs.isWebResponse; exports.matchAPIRoute = _chunkCA7DNRHOcjs.matchAPIRoute; exports.normalizeRouteResponse = _chunkCBKRS3M4cjs.normalizeRouteResponse; exports.resolveAPIRouteEndpoint = _chunkCBKRS3M4cjs.resolveAPIRouteEndpoint;
@@ -1,6 +1,6 @@
1
- import { P as PluginAPIDispatch } from '../runtime.d-CgB3IJDq.mjs';
2
- export { A as API_ROUTE_METHODS, g as getAllowedAPIRouteMethods, i as invokeAPIRouteEndpoint, a as isWebResponse, n as normalizeRouteResponse, r as resolveAPIRouteEndpoint } from '../runtime.d-CgB3IJDq.mjs';
3
- import { f as FarmRouteRuntimeConfig, F as FarmPlugin } from '../client-plugins.d-Bx3FXpqm.mjs';
1
+ import { P as PluginAPIDispatch } from '../runtime.d-BNVbojF1.mjs';
2
+ export { A as API_ROUTE_METHODS, g as getAllowedAPIRouteMethods, i as invokeAPIRouteEndpoint, a as isWebResponse, n as normalizeRouteResponse, r as resolveAPIRouteEndpoint } from '../runtime.d-BNVbojF1.mjs';
3
+ import { f as FarmRouteRuntimeConfig, F as FarmPlugin } from '../client-plugins.d-CgQQ-EAv.mjs';
4
4
  import { ViteDevServer } from 'vite';
5
5
  import '../types.d-C41ePjvP.mjs';
6
6
  import { F as FarmI18nRuntime } from '../runtime.d-3iJAKptR.mjs';
@@ -33,7 +33,7 @@ import '../layers.d-CcS42OGR.mjs';
33
33
  import 'rolldown/utils';
34
34
  import 'rolldown';
35
35
  import '../image-config.d-CeDgNyX4.mjs';
36
- import '../config.d-iRPI16ku.mjs';
36
+ import '../config.d-DqZkLwef.mjs';
37
37
  import '../types.d-DQnyD3VD.mjs';
38
38
  import '../font.mjs';
39
39
  import '../resolver.d-JnZKKsc5.mjs';
@@ -1,6 +1,6 @@
1
- import { P as PluginAPIDispatch } from '../runtime.d-D-td-RR3.js';
2
- export { A as API_ROUTE_METHODS, g as getAllowedAPIRouteMethods, i as invokeAPIRouteEndpoint, a as isWebResponse, n as normalizeRouteResponse, r as resolveAPIRouteEndpoint } from '../runtime.d-D-td-RR3.js';
3
- import { f as FarmRouteRuntimeConfig, F as FarmPlugin } from '../client-plugins.d-TiLbS5j4.js';
1
+ import { P as PluginAPIDispatch } from '../runtime.d-Bm_4hP5T.js';
2
+ export { A as API_ROUTE_METHODS, g as getAllowedAPIRouteMethods, i as invokeAPIRouteEndpoint, a as isWebResponse, n as normalizeRouteResponse, r as resolveAPIRouteEndpoint } from '../runtime.d-Bm_4hP5T.js';
3
+ import { f as FarmRouteRuntimeConfig, F as FarmPlugin } from '../client-plugins.d-vXrbcfJ1.js';
4
4
  import { ViteDevServer } from 'vite';
5
5
  import '../types.d-C41ePjvP.js';
6
6
  import { F as FarmI18nRuntime } from '../runtime.d-BtL3PCL3.js';
@@ -33,7 +33,7 @@ import '../layers.d-CcS42OGR.js';
33
33
  import 'rolldown/utils';
34
34
  import 'rolldown';
35
35
  import '../image-config.d-CeDgNyX4.js';
36
- import '../config.d-iRPI16ku.js';
36
+ import '../config.d-DqZkLwef.js';
37
37
  import '../types.d-DQnyD3VD.js';
38
38
  import '../font.js';
39
39
  import '../resolver.d-BHyZgpa7.js';
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  APIRouteConflictError,
3
3
  APIRouteManager
4
- } from "../chunk-KY32FWK7.mjs";
4
+ } from "../chunk-BHJAYPYU.mjs";
5
5
  import "../chunk-FSXSQQTV.mjs";
6
6
  import "../chunk-YX6AFPXC.mjs";
7
7
  import "../chunk-CV6MFQ4Y.mjs";
@@ -14,11 +14,11 @@ import {
14
14
  isWebResponse,
15
15
  normalizeRouteResponse,
16
16
  resolveAPIRouteEndpoint
17
- } from "../chunk-LJDIFIJ2.mjs";
17
+ } from "../chunk-RPUJHJHE.mjs";
18
18
  import "../chunk-R62SF5R4.mjs";
19
19
  import "../chunk-GWXZS7K5.mjs";
20
20
  import "../chunk-D7Y63SOY.mjs";
21
- import "../chunk-KJMWAUKE.mjs";
21
+ import "../chunk-C7GJDVN4.mjs";
22
22
  import "../chunk-6YFC3ZFX.mjs";
23
23
  import "../chunk-EVMXPJCB.mjs";
24
24
  import "../chunk-RLEALQEN.mjs";
@@ -27,17 +27,17 @@ import "../chunk-QSTRBKHZ.mjs";
27
27
  import "../chunk-VHIXGZYH.mjs";
28
28
  import "../chunk-TUOO6IK3.mjs";
29
29
  import "../chunk-MU5V7XHL.mjs";
30
- import "../chunk-Y3N5BFRJ.mjs";
30
+ import "../chunk-JSDV2NUN.mjs";
31
31
  import "../chunk-H3ASZDT7.mjs";
32
32
  import "../chunk-2DA7CLY7.mjs";
33
+ import "../chunk-2I6PUKWJ.mjs";
33
34
  import "../chunk-GFT5AHAT.mjs";
34
35
  import "../chunk-D2LCAV6L.mjs";
35
- import "../chunk-LM2YOGDK.mjs";
36
36
  import "../chunk-YT3SLLZK.mjs";
37
37
  import {
38
38
  matchAPIRoute
39
39
  } from "../chunk-GUZC226X.mjs";
40
- import "../chunk-BLD5GVCG.mjs";
40
+ import "../chunk-W6QLRQ3V.mjs";
41
41
  import "../chunk-K76CBYQM.mjs";
42
42
  import "../chunk-AY2YD5ZX.mjs";
43
43
  import "../chunk-M25IONJP.mjs";