@farm.js/core 0.1.39 → 0.1.41

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 (374) hide show
  1. package/dist/{agent-mcp-HcTYQmNX.d.ts → agent-mcp-BOqIxJLI.d.mts} +8 -2
  2. package/dist/{agent-mcp-BhneNPb4.d.mts → agent-mcp-D0eZKfci.d.ts} +8 -2
  3. package/dist/{agent-mcp-handler-OLRMZONF.mjs → agent-mcp-handler-HVV5LNXF.mjs} +6 -6
  4. package/dist/{agent-mcp-handler-MRGP3WJ3.cjs → agent-mcp-handler-YKG7KVCY.cjs} +7 -7
  5. package/dist/agent-runtime.cjs +10 -6
  6. package/dist/agent-runtime.d.mts +6 -8
  7. package/dist/agent-runtime.d.ts +6 -8
  8. package/dist/agent-runtime.mjs +9 -5
  9. package/dist/api/client.cjs +3 -3
  10. package/dist/api/client.d.mts +3 -3
  11. package/dist/api/client.d.ts +3 -3
  12. package/dist/api/client.mjs +2 -2
  13. package/dist/api/route-manager.cjs +15 -13
  14. package/dist/api/route-manager.d.mts +8 -10
  15. package/dist/api/route-manager.d.ts +8 -10
  16. package/dist/api/route-manager.mjs +14 -12
  17. package/dist/api/runtime.cjs +12 -10
  18. package/dist/api/runtime.d.mts +7 -9
  19. package/dist/api/runtime.d.ts +7 -9
  20. package/dist/api/runtime.mjs +11 -9
  21. package/dist/{api-client-CyFtZFJ4.d.ts → api-client-BJv9mTbO.d.ts} +2 -2
  22. package/dist/{api-client-BjMmY8OD.d.mts → api-client-Dk9QOLwr.d.mts} +2 -2
  23. package/dist/api.cjs +17 -15
  24. package/dist/api.d.mts +10 -12
  25. package/dist/api.d.ts +10 -12
  26. package/dist/api.mjs +16 -14
  27. package/dist/{app-DVzmmbNO.d.mts → app-CzTSMJaf.d.mts} +12 -5
  28. package/dist/{app-CMkoghtp.d.ts → app-DM8e1z3G.d.ts} +12 -5
  29. package/dist/app-markdown.cjs +7 -6
  30. package/dist/app-markdown.d.mts +7 -9
  31. package/dist/app-markdown.d.ts +7 -9
  32. package/dist/app-markdown.mjs +6 -5
  33. package/dist/cache.cjs +6 -3
  34. package/dist/cache.d.mts +23 -2
  35. package/dist/cache.d.ts +23 -2
  36. package/dist/cache.mjs +5 -2
  37. package/dist/{chunk-EGCTIS5F.mjs → chunk-24SP5TGU.mjs} +1 -1
  38. package/dist/{chunk-2ZYGC6SS.cjs → chunk-25LPIZSX.cjs} +3 -3
  39. package/dist/{chunk-ARC7I3O2.mjs → chunk-26RUNDIR.mjs} +1 -1
  40. package/dist/{chunk-472NCAZ7.cjs → chunk-2FUIT2G2.cjs} +3 -3
  41. package/dist/{chunk-YFYUYWL7.cjs → chunk-32TZ3QTP.cjs} +723 -454
  42. package/dist/{chunk-CQMVIOYP.mjs → chunk-35WS7P2V.mjs} +29 -131
  43. package/dist/{chunk-QTXBII4Z.cjs → chunk-3TB5QGUW.cjs} +5 -5
  44. package/dist/chunk-45QJHGZM.cjs +1063 -0
  45. package/dist/{chunk-677THUVP.mjs → chunk-4C7KTKX7.mjs} +1 -1
  46. package/dist/{chunk-FUZEBRP3.mjs → chunk-4GP3XZ4Z.mjs} +5 -3
  47. package/dist/{chunk-KTSUBU2E.mjs → chunk-4KQDHTWX.mjs} +2 -2
  48. package/dist/chunk-4TLUFAIP.cjs +92 -0
  49. package/dist/chunk-4U5XZDLG.cjs +80 -0
  50. package/dist/{chunk-P664ZVTV.mjs → chunk-4ZZNPK25.mjs} +2 -2
  51. package/dist/{chunk-KIIMAWOJ.cjs → chunk-5NAVKJCZ.cjs} +35 -105
  52. package/dist/{chunk-LSKZMJMP.cjs → chunk-64SBBZDU.cjs} +38 -1
  53. package/dist/chunk-6BWKJ6QS.cjs +43 -0
  54. package/dist/{chunk-JSROZYYO.cjs → chunk-6D24SDKO.cjs} +1 -20
  55. package/dist/chunk-6IZWX6ES.cjs +74 -0
  56. package/dist/{chunk-QRKIMN7T.mjs → chunk-6LVRDOAW.mjs} +32 -6
  57. package/dist/{chunk-YWN746US.cjs → chunk-6MVFHNYZ.cjs} +85 -54
  58. package/dist/{chunk-VWBHM3F6.mjs → chunk-6PKXK4TY.mjs} +3 -3
  59. package/dist/chunk-6QOLZITB.cjs +22 -0
  60. package/dist/{chunk-OAHTRMIC.mjs → chunk-724JLMS4.mjs} +11 -11
  61. package/dist/chunk-7GNWGLWB.mjs +14 -0
  62. package/dist/{chunk-34UCJRQO.cjs → chunk-7RNAKBWF.cjs} +2 -2
  63. package/dist/{chunk-U6QLDL3G.mjs → chunk-7UEEHAW7.mjs} +1 -1
  64. package/dist/{chunk-UPJLHLJU.cjs → chunk-ALPWLT27.cjs} +4 -4
  65. package/dist/{chunk-ATSDUUFK.mjs → chunk-AX7S67YV.mjs} +33 -40
  66. package/dist/{chunk-MSSFIQGM.mjs → chunk-B2GSRB3P.mjs} +41 -10
  67. package/dist/chunk-BGGWKZ2V.mjs +6096 -0
  68. package/dist/{chunk-H5CLOUZS.cjs → chunk-BMOBTMDR.cjs} +5 -5
  69. package/dist/{chunk-Q2KB32T4.mjs → chunk-BPNRQ5BA.mjs} +6 -6
  70. package/dist/{chunk-E2ROOWQC.cjs → chunk-BPOTSHDO.cjs} +24 -87
  71. package/dist/chunk-BRYPZIMB.mjs +6 -0
  72. package/dist/{chunk-WFRT7JPX.mjs → chunk-BYQVROIP.mjs} +2 -2
  73. package/dist/{chunk-HALDNTIV.mjs → chunk-BYR3RQPB.mjs} +10 -73
  74. package/dist/{chunk-5PWXMJOH.cjs → chunk-C5KVWHIH.cjs} +36 -36
  75. package/dist/chunk-CALY6QG6.mjs +963 -0
  76. package/dist/{chunk-WC5UV2HQ.cjs → chunk-CBXBGM72.cjs} +2 -2
  77. package/dist/{chunk-WW46B6HA.cjs → chunk-CGR525MJ.cjs} +84 -45
  78. package/dist/{chunk-6V4TDWEC.cjs → chunk-CGVPXIRN.cjs} +18 -1
  79. package/dist/chunk-COABSY3U.mjs +196 -0
  80. package/dist/chunk-CZS6OACQ.mjs +63 -0
  81. package/dist/{chunk-SGBJ247Q.cjs → chunk-D4ROBNTK.cjs} +2 -2
  82. package/dist/{chunk-WEW2JVA4.cjs → chunk-D5IHNDHI.cjs} +6 -6
  83. package/dist/{chunk-QG775BRV.cjs → chunk-D64OPY6A.cjs} +72 -54
  84. package/dist/{chunk-QUCXCDE2.cjs → chunk-EH3464KF.cjs} +1 -1
  85. package/dist/{chunk-75HN5IZ3.mjs → chunk-ENOBPDKZ.mjs} +21 -19
  86. package/dist/{chunk-HD5CF3OE.mjs → chunk-ETPEZLS3.mjs} +2 -2
  87. package/dist/{chunk-HRETEZ2Z.cjs → chunk-EX4MKHXN.cjs} +37 -35
  88. package/dist/{chunk-TO4GJ56K.cjs → chunk-FEYQCYT7.cjs} +58 -18
  89. package/dist/chunk-FGH3ZXTP.mjs +1063 -0
  90. package/dist/{chunk-CUM5NYL5.mjs → chunk-FIAPD365.mjs} +1 -1
  91. package/dist/{chunk-HYTZYOW2.mjs → chunk-FJGIVDA5.mjs} +1197 -7906
  92. package/dist/chunk-FVPXT2JR.cjs +63 -0
  93. package/dist/{chunk-MYIZXDZA.mjs → chunk-FWCGUVVL.mjs} +1 -1
  94. package/dist/{chunk-D2ULAULS.cjs → chunk-FXFKIJDA.cjs} +9 -7
  95. package/dist/{chunk-RW63BOV7.cjs → chunk-GB7LDGY5.cjs} +2 -2
  96. package/dist/chunk-GC3EM6H4.mjs +80 -0
  97. package/dist/{chunk-E3UK5IIB.cjs → chunk-GS3WR5HX.cjs} +5 -3
  98. package/dist/{chunk-QFW2IH5E.mjs → chunk-GZTUT75U.mjs} +5 -2
  99. package/dist/chunk-H3EGVQE5.mjs +22 -0
  100. package/dist/chunk-HANGSYMB.mjs +67 -0
  101. package/dist/{chunk-RSOJ7DRT.mjs → chunk-HCSVR4YZ.mjs} +1 -58
  102. package/dist/{chunk-QYMZOOC5.mjs → chunk-HJ64F4GS.mjs} +12 -44
  103. package/dist/{chunk-P3PLW4FR.mjs → chunk-HKFBMHCD.mjs} +4 -4
  104. package/dist/{chunk-BXDJXFQG.cjs → chunk-I5MG3TKE.cjs} +4 -4
  105. package/dist/{chunk-VNGH5MLF.mjs → chunk-I6UVKUYK.mjs} +1 -1
  106. package/dist/{chunk-EPYU2EBL.mjs → chunk-IF4NU2NG.mjs} +1 -1
  107. package/dist/{chunk-WXJLNP33.cjs → chunk-IFWSR7YZ.cjs} +9 -7
  108. package/dist/{chunk-IVLZZZEI.mjs → chunk-IM7DY3ED.mjs} +1 -1
  109. package/dist/{chunk-W36M2BQ4.mjs → chunk-IN6RCKLL.mjs} +6 -5
  110. package/dist/{chunk-F5QO4FNE.mjs → chunk-INQ64HTJ.mjs} +43 -11
  111. package/dist/{chunk-SDOTRX3V.cjs → chunk-JEIG3EWE.cjs} +8 -8
  112. package/dist/{chunk-UWPLULNK.mjs → chunk-JGHCKIRI.mjs} +84 -24
  113. package/dist/{chunk-BFJTHYTN.mjs → chunk-JIYYX7WU.mjs} +10 -8
  114. package/dist/{chunk-CIOT4HGT.cjs → chunk-JOTUZIM4.cjs} +14 -14
  115. package/dist/{chunk-SKVTP5PR.mjs → chunk-JOW4HDJO.mjs} +1 -62
  116. package/dist/{chunk-6MVFL3R5.cjs → chunk-JR4QCLJY.cjs} +1 -58
  117. package/dist/{chunk-CGBDNNSM.cjs → chunk-KEXK442I.cjs} +44 -12
  118. package/dist/{chunk-FUCSUGDM.cjs → chunk-KF6VDJH7.cjs} +3 -3
  119. package/dist/{chunk-EA5K5BKU.mjs → chunk-KNHBTJP6.mjs} +18 -1
  120. package/dist/{chunk-MVL2RAJW.mjs → chunk-KYN5ODF6.mjs} +1 -1
  121. package/dist/{chunk-LMPAPBUA.cjs → chunk-L6A26QT5.cjs} +36 -68
  122. package/dist/{chunk-RVXFINNS.cjs → chunk-L6HYACBE.cjs} +31 -31
  123. package/dist/chunk-LFHCG2DU.mjs +43 -0
  124. package/dist/{chunk-5OKBARDN.cjs → chunk-LIZTLA5F.cjs} +12 -11
  125. package/dist/{chunk-HXRYZWTA.mjs → chunk-LLUA2LSC.mjs} +3 -3
  126. package/dist/{chunk-B5J2YVG7.cjs → chunk-LYIZHJTK.cjs} +2 -2
  127. package/dist/{chunk-3UEVPCGW.mjs → chunk-MEASUNVY.mjs} +6 -1
  128. package/dist/{chunk-FZ6YYU2W.mjs → chunk-MGMF4VP7.mjs} +38 -1
  129. package/dist/{chunk-CNNOLE4O.mjs → chunk-MHHCLYXU.mjs} +1 -1
  130. package/dist/{chunk-HRSAQ23K.cjs → chunk-MHN4UR5U.cjs} +4 -4
  131. package/dist/{chunk-3LOLJTFV.cjs → chunk-MN4TQJ3W.cjs} +11 -11
  132. package/dist/{chunk-PGZDEPTM.cjs → chunk-MY5PZYAD.cjs} +10 -10
  133. package/dist/{chunk-ZXH4TS3F.cjs → chunk-NBPNUQYO.cjs} +3 -64
  134. package/dist/{chunk-VXEEATVD.cjs → chunk-NFG4PUPI.cjs} +2 -2
  135. package/dist/{chunk-INL3THCU.mjs → chunk-O7USYJ4U.mjs} +1 -1
  136. package/dist/{chunk-4ZFL5GFN.cjs → chunk-OILHPMFX.cjs} +86 -26
  137. package/dist/{chunk-AJQTP4OO.mjs → chunk-OJ7JP7RJ.mjs} +1 -1
  138. package/dist/chunk-OQ4YXWH4.cjs +6097 -0
  139. package/dist/{chunk-DMEPTZTI.mjs → chunk-P2UJF4SS.mjs} +47 -7
  140. package/dist/{chunk-T5OJPTVN.cjs → chunk-P4TYB4SF.cjs} +2 -2
  141. package/dist/chunk-P7XDC7UJ.mjs +92 -0
  142. package/dist/{chunk-SHLXACIO.cjs → chunk-PJ42JESY.cjs} +1 -9
  143. package/dist/{chunk-5ULKUBIA.cjs → chunk-PN676AZF.cjs} +6 -6
  144. package/dist/{chunk-YKZRDB5Z.mjs → chunk-PYHPXPSW.mjs} +2 -2
  145. package/dist/{chunk-KMTGADN3.mjs → chunk-QCVIRVHE.mjs} +1 -9
  146. package/dist/{chunk-5D2JIPLH.cjs → chunk-QEILRWVV.cjs} +36 -138
  147. package/dist/{chunk-XKG2BLFN.cjs → chunk-QIBP5EFA.cjs} +18 -35
  148. package/dist/{chunk-ZUPXLIGB.mjs → chunk-R65GCA6A.mjs} +647 -378
  149. package/dist/{chunk-BWIQR4DH.cjs → chunk-RHGK2JEN.cjs} +56 -63
  150. package/dist/{chunk-AS2VPMEE.cjs → chunk-ROQ4C4LJ.cjs} +1465 -8174
  151. package/dist/{chunk-QV4VE2OW.mjs → chunk-S6ENKNNG.mjs} +5 -3
  152. package/dist/{chunk-RWFLWR5J.cjs → chunk-S7MTDRYA.cjs} +17 -15
  153. package/dist/{chunk-PVZE2JGJ.mjs → chunk-SGB4IW7K.mjs} +43 -25
  154. package/dist/{chunk-GKBWWRBG.mjs → chunk-SVPGWJZF.mjs} +12 -12
  155. package/dist/{chunk-EKN7NSZO.cjs → chunk-SZLNU3GJ.cjs} +8 -5
  156. package/dist/chunk-TI7UANHI.cjs +77 -0
  157. package/dist/{chunk-6BK3K2GB.mjs → chunk-UIDWEU7M.mjs} +83 -44
  158. package/dist/{chunk-MLY2RP5R.mjs → chunk-ULQOP5UI.mjs} +6 -2
  159. package/dist/chunk-UNJZGVPU.cjs +6 -0
  160. package/dist/{chunk-5BWWFHR2.mjs → chunk-UQUEANTY.mjs} +3 -3
  161. package/dist/chunk-VDRM36QB.cjs +963 -0
  162. package/dist/chunk-VHRS3MCW.cjs +196 -0
  163. package/dist/{chunk-SOP2EAA6.mjs → chunk-VLPII2JJ.mjs} +1 -1
  164. package/dist/{chunk-RG4A6LB2.cjs → chunk-VNPXKF3G.cjs} +7 -7
  165. package/dist/chunk-VQDBNVOO.cjs +14 -0
  166. package/dist/chunk-VQGKD7RV.mjs +25 -0
  167. package/dist/{chunk-6HB6V3R7.mjs → chunk-VTBXE6QG.mjs} +10 -27
  168. package/dist/{chunk-ZMSZZXOR.mjs → chunk-WDMIW6Q6.mjs} +0 -19
  169. package/dist/{chunk-NBBEQLOK.cjs → chunk-WLHA5USH.cjs} +9 -9
  170. package/dist/{chunk-BZHXGVMA.mjs → chunk-WMBRZI5V.mjs} +5 -3
  171. package/dist/{chunk-4WVJLURN.mjs → chunk-WMHG64DA.mjs} +1 -1
  172. package/dist/{chunk-JCYYXBAJ.cjs → chunk-WROEFVNO.cjs} +3 -3
  173. package/dist/{chunk-A657YSP4.cjs → chunk-WSOBCAYO.cjs} +37 -35
  174. package/dist/{chunk-IWZKTWHZ.cjs → chunk-WU7ZS3EM.cjs} +7 -2
  175. package/dist/{chunk-J63ZH5OQ.cjs → chunk-X3GMHKO3.cjs} +2 -2
  176. package/dist/{chunk-POSPE3IO.mjs → chunk-X3NGFVRF.mjs} +61 -21
  177. package/dist/{chunk-VT4WFRHA.mjs → chunk-XUC6CFLE.mjs} +1 -1
  178. package/dist/chunk-Y5RG6B7S.mjs +77 -0
  179. package/dist/{chunk-EIPC3FDA.cjs → chunk-YWCYV7QC.cjs} +9 -5
  180. package/dist/{chunk-WLL43JMO.mjs → chunk-YYQVGKO5.mjs} +7 -5
  181. package/dist/chunk-YZAKIXRL.cjs +67 -0
  182. package/dist/chunk-ZQRCSUSB.cjs +25 -0
  183. package/dist/{chunk-6XWDE2P2.cjs → chunk-ZTP3BJG6.cjs} +64 -24
  184. package/dist/{chunk-ZMMBIVQM.mjs → chunk-ZZGQD7A4.mjs} +16 -86
  185. package/dist/{client-plugins-CsCuCLBz.d.mts → client-plugins-CkYwvDJ0.d.mts} +2545 -2665
  186. package/dist/{client-plugins-D0ke-Hc8.d.ts → client-plugins-DfeKd0sD.d.ts} +2545 -2665
  187. package/dist/client-plugins.d.mts +6 -8
  188. package/dist/client-plugins.d.ts +6 -8
  189. package/dist/client.cjs +5 -5
  190. package/dist/client.d.mts +12 -13
  191. package/dist/client.d.ts +12 -13
  192. package/dist/client.mjs +4 -4
  193. package/dist/client.react-server.mjs +2 -0
  194. package/dist/config.d.mts +6 -8
  195. package/dist/config.d.ts +6 -8
  196. package/dist/{devtools-LW4QQ5J3.cjs → devtools-2YHAJYH6.cjs} +21 -18
  197. package/dist/{devtools-5AFIPVUJ.mjs → devtools-N3QLRIQU.mjs} +20 -17
  198. package/dist/docs.cjs +23 -20
  199. package/dist/docs.d.mts +7 -9
  200. package/dist/docs.d.ts +7 -9
  201. package/dist/docs.mjs +22 -19
  202. package/dist/{endpoint-CA-TNX60.d.ts → endpoint-BOE0IAaG.d.ts} +6 -3
  203. package/dist/{endpoint-CCHFqyTE.d.mts → endpoint-DGZRZHux.d.mts} +6 -3
  204. package/dist/environment/vite.cjs +6 -2
  205. package/dist/environment/vite.d.mts +11 -2
  206. package/dist/environment/vite.d.ts +11 -2
  207. package/dist/environment/vite.mjs +5 -1
  208. package/dist/headers.cjs +4 -4
  209. package/dist/headers.mjs +3 -3
  210. package/dist/image/server.cjs +7 -3
  211. package/dist/image/server.d.mts +10 -2
  212. package/dist/image/server.d.ts +10 -2
  213. package/dist/image/server.mjs +6 -2
  214. package/dist/image/sharp.cjs +12 -10
  215. package/dist/image/sharp.d.mts +1 -1
  216. package/dist/image/sharp.d.ts +1 -1
  217. package/dist/image/sharp.mjs +4 -2
  218. package/dist/{image-config-Duob7wER.d.ts → image-config-BpH1q5R8.d.mts} +4 -1
  219. package/dist/{image-config-Duob7wER.d.mts → image-config-BpH1q5R8.d.ts} +4 -1
  220. package/dist/image.d.mts +1 -1
  221. package/dist/image.d.ts +1 -1
  222. package/dist/index.cjs +90 -68
  223. package/dist/index.d.mts +28 -145
  224. package/dist/index.d.ts +28 -145
  225. package/dist/index.mjs +103 -81
  226. package/dist/{integration-api-BPJo5oXb.d.ts → integration-api-BuPHMeKz.d.ts} +2 -2
  227. package/dist/{integration-api-0y4FXJpC.d.mts → integration-api-DWyMmvrR.d.mts} +2 -2
  228. package/dist/integration-orm-P2II2EBK.cjs +14 -0
  229. package/dist/{integration-orm-KV5B3BGZ.mjs → integration-orm-RBKCIQYZ.mjs} +4 -3
  230. package/dist/integrations.cjs +7 -5
  231. package/dist/integrations.d.mts +8 -10
  232. package/dist/integrations.d.ts +8 -10
  233. package/dist/integrations.mjs +6 -4
  234. package/dist/internal/app-markdown-runtime.cjs +6 -5
  235. package/dist/internal/app-markdown-runtime.d.mts +7 -9
  236. package/dist/internal/app-markdown-runtime.d.ts +7 -9
  237. package/dist/internal/app-markdown-runtime.mjs +5 -4
  238. package/dist/internal/build-runtime.cjs +57 -56
  239. package/dist/internal/build-runtime.d.mts +8 -10
  240. package/dist/internal/build-runtime.d.ts +8 -10
  241. package/dist/internal/build-runtime.mjs +56 -55
  242. package/dist/internal/cli-runtime.cjs +37 -31
  243. package/dist/internal/cli-runtime.mjs +37 -31
  244. package/dist/internal/client-error-overlay.cjs +4 -4
  245. package/dist/internal/client-error-overlay.mjs +1 -1
  246. package/dist/internal/compression-runtime.d.mts +6 -8
  247. package/dist/internal/compression-runtime.d.ts +6 -8
  248. package/dist/internal/config-runtime.cjs +21 -18
  249. package/dist/internal/config-runtime.d.mts +7 -9
  250. package/dist/internal/config-runtime.d.ts +7 -9
  251. package/dist/internal/config-runtime.mjs +20 -17
  252. package/dist/internal/docs-precompiled-runtime.cjs +3 -3
  253. package/dist/internal/docs-precompiled-runtime.mjs +2 -2
  254. package/dist/internal/infra-analytics-runtime.cjs +7 -7
  255. package/dist/internal/infra-analytics-runtime.mjs +5 -5
  256. package/dist/internal/metadata-image-runtime.cjs +4 -3
  257. package/dist/internal/metadata-image-runtime.mjs +3 -2
  258. package/dist/internal/product-telemetry-runtime.cjs +2 -2
  259. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  260. package/dist/internal/production-node-env.cjs +2 -2
  261. package/dist/internal/production-node-env.mjs +1 -1
  262. package/dist/internal/production-runtime.cjs +53 -28
  263. package/dist/internal/production-runtime.d.mts +46 -15
  264. package/dist/internal/production-runtime.d.ts +46 -15
  265. package/dist/internal/production-runtime.mjs +57 -32
  266. package/dist/layers-CM5i6T7z.d.mts +55 -0
  267. package/dist/layers-CM5i6T7z.d.ts +55 -0
  268. package/dist/markdown.cjs +4 -4
  269. package/dist/markdown.d.mts +6 -8
  270. package/dist/markdown.d.ts +6 -8
  271. package/dist/markdown.mjs +3 -3
  272. package/dist/middleware.cjs +16 -10
  273. package/dist/middleware.d.mts +8 -10
  274. package/dist/middleware.d.ts +8 -10
  275. package/dist/middleware.mjs +19 -13
  276. package/dist/navigation.cjs +4 -4
  277. package/dist/navigation.d.mts +9 -10
  278. package/dist/navigation.d.ts +9 -10
  279. package/dist/navigation.mjs +3 -3
  280. package/dist/{nitro-MPZJGPXK.mjs → nitro-KDACKNHU.mjs} +3 -2
  281. package/dist/{nitro-7F65EZZS.cjs → nitro-NPGU6VBT.cjs} +4 -3
  282. package/dist/observability.cjs +2 -2
  283. package/dist/observability.mjs +1 -1
  284. package/dist/plugin-DBBZ4JI2.cjs +32 -0
  285. package/dist/plugin-SYMK7PQ2.mjs +32 -0
  286. package/dist/plugin.cjs +56 -43
  287. package/dist/plugin.d.mts +25 -8
  288. package/dist/plugin.d.ts +25 -8
  289. package/dist/plugin.mjs +57 -44
  290. package/dist/{production-runtime-DfRP0cV0.d.mts → production-runtime-BTkXQdYy.d.mts} +17 -3
  291. package/dist/{production-runtime-BaI3WHnV.d.ts → production-runtime-DFC7pgbp.d.ts} +17 -3
  292. package/dist/query/client.cjs +2 -2
  293. package/dist/query/client.mjs +3 -3
  294. package/dist/{render-plan-Dg8RBYFa.d.mts → render-plan-5rFeWmk7.d.mts} +1 -1
  295. package/dist/{render-plan-CfIdJKAf.d.ts → render-plan-BoAK9xFC.d.ts} +1 -1
  296. package/dist/renderer-client.d.mts +8 -9
  297. package/dist/renderer-client.d.ts +8 -9
  298. package/dist/{request-DfE02G_A.d.mts → request-BxBWigtl.d.mts} +1 -1
  299. package/dist/{request-CEbHIIl4.d.ts → request-fciwmd3n.d.ts} +1 -1
  300. package/dist/request.cjs +3 -3
  301. package/dist/request.d.mts +7 -9
  302. package/dist/request.d.ts +7 -9
  303. package/dist/request.mjs +2 -2
  304. package/dist/{route-rendering-C4oHbv6C.d.ts → route-rendering-BCM1QzEf.d.mts} +1 -1
  305. package/dist/{route-rendering-BHyOfXjD.d.mts → route-rendering-BLZT0IP0.d.ts} +1 -1
  306. package/dist/{router-uRN_29Em.d.ts → router-CkheNX3-.d.ts} +1 -1
  307. package/dist/{router-DwhA61SB.d.mts → router-DyZJWc1_.d.mts} +1 -1
  308. package/dist/routes.cjs +6 -5
  309. package/dist/routes.d.mts +6 -8
  310. package/dist/routes.d.ts +6 -8
  311. package/dist/routes.mjs +5 -4
  312. package/dist/{runtime-COk03hmx.d.ts → runtime-DfU4sKa5.d.ts} +3 -3
  313. package/dist/{runtime-BEdHhN4C.d.mts → runtime-wexvUN5J.d.mts} +3 -3
  314. package/dist/{schema-dev-notice-Y7MQEFGN.cjs → schema-dev-notice-5JPE67AI.cjs} +6 -4
  315. package/dist/{schema-dev-notice-O67CPXJ6.mjs → schema-dev-notice-WLPZ6WKU.mjs} +4 -2
  316. package/dist/server-action-security.cjs +4 -3
  317. package/dist/server-action-security.mjs +3 -2
  318. package/dist/server-client-bridge-DKWDl5NB.d.mts +7 -0
  319. package/dist/server-client-bridge-DKWDl5NB.d.ts +7 -0
  320. package/dist/server-fn-client.d.mts +3 -3
  321. package/dist/server-fn-client.d.ts +3 -3
  322. package/dist/server-fn.cjs +8 -7
  323. package/dist/server-fn.d.mts +1 -1
  324. package/dist/server-fn.d.ts +1 -1
  325. package/dist/server-fn.mjs +7 -6
  326. package/dist/server-plugins.cjs +5 -5
  327. package/dist/server-plugins.d.mts +7 -9
  328. package/dist/server-plugins.d.ts +7 -9
  329. package/dist/server-plugins.mjs +4 -4
  330. package/dist/server-query-client.d.mts +1 -1
  331. package/dist/server-query-client.d.ts +1 -1
  332. package/dist/server-query.cjs +9 -8
  333. package/dist/server-query.d.mts +1 -1
  334. package/dist/server-query.d.ts +1 -1
  335. package/dist/server-query.mjs +8 -7
  336. package/dist/server.cjs +97 -73
  337. package/dist/server.d.mts +18 -13
  338. package/dist/server.d.ts +18 -13
  339. package/dist/server.mjs +82 -58
  340. package/dist/{spa-router-DrVOBVGg.d.ts → spa-router-CcejECnG.d.ts} +2 -2
  341. package/dist/{spa-router-w4aFOuyn.d.mts → spa-router-DgsMXqfX.d.mts} +2 -2
  342. package/dist/ssg-1FGaFISl.d.ts +184 -0
  343. package/dist/ssg-Bg4bMMhM.d.mts +184 -0
  344. package/dist/storage.cjs +6 -2
  345. package/dist/storage.d.mts +9 -1
  346. package/dist/storage.d.ts +9 -1
  347. package/dist/storage.mjs +5 -1
  348. package/dist/testing.cjs +20 -18
  349. package/dist/testing.d.mts +7 -9
  350. package/dist/testing.d.ts +7 -9
  351. package/dist/testing.mjs +16 -14
  352. package/dist/theme/server.cjs +4 -4
  353. package/dist/theme/server.mjs +3 -3
  354. package/dist/{utils-Dhuqwmd2.d.ts → utils-8wtTYiH4.d.mts} +1 -1
  355. package/dist/{utils-BtYehqeU.d.mts → utils-Dxbh6Hgj.d.ts} +1 -1
  356. package/dist/version.cjs +2 -2
  357. package/dist/version.mjs +1 -1
  358. package/dist/vite.cjs +75 -46
  359. package/dist/vite.d.mts +130 -11
  360. package/dist/vite.d.ts +130 -11
  361. package/dist/vite.mjs +76 -47
  362. package/dist/{workflows-jZ4BcdoZ.d.ts → workflows-IWP1ddBm.d.mts} +5 -2
  363. package/dist/{workflows-jZ4BcdoZ.d.mts → workflows-IWP1ddBm.d.ts} +5 -2
  364. package/dist/workflows.cjs +4 -3
  365. package/dist/workflows.d.mts +1 -1
  366. package/dist/workflows.d.ts +1 -1
  367. package/dist/workflows.mjs +3 -2
  368. package/package.json +3 -1
  369. package/dist/chunk-3SDFA7UF.cjs +0 -701
  370. package/dist/chunk-DAO7JGTS.mjs +0 -73
  371. package/dist/chunk-E5GNDG5F.mjs +0 -701
  372. package/dist/chunk-SYQ3MOWW.cjs +0 -73
  373. package/dist/chunk-ULASELLA.cjs +0 -48
  374. package/dist/integration-orm-55F7CII5.cjs +0 -13
@@ -8,7 +8,7 @@ var _chunkLYLEZIG3cjs = require('./chunk-LYLEZIG3.cjs');
8
8
  var _chunkTKJZFIMLcjs = require('./chunk-TKJZFIML.cjs');
9
9
 
10
10
 
11
- var _chunkKIIMAWOJcjs = require('./chunk-KIIMAWOJ.cjs');
11
+ var _chunk5NAVKJCZcjs = require('./chunk-5NAVKJCZ.cjs');
12
12
 
13
13
 
14
14
  var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
@@ -137,7 +137,7 @@ async function finalizeMetadataImageResponse(body, headers, options) {
137
137
  responseHeaders.set("ETag", etag);
138
138
  responseHeaders.set("Content-Length", String(body.byteLength));
139
139
  responseHeaders.set("X-Content-Type-Options", "nosniff");
140
- if (_chunkKIIMAWOJcjs.matchesFarmIfNoneMatch.call(void 0, options.ifNoneMatch, etag)) {
140
+ if (_chunk5NAVKJCZcjs.matchesFarmIfNoneMatch.call(void 0, options.ifNoneMatch, etag)) {
141
141
  return new Response(null, { status: 304, headers: responseHeaders });
142
142
  }
143
143
  return new Response(_optionalChain([options, 'access', _4 => _4.method, 'optionalAccess', _5 => _5.toUpperCase, 'call', _6 => _6()]) === "HEAD" ? null : body, {
@@ -6,13 +6,88 @@ var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
6
6
  var FARM_NODE_ENV_MODULE_FILE = "farm-node-env.mjs";
7
7
  var FARM_NODE_ENV_MODULE_SOURCE = `if (!process.env.NODE_ENV) process.env.NODE_ENV = "production";
8
8
  `;
9
+ var NODE_SERVER_SOURCE = `const socketPath = process.env.NITRO_UNIX_SOCKET;
10
+ const server = serve({
11
+ manual: true,
12
+ silent: true,
13
+ gracefulShutdown: false,
14
+ port,
15
+ hostname: host,
16
+ node: socketPath ? { path: socketPath } : undefined,
17
+ tls: cert && key ? { cert, key } : undefined,
18
+ fetch: nitroApp.fetch,
19
+ plugins: [...tracingSrvxPlugins],
20
+ });
21
+ const nodeServer = server.node?.server;
22
+ if (!nodeServer) throw new Error("[Farm] Nitro did not create a Node server");
23
+
24
+ nodeServer.headersTimeout = farmServerConfig.headersTimeout;
25
+ nodeServer.requestTimeout = farmServerConfig.requestTimeout;
26
+ nodeServer.keepAliveTimeout = farmServerConfig.keepAliveTimeout;
27
+
28
+ let isShuttingDown = false;
29
+ nodeServer.on("request", (_request, response) => {
30
+ response.once("finish", () => {
31
+ if (isShuttingDown) nodeServer.closeIdleConnections?.();
32
+ });
33
+ });
34
+
35
+ if (import.meta._websocket) {
36
+ const { handleUpgrade } = wsAdapter({ resolve: resolveWebsocketHooks });
37
+ nodeServer.on("upgrade", (request, socket, head) => {
38
+ handleUpgrade(
39
+ request,
40
+ socket,
41
+ head,
42
+ new NodeRequest({ req: request, upgrade: { socket, head } }),
43
+ );
44
+ });
45
+ }
46
+ `;
47
+ var BUN_SERVER_SOURCE = `const ws = import.meta._websocket ? wsAdapter({ resolve: resolveWebsocketHooks }) : undefined;
48
+ const server = serve({
49
+ manual: true,
50
+ silent: true,
51
+ gracefulShutdown: false,
52
+ port,
53
+ hostname: host,
54
+ tls: cert && key ? { cert, key } : undefined,
55
+ fetch: import.meta._websocket
56
+ ? (request) =>
57
+ request.headers.get("upgrade") === "websocket"
58
+ ? ws.handleUpgrade(request, request.runtime.bun.server)
59
+ : nitroApp.fetch(request)
60
+ : nitroApp.fetch,
61
+ bun: { websocket: import.meta._websocket ? ws?.websocket : undefined },
62
+ plugins: [...tracingSrvxPlugins],
63
+ });
64
+
65
+ let isShuttingDown = false;
66
+ `;
9
67
  function createFarmNodeServerEntry(options) {
68
+ return createFarmServerEntry({
69
+ ...options,
70
+ runtime: "node",
71
+ adapterModule: options.nodeAdapterModule
72
+ });
73
+ }
74
+ _chunkS3JO3N4Hcjs.__name.call(void 0, createFarmNodeServerEntry, "createFarmNodeServerEntry");
75
+ function createFarmBunServerEntry(options) {
76
+ return createFarmServerEntry({
77
+ ...options,
78
+ runtime: "bun",
79
+ adapterModule: options.bunAdapterModule
80
+ });
81
+ }
82
+ _chunkS3JO3N4Hcjs.__name.call(void 0, createFarmBunServerEntry, "createFarmBunServerEntry");
83
+ function createFarmServerEntry(options) {
10
84
  const serverConfig = JSON.stringify(options.server);
11
85
  const nitroEntryImport = `./${options.nitroEntryFile.replace(/^\.\//, "")}`;
86
+ const node = options.runtime === "node";
12
87
  return `
13
- import "./${FARM_NODE_ENV_MODULE_FILE}";
14
- import "#nitro/virtual/polyfills";
15
- import { NodeRequest, serve } from ${JSON.stringify(options.nodeAdapterModule)};
88
+ ${node ? `import "./${FARM_NODE_ENV_MODULE_FILE}";
89
+ ` : ""}import "#nitro/virtual/polyfills";
90
+ import { ${node ? "NodeRequest, " : ""}serve } from ${JSON.stringify(options.adapterModule)};
16
91
  import wsAdapter from ${JSON.stringify(options.websocketAdapterModule)};
17
92
  import { resolveWebsocketHooks, useNitroApp, useNitroHooks } from "#nitro/runtime/app";
18
93
  import { useRuntimeConfig } from "#nitro/runtime/runtime-config";
@@ -135,44 +210,7 @@ const key = process.env.NITRO_SSL_KEY;
135
210
  const configuredPort = Number(process.env.NITRO_PORT || process.env.PORT);
136
211
  const port = Number.isFinite(configuredPort) && configuredPort > 0 ? configuredPort : 3000;
137
212
  const host = process.env.NITRO_HOST || process.env.HOST;
138
- const socketPath = process.env.NITRO_UNIX_SOCKET;
139
- const server = serve({
140
- manual: true,
141
- silent: true,
142
- gracefulShutdown: false,
143
- port,
144
- hostname: host,
145
- node: socketPath ? { path: socketPath } : undefined,
146
- tls: cert && key ? { cert, key } : undefined,
147
- fetch: nitroApp.fetch,
148
- plugins: [...tracingSrvxPlugins],
149
- });
150
- const nodeServer = server.node?.server;
151
- if (!nodeServer) throw new Error("[Farm] Nitro did not create a Node server");
152
-
153
- nodeServer.headersTimeout = farmServerConfig.headersTimeout;
154
- nodeServer.requestTimeout = farmServerConfig.requestTimeout;
155
- nodeServer.keepAliveTimeout = farmServerConfig.keepAliveTimeout;
156
-
157
- let isShuttingDown = false;
158
- nodeServer.on("request", (_request, response) => {
159
- response.once("finish", () => {
160
- if (isShuttingDown) nodeServer.closeIdleConnections?.();
161
- });
162
- });
163
-
164
- if (import.meta._websocket) {
165
- const { handleUpgrade } = wsAdapter({ resolve: resolveWebsocketHooks });
166
- nodeServer.on("upgrade", (request, socket, head) => {
167
- handleUpgrade(
168
- request,
169
- socket,
170
- head,
171
- new NodeRequest({ req: request, upgrade: { socket, head } }),
172
- );
173
- });
174
- }
175
-
213
+ ${node ? NODE_SERVER_SOURCE : BUN_SERVER_SOURCE}
176
214
  setupCloseHooks(server);
177
215
  trapUnhandledErrors();
178
216
 
@@ -189,7 +227,7 @@ async function shutdown(signal) {
189
227
  return true;
190
228
  },
191
229
  );
192
- nodeServer.closeIdleConnections?.();
230
+ ${node ? "nodeServer.closeIdleConnections?.();" : ""}
193
231
  let gracefulTimer;
194
232
  const gracefullyClosed = await Promise.race([
195
233
  gracefulClose,
@@ -243,7 +281,7 @@ if (!shutdownConfig.disabled) {
243
281
  try {
244
282
  await server.serve();
245
283
  const protocol = cert && key ? "https" : "http";
246
- const addressInfo = nodeServer.address();
284
+ const addressInfo = ${node ? "nodeServer.address()" : "server.bun.server?.address"};
247
285
  if (typeof addressInfo === "string") {
248
286
  console.log(\`Listening on unix socket \${addressInfo}\`);
249
287
  } else if (addressInfo) {
@@ -272,7 +310,7 @@ if (import.meta._tasks) {
272
310
  export default {};
273
311
  `.trim();
274
312
  }
275
- _chunkS3JO3N4Hcjs.__name.call(void 0, createFarmNodeServerEntry, "createFarmNodeServerEntry");
313
+ _chunkS3JO3N4Hcjs.__name.call(void 0, createFarmServerEntry, "createFarmServerEntry");
276
314
 
277
315
  // src/build/production-node-env.ts
278
316
  var productionNodeEnvStateKey = /* @__PURE__ */ Symbol.for("@farm.js/core/production-node-env-state");
@@ -315,4 +353,5 @@ _chunkS3JO3N4Hcjs.__name.call(void 0, withProductionNodeEnv, "withProductionNode
315
353
 
316
354
 
317
355
 
318
- exports.FARM_NODE_ENV_MODULE_FILE = FARM_NODE_ENV_MODULE_FILE; exports.FARM_NODE_ENV_MODULE_SOURCE = FARM_NODE_ENV_MODULE_SOURCE; exports.createFarmNodeServerEntry = createFarmNodeServerEntry; exports.withProductionNodeEnv = withProductionNodeEnv;
356
+
357
+ exports.FARM_NODE_ENV_MODULE_FILE = FARM_NODE_ENV_MODULE_FILE; exports.FARM_NODE_ENV_MODULE_SOURCE = FARM_NODE_ENV_MODULE_SOURCE; exports.createFarmNodeServerEntry = createFarmNodeServerEntry; exports.createFarmBunServerEntry = createFarmBunServerEntry; exports.withProductionNodeEnv = withProductionNodeEnv;
@@ -442,6 +442,23 @@ function parseRouteSegment(segment) {
442
442
  return { segment, isDynamic: false, isOptional: false, isCatchAll: false };
443
443
  }
444
444
  _chunkS3JO3N4Hcjs.__name.call(void 0, parseRouteSegment, "parseRouteSegment");
445
+ var PROGRAMMATIC_ROUTE_SOURCE = /* @__PURE__ */ Symbol.for("farm.routes.source");
446
+ var TRACK_PROGRAMMATIC_ROUTE_SOURCES = /* @__PURE__ */ Symbol.for("farm.routes.trackSources");
447
+ function trackProgrammaticRouteSources() {
448
+ globalThis[TRACK_PROGRAMMATIC_ROUTE_SOURCES] = true;
449
+ }
450
+ _chunkS3JO3N4Hcjs.__name.call(void 0, trackProgrammaticRouteSources, "trackProgrammaticRouteSources");
451
+ function getProgrammaticRouteDefinitionSource(route) {
452
+ if (!route || typeof route !== "object") return void 0;
453
+ const source = route[PROGRAMMATIC_ROUTE_SOURCE];
454
+ return source && typeof source === "object" && Array.isArray(source.stacks) ? source : void 0;
455
+ }
456
+ _chunkS3JO3N4Hcjs.__name.call(void 0, getProgrammaticRouteDefinitionSource, "getProgrammaticRouteDefinitionSource");
457
+
458
+
459
+
460
+
461
+
445
462
 
446
463
 
447
464
 
@@ -452,4 +469,4 @@ _chunkS3JO3N4Hcjs.__name.call(void 0, parseRouteSegment, "parseRouteSegment");
452
469
 
453
470
 
454
471
 
455
- exports.extractProgrammaticPageCallPathLiterals = extractProgrammaticPageCallPathLiterals; exports.PROGRAMMATIC_ROUTE_FILE_NAMES = PROGRAMMATIC_ROUTE_FILE_NAMES; exports.getProgrammaticRouteSearchClientOptions = getProgrammaticRouteSearchClientOptions; exports.isProgrammaticRoutesFileName = isProgrammaticRoutesFileName; exports.createProgrammaticRouteModuleId = createProgrammaticRouteModuleId; exports.parseProgrammaticRouteModuleId = parseProgrammaticRouteModuleId; exports.parseProgrammaticRoutePath = parseProgrammaticRoutePath; exports.scanProgrammaticPagePaths = scanProgrammaticPagePaths;
472
+ exports.extractProgrammaticPageCallPathLiterals = extractProgrammaticPageCallPathLiterals; exports.PROGRAMMATIC_ROUTE_FILE_NAMES = PROGRAMMATIC_ROUTE_FILE_NAMES; exports.getProgrammaticRouteSearchClientOptions = getProgrammaticRouteSearchClientOptions; exports.isProgrammaticRoutesFileName = isProgrammaticRoutesFileName; exports.createProgrammaticRouteModuleId = createProgrammaticRouteModuleId; exports.parseProgrammaticRouteModuleId = parseProgrammaticRouteModuleId; exports.parseProgrammaticRoutePath = parseProgrammaticRoutePath; exports.scanProgrammaticPagePaths = scanProgrammaticPagePaths; exports.normalizeProgrammaticRoutePath = normalizeProgrammaticRoutePath; exports.PROGRAMMATIC_ROUTE_SOURCE = PROGRAMMATIC_ROUTE_SOURCE; exports.TRACK_PROGRAMMATIC_ROUTE_SOURCES = TRACK_PROGRAMMATIC_ROUTE_SOURCES; exports.trackProgrammaticRouteSources = trackProgrammaticRouteSources; exports.getProgrammaticRouteDefinitionSource = getProgrammaticRouteDefinitionSource;
@@ -0,0 +1,196 @@
1
+ import {
2
+ __name
3
+ } from "./chunk-LPEX4YW6.mjs";
4
+
5
+ // src/route-rendering.ts
6
+ function normalizeDynamicMode(value) {
7
+ switch (value) {
8
+ case "auto":
9
+ case "force-static":
10
+ case "force-dynamic":
11
+ case "error":
12
+ return value;
13
+ default:
14
+ return void 0;
15
+ }
16
+ }
17
+ __name(normalizeDynamicMode, "normalizeDynamicMode");
18
+ function mergeRouteRenderingDirectiveConfig(directiveConfig, mod, options) {
19
+ const pprEnabled = options?.experimentalPPR === true;
20
+ let ssg = directiveConfig?.ssg ?? false;
21
+ let requestedPPR = directiveConfig?.ppr ?? false;
22
+ let revalidate = directiveConfig?.revalidate;
23
+ const moduleDynamic = normalizeDynamicMode(mod?.dynamic);
24
+ const dynamic = moduleDynamic ?? directiveConfig?.dynamic;
25
+ const hasExplicitSsg = typeof mod?.ssg === "boolean";
26
+ const hasExplicitPPR = typeof mod?.ppr === "boolean" || typeof mod?.experimental_ppr === "boolean";
27
+ if (hasExplicitSsg) {
28
+ ssg = mod.ssg === true;
29
+ }
30
+ if (hasExplicitPPR) {
31
+ requestedPPR = mod?.ppr === true || mod?.experimental_ppr === true;
32
+ }
33
+ if (typeof mod?.revalidate === "number") {
34
+ if (mod.revalidate > 0) {
35
+ revalidate = mod.revalidate;
36
+ if (!hasExplicitSsg && !requestedPPR) {
37
+ ssg = true;
38
+ }
39
+ } else {
40
+ revalidate = void 0;
41
+ if (!hasExplicitSsg) {
42
+ ssg = false;
43
+ }
44
+ }
45
+ } else if (mod?.revalidate === false) {
46
+ revalidate = void 0;
47
+ }
48
+ if (moduleDynamic === "force-static" || moduleDynamic === "error") {
49
+ ssg = true;
50
+ requestedPPR = false;
51
+ } else if (moduleDynamic === "force-dynamic") {
52
+ ssg = false;
53
+ requestedPPR = false;
54
+ revalidate = void 0;
55
+ }
56
+ if (directiveConfig?.requestBound && ssg) {
57
+ ssg = false;
58
+ revalidate = void 0;
59
+ }
60
+ const ppr = pprEnabled && !ssg && requestedPPR;
61
+ return {
62
+ ssg,
63
+ ppr,
64
+ revalidate: ssg || ppr ? revalidate : void 0,
65
+ dynamic,
66
+ directive: directiveConfig?.directive
67
+ };
68
+ }
69
+ __name(mergeRouteRenderingDirectiveConfig, "mergeRouteRenderingDirectiveConfig");
70
+
71
+ // src/ssg-paths.ts
72
+ var OPTIONAL_CATCH_ALL_SEGMENT = /^\[\[\.\.\.([^\]]+)\]\]$/;
73
+ var REQUIRED_CATCH_ALL_SEGMENT = /^\[\.\.\.([^\]]+)\]$/;
74
+ var REQUIRED_DYNAMIC_SEGMENT = /^\[([^\]]+)\]$/;
75
+ function materializeSSGRoutePath(routePattern, params) {
76
+ const outputSegments = [];
77
+ for (const segment of routePattern.split("/")) {
78
+ if (!segment) {
79
+ continue;
80
+ }
81
+ const optionalCatchAll = segment.match(OPTIONAL_CATCH_ALL_SEGMENT);
82
+ if (optionalCatchAll) {
83
+ const parameterName = optionalCatchAll[1];
84
+ const value = params[parameterName];
85
+ const values = readCatchAllSegments(value, {
86
+ optional: true,
87
+ parameterName,
88
+ routePattern
89
+ });
90
+ outputSegments.push(...values.map(encodePathSegment));
91
+ continue;
92
+ }
93
+ const requiredCatchAll = segment.match(REQUIRED_CATCH_ALL_SEGMENT);
94
+ if (requiredCatchAll) {
95
+ const parameterName = requiredCatchAll[1];
96
+ const value = params[parameterName];
97
+ const values = readCatchAllSegments(value, {
98
+ optional: false,
99
+ parameterName,
100
+ routePattern
101
+ });
102
+ outputSegments.push(...values.map(encodePathSegment));
103
+ continue;
104
+ }
105
+ const requiredDynamic = segment.match(REQUIRED_DYNAMIC_SEGMENT);
106
+ if (requiredDynamic) {
107
+ const parameterName = requiredDynamic[1];
108
+ const value = params[parameterName];
109
+ if (isStaticPathArray(value)) {
110
+ throw new Error(
111
+ `Cannot materialize SSG route "${routePattern}": parameter "${parameterName}" must be a scalar value; arrays are only supported for catch-all segments.`
112
+ );
113
+ }
114
+ if (isMissingPathValue(value)) {
115
+ throw missingRequiredParameterError(routePattern, parameterName);
116
+ }
117
+ outputSegments.push(encodePathSegment(value));
118
+ continue;
119
+ }
120
+ outputSegments.push(segment);
121
+ }
122
+ return outputSegments.length > 0 ? `/${outputSegments.join("/")}` : "/";
123
+ }
124
+ __name(materializeSSGRoutePath, "materializeSSGRoutePath");
125
+ function readCatchAllSegments(value, options) {
126
+ if (isMissingPathValue(value) || isStaticPathArray(value) && value.length === 0) {
127
+ if (options.optional) {
128
+ return [];
129
+ }
130
+ throw missingRequiredParameterError(options.routePattern, options.parameterName);
131
+ }
132
+ const segments = isStaticPathArray(value) ? [...value] : [value];
133
+ if (segments.some(isMissingPathValue)) {
134
+ throw new Error(
135
+ `Cannot materialize SSG route "${options.routePattern}": catch-all parameter "${options.parameterName}" contains an empty path segment.`
136
+ );
137
+ }
138
+ return segments;
139
+ }
140
+ __name(readCatchAllSegments, "readCatchAllSegments");
141
+ function getOptionalCatchAllParameterNames(routePattern) {
142
+ return new Set(
143
+ routePattern.split("/").map((segment) => segment.match(OPTIONAL_CATCH_ALL_SEGMENT)?.[1]).filter((name) => Boolean(name))
144
+ );
145
+ }
146
+ __name(getOptionalCatchAllParameterNames, "getOptionalCatchAllParameterNames");
147
+ function normalizeStaticPathParams(params, optionalCatchAllParams) {
148
+ const entries = Object.entries(params).map(([key, value]) => {
149
+ const emptyOptionalCatchAll = optionalCatchAllParams.has(key) && (isMissingPathValue(value) || isStaticPathArray(value) && value.length === 0);
150
+ return [
151
+ key,
152
+ emptyOptionalCatchAll ? "" : isStaticPathArray(value) ? value.map(String).join("/") : String(value)
153
+ ];
154
+ });
155
+ for (const name of optionalCatchAllParams) {
156
+ if (!Object.prototype.hasOwnProperty.call(params, name)) {
157
+ entries.push([name, ""]);
158
+ }
159
+ }
160
+ return Object.fromEntries(entries);
161
+ }
162
+ __name(normalizeStaticPathParams, "normalizeStaticPathParams");
163
+ function isMissingPathValue(value) {
164
+ return value === "" || value === null || typeof value === "undefined";
165
+ }
166
+ __name(isMissingPathValue, "isMissingPathValue");
167
+ function isStaticPathArray(value) {
168
+ return Array.isArray(value);
169
+ }
170
+ __name(isStaticPathArray, "isStaticPathArray");
171
+ function missingRequiredParameterError(routePattern, parameterName) {
172
+ return new Error(
173
+ `Cannot materialize SSG route "${routePattern}": required parameter "${parameterName}" is missing or empty.`
174
+ );
175
+ }
176
+ __name(missingRequiredParameterError, "missingRequiredParameterError");
177
+ function encodePathSegment(value) {
178
+ const encoded = encodeURIComponent(String(value)).replace(
179
+ /[!'()*]/g,
180
+ (character) => `%${character.charCodeAt(0).toString(16).toUpperCase()}`
181
+ );
182
+ if (encoded === "." || encoded === "..") {
183
+ throw new Error(
184
+ `Cannot materialize SSG path segment "${encoded}": dot-only segments are unsafe to prerender.`
185
+ );
186
+ }
187
+ return encoded;
188
+ }
189
+ __name(encodePathSegment, "encodePathSegment");
190
+
191
+ export {
192
+ mergeRouteRenderingDirectiveConfig,
193
+ materializeSSGRoutePath,
194
+ getOptionalCatchAllParameterNames,
195
+ normalizeStaticPathParams
196
+ };
@@ -0,0 +1,63 @@
1
+ import {
2
+ __name
3
+ } from "./chunk-LPEX4YW6.mjs";
4
+
5
+ // src/plugin-dependencies.ts
6
+ function pluginShortName(name) {
7
+ return name.slice(Math.max(name.lastIndexOf(":"), name.lastIndexOf("/")) + 1);
8
+ }
9
+ __name(pluginShortName, "pluginShortName");
10
+ function assertPluginDependencies(plugins, integrations) {
11
+ const integrationKeys = integrations && !Array.isArray(integrations) ? Object.keys(integrations) : [];
12
+ const matches = /* @__PURE__ */ __name((plugin, dependency) => plugin.name === dependency || pluginShortName(plugin.name) === dependency, "matches");
13
+ for (const plugin of plugins) {
14
+ if (plugin.dependsOn === void 0) continue;
15
+ if (!Array.isArray(plugin.dependsOn) || plugin.dependsOn.some((entry) => typeof entry !== "string" || entry.trim() === "")) {
16
+ throw new TypeError(
17
+ `Plugin "${plugin.name}" has an invalid \`dependsOn\`: list plugin names, such as ["teams"].`
18
+ );
19
+ }
20
+ for (const dependency of plugin.dependsOn) {
21
+ if (matches(plugin, dependency)) {
22
+ throw new Error(`Plugin "${plugin.name}" lists itself in \`dependsOn\`.`);
23
+ }
24
+ const found = plugins.some((candidate) => candidate !== plugin && matches(candidate, dependency)) || integrationKeys.includes(dependency);
25
+ if (!found) {
26
+ const configured = [
27
+ ...plugins.map((candidate) => candidate.name),
28
+ ...integrationKeys
29
+ ].filter((name) => name !== plugin.name);
30
+ throw new Error(
31
+ `Plugin "${plugin.name}" depends on "${dependency}", which is not configured. Add it to \`plugins\` (or \`integrations\`) in farm.config.${configured.length > 0 ? ` Configured: ${configured.join(", ")}.` : ""}`
32
+ );
33
+ }
34
+ }
35
+ }
36
+ const state = /* @__PURE__ */ new Map();
37
+ const path = [];
38
+ const visit = /* @__PURE__ */ __name((plugin) => {
39
+ if (state.get(plugin) === "done") return;
40
+ if (state.get(plugin) === "visiting") {
41
+ const cycle = [...path.slice(path.indexOf(plugin)), plugin].map(
42
+ (entry) => pluginShortName(entry.name)
43
+ );
44
+ throw new Error(`Plugins depend on each other in a cycle: ${cycle.join(" \u2192 ")}.`);
45
+ }
46
+ state.set(plugin, "visiting");
47
+ path.push(plugin);
48
+ for (const dependency of plugin.dependsOn ?? []) {
49
+ for (const candidate of plugins) {
50
+ if (candidate !== plugin && matches(candidate, dependency)) visit(candidate);
51
+ }
52
+ }
53
+ path.pop();
54
+ state.set(plugin, "done");
55
+ }, "visit");
56
+ for (const plugin of plugins) visit(plugin);
57
+ }
58
+ __name(assertPluginDependencies, "assertPluginDependencies");
59
+
60
+ export {
61
+ pluginShortName,
62
+ assertPluginDependencies
63
+ };
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkJ63ZH5OQcjs = require('./chunk-J63ZH5OQ.cjs');
3
+ var _chunkX3GMHKO3cjs = require('./chunk-X3GMHKO3.cjs');
4
4
 
5
5
 
6
6
  var _chunk75RZHGLScjs = require('./chunk-75RZHGLS.cjs');
@@ -304,7 +304,7 @@ function createFarmMarkdownViewResponse(options) {
304
304
  status = 412;
305
305
  options.headers.set("Cache-Control", "no-store");
306
306
  }
307
- _chunkJ63ZH5OQcjs.emitFarmAgentRead.call(void 0, options.request, "markdown", status, readMarkdownViewName(url.searchParams));
307
+ _chunkX3GMHKO3cjs.emitFarmAgentRead.call(void 0, options.request, "markdown", status, readMarkdownViewName(url.searchParams));
308
308
  for (const [name, value] of Object.entries(_nullishCoalesce(view.headers, () => ( {}))))
309
309
  options.headers.append(name, value);
310
310
  const etag = createFarmMarkdownETag(view.body);
@@ -2,10 +2,10 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkSGBJ247Qcjs = require('./chunk-SGBJ247Q.cjs');
5
+ var _chunkD4ROBNTKcjs = require('./chunk-D4ROBNTK.cjs');
6
6
 
7
7
 
8
- var _chunkJ63ZH5OQcjs = require('./chunk-J63ZH5OQ.cjs');
8
+ var _chunkX3GMHKO3cjs = require('./chunk-X3GMHKO3.cjs');
9
9
 
10
10
 
11
11
  var _chunkI57LW5VZcjs = require('./chunk-I57LW5VZ.cjs');
@@ -66,12 +66,12 @@ function collectFarmLlmsTxtPages(sources, options) {
66
66
  for (const source of sources) {
67
67
  const path = source.pattern;
68
68
  if (path.includes("[") || pages.has(path)) continue;
69
- if (include.length && !include.some((pattern) => _chunkSGBJ247Qcjs.matchesFarmMarkdownRoutePattern.call(void 0, pattern, path))) {
69
+ if (include.length && !include.some((pattern) => _chunkD4ROBNTKcjs.matchesFarmMarkdownRoutePattern.call(void 0, pattern, path))) {
70
70
  continue;
71
71
  }
72
- if (exclude.some((pattern) => _chunkSGBJ247Qcjs.matchesFarmMarkdownRoutePattern.call(void 0, pattern, path))) continue;
72
+ if (exclude.some((pattern) => _chunkD4ROBNTKcjs.matchesFarmMarkdownRoutePattern.call(void 0, pattern, path))) continue;
73
73
  if (isFarmMetadataNoIndex(source.metadata)) continue;
74
- const target = _chunkSGBJ247Qcjs.isFarmMarkdownMirrorExposed.call(void 0, options.markdown, path) ? _chunkSGBJ247Qcjs.getFarmMarkdownMirrorPath.call(void 0, path) : path;
74
+ const target = _chunkD4ROBNTKcjs.isFarmMarkdownMirrorExposed.call(void 0, options.markdown, path) ? _chunkD4ROBNTKcjs.getFarmMarkdownMirrorPath.call(void 0, path) : path;
75
75
  const description = readMetadataString(source.metadata, "description");
76
76
  pages.set(path, {
77
77
  path,
@@ -166,7 +166,7 @@ function createFarmLlmsMarkdownReader(fetchMarkdown) {
166
166
  try {
167
167
  const response = await fetchMarkdown(
168
168
  new Request(url, {
169
- headers: { accept: "text/markdown", [_chunkJ63ZH5OQcjs.FARM_INTERNAL_READ_HEADER]: "llms-full" }
169
+ headers: { accept: "text/markdown", [_chunkX3GMHKO3cjs.FARM_INTERNAL_READ_HEADER]: "llms-full" }
170
170
  })
171
171
  );
172
172
  const type = _nullishCoalesce(response.headers.get("content-type"), () => ( ""));