@farm.js/core 0.1.51-beta.3 → 0.1.61

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 (1248) hide show
  1. package/dist/after.cjs +3 -3
  2. package/dist/after.mjs +2 -2
  3. package/dist/agent-mcp-handler-LPJ2CADR.mjs +19 -0
  4. package/dist/agent-mcp-handler-SJAHFSPI.cjs +19 -0
  5. package/dist/agent-runtime.cjs +59 -36
  6. package/dist/agent-runtime.mjs +58 -35
  7. package/dist/api/client.cjs +14 -14
  8. package/dist/api/client.mjs +13 -13
  9. package/dist/api/route-manager.cjs +39 -41
  10. package/dist/api/route-manager.mjs +38 -40
  11. package/dist/api/runtime.cjs +22 -24
  12. package/dist/api/runtime.mjs +22 -24
  13. package/dist/api.cjs +50 -52
  14. package/dist/api.mjs +49 -51
  15. package/dist/app-markdown.cjs +15 -15
  16. package/dist/app-markdown.mjs +14 -14
  17. package/dist/cache.cjs +7 -10
  18. package/dist/cache.mjs +6 -9
  19. package/dist/chunk-23MGIV4X.mjs +579 -0
  20. package/dist/chunk-27ZWSI3W.cjs +64 -0
  21. package/dist/chunk-2A3EQHXX.mjs +173 -0
  22. package/dist/chunk-2CQ74SP6.cjs +13 -0
  23. package/dist/chunk-2ELDTQRN.mjs +85 -0
  24. package/dist/chunk-2J7W2WND.mjs +149 -0
  25. package/dist/chunk-2NNMOPDN.mjs +237 -0
  26. package/dist/chunk-2PQNJXFM.mjs +20 -0
  27. package/dist/chunk-2SJ4RQ6P.cjs +57 -0
  28. package/dist/chunk-2UC36WAC.mjs +22 -0
  29. package/dist/chunk-2VQKKQ6D.mjs +51 -0
  30. package/dist/chunk-2Y3JRYVG.mjs +71 -0
  31. package/dist/chunk-35GKZR22.mjs +157 -0
  32. package/dist/chunk-3BU22U3M.cjs +237 -0
  33. package/dist/chunk-3KZS4SUS.mjs +414 -0
  34. package/dist/chunk-3SDFA7UF.cjs +701 -0
  35. package/dist/chunk-3TLO7SBY.cjs +240 -0
  36. package/dist/chunk-3UEVPCGW.mjs +435 -0
  37. package/dist/chunk-3WNDJT2E.cjs +109 -0
  38. package/dist/chunk-44SYJEG3.mjs +13 -0
  39. package/dist/chunk-45ZSJLDT.mjs +183 -0
  40. package/dist/chunk-4E5AEDKY.mjs +696 -0
  41. package/dist/chunk-4E5WBPEG.mjs +1157 -0
  42. package/dist/chunk-4GLOOWKE.mjs +1344 -0
  43. package/dist/chunk-4JCQDWPX.mjs +24 -0
  44. package/dist/chunk-4NU4GGTC.cjs +484 -0
  45. package/dist/chunk-4OOBRCJX.mjs +300 -0
  46. package/dist/chunk-4PPEPOZZ.cjs +21 -0
  47. package/dist/chunk-4RB44K6Z.mjs +94 -0
  48. package/dist/chunk-4SIYUGRY.mjs +93 -0
  49. package/dist/chunk-4WQ6PGSJ.cjs +367 -0
  50. package/dist/chunk-4WVJLURN.mjs +417 -0
  51. package/dist/chunk-4ZFL5GFN.cjs +520 -0
  52. package/dist/chunk-54UPOYFS.mjs +35 -0
  53. package/dist/chunk-55YI3RRB.mjs +192 -0
  54. package/dist/chunk-5I3OT426.cjs +11021 -0
  55. package/dist/chunk-5QIKR7RR.cjs +224 -0
  56. package/dist/chunk-5SJWVY6R.mjs +26 -0
  57. package/dist/chunk-5WI2S4CO.mjs +20 -0
  58. package/dist/chunk-63H6BKXG.cjs +389 -0
  59. package/dist/chunk-655RLQQL.mjs +43 -0
  60. package/dist/chunk-6EODJYCX.cjs +183 -0
  61. package/dist/chunk-6EXBPJ24.cjs +434 -0
  62. package/dist/chunk-6MVFL3R5.cjs +506 -0
  63. package/dist/chunk-6NT6S2VQ.mjs +180 -0
  64. package/dist/chunk-6QQDAAAZ.cjs +38 -0
  65. package/dist/chunk-6SJ2KJTA.mjs +314 -0
  66. package/dist/chunk-6SM5XXFS.cjs +70 -0
  67. package/dist/chunk-6V4TDWEC.cjs +455 -0
  68. package/dist/chunk-72ADZ6GQ.cjs +19 -0
  69. package/dist/chunk-72AK62H5.mjs +55 -0
  70. package/dist/chunk-75RZHGLS.cjs +135 -0
  71. package/dist/chunk-77GNHH2Z.cjs +236 -0
  72. package/dist/chunk-7DBXEASO.cjs +40 -0
  73. package/dist/chunk-7LTCDQRS.mjs +166 -0
  74. package/dist/chunk-7W3CPVXS.cjs +24 -0
  75. package/dist/chunk-A6WIQH5Z.cjs +31 -0
  76. package/dist/chunk-ADEA7PN3.cjs +1101 -0
  77. package/dist/chunk-AELACLOB.mjs +47 -0
  78. package/dist/chunk-AHGECQEW.mjs +49 -0
  79. package/dist/chunk-AI7QMY7O.cjs +41 -0
  80. package/dist/chunk-AJQTP4OO.mjs +212 -0
  81. package/dist/chunk-AMDMVWMI.cjs +39 -0
  82. package/dist/chunk-ARJWXNQL.cjs +256 -0
  83. package/dist/chunk-BCMSYSN2.mjs +183 -0
  84. package/dist/chunk-BIDYX3SL.cjs +91 -0
  85. package/dist/chunk-BJIYRUGQ.mjs +35 -0
  86. package/dist/chunk-BJPBQNIE.cjs +2355 -0
  87. package/dist/chunk-BO36SELV.cjs +395 -0
  88. package/dist/chunk-BOYNDCZL.mjs +54 -0
  89. package/dist/chunk-BPMATOP2.cjs +687 -0
  90. package/dist/chunk-BPOF5U4N.mjs +566 -0
  91. package/dist/chunk-BRYHOB4X.mjs +18 -0
  92. package/dist/chunk-BSC7JTOK.mjs +70 -0
  93. package/dist/chunk-BTHHUD7Q.mjs +51 -0
  94. package/dist/chunk-BUGNQIHC.mjs +449 -0
  95. package/dist/chunk-C4NCTZLM.mjs +22 -0
  96. package/dist/chunk-C4SPBWFM.cjs +26 -0
  97. package/dist/chunk-C5GUTBZK.cjs +173 -0
  98. package/dist/chunk-CBBLJMR5.mjs +74 -0
  99. package/dist/chunk-CBJJH36A.cjs +2187 -0
  100. package/dist/chunk-CGBDNNSM.cjs +664 -0
  101. package/dist/chunk-CI6E3UOH.cjs +314 -0
  102. package/dist/chunk-CMGMGHUZ.cjs +27 -0
  103. package/dist/chunk-CNOQY6Z7.mjs +156 -0
  104. package/dist/chunk-CQ6OSQ3K.mjs +36 -0
  105. package/dist/chunk-CU625VAY.mjs +13 -0
  106. package/dist/chunk-CVOSWIQA.mjs +15300 -0
  107. package/dist/chunk-CXEN47J3.mjs +550 -0
  108. package/dist/chunk-CXP5U3RW.cjs +54 -0
  109. package/dist/chunk-D227TIEN.cjs +1114 -0
  110. package/dist/chunk-D2BB47NB.cjs +157 -0
  111. package/dist/chunk-D2ULAULS.cjs +166 -0
  112. package/dist/chunk-D7JTOLFK.cjs +285 -0
  113. package/dist/chunk-DAATZTKJ.mjs +220 -0
  114. package/dist/chunk-DAO7JGTS.mjs +73 -0
  115. package/dist/chunk-DQQOKWYA.cjs +42 -0
  116. package/dist/chunk-DTSROJ5J.mjs +367 -0
  117. package/dist/chunk-DVM4FKZL.cjs +169 -0
  118. package/dist/chunk-DZ5ZVB2K.cjs +9 -0
  119. package/dist/chunk-E2ROOWQC.cjs +2225 -0
  120. package/dist/chunk-E3UK5IIB.cjs +593 -0
  121. package/dist/chunk-E5GNDG5F.mjs +701 -0
  122. package/dist/chunk-EA5K5BKU.mjs +455 -0
  123. package/dist/chunk-ECKF2BAM.cjs +403 -0
  124. package/dist/chunk-EK4QAEFZ.cjs +550 -0
  125. package/dist/chunk-EMLAPBEM.mjs +256 -0
  126. package/dist/chunk-ENLZ4R3Y.mjs +55 -0
  127. package/dist/chunk-EUV4YR3V.cjs +1362 -0
  128. package/dist/chunk-EWET4D2Y.mjs +395 -0
  129. package/dist/chunk-EZDQRNQ7.mjs +1496 -0
  130. package/dist/chunk-F2SE2VDO.mjs +65 -0
  131. package/dist/chunk-F3LTXB63.mjs +40 -0
  132. package/dist/chunk-F3VB7ONA.mjs +338 -0
  133. package/dist/chunk-F5QO4FNE.mjs +664 -0
  134. package/dist/chunk-FA2W42OV.mjs +25 -0
  135. package/dist/chunk-FDR64H6B.mjs +140 -0
  136. package/dist/chunk-FFFW3OQ7.cjs +65 -0
  137. package/dist/chunk-FJ3M4CUX.cjs +46 -0
  138. package/dist/chunk-FK6GO24V.cjs +54 -0
  139. package/dist/chunk-FNO7A7CM.cjs +1496 -0
  140. package/dist/chunk-FO427P6I.cjs +392 -0
  141. package/dist/chunk-FP2INE7H.mjs +113 -0
  142. package/dist/chunk-FUZEBRP3.mjs +593 -0
  143. package/dist/chunk-FZ6YYU2W.mjs +65 -0
  144. package/dist/chunk-G2KY33I6.mjs +202 -0
  145. package/dist/chunk-G4MWPDSE.mjs +19 -0
  146. package/dist/chunk-G643DQCH.cjs +13 -0
  147. package/dist/chunk-G7HXGLEC.cjs +175 -0
  148. package/dist/chunk-GC3SUL6M.mjs +109 -0
  149. package/dist/chunk-GCXWJJKH.mjs +169 -0
  150. package/dist/chunk-GHFS7RUB.mjs +152 -0
  151. package/dist/chunk-GQ3Z3IZI.cjs +241 -0
  152. package/dist/chunk-H4AMB6ZE.mjs +421 -0
  153. package/dist/chunk-H77NVNJ2.mjs +57 -0
  154. package/dist/chunk-HALDNTIV.mjs +2225 -0
  155. package/dist/chunk-HITLGIAO.cjs +55 -0
  156. package/dist/chunk-HLJ6MBUZ.cjs +183 -0
  157. package/dist/chunk-HOXTWRGB.mjs +484 -0
  158. package/dist/chunk-HREOKQWT.cjs +45 -0
  159. package/dist/chunk-I2BHUNBU.mjs +14 -0
  160. package/dist/chunk-I57LW5VZ.cjs +94 -0
  161. package/dist/chunk-IE7XCHH3.cjs +85 -0
  162. package/dist/chunk-IHNIDL6H.cjs +772 -0
  163. package/dist/chunk-IK6LVLKC.cjs +51 -0
  164. package/dist/chunk-IOEH4VWN.mjs +202 -0
  165. package/dist/chunk-IWZKTWHZ.cjs +435 -0
  166. package/dist/chunk-IZY3V5XW.mjs +23 -0
  167. package/dist/chunk-J63ZH5OQ.cjs +62 -0
  168. package/dist/chunk-J7FSKED3.cjs +93 -0
  169. package/dist/chunk-JBSVKMC5.mjs +28 -0
  170. package/dist/chunk-JDNHKPTD.cjs +22 -0
  171. package/dist/chunk-JG6DJF5A.mjs +238 -0
  172. package/dist/chunk-JGLC4TO3.cjs +192 -0
  173. package/dist/chunk-JM5XPKWH.mjs +41 -0
  174. package/dist/chunk-JNUWCDTF.cjs +1344 -0
  175. package/dist/chunk-JNZ4TDWM.mjs +445 -0
  176. package/dist/chunk-JPLUGGRV.mjs +230 -0
  177. package/dist/chunk-JSROZYYO.cjs +164 -0
  178. package/dist/chunk-KCMTCM6I.cjs +53 -0
  179. package/dist/chunk-KGB5UXJJ.mjs +27 -0
  180. package/dist/chunk-KGZIORNL.cjs +43 -0
  181. package/dist/chunk-KI3MESHB.mjs +224 -0
  182. package/dist/chunk-KIIMAWOJ.cjs +505 -0
  183. package/dist/chunk-KMTGADN3.mjs +95 -0
  184. package/dist/chunk-KN7K4VQN.mjs +236 -0
  185. package/dist/chunk-KNBBQHO2.cjs +51 -0
  186. package/dist/chunk-KR6CKSXT.cjs +15 -0
  187. package/dist/chunk-KXWRO25S.cjs +85 -0
  188. package/dist/chunk-L3KT7IXV.mjs +91 -0
  189. package/dist/chunk-LCCBO7PJ.cjs +46 -0
  190. package/dist/chunk-LIUGYUX3.cjs +22 -0
  191. package/dist/chunk-LPEX4YW6.mjs +13 -0
  192. package/dist/chunk-LSKZMJMP.cjs +65 -0
  193. package/dist/chunk-LSZAVSGY.mjs +1101 -0
  194. package/dist/chunk-LTNGXMQ6.cjs +55 -0
  195. package/dist/chunk-LYLEZIG3.cjs +73 -0
  196. package/dist/chunk-LYV44OIR.mjs +256 -0
  197. package/dist/chunk-M2L4MYDQ.cjs +14 -0
  198. package/dist/chunk-M7MKQXAF.cjs +87 -0
  199. package/dist/chunk-MKYBIIAQ.mjs +2187 -0
  200. package/dist/chunk-MQ3H6LT5.cjs +202 -0
  201. package/dist/chunk-MRMI32SN.cjs +1157 -0
  202. package/dist/chunk-MSSFIQGM.mjs +1002 -0
  203. package/dist/chunk-MT763TDW.cjs +43 -0
  204. package/dist/chunk-MVL2RAJW.mjs +62 -0
  205. package/dist/chunk-MWSK6C4J.cjs +18 -0
  206. package/dist/chunk-MWWVKDW3.cjs +169 -0
  207. package/dist/chunk-N2NAS2AM.cjs +725 -0
  208. package/dist/chunk-N46M65CI.mjs +54 -0
  209. package/dist/chunk-N4UOK6ZI.cjs +256 -0
  210. package/dist/chunk-NI2TCCTG.mjs +11020 -0
  211. package/dist/chunk-NO3WWW3N.cjs +192 -0
  212. package/dist/chunk-NPC7VWJE.mjs +277 -0
  213. package/dist/chunk-NRDBW4MP.mjs +45 -0
  214. package/dist/chunk-NRSN7G7E.mjs +42 -0
  215. package/dist/chunk-NYJMY3JA.cjs +156 -0
  216. package/dist/chunk-NZKJGRB3.cjs +230 -0
  217. package/dist/chunk-O6BCQV2T.mjs +46 -0
  218. package/dist/chunk-O6I6VWKK.mjs +493 -0
  219. package/dist/chunk-O6WAEAX3.mjs +2028 -0
  220. package/dist/chunk-O7BH5O46.mjs +175 -0
  221. package/dist/chunk-OFZUJMCU.mjs +601 -0
  222. package/dist/chunk-OHLSEQ57.mjs +910 -0
  223. package/dist/chunk-OHY2ZWUG.cjs +25 -0
  224. package/dist/chunk-OI6CMLWX.cjs +47 -0
  225. package/dist/chunk-ONUEYC6N.mjs +27 -0
  226. package/dist/chunk-OO7GXVSR.mjs +9 -0
  227. package/dist/chunk-OT6ZEW74.mjs +139 -0
  228. package/dist/chunk-OTC5BDGO.mjs +687 -0
  229. package/dist/chunk-OX6O6WVA.cjs +74 -0
  230. package/dist/chunk-OYEUREB6.cjs +35 -0
  231. package/dist/chunk-OZVEHHMA.cjs +194 -0
  232. package/dist/chunk-P5TJO5IS.mjs +240 -0
  233. package/dist/chunk-PCOTGFSM.cjs +139 -0
  234. package/dist/chunk-PNGWZFUQ.mjs +39 -0
  235. package/dist/chunk-PSV6XKPO.cjs +220 -0
  236. package/dist/chunk-PTZ2TVNE.cjs +178 -0
  237. package/dist/chunk-PZNL3WEG.mjs +772 -0
  238. package/dist/chunk-PZYCPSCC.cjs +35 -0
  239. package/dist/chunk-Q2KB32T4.mjs +690 -0
  240. package/dist/chunk-Q5B3KJBP.cjs +152 -0
  241. package/dist/chunk-QBK2AA4U.cjs +445 -0
  242. package/dist/chunk-QCFBDFRS.mjs +169 -0
  243. package/dist/chunk-QCVE2OCI.cjs +169 -0
  244. package/dist/chunk-QE6VAKLT.mjs +85 -0
  245. package/dist/chunk-QNPEUFHQ.cjs +27 -0
  246. package/dist/chunk-QORUJDIV.mjs +46 -0
  247. package/dist/chunk-QV4VE2OW.mjs +166 -0
  248. package/dist/chunk-QVKYGNVM.mjs +27 -0
  249. package/dist/chunk-QVYLBY73.mjs +93 -0
  250. package/dist/chunk-R3DS7A2T.mjs +21 -0
  251. package/dist/chunk-R5A5KNVX.cjs +20 -0
  252. package/dist/chunk-R5JIFR6B.cjs +42 -0
  253. package/dist/chunk-RHAZ22ZN.mjs +87 -0
  254. package/dist/chunk-RKPDESVW.cjs +15301 -0
  255. package/dist/chunk-RSOJ7DRT.mjs +506 -0
  256. package/dist/chunk-S3A45T7F.cjs +166 -0
  257. package/dist/chunk-S3FNNQHR.mjs +31 -0
  258. package/dist/chunk-S3JO3N4H.cjs +17 -0
  259. package/dist/chunk-S67OYZU7.mjs +711 -0
  260. package/dist/chunk-S6VYG6XU.cjs +493 -0
  261. package/dist/chunk-SAXPH6G5.mjs +169 -0
  262. package/dist/chunk-SC2WYWPF.mjs +241 -0
  263. package/dist/chunk-SDOTRX3V.cjs +690 -0
  264. package/dist/chunk-SEJ5N6SL.mjs +38 -0
  265. package/dist/chunk-SFGWNC43.mjs +97 -0
  266. package/dist/chunk-SHB3GYXI.mjs +285 -0
  267. package/dist/chunk-SHLXACIO.cjs +95 -0
  268. package/dist/chunk-SJNMVDDF.cjs +86 -0
  269. package/dist/chunk-SK35NQKK.cjs +27 -0
  270. package/dist/chunk-SKNL7VA2.mjs +42 -0
  271. package/dist/chunk-SLQCDJSO.mjs +18 -0
  272. package/dist/chunk-SOR334EB.cjs +149 -0
  273. package/dist/chunk-SU7MH53P.cjs +180 -0
  274. package/dist/chunk-SVRTJOUF.cjs +113 -0
  275. package/dist/chunk-SYQ3MOWW.cjs +73 -0
  276. package/dist/chunk-T4OGRVNS.mjs +392 -0
  277. package/dist/chunk-T5OJPTVN.cjs +417 -0
  278. package/dist/chunk-TE2G5ION.cjs +2028 -0
  279. package/dist/chunk-TFQG7TBC.mjs +43 -0
  280. package/dist/chunk-TIWHTW3Q.cjs +24 -0
  281. package/dist/chunk-TKJZFIML.cjs +20 -0
  282. package/dist/chunk-TKSCR644.cjs +414 -0
  283. package/dist/chunk-TVGP4BBZ.mjs +45 -0
  284. package/dist/chunk-U4KT7QP3.cjs +23 -0
  285. package/dist/chunk-UDNPLXW7.mjs +86 -0
  286. package/dist/chunk-UFDAAQFX.cjs +169 -0
  287. package/dist/chunk-UFDV5N3C.cjs +711 -0
  288. package/dist/chunk-UH6QN5NL.mjs +178 -0
  289. package/dist/chunk-UP4CW6WP.mjs +169 -0
  290. package/dist/chunk-UQZ4AYTH.cjs +168 -0
  291. package/dist/chunk-US2QVW3E.cjs +36 -0
  292. package/dist/chunk-UVW64BCB.cjs +910 -0
  293. package/dist/chunk-UWPLULNK.mjs +520 -0
  294. package/dist/chunk-UXFQ3UDA.cjs +140 -0
  295. package/dist/chunk-UYIHRDE4.cjs +97 -0
  296. package/dist/chunk-V2FTMRS7.mjs +223 -0
  297. package/dist/chunk-VB6UCX3V.cjs +421 -0
  298. package/dist/chunk-VEKFLAQM.cjs +300 -0
  299. package/dist/chunk-VILIPRS6.mjs +725 -0
  300. package/dist/chunk-VQLJWDVW.cjs +696 -0
  301. package/dist/chunk-W3B4PKAW.mjs +28 -0
  302. package/dist/chunk-W4E7WMXE.cjs +71 -0
  303. package/dist/chunk-W7LF2J2S.mjs +64 -0
  304. package/dist/chunk-WBKEZXWE.cjs +449 -0
  305. package/dist/chunk-WC5UV2HQ.cjs +212 -0
  306. package/dist/chunk-WMAPPDMM.cjs +28 -0
  307. package/dist/chunk-WMOGFOUJ.cjs +223 -0
  308. package/dist/chunk-WNSDDRNU.mjs +24 -0
  309. package/dist/chunk-WWFTAUFG.cjs +45 -0
  310. package/dist/chunk-WWIKMBRN.mjs +1362 -0
  311. package/dist/chunk-XCMCS4DA.mjs +1114 -0
  312. package/dist/chunk-XJJVLDM6.mjs +194 -0
  313. package/dist/chunk-XJXBIP67.cjs +277 -0
  314. package/dist/chunk-XNPDONUH.mjs +389 -0
  315. package/dist/chunk-XSIRSMAS.cjs +339 -0
  316. package/dist/chunk-XZNTNMHT.mjs +15 -0
  317. package/dist/chunk-Y5SJM2W7.cjs +579 -0
  318. package/dist/chunk-YDQZGSDS.mjs +2355 -0
  319. package/dist/chunk-YFILVET3.mjs +192 -0
  320. package/dist/chunk-YFPGHF5F.cjs +202 -0
  321. package/dist/chunk-YHOCRI4H.mjs +434 -0
  322. package/dist/chunk-YJRZR7VU.cjs +28 -0
  323. package/dist/chunk-YKX5BK66.cjs +46 -0
  324. package/dist/chunk-YOZYCI6Z.mjs +73 -0
  325. package/dist/chunk-YSCV4SJF.cjs +49 -0
  326. package/dist/chunk-YSLWRWWP.cjs +601 -0
  327. package/dist/chunk-YWMZUGIS.mjs +403 -0
  328. package/dist/chunk-YWN746US.cjs +1002 -0
  329. package/dist/chunk-YX3DBN4M.cjs +18 -0
  330. package/dist/chunk-Z2HLU4IX.cjs +238 -0
  331. package/dist/chunk-Z2RZJZIZ.mjs +168 -0
  332. package/dist/chunk-Z3HATSKO.mjs +46 -0
  333. package/dist/chunk-ZEG3OPIB.cjs +93 -0
  334. package/dist/chunk-ZLAT2CWY.mjs +135 -0
  335. package/dist/chunk-ZMMBIVQM.mjs +505 -0
  336. package/dist/chunk-ZMSZZXOR.mjs +164 -0
  337. package/dist/chunk-ZWM5KGAA.cjs +566 -0
  338. package/dist/chunk-ZZSRYEYU.mjs +53 -0
  339. package/dist/client/lifecycle.cjs +3 -3
  340. package/dist/client/lifecycle.mjs +2 -2
  341. package/dist/client-plugins.cjs +3 -3
  342. package/dist/client-plugins.mjs +2 -2
  343. package/dist/client.cjs +40 -45
  344. package/dist/client.mjs +41 -46
  345. package/dist/config.cjs +3 -3
  346. package/dist/config.mjs +2 -2
  347. package/dist/cron.cjs +9 -9
  348. package/dist/cron.mjs +8 -8
  349. package/dist/deferred.cjs +3 -3
  350. package/dist/deferred.mjs +2 -2
  351. package/dist/deployment.cjs +3 -3
  352. package/dist/deployment.mjs +2 -2
  353. package/dist/devtools-ERIKFEXX.mjs +472 -0
  354. package/dist/devtools-JZJJY5CK.cjs +472 -0
  355. package/dist/devtools-client-CXQ6PXI6.cjs +254 -0
  356. package/dist/devtools-client-HJS2T34Y.mjs +254 -0
  357. package/dist/devtools-ui-5GBDIGMK.cjs +1296 -0
  358. package/dist/devtools-ui-5KDAVPIF.mjs +1296 -0
  359. package/dist/docs.cjs +58 -66
  360. package/dist/docs.mjs +57 -65
  361. package/dist/env-types.cjs +4 -4
  362. package/dist/env-types.mjs +3 -3
  363. package/dist/env.cjs +4 -4
  364. package/dist/env.mjs +3 -3
  365. package/dist/environment/vite.cjs +3 -7
  366. package/dist/environment/vite.mjs +2 -6
  367. package/dist/environment.cjs +3 -3
  368. package/dist/environment.mjs +2 -2
  369. package/dist/font.cjs +3 -3
  370. package/dist/font.mjs +2 -2
  371. package/dist/headers.cjs +6 -8
  372. package/dist/headers.mjs +5 -7
  373. package/dist/i18n/client.cjs +30 -19
  374. package/dist/i18n/client.mjs +20 -9
  375. package/dist/i18n/index.cjs +6 -6
  376. package/dist/i18n/index.mjs +5 -5
  377. package/dist/i18n/server.cjs +10 -10
  378. package/dist/i18n/server.mjs +9 -9
  379. package/dist/image/server.cjs +5 -9
  380. package/dist/image/server.mjs +4 -8
  381. package/dist/image/sharp.cjs +20 -16
  382. package/dist/image/sharp.mjs +12 -8
  383. package/dist/image.cjs +18 -9
  384. package/dist/image.mjs +13 -4
  385. package/dist/index.cjs +175 -236
  386. package/dist/index.mjs +245 -306
  387. package/dist/instrumentation.cjs +5 -5
  388. package/dist/instrumentation.mjs +4 -4
  389. package/dist/integration-orm-55F7CII5.cjs +13 -0
  390. package/dist/integration-orm-KV5B3BGZ.mjs +13 -0
  391. package/dist/integrations.cjs +17 -23
  392. package/dist/integrations.mjs +18 -24
  393. package/dist/internal/app-markdown-runtime.cjs +13 -13
  394. package/dist/internal/app-markdown-runtime.mjs +12 -12
  395. package/dist/internal/build-runtime.cjs +133 -161
  396. package/dist/internal/build-runtime.mjs +121 -149
  397. package/dist/internal/cli-runtime.cjs +79 -101
  398. package/dist/internal/cli-runtime.mjs +79 -101
  399. package/dist/internal/client-error-overlay.cjs +49 -18
  400. package/dist/internal/client-error-overlay.mjs +45 -14
  401. package/dist/internal/client-runtime.cjs +50 -59
  402. package/dist/internal/client-runtime.mjs +50 -59
  403. package/dist/internal/compression-runtime.cjs +4 -4
  404. package/dist/internal/compression-runtime.mjs +3 -3
  405. package/dist/internal/config-runtime.cjs +65 -94
  406. package/dist/internal/config-runtime.mjs +51 -80
  407. package/dist/internal/docs-precompiled-runtime.cjs +24 -18
  408. package/dist/internal/docs-precompiled-runtime.mjs +20 -14
  409. package/dist/internal/infra-analytics-runtime.cjs +8 -22
  410. package/dist/internal/infra-analytics-runtime.mjs +6 -20
  411. package/dist/internal/isolated-boundary.cjs +4 -5
  412. package/dist/internal/isolated-boundary.mjs +3 -4
  413. package/dist/internal/metadata-image-runtime.cjs +7 -8
  414. package/dist/internal/metadata-image-runtime.mjs +6 -7
  415. package/dist/internal/product-telemetry-runtime.cjs +17 -5
  416. package/dist/internal/product-telemetry-runtime.mjs +15 -3
  417. package/dist/internal/production-node-env.cjs +3 -7
  418. package/dist/internal/production-node-env.mjs +2 -6
  419. package/dist/internal/production-runtime.cjs +90 -236
  420. package/dist/internal/production-runtime.mjs +115 -261
  421. package/dist/internal/request-cookies.cjs +3 -3
  422. package/dist/internal/request-cookies.mjs +2 -2
  423. package/dist/internal/server-tree.cjs +4 -7
  424. package/dist/internal/server-tree.mjs +5 -8
  425. package/dist/json-ld.cjs +16 -3
  426. package/dist/json-ld.mjs +16 -3
  427. package/dist/layers-UTB43B7A.mjs +18 -0
  428. package/dist/layers-VUWIOFEO.cjs +18 -0
  429. package/dist/manager-RT733VRK.mjs +14 -0
  430. package/dist/manager-XZ5TX7AO.cjs +14 -0
  431. package/dist/markdown.cjs +12 -19
  432. package/dist/markdown.mjs +11 -18
  433. package/dist/middleware.cjs +26 -34
  434. package/dist/middleware.mjs +30 -38
  435. package/dist/navigation.cjs +21 -22
  436. package/dist/navigation.mjs +20 -21
  437. package/dist/nitro-7F65EZZS.cjs +653 -0
  438. package/dist/nitro-MPZJGPXK.mjs +653 -0
  439. package/dist/node-module-bundle-L5L7JCZ4.mjs +11 -0
  440. package/dist/node-module-bundle-VAFZOXMJ.cjs +11 -0
  441. package/dist/observability.cjs +3 -3
  442. package/dist/observability.mjs +2 -2
  443. package/dist/og.cjs +1 -1
  444. package/dist/og.mjs +1 -1
  445. package/dist/plugin.cjs +124 -153
  446. package/dist/plugin.mjs +107 -136
  447. package/dist/query/client.cjs +69 -59
  448. package/dist/query/client.mjs +61 -51
  449. package/dist/query/index.cjs +4 -4
  450. package/dist/query/index.mjs +3 -3
  451. package/dist/query/parsers.cjs +3 -3
  452. package/dist/query/parsers.mjs +2 -2
  453. package/dist/query/server.cjs +11 -5
  454. package/dist/query/server.mjs +9 -3
  455. package/dist/renderer/react/client.cjs +1 -1
  456. package/dist/renderer/react/client.mjs +1 -1
  457. package/dist/renderer/react/server.cjs +14 -10
  458. package/dist/renderer/react/server.mjs +14 -10
  459. package/dist/renderer/react/vite.cjs +4 -1
  460. package/dist/renderer/react/vite.mjs +4 -1
  461. package/dist/renderer-client.cjs +77 -71
  462. package/dist/renderer-client.mjs +57 -51
  463. package/dist/renderer.cjs +3 -3
  464. package/dist/renderer.mjs +2 -2
  465. package/dist/request.cjs +4 -4
  466. package/dist/request.mjs +3 -3
  467. package/dist/router.cjs +5 -5
  468. package/dist/router.mjs +4 -4
  469. package/dist/routes.cjs +12 -14
  470. package/dist/routes.mjs +11 -13
  471. package/dist/schema-dev-notice-O67CPXJ6.mjs +56 -0
  472. package/dist/schema-dev-notice-Y7MQEFGN.cjs +56 -0
  473. package/dist/schema.cjs +3 -3
  474. package/dist/schema.mjs +2 -2
  475. package/dist/search-client-G3RICOFU.cjs +13 -0
  476. package/dist/search-client-KR7YRIVR.mjs +13 -0
  477. package/dist/server-action-security.cjs +7 -8
  478. package/dist/server-action-security.mjs +6 -7
  479. package/dist/server-fn-client.cjs +4 -4
  480. package/dist/server-fn-client.mjs +3 -3
  481. package/dist/server-fn.cjs +14 -15
  482. package/dist/server-fn.mjs +13 -14
  483. package/dist/server-plugins.cjs +15 -15
  484. package/dist/server-plugins.mjs +14 -14
  485. package/dist/server-query-client.cjs +8 -9
  486. package/dist/server-query-client.mjs +7 -8
  487. package/dist/server-query.cjs +16 -17
  488. package/dist/server-query.mjs +15 -16
  489. package/dist/server.cjs +199 -265
  490. package/dist/server.mjs +172 -238
  491. package/dist/storage.cjs +3 -7
  492. package/dist/storage.mjs +2 -6
  493. package/dist/testing.cjs +76 -59
  494. package/dist/testing.mjs +66 -49
  495. package/dist/theme/client.cjs +5 -5
  496. package/dist/theme/client.mjs +4 -4
  497. package/dist/theme/index.cjs +3 -3
  498. package/dist/theme/index.mjs +2 -2
  499. package/dist/theme/runtime.cjs +3 -3
  500. package/dist/theme/runtime.mjs +2 -2
  501. package/dist/theme/server.cjs +8 -8
  502. package/dist/theme/server.mjs +7 -7
  503. package/dist/version.cjs +3 -3
  504. package/dist/version.mjs +2 -2
  505. package/dist/vite.cjs +121 -166
  506. package/dist/vite.mjs +107 -152
  507. package/dist/workflows.cjs +13 -14
  508. package/dist/workflows.mjs +12 -13
  509. package/package.json +22 -3
  510. package/dist/after.d.mts +0 -25
  511. package/dist/after.d.ts +0 -25
  512. package/dist/agent-mcp-handler-7JSKGSOW.mjs +0 -18
  513. package/dist/agent-mcp-handler-YE4AGWHN.cjs +0 -18
  514. package/dist/agent-mcp.d-BAR9njbJ.d.ts +0 -115
  515. package/dist/agent-mcp.d-BJKChOrO.d.mts +0 -115
  516. package/dist/agent-runtime.d.mts +0 -105
  517. package/dist/agent-runtime.d.ts +0 -105
  518. package/dist/analyzer-OTPEWH5W.mjs +0 -1126
  519. package/dist/analyzer-TSQXZCZN.cjs +0 -1126
  520. package/dist/api/client.d.mts +0 -5
  521. package/dist/api/client.d.ts +0 -5
  522. package/dist/api/route-manager.d.mts +0 -119
  523. package/dist/api/route-manager.d.ts +0 -119
  524. package/dist/api/runtime.d.mts +0 -35
  525. package/dist/api/runtime.d.ts +0 -35
  526. package/dist/api-client.d-BWcqZciH.d.ts +0 -622
  527. package/dist/api-client.d-CeA6tNA6.d.mts +0 -622
  528. package/dist/api.d.mts +0 -103
  529. package/dist/api.d.ts +0 -103
  530. package/dist/app-manifest.d-BLFbaqx8.d.ts +0 -120
  531. package/dist/app-manifest.d-DEQNnNhV.d.mts +0 -120
  532. package/dist/app-markdown.d.mts +0 -48
  533. package/dist/app-markdown.d.ts +0 -48
  534. package/dist/app.d-CNPaUYaa.d.ts +0 -564
  535. package/dist/app.d-CT7xDkj2.d.mts +0 -564
  536. package/dist/base-path.d-BOUV5ozD.d.mts +0 -10
  537. package/dist/base-path.d-BOUV5ozD.d.ts +0 -10
  538. package/dist/cache.d.mts +0 -333
  539. package/dist/cache.d.ts +0 -333
  540. package/dist/chunk-22W4FNTG.mjs +0 -538
  541. package/dist/chunk-23LVFSID.mjs +0 -182
  542. package/dist/chunk-2DA7CLY7.mjs +0 -560
  543. package/dist/chunk-2DLGV2ZG.mjs +0 -71
  544. package/dist/chunk-2HW5LWAH.cjs +0 -19
  545. package/dist/chunk-2IAPKPEB.cjs +0 -368
  546. package/dist/chunk-2KMIJDY6.cjs +0 -20
  547. package/dist/chunk-2KVDHNQS.mjs +0 -224
  548. package/dist/chunk-2NGZFOKG.mjs +0 -190
  549. package/dist/chunk-2NHOYYUT.mjs +0 -2250
  550. package/dist/chunk-2WZTGPK6.mjs +0 -65
  551. package/dist/chunk-2XGBJSDV.cjs +0 -408
  552. package/dist/chunk-3BIASUGR.cjs +0 -59
  553. package/dist/chunk-3BLEXUGE.mjs +0 -35
  554. package/dist/chunk-3EEET2Q5.cjs +0 -1044
  555. package/dist/chunk-3EIPOTZV.cjs +0 -272
  556. package/dist/chunk-3HLQTOVU.cjs +0 -6
  557. package/dist/chunk-3OWVWZ6R.cjs +0 -60
  558. package/dist/chunk-3SMXQNFD.mjs +0 -433
  559. package/dist/chunk-3TLKUBXG.mjs +0 -8948
  560. package/dist/chunk-3WSIYBMG.mjs +0 -6257
  561. package/dist/chunk-3XQ57EFI.cjs +0 -713
  562. package/dist/chunk-3Z63X45F.mjs +0 -277
  563. package/dist/chunk-4353ZRE5.mjs +0 -153
  564. package/dist/chunk-46KXZBOG.cjs +0 -169
  565. package/dist/chunk-46P5KNTE.mjs +0 -8
  566. package/dist/chunk-47JV57DA.cjs +0 -69
  567. package/dist/chunk-4CGOMZP3.cjs +0 -6257
  568. package/dist/chunk-4DCWVSL2.cjs +0 -15
  569. package/dist/chunk-4MU4QCX4.mjs +0 -158
  570. package/dist/chunk-4SEHMBL4.cjs +0 -491
  571. package/dist/chunk-4TKAIO2F.mjs +0 -491
  572. package/dist/chunk-4ZJ5C7UJ.cjs +0 -75
  573. package/dist/chunk-52Y3C3HG.mjs +0 -421
  574. package/dist/chunk-53EHWHT2.cjs +0 -166
  575. package/dist/chunk-53SACYBY.cjs +0 -293
  576. package/dist/chunk-5A77OEIG.cjs +0 -778
  577. package/dist/chunk-5C7XMKQ4.cjs +0 -410
  578. package/dist/chunk-5DX3O6TT.cjs +0 -266
  579. package/dist/chunk-5ENW27SL.mjs +0 -36
  580. package/dist/chunk-5FXPJIOT.mjs +0 -713
  581. package/dist/chunk-5IONBVJY.cjs +0 -588
  582. package/dist/chunk-5J45H65F.mjs +0 -48
  583. package/dist/chunk-5PZJ63PK.mjs +0 -17
  584. package/dist/chunk-5Y2P454O.cjs +0 -421
  585. package/dist/chunk-5Y4GYKKH.mjs +0 -13
  586. package/dist/chunk-5YPBFMBN.cjs +0 -19
  587. package/dist/chunk-65Y5SIBH.cjs +0 -112
  588. package/dist/chunk-6BLAY2VQ.mjs +0 -45
  589. package/dist/chunk-6CTFVBAT.cjs +0 -29
  590. package/dist/chunk-6FXBJPF5.cjs +0 -35
  591. package/dist/chunk-6HRAK7I5.mjs +0 -215
  592. package/dist/chunk-6IOZPJ3I.cjs +0 -549
  593. package/dist/chunk-6JHZPB52.cjs +0 -538
  594. package/dist/chunk-6ONBZGVH.cjs +0 -124
  595. package/dist/chunk-6XQSPIN6.cjs +0 -155
  596. package/dist/chunk-6YFC3ZFX.mjs +0 -449
  597. package/dist/chunk-6ZFRWRHO.mjs +0 -54
  598. package/dist/chunk-724WT3NI.mjs +0 -83
  599. package/dist/chunk-72KCTHLV.cjs +0 -723
  600. package/dist/chunk-72NBDVWQ.mjs +0 -588
  601. package/dist/chunk-75XSZIRE.mjs +0 -180
  602. package/dist/chunk-7EPYN7GW.cjs +0 -30
  603. package/dist/chunk-7FVVQEVL.cjs +0 -541
  604. package/dist/chunk-7H4SVNC4.cjs +0 -700
  605. package/dist/chunk-7JUIK547.cjs +0 -62
  606. package/dist/chunk-7KJJ4SBS.cjs +0 -13
  607. package/dist/chunk-7MD37P5V.cjs +0 -433
  608. package/dist/chunk-7PTISZSQ.cjs +0 -176
  609. package/dist/chunk-7PZVXMWG.mjs +0 -113
  610. package/dist/chunk-7S7AAK2D.mjs +0 -82
  611. package/dist/chunk-A25FXJ7D.cjs +0 -38
  612. package/dist/chunk-A4PWGL46.mjs +0 -141
  613. package/dist/chunk-A5BJKSZE.cjs +0 -657
  614. package/dist/chunk-AER5I65K.mjs +0 -368
  615. package/dist/chunk-ALEUMLJN.mjs +0 -190
  616. package/dist/chunk-ANHZ6SUL.mjs +0 -657
  617. package/dist/chunk-AOKXITZ6.cjs +0 -16
  618. package/dist/chunk-AQLHD6HZ.cjs +0 -196
  619. package/dist/chunk-ATYTLVSI.cjs +0 -45
  620. package/dist/chunk-AV26KHTG.mjs +0 -712
  621. package/dist/chunk-AY2YD5ZX.mjs +0 -34
  622. package/dist/chunk-AYP2YFVN.mjs +0 -168
  623. package/dist/chunk-AZQXXXDX.mjs +0 -80
  624. package/dist/chunk-B3GM5I6N.cjs +0 -277
  625. package/dist/chunk-B3GZAQSC.cjs +0 -36
  626. package/dist/chunk-B5BBTPJQ.cjs +0 -44
  627. package/dist/chunk-BBPDJGCU.cjs +0 -157
  628. package/dist/chunk-BLD5GVCG.mjs +0 -152
  629. package/dist/chunk-BMQAPZXD.mjs +0 -31
  630. package/dist/chunk-BNH53KOT.cjs +0 -69
  631. package/dist/chunk-BPAXGCKX.mjs +0 -166
  632. package/dist/chunk-BPNOYILC.cjs +0 -450
  633. package/dist/chunk-BRWIVOV4.cjs +0 -48
  634. package/dist/chunk-BRYPZIMB.mjs +0 -6
  635. package/dist/chunk-BTZ5O6VM.cjs +0 -14
  636. package/dist/chunk-BUC3FDYC.cjs +0 -158
  637. package/dist/chunk-C3BOESDW.mjs +0 -541
  638. package/dist/chunk-C64XOPBZ.mjs +0 -380
  639. package/dist/chunk-C7LCTVJ2.cjs +0 -30
  640. package/dist/chunk-CA7DNRHO.cjs +0 -164
  641. package/dist/chunk-CECUDGXQ.cjs +0 -1964
  642. package/dist/chunk-CKPTIEDX.cjs +0 -12
  643. package/dist/chunk-CL2ONP73.cjs +0 -180
  644. package/dist/chunk-CO6UYM2D.mjs +0 -172
  645. package/dist/chunk-CQL5ZGFU.cjs +0 -50
  646. package/dist/chunk-CSLUBKGG.mjs +0 -44
  647. package/dist/chunk-CU5SYTJG.mjs +0 -23
  648. package/dist/chunk-CV6MFQ4Y.mjs +0 -259
  649. package/dist/chunk-CZ35L6PL.mjs +0 -1029
  650. package/dist/chunk-D22BUQKW.cjs +0 -82
  651. package/dist/chunk-D2LCAV6L.mjs +0 -79
  652. package/dist/chunk-D4XGKF67.cjs +0 -127
  653. package/dist/chunk-D7UQC4O6.cjs +0 -1359
  654. package/dist/chunk-D7Y63SOY.mjs +0 -15
  655. package/dist/chunk-DMAP4RND.cjs +0 -998
  656. package/dist/chunk-DQJ2CIH7.cjs +0 -87
  657. package/dist/chunk-DU4VHHPJ.mjs +0 -157
  658. package/dist/chunk-DUIP64BF.cjs +0 -16
  659. package/dist/chunk-DV52ZS53.cjs +0 -40
  660. package/dist/chunk-DXUXQP2T.cjs +0 -142
  661. package/dist/chunk-DZZHTMWM.cjs +0 -190
  662. package/dist/chunk-E36C43IX.cjs +0 -224
  663. package/dist/chunk-E552H232.cjs +0 -154
  664. package/dist/chunk-E5DXF5GE.mjs +0 -169
  665. package/dist/chunk-E7QOEV5Z.cjs +0 -449
  666. package/dist/chunk-EDPENAVO.mjs +0 -266
  667. package/dist/chunk-EFLNOZGH.mjs +0 -30
  668. package/dist/chunk-EFZGB7JC.cjs +0 -114
  669. package/dist/chunk-EGHPFXPZ.cjs +0 -590
  670. package/dist/chunk-EHB77D5U.cjs +0 -80
  671. package/dist/chunk-EJCVG25Z.mjs +0 -49
  672. package/dist/chunk-EKJYE4Y7.cjs +0 -712
  673. package/dist/chunk-EMDGXYUD.mjs +0 -75
  674. package/dist/chunk-EOXPRC2C.cjs +0 -48
  675. package/dist/chunk-ERMUL73L.cjs +0 -39
  676. package/dist/chunk-ES2LD2YD.mjs +0 -203
  677. package/dist/chunk-EV4SBMPX.mjs +0 -208
  678. package/dist/chunk-EVIWKPJV.cjs +0 -560
  679. package/dist/chunk-EVMXPJCB.mjs +0 -133
  680. package/dist/chunk-EX6ZSN5P.cjs +0 -224
  681. package/dist/chunk-EZTKXD6P.cjs +0 -182
  682. package/dist/chunk-F3N52U7S.mjs +0 -138
  683. package/dist/chunk-F6TLUMH7.mjs +0 -172
  684. package/dist/chunk-FBEBSAVI.cjs +0 -225
  685. package/dist/chunk-FEFCISOX.cjs +0 -102
  686. package/dist/chunk-FFE2EMF7.cjs +0 -593
  687. package/dist/chunk-FHURJABM.mjs +0 -45
  688. package/dist/chunk-FK25QSVC.cjs +0 -386
  689. package/dist/chunk-FSQMN2MQ.mjs +0 -386
  690. package/dist/chunk-FSXSQQTV.mjs +0 -79
  691. package/dist/chunk-G2KTRMWA.mjs +0 -40
  692. package/dist/chunk-GAO7MS5O.mjs +0 -1010
  693. package/dist/chunk-GBMWLDCC.cjs +0 -138
  694. package/dist/chunk-GFT5AHAT.mjs +0 -423
  695. package/dist/chunk-GHNW564E.mjs +0 -1044
  696. package/dist/chunk-GL3ZDHKI.mjs +0 -274
  697. package/dist/chunk-GLOICKDO.mjs +0 -142
  698. package/dist/chunk-GNZIAJGB.mjs +0 -358
  699. package/dist/chunk-GSVJ3IIF.cjs +0 -173
  700. package/dist/chunk-GUZC226X.mjs +0 -164
  701. package/dist/chunk-GWXZS7K5.mjs +0 -24
  702. package/dist/chunk-GYMGK467.mjs +0 -214
  703. package/dist/chunk-H227LYHT.mjs +0 -88
  704. package/dist/chunk-H33PJEXN.cjs +0 -341
  705. package/dist/chunk-H3ASZDT7.mjs +0 -42
  706. package/dist/chunk-H4WUWLQR.mjs +0 -16
  707. package/dist/chunk-HA7YRO53.cjs +0 -214
  708. package/dist/chunk-HASX6DC7.cjs +0 -150
  709. package/dist/chunk-HEPJIKKQ.cjs +0 -190
  710. package/dist/chunk-HLWOWZFX.cjs +0 -153
  711. package/dist/chunk-HLYRXN2I.cjs +0 -242
  712. package/dist/chunk-HNAISJFD.cjs +0 -215
  713. package/dist/chunk-HPP2II4Z.mjs +0 -332
  714. package/dist/chunk-HXNLKCWH.cjs +0 -13
  715. package/dist/chunk-HZOMT5DY.mjs +0 -30
  716. package/dist/chunk-I2BYNELA.cjs +0 -380
  717. package/dist/chunk-I2DQGS56.cjs +0 -1095
  718. package/dist/chunk-IAPTECEB.mjs +0 -48
  719. package/dist/chunk-IFTGERT3.mjs +0 -408
  720. package/dist/chunk-IGL6CO6M.mjs +0 -9
  721. package/dist/chunk-IRSS4HS4.mjs +0 -80
  722. package/dist/chunk-ITV4QQL2.cjs +0 -93
  723. package/dist/chunk-IWFV5ZED.cjs +0 -152
  724. package/dist/chunk-IYEY3JWJ.mjs +0 -186
  725. package/dist/chunk-JGAE5XPL.cjs +0 -26
  726. package/dist/chunk-JMYXO572.cjs +0 -531
  727. package/dist/chunk-JNYFXL7X.mjs +0 -62
  728. package/dist/chunk-JRHGJVJH.mjs +0 -44
  729. package/dist/chunk-JWI5PUO2.mjs +0 -1461
  730. package/dist/chunk-JXEPLIXD.cjs +0 -389
  731. package/dist/chunk-JXIYH2NO.cjs +0 -24
  732. package/dist/chunk-JYNNIGQO.cjs +0 -87
  733. package/dist/chunk-JYT7AN37.cjs +0 -79
  734. package/dist/chunk-K5EW7GUU.mjs +0 -417
  735. package/dist/chunk-K76CBYQM.mjs +0 -157
  736. package/dist/chunk-KBGZ5FD6.cjs +0 -17
  737. package/dist/chunk-KHXAJ2KA.cjs +0 -387
  738. package/dist/chunk-KJMWAUKE.mjs +0 -124
  739. package/dist/chunk-KLNFJDFM.cjs +0 -1010
  740. package/dist/chunk-KORZ6PRE.cjs +0 -64
  741. package/dist/chunk-KPAJWD3N.mjs +0 -168
  742. package/dist/chunk-KQH2COEJ.mjs +0 -42
  743. package/dist/chunk-KY32FWK7.mjs +0 -387
  744. package/dist/chunk-L5JDKFMQ.cjs +0 -44
  745. package/dist/chunk-LDNSSHEG.mjs +0 -593
  746. package/dist/chunk-LEIXUFJN.cjs +0 -1461
  747. package/dist/chunk-LIFUPCXW.cjs +0 -423
  748. package/dist/chunk-LJDIFIJ2.mjs +0 -453
  749. package/dist/chunk-LLZSYFOM.mjs +0 -6
  750. package/dist/chunk-LM2YOGDK.mjs +0 -44
  751. package/dist/chunk-LM55GS4R.mjs +0 -38
  752. package/dist/chunk-LMFJCXDD.mjs +0 -55
  753. package/dist/chunk-LNM57D3H.cjs +0 -100
  754. package/dist/chunk-LNVGXUL3.cjs +0 -172
  755. package/dist/chunk-LPDKG6RA.mjs +0 -1359
  756. package/dist/chunk-LSHX2H5G.cjs +0 -57
  757. package/dist/chunk-LZ4SB57H.mjs +0 -651
  758. package/dist/chunk-M25IONJP.mjs +0 -16
  759. package/dist/chunk-MF3IA2AW.cjs +0 -25
  760. package/dist/chunk-MFQGU5CC.mjs +0 -127
  761. package/dist/chunk-MIGFX2FN.mjs +0 -758
  762. package/dist/chunk-MNIR7I7B.mjs +0 -217
  763. package/dist/chunk-MPU5DOXX.cjs +0 -21
  764. package/dist/chunk-MRNDAJEV.mjs +0 -293
  765. package/dist/chunk-MU5V7XHL.mjs +0 -172
  766. package/dist/chunk-N33DLJBC.mjs +0 -272
  767. package/dist/chunk-N35YPV4N.mjs +0 -48
  768. package/dist/chunk-N4AQNEXR.cjs +0 -17
  769. package/dist/chunk-N7JQXQAV.cjs +0 -2072
  770. package/dist/chunk-N7XWC6BN.mjs +0 -21
  771. package/dist/chunk-NBIVGHAT.mjs +0 -50
  772. package/dist/chunk-NCIAP562.mjs +0 -27
  773. package/dist/chunk-NK2VWS7P.cjs +0 -954
  774. package/dist/chunk-NN3MOPSI.mjs +0 -527
  775. package/dist/chunk-NOTSHVRN.mjs +0 -12519
  776. package/dist/chunk-NR63PD3P.mjs +0 -64
  777. package/dist/chunk-NRNAHZ57.mjs +0 -39
  778. package/dist/chunk-NWUHS6GV.cjs +0 -79
  779. package/dist/chunk-O4F3JUST.mjs +0 -176
  780. package/dist/chunk-OAJOQU5J.mjs +0 -225
  781. package/dist/chunk-OAMUSC7H.cjs +0 -9
  782. package/dist/chunk-OCS3PSYR.cjs +0 -51
  783. package/dist/chunk-OHWM2VI4.mjs +0 -29
  784. package/dist/chunk-OJO2GOM3.mjs +0 -69
  785. package/dist/chunk-OLGQZRW6.mjs +0 -700
  786. package/dist/chunk-ONG4RDW3.mjs +0 -155
  787. package/dist/chunk-OOJBBHYW.cjs +0 -38
  788. package/dist/chunk-OOZEU5KK.cjs +0 -18
  789. package/dist/chunk-OWQV6MLM.cjs +0 -82
  790. package/dist/chunk-OY5XDG24.cjs +0 -113
  791. package/dist/chunk-OYNNA4DD.cjs +0 -453
  792. package/dist/chunk-OYZXVBZP.cjs +0 -133
  793. package/dist/chunk-OZC2JPW6.cjs +0 -10
  794. package/dist/chunk-OZK2DS44.mjs +0 -203
  795. package/dist/chunk-P2355C6E.cjs +0 -186
  796. package/dist/chunk-P6MHI5O2.cjs +0 -758
  797. package/dist/chunk-PAKCHVUS.mjs +0 -450
  798. package/dist/chunk-PENBZAHJ.cjs +0 -88
  799. package/dist/chunk-PFV2KPDZ.cjs +0 -172
  800. package/dist/chunk-PIHKO25G.mjs +0 -100
  801. package/dist/chunk-PIUTGRDI.cjs +0 -358
  802. package/dist/chunk-PO5MXV5X.cjs +0 -13
  803. package/dist/chunk-PSUYE5HR.mjs +0 -25
  804. package/dist/chunk-PTLXHRJZ.mjs +0 -57
  805. package/dist/chunk-PZXYAWYG.cjs +0 -274
  806. package/dist/chunk-Q5B4LNON.mjs +0 -19
  807. package/dist/chunk-QGJ4FI2G.mjs +0 -723
  808. package/dist/chunk-QISW423S.cjs +0 -335
  809. package/dist/chunk-QMDU6QHN.mjs +0 -778
  810. package/dist/chunk-QOSDWGKT.mjs +0 -109
  811. package/dist/chunk-QPJ4MZTO.mjs +0 -60
  812. package/dist/chunk-QPNVDSFZ.mjs +0 -18
  813. package/dist/chunk-QQ44FYRO.cjs +0 -27
  814. package/dist/chunk-QSTRBKHZ.mjs +0 -102
  815. package/dist/chunk-QXJADAQB.cjs +0 -40
  816. package/dist/chunk-R4PHCZ3G.mjs +0 -9
  817. package/dist/chunk-R5U7OIPI.cjs +0 -34
  818. package/dist/chunk-R62SF5R4.mjs +0 -410
  819. package/dist/chunk-RD623KW4.cjs +0 -203
  820. package/dist/chunk-RFKTJTWZ.mjs +0 -26
  821. package/dist/chunk-RI3EVPKD.cjs +0 -57
  822. package/dist/chunk-RLEALQEN.mjs +0 -998
  823. package/dist/chunk-RVGLYMJM.cjs +0 -259
  824. package/dist/chunk-S32PDOLO.mjs +0 -13
  825. package/dist/chunk-S5AQ7CAC.cjs +0 -227
  826. package/dist/chunk-S6O2L47H.mjs +0 -549
  827. package/dist/chunk-SBDWCDS6.cjs +0 -8
  828. package/dist/chunk-SF3JB56B.mjs +0 -82
  829. package/dist/chunk-SG57PX7K.cjs +0 -65
  830. package/dist/chunk-SGBNF56S.cjs +0 -44
  831. package/dist/chunk-SHD265HW.cjs +0 -19
  832. package/dist/chunk-SHIWRBFI.cjs +0 -17
  833. package/dist/chunk-SHS6KXOZ.mjs +0 -135
  834. package/dist/chunk-SJ23LJ3N.cjs +0 -135
  835. package/dist/chunk-SM2SYWAR.cjs +0 -49
  836. package/dist/chunk-SMUW7UST.mjs +0 -196
  837. package/dist/chunk-SN5VSO3Q.mjs +0 -1095
  838. package/dist/chunk-SNP33A33.cjs +0 -9
  839. package/dist/chunk-STF6VDYQ.cjs +0 -23
  840. package/dist/chunk-SUCDVKUB.cjs +0 -42
  841. package/dist/chunk-SUV6YO4Q.cjs +0 -697
  842. package/dist/chunk-SVCUSOEF.mjs +0 -590
  843. package/dist/chunk-SXCL2MIN.cjs +0 -208
  844. package/dist/chunk-SYW346ZN.cjs +0 -71
  845. package/dist/chunk-T4EW7AAD.mjs +0 -150
  846. package/dist/chunk-TGSEVBPO.mjs +0 -93
  847. package/dist/chunk-TJVUTGED.mjs +0 -531
  848. package/dist/chunk-TQMI6BYO.cjs +0 -8951
  849. package/dist/chunk-TSFMFPRU.cjs +0 -878
  850. package/dist/chunk-TUOO6IK3.mjs +0 -87
  851. package/dist/chunk-TUPKMMXT.mjs +0 -173
  852. package/dist/chunk-TVCFY3KK.cjs +0 -217
  853. package/dist/chunk-TWHXBMLJ.cjs +0 -1980
  854. package/dist/chunk-UAQD67HM.mjs +0 -154
  855. package/dist/chunk-UB7RVEMX.mjs +0 -73
  856. package/dist/chunk-UIJOLBUL.mjs +0 -19
  857. package/dist/chunk-UJL4JOXV.cjs +0 -35
  858. package/dist/chunk-UN6N623E.mjs +0 -40
  859. package/dist/chunk-UNJZGVPU.cjs +0 -6
  860. package/dist/chunk-UPYIFH2H.cjs +0 -168
  861. package/dist/chunk-UQF3OJVE.mjs +0 -389
  862. package/dist/chunk-UQHIWZZ6.cjs +0 -1029
  863. package/dist/chunk-UUMKLGUU.mjs +0 -69
  864. package/dist/chunk-UYTAP4FQ.cjs +0 -60
  865. package/dist/chunk-UZCMMJJT.cjs +0 -80
  866. package/dist/chunk-V3UOEWCB.cjs +0 -46
  867. package/dist/chunk-V56632LA.cjs +0 -141
  868. package/dist/chunk-VAHBCI6X.mjs +0 -227
  869. package/dist/chunk-VE3FWJBO.mjs +0 -46
  870. package/dist/chunk-VFXE6NWR.mjs +0 -87
  871. package/dist/chunk-VHIXGZYH.mjs +0 -9
  872. package/dist/chunk-VISQDC6W.mjs +0 -10
  873. package/dist/chunk-VIXTAVEA.mjs +0 -59
  874. package/dist/chunk-VM57CK74.cjs +0 -42
  875. package/dist/chunk-VOQ7XZZT.cjs +0 -157
  876. package/dist/chunk-VQJYGZNX.cjs +0 -206
  877. package/dist/chunk-VR6QLTTX.mjs +0 -59
  878. package/dist/chunk-VS7EHLLW.mjs +0 -462
  879. package/dist/chunk-VSLM6BHX.cjs +0 -2250
  880. package/dist/chunk-VU3MYZPO.mjs +0 -432
  881. package/dist/chunk-VXCFJWK5.cjs +0 -59
  882. package/dist/chunk-VZY7MAVS.cjs +0 -432
  883. package/dist/chunk-WCLLPR6H.mjs +0 -35
  884. package/dist/chunk-WEGAVN37.cjs +0 -45
  885. package/dist/chunk-WFVSAT7Y.cjs +0 -83
  886. package/dist/chunk-WGUHDWT5.cjs +0 -12522
  887. package/dist/chunk-WNDAISB7.mjs +0 -51
  888. package/dist/chunk-WNLPQW7W.mjs +0 -19
  889. package/dist/chunk-WSDKXV4E.mjs +0 -2072
  890. package/dist/chunk-WT6RAN2I.cjs +0 -41
  891. package/dist/chunk-WXFY5JIY.mjs +0 -20
  892. package/dist/chunk-WYL4ODZ4.mjs +0 -38
  893. package/dist/chunk-X2AMN2WV.cjs +0 -527
  894. package/dist/chunk-X333W5KV.cjs +0 -31
  895. package/dist/chunk-X3EFRVXY.mjs +0 -12
  896. package/dist/chunk-X3JNB2TB.mjs +0 -406
  897. package/dist/chunk-X3XUZWRB.mjs +0 -141
  898. package/dist/chunk-XB24LZWI.cjs +0 -651
  899. package/dist/chunk-XGJVRPYL.cjs +0 -141
  900. package/dist/chunk-XLRLSTJ6.cjs +0 -40
  901. package/dist/chunk-XMHERKSE.mjs +0 -224
  902. package/dist/chunk-XPMC4E2G.cjs +0 -55
  903. package/dist/chunk-XQ4DPO4G.mjs +0 -13
  904. package/dist/chunk-XQSYOVCW.cjs +0 -417
  905. package/dist/chunk-XR2ZIBQK.mjs +0 -57
  906. package/dist/chunk-XURDCXNH.cjs +0 -48
  907. package/dist/chunk-XXXRRVY6.mjs +0 -697
  908. package/dist/chunk-XYL4HSVC.cjs +0 -406
  909. package/dist/chunk-Y2G5SJFB.mjs +0 -1964
  910. package/dist/chunk-Y3N5BFRJ.mjs +0 -206
  911. package/dist/chunk-Y3WG64CP.cjs +0 -9
  912. package/dist/chunk-Y6FXYEAI.mjs +0 -10
  913. package/dist/chunk-Y7NN63LS.mjs +0 -40
  914. package/dist/chunk-YAJTD3ZG.mjs +0 -341
  915. package/dist/chunk-YB44NKC2.cjs +0 -203
  916. package/dist/chunk-YDXLC4DW.cjs +0 -54
  917. package/dist/chunk-YIHRZBD7.cjs +0 -172
  918. package/dist/chunk-YKHRCY4T.cjs +0 -73
  919. package/dist/chunk-YP7YO3S3.mjs +0 -17
  920. package/dist/chunk-YT3SLLZK.mjs +0 -242
  921. package/dist/chunk-YTVSWXEZ.cjs +0 -168
  922. package/dist/chunk-YUEYBL35.mjs +0 -878
  923. package/dist/chunk-YWPNIYUP.mjs +0 -41
  924. package/dist/chunk-YX6AFPXC.mjs +0 -8
  925. package/dist/chunk-Z5A6CNV2.mjs +0 -60
  926. package/dist/chunk-Z64V4WZI.mjs +0 -17
  927. package/dist/chunk-ZD2VKAUI.mjs +0 -1980
  928. package/dist/chunk-ZNXTU4YH.mjs +0 -114
  929. package/dist/chunk-ZOWNWHK6.cjs +0 -462
  930. package/dist/chunk-ZQ5BDNKW.mjs +0 -954
  931. package/dist/chunk-ZXK2EYQW.cjs +0 -8
  932. package/dist/chunk-recovery.d-lnQFzcQP.d.mts +0 -26
  933. package/dist/chunk-recovery.d-lnQFzcQP.d.ts +0 -26
  934. package/dist/client/lifecycle.d.mts +0 -1
  935. package/dist/client/lifecycle.d.ts +0 -1
  936. package/dist/client-cache.d-Deoqq-nM.d.ts +0 -76
  937. package/dist/client-cache.d-di_Nasxa.d.mts +0 -76
  938. package/dist/client-plugins.d-DllmH8eM.d.mts +0 -4001
  939. package/dist/client-plugins.d-n3iWY1EJ.d.ts +0 -4001
  940. package/dist/client-plugins.d.mts +0 -33
  941. package/dist/client-plugins.d.ts +0 -33
  942. package/dist/client.d.mts +0 -452
  943. package/dist/client.d.ts +0 -452
  944. package/dist/client.react-server.mjs +0 -2
  945. package/dist/config.d-DqKaCr1r.d.mts +0 -199
  946. package/dist/config.d-DqKaCr1r.d.ts +0 -199
  947. package/dist/config.d.mts +0 -40
  948. package/dist/config.d.ts +0 -40
  949. package/dist/cron.d.mts +0 -78
  950. package/dist/cron.d.ts +0 -78
  951. package/dist/deferred.d.mts +0 -44
  952. package/dist/deferred.d.ts +0 -44
  953. package/dist/deployment.d.mts +0 -36
  954. package/dist/deployment.d.ts +0 -36
  955. package/dist/desktop.cjs +0 -13
  956. package/dist/desktop.d.mts +0 -120
  957. package/dist/desktop.d.ts +0 -120
  958. package/dist/desktop.mjs +0 -13
  959. package/dist/dev-guard-2UW2KERP.cjs +0 -59
  960. package/dist/dev-guard-ONNMVQUN.mjs +0 -59
  961. package/dist/devtools-TO6TAO32.cjs +0 -463
  962. package/dist/devtools-UESYARTF.mjs +0 -463
  963. package/dist/devtools-client-SU4XH46J.mjs +0 -250
  964. package/dist/devtools-client-X5OQCXDF.cjs +0 -250
  965. package/dist/devtools-ui-CYBVFLPH.mjs +0 -1265
  966. package/dist/devtools-ui-SYRUXUA7.cjs +0 -1265
  967. package/dist/docs.d.mts +0 -169
  968. package/dist/docs.d.ts +0 -169
  969. package/dist/endpoint.d-BgHn0lhl.d.ts +0 -370
  970. package/dist/endpoint.d-BkMSCRf6.d.mts +0 -370
  971. package/dist/env-types.d.mts +0 -12
  972. package/dist/env-types.d.ts +0 -12
  973. package/dist/env.d.mts +0 -65
  974. package/dist/env.d.ts +0 -65
  975. package/dist/environment/vite.d.mts +0 -31
  976. package/dist/environment/vite.d.ts +0 -31
  977. package/dist/environment.d.mts +0 -18
  978. package/dist/environment.d.ts +0 -18
  979. package/dist/font.d.mts +0 -95
  980. package/dist/font.d.ts +0 -95
  981. package/dist/generate-route-types.d-BL2pq6xC.d.ts +0 -33
  982. package/dist/generate-route-types.d-BoVDU8qX.d.mts +0 -33
  983. package/dist/headers.d.mts +0 -32
  984. package/dist/headers.d.ts +0 -32
  985. package/dist/i18n/client.d.mts +0 -32
  986. package/dist/i18n/client.d.ts +0 -32
  987. package/dist/i18n/index.d.mts +0 -3
  988. package/dist/i18n/index.d.ts +0 -3
  989. package/dist/i18n/server.d.mts +0 -30
  990. package/dist/i18n/server.d.ts +0 -30
  991. package/dist/image/server.d.mts +0 -59
  992. package/dist/image/server.d.ts +0 -59
  993. package/dist/image/sharp.d.mts +0 -20
  994. package/dist/image/sharp.d.ts +0 -20
  995. package/dist/image-config.d-CeDgNyX4.d.mts +0 -53
  996. package/dist/image-config.d-CeDgNyX4.d.ts +0 -53
  997. package/dist/image.d.mts +0 -39
  998. package/dist/image.d.ts +0 -39
  999. package/dist/index.d-BL7KKiwa.d.mts +0 -54
  1000. package/dist/index.d-BNNDpql4.d.ts +0 -20
  1001. package/dist/index.d-BXsAXm1U.d.ts +0 -54
  1002. package/dist/index.d-BqcfqJvt.d.mts +0 -20
  1003. package/dist/index.d.mts +0 -1053
  1004. package/dist/index.d.ts +0 -1053
  1005. package/dist/instrumentation-runtime.d-CX9Zh-16.d.mts +0 -22
  1006. package/dist/instrumentation-runtime.d-CX9Zh-16.d.ts +0 -22
  1007. package/dist/instrumentation.d.mts +0 -7
  1008. package/dist/instrumentation.d.ts +0 -7
  1009. package/dist/integration-orm-52GPGTHO.cjs +0 -14
  1010. package/dist/integration-orm-CO23MSFE.mjs +0 -14
  1011. package/dist/integrations.d.mts +0 -33
  1012. package/dist/integrations.d.ts +0 -33
  1013. package/dist/internal/app-markdown-runtime.d.mts +0 -86
  1014. package/dist/internal/app-markdown-runtime.d.ts +0 -86
  1015. package/dist/internal/build-runtime.d.mts +0 -46
  1016. package/dist/internal/build-runtime.d.ts +0 -46
  1017. package/dist/internal/client-error-overlay.d.mts +0 -25
  1018. package/dist/internal/client-error-overlay.d.ts +0 -25
  1019. package/dist/internal/client-runtime.d.mts +0 -93
  1020. package/dist/internal/client-runtime.d.ts +0 -93
  1021. package/dist/internal/compression-runtime.d.mts +0 -48
  1022. package/dist/internal/compression-runtime.d.ts +0 -48
  1023. package/dist/internal/config-runtime.d.mts +0 -248
  1024. package/dist/internal/config-runtime.d.ts +0 -248
  1025. package/dist/internal/desktop-guard.cjs +0 -17
  1026. package/dist/internal/desktop-guard.d.mts +0 -52
  1027. package/dist/internal/desktop-guard.d.ts +0 -52
  1028. package/dist/internal/desktop-guard.mjs +0 -17
  1029. package/dist/internal/docs-precompiled-runtime.d.mts +0 -43
  1030. package/dist/internal/docs-precompiled-runtime.d.ts +0 -43
  1031. package/dist/internal/form-actions-client.cjs +0 -14
  1032. package/dist/internal/form-actions-client.d.mts +0 -5
  1033. package/dist/internal/form-actions-client.d.ts +0 -5
  1034. package/dist/internal/form-actions-client.mjs +0 -14
  1035. package/dist/internal/form-actions.cjs +0 -19
  1036. package/dist/internal/form-actions.d.mts +0 -14
  1037. package/dist/internal/form-actions.d.ts +0 -14
  1038. package/dist/internal/form-actions.mjs +0 -19
  1039. package/dist/internal/infra-analytics-runtime.d.mts +0 -16
  1040. package/dist/internal/infra-analytics-runtime.d.ts +0 -16
  1041. package/dist/internal/island-codec.cjs +0 -22
  1042. package/dist/internal/island-codec.d.mts +0 -29
  1043. package/dist/internal/island-codec.d.ts +0 -29
  1044. package/dist/internal/island-codec.mjs +0 -22
  1045. package/dist/internal/island-value-store.cjs +0 -10
  1046. package/dist/internal/island-value-store.d.mts +0 -6
  1047. package/dist/internal/island-value-store.d.ts +0 -6
  1048. package/dist/internal/island-value-store.mjs +0 -10
  1049. package/dist/internal/islands-runtime.cjs +0 -161
  1050. package/dist/internal/islands-runtime.d.mts +0 -66
  1051. package/dist/internal/islands-runtime.d.ts +0 -66
  1052. package/dist/internal/islands-runtime.mjs +0 -161
  1053. package/dist/internal/islands-server.cjs +0 -16
  1054. package/dist/internal/islands-server.d.mts +0 -3
  1055. package/dist/internal/islands-server.d.ts +0 -3
  1056. package/dist/internal/islands-server.mjs +0 -16
  1057. package/dist/internal/islx-client.cjs +0 -5
  1058. package/dist/internal/islx-client.d.mts +0 -6
  1059. package/dist/internal/islx-client.d.ts +0 -6
  1060. package/dist/internal/islx-client.mjs +0 -3
  1061. package/dist/internal/islx-react.cjs +0 -4
  1062. package/dist/internal/islx-react.d.mts +0 -1
  1063. package/dist/internal/islx-react.d.ts +0 -1
  1064. package/dist/internal/islx-react.mjs +0 -2
  1065. package/dist/internal/islx-server.cjs +0 -5
  1066. package/dist/internal/islx-server.d.mts +0 -2
  1067. package/dist/internal/islx-server.d.ts +0 -2
  1068. package/dist/internal/islx-server.mjs +0 -3
  1069. package/dist/internal/isolated-boundary.d.mts +0 -66
  1070. package/dist/internal/isolated-boundary.d.ts +0 -66
  1071. package/dist/internal/metadata-image-runtime.d.mts +0 -30
  1072. package/dist/internal/metadata-image-runtime.d.ts +0 -30
  1073. package/dist/internal/product-telemetry-runtime.d.mts +0 -45
  1074. package/dist/internal/product-telemetry-runtime.d.ts +0 -45
  1075. package/dist/internal/production-node-env.d.mts +0 -21
  1076. package/dist/internal/production-node-env.d.ts +0 -21
  1077. package/dist/internal/production-runtime.d.mts +0 -533
  1078. package/dist/internal/production-runtime.d.ts +0 -533
  1079. package/dist/internal/request-cookies.d.mts +0 -16
  1080. package/dist/internal/request-cookies.d.ts +0 -16
  1081. package/dist/internal/server-fn-transform.cjs +0 -13
  1082. package/dist/internal/server-fn-transform.d.mts +0 -24
  1083. package/dist/internal/server-fn-transform.d.ts +0 -24
  1084. package/dist/internal/server-fn-transform.mjs +0 -13
  1085. package/dist/internal/server-tree.d.mts +0 -50
  1086. package/dist/internal/server-tree.d.ts +0 -50
  1087. package/dist/island-value-protocol.d-BRayRghM.d.mts +0 -12
  1088. package/dist/island-value-protocol.d-BRayRghM.d.ts +0 -12
  1089. package/dist/island.d-CfGru1MO.d.mts +0 -9
  1090. package/dist/island.d-CfGru1MO.d.ts +0 -9
  1091. package/dist/json-ld.d.mts +0 -94
  1092. package/dist/json-ld.d.ts +0 -94
  1093. package/dist/layers-DMRXRL7F.cjs +0 -18
  1094. package/dist/layers-T55SA47E.mjs +0 -18
  1095. package/dist/layers.d-CcS42OGR.d.mts +0 -55
  1096. package/dist/layers.d-CcS42OGR.d.ts +0 -55
  1097. package/dist/lifecycle.d-C2aLBOwu.d.mts +0 -176
  1098. package/dist/lifecycle.d-C2aLBOwu.d.ts +0 -176
  1099. package/dist/manager-2LUKNX2N.cjs +0 -14
  1100. package/dist/manager-H5ZM3HAM.mjs +0 -14
  1101. package/dist/markdown.d.mts +0 -33
  1102. package/dist/markdown.d.ts +0 -33
  1103. package/dist/middleware.d.mts +0 -225
  1104. package/dist/middleware.d.ts +0 -225
  1105. package/dist/mobile.cjs +0 -9
  1106. package/dist/mobile.d.mts +0 -110
  1107. package/dist/mobile.d.ts +0 -110
  1108. package/dist/mobile.mjs +0 -9
  1109. package/dist/native-tree-EBPDFTRW.mjs +0 -25
  1110. package/dist/native-tree-MMZS7S6W.cjs +0 -25
  1111. package/dist/navigation-delegate.d-C76gXTmO.d.mts +0 -29
  1112. package/dist/navigation-delegate.d-DIyDslxt.d.ts +0 -29
  1113. package/dist/navigation.d.mts +0 -51
  1114. package/dist/navigation.d.ts +0 -51
  1115. package/dist/nitro-CK7M4RMY.cjs +0 -650
  1116. package/dist/nitro-R444AF3O.mjs +0 -650
  1117. package/dist/node-module-bundle-7JHPPF6B.mjs +0 -11
  1118. package/dist/node-module-bundle-YJGYBOGK.cjs +0 -11
  1119. package/dist/observability.d-B2363jB6.d.mts +0 -448
  1120. package/dist/observability.d-B2363jB6.d.ts +0 -448
  1121. package/dist/observability.d.mts +0 -2
  1122. package/dist/observability.d.ts +0 -2
  1123. package/dist/og.d.mts +0 -1
  1124. package/dist/og.d.ts +0 -1
  1125. package/dist/params.d-BALtrRim.d.ts +0 -15
  1126. package/dist/params.d-ry-lxqmy.d.mts +0 -15
  1127. package/dist/platform.cjs +0 -29
  1128. package/dist/platform.d.mts +0 -24
  1129. package/dist/platform.d.ts +0 -24
  1130. package/dist/platform.mjs +0 -29
  1131. package/dist/plugin-53SY5YBS.mjs +0 -32
  1132. package/dist/plugin-HZIBL3DW.cjs +0 -32
  1133. package/dist/plugin.d.mts +0 -58
  1134. package/dist/plugin.d.ts +0 -58
  1135. package/dist/production-runtime.d-CDHztggO.d.mts +0 -123
  1136. package/dist/production-runtime.d-tyaGdbk6.d.ts +0 -123
  1137. package/dist/production-vite.d-BQFAlG7n.d.mts +0 -13
  1138. package/dist/production-vite.d-BQFAlG7n.d.ts +0 -13
  1139. package/dist/programmatic-routes-client.d-XfmIrCK1.d.ts +0 -192
  1140. package/dist/programmatic-routes-client.d-aAWiDd64.d.mts +0 -192
  1141. package/dist/query/client.d.mts +0 -61
  1142. package/dist/query/client.d.ts +0 -61
  1143. package/dist/query/index.d.mts +0 -90
  1144. package/dist/query/index.d.ts +0 -90
  1145. package/dist/query/parsers.d.mts +0 -29
  1146. package/dist/query/parsers.d.ts +0 -29
  1147. package/dist/query/server.d.mts +0 -55
  1148. package/dist/query/server.d.ts +0 -55
  1149. package/dist/render-plan.d-Diwybxo8.d.mts +0 -25
  1150. package/dist/render-plan.d-Dr5WRjoV.d.ts +0 -25
  1151. package/dist/renderer/react/client.d.mts +0 -3
  1152. package/dist/renderer/react/client.d.ts +0 -3
  1153. package/dist/renderer/react/server.d.mts +0 -48
  1154. package/dist/renderer/react/server.d.ts +0 -48
  1155. package/dist/renderer/react/vite.d.mts +0 -4
  1156. package/dist/renderer/react/vite.d.ts +0 -4
  1157. package/dist/renderer-client.d.mts +0 -126
  1158. package/dist/renderer-client.d.ts +0 -126
  1159. package/dist/renderer.d.mts +0 -260
  1160. package/dist/renderer.d.ts +0 -260
  1161. package/dist/request.d-D01fRn--.d.ts +0 -24
  1162. package/dist/request.d-Dd3AFR79.d.mts +0 -24
  1163. package/dist/request.d.mts +0 -34
  1164. package/dist/request.d.ts +0 -34
  1165. package/dist/resolver.d-BHyZgpa7.d.ts +0 -14
  1166. package/dist/resolver.d-JnZKKsc5.d.mts +0 -14
  1167. package/dist/response.d-BolW0Vx_.d.mts +0 -10
  1168. package/dist/response.d-BolW0Vx_.d.ts +0 -10
  1169. package/dist/route-pattern.d-CVsVbq5n.d.mts +0 -13
  1170. package/dist/route-pattern.d-CVsVbq5n.d.ts +0 -13
  1171. package/dist/route-rendering.d-BQ53lJ_D.d.mts +0 -44
  1172. package/dist/route-rendering.d-Bhx4QoJt.d.ts +0 -44
  1173. package/dist/route.d-BaVH3V0w.d.mts +0 -224
  1174. package/dist/route.d-DBTEqifW.d.ts +0 -224
  1175. package/dist/router.d-Bi23a6Xc.d.mts +0 -50
  1176. package/dist/router.d-DQ3k7EYn.d.ts +0 -50
  1177. package/dist/router.d.mts +0 -36
  1178. package/dist/router.d.ts +0 -36
  1179. package/dist/routes.d-BgTd7vI4.d.mts +0 -208
  1180. package/dist/routes.d-C7jMJFvP.d.ts +0 -208
  1181. package/dist/routes.d.mts +0 -273
  1182. package/dist/routes.d.ts +0 -273
  1183. package/dist/rsc-pipeline-K3ER3Q4N.mjs +0 -83
  1184. package/dist/rsc-pipeline-OCZIT5OF.cjs +0 -83
  1185. package/dist/runtime-DKNSIH7V.cjs +0 -1061
  1186. package/dist/runtime-MKYDEUZT.mjs +0 -1061
  1187. package/dist/runtime.d-3iJAKptR.d.mts +0 -28
  1188. package/dist/runtime.d-B2Js6qZ2.d.mts +0 -69
  1189. package/dist/runtime.d-BL-CGwoi.d.ts +0 -69
  1190. package/dist/runtime.d-BtL3PCL3.d.ts +0 -28
  1191. package/dist/schema-dev-notice-F6QYSOAI.mjs +0 -54
  1192. package/dist/schema-dev-notice-UU7DMZEU.cjs +0 -54
  1193. package/dist/schema.d.mts +0 -115
  1194. package/dist/schema.d.ts +0 -115
  1195. package/dist/search-client-OXH6GBNO.mjs +0 -15
  1196. package/dist/search-client-ZZLKVO5R.cjs +0 -15
  1197. package/dist/server-action-security.d.mts +0 -45
  1198. package/dist/server-action-security.d.ts +0 -45
  1199. package/dist/server-client-bridge.d-DKWDl5NB.d.mts +0 -7
  1200. package/dist/server-client-bridge.d-DKWDl5NB.d.ts +0 -7
  1201. package/dist/server-fn-client.d.mts +0 -60
  1202. package/dist/server-fn-client.d.ts +0 -60
  1203. package/dist/server-fn-error.d-DrcH9cc1.d.mts +0 -26
  1204. package/dist/server-fn-error.d-DrcH9cc1.d.ts +0 -26
  1205. package/dist/server-fn.d.mts +0 -192
  1206. package/dist/server-fn.d.ts +0 -192
  1207. package/dist/server-plugins.d.mts +0 -65
  1208. package/dist/server-plugins.d.ts +0 -65
  1209. package/dist/server-query-client.d.mts +0 -26
  1210. package/dist/server-query-client.d.ts +0 -26
  1211. package/dist/server-query-runtime.d-DXRNhX_3.d.ts +0 -36
  1212. package/dist/server-query-runtime.d-aP52iuL5.d.mts +0 -36
  1213. package/dist/server-query.d.mts +0 -46
  1214. package/dist/server-query.d.ts +0 -46
  1215. package/dist/server.d.mts +0 -78
  1216. package/dist/server.d.ts +0 -78
  1217. package/dist/session-AAU7RNRO.cjs +0 -23
  1218. package/dist/session-IGEDQ5PY.mjs +0 -23
  1219. package/dist/spa-router.d-B2rIFGs0.d.mts +0 -239
  1220. package/dist/spa-router.d-DqZ6Lfs0.d.ts +0 -239
  1221. package/dist/storage.d.mts +0 -60
  1222. package/dist/storage.d.ts +0 -60
  1223. package/dist/testing.d.mts +0 -110
  1224. package/dist/testing.d.ts +0 -110
  1225. package/dist/theme/client.d.mts +0 -10
  1226. package/dist/theme/client.d.ts +0 -10
  1227. package/dist/theme/index.d.mts +0 -6
  1228. package/dist/theme/index.d.ts +0 -6
  1229. package/dist/theme/runtime.d.mts +0 -13
  1230. package/dist/theme/runtime.d.ts +0 -13
  1231. package/dist/theme/server.d.mts +0 -8
  1232. package/dist/theme/server.d.ts +0 -8
  1233. package/dist/types.d-BnIqOn9w.d.mts +0 -73
  1234. package/dist/types.d-BnIqOn9w.d.ts +0 -73
  1235. package/dist/types.d-C41ePjvP.d.mts +0 -85
  1236. package/dist/types.d-C41ePjvP.d.ts +0 -85
  1237. package/dist/types.d-DQnyD3VD.d.mts +0 -30
  1238. package/dist/types.d-DQnyD3VD.d.ts +0 -30
  1239. package/dist/utils.d-Bv2MPeLR.d.ts +0 -48
  1240. package/dist/utils.d-fqXe8lNc.d.mts +0 -48
  1241. package/dist/version.d.mts +0 -3
  1242. package/dist/version.d.ts +0 -3
  1243. package/dist/vite.d.mts +0 -163
  1244. package/dist/vite.d.ts +0 -163
  1245. package/dist/workflows.d-CRMzQZ3k.d.mts +0 -188
  1246. package/dist/workflows.d-CRMzQZ3k.d.ts +0 -188
  1247. package/dist/workflows.d.mts +0 -1
  1248. package/dist/workflows.d.ts +0 -1
@@ -0,0 +1,1362 @@
1
+ import {
2
+ emitFarmAgentRead
3
+ } from "./chunk-MVL2RAJW.mjs";
4
+ import {
5
+ _findFarmMCPEndpointTool
6
+ } from "./chunk-ZLAT2CWY.mjs";
7
+ import {
8
+ _withFarmResponseHeaders
9
+ } from "./chunk-Z3HATSKO.mjs";
10
+ import {
11
+ stripFarmBasePath
12
+ } from "./chunk-4RB44K6Z.mjs";
13
+ import {
14
+ __name
15
+ } from "./chunk-LPEX4YW6.mjs";
16
+
17
+ // src/markdown-view.ts
18
+ var FENCE = /^\s{0,3}(`{3,}|~{3,})/;
19
+ var ATX_HEADING = /^\s{0,3}(#{1,6})[ \t]+(.+?)[ \t]*#*[ \t]*$/;
20
+ function parseMarkdownHeadingsFromLines(lines) {
21
+ const headings = [];
22
+ const used = /* @__PURE__ */ new Map();
23
+ let index = 0;
24
+ if (lines[0]?.trim() === "---") {
25
+ const close = lines.findIndex((line, lineIndex) => lineIndex > 0 && line.trim() === "---");
26
+ if (close > 0) index = close + 1;
27
+ }
28
+ let fence = null;
29
+ for (; index < lines.length; index++) {
30
+ const line = lines[index];
31
+ const fenceMatch = FENCE.exec(line);
32
+ if (fenceMatch) {
33
+ const marker = fenceMatch[1];
34
+ if (fence === null) fence = marker;
35
+ else if (marker[0] === fence[0] && marker.length >= fence.length) fence = null;
36
+ continue;
37
+ }
38
+ if (fence !== null) continue;
39
+ const match = ATX_HEADING.exec(line);
40
+ if (!match) continue;
41
+ const text = match[2].trim();
42
+ const base = slugifyHeading(text) || "section";
43
+ const count = used.get(base) ?? 0;
44
+ used.set(base, count + 1);
45
+ headings.push({
46
+ id: count === 0 ? base : `${base}-${count}`,
47
+ level: match[1].length,
48
+ text,
49
+ start: index,
50
+ end: lines.length
51
+ });
52
+ }
53
+ const open = [];
54
+ for (const heading of headings) {
55
+ while (open.length > 0 && open[open.length - 1].level >= heading.level) {
56
+ open.pop().end = heading.start;
57
+ }
58
+ open.push(heading);
59
+ }
60
+ return headings;
61
+ }
62
+ __name(parseMarkdownHeadingsFromLines, "parseMarkdownHeadingsFromLines");
63
+ function slugifyHeading(text) {
64
+ return text.replace(/!?\[([^\]]*)\]\([^)]*\)/g, "$1").replace(/[`*_~]/g, "").toLowerCase().replace(/[^\p{L}\p{N}\s-]/gu, "").trim().replace(/\s/g, "-");
65
+ }
66
+ __name(slugifyHeading, "slugifyHeading");
67
+ function estimateFarmMarkdownTokens(text) {
68
+ return Math.ceil(text.length / 4);
69
+ }
70
+ __name(estimateFarmMarkdownTokens, "estimateFarmMarkdownTokens");
71
+ var FARM_MARKDOWN_MIN_TOKEN_BUDGET = 100;
72
+ var FARM_MARKDOWN_VIEW_PARAMS = [
73
+ "outline",
74
+ "section",
75
+ "actions",
76
+ "max_tokens",
77
+ "cursor"
78
+ ];
79
+ function selectFarmMarkdownView(markdown, searchParams, markdownPath) {
80
+ const wantsOutline = searchParams.has("outline");
81
+ const sectionId = searchParams.get("section");
82
+ const budget = searchParams.get("max_tokens");
83
+ if (!wantsOutline && sectionId === null && budget === null)
84
+ return { status: 200, body: markdown };
85
+ const viewUrl = /* @__PURE__ */ __name((view) => {
86
+ const query = new URLSearchParams(searchParams);
87
+ for (const name of FARM_MARKDOWN_VIEW_PARAMS) query.delete(name);
88
+ for (const [name, value] of Object.entries(view)) {
89
+ if (value !== null && value !== void 0) query.set(name, value);
90
+ }
91
+ const search = query.toString();
92
+ return search ? `${markdownPath}?${search}` : markdownPath;
93
+ }, "viewUrl");
94
+ const withinBudget = /* @__PURE__ */ __name((document) => budget === null ? { status: 200, body: document } : selectFarmMarkdownPart(
95
+ document,
96
+ budget,
97
+ searchParams.get("cursor"),
98
+ (cursor) => viewUrl({ section: sectionId, max_tokens: budget, cursor })
99
+ ), "withinBudget");
100
+ if (!wantsOutline && sectionId === null) return withinBudget(markdown);
101
+ const lines = markdown.split("\n");
102
+ const headings = parseMarkdownHeadingsFromLines(lines);
103
+ const sectionText = /* @__PURE__ */ __name((heading) => lines.slice(heading.start, heading.end).join("\n").trim(), "sectionText");
104
+ if (sectionId !== null) {
105
+ const heading = headings.find((candidate) => candidate.id === sectionId);
106
+ if (heading) return withinBudget(`${sectionText(heading)}
107
+ `);
108
+ const available = headings.map((candidate) => `- \`${candidate.id}\``).join("\n");
109
+ return {
110
+ status: 404,
111
+ body: `# Section not found
112
+
113
+ ${markdownCodeSpan(sectionId)} is not a section of ${markdownPath}.
114
+
115
+ ` + (available ? `Available sections:
116
+
117
+ ${available}
118
+ ` : "This page has no sections.\n")
119
+ };
120
+ }
121
+ const offsets = [];
122
+ let offset = 0;
123
+ for (const line of lines) {
124
+ offsets.push(offset);
125
+ offset += line.length + 1;
126
+ }
127
+ const minLevel = headings.reduce((min, heading) => Math.min(min, heading.level), 6);
128
+ const entries = headings.map((heading) => {
129
+ const indent = " ".repeat(heading.level - minLevel);
130
+ let last = heading.end - 1;
131
+ while (last > heading.start && lines[last].trim().length === 0) last--;
132
+ const first = lines[heading.start];
133
+ const length = offsets[last] + lines[last].trimEnd().length - offsets[heading.start] - (first.length - first.trimStart().length);
134
+ const tokens = Math.ceil(length / 4);
135
+ return `${indent}- [${heading.text}](${viewUrl({ section: heading.id })}) ~${tokens} tokens`;
136
+ });
137
+ return {
138
+ status: 200,
139
+ body: `# Outline of ${markdownPath}
140
+
141
+ About ${estimateFarmMarkdownTokens(markdown)} tokens in total. Request one section with \`?section=<id>\`, or read in parts with \`?max_tokens=<n>\`.
142
+
143
+ ` + (entries.length > 0 ? `${entries.join("\n")}
144
+ ` : "This page has no headings.\n")
145
+ };
146
+ }
147
+ __name(selectFarmMarkdownView, "selectFarmMarkdownView");
148
+ function markdownCodeSpan(value) {
149
+ const text = value.replace(/[\p{Cc}\u2028\u2029]+/gu, " ");
150
+ const longestRun = (text.match(/`+/g) ?? []).reduce((max, run) => Math.max(max, run.length), 0);
151
+ const fence = "`".repeat(longestRun + 1);
152
+ const pad = text.startsWith("`") || text.endsWith("`") ? " " : "";
153
+ return `${fence}${pad}${text}${pad}${fence}`;
154
+ }
155
+ __name(markdownCodeSpan, "markdownCodeSpan");
156
+ function selectFarmPageActionsView(markdownPath, actions, headers) {
157
+ headers.set("Content-Type", "application/json; charset=utf-8");
158
+ const page = markdownPath === "/index.md" ? "/" : markdownPath.replace(/\.md$/, "");
159
+ return {
160
+ status: 200,
161
+ body: `${JSON.stringify({ page, markdown: markdownPath, actions }, null, 2)}
162
+ `
163
+ };
164
+ }
165
+ __name(selectFarmPageActionsView, "selectFarmPageActionsView");
166
+ function selectFarmMarkdownPart(document, rawBudget, rawCursor, partUrl) {
167
+ const budget = /^\d{1,9}$/.test(rawBudget) ? Number(rawBudget) : Number.NaN;
168
+ if (!(budget >= FARM_MARKDOWN_MIN_TOKEN_BUDGET)) {
169
+ return {
170
+ status: 400,
171
+ body: `# Invalid max_tokens
172
+
173
+ \`max_tokens\` must be a whole number of at least ${FARM_MARKDOWN_MIN_TOKEN_BUDGET}.
174
+ `
175
+ };
176
+ }
177
+ const lines = document.replace(/\n$/, "").split("\n");
178
+ const version = hashFarmMarkdown(document).slice(0, 8);
179
+ let start = 0;
180
+ if (rawCursor !== null) {
181
+ const match = /^(\d{1,9})\.([0-9a-z]+)$/.exec(rawCursor);
182
+ if (!match || Number(match[1]) <= 0 || Number(match[1]) >= lines.length) {
183
+ return {
184
+ status: 400,
185
+ body: `# Invalid cursor
186
+
187
+ Start again at ${partUrl()}.
188
+ `
189
+ };
190
+ }
191
+ if (match[2] !== version) {
192
+ return {
193
+ status: 409,
194
+ body: `# Page changed
195
+
196
+ The page changed after this cursor was issued. Start again at ${partUrl()}.
197
+ `
198
+ };
199
+ }
200
+ start = Number(match[1]);
201
+ }
202
+ const fences = readOpenFences(lines);
203
+ const reopen = fences[start];
204
+ const room = budget * 4 - 200;
205
+ let size = reopen ? reopen.opener.length + 1 : 0;
206
+ let end = start;
207
+ let lastBreak = -1;
208
+ while (end < lines.length) {
209
+ const length = lines[end].length + 1;
210
+ if (end > start && size + length > room) break;
211
+ size += length;
212
+ end++;
213
+ if (end < lines.length && isPartBreak(lines, fences, end)) lastBreak = end;
214
+ }
215
+ const head = reopen ? `${reopen.opener}
216
+ ` : "";
217
+ if (end >= lines.length) {
218
+ return { status: 200, body: `${head}${lines.slice(start).join("\n")}
219
+ ` };
220
+ }
221
+ if (lastBreak > start) end = lastBreak;
222
+ const open = fences[end];
223
+ const part = `${head}${lines.slice(start, end).join("\n").replace(/\n+$/, "")}${open ? `
224
+ ${open.closer}` : ""}`;
225
+ const next = partUrl(`${end}.${version}`);
226
+ let remainingLength = lines.length - end - 1;
227
+ for (let index = end; index < lines.length; index++) remainingLength += lines[index].length;
228
+ const remaining = Math.ceil(remainingLength / 4);
229
+ return {
230
+ status: 200,
231
+ body: `${part}
232
+
233
+ ---
234
+
235
+ Continue: ${next} (about ${remaining} more tokens)
236
+ `,
237
+ headers: { Link: `<${next}>; rel="next"` }
238
+ };
239
+ }
240
+ __name(selectFarmMarkdownPart, "selectFarmMarkdownPart");
241
+ function readOpenFences(lines) {
242
+ const open = [];
243
+ let fence;
244
+ let frontMatter = lines[0]?.trim() === "---";
245
+ for (let index = 0; index < lines.length; index++) {
246
+ open.push(frontMatter && index > 0 ? { opener: "", closer: "" } : fence);
247
+ const line = lines[index];
248
+ if (frontMatter) {
249
+ if (index > 0 && line.trim() === "---") frontMatter = false;
250
+ continue;
251
+ }
252
+ const match = FENCE.exec(line);
253
+ if (!match) continue;
254
+ const marker = match[1];
255
+ if (!fence) fence = { opener: line.trim(), closer: marker, marker };
256
+ else if (marker[0] === fence.marker[0] && marker.length >= fence.marker.length)
257
+ fence = void 0;
258
+ }
259
+ return open;
260
+ }
261
+ __name(readOpenFences, "readOpenFences");
262
+ function isPartBreak(lines, fences, index) {
263
+ if (fences[index]) return false;
264
+ return lines[index - 1].trim() === "" || ATX_HEADING.test(lines[index]);
265
+ }
266
+ __name(isPartBreak, "isPartBreak");
267
+ function readMarkdownViewName(searchParams) {
268
+ if (searchParams.has("actions")) return "actions";
269
+ if (searchParams.has("outline")) return "outline";
270
+ if (searchParams.has("max_tokens")) return "parts";
271
+ return searchParams.has("section") ? "section" : void 0;
272
+ }
273
+ __name(readMarkdownViewName, "readMarkdownViewName");
274
+ function createFarmMarkdownETag(body) {
275
+ return `W/"${hashFarmMarkdown(body)}-${body.length.toString(36)}"`;
276
+ }
277
+ __name(createFarmMarkdownETag, "createFarmMarkdownETag");
278
+ function hashFarmMarkdown(body) {
279
+ let h1 = 3735928559;
280
+ let h2 = 1103547991;
281
+ for (let index = 0; index < body.length; index++) {
282
+ const code = body.charCodeAt(index);
283
+ h1 = Math.imul(h1 ^ code, 2654435761);
284
+ h2 = Math.imul(h2 ^ code, 1597334677);
285
+ }
286
+ h1 = Math.imul(h1 ^ h1 >>> 16, 2246822507) ^ Math.imul(h2 ^ h2 >>> 13, 3266489909);
287
+ h2 = Math.imul(h2 ^ h2 >>> 16, 2246822507) ^ Math.imul(h1 ^ h1 >>> 13, 3266489909);
288
+ return (4294967296 * (2097151 & h2) + (h1 >>> 0)).toString(36);
289
+ }
290
+ __name(hashFarmMarkdown, "hashFarmMarkdown");
291
+ function ifNoneMatchIncludes(header, etag) {
292
+ if (!header) return false;
293
+ const opaque = etag.replace(/^W\//, "");
294
+ return header.split(",").map((token) => token.trim()).some((token) => token === "*" || token.replace(/^W\//, "") === opaque);
295
+ }
296
+ __name(ifNoneMatchIncludes, "ifNoneMatchIncludes");
297
+ function createFarmMarkdownViewResponse(options) {
298
+ const url = options.requestUrl ?? new URL(options.request.url);
299
+ const view = options.status >= 400 ? { status: options.status, body: options.markdown } : url.searchParams.has("actions") ? selectFarmPageActionsView(options.markdownPath, options.actions ?? [], options.headers) : selectFarmMarkdownView(options.markdown, url.searchParams, options.markdownPath);
300
+ let status = view.status === 200 ? options.status : view.status;
301
+ const ifMatch = options.request.headers.get("if-match");
302
+ const preconditionFailed = status >= 200 && status < 300 && ifMatch !== null && ifMatch.trim() !== "*";
303
+ if (preconditionFailed) {
304
+ status = 412;
305
+ options.headers.set("Cache-Control", "no-store");
306
+ }
307
+ emitFarmAgentRead(options.request, "markdown", status, readMarkdownViewName(url.searchParams));
308
+ for (const [name, value] of Object.entries(view.headers ?? {}))
309
+ options.headers.append(name, value);
310
+ const etag = createFarmMarkdownETag(view.body);
311
+ options.headers.set("ETag", etag);
312
+ if (status === 200 && ifNoneMatchIncludes(options.request.headers.get("if-none-match"), etag)) {
313
+ return new Response(null, { status: 304, headers: options.headers });
314
+ }
315
+ return new Response(preconditionFailed || options.request.method === "HEAD" ? null : view.body, {
316
+ status,
317
+ headers: options.headers
318
+ });
319
+ }
320
+ __name(createFarmMarkdownViewResponse, "createFarmMarkdownViewResponse");
321
+
322
+ // src/markdown.ts
323
+ var FARM_MARKDOWN_CONTENT_TYPE = "text/markdown; charset=utf-8";
324
+ function farmRequestWantsMarkdown(pathname, accept) {
325
+ return pathname.toLowerCase().endsWith(".md") || requestAcceptsMarkdown(accept);
326
+ }
327
+ __name(farmRequestWantsMarkdown, "farmRequestWantsMarkdown");
328
+ function createFarmMarkdownErrorBody(status, pathname, homeHref = "/") {
329
+ const heading = status === 404 ? "Page not found" : `Request failed (${status})`;
330
+ return `# ${heading}
331
+
332
+ No page is available at \`${pathname}\`. The URL may be incorrect, or the page has not been published.
333
+
334
+ Browse [the site homepage](${homeHref}) to find available pages.
335
+ `;
336
+ }
337
+ __name(createFarmMarkdownErrorBody, "createFarmMarkdownErrorBody");
338
+ function resolveMarkdownConfig(config) {
339
+ if (config === false) {
340
+ return {
341
+ enabled: false,
342
+ expose: [],
343
+ cache: false,
344
+ includeMetadata: true
345
+ };
346
+ }
347
+ if (config === true || config === void 0) {
348
+ return {
349
+ enabled: true,
350
+ expose: true,
351
+ cache: false,
352
+ includeMetadata: true
353
+ };
354
+ }
355
+ const exposeInput = config.expose ?? config.routes ?? true;
356
+ const expose = exposeInput === true ? true : Array.isArray(exposeInput) ? exposeInput.map(normalizeMarkdownRouteInput) : [];
357
+ return {
358
+ enabled: config.enabled !== false && (expose === true || expose.length > 0),
359
+ expose,
360
+ cache: config.cache ?? false,
361
+ includeMetadata: config.includeMetadata ?? true
362
+ };
363
+ }
364
+ __name(resolveMarkdownConfig, "resolveMarkdownConfig");
365
+ function resolveMarkdownMirrorTarget(config, pathname, options = {}) {
366
+ const hasMarkdownExtension = pathname.toLowerCase().endsWith(".md");
367
+ if (!config?.enabled || !hasMarkdownExtension && !requestAcceptsMarkdown(options.accept)) {
368
+ return null;
369
+ }
370
+ const targetPathname = normalizeMarkdownRoute(
371
+ hasMarkdownExtension ? pathname.slice(0, -".md".length) || "/" : pathname
372
+ );
373
+ const route = findExposedMarkdownRoute(config, targetPathname);
374
+ if (!route && config.expose !== true) {
375
+ return null;
376
+ }
377
+ return {
378
+ pathname: targetPathname,
379
+ route
380
+ };
381
+ }
382
+ __name(resolveMarkdownMirrorTarget, "resolveMarkdownMirrorTarget");
383
+ async function createMarkdownMirrorResponse(options) {
384
+ if (options.request.method !== "GET" && options.request.method !== "HEAD") {
385
+ return null;
386
+ }
387
+ const requestUrl = options.requestUrl?.href === options.request.url ? options.requestUrl : new URL(options.request.url);
388
+ const hasMarkdownExtension = requestUrl.pathname.toLowerCase().endsWith(".md");
389
+ const target = resolveMarkdownMirrorTarget(options.config, requestUrl.pathname, {
390
+ accept: options.request.headers.get("accept")
391
+ });
392
+ if (!target) {
393
+ return null;
394
+ }
395
+ if (options.routeExists && !options.routeExists(target.pathname)) {
396
+ return null;
397
+ }
398
+ const pageUrl = new URL(options.request.url);
399
+ pageUrl.pathname = target.pathname;
400
+ for (const name of FARM_MARKDOWN_VIEW_PARAMS) pageUrl.searchParams.delete(name);
401
+ const headers = new Headers(options.request.headers);
402
+ headers.set("accept", "text/html");
403
+ headers.delete("if-match");
404
+ headers.delete("if-unmodified-since");
405
+ headers.delete("if-none-match");
406
+ headers.delete("if-modified-since");
407
+ headers.delete("range");
408
+ headers.delete("if-range");
409
+ const pageResponse = await options.renderPage(
410
+ new Request(pageUrl, {
411
+ method: "GET",
412
+ headers,
413
+ signal: options.request.signal
414
+ })
415
+ );
416
+ if (pageResponse.status === 204 || pageResponse.status === 205 || pageResponse.status === 304) {
417
+ return pageResponse;
418
+ }
419
+ const redirects = pageResponse.status >= 300 && pageResponse.status < 400 && pageResponse.headers.has("location");
420
+ if (redirects || !isHtmlResponse(pageResponse)) {
421
+ const accessResponse = createMarkdownAccessResponse(
422
+ pageResponse,
423
+ target.pathname,
424
+ pageUrl,
425
+ options.request.method === "HEAD"
426
+ );
427
+ if (accessResponse || options.request.method === "HEAD") {
428
+ void pageResponse.body?.cancel().catch(() => {
429
+ });
430
+ return accessResponse ?? new Response(null, {
431
+ status: pageResponse.status,
432
+ statusText: pageResponse.statusText,
433
+ headers: pageResponse.headers
434
+ });
435
+ }
436
+ return pageResponse;
437
+ }
438
+ const html = await pageResponse.text();
439
+ const markdownPath = target.pathname === "/" ? "/index.md" : `${target.pathname}.md`;
440
+ const region = pageResponse.status < 400 && /<form\b/i.test(html) ? readHtmlContentRegion(html) : void 0;
441
+ const actions = region === void 0 ? [] : extractPageActionsFromRegion(region, pageUrl);
442
+ for (const form of actions) {
443
+ if (!form.action?.startsWith("/")) continue;
444
+ const pathname = new URL(form.action, pageUrl.origin).pathname;
445
+ const tool = _findFarmMCPEndpointTool(form.method, pathname, options.apiServerBasePath) ?? _findFarmMCPEndpointTool(form.method, stripFarmBasePath(pathname), options.apiServerBasePath);
446
+ if (tool) form.tool = tool;
447
+ }
448
+ const markdown = pageResponse.status < 400 && requestUrl.searchParams.has("actions") ? "" : convertHtmlToMarkdown(
449
+ html,
450
+ {
451
+ title: target.route?.title,
452
+ includeMetadata: options.config?.includeMetadata ?? true,
453
+ sourcePath: target.pathname,
454
+ actionsPath: actions.length > 0 ? `${markdownPath}?actions` : void 0
455
+ },
456
+ region
457
+ );
458
+ const headersOut = new Headers({
459
+ "Content-Type": "text/markdown; charset=utf-8",
460
+ "Content-Location": markdownPath,
461
+ "X-Farm-Markdown-Route": target.pathname
462
+ });
463
+ if (!hasMarkdownExtension) {
464
+ headersOut.set("Vary", "Accept");
465
+ }
466
+ for (const token of pageResponse.headers.get("vary")?.split(",") ?? []) {
467
+ const name = token.trim();
468
+ if (name && name.toLowerCase() !== "accept") appendHeaderToken(headersOut, "Vary", name);
469
+ }
470
+ const pageCacheControl = pageResponse.headers.get("cache-control");
471
+ const cache = target.route?.cache ?? options.config?.cache ?? false;
472
+ headersOut.set(
473
+ "Cache-Control",
474
+ pageCacheControl && isPrivateCacheControl(pageCacheControl) ? pageCacheControl : createMarkdownCacheHeader(cache)
475
+ );
476
+ preserveMarkdownResponseCookies(pageResponse.headers, headersOut);
477
+ if (pageResponse.status >= 400) {
478
+ preserveMarkdownResponseControlHeaders(pageResponse.headers, headersOut);
479
+ }
480
+ const robots = [pageResponse.headers.get("x-robots-tag"), readHtmlMetaContent(html, "robots")].filter((value) => Boolean(value?.trim())).join(", ");
481
+ if (robots) headersOut.set("X-Robots-Tag", robots);
482
+ const canonical = readHtmlCanonicalHref(html);
483
+ if (canonical) {
484
+ try {
485
+ headersOut.append("Link", `<${new URL(canonical, pageUrl).href}>; rel="canonical"`);
486
+ } catch {
487
+ }
488
+ }
489
+ return createFarmMarkdownViewResponse({
490
+ request: options.request,
491
+ requestUrl,
492
+ markdown,
493
+ status: pageResponse.status,
494
+ headers: headersOut,
495
+ markdownPath,
496
+ actions
497
+ });
498
+ }
499
+ __name(createMarkdownMirrorResponse, "createMarkdownMirrorResponse");
500
+ function createMarkdownAccessResponse(pageResponse, pathname, pageUrl, head) {
501
+ const location = pageResponse.headers.get("location");
502
+ const redirect = pageResponse.status >= 300 && pageResponse.status < 400 && location;
503
+ if (!redirect && pageResponse.status !== 401 && pageResponse.status !== 403) return null;
504
+ const headers = new Headers({
505
+ "Content-Type": "text/markdown; charset=utf-8",
506
+ "Cache-Control": "no-store",
507
+ "X-Farm-Markdown-Route": pathname
508
+ });
509
+ preserveMarkdownResponseCookies(pageResponse.headers, headers);
510
+ preserveMarkdownResponseControlHeaders(pageResponse.headers, headers);
511
+ let body;
512
+ if (redirect) {
513
+ let target;
514
+ try {
515
+ target = new URL(location, pageUrl).href;
516
+ } catch {
517
+ return null;
518
+ }
519
+ headers.set("Location", location);
520
+ body = `# Redirected
521
+
522
+ \`${pathname}\` redirects to [${target}](${target}). The page may require signing in.
523
+ `;
524
+ } else {
525
+ body = pageResponse.status === 401 ? `# Sign-in required
526
+
527
+ \`${pathname}\` requires signing in.
528
+ ` : `# Access denied
529
+
530
+ This account cannot read \`${pathname}\`.
531
+ `;
532
+ }
533
+ return new Response(head ? null : body, { status: pageResponse.status, headers });
534
+ }
535
+ __name(createMarkdownAccessResponse, "createMarkdownAccessResponse");
536
+ function preserveMarkdownResponseControlHeaders(source, target) {
537
+ for (const name of ["WWW-Authenticate", "Proxy-Authenticate", "Retry-After", "Allow"]) {
538
+ const value = source.get(name);
539
+ if (value !== null) target.set(name, value);
540
+ }
541
+ }
542
+ __name(preserveMarkdownResponseControlHeaders, "preserveMarkdownResponseControlHeaders");
543
+ function preserveMarkdownResponseCookies(source, target) {
544
+ const getSetCookie = source.getSetCookie;
545
+ const cookies = typeof getSetCookie === "function" ? getSetCookie.call(source) : source.has("set-cookie") ? [source.get("set-cookie")] : [];
546
+ if (cookies.length === 0) return;
547
+ for (const cookie of cookies) target.append("Set-Cookie", cookie);
548
+ target.set("Cache-Control", "private, no-store");
549
+ }
550
+ __name(preserveMarkdownResponseCookies, "preserveMarkdownResponseCookies");
551
+ function applyMarkdownNegotiationHeaders(response, options) {
552
+ if (!isHtmlResponse(response)) {
553
+ return response;
554
+ }
555
+ const alternatePath = getFarmMarkdownAlternatePath(options.config, options.pathname);
556
+ if (!alternatePath) {
557
+ return response;
558
+ }
559
+ return _withFarmResponseHeaders(response, (headers) => {
560
+ appendHeaderToken(headers, "Vary", "Accept");
561
+ headers.append("Link", `<${alternatePath}>; rel="alternate"; type="text/markdown"`);
562
+ });
563
+ }
564
+ __name(applyMarkdownNegotiationHeaders, "applyMarkdownNegotiationHeaders");
565
+ var CODE_BLOCK_MARK = "\0";
566
+ var CODE_BLOCK_PLACEHOLDER = /\u0000(\d+)\u0000/g;
567
+ var BLOCK_TAGS = /<\/?(ul|ol|main|section|article|header|footer|nav|aside|div|form|fieldset|legend|figure|figcaption|table|thead|tbody|tfoot|tr|dl|dt|dd|details|summary|address)\b[^>]*>/gi;
568
+ var BOX_TAGS = /<\/?(label|button|input|select|textarea|option|output|meter|progress|td|th)\b[^>]*>/gi;
569
+ var LAYOUT_ROW = /<(div|nav|section|header|footer|aside|main|article|figure|figcaption|dt|dd)\b([^>]*)>((?:(?!<\/?(?:div|nav|section|header|footer|aside|main|article|figure|figcaption|dt|dd|p|h[1-6]|ul|ol|li|table|pre|blockquote)\b)[\s\S])*?)<\/\1>/gi;
570
+ var HTML_TOKEN = /<\/?([a-zA-Z][\w:-]*)\b[^>]*?(\/?)>|[^<]+/g;
571
+ function separateLayoutRowItems(source) {
572
+ return source.replace(
573
+ LAYOUT_ROW,
574
+ (container, tag, attributes, content) => {
575
+ const boundaries = [];
576
+ const items = [];
577
+ let depth = 0;
578
+ let previousEnd = -1;
579
+ let item = "";
580
+ for (const match of content.matchAll(HTML_TOKEN)) {
581
+ const [token, name, selfClosing] = match;
582
+ const index = match.index ?? 0;
583
+ if (name === void 0) {
584
+ if (depth === 0) {
585
+ if (token.trim()) return container;
586
+ previousEnd = -1;
587
+ } else {
588
+ item += token;
589
+ }
590
+ continue;
591
+ }
592
+ const closing = token.startsWith("</");
593
+ const isVoid = selfClosing === "/" || VOID_TAGS.has(name.toLowerCase());
594
+ if (closing) {
595
+ depth = Math.max(0, depth - 1);
596
+ } else {
597
+ if (depth === 0 && previousEnd === index) boundaries.push(index);
598
+ if (!isVoid) depth += 1;
599
+ }
600
+ if (depth === 0) {
601
+ previousEnd = index + token.length;
602
+ items.push(decodeHtml(item).trim());
603
+ item = "";
604
+ }
605
+ }
606
+ if (boundaries.length === 0) return container;
607
+ if (items.filter(Boolean).every((text) => text.length === 1)) return container;
608
+ let separated = "";
609
+ let start = 0;
610
+ for (const boundary of boundaries) {
611
+ separated += `${content.slice(start, boundary)} `;
612
+ start = boundary;
613
+ }
614
+ separated += content.slice(start);
615
+ return `<${tag}${attributes}>${separated}</${tag}>`;
616
+ }
617
+ );
618
+ }
619
+ __name(separateLayoutRowItems, "separateLayoutRowItems");
620
+ function htmlToMarkdown(html, options = {}) {
621
+ return convertHtmlToMarkdown(html, options);
622
+ }
623
+ __name(htmlToMarkdown, "htmlToMarkdown");
624
+ function convertHtmlToMarkdown(html, options, region) {
625
+ const title = options.title ?? extractHtmlTitle(html);
626
+ let source = region ?? readHtmlContentRegion(html);
627
+ const codeBlocks = [];
628
+ const setAsideCodeBlock = /* @__PURE__ */ __name((code, attributes) => {
629
+ const content = decodeHtml(stripTags(code)).trim();
630
+ const longestRun = (content.match(/`+/g) ?? []).reduce(
631
+ (longest, run) => Math.max(longest, run.length),
632
+ 0
633
+ );
634
+ const fence = "`".repeat(Math.max(3, longestRun + 1));
635
+ const language = readCodeLanguage(attributes) ?? "";
636
+ codeBlocks.push(`${fence}${language}
637
+ ${content}
638
+ ${fence}`);
639
+ return `
640
+
641
+ ${CODE_BLOCK_MARK}${codeBlocks.length - 1}${CODE_BLOCK_MARK}
642
+
643
+ `;
644
+ }, "setAsideCodeBlock");
645
+ source = source.replace(
646
+ /<pre\b([^>]*)><code\b([^>]*)>([\s\S]*?)<\/code><\/pre>/gi,
647
+ (_, preAttributes, codeAttributes, code) => setAsideCodeBlock(code, [codeAttributes, preAttributes])
648
+ );
649
+ source = source.replace(
650
+ /<pre\b([^>]*)>([\s\S]*?)<\/pre>/gi,
651
+ (_, attributes, code) => setAsideCodeBlock(code, [attributes])
652
+ );
653
+ source = source.replace(
654
+ /<table\b[^>]*>([\s\S]*?)<\/table>/gi,
655
+ (table, content) => {
656
+ if (/<table\b/i.test(content) || content.includes(CODE_BLOCK_MARK)) return table;
657
+ const rows = toMarkdownTableRows(content);
658
+ if (!rows) return table;
659
+ codeBlocks.push(rows);
660
+ return `
661
+
662
+ ${CODE_BLOCK_MARK}${codeBlocks.length - 1}${CODE_BLOCK_MARK}
663
+
664
+ `;
665
+ }
666
+ );
667
+ source = separateLayoutRowItems(source);
668
+ source = source.replace(/<h([1-6])\b[^>]*>([\s\S]*?)<\/h\1>/gi, (_, level, content) => {
669
+ return `
670
+
671
+ ${"#".repeat(Number(level))} ${toInlineMarkdown(content).trim()}
672
+
673
+ `;
674
+ });
675
+ source = source.replace(/<p\b[^>]*>([\s\S]*?)<\/p>/gi, (_, content) => {
676
+ return `
677
+
678
+ ${toInlineMarkdown(content).trim()}
679
+
680
+ `;
681
+ });
682
+ source = source.replace(/<blockquote\b[^>]*>([\s\S]*?)<\/blockquote>/gi, (_, content) => {
683
+ const quote = htmlToMarkdown(content, { includeMetadata: false }).split("\n").filter((line) => line.trim().length > 0).map((line) => {
684
+ const code = line.startsWith(CODE_BLOCK_MARK) && line.endsWith(CODE_BLOCK_MARK) ? codeBlocks[Number(line.slice(1, -1))] : void 0;
685
+ if (code === void 0) return `> ${escapeHtmlText(line)}`;
686
+ codeBlocks.push(
687
+ code.split("\n").map((codeLine) => codeLine ? `> ${codeLine}` : ">").join("\n")
688
+ );
689
+ return `${CODE_BLOCK_MARK}${codeBlocks.length - 1}${CODE_BLOCK_MARK}`;
690
+ }).join("\n");
691
+ return `
692
+
693
+ ${quote}
694
+
695
+ `;
696
+ });
697
+ source = source.replace(
698
+ /<ol\b([^>]*)>([\s\S]*?)<\/ol>/gi,
699
+ (list, attributes, content) => {
700
+ if (/<[ou]l\b/i.test(content)) return list;
701
+ const start = Number.parseInt(readHtmlAttribute(attributes, "start") ?? "1", 10);
702
+ let number = Number.isFinite(start) ? start : 1;
703
+ const items = content.replace(/<li\b[^>]*>([\s\S]*?)<\/li>/gi, (_, item) => {
704
+ return `
705
+ ${number++}. ${toInlineMarkdown(item).trim()}`;
706
+ });
707
+ return `
708
+ ${items}
709
+ `;
710
+ }
711
+ );
712
+ source = source.replace(/<li\b[^>]*>([\s\S]*?)<\/li>/gi, (_, content) => {
713
+ return `
714
+ - ${toInlineMarkdown(content).trim()}`;
715
+ });
716
+ source = source.replace(BLOCK_TAGS, "\n").replace(BOX_TAGS, " ").replace(/<br\s*\/?>/gi, "\n").replace(/<hr\s*\/?>/gi, "\n\n---\n\n");
717
+ let markdown = decodeHtml(stripTags(source)).split("\n").map((line) => line.replace(/[ \t]+/g, " ").trim()).join("\n").replace(/\n{3,}/g, "\n\n").trim().replace(CODE_BLOCK_PLACEHOLDER, (match, index) => codeBlocks[Number(index)] ?? match);
718
+ if (options.includeMetadata !== false) {
719
+ const metadata = [];
720
+ if (title && !markdown.startsWith("# ")) {
721
+ metadata.push(`# ${title}`);
722
+ }
723
+ if (options.sourcePath) {
724
+ metadata.push(`Source: ${options.sourcePath}`);
725
+ }
726
+ if (options.actionsPath) {
727
+ metadata.push(`Actions: ${options.actionsPath}`);
728
+ }
729
+ if (metadata.length) {
730
+ markdown = `${metadata.join("\n\n")}${markdown ? `
731
+
732
+ ${markdown}` : ""}`;
733
+ }
734
+ }
735
+ return `${markdown}
736
+ `;
737
+ }
738
+ __name(convertHtmlToMarkdown, "convertHtmlToMarkdown");
739
+ function normalizeMarkdownRouteInput(input) {
740
+ if (typeof input === "string") {
741
+ return {
742
+ route: normalizeMarkdownRoute(input)
743
+ };
744
+ }
745
+ return {
746
+ ...input,
747
+ route: normalizeMarkdownRoute(input.route)
748
+ };
749
+ }
750
+ __name(normalizeMarkdownRouteInput, "normalizeMarkdownRouteInput");
751
+ function normalizeMarkdownRoute(route) {
752
+ const withoutMarkdownExtension = route.toLowerCase().endsWith(".md") ? route.slice(0, -3) : route;
753
+ const withSlash = withoutMarkdownExtension.startsWith("/") ? withoutMarkdownExtension : `/${withoutMarkdownExtension}`;
754
+ const normalized = withSlash.replace(/\/+/g, "/").replace(/\/$/g, "");
755
+ return normalized === "" || normalized === "/index" ? "/" : normalized;
756
+ }
757
+ __name(normalizeMarkdownRoute, "normalizeMarkdownRoute");
758
+ function farmAcceptQuality(accept, mediaType, options = {}) {
759
+ if (!accept) return 0;
760
+ const target = mediaType.toLowerCase();
761
+ const [targetType] = target.split("/");
762
+ let best = 0;
763
+ for (const entry of accept.split(",")) {
764
+ const [candidate, ...parameters] = entry.trim().toLowerCase().split(";").map((part) => part.trim());
765
+ if (!candidate) continue;
766
+ const matches = candidate === target || options.wildcards === true && (candidate === "*/*" || candidate === `${targetType}/*`);
767
+ if (!matches) continue;
768
+ const quality = parameters.find((parameter) => parameter.startsWith("q="));
769
+ const value = quality === void 0 ? 1 : Number(quality.slice(2));
770
+ if (!Number.isFinite(value) || value <= 0) continue;
771
+ if (value > best) best = value;
772
+ }
773
+ return best;
774
+ }
775
+ __name(farmAcceptQuality, "farmAcceptQuality");
776
+ function requestAcceptsMarkdown(accept) {
777
+ if (!accept) {
778
+ return false;
779
+ }
780
+ return accept.split(",").some((entry) => {
781
+ const [mediaType, ...parameters] = entry.trim().toLowerCase().split(";").map((part) => part.trim());
782
+ if (mediaType !== "text/markdown") {
783
+ return false;
784
+ }
785
+ const quality = parameters.find((parameter) => parameter.startsWith("q="));
786
+ return quality === void 0 || Number(quality.slice(2)) > 0;
787
+ });
788
+ }
789
+ __name(requestAcceptsMarkdown, "requestAcceptsMarkdown");
790
+ function getMarkdownAlternatePath(pathname) {
791
+ return pathname === "/" ? "/index.md" : `${pathname}.md`;
792
+ }
793
+ __name(getMarkdownAlternatePath, "getMarkdownAlternatePath");
794
+ function getFarmMarkdownMirrorPath(pathname) {
795
+ return getMarkdownAlternatePath(pathname);
796
+ }
797
+ __name(getFarmMarkdownMirrorPath, "getFarmMarkdownMirrorPath");
798
+ function getFarmMarkdownAlternatePath(config, pathname) {
799
+ const target = resolveMarkdownMirrorTarget(config, pathname, { accept: "text/markdown" });
800
+ return target ? getMarkdownAlternatePath(target.pathname) : null;
801
+ }
802
+ __name(getFarmMarkdownAlternatePath, "getFarmMarkdownAlternatePath");
803
+ function isFarmMarkdownMirrorExposed(config, pathname) {
804
+ if (!config?.enabled) return false;
805
+ return config.expose === true || findExposedMarkdownRoute(config, pathname) !== null;
806
+ }
807
+ __name(isFarmMarkdownMirrorExposed, "isFarmMarkdownMirrorExposed");
808
+ function matchesFarmMarkdownRoutePattern(pattern, pathname) {
809
+ return routeMatches(pattern, pathname);
810
+ }
811
+ __name(matchesFarmMarkdownRoutePattern, "matchesFarmMarkdownRoutePattern");
812
+ function appendHeaderToken(headers, name, token) {
813
+ const current = headers.get(name);
814
+ if (!current) {
815
+ headers.set(name, token);
816
+ return;
817
+ }
818
+ const tokens = current.split(",").map((value) => value.trim().toLowerCase());
819
+ if (!tokens.includes(token.toLowerCase())) {
820
+ headers.set(name, `${current}, ${token}`);
821
+ }
822
+ }
823
+ __name(appendHeaderToken, "appendHeaderToken");
824
+ function findExposedMarkdownRoute(config, pathname) {
825
+ if (config.expose === true) {
826
+ return null;
827
+ }
828
+ return config.expose.find((route) => routeMatches(route.route, pathname)) ?? null;
829
+ }
830
+ __name(findExposedMarkdownRoute, "findExposedMarkdownRoute");
831
+ function routeMatches(pattern, pathname) {
832
+ if (pattern === pathname) {
833
+ return true;
834
+ }
835
+ if (!pattern.includes("[")) return false;
836
+ let source = "";
837
+ pattern.split("/").forEach((segment, index) => {
838
+ if (/^\[\[\.\.\.[^\]]+\]\]$/.test(segment)) {
839
+ source += "(?:/.*)?";
840
+ return;
841
+ }
842
+ const prefix = index === 0 ? "" : "/";
843
+ if (/^\[\.\.\.[^\]]+\]$/.test(segment)) {
844
+ source += `${prefix}.*`;
845
+ } else if (/^\[[^\]]+\]$/.test(segment)) {
846
+ source += `${prefix}[^/]+`;
847
+ } else {
848
+ source += prefix + segment.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
849
+ }
850
+ });
851
+ return new RegExp(`^${source}$`).test(pathname);
852
+ }
853
+ __name(routeMatches, "routeMatches");
854
+ function isHtmlResponse(response) {
855
+ const contentType = response.headers.get("content-type") ?? "";
856
+ return contentType.includes("text/html");
857
+ }
858
+ __name(isHtmlResponse, "isHtmlResponse");
859
+ function isPrivateCacheControl(value) {
860
+ return value.split(",").some((directive) => {
861
+ const name = directive.split("=", 1)[0].trim().toLowerCase();
862
+ return name === "private" || name === "no-store";
863
+ });
864
+ }
865
+ __name(isPrivateCacheControl, "isPrivateCacheControl");
866
+ function createMarkdownCacheHeader(cache) {
867
+ if (cache === false || cache <= 0) {
868
+ return "no-store";
869
+ }
870
+ return `public, max-age=${cache}, s-maxage=${cache}`;
871
+ }
872
+ __name(createMarkdownCacheHeader, "createMarkdownCacheHeader");
873
+ function extractHtmlTitle(html) {
874
+ const match = html.match(/<title\b[^>]*>([\s\S]*?)<\/title>/i);
875
+ return match ? decodeHtml(stripTags(match[1])).trim() : void 0;
876
+ }
877
+ __name(extractHtmlTitle, "extractHtmlTitle");
878
+ function readHtmlContentRegion(html) {
879
+ const streamed = readStreamedBoundaryInstructions(html);
880
+ return extractHtmlBody(
881
+ removeHiddenElements(
882
+ resolveStreamedBoundaries(
883
+ html.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi, "").replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi, "").replace(/<noscript\b[^>]*>[\s\S]*?<\/noscript>/gi, ""),
884
+ streamed
885
+ ).replace(/<!--[\s\S]*?-->/g, "")
886
+ )
887
+ );
888
+ }
889
+ __name(readHtmlContentRegion, "readHtmlContentRegion");
890
+ function extractHtmlBody(html) {
891
+ const rootMatch = html.match(
892
+ /<div\b[^>]*id=["']root["'][^>]*>([\s\S]*?)<\/div>\s*(?:<script|<\/body>|$)/i
893
+ );
894
+ const bodyMatch = html.match(/<body\b[^>]*>([\s\S]*?)<\/body>/i);
895
+ const body = rootMatch ? rootMatch[1] : bodyMatch ? bodyMatch[1] : html;
896
+ const main = extractFirstElementContent(body, ["main"]);
897
+ if (main !== void 0) return main;
898
+ const articles = body.match(/<article\b/gi)?.length ?? 0;
899
+ return articles === 1 ? extractFirstElementContent(body, ["article"]) ?? body : body;
900
+ }
901
+ __name(extractHtmlBody, "extractHtmlBody");
902
+ function extractFirstElementContent(html, tagNames) {
903
+ for (const tagName of tagNames) {
904
+ const match = html.match(new RegExp(`<${tagName}\\b[^>]*>([\\s\\S]*?)<\\/${tagName}>`, "i"));
905
+ if (match) {
906
+ return match[1];
907
+ }
908
+ }
909
+ return void 0;
910
+ }
911
+ __name(extractFirstElementContent, "extractFirstElementContent");
912
+ function readHtmlMetaContent(html, name) {
913
+ for (const match of html.matchAll(/<meta\b([^>]*)>/gi)) {
914
+ if (readHtmlAttribute(match[1], "name")?.toLowerCase() === name) {
915
+ return readHtmlAttribute(match[1], "content");
916
+ }
917
+ }
918
+ return void 0;
919
+ }
920
+ __name(readHtmlMetaContent, "readHtmlMetaContent");
921
+ function readHtmlCanonicalHref(html) {
922
+ for (const match of html.matchAll(/<link\b([^>]*)>/gi)) {
923
+ const rel = readHtmlAttribute(match[1], "rel")?.toLowerCase().split(/\s+/);
924
+ if (rel?.includes("canonical")) return readHtmlAttribute(match[1], "href");
925
+ }
926
+ return void 0;
927
+ }
928
+ __name(readHtmlCanonicalHref, "readHtmlCanonicalHref");
929
+ var FORM_ENCTYPES = /* @__PURE__ */ new Set([
930
+ "application/x-www-form-urlencoded",
931
+ "multipart/form-data",
932
+ "text/plain"
933
+ ]);
934
+ function extractFarmPageActions(html, pageUrl) {
935
+ if (!/<form\b/i.test(html)) return [];
936
+ return extractPageActionsFromRegion(readHtmlContentRegion(html), pageUrl);
937
+ }
938
+ __name(extractFarmPageActions, "extractFarmPageActions");
939
+ function extractPageActionsFromRegion(region, pageUrl) {
940
+ const labelsFor = /* @__PURE__ */ new Map();
941
+ for (const match of region.matchAll(/<label\b([^>]*)>([\s\S]*?)<\/label>/gi)) {
942
+ const target = readDecodedAttribute(match[1], "for");
943
+ if (target && !labelsFor.has(target)) labelsFor.set(target, readLabelText(match[2]));
944
+ }
945
+ const actions = [];
946
+ for (const form of region.matchAll(/<form\b([^>]*)>([\s\S]*?)<\/form>/gi)) {
947
+ const action = readPageForm(form[1], form[2], pageUrl, labelsFor);
948
+ if (action) actions.push(action);
949
+ }
950
+ return actions;
951
+ }
952
+ __name(extractPageActionsFromRegion, "extractPageActionsFromRegion");
953
+ function readPageForm(attributes, content, pageUrl, labelsFor) {
954
+ const method = readDecodedAttribute(attributes, "method")?.trim().toLowerCase();
955
+ if (method === "dialog") return void 0;
956
+ const target = resolveFormTarget(readDecodedAttribute(attributes, "action"), pageUrl);
957
+ const form = {
958
+ type: "form",
959
+ method: method === "post" ? "POST" : "GET",
960
+ fields: [],
961
+ submit: []
962
+ };
963
+ const name = readDecodedAttribute(attributes, "aria-label") ?? readDecodedAttribute(attributes, "name") ?? readDecodedAttribute(attributes, "id");
964
+ if (name?.trim()) form.name = name.trim();
965
+ if (target) form.action = target;
966
+ else form.requiresJavaScript = true;
967
+ if (form.method === "POST") {
968
+ const enctype = readDecodedAttribute(attributes, "enctype")?.trim().toLowerCase();
969
+ form.enctype = enctype && FORM_ENCTYPES.has(enctype) ? enctype : "application/x-www-form-urlencoded";
970
+ }
971
+ const wrappingLabels = [...content.matchAll(/<label\b[^>]*>([\s\S]*?)<\/label>/gi)].map(
972
+ (match) => ({
973
+ start: match.index,
974
+ end: match.index + match[0].length,
975
+ text: readLabelText(match[1])
976
+ })
977
+ );
978
+ const labelOf = /* @__PURE__ */ __name((controlAttributes, index) => {
979
+ const aria = readDecodedAttribute(controlAttributes, "aria-label")?.trim();
980
+ if (aria) return aria;
981
+ const id = readDecodedAttribute(controlAttributes, "id");
982
+ const forLabel = id ? labelsFor.get(id) : void 0;
983
+ if (forLabel) return forLabel;
984
+ const wrapping = wrappingLabels.find((label) => label.start < index && index < label.end);
985
+ return wrapping?.text || void 0;
986
+ }, "labelOf");
987
+ const groups = /* @__PURE__ */ new Map();
988
+ const controls = /<(input)\b([^>]*)>|<(select|textarea|button)\b([^>]*)>([\s\S]*?)<\/\3>/gi;
989
+ for (const match of content.matchAll(controls)) {
990
+ const tag = (match[1] ?? match[3]).toLowerCase();
991
+ const controlAttributes = match[2] ?? match[4];
992
+ const inner = match[5] ?? "";
993
+ if (hasHtmlAttribute(controlAttributes, "disabled")) continue;
994
+ const label = labelOf(controlAttributes, match.index);
995
+ const fieldName = readDecodedAttribute(controlAttributes, "name");
996
+ const typeAttribute = readDecodedAttribute(controlAttributes, "type")?.trim().toLowerCase();
997
+ const type = tag === "input" ? typeAttribute ?? "text" : tag === "button" ? typeAttribute ?? "submit" : tag;
998
+ if (tag === "button" && !["button", "reset"].includes(type) || tag === "input" && (type === "submit" || type === "image")) {
999
+ const submit = {
1000
+ label: (tag === "button" ? readLabelText(inner) : "") || readDecodedAttribute(controlAttributes, "value") || readDecodedAttribute(controlAttributes, "alt") || label || "Submit"
1001
+ };
1002
+ if (fieldName) submit.name = fieldName;
1003
+ const value = readDecodedAttribute(controlAttributes, "value");
1004
+ if (fieldName && value !== void 0) submit.value = value;
1005
+ const formAction = readDecodedAttribute(controlAttributes, "formaction");
1006
+ if (formAction !== void 0) {
1007
+ const resolved = resolveFormTarget(formAction, pageUrl);
1008
+ if (resolved) submit.action = resolved;
1009
+ }
1010
+ const formMethod = readDecodedAttribute(controlAttributes, "formmethod")?.toLowerCase();
1011
+ if (formMethod === "get" || formMethod === "post") submit.method = formMethod.toUpperCase();
1012
+ form.submit.push(submit);
1013
+ continue;
1014
+ }
1015
+ if (tag === "button" || type === "button" || type === "reset" || !fieldName) continue;
1016
+ if (type === "hidden") {
1017
+ const value = readDecodedAttribute(controlAttributes, "value") ?? "";
1018
+ form.fields.push({ name: fieldName, type, value });
1019
+ if (fieldName.startsWith("$ACTION_ID_")) {
1020
+ form.serverAction ?? (form.serverAction = { id: fieldName.slice("$ACTION_ID_".length) });
1021
+ } else if (/^\$ACTION_[^:]*:0$/.test(fieldName)) {
1022
+ try {
1023
+ const id = JSON.parse(value).id;
1024
+ if (typeof id === "string") form.serverAction ?? (form.serverAction = { id });
1025
+ } catch {
1026
+ }
1027
+ }
1028
+ continue;
1029
+ }
1030
+ if (type === "radio" || type === "checkbox") {
1031
+ const value = readDecodedAttribute(controlAttributes, "value") ?? "on";
1032
+ const option = { value };
1033
+ if (label) option.label = label;
1034
+ if (hasHtmlAttribute(controlAttributes, "checked")) option.selected = true;
1035
+ const group = groups.get(fieldName);
1036
+ if (group) {
1037
+ group.options.push(option);
1038
+ if (hasHtmlAttribute(controlAttributes, "required")) group.required = true;
1039
+ continue;
1040
+ }
1041
+ const field2 = { name: fieldName, type, options: [option] };
1042
+ if (hasHtmlAttribute(controlAttributes, "required")) field2.required = true;
1043
+ groups.set(fieldName, field2);
1044
+ form.fields.push(field2);
1045
+ continue;
1046
+ }
1047
+ const field = { name: fieldName, type };
1048
+ if (label) field.label = label;
1049
+ if (hasHtmlAttribute(controlAttributes, "required")) field.required = true;
1050
+ if (hasHtmlAttribute(controlAttributes, "multiple")) field.multiple = true;
1051
+ if (tag === "select") {
1052
+ field.options = [...inner.matchAll(/<option\b([^>]*)>([\s\S]*?)(?=<\/option>|<option\b|$)/gi)].filter((option) => !hasHtmlAttribute(option[1], "disabled")).map((option) => {
1053
+ const text = readLabelText(option[2]);
1054
+ const entry = {
1055
+ value: readDecodedAttribute(option[1], "value") ?? text
1056
+ };
1057
+ if (text && text !== entry.value) entry.label = text;
1058
+ if (hasHtmlAttribute(option[1], "selected")) entry.selected = true;
1059
+ return entry;
1060
+ });
1061
+ } else if (tag === "textarea") {
1062
+ const value = decodeHtml(inner);
1063
+ if (value) field.value = value;
1064
+ } else {
1065
+ const value = readDecodedAttribute(controlAttributes, "value");
1066
+ if (value !== void 0 && type !== "password" && type !== "file") field.value = value;
1067
+ }
1068
+ for (const key of ["placeholder", "pattern", "min", "max", "step", "accept"]) {
1069
+ const value = readDecodedAttribute(controlAttributes, key);
1070
+ if (value !== void 0) field[key] = value;
1071
+ }
1072
+ for (const [attribute, key] of [
1073
+ ["minlength", "minLength"],
1074
+ ["maxlength", "maxLength"]
1075
+ ]) {
1076
+ const value = Number.parseInt(readDecodedAttribute(controlAttributes, attribute) ?? "", 10);
1077
+ if (Number.isFinite(value) && value >= 0) field[key] = value;
1078
+ }
1079
+ form.fields.push(field);
1080
+ }
1081
+ if (form.fields.length === 0 && form.submit.length === 0) return void 0;
1082
+ if (form.submit.length === 0) form.submit.push({ label: "Submit" });
1083
+ return form;
1084
+ }
1085
+ __name(readPageForm, "readPageForm");
1086
+ function resolveFormTarget(action, pageUrl) {
1087
+ let target;
1088
+ try {
1089
+ target = new URL(action?.trim() || pageUrl.href, pageUrl);
1090
+ } catch {
1091
+ return void 0;
1092
+ }
1093
+ if (target.protocol !== "http:" && target.protocol !== "https:") return void 0;
1094
+ target.hash = "";
1095
+ return target.origin === pageUrl.origin ? `${target.pathname}${target.search}` : target.href;
1096
+ }
1097
+ __name(resolveFormTarget, "resolveFormTarget");
1098
+ function readLabelText(html) {
1099
+ return decodeHtml(stripTags(html.replace(/<(select|textarea|button)\b[\s\S]*?<\/\1>/gi, " "))).replace(/\s+/g, " ").trim();
1100
+ }
1101
+ __name(readLabelText, "readLabelText");
1102
+ function readDecodedAttribute(attributes, name) {
1103
+ const value = readHtmlAttribute(attributes, name);
1104
+ return value === void 0 ? void 0 : decodeHtml(value);
1105
+ }
1106
+ __name(readDecodedAttribute, "readDecodedAttribute");
1107
+ function hasHtmlAttribute(attributes, name) {
1108
+ return new RegExp(`(?:^|\\s)${name}(?=\\s|=|/|$)`, "i").test(attributes);
1109
+ }
1110
+ __name(hasHtmlAttribute, "hasHtmlAttribute");
1111
+ function readHtmlAttribute(attributes, name) {
1112
+ const match = new RegExp(
1113
+ `(?:^|\\s)${name}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s"'=<>\`]+))`,
1114
+ "i"
1115
+ ).exec(attributes);
1116
+ return match ? match[1] ?? match[2] ?? match[3] : void 0;
1117
+ }
1118
+ __name(readHtmlAttribute, "readHtmlAttribute");
1119
+ function readCodeLanguage(attributesList) {
1120
+ for (const attributes of attributesList) {
1121
+ const language = readHtmlAttribute(attributes, "data-language") ?? readHtmlAttribute(attributes, "data-lang") ?? readHtmlAttribute(attributes, "class")?.match(/(?:^|\s)lang(?:uage)?-(\S+)/)?.[1];
1122
+ if (language && /^[\w#+.-]+$/.test(language)) return language;
1123
+ }
1124
+ return void 0;
1125
+ }
1126
+ __name(readCodeLanguage, "readCodeLanguage");
1127
+ function toMarkdownTableRows(content) {
1128
+ const rows = [];
1129
+ for (const [, row] of content.matchAll(/<tr\b[^>]*>([\s\S]*?)<\/tr>/gi)) {
1130
+ const cells = [];
1131
+ for (const [, , attributes, cell] of row.matchAll(/<(td|th)\b([^>]*)>([\s\S]*?)<\/\1>/gi)) {
1132
+ cells.push(decodeHtml(toInlineMarkdown(cell)).trim().replace(/\|/g, "\\|"));
1133
+ const span = Number.parseInt(readHtmlAttribute(attributes, "colspan") ?? "1", 10);
1134
+ for (let extra = 1; extra < Math.min(span, 1e3); extra++) cells.push("");
1135
+ }
1136
+ if (cells.length) rows.push(cells);
1137
+ }
1138
+ if (!rows.length) return void 0;
1139
+ const columns = rows.reduce((widest, row) => Math.max(widest, row.length), 0);
1140
+ const line = /* @__PURE__ */ __name((cells) => `| ${Array.from({ length: columns }, (_, index) => cells[index] ?? "").join(" | ")} |`.replace(
1141
+ / {2,}/g,
1142
+ " "
1143
+ ), "line");
1144
+ return [line(rows[0]), line(Array(columns).fill("---")), ...rows.slice(1).map(line)].join("\n");
1145
+ }
1146
+ __name(toMarkdownTableRows, "toMarkdownTableRows");
1147
+ function toInlineMarkdown(html) {
1148
+ let source = html.replace(/<a\b[^>]*href=["']([^"']+)["'][^>]*>([\s\S]*?)<\/a>/gi, (_, href, text) => {
1149
+ const label = toInlineMarkdown(text).trim() || href;
1150
+ return `[${label}](${href})`;
1151
+ }).replace(/<img\b([^>]*)>/gi, (_, attributes) => {
1152
+ const src = readHtmlAttribute(attributes, "src");
1153
+ const alt = readHtmlAttribute(attributes, "alt") ?? "";
1154
+ if (!src) return alt;
1155
+ if (/^data:/i.test(src.trim())) return alt;
1156
+ return `![${alt}](${src})`;
1157
+ }).replace(/<strong\b[^>]*>([\s\S]*?)<\/strong>/gi, (_, content) => {
1158
+ return `**${toInlineMarkdown(content).trim()}**`;
1159
+ }).replace(/<b\b[^>]*>([\s\S]*?)<\/b>/gi, (_, content) => {
1160
+ return `**${toInlineMarkdown(content).trim()}**`;
1161
+ }).replace(/<em\b[^>]*>([\s\S]*?)<\/em>/gi, (_, content) => {
1162
+ return `_${toInlineMarkdown(content).trim()}_`;
1163
+ }).replace(/<i\b[^>]*>([\s\S]*?)<\/i>/gi, (_, content) => {
1164
+ return `_${toInlineMarkdown(content).trim()}_`;
1165
+ }).replace(/<code\b[^>]*>([\s\S]*?)<\/code>/gi, (_, content) => {
1166
+ return `\`${stripTags(content).trim()}\``;
1167
+ }).replace(/<br\s*\/?>/gi, "\n").replace(BLOCK_TAGS, " ").replace(BOX_TAGS, " ");
1168
+ return stripTags(source).replace(/\s+/g, " ");
1169
+ }
1170
+ __name(toInlineMarkdown, "toInlineMarkdown");
1171
+ var VOID_TAGS = /* @__PURE__ */ new Set([
1172
+ "area",
1173
+ "base",
1174
+ "br",
1175
+ "col",
1176
+ "embed",
1177
+ "hr",
1178
+ "img",
1179
+ "input",
1180
+ "link",
1181
+ "meta",
1182
+ "source",
1183
+ "track",
1184
+ "wbr"
1185
+ ]);
1186
+ function removeHiddenElements(html) {
1187
+ if (!/hidden/i.test(html)) return html;
1188
+ const openingTag = /<([a-zA-Z][\w:-]*)((?:[^>"']|"[^"]*"|'[^']*')*)>/g;
1189
+ let closingTags;
1190
+ let result = "";
1191
+ let cursor = 0;
1192
+ let match;
1193
+ while (match = openingTag.exec(html)) {
1194
+ const [tag, name, attributes] = match;
1195
+ if (!isHiddenElement(attributes)) continue;
1196
+ const start = match.index;
1197
+ let end = start + tag.length;
1198
+ if (!VOID_TAGS.has(name.toLowerCase()) && !isSelfClosingTag(tag)) {
1199
+ closingTags ?? (closingTags = matchClosingTags(html));
1200
+ const close = closingTags.get(start);
1201
+ if (close === void 0) continue;
1202
+ end = close;
1203
+ }
1204
+ result += html.slice(cursor, start);
1205
+ cursor = end;
1206
+ openingTag.lastIndex = end;
1207
+ }
1208
+ return result + html.slice(cursor);
1209
+ }
1210
+ __name(removeHiddenElements, "removeHiddenElements");
1211
+ function isHiddenElement(attributes) {
1212
+ const attribute = /([^\s"'=<>/]+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+)))?/g;
1213
+ let match;
1214
+ while (match = attribute.exec(attributes)) {
1215
+ const name = match[1].toLowerCase();
1216
+ const value = (match[2] ?? match[3] ?? match[4] ?? "").trim().toLowerCase();
1217
+ if (name === "aria-hidden" && value === "true") return true;
1218
+ if (name === "hidden" && value !== "until-found") return true;
1219
+ }
1220
+ return false;
1221
+ }
1222
+ __name(isHiddenElement, "isHiddenElement");
1223
+ function isSelfClosingTag(tag) {
1224
+ return /(?:^<[a-zA-Z][\w:-]*|[\s"'])\/>$/.test(tag);
1225
+ }
1226
+ __name(isSelfClosingTag, "isSelfClosingTag");
1227
+ function matchClosingTags(html) {
1228
+ const tags = /<(\/?)([a-zA-Z][\w:-]*)(?:[^>"']|"[^"]*"|'[^']*')*>/g;
1229
+ const open = /* @__PURE__ */ new Map();
1230
+ const closes = /* @__PURE__ */ new Map();
1231
+ let match;
1232
+ while (match = tags.exec(html)) {
1233
+ const name = match[2].toLowerCase();
1234
+ if (match[1]) {
1235
+ const start = open.get(name)?.pop();
1236
+ if (start !== void 0) closes.set(start, match.index + match[0].length);
1237
+ } else if (!VOID_TAGS.has(name) && !isSelfClosingTag(match[0])) {
1238
+ let starts = open.get(name);
1239
+ if (!starts) open.set(name, starts = []);
1240
+ starts.push(match.index);
1241
+ }
1242
+ }
1243
+ return closes;
1244
+ }
1245
+ __name(matchClosingTags, "matchClosingTags");
1246
+ function readStreamedBoundaryInstructions(html) {
1247
+ const boundaries = /* @__PURE__ */ new Map();
1248
+ const placeholders = /* @__PURE__ */ new Map();
1249
+ for (const [, script] of html.matchAll(/<script\b[^>]*>([\s\S]*?)<\/script>/gi)) {
1250
+ for (const [, kind, first, second] of script.matchAll(
1251
+ /\$R([CRS])\("([^"\\]+)","([^"\\]+)"/g
1252
+ )) {
1253
+ if (kind === "S") placeholders.set(second, first);
1254
+ else boundaries.set(first, second);
1255
+ }
1256
+ }
1257
+ return { boundaries, placeholders };
1258
+ }
1259
+ __name(readStreamedBoundaryInstructions, "readStreamedBoundaryInstructions");
1260
+ function resolveStreamedBoundaries(html, { boundaries, placeholders }) {
1261
+ if (boundaries.size === 0 && placeholders.size === 0) return html;
1262
+ const wanted = /* @__PURE__ */ new Set([...boundaries.values(), ...placeholders.values()]);
1263
+ const segments = /* @__PURE__ */ new Map();
1264
+ const closingTags = matchClosingTags(html);
1265
+ const openingTag = /<([a-zA-Z][\w:-]*)((?:[^>"']|"[^"]*"|'[^']*')*)>/g;
1266
+ let page = "";
1267
+ let cursor = 0;
1268
+ let match;
1269
+ while (match = openingTag.exec(html)) {
1270
+ const id = /\sid="([^"]*)"/.exec(match[2])?.[1];
1271
+ if (!id || !wanted.has(id) || segments.has(id)) continue;
1272
+ const close = closingTags.get(match.index);
1273
+ if (close === void 0) continue;
1274
+ const contentStart = match.index + match[0].length;
1275
+ segments.set(id, html.slice(contentStart, html.lastIndexOf("<", close - 1)));
1276
+ page += html.slice(cursor, match.index);
1277
+ cursor = close;
1278
+ openingTag.lastIndex = close;
1279
+ }
1280
+ page += html.slice(cursor);
1281
+ const used = /* @__PURE__ */ new Set();
1282
+ const expand = /* @__PURE__ */ __name((fragment) => {
1283
+ const template = /<template\b[^>]*\sid="([^"]+)"[^>]*>\s*<\/template>/gi;
1284
+ let output = "";
1285
+ let position = 0;
1286
+ let found;
1287
+ while (found = template.exec(fragment)) {
1288
+ const id = found[1];
1289
+ const segmentId = boundaries.get(id) ?? placeholders.get(id);
1290
+ const segment = segmentId === void 0 ? void 0 : segments.get(segmentId);
1291
+ if (segment === void 0 || used.has(segmentId)) continue;
1292
+ used.add(segmentId);
1293
+ output += fragment.slice(position, found.index) + expand(segment);
1294
+ position = found.index + found[0].length;
1295
+ if (boundaries.has(id)) {
1296
+ const marker = /<!--(\/?)(?:\$[?!~]?|&)-->/g;
1297
+ marker.lastIndex = position;
1298
+ let depth = 0;
1299
+ let end;
1300
+ while (end = marker.exec(fragment)) {
1301
+ if (!end[1]) depth += 1;
1302
+ else if (depth === 0) break;
1303
+ else depth -= 1;
1304
+ }
1305
+ if (end) position = end.index;
1306
+ }
1307
+ template.lastIndex = position;
1308
+ }
1309
+ return output + fragment.slice(position);
1310
+ }, "expand");
1311
+ return expand(page);
1312
+ }
1313
+ __name(resolveStreamedBoundaries, "resolveStreamedBoundaries");
1314
+ function stripTags(input) {
1315
+ return input.replace(/<[^>]+>/g, "");
1316
+ }
1317
+ __name(stripTags, "stripTags");
1318
+ function escapeHtmlText(input) {
1319
+ return input.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
1320
+ }
1321
+ __name(escapeHtmlText, "escapeHtmlText");
1322
+ function decodeHtml(input) {
1323
+ return input.replace(/&(?:nbsp|amp|lt|gt|quot|#39|#(?:x|X)[0-9a-fA-F]+|#[0-9]+);/g, (entity) => {
1324
+ switch (entity) {
1325
+ case "&nbsp;":
1326
+ return " ";
1327
+ case "&amp;":
1328
+ return "&";
1329
+ case "&lt;":
1330
+ return "<";
1331
+ case "&gt;":
1332
+ return ">";
1333
+ case "&quot;":
1334
+ return '"';
1335
+ case "&#39;":
1336
+ return "'";
1337
+ }
1338
+ const hexadecimal = entity[2] === "x" || entity[2] === "X";
1339
+ const codePoint = Number.parseInt(entity.slice(hexadecimal ? 3 : 2, -1), hexadecimal ? 16 : 10);
1340
+ return codePoint === 0 || codePoint > 1114111 || codePoint >= 55296 && codePoint <= 57343 ? "\uFFFD" : String.fromCodePoint(codePoint);
1341
+ });
1342
+ }
1343
+ __name(decodeHtml, "decodeHtml");
1344
+
1345
+ export {
1346
+ createFarmMarkdownViewResponse,
1347
+ FARM_MARKDOWN_CONTENT_TYPE,
1348
+ farmRequestWantsMarkdown,
1349
+ createFarmMarkdownErrorBody,
1350
+ resolveMarkdownConfig,
1351
+ resolveMarkdownMirrorTarget,
1352
+ createMarkdownMirrorResponse,
1353
+ applyMarkdownNegotiationHeaders,
1354
+ htmlToMarkdown,
1355
+ farmAcceptQuality,
1356
+ requestAcceptsMarkdown,
1357
+ getFarmMarkdownMirrorPath,
1358
+ getFarmMarkdownAlternatePath,
1359
+ isFarmMarkdownMirrorExposed,
1360
+ matchesFarmMarkdownRoutePattern,
1361
+ extractFarmPageActions
1362
+ };