@farm.js/core 0.1.47 → 0.1.48

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 (1092) hide show
  1. package/dist/after.cjs +3 -3
  2. package/dist/after.mjs +2 -2
  3. package/dist/agent-mcp-CXN3g0eX.d.mts +115 -0
  4. package/dist/agent-mcp-DAjB8Eyu.d.ts +115 -0
  5. package/dist/agent-mcp-handler-RT3COCEL.cjs +18 -0
  6. package/dist/agent-mcp-handler-WWCC4GLG.mjs +18 -0
  7. package/dist/agent-runtime.cjs +33 -61
  8. package/dist/agent-runtime.d.mts +1 -1
  9. package/dist/agent-runtime.d.ts +1 -1
  10. package/dist/agent-runtime.mjs +32 -60
  11. package/dist/api/client.cjs +14 -14
  12. package/dist/api/client.mjs +13 -13
  13. package/dist/api/route-manager.cjs +41 -41
  14. package/dist/api/route-manager.d.mts +3 -3
  15. package/dist/api/route-manager.d.ts +3 -3
  16. package/dist/api/route-manager.mjs +40 -40
  17. package/dist/api/runtime.cjs +23 -23
  18. package/dist/api/runtime.d.mts +2 -2
  19. package/dist/api/runtime.d.ts +2 -2
  20. package/dist/api/runtime.mjs +22 -22
  21. package/dist/api.cjs +52 -52
  22. package/dist/api.d.mts +3 -3
  23. package/dist/api.d.ts +3 -3
  24. package/dist/api.mjs +51 -51
  25. package/dist/app-DytgRPjJ.d.mts +562 -0
  26. package/dist/app-VK9sHDn5.d.ts +562 -0
  27. package/dist/app-manifest-BUu7YGAx.d.ts +120 -0
  28. package/dist/app-manifest-DPgW5ke5.d.mts +120 -0
  29. package/dist/app-markdown.cjs +14 -15
  30. package/dist/app-markdown.d.mts +2 -2
  31. package/dist/app-markdown.d.ts +2 -2
  32. package/dist/app-markdown.mjs +13 -14
  33. package/dist/cache.cjs +8 -8
  34. package/dist/cache.mjs +7 -7
  35. package/dist/chunk-22W4FNTG.mjs +538 -0
  36. package/dist/chunk-23LVFSID.mjs +182 -0
  37. package/dist/chunk-2DA7CLY7.mjs +560 -0
  38. package/dist/chunk-2DLGV2ZG.mjs +71 -0
  39. package/dist/chunk-2H3FJYY6.mjs +78 -0
  40. package/dist/chunk-2HW5LWAH.cjs +19 -0
  41. package/dist/chunk-2KMIJDY6.cjs +20 -0
  42. package/dist/chunk-2NGZFOKG.mjs +190 -0
  43. package/dist/chunk-2NHOYYUT.mjs +2250 -0
  44. package/dist/chunk-2SVJGOAX.mjs +206 -0
  45. package/dist/chunk-2WZTGPK6.mjs +65 -0
  46. package/dist/chunk-2XGBJSDV.cjs +408 -0
  47. package/dist/chunk-3BIASUGR.cjs +59 -0
  48. package/dist/chunk-3EEET2Q5.cjs +1044 -0
  49. package/dist/chunk-3EIPOTZV.cjs +272 -0
  50. package/dist/chunk-3HBFI373.cjs +227 -0
  51. package/dist/chunk-45EUIICW.mjs +15 -0
  52. package/dist/chunk-46P5KNTE.mjs +8 -0
  53. package/dist/chunk-47JV57DA.cjs +69 -0
  54. package/dist/chunk-4DCWVSL2.cjs +15 -0
  55. package/dist/chunk-4HBKBHVP.mjs +36 -0
  56. package/dist/chunk-4IICUBQX.cjs +657 -0
  57. package/dist/chunk-4MU4QCX4.mjs +158 -0
  58. package/dist/chunk-4S7M63WX.cjs +91 -0
  59. package/dist/chunk-4ZJ5C7UJ.cjs +75 -0
  60. package/dist/chunk-52Y3C3HG.mjs +421 -0
  61. package/dist/chunk-53EHWHT2.cjs +166 -0
  62. package/dist/chunk-5566GNEG.cjs +410 -0
  63. package/dist/chunk-5C7XMKQ4.cjs +410 -0
  64. package/dist/chunk-5DX3O6TT.cjs +266 -0
  65. package/dist/chunk-5J45H65F.mjs +48 -0
  66. package/dist/chunk-5OJVKXFV.cjs +2072 -0
  67. package/dist/chunk-5PKDHKQP.cjs +81 -0
  68. package/dist/chunk-5PZJ63PK.mjs +17 -0
  69. package/dist/chunk-5Y2P454O.cjs +421 -0
  70. package/dist/chunk-5Y4GYKKH.mjs +13 -0
  71. package/dist/chunk-5YPBFMBN.cjs +19 -0
  72. package/dist/chunk-6BLAY2VQ.mjs +45 -0
  73. package/dist/chunk-6CTFVBAT.cjs +29 -0
  74. package/dist/chunk-6FXBJPF5.cjs +35 -0
  75. package/dist/chunk-6HRAK7I5.mjs +215 -0
  76. package/dist/chunk-6IOZPJ3I.cjs +549 -0
  77. package/dist/chunk-6JHZPB52.cjs +538 -0
  78. package/dist/chunk-6LH33DLL.cjs +34 -0
  79. package/dist/chunk-6M3HXUBQ.mjs +135 -0
  80. package/dist/chunk-6ONBZGVH.cjs +124 -0
  81. package/dist/chunk-6XFGJBYX.cjs +78 -0
  82. package/dist/chunk-6XQSPIN6.cjs +155 -0
  83. package/dist/chunk-6YFC3ZFX.mjs +449 -0
  84. package/dist/chunk-6ZFRWRHO.mjs +54 -0
  85. package/dist/chunk-72D2NX77.mjs +293 -0
  86. package/dist/chunk-72KABRWN.mjs +2072 -0
  87. package/dist/chunk-72KCTHLV.cjs +723 -0
  88. package/dist/chunk-73XBJRZW.cjs +462 -0
  89. package/dist/chunk-75XSZIRE.mjs +180 -0
  90. package/dist/chunk-7EPYN7GW.cjs +30 -0
  91. package/dist/chunk-7H4SVNC4.cjs +700 -0
  92. package/dist/chunk-7JUIK547.cjs +62 -0
  93. package/dist/chunk-7KJJ4SBS.cjs +13 -0
  94. package/dist/chunk-7PTISZSQ.cjs +176 -0
  95. package/dist/chunk-7S7AAK2D.mjs +82 -0
  96. package/dist/chunk-A25FXJ7D.cjs +38 -0
  97. package/dist/chunk-A4PWGL46.mjs +141 -0
  98. package/dist/chunk-A7DK663W.cjs +577 -0
  99. package/dist/chunk-ALD2WMLA.mjs +387 -0
  100. package/dist/chunk-AOKXITZ6.cjs +16 -0
  101. package/dist/chunk-ATHPRVP2.mjs +651 -0
  102. package/dist/chunk-ATYTLVSI.cjs +45 -0
  103. package/dist/chunk-AXRNEVCS.cjs +150 -0
  104. package/dist/chunk-AY2YD5ZX.mjs +34 -0
  105. package/dist/chunk-AYP2YFVN.mjs +168 -0
  106. package/dist/chunk-AZQXXXDX.mjs +80 -0
  107. package/dist/chunk-B5BBTPJQ.cjs +44 -0
  108. package/dist/chunk-BBPDJGCU.cjs +157 -0
  109. package/dist/chunk-BEXYFR2R.cjs +527 -0
  110. package/dist/chunk-BLD5GVCG.mjs +152 -0
  111. package/dist/chunk-BMQAPZXD.mjs +31 -0
  112. package/dist/chunk-BNH53KOT.cjs +69 -0
  113. package/dist/chunk-BNMHXVLL.mjs +239 -0
  114. package/dist/chunk-BOVGCUDZ.cjs +35 -0
  115. package/dist/chunk-BPAXGCKX.mjs +166 -0
  116. package/dist/chunk-BPNOYILC.cjs +450 -0
  117. package/dist/chunk-BR5FSKZ5.cjs +1457 -0
  118. package/dist/chunk-BRWIVOV4.cjs +48 -0
  119. package/dist/chunk-BTZ5O6VM.cjs +14 -0
  120. package/dist/chunk-BUC3FDYC.cjs +158 -0
  121. package/dist/chunk-C2R5RVLA.cjs +800 -0
  122. package/dist/chunk-C5JXCUKR.mjs +905 -0
  123. package/dist/chunk-C64XOPBZ.mjs +380 -0
  124. package/dist/chunk-C6U66WWF.mjs +410 -0
  125. package/dist/chunk-C7425KDG.cjs +406 -0
  126. package/dist/chunk-C7LCTVJ2.cjs +30 -0
  127. package/dist/chunk-CA7DNRHO.cjs +164 -0
  128. package/dist/chunk-CBJKDB6F.mjs +80 -0
  129. package/dist/chunk-CDTIXBKN.mjs +40 -0
  130. package/dist/chunk-CL2ONP73.cjs +180 -0
  131. package/dist/chunk-CQL5ZGFU.cjs +50 -0
  132. package/dist/chunk-CSLUBKGG.mjs +44 -0
  133. package/dist/chunk-CU5SYTJG.mjs +23 -0
  134. package/dist/chunk-CV6MFQ4Y.mjs +259 -0
  135. package/dist/chunk-D22BUQKW.cjs +82 -0
  136. package/dist/chunk-D2LCAV6L.mjs +79 -0
  137. package/dist/chunk-D4XGKF67.cjs +127 -0
  138. package/dist/chunk-D7Y63SOY.mjs +15 -0
  139. package/dist/chunk-DM3TFCC2.cjs +697 -0
  140. package/dist/chunk-DMAP4RND.cjs +998 -0
  141. package/dist/chunk-DQJ2CIH7.cjs +87 -0
  142. package/dist/chunk-DRFADSKY.mjs +697 -0
  143. package/dist/chunk-DU4VHHPJ.mjs +157 -0
  144. package/dist/chunk-DUIP64BF.cjs +16 -0
  145. package/dist/chunk-DV52ZS53.cjs +40 -0
  146. package/dist/chunk-DXUXQP2T.cjs +142 -0
  147. package/dist/chunk-E552H232.cjs +154 -0
  148. package/dist/chunk-E7QOEV5Z.cjs +449 -0
  149. package/dist/chunk-EA5PMJDU.mjs +527 -0
  150. package/dist/chunk-EDPENAVO.mjs +266 -0
  151. package/dist/chunk-EFLNOZGH.mjs +30 -0
  152. package/dist/chunk-EGHPFXPZ.cjs +590 -0
  153. package/dist/chunk-EJCVG25Z.mjs +49 -0
  154. package/dist/chunk-EMDGXYUD.mjs +75 -0
  155. package/dist/chunk-EOXPRC2C.cjs +48 -0
  156. package/dist/chunk-EQMTJBB7.cjs +161 -0
  157. package/dist/chunk-ERMUL73L.cjs +39 -0
  158. package/dist/chunk-ES2LD2YD.mjs +203 -0
  159. package/dist/chunk-ETF5C6HR.cjs +135 -0
  160. package/dist/chunk-EV4SBMPX.mjs +208 -0
  161. package/dist/chunk-EVCQX243.cjs +1923 -0
  162. package/dist/chunk-EVIWKPJV.cjs +560 -0
  163. package/dist/chunk-EVMXPJCB.mjs +133 -0
  164. package/dist/chunk-EXHEPWFJ.cjs +387 -0
  165. package/dist/chunk-EZTKXD6P.cjs +182 -0
  166. package/dist/chunk-F3N52U7S.mjs +138 -0
  167. package/dist/chunk-F6TLUMH7.mjs +172 -0
  168. package/dist/chunk-FBEBSAVI.cjs +225 -0
  169. package/dist/chunk-FEFCISOX.cjs +102 -0
  170. package/dist/chunk-FGJQS4EC.cjs +385 -0
  171. package/dist/chunk-FHURJABM.mjs +45 -0
  172. package/dist/chunk-GBMWLDCC.cjs +138 -0
  173. package/dist/chunk-GBPDSUFE.mjs +203 -0
  174. package/dist/chunk-GERUXONA.cjs +775 -0
  175. package/dist/chunk-GHNW564E.mjs +1044 -0
  176. package/dist/chunk-GL3ZDHKI.mjs +274 -0
  177. package/dist/chunk-GLOICKDO.mjs +142 -0
  178. package/dist/chunk-GSVJ3IIF.cjs +173 -0
  179. package/dist/chunk-GUZC226X.mjs +164 -0
  180. package/dist/chunk-GW4YUIHW.mjs +277 -0
  181. package/dist/chunk-GWXZS7K5.mjs +24 -0
  182. package/dist/chunk-GXSMF7UR.mjs +1923 -0
  183. package/dist/chunk-GYMGK467.mjs +214 -0
  184. package/dist/chunk-H227LYHT.mjs +88 -0
  185. package/dist/chunk-H4WUWLQR.mjs +16 -0
  186. package/dist/chunk-HA7YRO53.cjs +214 -0
  187. package/dist/chunk-HAH4FBTA.mjs +227 -0
  188. package/dist/chunk-HELQXYVI.cjs +1093 -0
  189. package/dist/chunk-HEPJIKKQ.cjs +190 -0
  190. package/dist/chunk-HIFIG6HL.cjs +341 -0
  191. package/dist/chunk-HLYRXN2I.cjs +242 -0
  192. package/dist/chunk-HNAISJFD.cjs +215 -0
  193. package/dist/chunk-HNAUK3SC.mjs +1181 -0
  194. package/dist/chunk-HPP2II4Z.mjs +332 -0
  195. package/dist/chunk-HRLYO2XJ.mjs +9 -0
  196. package/dist/chunk-HUL4LTC6.cjs +390 -0
  197. package/dist/chunk-HXNLKCWH.cjs +13 -0
  198. package/dist/chunk-HZOMT5DY.mjs +30 -0
  199. package/dist/chunk-I2BYNELA.cjs +380 -0
  200. package/dist/chunk-I2SWKWO7.mjs +453 -0
  201. package/dist/chunk-IAPTECEB.mjs +48 -0
  202. package/dist/chunk-IFTGERT3.mjs +408 -0
  203. package/dist/chunk-IGL6CO6M.mjs +9 -0
  204. package/dist/chunk-ITV4QQL2.cjs +93 -0
  205. package/dist/chunk-IUQLRTTO.mjs +159 -0
  206. package/dist/chunk-IWFV5ZED.cjs +152 -0
  207. package/dist/chunk-IXSMFKZ2.cjs +100 -0
  208. package/dist/chunk-IYEY3JWJ.mjs +186 -0
  209. package/dist/chunk-J2ZEVDEK.cjs +80 -0
  210. package/dist/chunk-J37KTQIA.cjs +905 -0
  211. package/dist/chunk-JATTVAHA.cjs +277 -0
  212. package/dist/chunk-JGAE5XPL.cjs +26 -0
  213. package/dist/chunk-JHXJBNLY.cjs +22 -0
  214. package/dist/chunk-JLS6ZLFM.cjs +9 -0
  215. package/dist/chunk-JMYXO572.cjs +531 -0
  216. package/dist/chunk-JNYFXL7X.mjs +62 -0
  217. package/dist/chunk-JOHXK4BB.mjs +385 -0
  218. package/dist/chunk-JPAVNDZH.cjs +712 -0
  219. package/dist/chunk-JRHGJVJH.mjs +44 -0
  220. package/dist/chunk-JUMPFVMK.mjs +78 -0
  221. package/dist/chunk-JWP56HCP.mjs +712 -0
  222. package/dist/chunk-JXIYH2NO.cjs +24 -0
  223. package/dist/chunk-JYT7AN37.cjs +79 -0
  224. package/dist/chunk-JZMZKABS.cjs +78 -0
  225. package/dist/chunk-K5EW7GUU.mjs +417 -0
  226. package/dist/chunk-K76CBYQM.mjs +157 -0
  227. package/dist/chunk-KBGZ5FD6.cjs +17 -0
  228. package/dist/chunk-KBRZAYI7.mjs +593 -0
  229. package/dist/chunk-KJMWAUKE.mjs +124 -0
  230. package/dist/chunk-KORZ6PRE.cjs +64 -0
  231. package/dist/chunk-KPAJWD3N.mjs +168 -0
  232. package/dist/chunk-KQH2COEJ.mjs +42 -0
  233. package/dist/chunk-KRRZJ77U.mjs +169 -0
  234. package/dist/chunk-KZT2VHRQ.cjs +894 -0
  235. package/dist/chunk-L5JDKFMQ.cjs +44 -0
  236. package/dist/chunk-L6QDME5Z.cjs +36 -0
  237. package/dist/chunk-LAZK6UV7.mjs +341 -0
  238. package/dist/chunk-LL7TDMOM.mjs +222 -0
  239. package/dist/chunk-LM2YOGDK.mjs +44 -0
  240. package/dist/chunk-LM55GS4R.mjs +38 -0
  241. package/dist/chunk-LNVGXUL3.cjs +172 -0
  242. package/dist/chunk-LSHX2H5G.cjs +57 -0
  243. package/dist/chunk-LZBM35DH.mjs +577 -0
  244. package/dist/chunk-M25IONJP.mjs +16 -0
  245. package/dist/chunk-MF3IA2AW.cjs +25 -0
  246. package/dist/chunk-MFQGU5CC.mjs +127 -0
  247. package/dist/chunk-MJ6IC4K2.mjs +34 -0
  248. package/dist/chunk-MNIR7I7B.mjs +217 -0
  249. package/dist/chunk-MPU5DOXX.cjs +21 -0
  250. package/dist/chunk-MTB57GOK.mjs +81 -0
  251. package/dist/chunk-MU5V7XHL.mjs +172 -0
  252. package/dist/chunk-MZZA6ZQV.mjs +113 -0
  253. package/dist/chunk-N25RPPO5.cjs +1963 -0
  254. package/dist/chunk-N33DLJBC.mjs +272 -0
  255. package/dist/chunk-N35YPV4N.mjs +48 -0
  256. package/dist/chunk-N6SIQJEJ.mjs +390 -0
  257. package/dist/chunk-N77JBPLC.mjs +1357 -0
  258. package/dist/chunk-N7SPZJLY.mjs +6166 -0
  259. package/dist/chunk-N7XWC6BN.mjs +21 -0
  260. package/dist/chunk-NBIVGHAT.mjs +50 -0
  261. package/dist/chunk-NCIAP562.mjs +27 -0
  262. package/dist/chunk-NE33FRQ5.mjs +11944 -0
  263. package/dist/chunk-NG44F7AH.mjs +150 -0
  264. package/dist/chunk-NIPKC4DA.mjs +800 -0
  265. package/dist/chunk-NJLTQR5P.cjs +293 -0
  266. package/dist/chunk-NR63PD3P.mjs +64 -0
  267. package/dist/chunk-NRFUVDTH.mjs +489 -0
  268. package/dist/chunk-NRNAHZ57.mjs +39 -0
  269. package/dist/chunk-NW2BKDVT.mjs +1963 -0
  270. package/dist/chunk-NYQSC4DX.cjs +593 -0
  271. package/dist/chunk-O4F3JUST.mjs +176 -0
  272. package/dist/chunk-OAJOQU5J.mjs +225 -0
  273. package/dist/chunk-OCS3PSYR.cjs +51 -0
  274. package/dist/chunk-OHWM2VI4.mjs +29 -0
  275. package/dist/chunk-OJO2GOM3.mjs +69 -0
  276. package/dist/chunk-OLGQZRW6.mjs +700 -0
  277. package/dist/chunk-ONG4RDW3.mjs +155 -0
  278. package/dist/chunk-OOJBBHYW.cjs +38 -0
  279. package/dist/chunk-OOZEU5KK.cjs +18 -0
  280. package/dist/chunk-OWQV6MLM.cjs +82 -0
  281. package/dist/chunk-OYZXVBZP.cjs +133 -0
  282. package/dist/chunk-OZC2JPW6.cjs +10 -0
  283. package/dist/chunk-P2355C6E.cjs +186 -0
  284. package/dist/chunk-PAKCHVUS.mjs +450 -0
  285. package/dist/chunk-PEHL3IZL.cjs +203 -0
  286. package/dist/chunk-PENBZAHJ.cjs +88 -0
  287. package/dist/chunk-PFV2KPDZ.cjs +172 -0
  288. package/dist/chunk-PO5MXV5X.cjs +13 -0
  289. package/dist/chunk-PSUYE5HR.mjs +25 -0
  290. package/dist/chunk-PTLXHRJZ.mjs +57 -0
  291. package/dist/chunk-PXEXOQ5R.mjs +135 -0
  292. package/dist/chunk-PZXYAWYG.cjs +274 -0
  293. package/dist/chunk-Q2ZKQ6GD.cjs +6166 -0
  294. package/dist/chunk-Q3UU2KXC.mjs +775 -0
  295. package/dist/chunk-Q5B4LNON.mjs +19 -0
  296. package/dist/chunk-QFQDRJKJ.mjs +666 -0
  297. package/dist/chunk-QGJ4FI2G.mjs +723 -0
  298. package/dist/chunk-QISW423S.cjs +335 -0
  299. package/dist/chunk-QNQEK3OF.cjs +666 -0
  300. package/dist/chunk-QPJ4MZTO.mjs +60 -0
  301. package/dist/chunk-QPNVDSFZ.mjs +18 -0
  302. package/dist/chunk-QQ44FYRO.cjs +27 -0
  303. package/dist/chunk-QSTRBKHZ.mjs +102 -0
  304. package/dist/chunk-R2SEZEBC.cjs +453 -0
  305. package/dist/chunk-R5U7OIPI.cjs +34 -0
  306. package/dist/chunk-R62SF5R4.mjs +410 -0
  307. package/dist/chunk-RD623KW4.cjs +203 -0
  308. package/dist/chunk-RFKTJTWZ.mjs +26 -0
  309. package/dist/chunk-RI3EVPKD.cjs +57 -0
  310. package/dist/chunk-RLEALQEN.mjs +998 -0
  311. package/dist/chunk-RVGLYMJM.cjs +259 -0
  312. package/dist/chunk-S32PDOLO.mjs +13 -0
  313. package/dist/chunk-S6O2L47H.mjs +549 -0
  314. package/dist/chunk-SBABQKPT.cjs +169 -0
  315. package/dist/chunk-SBDWCDS6.cjs +8 -0
  316. package/dist/chunk-SF3JB56B.mjs +82 -0
  317. package/dist/chunk-SG57PX7K.cjs +65 -0
  318. package/dist/chunk-SGBNF56S.cjs +44 -0
  319. package/dist/chunk-SHD265HW.cjs +19 -0
  320. package/dist/chunk-SHIWRBFI.cjs +17 -0
  321. package/dist/chunk-SM2SYWAR.cjs +49 -0
  322. package/dist/chunk-SNP33A33.cjs +9 -0
  323. package/dist/chunk-SSNN55Q6.cjs +651 -0
  324. package/dist/chunk-STF6VDYQ.cjs +23 -0
  325. package/dist/chunk-SVCUSOEF.mjs +590 -0
  326. package/dist/chunk-SXCL2MIN.cjs +208 -0
  327. package/dist/chunk-SYW346ZN.cjs +71 -0
  328. package/dist/chunk-TFA6BUAE.cjs +113 -0
  329. package/dist/chunk-TGSEVBPO.mjs +93 -0
  330. package/dist/chunk-TJVUTGED.mjs +531 -0
  331. package/dist/chunk-TQWGOQ7O.mjs +8606 -0
  332. package/dist/chunk-TTYXOAB7.mjs +657 -0
  333. package/dist/chunk-TUPKMMXT.mjs +173 -0
  334. package/dist/chunk-TVCFY3KK.cjs +217 -0
  335. package/dist/chunk-TXK4D46O.mjs +22 -0
  336. package/dist/chunk-UAQD67HM.mjs +154 -0
  337. package/dist/chunk-UCQ52TJY.mjs +406 -0
  338. package/dist/chunk-UIJOLBUL.mjs +19 -0
  339. package/dist/chunk-UPYIFH2H.cjs +168 -0
  340. package/dist/chunk-UUMKLGUU.mjs +69 -0
  341. package/dist/chunk-UYQOIPXE.mjs +368 -0
  342. package/dist/chunk-UYTAP4FQ.cjs +60 -0
  343. package/dist/chunk-UZCMMJJT.cjs +80 -0
  344. package/dist/chunk-V3UOEWCB.cjs +46 -0
  345. package/dist/chunk-V56632LA.cjs +141 -0
  346. package/dist/chunk-V7KTQR4C.cjs +15 -0
  347. package/dist/chunk-VCFBQFOV.mjs +1093 -0
  348. package/dist/chunk-VDLF2DJA.cjs +11947 -0
  349. package/dist/chunk-VE3FWJBO.mjs +46 -0
  350. package/dist/chunk-VFXE6NWR.mjs +87 -0
  351. package/dist/chunk-VHIXGZYH.mjs +9 -0
  352. package/dist/chunk-VISQDC6W.mjs +10 -0
  353. package/dist/chunk-VIXTAVEA.mjs +59 -0
  354. package/dist/chunk-VJXLUTBM.mjs +894 -0
  355. package/dist/chunk-VM57CK74.cjs +42 -0
  356. package/dist/chunk-VOQ7XZZT.cjs +157 -0
  357. package/dist/chunk-VR4SEDEM.mjs +1457 -0
  358. package/dist/chunk-VR6QLTTX.mjs +59 -0
  359. package/dist/chunk-VSLM6BHX.cjs +2250 -0
  360. package/dist/chunk-VU3MYZPO.mjs +432 -0
  361. package/dist/chunk-VXCFJWK5.cjs +59 -0
  362. package/dist/chunk-VZY7MAVS.cjs +432 -0
  363. package/dist/chunk-WB6XES4V.mjs +161 -0
  364. package/dist/chunk-WCLLPR6H.mjs +35 -0
  365. package/dist/chunk-WEGAVN37.cjs +45 -0
  366. package/dist/chunk-WJFFPXCV.cjs +1357 -0
  367. package/dist/chunk-WNDAISB7.mjs +51 -0
  368. package/dist/chunk-WNLPQW7W.mjs +19 -0
  369. package/dist/chunk-WQGRD5BJ.cjs +239 -0
  370. package/dist/chunk-WT6RAN2I.cjs +41 -0
  371. package/dist/chunk-WUEDTW6E.cjs +135 -0
  372. package/dist/chunk-WXFY5JIY.mjs +20 -0
  373. package/dist/chunk-WYL4ODZ4.mjs +38 -0
  374. package/dist/chunk-X333W5KV.cjs +31 -0
  375. package/dist/chunk-X3XUZWRB.mjs +141 -0
  376. package/dist/chunk-XGJVRPYL.cjs +141 -0
  377. package/dist/chunk-XLLVWLWO.mjs +100 -0
  378. package/dist/chunk-XLYXG73A.mjs +87 -0
  379. package/dist/chunk-XN2MB4QZ.cjs +206 -0
  380. package/dist/chunk-XO6WL6NL.mjs +462 -0
  381. package/dist/chunk-XQ4DPO4G.mjs +13 -0
  382. package/dist/chunk-XQSYOVCW.cjs +417 -0
  383. package/dist/chunk-XR2ZIBQK.mjs +57 -0
  384. package/dist/chunk-XURDCXNH.cjs +48 -0
  385. package/dist/chunk-XXB37YET.cjs +40 -0
  386. package/dist/chunk-Y3WG64CP.cjs +9 -0
  387. package/dist/chunk-Y6FXYEAI.mjs +10 -0
  388. package/dist/chunk-Y7NN63LS.mjs +40 -0
  389. package/dist/chunk-YDXLC4DW.cjs +54 -0
  390. package/dist/chunk-YP7YO3S3.mjs +17 -0
  391. package/dist/chunk-YQGZLCT4.cjs +368 -0
  392. package/dist/chunk-YSPMY4B7.cjs +8609 -0
  393. package/dist/chunk-YT3SLLZK.mjs +242 -0
  394. package/dist/chunk-YTVSWXEZ.cjs +168 -0
  395. package/dist/chunk-YVJV7Q2X.mjs +35 -0
  396. package/dist/chunk-YWPNIYUP.mjs +41 -0
  397. package/dist/chunk-YX6AFPXC.mjs +8 -0
  398. package/dist/chunk-Z5MZDFX4.cjs +159 -0
  399. package/dist/chunk-ZBS3GOQZ.cjs +222 -0
  400. package/dist/chunk-ZGS3ZDF7.cjs +489 -0
  401. package/dist/chunk-ZSIGEHSE.cjs +1181 -0
  402. package/dist/chunk-ZXK2EYQW.cjs +8 -0
  403. package/dist/client/lifecycle.cjs +3 -3
  404. package/dist/client/lifecycle.mjs +2 -2
  405. package/dist/client-plugins-BlEzV5FO.d.mts +3920 -0
  406. package/dist/client-plugins-DqjCsKMN.d.ts +3920 -0
  407. package/dist/client-plugins.cjs +3 -3
  408. package/dist/client-plugins.d.mts +1 -1
  409. package/dist/client-plugins.d.ts +1 -1
  410. package/dist/client-plugins.mjs +2 -2
  411. package/dist/client.cjs +41 -41
  412. package/dist/client.d.mts +5 -5
  413. package/dist/client.d.ts +5 -5
  414. package/dist/client.mjs +42 -42
  415. package/dist/config.cjs +3 -3
  416. package/dist/config.d.mts +1 -1
  417. package/dist/config.d.ts +1 -1
  418. package/dist/config.mjs +2 -2
  419. package/dist/cron.cjs +9 -9
  420. package/dist/cron.mjs +8 -8
  421. package/dist/deferred.cjs +3 -3
  422. package/dist/deferred.mjs +2 -2
  423. package/dist/deployment.cjs +3 -3
  424. package/dist/deployment.mjs +2 -2
  425. package/dist/desktop.cjs +13 -0
  426. package/dist/desktop.d.mts +120 -0
  427. package/dist/desktop.d.ts +120 -0
  428. package/dist/desktop.mjs +13 -0
  429. package/dist/dev-guard-4NQ3LFO5.cjs +57 -0
  430. package/dist/dev-guard-MPZUJFIV.mjs +57 -0
  431. package/dist/devtools-A37WWJZL.cjs +463 -0
  432. package/dist/devtools-BLKHPY3C.mjs +463 -0
  433. package/dist/devtools-client-SU4XH46J.mjs +250 -0
  434. package/dist/devtools-client-X5OQCXDF.cjs +250 -0
  435. package/dist/devtools-ui-CYBVFLPH.mjs +1265 -0
  436. package/dist/devtools-ui-SYRUXUA7.cjs +1265 -0
  437. package/dist/docs.cjs +64 -64
  438. package/dist/docs.d.mts +2 -2
  439. package/dist/docs.d.ts +2 -2
  440. package/dist/docs.mjs +63 -63
  441. package/dist/env-types.cjs +4 -4
  442. package/dist/env-types.mjs +3 -3
  443. package/dist/env.cjs +4 -4
  444. package/dist/env.mjs +3 -3
  445. package/dist/environment/vite.cjs +7 -7
  446. package/dist/environment/vite.mjs +6 -6
  447. package/dist/environment.cjs +3 -3
  448. package/dist/environment.mjs +2 -2
  449. package/dist/font.cjs +3 -3
  450. package/dist/font.mjs +2 -2
  451. package/dist/headers.cjs +6 -6
  452. package/dist/headers.mjs +5 -5
  453. package/dist/i18n/client.cjs +19 -30
  454. package/dist/i18n/client.mjs +9 -20
  455. package/dist/i18n/index.cjs +6 -6
  456. package/dist/i18n/index.mjs +5 -5
  457. package/dist/i18n/server.cjs +10 -10
  458. package/dist/i18n/server.mjs +9 -9
  459. package/dist/image/server.cjs +6 -6
  460. package/dist/image/server.mjs +5 -5
  461. package/dist/image/sharp.cjs +15 -21
  462. package/dist/image/sharp.mjs +7 -13
  463. package/dist/image.cjs +9 -18
  464. package/dist/image.mjs +4 -13
  465. package/dist/index-CMigAr9f.d.mts +54 -0
  466. package/dist/index-n3hjOvVC.d.ts +54 -0
  467. package/dist/index.cjs +187 -196
  468. package/dist/index.d.mts +15 -15
  469. package/dist/index.d.ts +15 -15
  470. package/dist/index.mjs +217 -226
  471. package/dist/instrumentation.cjs +5 -5
  472. package/dist/instrumentation.mjs +4 -4
  473. package/dist/integration-orm-52GPGTHO.cjs +14 -0
  474. package/dist/integration-orm-CO23MSFE.mjs +14 -0
  475. package/dist/integrations.cjs +20 -20
  476. package/dist/integrations.d.mts +1 -1
  477. package/dist/integrations.d.ts +1 -1
  478. package/dist/integrations.mjs +19 -19
  479. package/dist/internal/app-markdown-runtime.cjs +12 -13
  480. package/dist/internal/app-markdown-runtime.d.mts +2 -2
  481. package/dist/internal/app-markdown-runtime.d.ts +2 -2
  482. package/dist/internal/app-markdown-runtime.mjs +11 -12
  483. package/dist/internal/build-runtime.cjs +152 -149
  484. package/dist/internal/build-runtime.d.mts +3 -3
  485. package/dist/internal/build-runtime.d.ts +3 -3
  486. package/dist/internal/build-runtime.mjs +135 -132
  487. package/dist/internal/cli-runtime.cjs +88 -88
  488. package/dist/internal/cli-runtime.mjs +87 -87
  489. package/dist/internal/client-error-overlay.cjs +18 -49
  490. package/dist/internal/client-error-overlay.mjs +14 -45
  491. package/dist/internal/client-runtime.cjs +39 -53
  492. package/dist/internal/client-runtime.mjs +36 -50
  493. package/dist/internal/compression-runtime.cjs +4 -4
  494. package/dist/internal/compression-runtime.d.mts +1 -1
  495. package/dist/internal/compression-runtime.d.ts +1 -1
  496. package/dist/internal/compression-runtime.mjs +3 -3
  497. package/dist/internal/config-runtime.cjs +85 -69
  498. package/dist/internal/config-runtime.d.mts +2 -2
  499. package/dist/internal/config-runtime.d.ts +2 -2
  500. package/dist/internal/config-runtime.mjs +73 -57
  501. package/dist/internal/desktop-guard.cjs +17 -0
  502. package/dist/internal/desktop-guard.d.mts +45 -0
  503. package/dist/internal/desktop-guard.d.ts +45 -0
  504. package/dist/internal/desktop-guard.mjs +17 -0
  505. package/dist/internal/docs-precompiled-runtime.cjs +5 -17
  506. package/dist/internal/docs-precompiled-runtime.mjs +4 -16
  507. package/dist/internal/form-actions-client.cjs +1 -5
  508. package/dist/internal/form-actions-client.mjs +1 -5
  509. package/dist/internal/form-actions.cjs +10 -10
  510. package/dist/internal/form-actions.mjs +9 -9
  511. package/dist/internal/infra-analytics-runtime.cjs +22 -8
  512. package/dist/internal/infra-analytics-runtime.mjs +20 -6
  513. package/dist/internal/island-codec.cjs +4 -4
  514. package/dist/internal/island-codec.mjs +3 -3
  515. package/dist/internal/island-value-store.cjs +1 -4
  516. package/dist/internal/island-value-store.mjs +1 -4
  517. package/dist/internal/islands-runtime.cjs +46 -21
  518. package/dist/internal/islands-runtime.d.mts +31 -19
  519. package/dist/internal/islands-runtime.d.ts +31 -19
  520. package/dist/internal/islands-runtime.mjs +41 -16
  521. package/dist/internal/islands-server.cjs +6 -9
  522. package/dist/internal/islands-server.mjs +5 -8
  523. package/dist/internal/islx-client.cjs +1 -1
  524. package/dist/internal/islx-react.cjs +1 -1
  525. package/dist/internal/islx-server.cjs +1 -1
  526. package/dist/internal/isolated-boundary.cjs +5 -5
  527. package/dist/internal/isolated-boundary.mjs +4 -4
  528. package/dist/internal/metadata-image-runtime.cjs +8 -8
  529. package/dist/internal/metadata-image-runtime.d.mts +6 -1
  530. package/dist/internal/metadata-image-runtime.d.ts +6 -1
  531. package/dist/internal/metadata-image-runtime.mjs +7 -7
  532. package/dist/internal/product-telemetry-runtime.cjs +5 -17
  533. package/dist/internal/product-telemetry-runtime.mjs +3 -15
  534. package/dist/internal/production-node-env.cjs +3 -3
  535. package/dist/internal/production-node-env.mjs +2 -2
  536. package/dist/internal/production-runtime.cjs +102 -103
  537. package/dist/internal/production-runtime.d.mts +42 -11
  538. package/dist/internal/production-runtime.d.ts +42 -11
  539. package/dist/internal/production-runtime.mjs +114 -115
  540. package/dist/internal/request-cookies.cjs +3 -3
  541. package/dist/internal/request-cookies.mjs +2 -2
  542. package/dist/internal/server-tree.cjs +5 -5
  543. package/dist/internal/server-tree.mjs +4 -4
  544. package/dist/json-ld.cjs +3 -16
  545. package/dist/json-ld.mjs +3 -16
  546. package/dist/layers-DMRXRL7F.cjs +18 -0
  547. package/dist/layers-T55SA47E.mjs +18 -0
  548. package/dist/manager-2LUKNX2N.cjs +14 -0
  549. package/dist/manager-H5ZM3HAM.mjs +14 -0
  550. package/dist/markdown.cjs +11 -12
  551. package/dist/markdown.d.mts +1 -1
  552. package/dist/markdown.d.ts +1 -1
  553. package/dist/markdown.mjs +10 -11
  554. package/dist/middleware.cjs +31 -31
  555. package/dist/middleware.d.mts +3 -3
  556. package/dist/middleware.d.ts +3 -3
  557. package/dist/middleware.mjs +30 -30
  558. package/dist/navigation.cjs +22 -22
  559. package/dist/navigation.d.mts +4 -4
  560. package/dist/navigation.d.ts +4 -4
  561. package/dist/navigation.mjs +21 -21
  562. package/dist/nitro-BIXIKJZS.cjs +650 -0
  563. package/dist/nitro-UT2J5A5D.mjs +650 -0
  564. package/dist/node-module-bundle-7JHPPF6B.mjs +11 -0
  565. package/dist/node-module-bundle-YJGYBOGK.cjs +11 -0
  566. package/dist/observability.cjs +3 -3
  567. package/dist/observability.mjs +2 -2
  568. package/dist/og.cjs +1 -1
  569. package/dist/og.mjs +1 -1
  570. package/dist/platform.cjs +28 -0
  571. package/dist/platform.d.mts +23 -0
  572. package/dist/platform.d.ts +23 -0
  573. package/dist/platform.mjs +28 -0
  574. package/dist/plugin-4KYXV7BB.mjs +32 -0
  575. package/dist/plugin-WBANOZQM.cjs +32 -0
  576. package/dist/plugin.cjs +147 -144
  577. package/dist/plugin.d.mts +3 -3
  578. package/dist/plugin.d.ts +3 -3
  579. package/dist/plugin.mjs +127 -124
  580. package/dist/production-runtime-YVDGYWBG.d.ts +123 -0
  581. package/dist/production-runtime-bWZJMcQb.d.mts +123 -0
  582. package/dist/programmatic-routes-client-BFKOTEXN.d.mts +184 -0
  583. package/dist/programmatic-routes-client-DviwGeAv.d.ts +184 -0
  584. package/dist/query/client.cjs +59 -70
  585. package/dist/query/client.mjs +49 -60
  586. package/dist/query/index.cjs +4 -4
  587. package/dist/query/index.mjs +3 -3
  588. package/dist/query/parsers.cjs +3 -3
  589. package/dist/query/parsers.mjs +2 -2
  590. package/dist/query/server.cjs +5 -11
  591. package/dist/query/server.mjs +3 -9
  592. package/dist/render-plan-CS8l0zaK.d.mts +25 -0
  593. package/dist/render-plan-DqWXo3-B.d.ts +25 -0
  594. package/dist/renderer/react/client.cjs +1 -1
  595. package/dist/renderer/react/client.mjs +1 -1
  596. package/dist/renderer/react/server.cjs +10 -15
  597. package/dist/renderer/react/server.mjs +10 -15
  598. package/dist/renderer/react/vite.cjs +1 -4
  599. package/dist/renderer/react/vite.mjs +1 -4
  600. package/dist/renderer-client.cjs +67 -79
  601. package/dist/renderer-client.d.mts +3 -3
  602. package/dist/renderer-client.d.ts +3 -3
  603. package/dist/renderer-client.mjs +44 -56
  604. package/dist/renderer.cjs +3 -3
  605. package/dist/renderer.mjs +2 -2
  606. package/dist/request-CBrHpaCC.d.ts +24 -0
  607. package/dist/request-D4XqmnJF.d.mts +24 -0
  608. package/dist/request.cjs +4 -4
  609. package/dist/request.d.mts +2 -2
  610. package/dist/request.d.ts +2 -2
  611. package/dist/request.mjs +3 -3
  612. package/dist/route-rendering-3pRPtyO2.d.mts +44 -0
  613. package/dist/route-rendering-Bltnu8a3.d.ts +44 -0
  614. package/dist/router-BFSmKGtI.d.mts +50 -0
  615. package/dist/router-DDT7bkg7.d.ts +50 -0
  616. package/dist/router.cjs +5 -5
  617. package/dist/router.mjs +4 -4
  618. package/dist/routes.cjs +13 -13
  619. package/dist/routes.d.mts +1 -1
  620. package/dist/routes.d.ts +1 -1
  621. package/dist/routes.mjs +12 -12
  622. package/dist/rsc-pipeline-4KOITP64.cjs +80 -0
  623. package/dist/rsc-pipeline-ULFIB3UT.mjs +80 -0
  624. package/dist/runtime-C6yG64je.d.ts +69 -0
  625. package/dist/runtime-Cpylaypt.d.mts +69 -0
  626. package/dist/schema-dev-notice-O3I5HLXK.mjs +54 -0
  627. package/dist/schema-dev-notice-Z73J3NJ6.cjs +54 -0
  628. package/dist/schema.cjs +3 -3
  629. package/dist/schema.mjs +2 -2
  630. package/dist/search-client-BTXL5XWD.mjs +13 -0
  631. package/dist/search-client-QCYAL6AY.cjs +13 -0
  632. package/dist/server-action-security.cjs +8 -8
  633. package/dist/server-action-security.mjs +7 -7
  634. package/dist/server-fn-client.cjs +4 -4
  635. package/dist/server-fn-client.mjs +3 -3
  636. package/dist/server-fn.cjs +15 -15
  637. package/dist/server-fn.mjs +14 -14
  638. package/dist/server-plugins.cjs +15 -15
  639. package/dist/server-plugins.d.mts +2 -2
  640. package/dist/server-plugins.d.ts +2 -2
  641. package/dist/server-plugins.mjs +14 -14
  642. package/dist/server-query-client.cjs +8 -8
  643. package/dist/server-query-client.mjs +7 -7
  644. package/dist/server-query.cjs +17 -17
  645. package/dist/server-query.mjs +16 -16
  646. package/dist/server.cjs +215 -219
  647. package/dist/server.d.mts +9 -9
  648. package/dist/server.d.ts +9 -9
  649. package/dist/server.mjs +178 -182
  650. package/dist/spa-router-CKuS81mi.d.ts +239 -0
  651. package/dist/spa-router-CkTPnA4L.d.mts +239 -0
  652. package/dist/storage.cjs +3 -3
  653. package/dist/storage.mjs +2 -2
  654. package/dist/testing.cjs +57 -77
  655. package/dist/testing.d.mts +1 -1
  656. package/dist/testing.d.ts +1 -1
  657. package/dist/testing.mjs +46 -66
  658. package/dist/theme/client.cjs +5 -5
  659. package/dist/theme/client.mjs +4 -4
  660. package/dist/theme/index.cjs +3 -3
  661. package/dist/theme/index.mjs +2 -2
  662. package/dist/theme/runtime.cjs +3 -3
  663. package/dist/theme/runtime.mjs +2 -2
  664. package/dist/theme/server.cjs +8 -8
  665. package/dist/theme/server.mjs +7 -7
  666. package/dist/utils-C0ORLYXc.d.ts +48 -0
  667. package/dist/utils-IA9wVkef.d.mts +48 -0
  668. package/dist/version.cjs +3 -3
  669. package/dist/version.mjs +2 -2
  670. package/dist/vite.cjs +152 -149
  671. package/dist/vite.d.mts +4 -4
  672. package/dist/vite.d.ts +4 -4
  673. package/dist/vite.mjs +127 -124
  674. package/dist/workflows.cjs +14 -14
  675. package/dist/workflows.mjs +13 -13
  676. package/package.json +26 -2
  677. package/dist/agent-mcp-BtK_KZ1m.d.ts +0 -115
  678. package/dist/agent-mcp-Cc-ypyNi.d.mts +0 -115
  679. package/dist/agent-mcp-handler-HVV5LNXF.mjs +0 -19
  680. package/dist/agent-mcp-handler-YKG7KVCY.cjs +0 -19
  681. package/dist/app-2SBLAaNq.d.mts +0 -554
  682. package/dist/app-BlXGEpdA.d.ts +0 -554
  683. package/dist/app-manifest-D1Tgp8ya.d.ts +0 -120
  684. package/dist/app-manifest-nZHIvS3a.d.mts +0 -120
  685. package/dist/chunk-25LPIZSX.cjs +0 -576
  686. package/dist/chunk-26CXZR6L.mjs +0 -1242
  687. package/dist/chunk-26RUNDIR.mjs +0 -2355
  688. package/dist/chunk-2A3EQHXX.mjs +0 -173
  689. package/dist/chunk-2CQ74SP6.cjs +0 -13
  690. package/dist/chunk-2DZFF7F7.cjs +0 -11810
  691. package/dist/chunk-2FUIT2G2.cjs +0 -85
  692. package/dist/chunk-2GVF3C2F.cjs +0 -616
  693. package/dist/chunk-2J7W2WND.mjs +0 -149
  694. package/dist/chunk-2NROIAA6.cjs +0 -6066
  695. package/dist/chunk-2NXO5SBY.mjs +0 -57
  696. package/dist/chunk-2PQNJXFM.mjs +0 -20
  697. package/dist/chunk-2SJ4RQ6P.cjs +0 -57
  698. package/dist/chunk-2SLWGLZ7.mjs +0 -8620
  699. package/dist/chunk-2UC36WAC.mjs +0 -22
  700. package/dist/chunk-2VQKKQ6D.mjs +0 -51
  701. package/dist/chunk-2Y3JRYVG.mjs +0 -71
  702. package/dist/chunk-37VKVISD.mjs +0 -2042
  703. package/dist/chunk-3BROEWFY.cjs +0 -39
  704. package/dist/chunk-3HEQSCVV.mjs +0 -9
  705. package/dist/chunk-3SAWHWDH.cjs +0 -186
  706. package/dist/chunk-3XEMGDBF.cjs +0 -1242
  707. package/dist/chunk-44SYJEG3.mjs +0 -13
  708. package/dist/chunk-45QJHGZM.cjs +0 -1063
  709. package/dist/chunk-45ZSJLDT.mjs +0 -183
  710. package/dist/chunk-4GP3XZ4Z.mjs +0 -595
  711. package/dist/chunk-4JCQDWPX.mjs +0 -24
  712. package/dist/chunk-4KQDHTWX.mjs +0 -487
  713. package/dist/chunk-4OOBRCJX.mjs +0 -300
  714. package/dist/chunk-4PPEPOZZ.cjs +0 -21
  715. package/dist/chunk-4RB44K6Z.mjs +0 -94
  716. package/dist/chunk-4SIYUGRY.mjs +0 -93
  717. package/dist/chunk-4TLUFAIP.cjs +0 -92
  718. package/dist/chunk-4U5XZDLG.cjs +0 -80
  719. package/dist/chunk-4ZZNPK25.mjs +0 -178
  720. package/dist/chunk-53ZV6K65.mjs +0 -241
  721. package/dist/chunk-54UPOYFS.mjs +0 -35
  722. package/dist/chunk-55YI3RRB.mjs +0 -192
  723. package/dist/chunk-5LPHJZSI.cjs +0 -241
  724. package/dist/chunk-5NAVKJCZ.cjs +0 -435
  725. package/dist/chunk-5NIWBWDD.mjs +0 -97
  726. package/dist/chunk-5QIKR7RR.cjs +0 -224
  727. package/dist/chunk-5WI2S4CO.mjs +0 -20
  728. package/dist/chunk-63H6BKXG.cjs +0 -389
  729. package/dist/chunk-64SBBZDU.cjs +0 -102
  730. package/dist/chunk-666CKENS.mjs +0 -49
  731. package/dist/chunk-6BWKJ6QS.cjs +0 -43
  732. package/dist/chunk-6D24SDKO.cjs +0 -145
  733. package/dist/chunk-6EODJYCX.cjs +0 -183
  734. package/dist/chunk-6EXBPJ24.cjs +0 -434
  735. package/dist/chunk-6IZWX6ES.cjs +0 -74
  736. package/dist/chunk-6LVRDOAW.mjs +0 -74
  737. package/dist/chunk-6MVFHNYZ.cjs +0 -1033
  738. package/dist/chunk-6NT6S2VQ.mjs +0 -180
  739. package/dist/chunk-6QOLZITB.cjs +0 -22
  740. package/dist/chunk-6QQDAAAZ.cjs +0 -38
  741. package/dist/chunk-72ADZ6GQ.cjs +0 -19
  742. package/dist/chunk-72AK62H5.mjs +0 -55
  743. package/dist/chunk-73WX6PRY.mjs +0 -575
  744. package/dist/chunk-75RZHGLS.cjs +0 -135
  745. package/dist/chunk-7GNWGLWB.mjs +0 -14
  746. package/dist/chunk-7IQQIPRZ.mjs +0 -55
  747. package/dist/chunk-7LTCDQRS.mjs +0 -166
  748. package/dist/chunk-7P475T2X.mjs +0 -11809
  749. package/dist/chunk-7RNAKBWF.cjs +0 -40
  750. package/dist/chunk-7UEEHAW7.mjs +0 -576
  751. package/dist/chunk-7W3CPVXS.cjs +0 -24
  752. package/dist/chunk-A6WIQH5Z.cjs +0 -31
  753. package/dist/chunk-AELACLOB.mjs +0 -47
  754. package/dist/chunk-AI7QMY7O.cjs +0 -41
  755. package/dist/chunk-ALPWLT27.cjs +0 -291
  756. package/dist/chunk-AMDMVWMI.cjs +0 -39
  757. package/dist/chunk-APDGOKKE.cjs +0 -148
  758. package/dist/chunk-ARJWXNQL.cjs +0 -256
  759. package/dist/chunk-AZBSVLRM.cjs +0 -132
  760. package/dist/chunk-B2GSRB3P.mjs +0 -1033
  761. package/dist/chunk-B6XAA7V6.cjs +0 -2042
  762. package/dist/chunk-BCMSYSN2.mjs +0 -183
  763. package/dist/chunk-BIDYX3SL.cjs +0 -91
  764. package/dist/chunk-BJIYRUGQ.mjs +0 -35
  765. package/dist/chunk-BMOBTMDR.cjs +0 -178
  766. package/dist/chunk-BOYNDCZL.mjs +0 -54
  767. package/dist/chunk-BPNRQ5BA.mjs +0 -690
  768. package/dist/chunk-BRYHOB4X.mjs +0 -18
  769. package/dist/chunk-BTHHUD7Q.mjs +0 -51
  770. package/dist/chunk-BUGNQIHC.mjs +0 -449
  771. package/dist/chunk-C4NCTZLM.mjs +0 -22
  772. package/dist/chunk-C5GUTBZK.cjs +0 -173
  773. package/dist/chunk-CALY6QG6.mjs +0 -963
  774. package/dist/chunk-CBBLJMR5.mjs +0 -74
  775. package/dist/chunk-CBXBGM72.cjs +0 -212
  776. package/dist/chunk-CEDPEDNW.cjs +0 -98
  777. package/dist/chunk-CGR525MJ.cjs +0 -357
  778. package/dist/chunk-CGVPXIRN.cjs +0 -472
  779. package/dist/chunk-CMGMGHUZ.cjs +0 -27
  780. package/dist/chunk-CNOQY6Z7.mjs +0 -156
  781. package/dist/chunk-COABSY3U.mjs +0 -196
  782. package/dist/chunk-CQ6OSQ3K.mjs +0 -36
  783. package/dist/chunk-CU625VAY.mjs +0 -13
  784. package/dist/chunk-CW6SNEN2.cjs +0 -727
  785. package/dist/chunk-CXP5U3RW.cjs +0 -54
  786. package/dist/chunk-CY2ZQ5C6.cjs +0 -56
  787. package/dist/chunk-CZS6OACQ.mjs +0 -63
  788. package/dist/chunk-D4ROBNTK.cjs +0 -1378
  789. package/dist/chunk-D5IHNDHI.cjs +0 -367
  790. package/dist/chunk-D5RFPV2H.mjs +0 -148
  791. package/dist/chunk-D64OPY6A.cjs +0 -710
  792. package/dist/chunk-D7JTOLFK.cjs +0 -285
  793. package/dist/chunk-DAATZTKJ.mjs +0 -220
  794. package/dist/chunk-DMRPN25V.mjs +0 -701
  795. package/dist/chunk-DVM4FKZL.cjs +0 -169
  796. package/dist/chunk-E22SWCXB.cjs +0 -144
  797. package/dist/chunk-EMLAPBEM.mjs +0 -256
  798. package/dist/chunk-ETPEZLS3.mjs +0 -367
  799. package/dist/chunk-F3VB7ONA.mjs +0 -338
  800. package/dist/chunk-F646BZ4Y.mjs +0 -581
  801. package/dist/chunk-FA2W42OV.mjs +0 -25
  802. package/dist/chunk-FEYQCYT7.cjs +0 -823
  803. package/dist/chunk-FGH3ZXTP.mjs +0 -1063
  804. package/dist/chunk-FIAPD365.mjs +0 -85
  805. package/dist/chunk-FJ3M4CUX.cjs +0 -46
  806. package/dist/chunk-FK6GO24V.cjs +0 -54
  807. package/dist/chunk-FP2INE7H.mjs +0 -113
  808. package/dist/chunk-FQUKOELE.mjs +0 -6066
  809. package/dist/chunk-FVPXT2JR.cjs +0 -63
  810. package/dist/chunk-FWCGUVVL.mjs +0 -86
  811. package/dist/chunk-FXFKIJDA.cjs +0 -168
  812. package/dist/chunk-G2KY33I6.mjs +0 -202
  813. package/dist/chunk-G2Z5DGMS.cjs +0 -581
  814. package/dist/chunk-G4MWPDSE.mjs +0 -19
  815. package/dist/chunk-G643DQCH.cjs +0 -13
  816. package/dist/chunk-G7HXGLEC.cjs +0 -175
  817. package/dist/chunk-GB7LDGY5.cjs +0 -2355
  818. package/dist/chunk-GC3EM6H4.mjs +0 -80
  819. package/dist/chunk-GCXWJJKH.mjs +0 -169
  820. package/dist/chunk-GHFS7RUB.mjs +0 -152
  821. package/dist/chunk-GS3WR5HX.cjs +0 -595
  822. package/dist/chunk-GZTUT75U.mjs +0 -293
  823. package/dist/chunk-GZWHCWLB.mjs +0 -186
  824. package/dist/chunk-H3EGVQE5.mjs +0 -22
  825. package/dist/chunk-H4AMB6ZE.mjs +0 -421
  826. package/dist/chunk-H4LXPWI2.mjs +0 -46
  827. package/dist/chunk-H77NVNJ2.mjs +0 -57
  828. package/dist/chunk-H7BLEEAE.cjs +0 -57
  829. package/dist/chunk-HANGSYMB.mjs +0 -67
  830. package/dist/chunk-HJ64F4GS.mjs +0 -537
  831. package/dist/chunk-HKFBMHCD.mjs +0 -291
  832. package/dist/chunk-HLJ6MBUZ.cjs +0 -183
  833. package/dist/chunk-HREOKQWT.cjs +0 -45
  834. package/dist/chunk-I2BHUNBU.mjs +0 -14
  835. package/dist/chunk-I57LW5VZ.cjs +0 -94
  836. package/dist/chunk-I5MG3TKE.cjs +0 -487
  837. package/dist/chunk-I6UVKUYK.mjs +0 -1378
  838. package/dist/chunk-IE7XCHH3.cjs +0 -85
  839. package/dist/chunk-IF4NU2NG.mjs +0 -314
  840. package/dist/chunk-IFWSR7YZ.cjs +0 -416
  841. package/dist/chunk-IHQIOZLC.mjs +0 -65
  842. package/dist/chunk-IK6LVLKC.cjs +0 -51
  843. package/dist/chunk-IM7DY3ED.mjs +0 -40
  844. package/dist/chunk-IN6RCKLL.mjs +0 -396
  845. package/dist/chunk-INQ64HTJ.mjs +0 -696
  846. package/dist/chunk-IOAUK4OI.cjs +0 -2162
  847. package/dist/chunk-IOEH4VWN.mjs +0 -202
  848. package/dist/chunk-IOMVXBLZ.mjs +0 -144
  849. package/dist/chunk-IXFOBGLQ.cjs +0 -1120
  850. package/dist/chunk-J7FSKED3.cjs +0 -93
  851. package/dist/chunk-J7K2NZD6.mjs +0 -56
  852. package/dist/chunk-JAXDRRRC.cjs +0 -701
  853. package/dist/chunk-JBSVKMC5.mjs +0 -28
  854. package/dist/chunk-JDNHKPTD.cjs +0 -22
  855. package/dist/chunk-JEIG3EWE.cjs +0 -690
  856. package/dist/chunk-JEZO6VUR.cjs +0 -35
  857. package/dist/chunk-JGHCKIRI.mjs +0 -580
  858. package/dist/chunk-JGLC4TO3.cjs +0 -192
  859. package/dist/chunk-JM5XPKWH.mjs +0 -41
  860. package/dist/chunk-JNZ4TDWM.mjs +0 -445
  861. package/dist/chunk-JOW4HDJO.mjs +0 -179
  862. package/dist/chunk-JPLUGGRV.mjs +0 -230
  863. package/dist/chunk-JVXW76I7.mjs +0 -727
  864. package/dist/chunk-KCMTCM6I.cjs +0 -53
  865. package/dist/chunk-KEXK442I.cjs +0 -696
  866. package/dist/chunk-KF6VDJH7.cjs +0 -86
  867. package/dist/chunk-KFZZFZ7J.cjs +0 -46
  868. package/dist/chunk-KGB5UXJJ.mjs +0 -27
  869. package/dist/chunk-KGZIORNL.cjs +0 -43
  870. package/dist/chunk-KI3MESHB.mjs +0 -224
  871. package/dist/chunk-KNBBQHO2.cjs +0 -51
  872. package/dist/chunk-KNHBTJP6.mjs +0 -472
  873. package/dist/chunk-KQANE4Q4.mjs +0 -1210
  874. package/dist/chunk-KR6CKSXT.cjs +0 -15
  875. package/dist/chunk-KYN5ODF6.mjs +0 -62
  876. package/dist/chunk-L3KT7IXV.mjs +0 -91
  877. package/dist/chunk-L5H2GSUC.cjs +0 -49
  878. package/dist/chunk-L6A26QT5.cjs +0 -537
  879. package/dist/chunk-LCCBO7PJ.cjs +0 -46
  880. package/dist/chunk-LFHCG2DU.mjs +0 -43
  881. package/dist/chunk-LIUGYUX3.cjs +0 -22
  882. package/dist/chunk-LIZTLA5F.cjs +0 -396
  883. package/dist/chunk-LLUA2LSC.mjs +0 -157
  884. package/dist/chunk-LPE3ED4R.cjs +0 -929
  885. package/dist/chunk-LPEX4YW6.mjs +0 -13
  886. package/dist/chunk-LRJRXXQZ.cjs +0 -109
  887. package/dist/chunk-LTNGXMQ6.cjs +0 -55
  888. package/dist/chunk-LYLEZIG3.cjs +0 -73
  889. package/dist/chunk-LYV44OIR.mjs +0 -256
  890. package/dist/chunk-LZESP4IR.cjs +0 -575
  891. package/dist/chunk-M2L4MYDQ.cjs +0 -14
  892. package/dist/chunk-M3BXTWJM.mjs +0 -467
  893. package/dist/chunk-M7MKQXAF.cjs +0 -87
  894. package/dist/chunk-MEASUNVY.mjs +0 -440
  895. package/dist/chunk-MGMF4VP7.mjs +0 -102
  896. package/dist/chunk-MHHCLYXU.mjs +0 -236
  897. package/dist/chunk-MN4TQJ3W.cjs +0 -157
  898. package/dist/chunk-MQ3H6LT5.cjs +0 -202
  899. package/dist/chunk-MWSK6C4J.cjs +0 -18
  900. package/dist/chunk-MWWVKDW3.cjs +0 -169
  901. package/dist/chunk-MY5PZYAD.cjs +0 -2083
  902. package/dist/chunk-N46M65CI.mjs +0 -54
  903. package/dist/chunk-N4UOK6ZI.cjs +0 -256
  904. package/dist/chunk-NBPNUQYO.cjs +0 -179
  905. package/dist/chunk-NFG4PUPI.cjs +0 -64
  906. package/dist/chunk-NFME7OKZ.cjs +0 -109
  907. package/dist/chunk-NO3WWW3N.cjs +0 -192
  908. package/dist/chunk-NPC7VWJE.mjs +0 -277
  909. package/dist/chunk-NYJMY3JA.cjs +0 -156
  910. package/dist/chunk-NZKJGRB3.cjs +0 -230
  911. package/dist/chunk-O6BCQV2T.mjs +0 -46
  912. package/dist/chunk-O7BH5O46.mjs +0 -175
  913. package/dist/chunk-O7USYJ4U.mjs +0 -64
  914. package/dist/chunk-OF4TXHM4.cjs +0 -9
  915. package/dist/chunk-OHY2ZWUG.cjs +0 -25
  916. package/dist/chunk-OI6CMLWX.cjs +0 -47
  917. package/dist/chunk-OILHPMFX.cjs +0 -580
  918. package/dist/chunk-OJ7JP7RJ.mjs +0 -212
  919. package/dist/chunk-ONUEYC6N.mjs +0 -27
  920. package/dist/chunk-OT6ZEW74.mjs +0 -139
  921. package/dist/chunk-OX6O6WVA.cjs +0 -74
  922. package/dist/chunk-OYEUREB6.cjs +0 -35
  923. package/dist/chunk-OYZGFRPA.mjs +0 -714
  924. package/dist/chunk-OZVEHHMA.cjs +0 -194
  925. package/dist/chunk-P2UJF4SS.mjs +0 -823
  926. package/dist/chunk-P4TYB4SF.cjs +0 -417
  927. package/dist/chunk-P7XDC7UJ.mjs +0 -92
  928. package/dist/chunk-PCOTGFSM.cjs +0 -139
  929. package/dist/chunk-PDU4P2IC.cjs +0 -467
  930. package/dist/chunk-PJ42JESY.cjs +0 -87
  931. package/dist/chunk-PJEHUSHA.mjs +0 -229
  932. package/dist/chunk-PNGWZFUQ.mjs +0 -39
  933. package/dist/chunk-PSV6XKPO.cjs +0 -220
  934. package/dist/chunk-PZYCPSCC.cjs +0 -35
  935. package/dist/chunk-Q5B3KJBP.cjs +0 -152
  936. package/dist/chunk-Q5F32A26.cjs +0 -8621
  937. package/dist/chunk-QBK2AA4U.cjs +0 -445
  938. package/dist/chunk-QCFBDFRS.mjs +0 -169
  939. package/dist/chunk-QCVE2OCI.cjs +0 -169
  940. package/dist/chunk-QCVIRVHE.mjs +0 -87
  941. package/dist/chunk-QE6VAKLT.mjs +0 -85
  942. package/dist/chunk-QGH2RQVF.mjs +0 -132
  943. package/dist/chunk-QHSH7IH4.mjs +0 -35
  944. package/dist/chunk-QIBP5EFA.cjs +0 -476
  945. package/dist/chunk-QNPEUFHQ.cjs +0 -27
  946. package/dist/chunk-QSG2IX4A.mjs +0 -109
  947. package/dist/chunk-QVKYGNVM.mjs +0 -27
  948. package/dist/chunk-QVYLBY73.mjs +0 -93
  949. package/dist/chunk-R3DS7A2T.mjs +0 -21
  950. package/dist/chunk-R3ZFQJEF.mjs +0 -616
  951. package/dist/chunk-R5A5KNVX.cjs +0 -20
  952. package/dist/chunk-R5JIFR6B.cjs +0 -42
  953. package/dist/chunk-RHAZ22ZN.mjs +0 -87
  954. package/dist/chunk-S34OBRMZ.mjs +0 -109
  955. package/dist/chunk-S3A45T7F.cjs +0 -166
  956. package/dist/chunk-S3FNNQHR.mjs +0 -31
  957. package/dist/chunk-S3JO3N4H.cjs +0 -17
  958. package/dist/chunk-S3ZEMCE6.mjs +0 -1120
  959. package/dist/chunk-S67OYZU7.mjs +0 -711
  960. package/dist/chunk-S6ENKNNG.mjs +0 -168
  961. package/dist/chunk-S6FJO323.cjs +0 -65
  962. package/dist/chunk-S7MTDRYA.cjs +0 -394
  963. package/dist/chunk-SAXPH6G5.mjs +0 -169
  964. package/dist/chunk-SBH2JLLF.cjs +0 -55
  965. package/dist/chunk-SEJ5N6SL.mjs +0 -38
  966. package/dist/chunk-SFGWNC43.mjs +0 -97
  967. package/dist/chunk-SGB4IW7K.mjs +0 -710
  968. package/dist/chunk-SGBZPZUW.mjs +0 -75
  969. package/dist/chunk-SHB3GYXI.mjs +0 -285
  970. package/dist/chunk-SK35NQKK.cjs +0 -27
  971. package/dist/chunk-SKK6UF5P.cjs +0 -755
  972. package/dist/chunk-SKNL7VA2.mjs +0 -42
  973. package/dist/chunk-SLQCDJSO.mjs +0 -18
  974. package/dist/chunk-SOR334EB.cjs +0 -149
  975. package/dist/chunk-SU7MH53P.cjs +0 -180
  976. package/dist/chunk-SVRTJOUF.cjs +0 -113
  977. package/dist/chunk-SZLNU3GJ.cjs +0 -293
  978. package/dist/chunk-T76H22WI.mjs +0 -2162
  979. package/dist/chunk-TFQG7TBC.mjs +0 -43
  980. package/dist/chunk-TI7UANHI.cjs +0 -77
  981. package/dist/chunk-TIWHTW3Q.cjs +0 -24
  982. package/dist/chunk-TKJZFIML.cjs +0 -20
  983. package/dist/chunk-TVGP4BBZ.mjs +0 -45
  984. package/dist/chunk-UFDAAQFX.cjs +0 -169
  985. package/dist/chunk-UFDV5N3C.cjs +0 -711
  986. package/dist/chunk-UIDWEU7M.mjs +0 -357
  987. package/dist/chunk-ULQOP5UI.mjs +0 -54
  988. package/dist/chunk-UP4CW6WP.mjs +0 -169
  989. package/dist/chunk-UQUEANTY.mjs +0 -2083
  990. package/dist/chunk-UQZ4AYTH.cjs +0 -168
  991. package/dist/chunk-US2QVW3E.cjs +0 -36
  992. package/dist/chunk-UXHS27O6.cjs +0 -75
  993. package/dist/chunk-UYIHRDE4.cjs +0 -97
  994. package/dist/chunk-V2FTMRS7.mjs +0 -223
  995. package/dist/chunk-VB6UCX3V.cjs +0 -421
  996. package/dist/chunk-VDRM36QB.cjs +0 -963
  997. package/dist/chunk-VEKFLAQM.cjs +0 -300
  998. package/dist/chunk-VHRS3MCW.cjs +0 -196
  999. package/dist/chunk-VNPXKF3G.cjs +0 -314
  1000. package/dist/chunk-VQDBNVOO.cjs +0 -14
  1001. package/dist/chunk-VQGKD7RV.mjs +0 -25
  1002. package/dist/chunk-VTBXE6QG.mjs +0 -476
  1003. package/dist/chunk-W3B4PKAW.mjs +0 -28
  1004. package/dist/chunk-W4E7WMXE.cjs +0 -71
  1005. package/dist/chunk-WBKEZXWE.cjs +0 -449
  1006. package/dist/chunk-WDMIW6Q6.mjs +0 -145
  1007. package/dist/chunk-WLHA5USH.cjs +0 -1514
  1008. package/dist/chunk-WMAPPDMM.cjs +0 -28
  1009. package/dist/chunk-WMBRZI5V.mjs +0 -416
  1010. package/dist/chunk-WMHG64DA.mjs +0 -417
  1011. package/dist/chunk-WMOGFOUJ.cjs +0 -223
  1012. package/dist/chunk-WNSDDRNU.mjs +0 -24
  1013. package/dist/chunk-WPJQN64R.mjs +0 -755
  1014. package/dist/chunk-WROEFVNO.cjs +0 -236
  1015. package/dist/chunk-WU7ZS3EM.cjs +0 -440
  1016. package/dist/chunk-WWYXIECF.mjs +0 -929
  1017. package/dist/chunk-X3GMHKO3.cjs +0 -62
  1018. package/dist/chunk-X3NGFVRF.mjs +0 -237
  1019. package/dist/chunk-XIZO5VDA.cjs +0 -1210
  1020. package/dist/chunk-XJJVLDM6.mjs +0 -194
  1021. package/dist/chunk-XJXBIP67.cjs +0 -277
  1022. package/dist/chunk-XNPDONUH.mjs +0 -389
  1023. package/dist/chunk-XSIRSMAS.cjs +0 -339
  1024. package/dist/chunk-XUC6CFLE.mjs +0 -1514
  1025. package/dist/chunk-XUGFRFD2.mjs +0 -39
  1026. package/dist/chunk-XZNTNMHT.mjs +0 -15
  1027. package/dist/chunk-Y5RG6B7S.mjs +0 -77
  1028. package/dist/chunk-YFILVET3.mjs +0 -192
  1029. package/dist/chunk-YFPGHF5F.cjs +0 -202
  1030. package/dist/chunk-YHOCRI4H.mjs +0 -434
  1031. package/dist/chunk-YJRZR7VU.cjs +0 -28
  1032. package/dist/chunk-YKUEJ3MG.cjs +0 -229
  1033. package/dist/chunk-YN2QEMMO.cjs +0 -714
  1034. package/dist/chunk-YOZYCI6Z.mjs +0 -73
  1035. package/dist/chunk-YWCYV7QC.cjs +0 -54
  1036. package/dist/chunk-YX3DBN4M.cjs +0 -18
  1037. package/dist/chunk-YYQVGKO5.mjs +0 -394
  1038. package/dist/chunk-YZAKIXRL.cjs +0 -67
  1039. package/dist/chunk-Z2RZJZIZ.mjs +0 -168
  1040. package/dist/chunk-Z3HATSKO.mjs +0 -46
  1041. package/dist/chunk-ZEG3OPIB.cjs +0 -93
  1042. package/dist/chunk-ZLAT2CWY.mjs +0 -135
  1043. package/dist/chunk-ZQRCSUSB.cjs +0 -25
  1044. package/dist/chunk-ZTP3BJG6.cjs +0 -237
  1045. package/dist/chunk-ZZGQD7A4.mjs +0 -435
  1046. package/dist/chunk-ZZSRYEYU.mjs +0 -53
  1047. package/dist/client-plugins-DEmIQo5R.d.mts +0 -3801
  1048. package/dist/client-plugins-br48Hpmk.d.ts +0 -3801
  1049. package/dist/devtools-5Q7VRKVH.cjs +0 -478
  1050. package/dist/devtools-LJ4IGYGW.mjs +0 -478
  1051. package/dist/devtools-client-CXQ6PXI6.cjs +0 -254
  1052. package/dist/devtools-client-HJS2T34Y.mjs +0 -254
  1053. package/dist/devtools-ui-5GBDIGMK.cjs +0 -1296
  1054. package/dist/devtools-ui-5KDAVPIF.mjs +0 -1296
  1055. package/dist/index-CyD9Rfso.d.ts +0 -48
  1056. package/dist/index-_nhUt_dh.d.mts +0 -48
  1057. package/dist/integration-orm-P2II2EBK.cjs +0 -14
  1058. package/dist/integration-orm-RBKCIQYZ.mjs +0 -14
  1059. package/dist/layers-UTB43B7A.mjs +0 -18
  1060. package/dist/layers-VUWIOFEO.cjs +0 -18
  1061. package/dist/manager-RT733VRK.mjs +0 -14
  1062. package/dist/manager-XZ5TX7AO.cjs +0 -14
  1063. package/dist/nitro-KDACKNHU.mjs +0 -654
  1064. package/dist/nitro-NPGU6VBT.cjs +0 -654
  1065. package/dist/node-module-bundle-L5L7JCZ4.mjs +0 -11
  1066. package/dist/node-module-bundle-VAFZOXMJ.cjs +0 -11
  1067. package/dist/plugin-DBBZ4JI2.cjs +0 -32
  1068. package/dist/plugin-SYMK7PQ2.mjs +0 -32
  1069. package/dist/production-runtime-BEbIyIUe.d.mts +0 -123
  1070. package/dist/production-runtime-DsHjccVI.d.ts +0 -123
  1071. package/dist/programmatic-routes-client-DlMKstmL.d.ts +0 -184
  1072. package/dist/programmatic-routes-client-Dqr6tHND.d.mts +0 -184
  1073. package/dist/render-plan-Bu6XOxNg.d.mts +0 -25
  1074. package/dist/render-plan-MefW_fLC.d.ts +0 -25
  1075. package/dist/request-BBe1B8Bk.d.mts +0 -24
  1076. package/dist/request-CMsRJQK3.d.ts +0 -24
  1077. package/dist/route-rendering-DTLNruPw.d.ts +0 -44
  1078. package/dist/route-rendering-Do8tuYgh.d.mts +0 -44
  1079. package/dist/router-BJreOZ-k.d.ts +0 -50
  1080. package/dist/router-o2mZB9Y4.d.mts +0 -50
  1081. package/dist/rsc-pipeline-4ZJ6GUVQ.cjs +0 -78
  1082. package/dist/rsc-pipeline-KK6GFDET.mjs +0 -78
  1083. package/dist/runtime-Cp5YZNz4.d.mts +0 -69
  1084. package/dist/runtime-Da57KD8F.d.ts +0 -69
  1085. package/dist/schema-dev-notice-77ZL23PL.cjs +0 -58
  1086. package/dist/schema-dev-notice-BLXOS6U2.mjs +0 -58
  1087. package/dist/search-client-G3RICOFU.cjs +0 -13
  1088. package/dist/search-client-KR7YRIVR.mjs +0 -13
  1089. package/dist/spa-router-CN2vc0GY.d.ts +0 -239
  1090. package/dist/spa-router-COZLIB7k.d.mts +0 -239
  1091. package/dist/utils-BAtVIHfw.d.mts +0 -48
  1092. package/dist/utils-Y8MZrj4b.d.ts +0 -48
@@ -0,0 +1,1357 @@
1
+ import {
2
+ _findFarmMCPEndpointTool
3
+ } from "./chunk-KJMWAUKE.mjs";
4
+ import {
5
+ emitFarmEvent
6
+ } from "./chunk-2DA7CLY7.mjs";
7
+ import {
8
+ _withFarmResponseHeaders
9
+ } from "./chunk-LM55GS4R.mjs";
10
+ import {
11
+ stripFarmBasePath
12
+ } from "./chunk-SF3JB56B.mjs";
13
+
14
+ // src/agent-identity.ts
15
+ var AGENT_TOKENS = [
16
+ ["ChatGPT-User", "openai", "agent"],
17
+ ["OAI-SearchBot", "openai", "crawler"],
18
+ ["GPTBot", "openai", "crawler"],
19
+ ["Claude-User", "anthropic", "agent"],
20
+ ["Claude-SearchBot", "anthropic", "crawler"],
21
+ ["ClaudeBot", "anthropic", "crawler"],
22
+ ["Perplexity-User", "perplexity", "agent"],
23
+ ["PerplexityBot", "perplexity", "crawler"],
24
+ ["CCBot", "other", "crawler"],
25
+ ["Bytespider", "other", "crawler"],
26
+ ["Meta-ExternalAgent", "other", "crawler"]
27
+ ];
28
+ var AGENT_PATTERNS = AGENT_TOKENS.map(([token, family, category]) => ({
29
+ pattern: new RegExp(`(?:^|[\\s;(])${token}(?=[/\\s;)]|$)`, "i"),
30
+ family,
31
+ category
32
+ }));
33
+ var UNKNOWN = { family: "unknown", category: "unknown", identity: "unknown" };
34
+ function classifyFarmAgent(userAgent) {
35
+ const value = (userAgent ?? "").slice(0, 2048);
36
+ const matches = AGENT_PATTERNS.filter(({ pattern }) => pattern.test(value));
37
+ if (matches.length === 1) {
38
+ const { family, category } = matches[0];
39
+ return { family, category, identity: "self-reported" };
40
+ }
41
+ return { ...UNKNOWN };
42
+ }
43
+ var FARM_INTERNAL_READ_HEADER = "x-farm-internal-read";
44
+ function emitFarmAgentRead(request, surface, status, view) {
45
+ if (request.headers.has(FARM_INTERNAL_READ_HEADER)) return;
46
+ let route;
47
+ try {
48
+ route = new URL(request.url).pathname;
49
+ } catch {
50
+ return;
51
+ }
52
+ emitFarmEvent({
53
+ type: "agent.read",
54
+ surface,
55
+ route,
56
+ ...view ? { view } : {},
57
+ status,
58
+ agent: classifyFarmAgent(request.headers.get("user-agent"))
59
+ });
60
+ }
61
+
62
+ // src/markdown-view.ts
63
+ var FENCE = /^\s{0,3}(`{3,}|~{3,})/;
64
+ var ATX_HEADING = /^\s{0,3}(#{1,6})[ \t]+(.+?)[ \t]*#*[ \t]*$/;
65
+ function parseMarkdownHeadingsFromLines(lines) {
66
+ const headings = [];
67
+ const used = /* @__PURE__ */ new Map();
68
+ let index = 0;
69
+ if (lines[0]?.trim() === "---") {
70
+ const close = lines.findIndex((line, lineIndex) => lineIndex > 0 && line.trim() === "---");
71
+ if (close > 0) index = close + 1;
72
+ }
73
+ let fence = null;
74
+ for (; index < lines.length; index++) {
75
+ const line = lines[index];
76
+ const fenceMatch = FENCE.exec(line);
77
+ if (fenceMatch) {
78
+ const marker = fenceMatch[1];
79
+ if (fence === null) fence = marker;
80
+ else if (marker[0] === fence[0] && marker.length >= fence.length) fence = null;
81
+ continue;
82
+ }
83
+ if (fence !== null) continue;
84
+ const match = ATX_HEADING.exec(line);
85
+ if (!match) continue;
86
+ const text = match[2].trim();
87
+ const base = slugifyHeading(text) || "section";
88
+ const count = used.get(base) ?? 0;
89
+ used.set(base, count + 1);
90
+ headings.push({
91
+ id: count === 0 ? base : `${base}-${count}`,
92
+ level: match[1].length,
93
+ text,
94
+ start: index,
95
+ end: lines.length
96
+ });
97
+ }
98
+ const open = [];
99
+ for (const heading of headings) {
100
+ while (open.length > 0 && open[open.length - 1].level >= heading.level) {
101
+ open.pop().end = heading.start;
102
+ }
103
+ open.push(heading);
104
+ }
105
+ return headings;
106
+ }
107
+ function slugifyHeading(text) {
108
+ return text.replace(/!?\[([^\]]*)\]\([^)]*\)/g, "$1").replace(/[`*_~]/g, "").toLowerCase().replace(/[^\p{L}\p{N}\s-]/gu, "").trim().replace(/\s/g, "-");
109
+ }
110
+ function estimateFarmMarkdownTokens(text) {
111
+ return Math.ceil(text.length / 4);
112
+ }
113
+ var FARM_MARKDOWN_MIN_TOKEN_BUDGET = 100;
114
+ var FARM_MARKDOWN_VIEW_PARAMS = [
115
+ "outline",
116
+ "section",
117
+ "actions",
118
+ "max_tokens",
119
+ "cursor"
120
+ ];
121
+ function selectFarmMarkdownView(markdown, searchParams, markdownPath) {
122
+ const wantsOutline = searchParams.has("outline");
123
+ const sectionId = searchParams.get("section");
124
+ const budget = searchParams.get("max_tokens");
125
+ if (!wantsOutline && sectionId === null && budget === null)
126
+ return { status: 200, body: markdown };
127
+ const viewUrl = (view) => {
128
+ const query = new URLSearchParams(searchParams);
129
+ for (const name of FARM_MARKDOWN_VIEW_PARAMS) query.delete(name);
130
+ for (const [name, value] of Object.entries(view)) {
131
+ if (value !== null && value !== void 0) query.set(name, value);
132
+ }
133
+ const search = query.toString();
134
+ return search ? `${markdownPath}?${search}` : markdownPath;
135
+ };
136
+ const withinBudget = (document) => budget === null ? { status: 200, body: document } : selectFarmMarkdownPart(
137
+ document,
138
+ budget,
139
+ searchParams.get("cursor"),
140
+ (cursor) => viewUrl({ section: sectionId, max_tokens: budget, cursor })
141
+ );
142
+ if (!wantsOutline && sectionId === null) return withinBudget(markdown);
143
+ const lines = markdown.split("\n");
144
+ const headings = parseMarkdownHeadingsFromLines(lines);
145
+ const sectionText = (heading) => lines.slice(heading.start, heading.end).join("\n").trim();
146
+ if (sectionId !== null) {
147
+ const heading = headings.find((candidate) => candidate.id === sectionId);
148
+ if (heading) return withinBudget(`${sectionText(heading)}
149
+ `);
150
+ const available = headings.map((candidate) => `- \`${candidate.id}\``).join("\n");
151
+ return {
152
+ status: 404,
153
+ body: `# Section not found
154
+
155
+ ${markdownCodeSpan(sectionId)} is not a section of ${markdownPath}.
156
+
157
+ ` + (available ? `Available sections:
158
+
159
+ ${available}
160
+ ` : "This page has no sections.\n")
161
+ };
162
+ }
163
+ const offsets = [];
164
+ let offset = 0;
165
+ for (const line of lines) {
166
+ offsets.push(offset);
167
+ offset += line.length + 1;
168
+ }
169
+ const minLevel = headings.reduce((min, heading) => Math.min(min, heading.level), 6);
170
+ const entries = headings.map((heading) => {
171
+ const indent = " ".repeat(heading.level - minLevel);
172
+ let last = heading.end - 1;
173
+ while (last > heading.start && lines[last].trim().length === 0) last--;
174
+ const first = lines[heading.start];
175
+ const length = offsets[last] + lines[last].trimEnd().length - offsets[heading.start] - (first.length - first.trimStart().length);
176
+ const tokens = Math.ceil(length / 4);
177
+ return `${indent}- [${heading.text}](${viewUrl({ section: heading.id })}) ~${tokens} tokens`;
178
+ });
179
+ return {
180
+ status: 200,
181
+ body: `# Outline of ${markdownPath}
182
+
183
+ About ${estimateFarmMarkdownTokens(markdown)} tokens in total. Request one section with \`?section=<id>\`, or read in parts with \`?max_tokens=<n>\`.
184
+
185
+ ` + (entries.length > 0 ? `${entries.join("\n")}
186
+ ` : "This page has no headings.\n")
187
+ };
188
+ }
189
+ function markdownCodeSpan(value) {
190
+ const text = value.replace(/[\p{Cc}\u2028\u2029]+/gu, " ");
191
+ const longestRun = (text.match(/`+/g) ?? []).reduce((max, run) => Math.max(max, run.length), 0);
192
+ const fence = "`".repeat(longestRun + 1);
193
+ const pad = text.startsWith("`") || text.endsWith("`") ? " " : "";
194
+ return `${fence}${pad}${text}${pad}${fence}`;
195
+ }
196
+ function selectFarmPageActionsView(markdownPath, actions, headers) {
197
+ headers.set("Content-Type", "application/json; charset=utf-8");
198
+ const page = markdownPath === "/index.md" ? "/" : markdownPath.replace(/\.md$/, "");
199
+ return {
200
+ status: 200,
201
+ body: `${JSON.stringify({ page, markdown: markdownPath, actions }, null, 2)}
202
+ `
203
+ };
204
+ }
205
+ function selectFarmMarkdownPart(document, rawBudget, rawCursor, partUrl) {
206
+ const budget = /^\d{1,9}$/.test(rawBudget) ? Number(rawBudget) : Number.NaN;
207
+ if (!(budget >= FARM_MARKDOWN_MIN_TOKEN_BUDGET)) {
208
+ return {
209
+ status: 400,
210
+ body: `# Invalid max_tokens
211
+
212
+ \`max_tokens\` must be a whole number of at least ${FARM_MARKDOWN_MIN_TOKEN_BUDGET}.
213
+ `
214
+ };
215
+ }
216
+ const lines = document.replace(/\n$/, "").split("\n");
217
+ const version = hashFarmMarkdown(document).slice(0, 8);
218
+ let start = 0;
219
+ if (rawCursor !== null) {
220
+ const match = /^(\d{1,9})\.([0-9a-z]+)$/.exec(rawCursor);
221
+ if (!match || Number(match[1]) <= 0 || Number(match[1]) >= lines.length) {
222
+ return {
223
+ status: 400,
224
+ body: `# Invalid cursor
225
+
226
+ Start again at ${partUrl()}.
227
+ `
228
+ };
229
+ }
230
+ if (match[2] !== version) {
231
+ return {
232
+ status: 409,
233
+ body: `# Page changed
234
+
235
+ The page changed after this cursor was issued. Start again at ${partUrl()}.
236
+ `
237
+ };
238
+ }
239
+ start = Number(match[1]);
240
+ }
241
+ const fences = readOpenFences(lines);
242
+ const reopen = fences[start];
243
+ const room = budget * 4 - 200;
244
+ let size = reopen ? reopen.opener.length + 1 : 0;
245
+ let end = start;
246
+ let lastBreak = -1;
247
+ while (end < lines.length) {
248
+ const length = lines[end].length + 1;
249
+ if (end > start && size + length > room) break;
250
+ size += length;
251
+ end++;
252
+ if (end < lines.length && isPartBreak(lines, fences, end)) lastBreak = end;
253
+ }
254
+ const head = reopen ? `${reopen.opener}
255
+ ` : "";
256
+ if (end >= lines.length) {
257
+ return { status: 200, body: `${head}${lines.slice(start).join("\n")}
258
+ ` };
259
+ }
260
+ if (lastBreak > start) end = lastBreak;
261
+ const open = fences[end];
262
+ const part = `${head}${lines.slice(start, end).join("\n").replace(/\n+$/, "")}${open ? `
263
+ ${open.closer}` : ""}`;
264
+ const next = partUrl(`${end}.${version}`);
265
+ let remainingLength = lines.length - end - 1;
266
+ for (let index = end; index < lines.length; index++) remainingLength += lines[index].length;
267
+ const remaining = Math.ceil(remainingLength / 4);
268
+ return {
269
+ status: 200,
270
+ body: `${part}
271
+
272
+ ---
273
+
274
+ Continue: ${next} (about ${remaining} more tokens)
275
+ `,
276
+ headers: { Link: `<${next}>; rel="next"` }
277
+ };
278
+ }
279
+ function readOpenFences(lines) {
280
+ const open = [];
281
+ let fence;
282
+ let frontMatter = lines[0]?.trim() === "---";
283
+ for (let index = 0; index < lines.length; index++) {
284
+ open.push(frontMatter && index > 0 ? { opener: "", closer: "" } : fence);
285
+ const line = lines[index];
286
+ if (frontMatter) {
287
+ if (index > 0 && line.trim() === "---") frontMatter = false;
288
+ continue;
289
+ }
290
+ const match = FENCE.exec(line);
291
+ if (!match) continue;
292
+ const marker = match[1];
293
+ if (!fence) fence = { opener: line.trim(), closer: marker, marker };
294
+ else if (marker[0] === fence.marker[0] && marker.length >= fence.marker.length)
295
+ fence = void 0;
296
+ }
297
+ return open;
298
+ }
299
+ function isPartBreak(lines, fences, index) {
300
+ if (fences[index]) return false;
301
+ return lines[index - 1].trim() === "" || ATX_HEADING.test(lines[index]);
302
+ }
303
+ function readMarkdownViewName(searchParams) {
304
+ if (searchParams.has("actions")) return "actions";
305
+ if (searchParams.has("outline")) return "outline";
306
+ if (searchParams.has("max_tokens")) return "parts";
307
+ return searchParams.has("section") ? "section" : void 0;
308
+ }
309
+ function createFarmMarkdownETag(body) {
310
+ return `W/"${hashFarmMarkdown(body)}-${body.length.toString(36)}"`;
311
+ }
312
+ function hashFarmMarkdown(body) {
313
+ let h1 = 3735928559;
314
+ let h2 = 1103547991;
315
+ for (let index = 0; index < body.length; index++) {
316
+ const code = body.charCodeAt(index);
317
+ h1 = Math.imul(h1 ^ code, 2654435761);
318
+ h2 = Math.imul(h2 ^ code, 1597334677);
319
+ }
320
+ h1 = Math.imul(h1 ^ h1 >>> 16, 2246822507) ^ Math.imul(h2 ^ h2 >>> 13, 3266489909);
321
+ h2 = Math.imul(h2 ^ h2 >>> 16, 2246822507) ^ Math.imul(h1 ^ h1 >>> 13, 3266489909);
322
+ return (4294967296 * (2097151 & h2) + (h1 >>> 0)).toString(36);
323
+ }
324
+ function ifNoneMatchIncludes(header, etag) {
325
+ if (!header) return false;
326
+ const opaque = etag.replace(/^W\//, "");
327
+ return header.split(",").map((token) => token.trim()).some((token) => token === "*" || token.replace(/^W\//, "") === opaque);
328
+ }
329
+ function createFarmMarkdownViewResponse(options) {
330
+ const url = options.requestUrl ?? new URL(options.request.url);
331
+ 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);
332
+ let status = view.status === 200 ? options.status : view.status;
333
+ const ifMatch = options.request.headers.get("if-match");
334
+ const preconditionFailed = status >= 200 && status < 300 && ifMatch !== null && ifMatch.trim() !== "*";
335
+ if (preconditionFailed) {
336
+ status = 412;
337
+ options.headers.set("Cache-Control", "no-store");
338
+ }
339
+ emitFarmAgentRead(options.request, "markdown", status, readMarkdownViewName(url.searchParams));
340
+ for (const [name, value] of Object.entries(view.headers ?? {}))
341
+ options.headers.append(name, value);
342
+ const etag = createFarmMarkdownETag(view.body);
343
+ options.headers.set("ETag", etag);
344
+ if (status === 200 && ifNoneMatchIncludes(options.request.headers.get("if-none-match"), etag)) {
345
+ return new Response(null, { status: 304, headers: options.headers });
346
+ }
347
+ return new Response(preconditionFailed || options.request.method === "HEAD" ? null : view.body, {
348
+ status,
349
+ headers: options.headers
350
+ });
351
+ }
352
+
353
+ // src/markdown.ts
354
+ var FARM_MARKDOWN_CONTENT_TYPE = "text/markdown; charset=utf-8";
355
+ var FARM_MARKDOWN_PAGE_CHECK_HEADER = "x-farm-markdown-page-check";
356
+ var MARKDOWN_PAGE_CHECK_TOKEN = /* @__PURE__ */ Symbol.for("farm.markdownPageCheckToken");
357
+ function _getFarmMarkdownPageCheckToken() {
358
+ const state = globalThis;
359
+ return state[MARKDOWN_PAGE_CHECK_TOKEN] ?? (state[MARKDOWN_PAGE_CHECK_TOKEN] = globalThis.crypto.randomUUID());
360
+ }
361
+ function _isFarmMarkdownPageCheck(value) {
362
+ const state = globalThis;
363
+ const token = state[MARKDOWN_PAGE_CHECK_TOKEN];
364
+ return Boolean(token) && typeof value === "string" && value === token;
365
+ }
366
+ function farmRequestWantsMarkdown(pathname, accept) {
367
+ return pathname.toLowerCase().endsWith(".md") || requestAcceptsMarkdown(accept);
368
+ }
369
+ function createFarmMarkdownErrorBody(status, pathname, homeHref = "/") {
370
+ const heading = status === 404 ? "Page not found" : `Request failed (${status})`;
371
+ return `# ${heading}
372
+
373
+ No page is available at \`${pathname}\`. The URL may be incorrect, or the page has not been published.
374
+
375
+ Browse [the site homepage](${homeHref}) to find available pages.
376
+ `;
377
+ }
378
+ function resolveMarkdownConfig(config) {
379
+ if (config === false) {
380
+ return {
381
+ enabled: false,
382
+ expose: [],
383
+ cache: false,
384
+ includeMetadata: true
385
+ };
386
+ }
387
+ if (config === true || config === void 0) {
388
+ return {
389
+ enabled: true,
390
+ expose: true,
391
+ cache: false,
392
+ includeMetadata: true
393
+ };
394
+ }
395
+ const exposeInput = config.expose ?? config.routes ?? true;
396
+ const expose = exposeInput === true ? true : Array.isArray(exposeInput) ? exposeInput.map(normalizeMarkdownRouteInput) : [];
397
+ return {
398
+ enabled: config.enabled !== false && (expose === true || expose.length > 0),
399
+ expose,
400
+ cache: config.cache ?? false,
401
+ includeMetadata: config.includeMetadata ?? true
402
+ };
403
+ }
404
+ function resolveMarkdownMirrorTarget(config, pathname, options = {}) {
405
+ const hasMarkdownExtension = pathname.toLowerCase().endsWith(".md");
406
+ if (!config?.enabled || !hasMarkdownExtension && !requestAcceptsMarkdown(options.accept)) {
407
+ return null;
408
+ }
409
+ const targetPathname = normalizeMarkdownRoute(
410
+ hasMarkdownExtension ? pathname.slice(0, -".md".length) || "/" : pathname
411
+ );
412
+ const route = findExposedMarkdownRoute(config, targetPathname);
413
+ if (!route && config.expose !== true) {
414
+ return null;
415
+ }
416
+ return {
417
+ pathname: targetPathname,
418
+ route
419
+ };
420
+ }
421
+ async function createMarkdownMirrorResponse(options) {
422
+ if (options.request.method !== "GET" && options.request.method !== "HEAD") {
423
+ return null;
424
+ }
425
+ const requestUrl = options.requestUrl?.href === options.request.url ? options.requestUrl : new URL(options.request.url);
426
+ const hasMarkdownExtension = requestUrl.pathname.toLowerCase().endsWith(".md");
427
+ const target = resolveMarkdownMirrorTarget(options.config, requestUrl.pathname, {
428
+ accept: options.request.headers.get("accept")
429
+ });
430
+ if (!target) {
431
+ return null;
432
+ }
433
+ if (options.routeExists && !options.routeExists(target.pathname)) {
434
+ return null;
435
+ }
436
+ const pageUrl = new URL(options.request.url);
437
+ pageUrl.pathname = target.pathname;
438
+ for (const name of FARM_MARKDOWN_VIEW_PARAMS) pageUrl.searchParams.delete(name);
439
+ const headers = new Headers(options.request.headers);
440
+ headers.set("accept", "text/html");
441
+ headers.delete("if-match");
442
+ headers.delete("if-unmodified-since");
443
+ headers.delete("if-none-match");
444
+ headers.delete("if-modified-since");
445
+ headers.delete("range");
446
+ headers.delete("if-range");
447
+ const pageResponse = await options.renderPage(
448
+ new Request(pageUrl, {
449
+ method: "GET",
450
+ headers,
451
+ signal: options.request.signal
452
+ })
453
+ );
454
+ if (pageResponse.status === 204 || pageResponse.status === 205 || pageResponse.status === 304) {
455
+ return pageResponse;
456
+ }
457
+ const redirects = pageResponse.status >= 300 && pageResponse.status < 400 && pageResponse.headers.has("location");
458
+ if (redirects || !isHtmlResponse(pageResponse)) {
459
+ const accessResponse = createMarkdownAccessResponse(
460
+ pageResponse,
461
+ target.pathname,
462
+ pageUrl,
463
+ options.request.method === "HEAD"
464
+ );
465
+ if (accessResponse || options.request.method === "HEAD") {
466
+ void pageResponse.body?.cancel().catch(() => {
467
+ });
468
+ return accessResponse ?? new Response(null, {
469
+ status: pageResponse.status,
470
+ statusText: pageResponse.statusText,
471
+ headers: pageResponse.headers
472
+ });
473
+ }
474
+ return pageResponse;
475
+ }
476
+ const html = await pageResponse.text();
477
+ const markdownPath = target.pathname === "/" ? "/index.md" : `${target.pathname}.md`;
478
+ const region = pageResponse.status < 400 && /<form\b/i.test(html) ? readHtmlContentRegion(html) : void 0;
479
+ const actions = region === void 0 ? [] : extractPageActionsFromRegion(region, pageUrl);
480
+ for (const form of actions) {
481
+ if (!form.action?.startsWith("/")) continue;
482
+ const pathname = new URL(form.action, pageUrl.origin).pathname;
483
+ const tool = _findFarmMCPEndpointTool(form.method, pathname, options.apiServerBasePath) ?? _findFarmMCPEndpointTool(form.method, stripFarmBasePath(pathname), options.apiServerBasePath);
484
+ if (tool) form.tool = tool;
485
+ }
486
+ const markdown = pageResponse.status < 400 && requestUrl.searchParams.has("actions") ? "" : convertHtmlToMarkdown(
487
+ html,
488
+ {
489
+ title: target.route?.title,
490
+ includeMetadata: options.config?.includeMetadata ?? true,
491
+ sourcePath: target.pathname,
492
+ actionsPath: actions.length > 0 ? `${markdownPath}?actions` : void 0
493
+ },
494
+ region
495
+ );
496
+ const headersOut = new Headers({
497
+ "Content-Type": "text/markdown; charset=utf-8",
498
+ "Content-Location": markdownPath,
499
+ "X-Farm-Markdown-Route": target.pathname
500
+ });
501
+ if (!hasMarkdownExtension) {
502
+ headersOut.set("Vary", "Accept");
503
+ }
504
+ for (const token of pageResponse.headers.get("vary")?.split(",") ?? []) {
505
+ const name = token.trim();
506
+ if (name && name.toLowerCase() !== "accept") appendHeaderToken(headersOut, "Vary", name);
507
+ }
508
+ const pageCacheControl = pageResponse.headers.get("cache-control");
509
+ const cache = target.route?.cache ?? options.config?.cache ?? false;
510
+ headersOut.set(
511
+ "Cache-Control",
512
+ pageCacheControl && isPrivateCacheControl(pageCacheControl) ? pageCacheControl : headers.has("cookie") || headers.has("authorization") ? "private, no-store" : createMarkdownCacheHeader(cache)
513
+ );
514
+ preserveMarkdownResponseCookies(pageResponse.headers, headersOut);
515
+ if (pageResponse.status >= 400) {
516
+ preserveMarkdownResponseControlHeaders(pageResponse.headers, headersOut);
517
+ }
518
+ const robots = [pageResponse.headers.get("x-robots-tag"), readHtmlMetaContent(html, "robots")].filter((value) => Boolean(value?.trim())).join(", ");
519
+ if (robots) headersOut.set("X-Robots-Tag", robots);
520
+ const canonical = readHtmlCanonicalHref(html);
521
+ if (canonical) {
522
+ try {
523
+ headersOut.append("Link", `<${new URL(canonical, pageUrl).href}>; rel="canonical"`);
524
+ } catch {
525
+ }
526
+ }
527
+ return createFarmMarkdownViewResponse({
528
+ request: options.request,
529
+ requestUrl,
530
+ markdown,
531
+ status: pageResponse.status,
532
+ headers: headersOut,
533
+ markdownPath,
534
+ actions
535
+ });
536
+ }
537
+ function createMarkdownAccessResponse(pageResponse, pathname, pageUrl, head) {
538
+ const location = pageResponse.headers.get("location");
539
+ const redirect = pageResponse.status >= 300 && pageResponse.status < 400 && location;
540
+ if (!redirect && pageResponse.status !== 401 && pageResponse.status !== 403) return null;
541
+ const headers = new Headers({
542
+ "Content-Type": "text/markdown; charset=utf-8",
543
+ "Cache-Control": "no-store",
544
+ "X-Farm-Markdown-Route": pathname
545
+ });
546
+ preserveMarkdownResponseCookies(pageResponse.headers, headers);
547
+ preserveMarkdownResponseControlHeaders(pageResponse.headers, headers);
548
+ let body;
549
+ if (redirect) {
550
+ let target;
551
+ try {
552
+ target = new URL(location, pageUrl).href;
553
+ } catch {
554
+ return null;
555
+ }
556
+ headers.set("Location", location);
557
+ body = `# Redirected
558
+
559
+ \`${pathname}\` redirects to [${target}](${target}). The page may require signing in.
560
+ `;
561
+ } else {
562
+ body = pageResponse.status === 401 ? `# Sign-in required
563
+
564
+ \`${pathname}\` requires signing in.
565
+ ` : `# Access denied
566
+
567
+ This account cannot read \`${pathname}\`.
568
+ `;
569
+ }
570
+ return new Response(head ? null : body, { status: pageResponse.status, headers });
571
+ }
572
+ function preserveMarkdownResponseControlHeaders(source, target) {
573
+ for (const name of ["WWW-Authenticate", "Proxy-Authenticate", "Retry-After", "Allow"]) {
574
+ const value = source.get(name);
575
+ if (value !== null) target.set(name, value);
576
+ }
577
+ }
578
+ function preserveMarkdownResponseCookies(source, target) {
579
+ const getSetCookie = source.getSetCookie;
580
+ const cookies = typeof getSetCookie === "function" ? getSetCookie.call(source) : source.has("set-cookie") ? [source.get("set-cookie")] : [];
581
+ if (cookies.length === 0) return;
582
+ for (const cookie of cookies) target.append("Set-Cookie", cookie);
583
+ target.set("Cache-Control", "private, no-store");
584
+ }
585
+ function applyMarkdownNegotiationHeaders(response, options) {
586
+ if (!isHtmlResponse(response)) {
587
+ return response;
588
+ }
589
+ const alternatePath = getFarmMarkdownAlternatePath(options.config, options.pathname);
590
+ if (!alternatePath) {
591
+ return response;
592
+ }
593
+ return _withFarmResponseHeaders(response, (headers) => {
594
+ appendHeaderToken(headers, "Vary", "Accept");
595
+ headers.append("Link", `<${alternatePath}>; rel="alternate"; type="text/markdown"`);
596
+ });
597
+ }
598
+ var CODE_BLOCK_MARK = "\0";
599
+ var CODE_BLOCK_PLACEHOLDER = /\u0000(\d+)\u0000/g;
600
+ 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;
601
+ var BOX_TAGS = /<\/?(label|button|input|select|textarea|option|output|meter|progress|td|th)\b[^>]*>/gi;
602
+ 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;
603
+ var HTML_TOKEN = /<\/?([a-zA-Z][\w:-]*)\b[^>]*?(\/?)>|[^<]+/g;
604
+ function separateLayoutRowItems(source) {
605
+ return source.replace(
606
+ LAYOUT_ROW,
607
+ (container, tag, attributes, content) => {
608
+ const boundaries = [];
609
+ const items = [];
610
+ let depth = 0;
611
+ let previousEnd = -1;
612
+ let item = "";
613
+ for (const match of content.matchAll(HTML_TOKEN)) {
614
+ const [token, name, selfClosing] = match;
615
+ const index = match.index ?? 0;
616
+ if (name === void 0) {
617
+ if (depth === 0) {
618
+ if (token.trim()) return container;
619
+ previousEnd = -1;
620
+ } else {
621
+ item += token;
622
+ }
623
+ continue;
624
+ }
625
+ const closing = token.startsWith("</");
626
+ const isVoid = selfClosing === "/" || VOID_TAGS.has(name.toLowerCase());
627
+ if (closing) {
628
+ depth = Math.max(0, depth - 1);
629
+ } else {
630
+ if (depth === 0 && previousEnd === index) boundaries.push(index);
631
+ if (!isVoid) depth += 1;
632
+ }
633
+ if (depth === 0) {
634
+ previousEnd = index + token.length;
635
+ items.push(decodeHtml(item).trim());
636
+ item = "";
637
+ }
638
+ }
639
+ if (boundaries.length === 0) return container;
640
+ if (items.filter(Boolean).every((text) => text.length === 1)) return container;
641
+ let separated = "";
642
+ let start = 0;
643
+ for (const boundary of boundaries) {
644
+ separated += `${content.slice(start, boundary)} `;
645
+ start = boundary;
646
+ }
647
+ separated += content.slice(start);
648
+ return `<${tag}${attributes}>${separated}</${tag}>`;
649
+ }
650
+ );
651
+ }
652
+ function htmlToMarkdown(html, options = {}) {
653
+ return convertHtmlToMarkdown(html, options);
654
+ }
655
+ function convertHtmlToMarkdown(html, options, region) {
656
+ const title = options.title ?? extractHtmlTitle(html);
657
+ let source = region ?? readHtmlContentRegion(html);
658
+ const codeBlocks = [];
659
+ const setAsideCodeBlock = (code, attributes) => {
660
+ const content = decodeHtml(stripTags(code)).trim();
661
+ const longestRun = (content.match(/`+/g) ?? []).reduce(
662
+ (longest, run) => Math.max(longest, run.length),
663
+ 0
664
+ );
665
+ const fence = "`".repeat(Math.max(3, longestRun + 1));
666
+ const language = readCodeLanguage(attributes) ?? "";
667
+ codeBlocks.push(`${fence}${language}
668
+ ${content}
669
+ ${fence}`);
670
+ return `
671
+
672
+ ${CODE_BLOCK_MARK}${codeBlocks.length - 1}${CODE_BLOCK_MARK}
673
+
674
+ `;
675
+ };
676
+ source = source.replace(
677
+ /<pre\b([^>]*)><code\b([^>]*)>([\s\S]*?)<\/code><\/pre>/gi,
678
+ (_, preAttributes, codeAttributes, code) => setAsideCodeBlock(code, [codeAttributes, preAttributes])
679
+ );
680
+ source = source.replace(
681
+ /<pre\b([^>]*)>([\s\S]*?)<\/pre>/gi,
682
+ (_, attributes, code) => setAsideCodeBlock(code, [attributes])
683
+ );
684
+ source = source.replace(
685
+ /<table\b[^>]*>([\s\S]*?)<\/table>/gi,
686
+ (table, content) => {
687
+ if (/<table\b/i.test(content) || content.includes(CODE_BLOCK_MARK)) return table;
688
+ const rows = toMarkdownTableRows(content);
689
+ if (!rows) return table;
690
+ codeBlocks.push(rows);
691
+ return `
692
+
693
+ ${CODE_BLOCK_MARK}${codeBlocks.length - 1}${CODE_BLOCK_MARK}
694
+
695
+ `;
696
+ }
697
+ );
698
+ source = separateLayoutRowItems(source);
699
+ source = source.replace(/<h([1-6])\b[^>]*>([\s\S]*?)<\/h\1>/gi, (_, level, content) => {
700
+ return `
701
+
702
+ ${"#".repeat(Number(level))} ${toInlineMarkdown(content).trim()}
703
+
704
+ `;
705
+ });
706
+ source = source.replace(/<p\b[^>]*>([\s\S]*?)<\/p>/gi, (_, content) => {
707
+ return `
708
+
709
+ ${toInlineMarkdown(content).trim()}
710
+
711
+ `;
712
+ });
713
+ source = source.replace(/<blockquote\b[^>]*>([\s\S]*?)<\/blockquote>/gi, (_, content) => {
714
+ const quote = htmlToMarkdown(content, { includeMetadata: false }).split("\n").filter((line) => line.trim().length > 0).map((line) => {
715
+ const code = line.startsWith(CODE_BLOCK_MARK) && line.endsWith(CODE_BLOCK_MARK) ? codeBlocks[Number(line.slice(1, -1))] : void 0;
716
+ if (code === void 0) return `> ${escapeHtmlText(line)}`;
717
+ codeBlocks.push(
718
+ code.split("\n").map((codeLine) => codeLine ? `> ${codeLine}` : ">").join("\n")
719
+ );
720
+ return `${CODE_BLOCK_MARK}${codeBlocks.length - 1}${CODE_BLOCK_MARK}`;
721
+ }).join("\n");
722
+ return `
723
+
724
+ ${quote}
725
+
726
+ `;
727
+ });
728
+ source = source.replace(
729
+ /<ol\b([^>]*)>([\s\S]*?)<\/ol>/gi,
730
+ (list, attributes, content) => {
731
+ if (/<[ou]l\b/i.test(content)) return list;
732
+ const start = Number.parseInt(readHtmlAttribute(attributes, "start") ?? "1", 10);
733
+ let number = Number.isFinite(start) ? start : 1;
734
+ const items = content.replace(/<li\b[^>]*>([\s\S]*?)<\/li>/gi, (_, item) => {
735
+ return `
736
+ ${number++}. ${toInlineMarkdown(item).trim()}`;
737
+ });
738
+ return `
739
+ ${items}
740
+ `;
741
+ }
742
+ );
743
+ source = source.replace(/<li\b[^>]*>([\s\S]*?)<\/li>/gi, (_, content) => {
744
+ return `
745
+ - ${toInlineMarkdown(content).trim()}`;
746
+ });
747
+ source = source.replace(BLOCK_TAGS, "\n").replace(BOX_TAGS, " ").replace(/<br\s*\/?>/gi, "\n").replace(/<hr\s*\/?>/gi, "\n\n---\n\n");
748
+ 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);
749
+ if (options.includeMetadata !== false) {
750
+ const metadata = [];
751
+ if (title && !markdown.startsWith("# ")) {
752
+ metadata.push(`# ${title}`);
753
+ }
754
+ if (options.sourcePath) {
755
+ metadata.push(`Source: ${options.sourcePath}`);
756
+ }
757
+ if (options.actionsPath) {
758
+ metadata.push(`Actions: ${options.actionsPath}`);
759
+ }
760
+ if (metadata.length) {
761
+ markdown = `${metadata.join("\n\n")}${markdown ? `
762
+
763
+ ${markdown}` : ""}`;
764
+ }
765
+ }
766
+ return `${markdown}
767
+ `;
768
+ }
769
+ function normalizeMarkdownRouteInput(input) {
770
+ if (typeof input === "string") {
771
+ return {
772
+ route: normalizeMarkdownRoute(input)
773
+ };
774
+ }
775
+ return {
776
+ ...input,
777
+ route: normalizeMarkdownRoute(input.route)
778
+ };
779
+ }
780
+ function normalizeMarkdownRoute(route) {
781
+ const withoutMarkdownExtension = route.toLowerCase().endsWith(".md") ? route.slice(0, -3) : route;
782
+ const withSlash = withoutMarkdownExtension.startsWith("/") ? withoutMarkdownExtension : `/${withoutMarkdownExtension}`;
783
+ const normalized = withSlash.replace(/\/+/g, "/").replace(/\/$/g, "");
784
+ return normalized === "" || normalized === "/index" ? "/" : normalized;
785
+ }
786
+ function farmAcceptQuality(accept, mediaType, options = {}) {
787
+ if (!accept) return 0;
788
+ const target = mediaType.toLowerCase();
789
+ const [targetType] = target.split("/");
790
+ let best = 0;
791
+ for (const entry of accept.split(",")) {
792
+ const [candidate, ...parameters] = entry.trim().toLowerCase().split(";").map((part) => part.trim());
793
+ if (!candidate) continue;
794
+ const matches = candidate === target || options.wildcards === true && (candidate === "*/*" || candidate === `${targetType}/*`);
795
+ if (!matches) continue;
796
+ const quality = parameters.find((parameter) => parameter.startsWith("q="));
797
+ const value = quality === void 0 ? 1 : Number(quality.slice(2));
798
+ if (!Number.isFinite(value) || value <= 0) continue;
799
+ if (value > best) best = value;
800
+ }
801
+ return best;
802
+ }
803
+ function requestAcceptsMarkdown(accept) {
804
+ if (!accept) {
805
+ return false;
806
+ }
807
+ return accept.split(",").some((entry) => {
808
+ const [mediaType, ...parameters] = entry.trim().toLowerCase().split(";").map((part) => part.trim());
809
+ if (mediaType !== "text/markdown") {
810
+ return false;
811
+ }
812
+ const quality = parameters.find((parameter) => parameter.startsWith("q="));
813
+ return quality === void 0 || Number(quality.slice(2)) > 0;
814
+ });
815
+ }
816
+ function getMarkdownAlternatePath(pathname) {
817
+ return pathname === "/" ? "/index.md" : `${pathname}.md`;
818
+ }
819
+ function getFarmMarkdownMirrorPath(pathname) {
820
+ return getMarkdownAlternatePath(pathname);
821
+ }
822
+ function getFarmMarkdownAlternatePath(config, pathname) {
823
+ const target = resolveMarkdownMirrorTarget(config, pathname, { accept: "text/markdown" });
824
+ return target ? getMarkdownAlternatePath(target.pathname) : null;
825
+ }
826
+ function isFarmMarkdownMirrorExposed(config, pathname) {
827
+ if (!config?.enabled) return false;
828
+ return config.expose === true || findExposedMarkdownRoute(config, pathname) !== null;
829
+ }
830
+ function matchesFarmMarkdownRoutePattern(pattern, pathname) {
831
+ return routeMatches(pattern, pathname);
832
+ }
833
+ function appendHeaderToken(headers, name, token) {
834
+ const current = headers.get(name);
835
+ if (!current) {
836
+ headers.set(name, token);
837
+ return;
838
+ }
839
+ const tokens = current.split(",").map((value) => value.trim().toLowerCase());
840
+ if (!tokens.includes(token.toLowerCase())) {
841
+ headers.set(name, `${current}, ${token}`);
842
+ }
843
+ }
844
+ function findExposedMarkdownRoute(config, pathname) {
845
+ if (config.expose === true) {
846
+ return null;
847
+ }
848
+ return config.expose.find((route) => routeMatches(route.route, pathname)) ?? null;
849
+ }
850
+ function routeMatches(pattern, pathname) {
851
+ if (pattern === pathname) {
852
+ return true;
853
+ }
854
+ if (!pattern.includes("[")) return false;
855
+ let source = "";
856
+ pattern.split("/").forEach((segment, index) => {
857
+ if (/^\[\[\.\.\.[^\]]+\]\]$/.test(segment)) {
858
+ source += "(?:/.*)?";
859
+ return;
860
+ }
861
+ const prefix = index === 0 ? "" : "/";
862
+ if (/^\[\.\.\.[^\]]+\]$/.test(segment)) {
863
+ source += `${prefix}.*`;
864
+ } else if (/^\[[^\]]+\]$/.test(segment)) {
865
+ source += `${prefix}[^/]+`;
866
+ } else {
867
+ source += prefix + segment.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
868
+ }
869
+ });
870
+ return new RegExp(`^${source}$`).test(pathname);
871
+ }
872
+ function isHtmlResponse(response) {
873
+ const contentType = response.headers.get("content-type") ?? "";
874
+ return contentType.includes("text/html");
875
+ }
876
+ function isPrivateCacheControl(value) {
877
+ return value.split(",").some((directive) => {
878
+ const name = directive.split("=", 1)[0].trim().toLowerCase();
879
+ return name === "private" || name === "no-store";
880
+ });
881
+ }
882
+ function createMarkdownCacheHeader(cache) {
883
+ if (cache === false || cache <= 0) {
884
+ return "no-store";
885
+ }
886
+ return `public, max-age=${cache}, s-maxage=${cache}`;
887
+ }
888
+ function extractHtmlTitle(html) {
889
+ const match = html.match(/<title\b[^>]*>([\s\S]*?)<\/title>/i);
890
+ return match ? decodeHtml(stripTags(match[1])).trim() : void 0;
891
+ }
892
+ function readHtmlContentRegion(html) {
893
+ const streamed = readStreamedBoundaryInstructions(html);
894
+ return extractHtmlBody(
895
+ removeHiddenElements(
896
+ resolveStreamedBoundaries(
897
+ html.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi, "").replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi, "").replace(/<noscript\b[^>]*>[\s\S]*?<\/noscript>/gi, ""),
898
+ streamed
899
+ ).replace(/<!--[\s\S]*?-->/g, "")
900
+ )
901
+ );
902
+ }
903
+ function extractHtmlBody(html) {
904
+ const rootMatch = html.match(
905
+ /<div\b[^>]*id=["']root["'][^>]*>([\s\S]*?)<\/div>\s*(?:<script|<\/body>|$)/i
906
+ );
907
+ const bodyMatch = html.match(/<body\b[^>]*>([\s\S]*?)<\/body>/i);
908
+ const body = rootMatch ? rootMatch[1] : bodyMatch ? bodyMatch[1] : html;
909
+ const main = extractFirstElementContent(body, ["main"]);
910
+ if (main !== void 0) return main;
911
+ const articles = body.match(/<article\b/gi)?.length ?? 0;
912
+ return articles === 1 ? extractFirstElementContent(body, ["article"]) ?? body : body;
913
+ }
914
+ function extractFirstElementContent(html, tagNames) {
915
+ for (const tagName of tagNames) {
916
+ const match = html.match(new RegExp(`<${tagName}\\b[^>]*>([\\s\\S]*?)<\\/${tagName}>`, "i"));
917
+ if (match) {
918
+ return match[1];
919
+ }
920
+ }
921
+ return void 0;
922
+ }
923
+ function readHtmlMetaContent(html, name) {
924
+ for (const match of html.matchAll(/<meta\b([^>]*)>/gi)) {
925
+ if (readHtmlAttribute(match[1], "name")?.toLowerCase() === name) {
926
+ return readHtmlAttribute(match[1], "content");
927
+ }
928
+ }
929
+ return void 0;
930
+ }
931
+ function readHtmlCanonicalHref(html) {
932
+ for (const match of html.matchAll(/<link\b([^>]*)>/gi)) {
933
+ const rel = readHtmlAttribute(match[1], "rel")?.toLowerCase().split(/\s+/);
934
+ if (rel?.includes("canonical")) return readHtmlAttribute(match[1], "href");
935
+ }
936
+ return void 0;
937
+ }
938
+ var FORM_ENCTYPES = /* @__PURE__ */ new Set([
939
+ "application/x-www-form-urlencoded",
940
+ "multipart/form-data",
941
+ "text/plain"
942
+ ]);
943
+ function extractFarmPageActions(html, pageUrl) {
944
+ if (!/<form\b/i.test(html)) return [];
945
+ return extractPageActionsFromRegion(readHtmlContentRegion(html), pageUrl);
946
+ }
947
+ function extractPageActionsFromRegion(region, pageUrl) {
948
+ const labelsFor = /* @__PURE__ */ new Map();
949
+ for (const match of region.matchAll(/<label\b([^>]*)>([\s\S]*?)<\/label>/gi)) {
950
+ const target = readDecodedAttribute(match[1], "for");
951
+ if (target && !labelsFor.has(target)) labelsFor.set(target, readLabelText(match[2]));
952
+ }
953
+ const actions = [];
954
+ for (const form of region.matchAll(/<form\b([^>]*)>([\s\S]*?)<\/form>/gi)) {
955
+ const action = readPageForm(form[1], form[2], pageUrl, labelsFor);
956
+ if (action) actions.push(action);
957
+ }
958
+ return actions;
959
+ }
960
+ function readPageForm(attributes, content, pageUrl, labelsFor) {
961
+ const method = readDecodedAttribute(attributes, "method")?.trim().toLowerCase();
962
+ if (method === "dialog") return void 0;
963
+ const target = resolveFormTarget(readDecodedAttribute(attributes, "action"), pageUrl);
964
+ const form = {
965
+ type: "form",
966
+ method: method === "post" ? "POST" : "GET",
967
+ fields: [],
968
+ submit: []
969
+ };
970
+ const name = readDecodedAttribute(attributes, "aria-label") ?? readDecodedAttribute(attributes, "name") ?? readDecodedAttribute(attributes, "id");
971
+ if (name?.trim()) form.name = name.trim();
972
+ if (target) form.action = target;
973
+ else form.requiresJavaScript = true;
974
+ if (form.method === "POST") {
975
+ const enctype = readDecodedAttribute(attributes, "enctype")?.trim().toLowerCase();
976
+ form.enctype = enctype && FORM_ENCTYPES.has(enctype) ? enctype : "application/x-www-form-urlencoded";
977
+ }
978
+ const wrappingLabels = [...content.matchAll(/<label\b[^>]*>([\s\S]*?)<\/label>/gi)].map(
979
+ (match) => ({
980
+ start: match.index,
981
+ end: match.index + match[0].length,
982
+ text: readLabelText(match[1])
983
+ })
984
+ );
985
+ const labelOf = (controlAttributes, index) => {
986
+ const aria = readDecodedAttribute(controlAttributes, "aria-label")?.trim();
987
+ if (aria) return aria;
988
+ const id = readDecodedAttribute(controlAttributes, "id");
989
+ const forLabel = id ? labelsFor.get(id) : void 0;
990
+ if (forLabel) return forLabel;
991
+ const wrapping = wrappingLabels.find((label) => label.start < index && index < label.end);
992
+ return wrapping?.text || void 0;
993
+ };
994
+ const groups = /* @__PURE__ */ new Map();
995
+ const controls = /<(input)\b([^>]*)>|<(select|textarea|button)\b([^>]*)>([\s\S]*?)<\/\3>/gi;
996
+ for (const match of content.matchAll(controls)) {
997
+ const tag = (match[1] ?? match[3]).toLowerCase();
998
+ const controlAttributes = match[2] ?? match[4];
999
+ const inner = match[5] ?? "";
1000
+ if (hasHtmlAttribute(controlAttributes, "disabled")) continue;
1001
+ const label = labelOf(controlAttributes, match.index);
1002
+ const fieldName = readDecodedAttribute(controlAttributes, "name");
1003
+ const typeAttribute = readDecodedAttribute(controlAttributes, "type")?.trim().toLowerCase();
1004
+ const type = tag === "input" ? typeAttribute ?? "text" : tag === "button" ? typeAttribute ?? "submit" : tag;
1005
+ if (tag === "button" && !["button", "reset"].includes(type) || tag === "input" && (type === "submit" || type === "image")) {
1006
+ const submit = {
1007
+ label: (tag === "button" ? readLabelText(inner) : "") || readDecodedAttribute(controlAttributes, "value") || readDecodedAttribute(controlAttributes, "alt") || label || "Submit"
1008
+ };
1009
+ if (fieldName) submit.name = fieldName;
1010
+ const value = readDecodedAttribute(controlAttributes, "value");
1011
+ if (fieldName && value !== void 0) submit.value = value;
1012
+ const formAction = readDecodedAttribute(controlAttributes, "formaction");
1013
+ if (formAction !== void 0) {
1014
+ const resolved = resolveFormTarget(formAction, pageUrl);
1015
+ if (resolved) submit.action = resolved;
1016
+ }
1017
+ const formMethod = readDecodedAttribute(controlAttributes, "formmethod")?.toLowerCase();
1018
+ if (formMethod === "get" || formMethod === "post") submit.method = formMethod.toUpperCase();
1019
+ form.submit.push(submit);
1020
+ continue;
1021
+ }
1022
+ if (tag === "button" || type === "button" || type === "reset" || !fieldName) continue;
1023
+ if (type === "hidden") {
1024
+ const value = readDecodedAttribute(controlAttributes, "value") ?? "";
1025
+ form.fields.push({ name: fieldName, type, value });
1026
+ if (fieldName.startsWith("$ACTION_ID_")) {
1027
+ form.serverAction ?? (form.serverAction = { id: fieldName.slice("$ACTION_ID_".length) });
1028
+ } else if (/^\$ACTION_[^:]*:0$/.test(fieldName)) {
1029
+ try {
1030
+ const id = JSON.parse(value).id;
1031
+ if (typeof id === "string") form.serverAction ?? (form.serverAction = { id });
1032
+ } catch {
1033
+ }
1034
+ }
1035
+ continue;
1036
+ }
1037
+ if (type === "radio" || type === "checkbox") {
1038
+ const value = readDecodedAttribute(controlAttributes, "value") ?? "on";
1039
+ const option = { value };
1040
+ if (label) option.label = label;
1041
+ if (hasHtmlAttribute(controlAttributes, "checked")) option.selected = true;
1042
+ const group = groups.get(fieldName);
1043
+ if (group) {
1044
+ group.options.push(option);
1045
+ if (hasHtmlAttribute(controlAttributes, "required")) group.required = true;
1046
+ continue;
1047
+ }
1048
+ const field2 = { name: fieldName, type, options: [option] };
1049
+ if (hasHtmlAttribute(controlAttributes, "required")) field2.required = true;
1050
+ groups.set(fieldName, field2);
1051
+ form.fields.push(field2);
1052
+ continue;
1053
+ }
1054
+ const field = { name: fieldName, type };
1055
+ if (label) field.label = label;
1056
+ if (hasHtmlAttribute(controlAttributes, "required")) field.required = true;
1057
+ if (hasHtmlAttribute(controlAttributes, "multiple")) field.multiple = true;
1058
+ if (tag === "select") {
1059
+ field.options = [...inner.matchAll(/<option\b([^>]*)>([\s\S]*?)(?=<\/option>|<option\b|$)/gi)].filter((option) => !hasHtmlAttribute(option[1], "disabled")).map((option) => {
1060
+ const text = readLabelText(option[2]);
1061
+ const entry = {
1062
+ value: readDecodedAttribute(option[1], "value") ?? text
1063
+ };
1064
+ if (text && text !== entry.value) entry.label = text;
1065
+ if (hasHtmlAttribute(option[1], "selected")) entry.selected = true;
1066
+ return entry;
1067
+ });
1068
+ } else if (tag === "textarea") {
1069
+ const value = decodeHtml(inner);
1070
+ if (value) field.value = value;
1071
+ } else {
1072
+ const value = readDecodedAttribute(controlAttributes, "value");
1073
+ if (value !== void 0 && type !== "password" && type !== "file") field.value = value;
1074
+ }
1075
+ for (const key of ["placeholder", "pattern", "min", "max", "step", "accept"]) {
1076
+ const value = readDecodedAttribute(controlAttributes, key);
1077
+ if (value !== void 0) field[key] = value;
1078
+ }
1079
+ for (const [attribute, key] of [
1080
+ ["minlength", "minLength"],
1081
+ ["maxlength", "maxLength"]
1082
+ ]) {
1083
+ const value = Number.parseInt(readDecodedAttribute(controlAttributes, attribute) ?? "", 10);
1084
+ if (Number.isFinite(value) && value >= 0) field[key] = value;
1085
+ }
1086
+ form.fields.push(field);
1087
+ }
1088
+ if (form.fields.length === 0 && form.submit.length === 0) return void 0;
1089
+ if (form.submit.length === 0) form.submit.push({ label: "Submit" });
1090
+ return form;
1091
+ }
1092
+ function resolveFormTarget(action, pageUrl) {
1093
+ let target;
1094
+ try {
1095
+ target = new URL(action?.trim() || pageUrl.href, pageUrl);
1096
+ } catch {
1097
+ return void 0;
1098
+ }
1099
+ if (target.protocol !== "http:" && target.protocol !== "https:") return void 0;
1100
+ target.hash = "";
1101
+ return target.origin === pageUrl.origin ? `${target.pathname}${target.search}` : target.href;
1102
+ }
1103
+ function readLabelText(html) {
1104
+ return decodeHtml(stripTags(html.replace(/<(select|textarea|button)\b[\s\S]*?<\/\1>/gi, " "))).replace(/\s+/g, " ").trim();
1105
+ }
1106
+ function readDecodedAttribute(attributes, name) {
1107
+ const value = readHtmlAttribute(attributes, name);
1108
+ return value === void 0 ? void 0 : decodeHtml(value);
1109
+ }
1110
+ function hasHtmlAttribute(attributes, name) {
1111
+ return new RegExp(`(?:^|\\s)${name}(?=\\s|=|/|$)`, "i").test(attributes);
1112
+ }
1113
+ function readHtmlAttribute(attributes, name) {
1114
+ const match = new RegExp(
1115
+ `(?:^|\\s)${name}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s"'=<>\`]+))`,
1116
+ "i"
1117
+ ).exec(attributes);
1118
+ return match ? match[1] ?? match[2] ?? match[3] : void 0;
1119
+ }
1120
+ function readCodeLanguage(attributesList) {
1121
+ for (const attributes of attributesList) {
1122
+ const language = readHtmlAttribute(attributes, "data-language") ?? readHtmlAttribute(attributes, "data-lang") ?? readHtmlAttribute(attributes, "class")?.match(/(?:^|\s)lang(?:uage)?-(\S+)/)?.[1];
1123
+ if (language && /^[\w#+.-]+$/.test(language)) return language;
1124
+ }
1125
+ return void 0;
1126
+ }
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 = (cells) => `| ${Array.from({ length: columns }, (_, index) => cells[index] ?? "").join(" | ")} |`.replace(
1141
+ / {2,}/g,
1142
+ " "
1143
+ );
1144
+ return [line(rows[0]), line(Array(columns).fill("---")), ...rows.slice(1).map(line)].join("\n");
1145
+ }
1146
+ function toInlineMarkdown(html) {
1147
+ let source = html.replace(/<a\b[^>]*href=["']([^"']+)["'][^>]*>([\s\S]*?)<\/a>/gi, (_, href, text) => {
1148
+ const label = toInlineMarkdown(text).trim() || href;
1149
+ return `[${label}](${href})`;
1150
+ }).replace(/<img\b([^>]*)>/gi, (_, attributes) => {
1151
+ const src = readHtmlAttribute(attributes, "src");
1152
+ const alt = readHtmlAttribute(attributes, "alt") ?? "";
1153
+ if (!src) return alt;
1154
+ if (/^data:/i.test(src.trim())) return alt;
1155
+ return `![${alt}](${src})`;
1156
+ }).replace(/<strong\b[^>]*>([\s\S]*?)<\/strong>/gi, (_, content) => {
1157
+ return `**${toInlineMarkdown(content).trim()}**`;
1158
+ }).replace(/<b\b[^>]*>([\s\S]*?)<\/b>/gi, (_, content) => {
1159
+ return `**${toInlineMarkdown(content).trim()}**`;
1160
+ }).replace(/<em\b[^>]*>([\s\S]*?)<\/em>/gi, (_, content) => {
1161
+ return `_${toInlineMarkdown(content).trim()}_`;
1162
+ }).replace(/<i\b[^>]*>([\s\S]*?)<\/i>/gi, (_, content) => {
1163
+ return `_${toInlineMarkdown(content).trim()}_`;
1164
+ }).replace(/<code\b[^>]*>([\s\S]*?)<\/code>/gi, (_, content) => {
1165
+ return `\`${stripTags(content).trim()}\``;
1166
+ }).replace(/<br\s*\/?>/gi, "\n").replace(BLOCK_TAGS, " ").replace(BOX_TAGS, " ");
1167
+ return stripTags(source).replace(/\s+/g, " ");
1168
+ }
1169
+ var VOID_TAGS = /* @__PURE__ */ new Set([
1170
+ "area",
1171
+ "base",
1172
+ "br",
1173
+ "col",
1174
+ "embed",
1175
+ "hr",
1176
+ "img",
1177
+ "input",
1178
+ "link",
1179
+ "meta",
1180
+ "source",
1181
+ "track",
1182
+ "wbr"
1183
+ ]);
1184
+ function removeHiddenElements(html) {
1185
+ if (!/hidden/i.test(html)) return html;
1186
+ const openingTag = /<([a-zA-Z][\w:-]*)((?:[^>"']|"[^"]*"|'[^']*')*)>/g;
1187
+ let closingTags;
1188
+ let result = "";
1189
+ let cursor = 0;
1190
+ let match;
1191
+ while (match = openingTag.exec(html)) {
1192
+ const [tag, name, attributes] = match;
1193
+ if (!isHiddenElement(attributes)) continue;
1194
+ const start = match.index;
1195
+ let end = start + tag.length;
1196
+ if (!VOID_TAGS.has(name.toLowerCase()) && !isSelfClosingTag(tag)) {
1197
+ closingTags ?? (closingTags = matchClosingTags(html));
1198
+ const close = closingTags.get(start);
1199
+ if (close === void 0) continue;
1200
+ end = close;
1201
+ }
1202
+ result += html.slice(cursor, start);
1203
+ cursor = end;
1204
+ openingTag.lastIndex = end;
1205
+ }
1206
+ return result + html.slice(cursor);
1207
+ }
1208
+ function isHiddenElement(attributes) {
1209
+ const attribute = /([^\s"'=<>/]+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+)))?/g;
1210
+ let match;
1211
+ while (match = attribute.exec(attributes)) {
1212
+ const name = match[1].toLowerCase();
1213
+ const value = (match[2] ?? match[3] ?? match[4] ?? "").trim().toLowerCase();
1214
+ if (name === "aria-hidden" && value === "true") return true;
1215
+ if (name === "hidden" && value !== "until-found") return true;
1216
+ }
1217
+ return false;
1218
+ }
1219
+ function isSelfClosingTag(tag) {
1220
+ return /(?:^<[a-zA-Z][\w:-]*|[\s"'])\/>$/.test(tag);
1221
+ }
1222
+ function matchClosingTags(html) {
1223
+ const tags = /<(\/?)([a-zA-Z][\w:-]*)(?:[^>"']|"[^"]*"|'[^']*')*>/g;
1224
+ const open = /* @__PURE__ */ new Map();
1225
+ const closes = /* @__PURE__ */ new Map();
1226
+ let match;
1227
+ while (match = tags.exec(html)) {
1228
+ const name = match[2].toLowerCase();
1229
+ if (match[1]) {
1230
+ const start = open.get(name)?.pop();
1231
+ if (start !== void 0) closes.set(start, match.index + match[0].length);
1232
+ } else if (!VOID_TAGS.has(name) && !isSelfClosingTag(match[0])) {
1233
+ let starts = open.get(name);
1234
+ if (!starts) open.set(name, starts = []);
1235
+ starts.push(match.index);
1236
+ }
1237
+ }
1238
+ return closes;
1239
+ }
1240
+ function readStreamedBoundaryInstructions(html) {
1241
+ const boundaries = /* @__PURE__ */ new Map();
1242
+ const placeholders = /* @__PURE__ */ new Map();
1243
+ for (const [, script] of html.matchAll(/<script\b[^>]*>([\s\S]*?)<\/script>/gi)) {
1244
+ for (const [, kind, first, second] of script.matchAll(
1245
+ /\$R([CRS])\("([^"\\]+)","([^"\\]+)"/g
1246
+ )) {
1247
+ if (kind === "S") placeholders.set(second, first);
1248
+ else boundaries.set(first, second);
1249
+ }
1250
+ }
1251
+ return { boundaries, placeholders };
1252
+ }
1253
+ function resolveStreamedBoundaries(html, { boundaries, placeholders }) {
1254
+ if (boundaries.size === 0 && placeholders.size === 0) return html;
1255
+ const wanted = /* @__PURE__ */ new Set([...boundaries.values(), ...placeholders.values()]);
1256
+ const segments = /* @__PURE__ */ new Map();
1257
+ const closingTags = matchClosingTags(html);
1258
+ const openingTag = /<([a-zA-Z][\w:-]*)((?:[^>"']|"[^"]*"|'[^']*')*)>/g;
1259
+ let page = "";
1260
+ let cursor = 0;
1261
+ let match;
1262
+ while (match = openingTag.exec(html)) {
1263
+ const id = /\sid="([^"]*)"/.exec(match[2])?.[1];
1264
+ if (!id || !wanted.has(id) || segments.has(id)) continue;
1265
+ const close = closingTags.get(match.index);
1266
+ if (close === void 0) continue;
1267
+ const contentStart = match.index + match[0].length;
1268
+ segments.set(id, html.slice(contentStart, html.lastIndexOf("<", close - 1)));
1269
+ page += html.slice(cursor, match.index);
1270
+ cursor = close;
1271
+ openingTag.lastIndex = close;
1272
+ }
1273
+ page += html.slice(cursor);
1274
+ const used = /* @__PURE__ */ new Set();
1275
+ const expand = (fragment) => {
1276
+ const template = /<template\b[^>]*\sid="([^"]+)"[^>]*>\s*<\/template>/gi;
1277
+ let output = "";
1278
+ let position = 0;
1279
+ let found;
1280
+ while (found = template.exec(fragment)) {
1281
+ const id = found[1];
1282
+ const segmentId = boundaries.get(id) ?? placeholders.get(id);
1283
+ const segment = segmentId === void 0 ? void 0 : segments.get(segmentId);
1284
+ if (segment === void 0 || used.has(segmentId)) continue;
1285
+ used.add(segmentId);
1286
+ output += fragment.slice(position, found.index) + expand(segment);
1287
+ position = found.index + found[0].length;
1288
+ if (boundaries.has(id)) {
1289
+ const marker = /<!--(\/?)(?:\$[?!~]?|&)-->/g;
1290
+ marker.lastIndex = position;
1291
+ let depth = 0;
1292
+ let end;
1293
+ while (end = marker.exec(fragment)) {
1294
+ if (!end[1]) depth += 1;
1295
+ else if (depth === 0) break;
1296
+ else depth -= 1;
1297
+ }
1298
+ if (end) position = end.index;
1299
+ }
1300
+ template.lastIndex = position;
1301
+ }
1302
+ return output + fragment.slice(position);
1303
+ };
1304
+ return expand(page);
1305
+ }
1306
+ function stripTags(input) {
1307
+ return input.replace(/<[^>]+>/g, "");
1308
+ }
1309
+ function escapeHtmlText(input) {
1310
+ return input.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
1311
+ }
1312
+ function decodeHtml(input) {
1313
+ return input.replace(/&(?:nbsp|amp|lt|gt|quot|#39|#(?:x|X)[0-9a-fA-F]+|#[0-9]+);/g, (entity) => {
1314
+ switch (entity) {
1315
+ case "&nbsp;":
1316
+ return " ";
1317
+ case "&amp;":
1318
+ return "&";
1319
+ case "&lt;":
1320
+ return "<";
1321
+ case "&gt;":
1322
+ return ">";
1323
+ case "&quot;":
1324
+ return '"';
1325
+ case "&#39;":
1326
+ return "'";
1327
+ }
1328
+ const hexadecimal = entity[2] === "x" || entity[2] === "X";
1329
+ const codePoint = Number.parseInt(entity.slice(hexadecimal ? 3 : 2, -1), hexadecimal ? 16 : 10);
1330
+ return codePoint === 0 || codePoint > 1114111 || codePoint >= 55296 && codePoint <= 57343 ? "\uFFFD" : String.fromCodePoint(codePoint);
1331
+ });
1332
+ }
1333
+
1334
+ export {
1335
+ classifyFarmAgent,
1336
+ FARM_INTERNAL_READ_HEADER,
1337
+ emitFarmAgentRead,
1338
+ createFarmMarkdownViewResponse,
1339
+ FARM_MARKDOWN_CONTENT_TYPE,
1340
+ FARM_MARKDOWN_PAGE_CHECK_HEADER,
1341
+ _getFarmMarkdownPageCheckToken,
1342
+ _isFarmMarkdownPageCheck,
1343
+ farmRequestWantsMarkdown,
1344
+ createFarmMarkdownErrorBody,
1345
+ resolveMarkdownConfig,
1346
+ resolveMarkdownMirrorTarget,
1347
+ createMarkdownMirrorResponse,
1348
+ applyMarkdownNegotiationHeaders,
1349
+ htmlToMarkdown,
1350
+ farmAcceptQuality,
1351
+ requestAcceptsMarkdown,
1352
+ getFarmMarkdownMirrorPath,
1353
+ getFarmMarkdownAlternatePath,
1354
+ isFarmMarkdownMirrorExposed,
1355
+ matchesFarmMarkdownRoutePattern,
1356
+ extractFarmPageActions
1357
+ };