@farm.js/core 0.1.61 → 0.1.63

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 (1294) hide show
  1. package/dist/after.cjs +3 -3
  2. package/dist/after.d.mts +25 -0
  3. package/dist/after.d.ts +25 -0
  4. package/dist/after.mjs +2 -2
  5. package/dist/agent-mcp-handler-7QMX2LUY.mjs +18 -0
  6. package/dist/agent-mcp-handler-OV4WRFBL.cjs +18 -0
  7. package/dist/agent-mcp.d-CCQ-wKwg.d.mts +115 -0
  8. package/dist/agent-mcp.d-DOJCBSh9.d.ts +115 -0
  9. package/dist/agent-runtime.cjs +36 -59
  10. package/dist/agent-runtime.d.mts +105 -0
  11. package/dist/agent-runtime.d.ts +105 -0
  12. package/dist/agent-runtime.mjs +35 -58
  13. package/dist/analyzer-KEA5JVDR.cjs +15 -0
  14. package/dist/analyzer-WNPQPWFR.mjs +15 -0
  15. package/dist/api/client.cjs +16 -15
  16. package/dist/api/client.d.mts +5 -0
  17. package/dist/api/client.d.ts +5 -0
  18. package/dist/api/client.mjs +14 -13
  19. package/dist/api/client.native.cjs +45 -0
  20. package/dist/api/client.native.d.mts +23 -0
  21. package/dist/api/client.native.d.ts +23 -0
  22. package/dist/api/client.native.mjs +45 -0
  23. package/dist/api/route-manager.cjs +41 -39
  24. package/dist/api/route-manager.d.mts +119 -0
  25. package/dist/api/route-manager.d.ts +119 -0
  26. package/dist/api/route-manager.mjs +40 -38
  27. package/dist/api/runtime.cjs +24 -22
  28. package/dist/api/runtime.d.mts +35 -0
  29. package/dist/api/runtime.d.ts +35 -0
  30. package/dist/api/runtime.mjs +24 -22
  31. package/dist/api-client.d-BNLXNCXJ.d.mts +622 -0
  32. package/dist/api-client.d-ddQBNGtu.d.ts +622 -0
  33. package/dist/api.cjs +52 -50
  34. package/dist/api.d.mts +103 -0
  35. package/dist/api.d.ts +103 -0
  36. package/dist/api.mjs +51 -49
  37. package/dist/app-manifest.d-BaA0omsv.d.mts +128 -0
  38. package/dist/app-manifest.d-poayV4lq.d.ts +128 -0
  39. package/dist/app-markdown.cjs +15 -15
  40. package/dist/app-markdown.d.mts +48 -0
  41. package/dist/app-markdown.d.ts +48 -0
  42. package/dist/app-markdown.mjs +14 -14
  43. package/dist/app.d-D4Dn03E3.d.ts +563 -0
  44. package/dist/app.d-DdWxeIGU.d.mts +563 -0
  45. package/dist/base-path.d-BOUV5ozD.d.mts +10 -0
  46. package/dist/base-path.d-BOUV5ozD.d.ts +10 -0
  47. package/dist/cache.cjs +10 -7
  48. package/dist/cache.d.mts +333 -0
  49. package/dist/cache.d.ts +333 -0
  50. package/dist/cache.mjs +9 -6
  51. package/dist/chunk-22W4FNTG.mjs +538 -0
  52. package/dist/chunk-23LVFSID.mjs +182 -0
  53. package/dist/chunk-25T5VXOE.mjs +1093 -0
  54. package/dist/chunk-2DA7CLY7.mjs +560 -0
  55. package/dist/chunk-2DLGV2ZG.mjs +71 -0
  56. package/dist/chunk-2HW5LWAH.cjs +19 -0
  57. package/dist/chunk-2I6PUKWJ.mjs +44 -0
  58. package/dist/chunk-2KMIJDY6.cjs +20 -0
  59. package/dist/chunk-2NGZFOKG.mjs +190 -0
  60. package/dist/chunk-2OF5RPVU.cjs +44 -0
  61. package/dist/chunk-2XGBJSDV.cjs +408 -0
  62. package/dist/chunk-3BIASUGR.cjs +59 -0
  63. package/dist/chunk-3CCAICF7.cjs +651 -0
  64. package/dist/chunk-3EEET2Q5.cjs +1044 -0
  65. package/dist/chunk-3EIPOTZV.cjs +272 -0
  66. package/dist/chunk-3HLQTOVU.cjs +6 -0
  67. package/dist/chunk-3OJNNCDL.cjs +2250 -0
  68. package/dist/chunk-3TXKFRSO.mjs +657 -0
  69. package/dist/chunk-3UZVPO72.mjs +387 -0
  70. package/dist/chunk-43V3ANPQ.mjs +251 -0
  71. package/dist/chunk-46P5KNTE.mjs +8 -0
  72. package/dist/chunk-47JV57DA.cjs +69 -0
  73. package/dist/chunk-4BS3HSY7.cjs +541 -0
  74. package/dist/chunk-4DCWVSL2.cjs +15 -0
  75. package/dist/chunk-4DIKLG56.mjs +141 -0
  76. package/dist/chunk-4EBC7EMW.cjs +8 -0
  77. package/dist/chunk-4IHMHFQB.cjs +458 -0
  78. package/dist/chunk-4MU4QCX4.mjs +158 -0
  79. package/dist/chunk-4P5634G6.cjs +386 -0
  80. package/dist/chunk-4ZJ5C7UJ.cjs +75 -0
  81. package/dist/chunk-52Y3C3HG.mjs +421 -0
  82. package/dist/chunk-53EHWHT2.cjs +166 -0
  83. package/dist/chunk-53ZCZ46B.cjs +137 -0
  84. package/dist/chunk-55U5QIXQ.mjs +35 -0
  85. package/dist/chunk-5A77OEIG.cjs +778 -0
  86. package/dist/chunk-5C7XMKQ4.cjs +410 -0
  87. package/dist/chunk-5DX3O6TT.cjs +266 -0
  88. package/dist/chunk-5FE5YT2N.mjs +458 -0
  89. package/dist/chunk-5IKQ7BIR.cjs +716 -0
  90. package/dist/chunk-5IQ2ERQA.cjs +657 -0
  91. package/dist/chunk-5J45H65F.mjs +48 -0
  92. package/dist/chunk-5L7I6AMY.cjs +433 -0
  93. package/dist/chunk-5OJVKXFV.cjs +2072 -0
  94. package/dist/chunk-5PZJ63PK.mjs +17 -0
  95. package/dist/chunk-5Y22WNTO.mjs +237 -0
  96. package/dist/chunk-5Y2P454O.cjs +421 -0
  97. package/dist/chunk-5Y4GYKKH.mjs +13 -0
  98. package/dist/chunk-5YPBFMBN.cjs +19 -0
  99. package/dist/chunk-65Y5SIBH.cjs +112 -0
  100. package/dist/chunk-6BJJYOFL.cjs +293 -0
  101. package/dist/chunk-6BLAY2VQ.mjs +45 -0
  102. package/dist/chunk-6CTFVBAT.cjs +29 -0
  103. package/dist/chunk-6FXBJPF5.cjs +35 -0
  104. package/dist/chunk-6HRAK7I5.mjs +215 -0
  105. package/dist/chunk-6IOZPJ3I.cjs +549 -0
  106. package/dist/chunk-6JHZPB52.cjs +538 -0
  107. package/dist/chunk-6XQSPIN6.cjs +155 -0
  108. package/dist/chunk-6YFC3ZFX.mjs +449 -0
  109. package/dist/chunk-6ZFRWRHO.mjs +54 -0
  110. package/dist/chunk-724WT3NI.mjs +83 -0
  111. package/dist/chunk-72KABRWN.mjs +2072 -0
  112. package/dist/chunk-72KCTHLV.cjs +723 -0
  113. package/dist/chunk-752XUZIM.cjs +229 -0
  114. package/dist/chunk-75XSZIRE.mjs +180 -0
  115. package/dist/chunk-7EPYN7GW.cjs +30 -0
  116. package/dist/chunk-7FFW7DC4.mjs +517 -0
  117. package/dist/chunk-7H45IJWO.mjs +2250 -0
  118. package/dist/chunk-7H4SVNC4.cjs +700 -0
  119. package/dist/chunk-7JUIK547.cjs +62 -0
  120. package/dist/chunk-7KJJ4SBS.cjs +13 -0
  121. package/dist/chunk-7PTISZSQ.cjs +176 -0
  122. package/dist/chunk-7PZVXMWG.mjs +113 -0
  123. package/dist/chunk-7S7AAK2D.mjs +82 -0
  124. package/dist/chunk-A25FXJ7D.cjs +38 -0
  125. package/dist/chunk-A2MN5PQJ.mjs +527 -0
  126. package/dist/chunk-A4PWGL46.mjs +141 -0
  127. package/dist/chunk-ALEUMLJN.mjs +190 -0
  128. package/dist/chunk-ANXU3D32.cjs +1232 -0
  129. package/dist/chunk-AOKXITZ6.cjs +16 -0
  130. package/dist/chunk-AQLHD6HZ.cjs +196 -0
  131. package/dist/chunk-ATYTLVSI.cjs +45 -0
  132. package/dist/chunk-AXVRUDMB.cjs +203 -0
  133. package/dist/chunk-AY2YD5ZX.mjs +34 -0
  134. package/dist/chunk-AYP2YFVN.mjs +168 -0
  135. package/dist/chunk-AZQXXXDX.mjs +80 -0
  136. package/dist/chunk-B4CWYGCG.mjs +541 -0
  137. package/dist/chunk-BA2IA32Q.mjs +1291 -0
  138. package/dist/chunk-BBPDJGCU.cjs +157 -0
  139. package/dist/chunk-BM2LH2JM.mjs +1040 -0
  140. package/dist/chunk-BMQAPZXD.mjs +31 -0
  141. package/dist/chunk-BNH53KOT.cjs +69 -0
  142. package/dist/chunk-BPAXGCKX.mjs +166 -0
  143. package/dist/chunk-BPNOYILC.cjs +450 -0
  144. package/dist/chunk-BQWBHWEW.mjs +252 -0
  145. package/dist/chunk-BRWIVOV4.cjs +48 -0
  146. package/dist/chunk-BRYPZIMB.mjs +6 -0
  147. package/dist/chunk-BT4SEFLC.cjs +660 -0
  148. package/dist/chunk-BTVDYS4B.cjs +70 -0
  149. package/dist/chunk-BTZ5O6VM.cjs +14 -0
  150. package/dist/chunk-BUC3FDYC.cjs +158 -0
  151. package/dist/chunk-C64XOPBZ.mjs +380 -0
  152. package/dist/chunk-C7GJDVN4.mjs +124 -0
  153. package/dist/chunk-C7LCTVJ2.cjs +30 -0
  154. package/dist/chunk-CA7DNRHO.cjs +164 -0
  155. package/dist/chunk-CBDRR3J3.mjs +6680 -0
  156. package/dist/chunk-CBOEJ5Z4.cjs +1093 -0
  157. package/dist/chunk-CFG4QERR.cjs +434 -0
  158. package/dist/chunk-CI4UNQHO.cjs +35 -0
  159. package/dist/chunk-CKPTIEDX.cjs +12 -0
  160. package/dist/chunk-CL2ONP73.cjs +180 -0
  161. package/dist/chunk-CLFEQGET.cjs +60 -0
  162. package/dist/chunk-CNNBFGL5.cjs +252 -0
  163. package/dist/chunk-CO6UYM2D.mjs +172 -0
  164. package/dist/chunk-CQL5ZGFU.cjs +50 -0
  165. package/dist/chunk-CROAFCMW.mjs +203 -0
  166. package/dist/chunk-CU5SYTJG.mjs +23 -0
  167. package/dist/chunk-CV6MFQ4Y.mjs +259 -0
  168. package/dist/chunk-D22BUQKW.cjs +82 -0
  169. package/dist/chunk-D2LCAV6L.mjs +79 -0
  170. package/dist/chunk-D4MRNBVF.cjs +1462 -0
  171. package/dist/chunk-D4XGKF67.cjs +127 -0
  172. package/dist/chunk-D7Y63SOY.mjs +15 -0
  173. package/dist/chunk-DMAP4RND.cjs +998 -0
  174. package/dist/chunk-DPE53XWL.mjs +1980 -0
  175. package/dist/chunk-DQF3QLOH.mjs +660 -0
  176. package/dist/chunk-DQJ2CIH7.cjs +87 -0
  177. package/dist/chunk-DU4VHHPJ.mjs +157 -0
  178. package/dist/chunk-DUIP64BF.cjs +16 -0
  179. package/dist/chunk-DV52ZS53.cjs +40 -0
  180. package/dist/chunk-DXUXQP2T.cjs +142 -0
  181. package/dist/chunk-DZPR2W6U.cjs +593 -0
  182. package/dist/chunk-DZZHTMWM.cjs +190 -0
  183. package/dist/chunk-E46NXBNJ.mjs +386 -0
  184. package/dist/chunk-E4RDMG3K.mjs +697 -0
  185. package/dist/chunk-E552H232.cjs +154 -0
  186. package/dist/chunk-E72UD6ME.mjs +277 -0
  187. package/dist/chunk-E7QOEV5Z.cjs +449 -0
  188. package/dist/chunk-ECKQFEX2.mjs +712 -0
  189. package/dist/chunk-EDPENAVO.mjs +266 -0
  190. package/dist/chunk-EENTT56C.mjs +12733 -0
  191. package/dist/chunk-EFLNOZGH.mjs +30 -0
  192. package/dist/chunk-EFZGB7JC.cjs +114 -0
  193. package/dist/chunk-EGHPFXPZ.cjs +590 -0
  194. package/dist/chunk-EJCVG25Z.mjs +49 -0
  195. package/dist/chunk-EMDGXYUD.mjs +75 -0
  196. package/dist/chunk-EOXPRC2C.cjs +48 -0
  197. package/dist/chunk-ERMUL73L.cjs +39 -0
  198. package/dist/chunk-ES2LD2YD.mjs +203 -0
  199. package/dist/chunk-EV4SBMPX.mjs +208 -0
  200. package/dist/chunk-EVIWKPJV.cjs +560 -0
  201. package/dist/chunk-EVMXPJCB.mjs +133 -0
  202. package/dist/chunk-EX6ZSN5P.cjs +224 -0
  203. package/dist/chunk-EYLC6GD6.cjs +517 -0
  204. package/dist/chunk-EZ34EHQP.mjs +462 -0
  205. package/dist/chunk-EZTKXD6P.cjs +182 -0
  206. package/dist/chunk-F3N52U7S.mjs +138 -0
  207. package/dist/chunk-FBEBSAVI.cjs +225 -0
  208. package/dist/chunk-FEFCISOX.cjs +102 -0
  209. package/dist/chunk-FHURJABM.mjs +45 -0
  210. package/dist/chunk-FN5UEC7I.mjs +55 -0
  211. package/dist/chunk-FNHN3RBD.cjs +9 -0
  212. package/dist/chunk-FSXSQQTV.mjs +79 -0
  213. package/dist/chunk-GBMWLDCC.cjs +138 -0
  214. package/dist/chunk-GHNW564E.mjs +1044 -0
  215. package/dist/chunk-GL3ZDHKI.mjs +274 -0
  216. package/dist/chunk-GLOICKDO.mjs +142 -0
  217. package/dist/chunk-GNZIAJGB.mjs +358 -0
  218. package/dist/chunk-GPKBUME5.mjs +716 -0
  219. package/dist/chunk-GSVJ3IIF.cjs +173 -0
  220. package/dist/chunk-GUZC226X.mjs +164 -0
  221. package/dist/chunk-GVOMPU3Y.cjs +537 -0
  222. package/dist/chunk-GWXZS7K5.mjs +24 -0
  223. package/dist/chunk-GYMGK467.mjs +214 -0
  224. package/dist/chunk-H227LYHT.mjs +88 -0
  225. package/dist/chunk-H3ASZDT7.mjs +42 -0
  226. package/dist/chunk-H4WUWLQR.mjs +16 -0
  227. package/dist/chunk-HA7YRO53.cjs +214 -0
  228. package/dist/chunk-HEPJIKKQ.cjs +190 -0
  229. package/dist/chunk-HLYRXN2I.cjs +242 -0
  230. package/dist/chunk-HNAISJFD.cjs +215 -0
  231. package/dist/chunk-HPP2II4Z.mjs +332 -0
  232. package/dist/chunk-HXNLKCWH.cjs +13 -0
  233. package/dist/chunk-HZOMT5DY.mjs +30 -0
  234. package/dist/chunk-I2BYNELA.cjs +380 -0
  235. package/dist/chunk-I32V5CZL.cjs +1965 -0
  236. package/dist/chunk-IAPTECEB.mjs +48 -0
  237. package/dist/chunk-IFTGERT3.mjs +408 -0
  238. package/dist/chunk-IGL6CO6M.mjs +9 -0
  239. package/dist/chunk-IOF4KXMP.mjs +537 -0
  240. package/dist/chunk-ITV4QQL2.cjs +93 -0
  241. package/dist/chunk-IWRLV46X.cjs +1980 -0
  242. package/dist/chunk-IYEY3JWJ.mjs +186 -0
  243. package/dist/chunk-J3GFOQOL.cjs +237 -0
  244. package/dist/chunk-JCEFKP5M.mjs +1473 -0
  245. package/dist/chunk-JGAE5XPL.cjs +26 -0
  246. package/dist/chunk-JIBEFLQ7.cjs +44 -0
  247. package/dist/chunk-JLDNXURZ.cjs +588 -0
  248. package/dist/chunk-JMYXO572.cjs +531 -0
  249. package/dist/chunk-JNYFXL7X.mjs +62 -0
  250. package/dist/chunk-JRHGJVJH.mjs +44 -0
  251. package/dist/chunk-JSDV2NUN.mjs +206 -0
  252. package/dist/chunk-JXIYH2NO.cjs +24 -0
  253. package/dist/chunk-JYNNIGQO.cjs +87 -0
  254. package/dist/chunk-JYT7AN37.cjs +79 -0
  255. package/dist/chunk-K3RU5MOR.mjs +80 -0
  256. package/dist/chunk-K5EW7GUU.mjs +417 -0
  257. package/dist/chunk-K76CBYQM.mjs +157 -0
  258. package/dist/chunk-KBGZ5FD6.cjs +17 -0
  259. package/dist/chunk-KORZ6PRE.cjs +64 -0
  260. package/dist/chunk-KPAJWD3N.mjs +168 -0
  261. package/dist/chunk-KQH2COEJ.mjs +42 -0
  262. package/dist/chunk-KVW2M6PI.mjs +341 -0
  263. package/dist/chunk-L2JG337G.cjs +712 -0
  264. package/dist/chunk-L4RTTTVE.mjs +8 -0
  265. package/dist/chunk-L5JDKFMQ.cjs +44 -0
  266. package/dist/chunk-LA45FN37.mjs +10009 -0
  267. package/dist/chunk-LA6O5EL2.mjs +254 -0
  268. package/dist/chunk-LEJDW34D.cjs +115 -0
  269. package/dist/chunk-LFFSDZ4Y.cjs +141 -0
  270. package/dist/chunk-LLZSYFOM.mjs +6 -0
  271. package/dist/chunk-LM55GS4R.mjs +38 -0
  272. package/dist/chunk-LNVGXUL3.cjs +172 -0
  273. package/dist/chunk-LQNW3ABP.cjs +527 -0
  274. package/dist/chunk-LRB5OVRT.cjs +124 -0
  275. package/dist/chunk-LSHX2H5G.cjs +57 -0
  276. package/dist/chunk-LT4VAF5Z.cjs +1359 -0
  277. package/dist/chunk-LWWDTBGL.cjs +254 -0
  278. package/dist/chunk-M25IONJP.mjs +16 -0
  279. package/dist/chunk-M53MIIXY.mjs +172 -0
  280. package/dist/chunk-MEQN6DDA.cjs +341 -0
  281. package/dist/chunk-MF3IA2AW.cjs +25 -0
  282. package/dist/chunk-MFQGU5CC.mjs +127 -0
  283. package/dist/chunk-MGKW5XZE.cjs +40 -0
  284. package/dist/chunk-MHLNWRCJ.cjs +36 -0
  285. package/dist/chunk-MK5E44WP.mjs +60 -0
  286. package/dist/chunk-MMK4MZUN.mjs +36 -0
  287. package/dist/chunk-MNIR7I7B.mjs +217 -0
  288. package/dist/chunk-MPU5DOXX.cjs +21 -0
  289. package/dist/chunk-MU5V7XHL.mjs +172 -0
  290. package/dist/chunk-N33DLJBC.mjs +272 -0
  291. package/dist/chunk-N35YPV4N.mjs +48 -0
  292. package/dist/chunk-N4AQNEXR.cjs +17 -0
  293. package/dist/chunk-N7XWC6BN.mjs +21 -0
  294. package/dist/chunk-NBIVGHAT.mjs +50 -0
  295. package/dist/chunk-NCIAP562.mjs +27 -0
  296. package/dist/chunk-NK2VWS7P.cjs +954 -0
  297. package/dist/chunk-NKRZLQUK.mjs +150 -0
  298. package/dist/chunk-NR63PD3P.mjs +64 -0
  299. package/dist/chunk-NRNAHZ57.mjs +39 -0
  300. package/dist/chunk-NWUHS6GV.cjs +79 -0
  301. package/dist/chunk-O27PLNQZ.cjs +878 -0
  302. package/dist/chunk-O4F3JUST.mjs +176 -0
  303. package/dist/chunk-O5FCWI6O.mjs +156 -0
  304. package/dist/chunk-OAJOQU5J.mjs +225 -0
  305. package/dist/chunk-OCS3PSYR.cjs +51 -0
  306. package/dist/chunk-OHWM2VI4.mjs +29 -0
  307. package/dist/chunk-OJO2GOM3.mjs +69 -0
  308. package/dist/chunk-OLGQZRW6.mjs +700 -0
  309. package/dist/chunk-OM7WILES.mjs +100 -0
  310. package/dist/chunk-ONG4RDW3.mjs +155 -0
  311. package/dist/chunk-OOJBBHYW.cjs +38 -0
  312. package/dist/chunk-OOZEU5KK.cjs +18 -0
  313. package/dist/chunk-OWQV6MLM.cjs +82 -0
  314. package/dist/chunk-OY5XDG24.cjs +113 -0
  315. package/dist/chunk-OYZXVBZP.cjs +133 -0
  316. package/dist/chunk-OZC2JPW6.cjs +10 -0
  317. package/dist/chunk-P2355C6E.cjs +186 -0
  318. package/dist/chunk-PAKCHVUS.mjs +450 -0
  319. package/dist/chunk-PCXIJKPM.mjs +878 -0
  320. package/dist/chunk-PENBZAHJ.cjs +88 -0
  321. package/dist/chunk-PIUTGRDI.cjs +358 -0
  322. package/dist/chunk-PMJSG4JS.cjs +152 -0
  323. package/dist/chunk-PO5MXV5X.cjs +13 -0
  324. package/dist/chunk-PRFNLQSP.cjs +277 -0
  325. package/dist/chunk-PSUYE5HR.mjs +25 -0
  326. package/dist/chunk-PTLXHRJZ.mjs +57 -0
  327. package/dist/chunk-PVJX4UPA.cjs +6680 -0
  328. package/dist/chunk-PZXYAWYG.cjs +274 -0
  329. package/dist/chunk-Q5B4LNON.mjs +19 -0
  330. package/dist/chunk-QAS7KE7J.cjs +169 -0
  331. package/dist/chunk-QDWMCFTH.mjs +434 -0
  332. package/dist/chunk-QGJ4FI2G.mjs +723 -0
  333. package/dist/chunk-QGOZLGVP.mjs +0 -0
  334. package/dist/chunk-QISW423S.cjs +335 -0
  335. package/dist/chunk-QMDU6QHN.mjs +778 -0
  336. package/dist/chunk-QMNWKQL4.cjs +206 -0
  337. package/dist/chunk-QN5WRQSQ.cjs +10012 -0
  338. package/dist/chunk-QOSDWGKT.mjs +109 -0
  339. package/dist/chunk-QPJ4MZTO.mjs +60 -0
  340. package/dist/chunk-QPNVDSFZ.mjs +18 -0
  341. package/dist/chunk-QQ44FYRO.cjs +27 -0
  342. package/dist/chunk-QSTRBKHZ.mjs +102 -0
  343. package/dist/chunk-QTD6EMN2.mjs +368 -0
  344. package/dist/chunk-R53QDV6T.cjs +100 -0
  345. package/dist/chunk-R5U7OIPI.cjs +34 -0
  346. package/dist/chunk-R62SF5R4.mjs +410 -0
  347. package/dist/chunk-RD623KW4.cjs +203 -0
  348. package/dist/chunk-RFKTJTWZ.mjs +26 -0
  349. package/dist/chunk-RFYL5OLP.mjs +9 -0
  350. package/dist/chunk-RI3EVPKD.cjs +57 -0
  351. package/dist/chunk-RLEALQEN.mjs +998 -0
  352. package/dist/chunk-RSEAX5MW.mjs +44 -0
  353. package/dist/chunk-RVGLYMJM.cjs +259 -0
  354. package/dist/chunk-S2NUYHRY.mjs +1232 -0
  355. package/dist/chunk-S32PDOLO.mjs +13 -0
  356. package/dist/chunk-S6O2L47H.mjs +549 -0
  357. package/dist/chunk-SA7MLSP4.mjs +229 -0
  358. package/dist/chunk-SBDWCDS6.cjs +8 -0
  359. package/dist/chunk-SF3JB56B.mjs +82 -0
  360. package/dist/chunk-SHD265HW.cjs +19 -0
  361. package/dist/chunk-SHIWRBFI.cjs +17 -0
  362. package/dist/chunk-SM2SYWAR.cjs +49 -0
  363. package/dist/chunk-SMUW7UST.mjs +196 -0
  364. package/dist/chunk-SNP33A33.cjs +9 -0
  365. package/dist/chunk-SQ5O7I3L.mjs +70 -0
  366. package/dist/chunk-STF6VDYQ.cjs +23 -0
  367. package/dist/chunk-SUCDVKUB.cjs +42 -0
  368. package/dist/chunk-SVCUSOEF.mjs +590 -0
  369. package/dist/chunk-SVXOCTQ2.cjs +251 -0
  370. package/dist/chunk-SXCL2MIN.cjs +208 -0
  371. package/dist/chunk-SYW346ZN.cjs +71 -0
  372. package/dist/chunk-SYXPWJ7N.cjs +387 -0
  373. package/dist/chunk-T4TBK5NY.mjs +593 -0
  374. package/dist/chunk-TGSEVBPO.mjs +93 -0
  375. package/dist/chunk-TGULJSHD.mjs +1965 -0
  376. package/dist/chunk-TJVUTGED.mjs +531 -0
  377. package/dist/chunk-TUOO6IK3.mjs +87 -0
  378. package/dist/chunk-TUPKMMXT.mjs +173 -0
  379. package/dist/chunk-TVCFY3KK.cjs +217 -0
  380. package/dist/chunk-TZVUF5JJ.mjs +651 -0
  381. package/dist/chunk-U6WCUVSV.cjs +1294 -0
  382. package/dist/chunk-UAQD67HM.mjs +154 -0
  383. package/dist/chunk-UB7RVEMX.mjs +73 -0
  384. package/dist/chunk-UIJOLBUL.mjs +19 -0
  385. package/dist/chunk-UNJZGVPU.cjs +6 -0
  386. package/dist/chunk-UPYIFH2H.cjs +168 -0
  387. package/dist/chunk-UR25Z5Z6.mjs +135 -0
  388. package/dist/chunk-UUMKLGUU.mjs +69 -0
  389. package/dist/chunk-UYRI6U3P.mjs +137 -0
  390. package/dist/chunk-UYTAP4FQ.cjs +60 -0
  391. package/dist/chunk-UZCMMJJT.cjs +80 -0
  392. package/dist/chunk-UZZ6IEQP.mjs +169 -0
  393. package/dist/chunk-V3UOEWCB.cjs +46 -0
  394. package/dist/chunk-V56632LA.cjs +141 -0
  395. package/dist/chunk-V727H3RI.cjs +1473 -0
  396. package/dist/chunk-VE3FWJBO.mjs +46 -0
  397. package/dist/chunk-VFXE6NWR.mjs +87 -0
  398. package/dist/chunk-VHIXGZYH.mjs +9 -0
  399. package/dist/chunk-VISQDC6W.mjs +10 -0
  400. package/dist/chunk-VIXTAVEA.mjs +59 -0
  401. package/dist/chunk-VM57CK74.cjs +42 -0
  402. package/dist/chunk-VOQ7XZZT.cjs +157 -0
  403. package/dist/chunk-VQJHT2ND.mjs +40 -0
  404. package/dist/chunk-VR6QLTTX.mjs +59 -0
  405. package/dist/chunk-VVTJTMGQ.cjs +135 -0
  406. package/dist/chunk-VXCFJWK5.cjs +59 -0
  407. package/dist/chunk-W2ZXMMHA.mjs +1462 -0
  408. package/dist/chunk-W6QLRQ3V.mjs +152 -0
  409. package/dist/chunk-WCLLPR6H.mjs +35 -0
  410. package/dist/chunk-WEGAVN37.cjs +45 -0
  411. package/dist/chunk-WFVSAT7Y.cjs +83 -0
  412. package/dist/chunk-WKPBIT5Q.cjs +150 -0
  413. package/dist/chunk-WNDAISB7.mjs +51 -0
  414. package/dist/chunk-WNLPQW7W.mjs +19 -0
  415. package/dist/chunk-WT6RAN2I.cjs +41 -0
  416. package/dist/chunk-WXFY5JIY.mjs +20 -0
  417. package/dist/chunk-WYAXRIYP.cjs +697 -0
  418. package/dist/chunk-WYL4ODZ4.mjs +38 -0
  419. package/dist/chunk-X333W5KV.cjs +31 -0
  420. package/dist/chunk-X3EFRVXY.mjs +12 -0
  421. package/dist/chunk-X3XUZWRB.mjs +141 -0
  422. package/dist/chunk-X4K7TYN6.cjs +1040 -0
  423. package/dist/chunk-XCXHQBMM.mjs +115 -0
  424. package/dist/chunk-XGJVRPYL.cjs +141 -0
  425. package/dist/chunk-XICXQXYE.mjs +433 -0
  426. package/dist/chunk-XMHERKSE.mjs +224 -0
  427. package/dist/chunk-XPIPMWY3.cjs +1 -0
  428. package/dist/chunk-XQ4DPO4G.mjs +13 -0
  429. package/dist/chunk-XQSYOVCW.cjs +417 -0
  430. package/dist/chunk-XR2ZIBQK.mjs +57 -0
  431. package/dist/chunk-XURDCXNH.cjs +48 -0
  432. package/dist/chunk-XVSBALOY.cjs +55 -0
  433. package/dist/chunk-Y2YBNQ3D.cjs +156 -0
  434. package/dist/chunk-Y3WG64CP.cjs +9 -0
  435. package/dist/chunk-Y6FXYEAI.mjs +10 -0
  436. package/dist/chunk-Y7NN63LS.mjs +40 -0
  437. package/dist/chunk-YDXLC4DW.cjs +54 -0
  438. package/dist/chunk-YIHRZBD7.cjs +172 -0
  439. package/dist/chunk-YKHRCY4T.cjs +73 -0
  440. package/dist/chunk-YN6BHOYY.cjs +368 -0
  441. package/dist/chunk-YP7YO3S3.mjs +17 -0
  442. package/dist/chunk-YSXTNSXS.mjs +1359 -0
  443. package/dist/chunk-YT3SLLZK.mjs +242 -0
  444. package/dist/chunk-YTVSWXEZ.cjs +168 -0
  445. package/dist/chunk-YWPNIYUP.mjs +41 -0
  446. package/dist/chunk-YX6AFPXC.mjs +8 -0
  447. package/dist/chunk-Z64V4WZI.mjs +17 -0
  448. package/dist/chunk-Z74NNER4.cjs +12736 -0
  449. package/dist/chunk-Z7P2BTZ3.cjs +454 -0
  450. package/dist/chunk-ZDAEHG2O.cjs +80 -0
  451. package/dist/chunk-ZFWYCVKS.mjs +454 -0
  452. package/dist/chunk-ZNH6NR3H.cjs +462 -0
  453. package/dist/chunk-ZNXTU4YH.mjs +114 -0
  454. package/dist/chunk-ZOYKJBP5.cjs +172 -0
  455. package/dist/chunk-ZQ5BDNKW.mjs +954 -0
  456. package/dist/chunk-ZXK2EYQW.cjs +8 -0
  457. package/dist/chunk-ZZ2QKCKW.mjs +293 -0
  458. package/dist/chunk-ZZI56IUY.mjs +588 -0
  459. package/dist/chunk-recovery.d-lnQFzcQP.d.mts +26 -0
  460. package/dist/chunk-recovery.d-lnQFzcQP.d.ts +26 -0
  461. package/dist/client/lifecycle.cjs +3 -3
  462. package/dist/client/lifecycle.d.mts +1 -0
  463. package/dist/client/lifecycle.d.ts +1 -0
  464. package/dist/client/lifecycle.mjs +2 -2
  465. package/dist/client-cache.d-Deoqq-nM.d.ts +76 -0
  466. package/dist/client-cache.d-di_Nasxa.d.mts +76 -0
  467. package/dist/client-component.d-CQLvqLAJ.d.ts +218 -0
  468. package/dist/client-component.d-CSEFlHfG.d.mts +218 -0
  469. package/dist/client-plugins.cjs +3 -3
  470. package/dist/client-plugins.d-BTF0gZm4.d.mts +4018 -0
  471. package/dist/client-plugins.d-BgPUYPc9.d.ts +4018 -0
  472. package/dist/client-plugins.d.mts +33 -0
  473. package/dist/client-plugins.d.ts +33 -0
  474. package/dist/client-plugins.mjs +2 -2
  475. package/dist/client.cjs +45 -40
  476. package/dist/client.d.mts +452 -0
  477. package/dist/client.d.ts +452 -0
  478. package/dist/client.mjs +44 -39
  479. package/dist/client.react-server.mjs +2 -0
  480. package/dist/config.cjs +3 -3
  481. package/dist/config.d-qt-mE8O5.d.mts +341 -0
  482. package/dist/config.d-qt-mE8O5.d.ts +341 -0
  483. package/dist/config.d.mts +40 -0
  484. package/dist/config.d.ts +40 -0
  485. package/dist/config.mjs +2 -2
  486. package/dist/cron.cjs +19 -9
  487. package/dist/cron.d.mts +186 -0
  488. package/dist/cron.d.ts +186 -0
  489. package/dist/cron.mjs +18 -8
  490. package/dist/deferred.cjs +3 -3
  491. package/dist/deferred.d.mts +44 -0
  492. package/dist/deferred.d.ts +44 -0
  493. package/dist/deferred.mjs +2 -2
  494. package/dist/deployment.cjs +3 -3
  495. package/dist/deployment.d.mts +36 -0
  496. package/dist/deployment.d.ts +36 -0
  497. package/dist/deployment.mjs +2 -2
  498. package/dist/desktop.cjs +13 -0
  499. package/dist/desktop.d.mts +120 -0
  500. package/dist/desktop.d.ts +120 -0
  501. package/dist/desktop.mjs +13 -0
  502. package/dist/dev-guard-2UW2KERP.cjs +59 -0
  503. package/dist/dev-guard-ONNMVQUN.mjs +59 -0
  504. package/dist/devtools-HDKTYIZF.mjs +463 -0
  505. package/dist/devtools-ZHN5JLVI.cjs +463 -0
  506. package/dist/devtools-client-SU4XH46J.mjs +250 -0
  507. package/dist/devtools-client-X5OQCXDF.cjs +250 -0
  508. package/dist/devtools-ui-CYBVFLPH.mjs +1265 -0
  509. package/dist/devtools-ui-SYRUXUA7.cjs +1265 -0
  510. package/dist/docs.cjs +66 -58
  511. package/dist/docs.d.mts +169 -0
  512. package/dist/docs.d.ts +169 -0
  513. package/dist/docs.mjs +65 -57
  514. package/dist/endpoint.d-BgHn0lhl.d.ts +370 -0
  515. package/dist/endpoint.d-BkMSCRf6.d.mts +370 -0
  516. package/dist/env-types.cjs +4 -4
  517. package/dist/env-types.d.mts +12 -0
  518. package/dist/env-types.d.ts +12 -0
  519. package/dist/env-types.mjs +3 -3
  520. package/dist/env.cjs +4 -4
  521. package/dist/env.d.mts +65 -0
  522. package/dist/env.d.ts +65 -0
  523. package/dist/env.mjs +3 -3
  524. package/dist/environment/vite.cjs +7 -3
  525. package/dist/environment/vite.d.mts +31 -0
  526. package/dist/environment/vite.d.ts +31 -0
  527. package/dist/environment/vite.mjs +6 -2
  528. package/dist/environment.cjs +3 -3
  529. package/dist/environment.d.mts +18 -0
  530. package/dist/environment.d.ts +18 -0
  531. package/dist/environment.mjs +2 -2
  532. package/dist/font.cjs +3 -3
  533. package/dist/font.d.mts +95 -0
  534. package/dist/font.d.ts +95 -0
  535. package/dist/font.mjs +2 -2
  536. package/dist/generate-route-types.d-BL2pq6xC.d.ts +33 -0
  537. package/dist/generate-route-types.d-BoVDU8qX.d.mts +33 -0
  538. package/dist/headers.cjs +8 -6
  539. package/dist/headers.d.mts +32 -0
  540. package/dist/headers.d.ts +32 -0
  541. package/dist/headers.mjs +7 -5
  542. package/dist/i18n/client.cjs +19 -30
  543. package/dist/i18n/client.d.mts +32 -0
  544. package/dist/i18n/client.d.ts +32 -0
  545. package/dist/i18n/client.mjs +9 -20
  546. package/dist/i18n/index.cjs +6 -6
  547. package/dist/i18n/index.d.mts +3 -0
  548. package/dist/i18n/index.d.ts +3 -0
  549. package/dist/i18n/index.mjs +5 -5
  550. package/dist/i18n/server.cjs +10 -10
  551. package/dist/i18n/server.d.mts +30 -0
  552. package/dist/i18n/server.d.ts +30 -0
  553. package/dist/i18n/server.mjs +9 -9
  554. package/dist/image/server.cjs +9 -5
  555. package/dist/image/server.d.mts +59 -0
  556. package/dist/image/server.d.ts +59 -0
  557. package/dist/image/server.mjs +8 -4
  558. package/dist/image/sharp.cjs +16 -20
  559. package/dist/image/sharp.d.mts +20 -0
  560. package/dist/image/sharp.d.ts +20 -0
  561. package/dist/image/sharp.mjs +8 -12
  562. package/dist/image-config.d-CeDgNyX4.d.mts +53 -0
  563. package/dist/image-config.d-CeDgNyX4.d.ts +53 -0
  564. package/dist/image.cjs +9 -18
  565. package/dist/image.d.mts +39 -0
  566. package/dist/image.d.ts +39 -0
  567. package/dist/image.mjs +4 -13
  568. package/dist/index.cjs +250 -174
  569. package/dist/index.d-BNNDpql4.d.ts +20 -0
  570. package/dist/index.d-BqcfqJvt.d.mts +20 -0
  571. package/dist/index.d-Coow7bD4.d.ts +54 -0
  572. package/dist/index.d-Dbjx0ku7.d.mts +54 -0
  573. package/dist/index.d.mts +1053 -0
  574. package/dist/index.d.ts +1053 -0
  575. package/dist/index.mjs +318 -242
  576. package/dist/instrumentation-runtime.d-CX9Zh-16.d.mts +22 -0
  577. package/dist/instrumentation-runtime.d-CX9Zh-16.d.ts +22 -0
  578. package/dist/instrumentation.cjs +5 -5
  579. package/dist/instrumentation.d.mts +7 -0
  580. package/dist/instrumentation.d.ts +7 -0
  581. package/dist/instrumentation.mjs +4 -4
  582. package/dist/integration-orm-52GPGTHO.cjs +14 -0
  583. package/dist/integration-orm-CO23MSFE.mjs +14 -0
  584. package/dist/integrations.cjs +23 -17
  585. package/dist/integrations.d.mts +33 -0
  586. package/dist/integrations.d.ts +33 -0
  587. package/dist/integrations.mjs +24 -18
  588. package/dist/internal/app-markdown-runtime.cjs +13 -13
  589. package/dist/internal/app-markdown-runtime.d.mts +86 -0
  590. package/dist/internal/app-markdown-runtime.d.ts +86 -0
  591. package/dist/internal/app-markdown-runtime.mjs +12 -12
  592. package/dist/internal/build-runtime.cjs +166 -133
  593. package/dist/internal/build-runtime.d.mts +46 -0
  594. package/dist/internal/build-runtime.d.ts +46 -0
  595. package/dist/internal/build-runtime.mjs +154 -121
  596. package/dist/internal/cli-runtime.cjs +102 -79
  597. package/dist/internal/cli-runtime.mjs +102 -79
  598. package/dist/internal/client-error-overlay.cjs +18 -49
  599. package/dist/internal/client-error-overlay.d.mts +25 -0
  600. package/dist/internal/client-error-overlay.d.ts +25 -0
  601. package/dist/internal/client-error-overlay.mjs +14 -45
  602. package/dist/internal/client-runtime.cjs +73 -59
  603. package/dist/internal/client-runtime.d.mts +93 -0
  604. package/dist/internal/client-runtime.d.ts +93 -0
  605. package/dist/internal/client-runtime.mjs +66 -52
  606. package/dist/internal/compression-runtime.cjs +4 -4
  607. package/dist/internal/compression-runtime.d.mts +48 -0
  608. package/dist/internal/compression-runtime.d.ts +48 -0
  609. package/dist/internal/compression-runtime.mjs +3 -3
  610. package/dist/internal/config-runtime.cjs +94 -65
  611. package/dist/internal/config-runtime.d.mts +336 -0
  612. package/dist/internal/config-runtime.d.ts +336 -0
  613. package/dist/internal/config-runtime.mjs +80 -51
  614. package/dist/internal/desktop-guard.cjs +17 -0
  615. package/dist/internal/desktop-guard.d.mts +52 -0
  616. package/dist/internal/desktop-guard.d.ts +52 -0
  617. package/dist/internal/desktop-guard.mjs +17 -0
  618. package/dist/internal/docs-precompiled-runtime.cjs +18 -24
  619. package/dist/internal/docs-precompiled-runtime.d.mts +43 -0
  620. package/dist/internal/docs-precompiled-runtime.d.ts +43 -0
  621. package/dist/internal/docs-precompiled-runtime.mjs +14 -20
  622. package/dist/internal/form-actions-client.cjs +14 -0
  623. package/dist/internal/form-actions-client.d.mts +5 -0
  624. package/dist/internal/form-actions-client.d.ts +5 -0
  625. package/dist/internal/form-actions-client.mjs +14 -0
  626. package/dist/internal/form-actions.cjs +19 -0
  627. package/dist/internal/form-actions.d.mts +14 -0
  628. package/dist/internal/form-actions.d.ts +14 -0
  629. package/dist/internal/form-actions.mjs +19 -0
  630. package/dist/internal/infra-analytics-runtime.cjs +24 -8
  631. package/dist/internal/infra-analytics-runtime.d.mts +16 -0
  632. package/dist/internal/infra-analytics-runtime.d.ts +16 -0
  633. package/dist/internal/infra-analytics-runtime.mjs +22 -6
  634. package/dist/internal/island-codec.cjs +22 -0
  635. package/dist/internal/island-codec.d.mts +29 -0
  636. package/dist/internal/island-codec.d.ts +29 -0
  637. package/dist/internal/island-codec.mjs +22 -0
  638. package/dist/internal/island-value-store.cjs +10 -0
  639. package/dist/internal/island-value-store.d.mts +6 -0
  640. package/dist/internal/island-value-store.d.ts +6 -0
  641. package/dist/internal/island-value-store.mjs +10 -0
  642. package/dist/internal/islands-boot.cjs +211 -0
  643. package/dist/internal/islands-boot.d.mts +8 -0
  644. package/dist/internal/islands-boot.d.ts +8 -0
  645. package/dist/internal/islands-boot.mjs +211 -0
  646. package/dist/internal/islands-runtime.cjs +161 -0
  647. package/dist/internal/islands-runtime.d.mts +66 -0
  648. package/dist/internal/islands-runtime.d.ts +66 -0
  649. package/dist/internal/islands-runtime.mjs +161 -0
  650. package/dist/internal/islands-server.cjs +16 -0
  651. package/dist/internal/islands-server.d.mts +3 -0
  652. package/dist/internal/islands-server.d.ts +3 -0
  653. package/dist/internal/islands-server.mjs +16 -0
  654. package/dist/internal/islx-client.cjs +5 -0
  655. package/dist/internal/islx-client.d.mts +6 -0
  656. package/dist/internal/islx-client.d.ts +6 -0
  657. package/dist/internal/islx-client.mjs +3 -0
  658. package/dist/internal/islx-react.cjs +4 -0
  659. package/dist/internal/islx-react.d.mts +1 -0
  660. package/dist/internal/islx-react.d.ts +1 -0
  661. package/dist/internal/islx-react.mjs +2 -0
  662. package/dist/internal/islx-server.cjs +5 -0
  663. package/dist/internal/islx-server.d.mts +2 -0
  664. package/dist/internal/islx-server.d.ts +2 -0
  665. package/dist/internal/islx-server.mjs +3 -0
  666. package/dist/internal/isolated-boundary.cjs +5 -4
  667. package/dist/internal/isolated-boundary.d.mts +66 -0
  668. package/dist/internal/isolated-boundary.d.ts +66 -0
  669. package/dist/internal/isolated-boundary.mjs +4 -3
  670. package/dist/internal/metadata-image-runtime.cjs +8 -7
  671. package/dist/internal/metadata-image-runtime.d.mts +30 -0
  672. package/dist/internal/metadata-image-runtime.d.ts +30 -0
  673. package/dist/internal/metadata-image-runtime.mjs +7 -6
  674. package/dist/internal/native-server-fns.cjs +25 -0
  675. package/dist/internal/native-server-fns.d.mts +42 -0
  676. package/dist/internal/native-server-fns.d.ts +42 -0
  677. package/dist/internal/native-server-fns.mjs +25 -0
  678. package/dist/internal/product-telemetry-runtime.cjs +22 -228
  679. package/dist/internal/product-telemetry-runtime.d.mts +45 -0
  680. package/dist/internal/product-telemetry-runtime.d.ts +45 -0
  681. package/dist/internal/product-telemetry-runtime.mjs +11 -217
  682. package/dist/internal/production-node-env.cjs +7 -3
  683. package/dist/internal/production-node-env.d.mts +21 -0
  684. package/dist/internal/production-node-env.d.ts +21 -0
  685. package/dist/internal/production-node-env.mjs +6 -2
  686. package/dist/internal/production-runtime.cjs +179 -90
  687. package/dist/internal/production-runtime.d.mts +566 -0
  688. package/dist/internal/production-runtime.d.ts +566 -0
  689. package/dist/internal/production-runtime.mjs +203 -114
  690. package/dist/internal/react-cache.cjs +71 -0
  691. package/dist/internal/react-cache.d.mts +10 -0
  692. package/dist/internal/react-cache.d.ts +10 -0
  693. package/dist/internal/react-cache.mjs +71 -0
  694. package/dist/internal/request-cookies.cjs +3 -3
  695. package/dist/internal/request-cookies.d.mts +16 -0
  696. package/dist/internal/request-cookies.d.ts +16 -0
  697. package/dist/internal/request-cookies.mjs +2 -2
  698. package/dist/internal/server-fn-transform.cjs +13 -0
  699. package/dist/internal/server-fn-transform.d.mts +24 -0
  700. package/dist/internal/server-fn-transform.d.ts +24 -0
  701. package/dist/internal/server-fn-transform.mjs +13 -0
  702. package/dist/internal/server-tree.cjs +7 -4
  703. package/dist/internal/server-tree.d.mts +50 -0
  704. package/dist/internal/server-tree.d.ts +50 -0
  705. package/dist/internal/server-tree.mjs +8 -5
  706. package/dist/island-value-protocol.d-BRayRghM.d.mts +12 -0
  707. package/dist/island-value-protocol.d-BRayRghM.d.ts +12 -0
  708. package/dist/island.d-CfGru1MO.d.mts +9 -0
  709. package/dist/island.d-CfGru1MO.d.ts +9 -0
  710. package/dist/json-ld.cjs +3 -16
  711. package/dist/json-ld.d.mts +94 -0
  712. package/dist/json-ld.d.ts +94 -0
  713. package/dist/json-ld.mjs +3 -16
  714. package/dist/layers-DMRXRL7F.cjs +18 -0
  715. package/dist/layers-T55SA47E.mjs +18 -0
  716. package/dist/layers.d-CcS42OGR.d.mts +55 -0
  717. package/dist/layers.d-CcS42OGR.d.ts +55 -0
  718. package/dist/lifecycle.d-C2aLBOwu.d.mts +176 -0
  719. package/dist/lifecycle.d-C2aLBOwu.d.ts +176 -0
  720. package/dist/manager-2LUKNX2N.cjs +14 -0
  721. package/dist/manager-H5ZM3HAM.mjs +14 -0
  722. package/dist/markdown.cjs +19 -12
  723. package/dist/markdown.d.mts +33 -0
  724. package/dist/markdown.d.ts +33 -0
  725. package/dist/markdown.mjs +18 -11
  726. package/dist/middleware.cjs +34 -26
  727. package/dist/middleware.d.mts +225 -0
  728. package/dist/middleware.d.ts +225 -0
  729. package/dist/middleware.mjs +38 -30
  730. package/dist/mobile.cjs +9 -0
  731. package/dist/mobile.d.mts +138 -0
  732. package/dist/mobile.d.ts +138 -0
  733. package/dist/mobile.mjs +9 -0
  734. package/dist/modules-KOKD4XS6.mjs +13 -0
  735. package/dist/modules-QTP7WJPD.cjs +13 -0
  736. package/dist/native-server-fn-handler-GLRHAYWV.mjs +28 -0
  737. package/dist/native-server-fn-handler-J5MYRXN6.cjs +28 -0
  738. package/dist/native-specs-5OLED4MM.cjs +15 -0
  739. package/dist/native-specs-LDV6IZ4N.mjs +15 -0
  740. package/dist/native-tree-AS5L3ID3.mjs +27 -0
  741. package/dist/native-tree-Z2WYUJEV.cjs +27 -0
  742. package/dist/native.cjs +87 -0
  743. package/dist/native.d.mts +72 -0
  744. package/dist/native.d.ts +72 -0
  745. package/dist/native.mjs +87 -0
  746. package/dist/navigation-delegate.d-Ca_BV0Wu.d.mts +29 -0
  747. package/dist/navigation-delegate.d-aHiPI6GL.d.ts +29 -0
  748. package/dist/navigation.cjs +22 -21
  749. package/dist/navigation.d.mts +51 -0
  750. package/dist/navigation.d.ts +51 -0
  751. package/dist/navigation.mjs +21 -20
  752. package/dist/nitro-DD4QCA66.mjs +650 -0
  753. package/dist/nitro-VRDX2H4M.cjs +650 -0
  754. package/dist/node-module-bundle-7JHPPF6B.mjs +11 -0
  755. package/dist/node-module-bundle-YJGYBOGK.cjs +11 -0
  756. package/dist/observability.cjs +3 -3
  757. package/dist/observability.d-B2363jB6.d.mts +448 -0
  758. package/dist/observability.d-B2363jB6.d.ts +448 -0
  759. package/dist/observability.d.mts +2 -0
  760. package/dist/observability.d.ts +2 -0
  761. package/dist/observability.mjs +2 -2
  762. package/dist/og.cjs +1 -1
  763. package/dist/og.d.mts +1 -0
  764. package/dist/og.d.ts +1 -0
  765. package/dist/og.mjs +1 -1
  766. package/dist/params.d-BALtrRim.d.ts +15 -0
  767. package/dist/params.d-ry-lxqmy.d.mts +15 -0
  768. package/dist/platform.cjs +29 -0
  769. package/dist/platform.d.mts +24 -0
  770. package/dist/platform.d.ts +24 -0
  771. package/dist/platform.mjs +29 -0
  772. package/dist/plugin-53SY5YBS.mjs +32 -0
  773. package/dist/plugin-HZIBL3DW.cjs +32 -0
  774. package/dist/plugin.cjs +154 -124
  775. package/dist/plugin.d.mts +58 -0
  776. package/dist/plugin.d.ts +58 -0
  777. package/dist/plugin.mjs +137 -107
  778. package/dist/port-UFUZL6RI.mjs +419 -0
  779. package/dist/port-VTLHPZOI.cjs +419 -0
  780. package/dist/production-runtime.d-C0rF7a10.d.ts +123 -0
  781. package/dist/production-runtime.d-CnAsSWgF.d.mts +123 -0
  782. package/dist/production-vite.d-BQFAlG7n.d.mts +13 -0
  783. package/dist/production-vite.d-BQFAlG7n.d.ts +13 -0
  784. package/dist/query/client.cjs +59 -69
  785. package/dist/query/client.d.mts +61 -0
  786. package/dist/query/client.d.ts +61 -0
  787. package/dist/query/client.mjs +51 -61
  788. package/dist/query/index.cjs +4 -4
  789. package/dist/query/index.d.mts +90 -0
  790. package/dist/query/index.d.ts +90 -0
  791. package/dist/query/index.mjs +3 -3
  792. package/dist/query/parsers.cjs +3 -3
  793. package/dist/query/parsers.d.mts +29 -0
  794. package/dist/query/parsers.d.ts +29 -0
  795. package/dist/query/parsers.mjs +2 -2
  796. package/dist/query/server.cjs +5 -11
  797. package/dist/query/server.d.mts +55 -0
  798. package/dist/query/server.d.ts +55 -0
  799. package/dist/query/server.mjs +3 -9
  800. package/dist/render-plan.d-BxeITFT1.d.ts +25 -0
  801. package/dist/render-plan.d-Z-93m5GZ.d.mts +25 -0
  802. package/dist/renderer/react/client.cjs +1 -1
  803. package/dist/renderer/react/client.d.mts +3 -0
  804. package/dist/renderer/react/client.d.ts +3 -0
  805. package/dist/renderer/react/client.mjs +1 -1
  806. package/dist/renderer/react/server.cjs +10 -14
  807. package/dist/renderer/react/server.d.mts +48 -0
  808. package/dist/renderer/react/server.d.ts +48 -0
  809. package/dist/renderer/react/server.mjs +12 -16
  810. package/dist/renderer/react/vite.cjs +1 -4
  811. package/dist/renderer/react/vite.d.mts +4 -0
  812. package/dist/renderer/react/vite.d.ts +4 -0
  813. package/dist/renderer/react/vite.mjs +1 -4
  814. package/dist/renderer-client.cjs +71 -77
  815. package/dist/renderer-client.d.mts +126 -0
  816. package/dist/renderer-client.d.ts +126 -0
  817. package/dist/renderer-client.mjs +51 -57
  818. package/dist/renderer.cjs +3 -3
  819. package/dist/renderer.d.mts +260 -0
  820. package/dist/renderer.d.ts +260 -0
  821. package/dist/renderer.mjs +2 -2
  822. package/dist/request.cjs +4 -4
  823. package/dist/request.d-8_fMFNEb.d.mts +24 -0
  824. package/dist/request.d-X7Q1vmGF.d.ts +24 -0
  825. package/dist/request.d.mts +34 -0
  826. package/dist/request.d.ts +34 -0
  827. package/dist/request.mjs +3 -3
  828. package/dist/resolver.d-BHyZgpa7.d.ts +14 -0
  829. package/dist/resolver.d-JnZKKsc5.d.mts +14 -0
  830. package/dist/response.d-BolW0Vx_.d.mts +10 -0
  831. package/dist/response.d-BolW0Vx_.d.ts +10 -0
  832. package/dist/route-pattern.d-CVsVbq5n.d.mts +13 -0
  833. package/dist/route-pattern.d-CVsVbq5n.d.ts +13 -0
  834. package/dist/route-rendering.d-BInmBmul.d.mts +44 -0
  835. package/dist/route-rendering.d-BUr3Jp8S.d.ts +44 -0
  836. package/dist/route.d-BaVH3V0w.d.mts +224 -0
  837. package/dist/route.d-DBTEqifW.d.ts +224 -0
  838. package/dist/router.cjs +5 -5
  839. package/dist/router.d-CZQmbpHx.d.mts +50 -0
  840. package/dist/router.d-crorSRiW.d.ts +50 -0
  841. package/dist/router.d.mts +36 -0
  842. package/dist/router.d.ts +36 -0
  843. package/dist/router.mjs +4 -4
  844. package/dist/routes.cjs +14 -12
  845. package/dist/routes.d-BknKQcTu.d.ts +237 -0
  846. package/dist/routes.d-D1IrO9KK.d.mts +237 -0
  847. package/dist/routes.d.mts +273 -0
  848. package/dist/routes.d.ts +273 -0
  849. package/dist/routes.mjs +13 -11
  850. package/dist/rsc-pipeline-3MPRULGA.mjs +83 -0
  851. package/dist/rsc-pipeline-RHEZNBFQ.cjs +83 -0
  852. package/dist/runtime-OZKFZQCU.cjs +1336 -0
  853. package/dist/runtime-X5UR7VHP.mjs +1336 -0
  854. package/dist/runtime.d-3iJAKptR.d.mts +28 -0
  855. package/dist/runtime.d-BtL3PCL3.d.ts +28 -0
  856. package/dist/runtime.d-CCsjTZJW.d.ts +69 -0
  857. package/dist/runtime.d-CETtpLb-.d.mts +69 -0
  858. package/dist/schema-dev-notice-JMXEQWIQ.mjs +54 -0
  859. package/dist/schema-dev-notice-PLBFDTOF.cjs +54 -0
  860. package/dist/schema.cjs +3 -3
  861. package/dist/schema.d.mts +115 -0
  862. package/dist/schema.d.ts +115 -0
  863. package/dist/schema.mjs +2 -2
  864. package/dist/search-client-OXH6GBNO.mjs +15 -0
  865. package/dist/search-client-ZZLKVO5R.cjs +15 -0
  866. package/dist/server-action-security.cjs +8 -7
  867. package/dist/server-action-security.d.mts +45 -0
  868. package/dist/server-action-security.d.ts +45 -0
  869. package/dist/server-action-security.mjs +7 -6
  870. package/dist/server-client-bridge.d-DKWDl5NB.d.mts +7 -0
  871. package/dist/server-client-bridge.d-DKWDl5NB.d.ts +7 -0
  872. package/dist/server-fn-client.cjs +4 -4
  873. package/dist/server-fn-client.d.mts +60 -0
  874. package/dist/server-fn-client.d.ts +60 -0
  875. package/dist/server-fn-client.mjs +3 -3
  876. package/dist/server-fn-error.d-DrcH9cc1.d.mts +26 -0
  877. package/dist/server-fn-error.d-DrcH9cc1.d.ts +26 -0
  878. package/dist/server-fn.cjs +15 -14
  879. package/dist/server-fn.d.mts +192 -0
  880. package/dist/server-fn.d.ts +192 -0
  881. package/dist/server-fn.mjs +14 -13
  882. package/dist/server-plugins.cjs +15 -15
  883. package/dist/server-plugins.d.mts +65 -0
  884. package/dist/server-plugins.d.ts +65 -0
  885. package/dist/server-plugins.mjs +14 -14
  886. package/dist/server-query-client.cjs +9 -8
  887. package/dist/server-query-client.d.mts +26 -0
  888. package/dist/server-query-client.d.ts +26 -0
  889. package/dist/server-query-client.mjs +8 -7
  890. package/dist/server-query-runtime.d-DXRNhX_3.d.ts +36 -0
  891. package/dist/server-query-runtime.d-aP52iuL5.d.mts +36 -0
  892. package/dist/server-query.cjs +17 -16
  893. package/dist/server-query.d.mts +46 -0
  894. package/dist/server-query.d.ts +46 -0
  895. package/dist/server-query.mjs +16 -15
  896. package/dist/server.cjs +266 -199
  897. package/dist/server.d.mts +78 -0
  898. package/dist/server.d.ts +78 -0
  899. package/dist/server.mjs +239 -172
  900. package/dist/session-2Q72D4QV.cjs +23 -0
  901. package/dist/session-QZXZOPR2.mjs +23 -0
  902. package/dist/shell-render.d-CG6bPiiA.d.mts +41 -0
  903. package/dist/shell-render.d-CG6bPiiA.d.ts +41 -0
  904. package/dist/spa-router.d-CCADbSqJ.d.ts +248 -0
  905. package/dist/spa-router.d-CtSHzXlC.d.mts +248 -0
  906. package/dist/storage.cjs +7 -3
  907. package/dist/storage.d.mts +60 -0
  908. package/dist/storage.d.ts +60 -0
  909. package/dist/storage.mjs +6 -2
  910. package/dist/testing.cjs +59 -76
  911. package/dist/testing.d.mts +110 -0
  912. package/dist/testing.d.ts +110 -0
  913. package/dist/testing.mjs +49 -66
  914. package/dist/theme/client.cjs +5 -5
  915. package/dist/theme/client.d.mts +10 -0
  916. package/dist/theme/client.d.ts +10 -0
  917. package/dist/theme/client.mjs +4 -4
  918. package/dist/theme/index.cjs +3 -3
  919. package/dist/theme/index.d.mts +6 -0
  920. package/dist/theme/index.d.ts +6 -0
  921. package/dist/theme/index.mjs +2 -2
  922. package/dist/theme/runtime.cjs +3 -3
  923. package/dist/theme/runtime.d.mts +13 -0
  924. package/dist/theme/runtime.d.ts +13 -0
  925. package/dist/theme/runtime.mjs +2 -2
  926. package/dist/theme/server.cjs +8 -8
  927. package/dist/theme/server.d.mts +8 -0
  928. package/dist/theme/server.d.ts +8 -0
  929. package/dist/theme/server.mjs +7 -7
  930. package/dist/types.d-BnIqOn9w.d.mts +73 -0
  931. package/dist/types.d-BnIqOn9w.d.ts +73 -0
  932. package/dist/types.d-C41ePjvP.d.mts +85 -0
  933. package/dist/types.d-C41ePjvP.d.ts +85 -0
  934. package/dist/types.d-DQnyD3VD.d.mts +30 -0
  935. package/dist/types.d-DQnyD3VD.d.ts +30 -0
  936. package/dist/utils.d-CjyE-npA.d.ts +54 -0
  937. package/dist/utils.d-zFPHKFFJ.d.mts +54 -0
  938. package/dist/version.cjs +3 -3
  939. package/dist/version.d.mts +3 -0
  940. package/dist/version.d.ts +3 -0
  941. package/dist/version.mjs +2 -2
  942. package/dist/vite.cjs +172 -120
  943. package/dist/vite.d.mts +186 -0
  944. package/dist/vite.d.ts +186 -0
  945. package/dist/vite.mjs +159 -107
  946. package/dist/workflows.cjs +14 -13
  947. package/dist/workflows.d-CRMzQZ3k.d.mts +188 -0
  948. package/dist/workflows.d-CRMzQZ3k.d.ts +188 -0
  949. package/dist/workflows.d.mts +1 -0
  950. package/dist/workflows.d.ts +1 -0
  951. package/dist/workflows.mjs +13 -12
  952. package/package.json +7 -2
  953. package/dist/agent-mcp-handler-LPJ2CADR.mjs +0 -19
  954. package/dist/agent-mcp-handler-SJAHFSPI.cjs +0 -19
  955. package/dist/chunk-23MGIV4X.mjs +0 -579
  956. package/dist/chunk-27ZWSI3W.cjs +0 -64
  957. package/dist/chunk-2A3EQHXX.mjs +0 -173
  958. package/dist/chunk-2CQ74SP6.cjs +0 -13
  959. package/dist/chunk-2ELDTQRN.mjs +0 -85
  960. package/dist/chunk-2J7W2WND.mjs +0 -149
  961. package/dist/chunk-2NNMOPDN.mjs +0 -237
  962. package/dist/chunk-2PQNJXFM.mjs +0 -20
  963. package/dist/chunk-2SJ4RQ6P.cjs +0 -57
  964. package/dist/chunk-2UC36WAC.mjs +0 -22
  965. package/dist/chunk-2VQKKQ6D.mjs +0 -51
  966. package/dist/chunk-2Y3JRYVG.mjs +0 -71
  967. package/dist/chunk-35GKZR22.mjs +0 -157
  968. package/dist/chunk-3BU22U3M.cjs +0 -237
  969. package/dist/chunk-3KZS4SUS.mjs +0 -414
  970. package/dist/chunk-3SDFA7UF.cjs +0 -701
  971. package/dist/chunk-3TLO7SBY.cjs +0 -240
  972. package/dist/chunk-3UEVPCGW.mjs +0 -435
  973. package/dist/chunk-3WNDJT2E.cjs +0 -109
  974. package/dist/chunk-44SYJEG3.mjs +0 -13
  975. package/dist/chunk-45ZSJLDT.mjs +0 -183
  976. package/dist/chunk-4E5AEDKY.mjs +0 -696
  977. package/dist/chunk-4E5WBPEG.mjs +0 -1157
  978. package/dist/chunk-4GLOOWKE.mjs +0 -1344
  979. package/dist/chunk-4JCQDWPX.mjs +0 -24
  980. package/dist/chunk-4NU4GGTC.cjs +0 -484
  981. package/dist/chunk-4OOBRCJX.mjs +0 -300
  982. package/dist/chunk-4PPEPOZZ.cjs +0 -21
  983. package/dist/chunk-4RB44K6Z.mjs +0 -94
  984. package/dist/chunk-4SIYUGRY.mjs +0 -93
  985. package/dist/chunk-4WQ6PGSJ.cjs +0 -367
  986. package/dist/chunk-4WVJLURN.mjs +0 -417
  987. package/dist/chunk-4ZFL5GFN.cjs +0 -520
  988. package/dist/chunk-54UPOYFS.mjs +0 -35
  989. package/dist/chunk-55YI3RRB.mjs +0 -192
  990. package/dist/chunk-5I3OT426.cjs +0 -11021
  991. package/dist/chunk-5QIKR7RR.cjs +0 -224
  992. package/dist/chunk-5SJWVY6R.mjs +0 -26
  993. package/dist/chunk-5WI2S4CO.mjs +0 -20
  994. package/dist/chunk-63H6BKXG.cjs +0 -389
  995. package/dist/chunk-655RLQQL.mjs +0 -43
  996. package/dist/chunk-6EODJYCX.cjs +0 -183
  997. package/dist/chunk-6EXBPJ24.cjs +0 -434
  998. package/dist/chunk-6MVFL3R5.cjs +0 -506
  999. package/dist/chunk-6NT6S2VQ.mjs +0 -180
  1000. package/dist/chunk-6QQDAAAZ.cjs +0 -38
  1001. package/dist/chunk-6SJ2KJTA.mjs +0 -314
  1002. package/dist/chunk-6SM5XXFS.cjs +0 -70
  1003. package/dist/chunk-6V4TDWEC.cjs +0 -455
  1004. package/dist/chunk-72ADZ6GQ.cjs +0 -19
  1005. package/dist/chunk-72AK62H5.mjs +0 -55
  1006. package/dist/chunk-75RZHGLS.cjs +0 -135
  1007. package/dist/chunk-77GNHH2Z.cjs +0 -236
  1008. package/dist/chunk-7DBXEASO.cjs +0 -40
  1009. package/dist/chunk-7LTCDQRS.mjs +0 -166
  1010. package/dist/chunk-7W3CPVXS.cjs +0 -24
  1011. package/dist/chunk-A6WIQH5Z.cjs +0 -31
  1012. package/dist/chunk-ADEA7PN3.cjs +0 -1101
  1013. package/dist/chunk-AELACLOB.mjs +0 -47
  1014. package/dist/chunk-AHGECQEW.mjs +0 -49
  1015. package/dist/chunk-AI7QMY7O.cjs +0 -41
  1016. package/dist/chunk-AJQTP4OO.mjs +0 -212
  1017. package/dist/chunk-AMDMVWMI.cjs +0 -39
  1018. package/dist/chunk-ARJWXNQL.cjs +0 -256
  1019. package/dist/chunk-BCMSYSN2.mjs +0 -183
  1020. package/dist/chunk-BIDYX3SL.cjs +0 -91
  1021. package/dist/chunk-BJIYRUGQ.mjs +0 -35
  1022. package/dist/chunk-BJPBQNIE.cjs +0 -2355
  1023. package/dist/chunk-BO36SELV.cjs +0 -395
  1024. package/dist/chunk-BOYNDCZL.mjs +0 -54
  1025. package/dist/chunk-BPMATOP2.cjs +0 -687
  1026. package/dist/chunk-BPOF5U4N.mjs +0 -566
  1027. package/dist/chunk-BRYHOB4X.mjs +0 -18
  1028. package/dist/chunk-BSC7JTOK.mjs +0 -70
  1029. package/dist/chunk-BTHHUD7Q.mjs +0 -51
  1030. package/dist/chunk-BUGNQIHC.mjs +0 -449
  1031. package/dist/chunk-C4NCTZLM.mjs +0 -22
  1032. package/dist/chunk-C4SPBWFM.cjs +0 -26
  1033. package/dist/chunk-C5GUTBZK.cjs +0 -173
  1034. package/dist/chunk-CBBLJMR5.mjs +0 -74
  1035. package/dist/chunk-CBJJH36A.cjs +0 -2187
  1036. package/dist/chunk-CGBDNNSM.cjs +0 -664
  1037. package/dist/chunk-CI6E3UOH.cjs +0 -314
  1038. package/dist/chunk-CMGMGHUZ.cjs +0 -27
  1039. package/dist/chunk-CNOQY6Z7.mjs +0 -156
  1040. package/dist/chunk-CQ6OSQ3K.mjs +0 -36
  1041. package/dist/chunk-CU625VAY.mjs +0 -13
  1042. package/dist/chunk-CVOSWIQA.mjs +0 -15300
  1043. package/dist/chunk-CXEN47J3.mjs +0 -550
  1044. package/dist/chunk-CXP5U3RW.cjs +0 -54
  1045. package/dist/chunk-D227TIEN.cjs +0 -1114
  1046. package/dist/chunk-D2BB47NB.cjs +0 -157
  1047. package/dist/chunk-D2ULAULS.cjs +0 -166
  1048. package/dist/chunk-D7JTOLFK.cjs +0 -285
  1049. package/dist/chunk-DAATZTKJ.mjs +0 -220
  1050. package/dist/chunk-DAO7JGTS.mjs +0 -73
  1051. package/dist/chunk-DQQOKWYA.cjs +0 -42
  1052. package/dist/chunk-DTSROJ5J.mjs +0 -367
  1053. package/dist/chunk-DVM4FKZL.cjs +0 -169
  1054. package/dist/chunk-DZ5ZVB2K.cjs +0 -9
  1055. package/dist/chunk-E2ROOWQC.cjs +0 -2225
  1056. package/dist/chunk-E3UK5IIB.cjs +0 -593
  1057. package/dist/chunk-E5GNDG5F.mjs +0 -701
  1058. package/dist/chunk-EA5K5BKU.mjs +0 -455
  1059. package/dist/chunk-ECKF2BAM.cjs +0 -403
  1060. package/dist/chunk-EK4QAEFZ.cjs +0 -550
  1061. package/dist/chunk-EMLAPBEM.mjs +0 -256
  1062. package/dist/chunk-ENLZ4R3Y.mjs +0 -55
  1063. package/dist/chunk-EUV4YR3V.cjs +0 -1362
  1064. package/dist/chunk-EWET4D2Y.mjs +0 -395
  1065. package/dist/chunk-EZDQRNQ7.mjs +0 -1496
  1066. package/dist/chunk-F2SE2VDO.mjs +0 -65
  1067. package/dist/chunk-F3LTXB63.mjs +0 -40
  1068. package/dist/chunk-F3VB7ONA.mjs +0 -338
  1069. package/dist/chunk-F5QO4FNE.mjs +0 -664
  1070. package/dist/chunk-FA2W42OV.mjs +0 -25
  1071. package/dist/chunk-FDR64H6B.mjs +0 -140
  1072. package/dist/chunk-FFFW3OQ7.cjs +0 -65
  1073. package/dist/chunk-FJ3M4CUX.cjs +0 -46
  1074. package/dist/chunk-FK6GO24V.cjs +0 -54
  1075. package/dist/chunk-FNO7A7CM.cjs +0 -1496
  1076. package/dist/chunk-FO427P6I.cjs +0 -392
  1077. package/dist/chunk-FP2INE7H.mjs +0 -113
  1078. package/dist/chunk-FUZEBRP3.mjs +0 -593
  1079. package/dist/chunk-FZ6YYU2W.mjs +0 -65
  1080. package/dist/chunk-G2KY33I6.mjs +0 -202
  1081. package/dist/chunk-G4MWPDSE.mjs +0 -19
  1082. package/dist/chunk-G643DQCH.cjs +0 -13
  1083. package/dist/chunk-G7HXGLEC.cjs +0 -175
  1084. package/dist/chunk-GC3SUL6M.mjs +0 -109
  1085. package/dist/chunk-GCXWJJKH.mjs +0 -169
  1086. package/dist/chunk-GHFS7RUB.mjs +0 -152
  1087. package/dist/chunk-GQ3Z3IZI.cjs +0 -241
  1088. package/dist/chunk-H4AMB6ZE.mjs +0 -421
  1089. package/dist/chunk-H77NVNJ2.mjs +0 -57
  1090. package/dist/chunk-HALDNTIV.mjs +0 -2225
  1091. package/dist/chunk-HITLGIAO.cjs +0 -55
  1092. package/dist/chunk-HLJ6MBUZ.cjs +0 -183
  1093. package/dist/chunk-HOXTWRGB.mjs +0 -484
  1094. package/dist/chunk-HREOKQWT.cjs +0 -45
  1095. package/dist/chunk-I2BHUNBU.mjs +0 -14
  1096. package/dist/chunk-I57LW5VZ.cjs +0 -94
  1097. package/dist/chunk-IE7XCHH3.cjs +0 -85
  1098. package/dist/chunk-IHNIDL6H.cjs +0 -772
  1099. package/dist/chunk-IK6LVLKC.cjs +0 -51
  1100. package/dist/chunk-IOEH4VWN.mjs +0 -202
  1101. package/dist/chunk-IWZKTWHZ.cjs +0 -435
  1102. package/dist/chunk-IZY3V5XW.mjs +0 -23
  1103. package/dist/chunk-J63ZH5OQ.cjs +0 -62
  1104. package/dist/chunk-J7FSKED3.cjs +0 -93
  1105. package/dist/chunk-JBSVKMC5.mjs +0 -28
  1106. package/dist/chunk-JDNHKPTD.cjs +0 -22
  1107. package/dist/chunk-JG6DJF5A.mjs +0 -238
  1108. package/dist/chunk-JGLC4TO3.cjs +0 -192
  1109. package/dist/chunk-JM5XPKWH.mjs +0 -41
  1110. package/dist/chunk-JNUWCDTF.cjs +0 -1344
  1111. package/dist/chunk-JNZ4TDWM.mjs +0 -445
  1112. package/dist/chunk-JPLUGGRV.mjs +0 -230
  1113. package/dist/chunk-JSROZYYO.cjs +0 -164
  1114. package/dist/chunk-KCMTCM6I.cjs +0 -53
  1115. package/dist/chunk-KGB5UXJJ.mjs +0 -27
  1116. package/dist/chunk-KGZIORNL.cjs +0 -43
  1117. package/dist/chunk-KI3MESHB.mjs +0 -224
  1118. package/dist/chunk-KIIMAWOJ.cjs +0 -505
  1119. package/dist/chunk-KMTGADN3.mjs +0 -95
  1120. package/dist/chunk-KN7K4VQN.mjs +0 -236
  1121. package/dist/chunk-KNBBQHO2.cjs +0 -51
  1122. package/dist/chunk-KR6CKSXT.cjs +0 -15
  1123. package/dist/chunk-KXWRO25S.cjs +0 -85
  1124. package/dist/chunk-L3KT7IXV.mjs +0 -91
  1125. package/dist/chunk-LCCBO7PJ.cjs +0 -46
  1126. package/dist/chunk-LIUGYUX3.cjs +0 -22
  1127. package/dist/chunk-LPEX4YW6.mjs +0 -13
  1128. package/dist/chunk-LSKZMJMP.cjs +0 -65
  1129. package/dist/chunk-LSZAVSGY.mjs +0 -1101
  1130. package/dist/chunk-LTNGXMQ6.cjs +0 -55
  1131. package/dist/chunk-LYLEZIG3.cjs +0 -73
  1132. package/dist/chunk-LYV44OIR.mjs +0 -256
  1133. package/dist/chunk-M2L4MYDQ.cjs +0 -14
  1134. package/dist/chunk-M7MKQXAF.cjs +0 -87
  1135. package/dist/chunk-MKYBIIAQ.mjs +0 -2187
  1136. package/dist/chunk-MQ3H6LT5.cjs +0 -202
  1137. package/dist/chunk-MRMI32SN.cjs +0 -1157
  1138. package/dist/chunk-MSSFIQGM.mjs +0 -1002
  1139. package/dist/chunk-MT763TDW.cjs +0 -43
  1140. package/dist/chunk-MVL2RAJW.mjs +0 -62
  1141. package/dist/chunk-MWSK6C4J.cjs +0 -18
  1142. package/dist/chunk-MWWVKDW3.cjs +0 -169
  1143. package/dist/chunk-N2NAS2AM.cjs +0 -725
  1144. package/dist/chunk-N46M65CI.mjs +0 -54
  1145. package/dist/chunk-N4UOK6ZI.cjs +0 -256
  1146. package/dist/chunk-NI2TCCTG.mjs +0 -11020
  1147. package/dist/chunk-NO3WWW3N.cjs +0 -192
  1148. package/dist/chunk-NPC7VWJE.mjs +0 -277
  1149. package/dist/chunk-NRDBW4MP.mjs +0 -45
  1150. package/dist/chunk-NRSN7G7E.mjs +0 -42
  1151. package/dist/chunk-NYJMY3JA.cjs +0 -156
  1152. package/dist/chunk-NZKJGRB3.cjs +0 -230
  1153. package/dist/chunk-O6BCQV2T.mjs +0 -46
  1154. package/dist/chunk-O6I6VWKK.mjs +0 -493
  1155. package/dist/chunk-O6WAEAX3.mjs +0 -2028
  1156. package/dist/chunk-O7BH5O46.mjs +0 -175
  1157. package/dist/chunk-OFZUJMCU.mjs +0 -601
  1158. package/dist/chunk-OHLSEQ57.mjs +0 -910
  1159. package/dist/chunk-OHY2ZWUG.cjs +0 -25
  1160. package/dist/chunk-OI6CMLWX.cjs +0 -47
  1161. package/dist/chunk-ONUEYC6N.mjs +0 -27
  1162. package/dist/chunk-OO7GXVSR.mjs +0 -9
  1163. package/dist/chunk-OT6ZEW74.mjs +0 -139
  1164. package/dist/chunk-OTC5BDGO.mjs +0 -687
  1165. package/dist/chunk-OX6O6WVA.cjs +0 -74
  1166. package/dist/chunk-OYEUREB6.cjs +0 -35
  1167. package/dist/chunk-OZVEHHMA.cjs +0 -194
  1168. package/dist/chunk-P5TJO5IS.mjs +0 -240
  1169. package/dist/chunk-PCOTGFSM.cjs +0 -139
  1170. package/dist/chunk-PNGWZFUQ.mjs +0 -39
  1171. package/dist/chunk-PSV6XKPO.cjs +0 -220
  1172. package/dist/chunk-PTZ2TVNE.cjs +0 -178
  1173. package/dist/chunk-PZNL3WEG.mjs +0 -772
  1174. package/dist/chunk-PZYCPSCC.cjs +0 -35
  1175. package/dist/chunk-Q2KB32T4.mjs +0 -690
  1176. package/dist/chunk-Q5B3KJBP.cjs +0 -152
  1177. package/dist/chunk-QBK2AA4U.cjs +0 -445
  1178. package/dist/chunk-QCFBDFRS.mjs +0 -169
  1179. package/dist/chunk-QCVE2OCI.cjs +0 -169
  1180. package/dist/chunk-QE6VAKLT.mjs +0 -85
  1181. package/dist/chunk-QNPEUFHQ.cjs +0 -27
  1182. package/dist/chunk-QORUJDIV.mjs +0 -46
  1183. package/dist/chunk-QV4VE2OW.mjs +0 -166
  1184. package/dist/chunk-QVKYGNVM.mjs +0 -27
  1185. package/dist/chunk-QVYLBY73.mjs +0 -93
  1186. package/dist/chunk-R3DS7A2T.mjs +0 -21
  1187. package/dist/chunk-R5A5KNVX.cjs +0 -20
  1188. package/dist/chunk-R5JIFR6B.cjs +0 -42
  1189. package/dist/chunk-RHAZ22ZN.mjs +0 -87
  1190. package/dist/chunk-RKPDESVW.cjs +0 -15301
  1191. package/dist/chunk-RSOJ7DRT.mjs +0 -506
  1192. package/dist/chunk-S3A45T7F.cjs +0 -166
  1193. package/dist/chunk-S3FNNQHR.mjs +0 -31
  1194. package/dist/chunk-S3JO3N4H.cjs +0 -17
  1195. package/dist/chunk-S67OYZU7.mjs +0 -711
  1196. package/dist/chunk-S6VYG6XU.cjs +0 -493
  1197. package/dist/chunk-SAXPH6G5.mjs +0 -169
  1198. package/dist/chunk-SC2WYWPF.mjs +0 -241
  1199. package/dist/chunk-SDOTRX3V.cjs +0 -690
  1200. package/dist/chunk-SEJ5N6SL.mjs +0 -38
  1201. package/dist/chunk-SFGWNC43.mjs +0 -97
  1202. package/dist/chunk-SHB3GYXI.mjs +0 -285
  1203. package/dist/chunk-SHLXACIO.cjs +0 -95
  1204. package/dist/chunk-SJNMVDDF.cjs +0 -86
  1205. package/dist/chunk-SK35NQKK.cjs +0 -27
  1206. package/dist/chunk-SKNL7VA2.mjs +0 -42
  1207. package/dist/chunk-SLQCDJSO.mjs +0 -18
  1208. package/dist/chunk-SOR334EB.cjs +0 -149
  1209. package/dist/chunk-SU7MH53P.cjs +0 -180
  1210. package/dist/chunk-SVRTJOUF.cjs +0 -113
  1211. package/dist/chunk-SYQ3MOWW.cjs +0 -73
  1212. package/dist/chunk-T4OGRVNS.mjs +0 -392
  1213. package/dist/chunk-T5OJPTVN.cjs +0 -417
  1214. package/dist/chunk-TE2G5ION.cjs +0 -2028
  1215. package/dist/chunk-TFQG7TBC.mjs +0 -43
  1216. package/dist/chunk-TIWHTW3Q.cjs +0 -24
  1217. package/dist/chunk-TKJZFIML.cjs +0 -20
  1218. package/dist/chunk-TKSCR644.cjs +0 -414
  1219. package/dist/chunk-TVGP4BBZ.mjs +0 -45
  1220. package/dist/chunk-U4KT7QP3.cjs +0 -23
  1221. package/dist/chunk-UDNPLXW7.mjs +0 -86
  1222. package/dist/chunk-UFDAAQFX.cjs +0 -169
  1223. package/dist/chunk-UFDV5N3C.cjs +0 -711
  1224. package/dist/chunk-UH6QN5NL.mjs +0 -178
  1225. package/dist/chunk-UP4CW6WP.mjs +0 -169
  1226. package/dist/chunk-UQZ4AYTH.cjs +0 -168
  1227. package/dist/chunk-US2QVW3E.cjs +0 -36
  1228. package/dist/chunk-UVW64BCB.cjs +0 -910
  1229. package/dist/chunk-UWPLULNK.mjs +0 -520
  1230. package/dist/chunk-UXFQ3UDA.cjs +0 -140
  1231. package/dist/chunk-UYIHRDE4.cjs +0 -97
  1232. package/dist/chunk-V2FTMRS7.mjs +0 -223
  1233. package/dist/chunk-VB6UCX3V.cjs +0 -421
  1234. package/dist/chunk-VEKFLAQM.cjs +0 -300
  1235. package/dist/chunk-VILIPRS6.mjs +0 -725
  1236. package/dist/chunk-VQLJWDVW.cjs +0 -696
  1237. package/dist/chunk-W3B4PKAW.mjs +0 -28
  1238. package/dist/chunk-W4E7WMXE.cjs +0 -71
  1239. package/dist/chunk-W7LF2J2S.mjs +0 -64
  1240. package/dist/chunk-WBKEZXWE.cjs +0 -449
  1241. package/dist/chunk-WC5UV2HQ.cjs +0 -212
  1242. package/dist/chunk-WMAPPDMM.cjs +0 -28
  1243. package/dist/chunk-WMOGFOUJ.cjs +0 -223
  1244. package/dist/chunk-WNSDDRNU.mjs +0 -24
  1245. package/dist/chunk-WWFTAUFG.cjs +0 -45
  1246. package/dist/chunk-WWIKMBRN.mjs +0 -1362
  1247. package/dist/chunk-XCMCS4DA.mjs +0 -1114
  1248. package/dist/chunk-XJJVLDM6.mjs +0 -194
  1249. package/dist/chunk-XJXBIP67.cjs +0 -277
  1250. package/dist/chunk-XNPDONUH.mjs +0 -389
  1251. package/dist/chunk-XSIRSMAS.cjs +0 -339
  1252. package/dist/chunk-XZNTNMHT.mjs +0 -15
  1253. package/dist/chunk-Y5SJM2W7.cjs +0 -579
  1254. package/dist/chunk-YDQZGSDS.mjs +0 -2355
  1255. package/dist/chunk-YFILVET3.mjs +0 -192
  1256. package/dist/chunk-YFPGHF5F.cjs +0 -202
  1257. package/dist/chunk-YHOCRI4H.mjs +0 -434
  1258. package/dist/chunk-YJRZR7VU.cjs +0 -28
  1259. package/dist/chunk-YKX5BK66.cjs +0 -46
  1260. package/dist/chunk-YOZYCI6Z.mjs +0 -73
  1261. package/dist/chunk-YSCV4SJF.cjs +0 -49
  1262. package/dist/chunk-YSLWRWWP.cjs +0 -601
  1263. package/dist/chunk-YWMZUGIS.mjs +0 -403
  1264. package/dist/chunk-YWN746US.cjs +0 -1002
  1265. package/dist/chunk-YX3DBN4M.cjs +0 -18
  1266. package/dist/chunk-Z2HLU4IX.cjs +0 -238
  1267. package/dist/chunk-Z2RZJZIZ.mjs +0 -168
  1268. package/dist/chunk-Z3HATSKO.mjs +0 -46
  1269. package/dist/chunk-ZEG3OPIB.cjs +0 -93
  1270. package/dist/chunk-ZLAT2CWY.mjs +0 -135
  1271. package/dist/chunk-ZMMBIVQM.mjs +0 -505
  1272. package/dist/chunk-ZMSZZXOR.mjs +0 -164
  1273. package/dist/chunk-ZWM5KGAA.cjs +0 -566
  1274. package/dist/chunk-ZZSRYEYU.mjs +0 -53
  1275. package/dist/devtools-ERIKFEXX.mjs +0 -472
  1276. package/dist/devtools-JZJJY5CK.cjs +0 -472
  1277. package/dist/devtools-client-CXQ6PXI6.cjs +0 -254
  1278. package/dist/devtools-client-HJS2T34Y.mjs +0 -254
  1279. package/dist/devtools-ui-5GBDIGMK.cjs +0 -1296
  1280. package/dist/devtools-ui-5KDAVPIF.mjs +0 -1296
  1281. package/dist/integration-orm-55F7CII5.cjs +0 -13
  1282. package/dist/integration-orm-KV5B3BGZ.mjs +0 -13
  1283. package/dist/layers-UTB43B7A.mjs +0 -18
  1284. package/dist/layers-VUWIOFEO.cjs +0 -18
  1285. package/dist/manager-RT733VRK.mjs +0 -14
  1286. package/dist/manager-XZ5TX7AO.cjs +0 -14
  1287. package/dist/nitro-7F65EZZS.cjs +0 -653
  1288. package/dist/nitro-MPZJGPXK.mjs +0 -653
  1289. package/dist/node-module-bundle-L5L7JCZ4.mjs +0 -11
  1290. package/dist/node-module-bundle-VAFZOXMJ.cjs +0 -11
  1291. package/dist/schema-dev-notice-O67CPXJ6.mjs +0 -56
  1292. package/dist/schema-dev-notice-Y7MQEFGN.cjs +0 -56
  1293. package/dist/search-client-G3RICOFU.cjs +0 -13
  1294. package/dist/search-client-KR7YRIVR.mjs +0 -13
@@ -0,0 +1,1291 @@
1
+ import {
2
+ resolveFarmAuthConfig,
3
+ resolveFarmAuthIntegration,
4
+ resolveFarmDevIndicatorsConfig,
5
+ resolveFarmServerComponentsMode,
6
+ setFarmProjectSourceDir
7
+ } from "./chunk-PAKCHVUS.mjs";
8
+ import {
9
+ normalizeRouteRules,
10
+ routeRulesToHeaders,
11
+ routeRulesToRedirects
12
+ } from "./chunk-X3XUZWRB.mjs";
13
+ import {
14
+ assertPluginDependencies
15
+ } from "./chunk-XR2ZIBQK.mjs";
16
+ import {
17
+ resolveFarmDevtoolsConfig
18
+ } from "./chunk-CU5SYTJG.mjs";
19
+ import {
20
+ isReactRenderer,
21
+ resolveFarmRenderer
22
+ } from "./chunk-ES2LD2YD.mjs";
23
+ import {
24
+ resolveFarmAgentCrawlers,
25
+ resolveFarmAgentSitemap,
26
+ resolveFarmNoindexPreviews,
27
+ resolveFarmPerformanceConfig
28
+ } from "./chunk-T4TBK5NY.mjs";
29
+ import {
30
+ farmCspBlocksFrameworkInlineScripts,
31
+ getFarmSecurityHeader,
32
+ resolveFarmSecurityConfig
33
+ } from "./chunk-22W4FNTG.mjs";
34
+ import {
35
+ resolveFarmAppManifestConfig
36
+ } from "./chunk-SQ5O7I3L.mjs";
37
+ import {
38
+ resolveFarmLlmsTxtConfig
39
+ } from "./chunk-KVW2M6PI.mjs";
40
+ import {
41
+ loadFarmConfigFile,
42
+ resolveFarmLayers
43
+ } from "./chunk-52Y3C3HG.mjs";
44
+ import {
45
+ resolveFarmImageConfig
46
+ } from "./chunk-2NGZFOKG.mjs";
47
+ import {
48
+ resolveEnv,
49
+ setEnv
50
+ } from "./chunk-N33DLJBC.mjs";
51
+ import {
52
+ resolveMdxConfig
53
+ } from "./chunk-UIJOLBUL.mjs";
54
+ import {
55
+ resolveMarkdownConfig
56
+ } from "./chunk-YSXTNSXS.mjs";
57
+ import {
58
+ bundleNodeModule
59
+ } from "./chunk-VFXE6NWR.mjs";
60
+ import {
61
+ resolveWorkflowsConfig
62
+ } from "./chunk-TZVUF5JJ.mjs";
63
+ import {
64
+ FARM_CRON_NAME_SEGMENT_PATTERN,
65
+ normalizeCronExpression,
66
+ resolveCronConfig
67
+ } from "./chunk-DQF3QLOH.mjs";
68
+ import {
69
+ resolveServerActionsConfig
70
+ } from "./chunk-E46NXBNJ.mjs";
71
+ import {
72
+ resolveFarmThemeConfig
73
+ } from "./chunk-YWPNIYUP.mjs";
74
+ import {
75
+ resolveIntegrationPlugins
76
+ } from "./chunk-TGULJSHD.mjs";
77
+ import {
78
+ compileMiddlewareConfig
79
+ } from "./chunk-EDPENAVO.mjs";
80
+ import {
81
+ resolveFarmI18nConfig
82
+ } from "./chunk-MU5V7XHL.mjs";
83
+ import {
84
+ logger
85
+ } from "./chunk-JSDV2NUN.mjs";
86
+ import {
87
+ resolveFarmServerConfig
88
+ } from "./chunk-QDWMCFTH.mjs";
89
+ import {
90
+ resolveFarmAPIConfig
91
+ } from "./chunk-W6QLRQ3V.mjs";
92
+ import {
93
+ normalizeFarmDeploymentId
94
+ } from "./chunk-UAQD67HM.mjs";
95
+ import {
96
+ validateConfigRouteSource
97
+ } from "./chunk-ONG4RDW3.mjs";
98
+ import {
99
+ isFarmRedirectStatus
100
+ } from "./chunk-JNYFXL7X.mjs";
101
+ import {
102
+ normalizeFarmConfigBasePath
103
+ } from "./chunk-SF3JB56B.mjs";
104
+
105
+ // src/mcp-config.ts
106
+ import { createRequire } from "module";
107
+ import path from "path";
108
+ import { pathToFileURL } from "url";
109
+ function resolveFarmMCPConfig(input) {
110
+ if (input === false || input === void 0) return { enabled: false };
111
+ if (!input || typeof input !== "object" || Array.isArray(input)) {
112
+ throw new TypeError("mcp must be a configuration object or false.");
113
+ }
114
+ return { ...input, enabled: input.enabled !== false };
115
+ }
116
+ async function resolveFarmMCPPlugin(config, options) {
117
+ if (!config.enabled) return void 0;
118
+ const root = path.resolve(options.root);
119
+ let modulePath;
120
+ try {
121
+ const resolveFromApp = createRequire(path.join(root, "package.json"));
122
+ modulePath = resolveFromApp.resolve("@farm.js/mcp/internal");
123
+ } catch {
124
+ throw new Error(
125
+ "The `mcp` config requires @farm.js/mcp. Install it with `pnpm add @farm.js/mcp` and try again."
126
+ );
127
+ }
128
+ const runtime = await import(
129
+ /* @vite-ignore */
130
+ pathToFileURL(modulePath).href
131
+ );
132
+ if (typeof runtime.createFarmMCPPlugin !== "function") {
133
+ throw new Error(
134
+ "The installed @farm.js/mcp package is incompatible with this version of @farm.js/core."
135
+ );
136
+ }
137
+ return runtime.createFarmMCPPlugin(config);
138
+ }
139
+
140
+ // src/cron-scan.ts
141
+ var LANGS = {
142
+ ts: "ts",
143
+ tsx: "tsx",
144
+ js: "jsx",
145
+ jsx: "jsx"
146
+ };
147
+ var parseAst;
148
+ async function loadParseAst() {
149
+ if (!parseAst) {
150
+ const { createRequire: createRequire3 } = await import("module");
151
+ parseAst = createRequire3(typeof __filename === "string" ? __filename : import.meta.url)(
152
+ "rolldown/parseAst"
153
+ ).parseAst;
154
+ }
155
+ return parseAst;
156
+ }
157
+ function unwrap(node) {
158
+ while (node.type === "TSAsExpression" || node.type === "TSSatisfiesExpression" || node.type === "TSNonNullExpression" || node.type === "ParenthesizedExpression") {
159
+ node = node.expression;
160
+ }
161
+ return node;
162
+ }
163
+ function* walkNodes(value) {
164
+ if (!value || typeof value !== "object") return;
165
+ if (Array.isArray(value)) {
166
+ for (const item of value) yield* walkNodes(item);
167
+ return;
168
+ }
169
+ const node = value;
170
+ if (typeof node.type === "string") yield node;
171
+ for (const key of Object.keys(node)) {
172
+ if (key === "type" || key === "start" || key === "end" || key === "loc" || key === "range") {
173
+ continue;
174
+ }
175
+ yield* walkNodes(node[key]);
176
+ }
177
+ }
178
+ function notLiteral(file, key) {
179
+ throw new TypeError(
180
+ `The \`${key}\` option of cronRoute() in ${file} is not a literal. The build reads scheduling options from the source without running the module, so write \`${key}\` out literally or move the job to the \`cron\` config in farm.config.ts.`
181
+ );
182
+ }
183
+ function literalValue(node, file, key) {
184
+ if (!node) notLiteral(file, key);
185
+ switch (node.type) {
186
+ case "Literal":
187
+ if (node.regex || typeof node.value === "bigint") notLiteral(file, key);
188
+ return node.value;
189
+ case "TemplateLiteral":
190
+ if (node.expressions.length > 0) notLiteral(file, key);
191
+ return node.quasis[0]?.value?.cooked ?? notLiteral(file, key);
192
+ case "UnaryExpression":
193
+ if (node.operator === "-" && node.argument.type === "Literal" && typeof node.argument.value === "number") {
194
+ return -node.argument.value;
195
+ }
196
+ notLiteral(file, key);
197
+ break;
198
+ case "ArrayExpression": {
199
+ const items = [];
200
+ for (const element of node.elements) {
201
+ if (!element || element.type === "SpreadElement") notLiteral(file, key);
202
+ items.push(literalValue(unwrap(element), file, key));
203
+ }
204
+ return items;
205
+ }
206
+ case "ObjectExpression": {
207
+ const object = {};
208
+ for (const property of node.properties) {
209
+ if (property.type !== "Property" || property.computed || property.kind !== "init") {
210
+ notLiteral(file, key);
211
+ }
212
+ const propertyKey = property.key.type === "Identifier" ? property.key.name : property.key.value;
213
+ if (typeof propertyKey !== "string" || propertyKey === "__proto__") notLiteral(file, key);
214
+ object[propertyKey] = literalValue(unwrap(property.value), file, key);
215
+ }
216
+ return object;
217
+ }
218
+ case "TSAsExpression":
219
+ case "TSSatisfiesExpression":
220
+ case "TSNonNullExpression":
221
+ case "ParenthesizedExpression":
222
+ return literalValue(node.expression, file, key);
223
+ }
224
+ notLiteral(file, key);
225
+ }
226
+ function optionProperty(object, name) {
227
+ return object.properties.find(
228
+ (entry) => entry.type === "Property" && !entry.computed && (entry.key.name === name || entry.key.value === name)
229
+ )?.value;
230
+ }
231
+ function cronRouteLocalNames(program) {
232
+ const locals = /* @__PURE__ */ new Set();
233
+ for (const statement of program.body) {
234
+ if (statement.type !== "ImportDeclaration") continue;
235
+ for (const specifier of statement.specifiers) {
236
+ if (specifier.type !== "ImportSpecifier") continue;
237
+ const imported = specifier.imported?.name ?? specifier.imported?.value;
238
+ if (imported === "cronRoute") locals.add(specifier.local.name);
239
+ }
240
+ }
241
+ return locals;
242
+ }
243
+ function scannedJobFromOptions(optionsNode, file, routePath) {
244
+ const scheduleNode = optionProperty(optionsNode, "schedule");
245
+ if (!scheduleNode) return null;
246
+ if (optionsNode.properties.some((entry) => entry.type === "SpreadElement")) {
247
+ throw new TypeError(
248
+ `The cronRoute() options in ${file} spread another object next to \`schedule\`, so the build cannot read the job statically. Write every scheduling option literally in the call.`
249
+ );
250
+ }
251
+ const read = (key) => {
252
+ const node = optionProperty(optionsNode, key);
253
+ return node === void 0 ? void 0 : literalValue(unwrap(node), file, key);
254
+ };
255
+ const name = readScannedName(read("name"), file, routePath);
256
+ const schedule = readScannedSchedule(read("schedule"), file, name);
257
+ const description = read("description");
258
+ if (description !== void 0 && typeof description !== "string") {
259
+ throw new TypeError(
260
+ `The \`description\` option of cronRoute() in ${file} must be a string literal.`
261
+ );
262
+ }
263
+ const timeoutMs = read("timeoutMs");
264
+ if (timeoutMs !== void 0 && (typeof timeoutMs !== "number" || !Number.isFinite(timeoutMs) || timeoutMs <= 0)) {
265
+ throw new TypeError(
266
+ `The \`timeoutMs\` option of cronRoute() in ${file} must be a positive number literal in milliseconds.`
267
+ );
268
+ }
269
+ const enabled = read("enabled");
270
+ if (enabled !== void 0 && typeof enabled !== "boolean") {
271
+ throw new TypeError(
272
+ `The \`enabled\` option of cronRoute() in ${file} must be \`true\` or \`false\`.`
273
+ );
274
+ }
275
+ const input = read("input");
276
+ return {
277
+ name,
278
+ schedule,
279
+ path: routePath,
280
+ ...typeof description === "string" && description.trim() ? { description: description.trim() } : {},
281
+ ...input !== void 0 ? { input } : {},
282
+ ...timeoutMs !== void 0 ? { timeoutMs } : {},
283
+ filePath: file,
284
+ enabled: enabled !== false
285
+ };
286
+ }
287
+ function readScannedName(value, file, routePath) {
288
+ if (value === void 0) {
289
+ const defaultName = routePath === "/api" ? "" : routePath.slice("/api/".length);
290
+ if (!defaultName) {
291
+ throw new TypeError(
292
+ `The scheduled cronRoute() in ${file} sits at the \`/api\` root, which has no default job name. Set the \`name\` option.`
293
+ );
294
+ }
295
+ return defaultName;
296
+ }
297
+ if (typeof value !== "string" || value.length === 0) {
298
+ throw new TypeError(
299
+ `The \`name\` option of cronRoute() in ${file} must be a non-empty string literal.`
300
+ );
301
+ }
302
+ if (!value.split("/").every((segment) => FARM_CRON_NAME_SEGMENT_PATTERN.test(segment))) {
303
+ throw new TypeError(
304
+ `The \`name\` option ${JSON.stringify(value)} of cronRoute() in ${file} is invalid. Each "/"-separated segment must start with a letter or number and contain only letters, numbers, dots, underscores, or hyphens.`
305
+ );
306
+ }
307
+ return value;
308
+ }
309
+ function readScannedSchedule(value, file, name) {
310
+ const raw = Array.isArray(value) ? value : [value];
311
+ if (raw.length === 0) {
312
+ throw new TypeError(
313
+ `The \`schedule\` option of cronRoute() in ${file} must list at least one cron expression.`
314
+ );
315
+ }
316
+ try {
317
+ return [...new Set(raw.map((entry) => normalizeCronExpression(name, entry)))];
318
+ } catch (error) {
319
+ throw new TypeError(`${error.message} (from the cronRoute() options in ${file})`);
320
+ }
321
+ }
322
+ async function scanFarmCronRouteJobs(options) {
323
+ const [path4, fs] = await Promise.all([import("path"), import("fs/promises")]);
324
+ const apiDir = path4.join(options.root, options.srcDir || "src", "app", "api");
325
+ try {
326
+ if (!(await fs.stat(apiDir)).isDirectory()) return [];
327
+ } catch {
328
+ return [];
329
+ }
330
+ const { glob } = await import("tinyglobby");
331
+ const files = (await glob("**/route.{ts,tsx,js,jsx}", {
332
+ cwd: apiDir,
333
+ absolute: true,
334
+ expandDirectories: false
335
+ })).sort();
336
+ const jobs = [];
337
+ const byName = /* @__PURE__ */ new Map();
338
+ for (const file of files) {
339
+ const code = await fs.readFile(file, "utf8");
340
+ if (!code.includes("cronRoute")) continue;
341
+ const parse = await loadParseAst();
342
+ const lang = LANGS[path4.extname(file).slice(1)] ?? "tsx";
343
+ let program;
344
+ try {
345
+ program = parse(code, { lang });
346
+ } catch (error) {
347
+ throw new TypeError(
348
+ `The route file ${file} could not be parsed while reading its cronRoute() schedule: ${error.message}`
349
+ );
350
+ }
351
+ const locals = cronRouteLocalNames(program);
352
+ if (locals.size === 0) continue;
353
+ const relativeDir = path4.relative(apiDir, path4.dirname(file)).split(path4.sep).join("/");
354
+ const routePath = relativeDir === "" || relativeDir === "." ? "/api" : `/api/${relativeDir}`;
355
+ for (const node of walkNodes(program)) {
356
+ if (node.type !== "CallExpression" || node.callee?.type !== "Identifier" || !locals.has(node.callee.name)) {
357
+ continue;
358
+ }
359
+ const optionsArgument = node.arguments?.[1];
360
+ if (!optionsArgument || optionsArgument.type === "SpreadElement") continue;
361
+ const optionsNode = unwrap(optionsArgument);
362
+ if (optionsNode.type !== "ObjectExpression") continue;
363
+ const job = scannedJobFromOptions(optionsNode, file, routePath);
364
+ if (!job) continue;
365
+ if (/[[\]]/.test(routePath)) {
366
+ throw new TypeError(
367
+ `The scheduled cronRoute() in ${file} sits under a dynamic segment, and a scheduler cannot fill route params. Move the schedule to a static route.`
368
+ );
369
+ }
370
+ const existing = byName.get(job.name);
371
+ if (existing !== void 0) {
372
+ throw new TypeError(
373
+ `Farm cron job ${JSON.stringify(job.name)} is defined twice: in ${existing} and in ${file}. Rename or remove one of them.`
374
+ );
375
+ }
376
+ byName.set(job.name, file);
377
+ jobs.push(job);
378
+ }
379
+ }
380
+ return jobs;
381
+ }
382
+ function mergeFarmCronJobs(config, scanned) {
383
+ const configNames = new Set(config.jobs.map((job) => job.name));
384
+ const jobs = [...config.jobs];
385
+ for (const scannedJob of scanned) {
386
+ if (configNames.has(scannedJob.name)) {
387
+ throw new TypeError(
388
+ `Farm cron job ${JSON.stringify(scannedJob.name)} is defined twice: in the \`cron\` config in farm.config.ts and in ${scannedJob.filePath}. Rename or remove one of them.`
389
+ );
390
+ }
391
+ if (!scannedJob.enabled) continue;
392
+ const { filePath: _filePath, enabled: _enabled, ...job } = scannedJob;
393
+ jobs.push(job);
394
+ }
395
+ if (jobs.length === config.jobs.length) return config;
396
+ return { ...config, enabled: jobs.length > 0, jobs };
397
+ }
398
+ async function resolveProjectCronJobs(options) {
399
+ const resolved = resolveCronConfig(options.cron);
400
+ if (resolved === options.cron || options.cron === false) return resolved;
401
+ const scanned = await scanFarmCronRouteJobs({
402
+ root: options.root || process.cwd(),
403
+ srcDir: options.srcDir
404
+ });
405
+ return mergeFarmCronJobs(resolved, scanned);
406
+ }
407
+
408
+ // src/config.ts
409
+ import path3 from "path";
410
+
411
+ // src/agent-config.ts
412
+ var DEFAULT_JSON_LD = { type: "WebSite" };
413
+ function resolveFarmAgentConfig(input, context = {}) {
414
+ const jsonLd = input?.jsonLd;
415
+ return {
416
+ jsonLd: jsonLd === void 0 ? { ...DEFAULT_JSON_LD } : !jsonLd ? false : jsonLd === true ? {} : jsonLd,
417
+ noindexPreviews: resolveFarmNoindexPreviews(input?.noindexPreviews),
418
+ // The docs engine answers /llms.txt with its own pages; a default here would replace it.
419
+ // llms-full.txt renders every listed page, so it stays opt-in.
420
+ llmsTxt: resolveFarmLlmsTxtConfig(input?.llmsTxt ?? (context.docs ? false : { full: false })),
421
+ // Same rule as llms.txt: the docs engine answers /sitemap.xml with its own pages.
422
+ sitemap: resolveFarmAgentSitemap(input?.sitemap ?? !context.docs),
423
+ crawlers: resolveFarmAgentCrawlers(input?.crawlers),
424
+ apiCatalog: resolveFarmAgentBoolean(input?.apiCatalog, "apiCatalog", false),
425
+ aiCatalog: resolveFarmAgentBoolean(input?.aiCatalog, "aiCatalog", true),
426
+ manifest: resolveFarmAppManifestConfig(input?.manifest),
427
+ // Same rule as llms.txt: the docs engine serves its own MCP server at /mcp.
428
+ mcp: resolveFarmAgentBoolean(input?.mcp, "mcp", !context.docs)
429
+ };
430
+ }
431
+ function resolveFarmAgentBoolean(input, key, fallback) {
432
+ if (input === void 0) return fallback;
433
+ if (typeof input !== "boolean") throw new TypeError(`agent.${key} must be a boolean.`);
434
+ return input;
435
+ }
436
+
437
+ // src/docs/framework-detect.ts
438
+ import { readFile } from "fs/promises";
439
+ import { createRequire as createRequire2 } from "module";
440
+ import path2 from "path";
441
+ import { pathToFileURL as pathToFileURL2 } from "url";
442
+ var FRAMEWORK_PACKAGE = "@farming-labs/farmjs";
443
+ var FRAMEWORK_CONFIG_ENTRY = "@farming-labs/farmjs/config";
444
+ var SUPPORTED_ADAPTER_PROTOCOL = 1;
445
+ async function frameworkDeclaredByApp(root) {
446
+ try {
447
+ const raw = await readFile(path2.join(root, "package.json"), "utf8");
448
+ const manifest = JSON.parse(raw);
449
+ for (const field of ["dependencies", "devDependencies", "peerDependencies"]) {
450
+ const section = manifest[field];
451
+ if (section && typeof section === "object" && FRAMEWORK_PACKAGE in section) {
452
+ return true;
453
+ }
454
+ }
455
+ } catch {
456
+ }
457
+ return false;
458
+ }
459
+ var emittedNotices = /* @__PURE__ */ new Set();
460
+ function noticeOnce(key, emit, message) {
461
+ if (emittedNotices.has(key)) return;
462
+ emittedNotices.add(key);
463
+ emit(message);
464
+ }
465
+ function docsWantsFrameworkDetection(docs) {
466
+ if (docs === true) return true;
467
+ if (!docs || typeof docs !== "object") return false;
468
+ if (docs.enabled === false) return false;
469
+ if (docs.adapter !== void 0) return false;
470
+ return true;
471
+ }
472
+ function isSupportedAdapterDescriptor(value) {
473
+ if (!value || typeof value !== "object") return false;
474
+ const descriptor = value;
475
+ return descriptor.protocol === SUPPORTED_ADAPTER_PROTOCOL && typeof descriptor.server === "string" && descriptor.server.length > 0 && typeof descriptor.react === "string" && descriptor.react.length > 0;
476
+ }
477
+ async function applyFarmDocsFrameworkAutoDetection(userConfig, options) {
478
+ if (!docsWantsFrameworkDetection(userConfig.docs)) return userConfig;
479
+ const log = options.log ?? ((message) => console.log(message));
480
+ const warn = options.warn ?? ((message) => console.warn(message));
481
+ const root = path2.resolve(options.root || process.cwd());
482
+ if (!await frameworkDeclaredByApp(root)) {
483
+ noticeOnce(
484
+ "embedded-fallback",
485
+ warn,
486
+ `[farm] docs is served by the embedded renderer, which is being replaced by the ${FRAMEWORK_PACKAGE} docs framework. Install ${FRAMEWORK_PACKAGE} (with @farming-labs/docs and @farming-labs/theme) to migrate now, or set docs.adapter = false to keep the embedded renderer and silence this notice.`
487
+ );
488
+ return userConfig;
489
+ }
490
+ let configEntryPath;
491
+ try {
492
+ const requireFromApp = createRequire2(path2.join(root, "package.json"));
493
+ configEntryPath = requireFromApp.resolve(FRAMEWORK_CONFIG_ENTRY);
494
+ } catch {
495
+ noticeOnce(
496
+ "declared-not-installed",
497
+ warn,
498
+ `[farm] ${FRAMEWORK_PACKAGE} is declared in package.json but could not be resolved; keeping the embedded docs renderer. Run your package manager's install to enable docs delegation.`
499
+ );
500
+ return userConfig;
501
+ }
502
+ try {
503
+ const frameworkConfig = await import(
504
+ /* @vite-ignore */
505
+ pathToFileURL2(configEntryPath).href
506
+ );
507
+ const withDocs = frameworkConfig?.withDocs;
508
+ if (typeof withDocs !== "function") {
509
+ noticeOnce(
510
+ "missing-withdocs",
511
+ warn,
512
+ `[farm] ${FRAMEWORK_CONFIG_ENTRY} does not export withDocs(); keeping the embedded docs renderer.`
513
+ );
514
+ return userConfig;
515
+ }
516
+ const applied = withDocs(userConfig);
517
+ const adapter = applied?.docs?.adapter;
518
+ if (!isSupportedAdapterDescriptor(adapter)) {
519
+ noticeOnce(
520
+ "unsupported-descriptor",
521
+ warn,
522
+ `[farm] The installed ${FRAMEWORK_PACKAGE} release publishes a docs adapter this Farm version cannot drive (need protocol ${SUPPORTED_ADAPTER_PROTOCOL}); keeping the embedded docs renderer. Upgrading @farm.js/core usually resolves this.`
523
+ );
524
+ return userConfig;
525
+ }
526
+ noticeOnce(
527
+ "delegated",
528
+ log,
529
+ `[farm] docs: delegated to ${FRAMEWORK_PACKAGE} (detected in this app). Set docs.adapter = false to keep the embedded renderer.`
530
+ );
531
+ return applied;
532
+ } catch (error) {
533
+ const message = error instanceof Error ? error.message : String(error);
534
+ noticeOnce(
535
+ "detect-failed",
536
+ warn,
537
+ `[farm] Failed to load ${FRAMEWORK_CONFIG_ENTRY} (${message}); keeping the embedded docs renderer.`
538
+ );
539
+ return userConfig;
540
+ }
541
+ }
542
+
543
+ // src/config.ts
544
+ var FARM_RESOLVED_CUSTOM_CONTEXT = /* @__PURE__ */ Symbol.for("farm.resolvedCustomContext");
545
+ function resolveSchemaConfig(config) {
546
+ if (config === void 0) return {};
547
+ if (!config || typeof config !== "object" || Array.isArray(config)) {
548
+ throw new TypeError("`schema` in farm.config must be an object.");
549
+ }
550
+ for (const key of ["allowExtend", "allowForeignKeys"]) {
551
+ const entries = config[key];
552
+ if (entries === void 0) continue;
553
+ if (!entries || typeof entries !== "object" || Array.isArray(entries)) {
554
+ throw new TypeError(
555
+ `\`schema.${key}\` must map a plugin's migrate name to a list of model or table names.`
556
+ );
557
+ }
558
+ for (const [owner, tables] of Object.entries(entries)) {
559
+ if (!Array.isArray(tables) || tables.some((table) => typeof table !== "string")) {
560
+ throw new TypeError(
561
+ `\`schema.${key}.${owner}\` must be a list of model or table names, such as ["user"].`
562
+ );
563
+ }
564
+ }
565
+ }
566
+ return config;
567
+ }
568
+ function hasCustomFarmRouteContext(config) {
569
+ return config[FARM_RESOLVED_CUSTOM_CONTEXT] === true;
570
+ }
571
+ function isResolvedFarmConfig(config) {
572
+ return Object.prototype.hasOwnProperty.call(config, FARM_RESOLVED_CUSTOM_CONTEXT);
573
+ }
574
+ function normalizeDeployTarget(target) {
575
+ if (!target) return void 0;
576
+ if (target === "cloudflare-pages" || target === "cloudflare_pages") return "cloudflare";
577
+ if (target === "node-server" || target === "nitro") return "node";
578
+ return target;
579
+ }
580
+ function getPresetForDeployTarget(target) {
581
+ switch (normalizeDeployTarget(target)) {
582
+ case "vercel":
583
+ return "vercel";
584
+ case "cloudflare":
585
+ return "cloudflare-pages";
586
+ case "netlify":
587
+ return "netlify";
588
+ case "node":
589
+ return "node-server";
590
+ default:
591
+ return void 0;
592
+ }
593
+ }
594
+ function getDeployTargetForPreset(preset) {
595
+ if (!preset) return void 0;
596
+ if (preset === "vercel" || preset === "vercel-edge") return "vercel";
597
+ if (preset === "cloudflare" || preset === "cloudflare-pages" || preset === "cloudflare-module") {
598
+ return "cloudflare";
599
+ }
600
+ if (preset === "netlify" || preset === "netlify-edge") return "netlify";
601
+ if (preset === "node-server") return "node";
602
+ return void 0;
603
+ }
604
+ var NETLIFY_INTERNAL_FUNCTIONS_DIR = ".netlify/functions-internal";
605
+ function getDefaultDeployOutputDir(target, preset, distDir) {
606
+ const normalizedTarget = normalizeDeployTarget(target) || getDeployTargetForPreset(preset);
607
+ if (normalizedTarget === "vercel") return ".vercel/output";
608
+ if (normalizedTarget === "netlify" && (!preset || preset === "netlify")) {
609
+ return NETLIFY_INTERNAL_FUNCTIONS_DIR;
610
+ }
611
+ return `${distDir}/.output`;
612
+ }
613
+ function resolveDeployOutputPath(root, outputDir) {
614
+ return path3.isAbsolute(outputDir) ? outputDir : path3.join(root, outputDir);
615
+ }
616
+ var PLATFORM_BUILD_ENV_TARGETS = [
617
+ ["VERCEL", "vercel"],
618
+ ["NETLIFY", "netlify"],
619
+ ["CF_PAGES", "cloudflare"]
620
+ ];
621
+ function detectPlatformDeployTarget(env = process.env) {
622
+ for (const [key, target] of PLATFORM_BUILD_ENV_TARGETS) {
623
+ const value = env[key]?.trim().toLowerCase();
624
+ if (value === "1" || value === "true") return target;
625
+ }
626
+ return void 0;
627
+ }
628
+ var warnedPlatformMismatches = /* @__PURE__ */ new Set();
629
+ function resolveDeployConfig(config, overrides = {}) {
630
+ const deploy = config.deploy || {};
631
+ const distDir = config.distDir || ".farm";
632
+ const overrideTarget = normalizeDeployTarget(overrides.target);
633
+ let target = overrideTarget ? overrideTarget : overrides.preset ? getDeployTargetForPreset(overrides.preset) : normalizeDeployTarget(deploy.target);
634
+ const detectedTarget = detectPlatformDeployTarget(overrides.env);
635
+ if (detectedTarget) {
636
+ const hasExplicitSelection = Boolean(
637
+ target || overrides.preset || deploy.preset || config.preset
638
+ );
639
+ if (!hasExplicitSelection) {
640
+ target = detectedTarget;
641
+ if (!warnedPlatformMismatches.has(`select:${detectedTarget}`)) {
642
+ warnedPlatformMismatches.add(`select:${detectedTarget}`);
643
+ logger.info(
644
+ `Detected ${detectedTarget} build environment; using the ${detectedTarget} preset. Set deploy.target in farm.config.ts to override.`
645
+ );
646
+ }
647
+ }
648
+ }
649
+ const configuredPreset = deploy.preset || config.preset;
650
+ const overrideTargetPreset = overrideTarget && getDeployTargetForPreset(configuredPreset) !== overrideTarget ? getPresetForDeployTarget(overrideTarget) : void 0;
651
+ const preset = overrides.preset || overrideTargetPreset || configuredPreset || getPresetForDeployTarget(target) || "node-server";
652
+ const resolvedTarget = target || getDeployTargetForPreset(preset);
653
+ if (detectedTarget && resolvedTarget !== detectedTarget) {
654
+ const mismatchKey = `mismatch:${resolvedTarget}:${detectedTarget}`;
655
+ if (!warnedPlatformMismatches.has(mismatchKey)) {
656
+ warnedPlatformMismatches.add(mismatchKey);
657
+ logger.warn(
658
+ `The configured deploy target "${resolvedTarget ?? preset}" cannot be served by ${detectedTarget}, but this build is running in a ${detectedTarget} build environment. Set deploy.target: "${detectedTarget}" in farm.config.ts to deploy there.`
659
+ );
660
+ }
661
+ }
662
+ const platformOutput = resolvedTarget === "vercel" ? deploy.vercel?.outputDirectory : resolvedTarget === "cloudflare" ? deploy.cloudflare?.outputDir : resolvedTarget === "netlify" ? deploy.netlify?.outputDir : void 0;
663
+ const outputDir = overrides.outputDir || deploy.outputDir || deploy.output || platformOutput || getDefaultDeployOutputDir(resolvedTarget, preset, distDir);
664
+ return {
665
+ ...deploy,
666
+ target: resolvedTarget,
667
+ preset,
668
+ outputDir
669
+ };
670
+ }
671
+ function resolveMigrationsConfig(migrations) {
672
+ if (!migrations) return { commands: [] };
673
+ if (Array.isArray(migrations)) return { commands: migrations };
674
+ return { commands: migrations.commands || [] };
675
+ }
676
+ var DOCS_CONFIG_FILENAMES = [
677
+ "docs.config.ts",
678
+ "docs.config.tsx",
679
+ "docs.config.mts",
680
+ "docs.config.cts",
681
+ "docs.config.js",
682
+ "docs.config.jsx",
683
+ "docs.config.mjs",
684
+ "docs.config.cjs",
685
+ "docs.json"
686
+ ];
687
+ function normalizeDocsRoute(value, fallback = "/docs") {
688
+ const raw = (value || fallback).trim();
689
+ if (!raw || raw === "/") return "/";
690
+ const normalized = raw.replace(/\\/g, "/").replace(/\/+/g, "/").replace(/^\/?/, "/").replace(/\/+$/, "");
691
+ return normalized || "/";
692
+ }
693
+ function docsRouteToEntry(route) {
694
+ const entry = route.replace(/^\/+/, "").replace(/\/+$/, "");
695
+ return entry || "docs";
696
+ }
697
+ function normalizeDocsContentDir(value) {
698
+ if (!value) return void 0;
699
+ const normalized = value.replace(/\\/g, "/").replace(/^\/+/, "").replace(/\/+$/, "");
700
+ return normalized || void 0;
701
+ }
702
+ async function inferDocsContentDir(root, srcDir, entry) {
703
+ const { existsSync } = await import("fs");
704
+ const contentDir = path3.resolve(root, srcDir, "app", entry);
705
+ if (!existsSync(contentDir)) return void 0;
706
+ const relativeContentDir = path3.relative(root, contentDir);
707
+ if (relativeContentDir.startsWith("..") || path3.isAbsolute(relativeContentDir)) return void 0;
708
+ return normalizeDocsContentDir(relativeContentDir);
709
+ }
710
+ function isRecord(value) {
711
+ return !!value && typeof value === "object" && !Array.isArray(value);
712
+ }
713
+ function cloneSerializable(value, seen = /* @__PURE__ */ new WeakSet()) {
714
+ if (value === null) return null;
715
+ const valueType = typeof value;
716
+ if (valueType === "string" || valueType === "number" || valueType === "boolean") {
717
+ return value;
718
+ }
719
+ if (valueType === "undefined" || valueType === "function" || valueType === "symbol") {
720
+ return void 0;
721
+ }
722
+ if (Array.isArray(value)) {
723
+ return value.map((item) => cloneSerializable(item, seen)).filter((item) => item !== void 0);
724
+ }
725
+ if (value instanceof Date) {
726
+ return value.toISOString();
727
+ }
728
+ if (isRecord(value)) {
729
+ if (seen.has(value)) return void 0;
730
+ seen.add(value);
731
+ const output = {};
732
+ for (const [key, nestedValue] of Object.entries(value)) {
733
+ const clonedValue = cloneSerializable(nestedValue, seen);
734
+ if (clonedValue !== void 0) {
735
+ output[key] = clonedValue;
736
+ }
737
+ }
738
+ return output;
739
+ }
740
+ return void 0;
741
+ }
742
+ function omitUndefined(value) {
743
+ return Object.fromEntries(
744
+ Object.entries(value).filter(([, entry]) => entry !== void 0)
745
+ );
746
+ }
747
+ function sanitizeDocsConfig(config) {
748
+ return cloneSerializable(config) || {};
749
+ }
750
+ async function findDocsConfigPath(rootDir, configPath) {
751
+ const { existsSync } = await import("fs");
752
+ const root = path3.resolve(rootDir || process.cwd());
753
+ if (configPath) {
754
+ const resolvedPath = path3.isAbsolute(configPath) ? configPath : path3.join(root, configPath);
755
+ if (!existsSync(resolvedPath)) {
756
+ throw new Error(`Could not find docs config at ${configPath}.`);
757
+ }
758
+ return path3.resolve(resolvedPath);
759
+ }
760
+ for (const filename of DOCS_CONFIG_FILENAMES) {
761
+ const resolvedPath = path3.join(root, filename);
762
+ if (existsSync(resolvedPath)) {
763
+ return resolvedPath;
764
+ }
765
+ }
766
+ return void 0;
767
+ }
768
+ async function loadDocsConfig(rootDir, configPath) {
769
+ const fs = await import("fs/promises");
770
+ const { pathToFileURL: pathToFileURL3 } = await import("url");
771
+ const root = path3.resolve(rootDir || process.cwd());
772
+ const resolvedPath = await findDocsConfigPath(root, configPath);
773
+ if (!resolvedPath) return void 0;
774
+ try {
775
+ if (resolvedPath.endsWith(".json")) {
776
+ const content = await fs.readFile(resolvedPath, "utf8");
777
+ return { config: JSON.parse(content), configPath: resolvedPath };
778
+ }
779
+ const configCacheDir = path3.join(root, ".farm", ".config-loader");
780
+ await fs.mkdir(configCacheDir, { recursive: true });
781
+ const modulePath = path3.join(
782
+ configCacheDir,
783
+ `docs-config-${Date.now()}-${Math.random().toString(36).slice(2)}.mjs`
784
+ );
785
+ await bundleNodeModule({
786
+ root,
787
+ entry: resolvedPath,
788
+ outfile: modulePath,
789
+ target: `node${process.versions.node.split(".")[0]}`,
790
+ externalPackages: true
791
+ });
792
+ const moduleUrl = pathToFileURL3(modulePath).href + `?t=${Date.now()}`;
793
+ let importedConfig;
794
+ try {
795
+ importedConfig = await import(
796
+ /* @vite-ignore */
797
+ moduleUrl
798
+ );
799
+ } finally {
800
+ await fs.unlink(modulePath).catch(() => void 0);
801
+ }
802
+ return {
803
+ config: importedConfig.default || importedConfig,
804
+ configPath: resolvedPath
805
+ };
806
+ } catch (error) {
807
+ const relativePath = path3.relative(root, resolvedPath) || resolvedPath;
808
+ const message = error instanceof Error ? error.message : String(error);
809
+ throw new Error(`Failed to load docs config from ${relativePath}: ${message}`);
810
+ }
811
+ }
812
+ async function resolveDocsConfig(userDocs, options = {}) {
813
+ const root = options.root || process.cwd();
814
+ if (userDocs === false) {
815
+ return {
816
+ enabled: false,
817
+ entry: "/docs",
818
+ config: { entry: "docs", docsPath: "/docs" }
819
+ };
820
+ }
821
+ const docsOptions = isRecord(userDocs) ? userDocs : {};
822
+ if (docsOptions.enabled === false) {
823
+ return {
824
+ enabled: false,
825
+ entry: "/docs",
826
+ config: { entry: "docs", docsPath: "/docs" }
827
+ };
828
+ }
829
+ const loadedConfig = await loadDocsConfig(root, docsOptions.configPath);
830
+ const hasExplicitDocsConfig = userDocs === true || isRecord(userDocs);
831
+ if (!hasExplicitDocsConfig && !loadedConfig) {
832
+ return {
833
+ enabled: false,
834
+ entry: "/docs",
835
+ config: { entry: "docs", docsPath: "/docs" }
836
+ };
837
+ }
838
+ const fileDocsConfig = omitDocsRoots(loadedConfig?.config);
839
+ const inlineRawDocsConfig = omitDocsRoots(docsOptions.config);
840
+ const inlineDocsConfig = sanitizeDocsConfig(inlineRawDocsConfig);
841
+ const directDocsConfig = sanitizeDocsConfig({
842
+ ...docsOptions,
843
+ adapter: void 0,
844
+ enabled: void 0,
845
+ prerender: void 0,
846
+ config: void 0,
847
+ configPath: void 0,
848
+ roots: void 0
849
+ });
850
+ const loadedDocsConfig = sanitizeDocsConfig(fileDocsConfig);
851
+ const mergedDocsConfig = {
852
+ ...loadedDocsConfig,
853
+ ...inlineDocsConfig,
854
+ ...directDocsConfig
855
+ };
856
+ const runtimeDocsConfig = {
857
+ ...fileDocsConfig,
858
+ ...inlineRawDocsConfig,
859
+ ...omitUndefined({
860
+ ...docsOptions,
861
+ adapter: void 0,
862
+ enabled: void 0,
863
+ prerender: void 0,
864
+ config: void 0,
865
+ configPath: void 0,
866
+ roots: void 0
867
+ })
868
+ };
869
+ const explicitRoute = typeof docsOptions.entry === "string" ? docsOptions.entry : void 0;
870
+ const configuredDocsPath = typeof mergedDocsConfig.docsPath === "string" ? mergedDocsConfig.docsPath : void 0;
871
+ const configuredEntry = typeof mergedDocsConfig.entry === "string" ? mergedDocsConfig.entry : void 0;
872
+ const entryRoute = normalizeDocsRoute(
873
+ configuredDocsPath || explicitRoute || (configuredEntry ? `/${configuredEntry}` : void 0)
874
+ );
875
+ const docsEntry = explicitRoute && explicitRoute.startsWith("/") ? docsRouteToEntry(explicitRoute) : docsRouteToEntry(configuredEntry || entryRoute);
876
+ const configuredContentDir = normalizeDocsContentDir(
877
+ docsOptions.contentDir || mergedDocsConfig.contentDir
878
+ );
879
+ const contentDir = configuredContentDir || await inferDocsContentDir(root, options.srcDir || "src", docsEntry);
880
+ const configOverrides = { ...inlineDocsConfig, ...directDocsConfig };
881
+ const configFileName = loadedConfig ? path3.relative(root, loadedConfig.configPath) || loadedConfig.configPath : "the docs config";
882
+ const roots = await resolveDocsRoots(
883
+ [
884
+ { field: `roots in ${configFileName}`, roots: docsRootsOf(loadedConfig?.config), file: true },
885
+ { field: "docs.config.roots", roots: docsRootsOf(docsOptions.config) },
886
+ { field: "docs.roots", roots: docsOptions.roots }
887
+ ],
888
+ {
889
+ root,
890
+ srcDir: options.srcDir || "src",
891
+ mainEntry: entryRoute,
892
+ mergedDocsConfig,
893
+ runtimeDocsConfig,
894
+ configOverrides
895
+ }
896
+ );
897
+ if (roots.length > 0 && !(docsOptions.adapter && docsOptions.adapter.server && docsOptions.adapter.react)) {
898
+ throw new Error(
899
+ `Docs roots require a docs adapter such as @farming-labs/farmjs; Farm's built-in docs renderer serves a single docs root. Install the adapter, or remove the roots from ${configFileName} and docs.roots.`
900
+ );
901
+ }
902
+ return {
903
+ enabled: true,
904
+ entry: entryRoute,
905
+ ...docsOptions.adapter ? { adapter: docsOptions.adapter } : {},
906
+ ...docsOptions.prerender === true ? { prerender: true } : {},
907
+ contentDir,
908
+ configPath: loadedConfig?.configPath,
909
+ config: {
910
+ ...mergedDocsConfig,
911
+ entry: docsEntry,
912
+ docsPath: entryRoute,
913
+ ...contentDir ? { contentDir } : {}
914
+ },
915
+ runtimeConfig: {
916
+ ...runtimeDocsConfig,
917
+ entry: docsEntry,
918
+ docsPath: entryRoute,
919
+ ...contentDir ? { contentDir } : {}
920
+ },
921
+ configOverrides,
922
+ ...roots.length > 0 ? { roots } : {}
923
+ };
924
+ }
925
+ function docsRootsOf(config) {
926
+ return isRecord(config) ? config.roots : void 0;
927
+ }
928
+ function omitDocsRoots(config) {
929
+ if (!isRecord(config)) return {};
930
+ const { roots: _roots, ...rest } = config;
931
+ return rest;
932
+ }
933
+ function omitKeys(value, keys) {
934
+ const output = { ...value };
935
+ for (const key of keys) delete output[key];
936
+ return output;
937
+ }
938
+ async function resolveDocsRoots(sources, options) {
939
+ const declared = /* @__PURE__ */ new Map();
940
+ for (const source of sources) {
941
+ if (source.roots === void 0) continue;
942
+ if (!Array.isArray(source.roots)) throw new Error(`${source.field} must be an array.`);
943
+ const seen = /* @__PURE__ */ new Set();
944
+ for (const [index, rootInput] of source.roots.entries()) {
945
+ const field = `${source.field}[${index}].entry`;
946
+ if (!isRecord(rootInput) || typeof rootInput.entry !== "string" || !rootInput.entry.trim()) {
947
+ throw new Error(`${field} must be a route such as "/guides/docs".`);
948
+ }
949
+ const entryRoute = normalizeDocsRoute(rootInput.entry);
950
+ if (entryRoute === "/") {
951
+ throw new Error(
952
+ `${field} cannot be "/"; a docs root at "/" leaves no route for the others.`
953
+ );
954
+ }
955
+ if (entryRoute === options.mainEntry || seen.has(entryRoute)) {
956
+ throw new Error(
957
+ `${field} ${JSON.stringify(entryRoute)} is already served by another docs root.`
958
+ );
959
+ }
960
+ seen.add(entryRoute);
961
+ const { entry: _entry, ...fields } = rootInput;
962
+ const layers = declared.get(entryRoute) ?? { file: {}, overrides: {} };
963
+ if (source.file) layers.file = fields;
964
+ else layers.overrides = { ...layers.overrides, ...fields };
965
+ declared.set(entryRoute, layers);
966
+ }
967
+ }
968
+ const roots = [];
969
+ for (const [entryRoute, { file, overrides }] of declared) {
970
+ const docsEntry = docsRouteToEntry(entryRoute);
971
+ const contentDir = normalizeDocsContentDir(
972
+ typeof overrides.contentDir === "string" && overrides.contentDir || typeof file.contentDir === "string" && file.contentDir || void 0
973
+ ) || await inferDocsContentDir(options.root, options.srcDir, docsEntry);
974
+ const routeConfig = {
975
+ entry: docsEntry,
976
+ docsPath: entryRoute,
977
+ contentDir
978
+ };
979
+ const rootOverrides = sanitizeDocsConfig(overrides);
980
+ roots.push({
981
+ entry: entryRoute,
982
+ contentDir,
983
+ config: omitUndefined({
984
+ ...options.mergedDocsConfig,
985
+ ...sanitizeDocsConfig(file),
986
+ ...rootOverrides,
987
+ ...routeConfig
988
+ }),
989
+ runtimeConfig: omitUndefined({
990
+ ...options.runtimeDocsConfig,
991
+ ...file,
992
+ ...overrides,
993
+ ...routeConfig
994
+ }),
995
+ // The adapter reads the config file's own root from the config module, so the main
996
+ // root's overrides leave out whatever that root sets itself.
997
+ configOverrides: {
998
+ ...omitKeys(options.configOverrides, Object.keys(file)),
999
+ ...rootOverrides
1000
+ }
1001
+ });
1002
+ }
1003
+ return roots;
1004
+ }
1005
+ function validateRedirectConfigs(redirects, field) {
1006
+ for (const [index, redirect] of redirects.entries()) {
1007
+ validateConfigRouteSource(redirect.source, `${field}[${index}].source`);
1008
+ if (redirect.statusCode !== void 0 && !isFarmRedirectStatus(redirect.statusCode)) {
1009
+ throw new RangeError(
1010
+ `${field}[${index}].statusCode must be one of 301, 302, 303, 307, or 308.`
1011
+ );
1012
+ }
1013
+ }
1014
+ return redirects;
1015
+ }
1016
+ function validateMiddlewareConfig(middleware) {
1017
+ for (const entry of Array.isArray(middleware) ? middleware : middleware ? [middleware] : []) {
1018
+ compileMiddlewareConfig({ matcher: entry.matcher, exclude: entry.exclude });
1019
+ }
1020
+ return middleware;
1021
+ }
1022
+ function validateConfigRouteSources(routes, field) {
1023
+ for (const [index, route] of routes.entries()) {
1024
+ validateConfigRouteSource(route.source, `${field}[${index}].source`);
1025
+ }
1026
+ return routes;
1027
+ }
1028
+ async function resolveConfig(userConfig, mode) {
1029
+ resolveFarmServerComponentsMode(userConfig.experimental?.serverComponents);
1030
+ const projectRoot = userConfig.root || process.cwd();
1031
+ const layerResolution = await resolveFarmLayers(userConfig, {
1032
+ root: projectRoot,
1033
+ mode
1034
+ });
1035
+ userConfig = layerResolution.config;
1036
+ if (userConfig.typescript !== void 0) {
1037
+ logger.warn(
1038
+ 'The top-level "typescript" option is not supported and has no effect. Configure TypeScript in `tsconfig.json` and run `tsc --noEmit` separately when builds must enforce project type errors.'
1039
+ );
1040
+ }
1041
+ if (userConfig.output !== void 0) {
1042
+ logger.warn(
1043
+ 'The top-level "output" option is not supported and has no effect. Configure `deploy.target`, `deploy.preset`, or `deploy.outputDir` for deployment output, and use route rendering configuration for static pages.'
1044
+ );
1045
+ }
1046
+ if (isReactRenderer(resolveFarmRenderer(userConfig.renderer))) {
1047
+ userConfig = await applyFarmDocsFrameworkAutoDetection(userConfig, {
1048
+ root: userConfig.root || projectRoot
1049
+ });
1050
+ }
1051
+ const redirects = validateRedirectConfigs(
1052
+ typeof userConfig.redirects === "function" ? await userConfig.redirects() : userConfig.redirects || [],
1053
+ "redirects"
1054
+ );
1055
+ const rewrites = typeof userConfig.rewrites === "function" ? await userConfig.rewrites() : userConfig.rewrites || [];
1056
+ validateConfigRouteSources(rewrites, "rewrites");
1057
+ const headers = typeof userConfig.headers === "function" ? await userConfig.headers() : userConfig.headers || [];
1058
+ validateConfigRouteSources(headers, "headers");
1059
+ const routeRules = normalizeRouteRules(userConfig.routeRules);
1060
+ const routeRuleRedirects = routeRulesToRedirects(routeRules);
1061
+ const routeRuleHeaders = routeRulesToHeaders(routeRules);
1062
+ const security = resolveFarmSecurityConfig(userConfig.security);
1063
+ const securityHeader = getFarmSecurityHeader(security);
1064
+ if (farmCspBlocksFrameworkInlineScripts(security)) {
1065
+ logger.warn(
1066
+ "security.csp blocks the inline scripts Farm injects for theming and hydration. Set security.csp.nonce to true for managed dynamic nonces and prerendered hashes, or make the governing script directive allow 'unsafe-inline' without a nonce, hash, or 'strict-dynamic' source."
1067
+ );
1068
+ }
1069
+ const root = userConfig.root || process.cwd();
1070
+ const desktopSetup = await globalThis[/* @__PURE__ */ Symbol.for("@farm.js/core/desktop-setup")]?.(userConfig, root, mode);
1071
+ if (desktopSetup) userConfig = desktopSetup.userConfig;
1072
+ const deploy = resolveDeployConfig(userConfig, desktopSetup?.deploy);
1073
+ const srcDir = userConfig.srcDir || "src";
1074
+ setFarmProjectSourceDir(root, srcDir);
1075
+ const docs = await resolveDocsConfig(userConfig.docs, { root, srcDir });
1076
+ const md = resolveMarkdownConfig(userConfig.md);
1077
+ const mdx = resolveMdxConfig(userConfig.mdx);
1078
+ const env = resolveEnv(userConfig.env, process.env);
1079
+ setEnv(env);
1080
+ const api = await resolveFarmAPIConfig(userConfig.api, { root, mode, env });
1081
+ const cron = await resolveProjectCronJobs({ root, srcDir, cron: userConfig.cron });
1082
+ const auth = resolveFarmAuthConfig(userConfig.auth);
1083
+ const mcp = resolveFarmMCPConfig(userConfig.mcp);
1084
+ if (auth.enabled && userConfig.integrations?.auth) {
1085
+ throw new Error(
1086
+ "Choose either the top-level `auth` config or `integrations.auth`; they cannot both own the auth route."
1087
+ );
1088
+ }
1089
+ const nativeAuthIntegration = await resolveFarmAuthIntegration(auth, {
1090
+ root,
1091
+ mode
1092
+ });
1093
+ const nativeMCPPlugin = await resolveFarmMCPPlugin(mcp, { root });
1094
+ if (nativeMCPPlugin && userConfig.plugins?.some((plugin) => plugin?.name === "farm:api-mcp")) {
1095
+ throw new Error(
1096
+ "Choose either the top-level `mcp` config or `apiMcp()` in `plugins`; they configure the same MCP transport."
1097
+ );
1098
+ }
1099
+ const integrations = nativeAuthIntegration ? { ...userConfig.integrations, auth: nativeAuthIntegration } : userConfig.integrations || {};
1100
+ const generateBuildId = userConfig.generateBuildId || (() => `build-${Date.now()}`);
1101
+ const deploymentId = normalizeFarmDeploymentId(
1102
+ userConfig.deploymentId || process.env.FARM_DEPLOYMENT_ID || process.env.VERCEL_GIT_COMMIT_SHA || process.env.CF_PAGES_COMMIT_SHA || (mode === "production" ? await generateBuildId() : "development")
1103
+ );
1104
+ const basePath = normalizeFarmConfigBasePath(userConfig.basePath);
1105
+ const mobileSessionPlugin = userConfig.mobile !== void 0 && userConfig.mobile !== null ? (await import("./session-QZXZOPR2.mjs")).createFarmMobileSessionPlugin({
1106
+ basePath,
1107
+ integrations: () => integrations
1108
+ }) : null;
1109
+ let nativeServerFnAppDirs = [];
1110
+ const nativeServerFnPlugin = userConfig.mobile !== void 0 && userConfig.mobile !== null ? (await import("./native-server-fn-handler-GLRHAYWV.mjs")).createFarmNativeServerFnPlugin({
1111
+ resolve: (await import("./internal/native-server-fns.mjs")).createFarmDevNativeServerFnResolver(
1112
+ { root, srcDir, appDirs: () => nativeServerFnAppDirs }
1113
+ )
1114
+ }) : null;
1115
+ const openapi = {
1116
+ enabled: false,
1117
+ route: "/docs/reference",
1118
+ specRoute: "/openapi.json",
1119
+ title: "API Documentation",
1120
+ description: "Auto-generated API documentation",
1121
+ version: "1.0.0",
1122
+ ...userConfig.openapi
1123
+ };
1124
+ if (openapi.route !== void 0) validateConfigRouteSource(openapi.route, "openapi.route");
1125
+ if (openapi.specRoute) validateConfigRouteSource(openapi.specRoute, "openapi.specRoute");
1126
+ const resolved = {
1127
+ [FARM_RESOLVED_CUSTOM_CONTEXT]: typeof userConfig.context === "function",
1128
+ root,
1129
+ srcDir,
1130
+ extends: userConfig.extends || [],
1131
+ layers: layerResolution.layers,
1132
+ outDir: userConfig.outDir || "dist",
1133
+ basePath,
1134
+ renderer: resolveFarmRenderer(userConfig.renderer),
1135
+ preset: deploy.preset || "node-server",
1136
+ deploy,
1137
+ docs,
1138
+ md,
1139
+ mdx,
1140
+ migrations: resolveMigrationsConfig(userConfig.migrations),
1141
+ cron,
1142
+ workflows: resolveWorkflowsConfig(userConfig.workflows),
1143
+ api,
1144
+ observability: userConfig.observability ?? false,
1145
+ telemetry: userConfig.telemetry !== false,
1146
+ analytics: userConfig.analytics !== false,
1147
+ devtools: resolveFarmDevtoolsConfig(userConfig.devtools, mode),
1148
+ storage: userConfig.storage || {},
1149
+ schema: resolveSchemaConfig(userConfig.schema),
1150
+ cache: userConfig.cache || {},
1151
+ auth,
1152
+ mcp,
1153
+ suppressLintOnLink: userConfig.suppressLintOnLink ?? false,
1154
+ experimental: {
1155
+ serverComponents: false,
1156
+ serverActions: false,
1157
+ // Islands mode hydrates client components as islands (RFC 0003); an app can still pick
1158
+ // isolatedClientHydration itself.
1159
+ isolatedClientHydration: resolveFarmServerComponentsMode(userConfig.experimental?.serverComponents) === "islands" ? "enabled" : "off",
1160
+ ppr: false,
1161
+ ...userConfig.experimental
1162
+ },
1163
+ agent: resolveFarmAgentConfig(userConfig.agent, { docs: docs.enabled }),
1164
+ desktop: desktopSetup?.desktop ?? null,
1165
+ ...userConfig.mobile !== void 0 ? { mobileClient: true } : {},
1166
+ plugins: [
1167
+ ...mobileSessionPlugin ? [mobileSessionPlugin] : [],
1168
+ ...nativeServerFnPlugin ? [nativeServerFnPlugin] : [],
1169
+ ...resolveIntegrationPlugins(integrations),
1170
+ ...nativeMCPPlugin ? [nativeMCPPlugin] : [],
1171
+ ...userConfig.plugins || []
1172
+ ],
1173
+ integrations,
1174
+ trailingSlash: userConfig.trailingSlash ?? false,
1175
+ redirects: () => [...redirects, ...routeRuleRedirects],
1176
+ rewrites: () => rewrites,
1177
+ headers: () => [
1178
+ ...headers,
1179
+ ...routeRuleHeaders,
1180
+ ...securityHeader ? [{ source: "/*", headers: [securityHeader] }] : []
1181
+ ],
1182
+ routeRules,
1183
+ images: resolveFarmImageConfig(userConfig.images),
1184
+ performance: resolveFarmPerformanceConfig(userConfig.performance),
1185
+ theme: resolveFarmThemeConfig(userConfig.theme, basePath),
1186
+ publicDir: userConfig.publicDir || "public",
1187
+ i18n: resolveFarmI18nConfig(userConfig.i18n, { root, mode, basePath }),
1188
+ openapi,
1189
+ middleware: validateMiddlewareConfig(userConfig.middleware) || {},
1190
+ notFound: userConfig.notFound || {},
1191
+ context: userConfig.context || (() => void 0),
1192
+ server: resolveFarmServerConfig(userConfig.server),
1193
+ serverActions: resolveServerActionsConfig(userConfig.serverActions),
1194
+ security,
1195
+ deploymentId,
1196
+ distDir: userConfig.distDir || ".farm",
1197
+ generateBuildId,
1198
+ compress: userConfig.compress ?? true,
1199
+ devIndicators: resolveFarmDevIndicatorsConfig(userConfig.devIndicators, mode),
1200
+ serverRuntimeConfig: userConfig.serverRuntimeConfig || {},
1201
+ publicRuntimeConfig: userConfig.publicRuntimeConfig || {},
1202
+ env,
1203
+ vite: typeof userConfig.vite === "function" ? userConfig.vite({}) : userConfig.vite || {}
1204
+ };
1205
+ assertPluginDependencies(resolved.plugins, resolved.integrations);
1206
+ if (nativeServerFnPlugin) {
1207
+ nativeServerFnAppDirs = (await import("./layers-T55SA47E.mjs")).getFarmAppDirectories(resolved);
1208
+ }
1209
+ return resolved;
1210
+ }
1211
+ function formatConfigLoadError(error) {
1212
+ if (error && (typeof error === "object" || typeof error === "function")) {
1213
+ for (const property of ["message", "stack", "name"]) {
1214
+ try {
1215
+ const value = Reflect.get(error, property);
1216
+ if (typeof value === "string" && value) return value;
1217
+ } catch {
1218
+ }
1219
+ }
1220
+ }
1221
+ try {
1222
+ return String(error);
1223
+ } catch {
1224
+ return "Unknown config loader error";
1225
+ }
1226
+ }
1227
+ async function loadConfig(rootDir, configPath, mode = process.env.NODE_ENV === "production" ? "production" : "development", loadEnvironment) {
1228
+ const { existsSync } = await import("fs");
1229
+ const loadEnv = loadEnvironment || (await import("vite")).loadEnv;
1230
+ const root = rootDir || process.cwd();
1231
+ const loadedEnv = loadEnv(mode, root, "");
1232
+ for (const [key, value] of Object.entries(loadedEnv)) {
1233
+ if (process.env[key] === void 0) {
1234
+ process.env[key] = value;
1235
+ }
1236
+ }
1237
+ if (configPath) {
1238
+ const explicitPath = path3.resolve(
1239
+ path3.isAbsolute(configPath) ? configPath : path3.join(root, configPath)
1240
+ );
1241
+ if (!existsSync(explicitPath)) {
1242
+ throw new Error(`Config file not found at ${configPath} (resolved to ${explicitPath}).`);
1243
+ }
1244
+ }
1245
+ const searchPaths = [
1246
+ configPath,
1247
+ "farm.config.ts",
1248
+ "farm.config.mts",
1249
+ "farm.config.js",
1250
+ "farm.config.mjs",
1251
+ "config.ts",
1252
+ "config.mts",
1253
+ "config.js",
1254
+ "config.mjs"
1255
+ ].filter(Boolean);
1256
+ for (const relativePath of searchPaths) {
1257
+ try {
1258
+ const absolutePath = path3.isAbsolute(relativePath) ? relativePath : path3.join(root, relativePath);
1259
+ const normalizedPath = path3.resolve(absolutePath);
1260
+ if (!existsSync(normalizedPath)) {
1261
+ continue;
1262
+ }
1263
+ const loadedConfig = await loadFarmConfigFile(normalizedPath, { root });
1264
+ return loadedConfig.root === void 0 ? { ...loadedConfig, root } : loadedConfig;
1265
+ } catch (error) {
1266
+ const configError = new Error(
1267
+ `Failed to load config from ${relativePath}: ${formatConfigLoadError(error)}`
1268
+ );
1269
+ configError.cause = error;
1270
+ throw configError;
1271
+ }
1272
+ }
1273
+ return void 0;
1274
+ }
1275
+
1276
+ export {
1277
+ resolveFarmMCPConfig,
1278
+ resolveFarmMCPPlugin,
1279
+ hasCustomFarmRouteContext,
1280
+ isResolvedFarmConfig,
1281
+ normalizeDeployTarget,
1282
+ getPresetForDeployTarget,
1283
+ getDeployTargetForPreset,
1284
+ getDefaultDeployOutputDir,
1285
+ resolveDeployOutputPath,
1286
+ resolveDeployConfig,
1287
+ resolveMigrationsConfig,
1288
+ resolveDocsConfig,
1289
+ resolveConfig,
1290
+ loadConfig
1291
+ };