@farm.js/core 0.1.17 → 0.1.19

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 (269) hide show
  1. package/dist/after.cjs +12 -225
  2. package/dist/agent-runtime.cjs +83 -2800
  3. package/dist/api/client.cjs +17 -4060
  4. package/dist/api/route-manager.cjs +34 -4354
  5. package/dist/api/runtime.cjs +29 -2696
  6. package/dist/api.cjs +88 -8434
  7. package/dist/app-markdown.cjs +39 -280
  8. package/dist/app-markdown.mjs +3 -3
  9. package/dist/cache.cjs +38 -1560
  10. package/dist/chunk-22GUSVNJ.cjs +351 -0
  11. package/dist/{chunk-EN7WTEAY.mjs → chunk-2ANEVVF7.mjs} +1 -1
  12. package/dist/chunk-2CQ74SP6.cjs +13 -0
  13. package/dist/{chunk-YD4J4XCI.mjs → chunk-2GNATDDE.mjs} +1 -1
  14. package/dist/chunk-2SJ4RQ6P.cjs +57 -0
  15. package/dist/chunk-3376ZTRC.cjs +1 -0
  16. package/dist/chunk-4PNUXIVU.cjs +472 -0
  17. package/dist/chunk-4PPEPOZZ.cjs +21 -0
  18. package/dist/chunk-4ZFL5GFN.cjs +520 -0
  19. package/dist/chunk-5OVTOKGH.cjs +65 -0
  20. package/dist/chunk-5QIKR7RR.cjs +224 -0
  21. package/dist/chunk-5ZSWG4UX.cjs +127 -0
  22. package/dist/chunk-62YJ2IEB.cjs +238 -0
  23. package/dist/chunk-6EODJYCX.cjs +183 -0
  24. package/dist/chunk-6EXBPJ24.cjs +434 -0
  25. package/dist/chunk-6QQDAAAZ.cjs +38 -0
  26. package/dist/chunk-6V4TDWEC.cjs +455 -0
  27. package/dist/chunk-72ADZ6GQ.cjs +19 -0
  28. package/dist/chunk-75BRBIFP.cjs +172 -0
  29. package/dist/{chunk-ZCNJKLA2.mjs → chunk-7BC6GAL7.mjs} +1 -1
  30. package/dist/chunk-7W3CPVXS.cjs +24 -0
  31. package/dist/chunk-A6WIQH5Z.cjs +31 -0
  32. package/dist/chunk-A777V5WU.cjs +725 -0
  33. package/dist/chunk-AFOD3LYZ.cjs +377 -0
  34. package/dist/chunk-AH7HOAQ3.cjs +151 -0
  35. package/dist/chunk-AMDMVWMI.cjs +39 -0
  36. package/dist/chunk-AORPIPNB.cjs +552 -0
  37. package/dist/chunk-ARJWXNQL.cjs +256 -0
  38. package/dist/chunk-AYJR42WX.cjs +711 -0
  39. package/dist/chunk-BBVSJVBZ.cjs +600 -0
  40. package/dist/chunk-BIDYX3SL.cjs +91 -0
  41. package/dist/chunk-BYODCJD6.cjs +663 -0
  42. package/dist/chunk-C3VRMB6H.cjs +85 -0
  43. package/dist/chunk-C5GUTBZK.cjs +173 -0
  44. package/dist/chunk-CIAGU2X4.cjs +337 -0
  45. package/dist/chunk-CMGMGHUZ.cjs +27 -0
  46. package/dist/chunk-CXP5U3RW.cjs +54 -0
  47. package/dist/chunk-D2ULAULS.cjs +166 -0
  48. package/dist/chunk-D7JTOLFK.cjs +285 -0
  49. package/dist/chunk-DVM4FKZL.cjs +169 -0
  50. package/dist/chunk-DYEJQTDN.cjs +49 -0
  51. package/dist/chunk-E2ROOWQC.cjs +2225 -0
  52. package/dist/chunk-E3UK5IIB.cjs +593 -0
  53. package/dist/chunk-EM6SBQKM.cjs +470 -0
  54. package/dist/chunk-FJSWYIR7.cjs +482 -0
  55. package/dist/chunk-FK6GO24V.cjs +54 -0
  56. package/dist/{chunk-MVIWBEJF.mjs → chunk-FVZGEVTO.mjs} +7 -7
  57. package/dist/chunk-FXUUWYAX.cjs +654 -0
  58. package/dist/chunk-G3HRIVEY.cjs +395 -0
  59. package/dist/chunk-G643DQCH.cjs +13 -0
  60. package/dist/chunk-G7HXGLEC.cjs +175 -0
  61. package/dist/chunk-GDSHDTJ4.cjs +152 -0
  62. package/dist/chunk-GPVTX3HT.cjs +1415 -0
  63. package/dist/chunk-H6G5INWM.cjs +1094 -0
  64. package/dist/{chunk-DHDVMXYK.mjs → chunk-HALDNTIV.mjs} +30 -4
  65. package/dist/chunk-HBTUGXHS.cjs +180 -0
  66. package/dist/chunk-HREOKQWT.cjs +45 -0
  67. package/dist/{chunk-5QOEPUYE.mjs → chunk-HSDL2AUR.mjs} +1 -1
  68. package/dist/chunk-I4J452B7.cjs +435 -0
  69. package/dist/chunk-I57LW5VZ.cjs +94 -0
  70. package/dist/chunk-I5YBCWQ6.cjs +40 -0
  71. package/dist/chunk-I7PUUDGY.cjs +389 -0
  72. package/dist/chunk-IAMRBF3Z.cjs +86 -0
  73. package/dist/chunk-IQXFRNY2.cjs +169 -0
  74. package/dist/chunk-ISTFC3MZ.cjs +1357 -0
  75. package/dist/chunk-IXTFU4PL.cjs +2355 -0
  76. package/dist/chunk-J3LOGE4T.cjs +42 -0
  77. package/dist/chunk-J7FSKED3.cjs +93 -0
  78. package/dist/chunk-JDNHKPTD.cjs +22 -0
  79. package/dist/chunk-JSROZYYO.cjs +164 -0
  80. package/dist/chunk-K6FNHVDR.cjs +696 -0
  81. package/dist/chunk-KGZIORNL.cjs +43 -0
  82. package/dist/chunk-KR6CKSXT.cjs +15 -0
  83. package/dist/chunk-KROWKCUH.cjs +185 -0
  84. package/dist/chunk-KVFPGF2M.cjs +46 -0
  85. package/dist/{chunk-TNBAYAWO.mjs → chunk-L4DVIHOC.mjs} +1 -1
  86. package/dist/chunk-LCCBO7PJ.cjs +46 -0
  87. package/dist/chunk-LIUGYUX3.cjs +22 -0
  88. package/dist/chunk-LTNGXMQ6.cjs +55 -0
  89. package/dist/chunk-M2L4MYDQ.cjs +14 -0
  90. package/dist/chunk-MCJLA63J.cjs +1 -0
  91. package/dist/chunk-MKB2EGIR.cjs +148 -0
  92. package/dist/chunk-MQ3H6LT5.cjs +202 -0
  93. package/dist/chunk-MT763TDW.cjs +43 -0
  94. package/dist/{chunk-XWAYMDLB.mjs → chunk-MVUREHPN.mjs} +1 -1
  95. package/dist/chunk-MWSK6C4J.cjs +18 -0
  96. package/dist/chunk-MWWVKDW3.cjs +169 -0
  97. package/dist/{chunk-6VQIKZZO.mjs → chunk-N255VYFP.mjs} +1 -1
  98. package/dist/chunk-NBAHDVOJ.cjs +2040 -0
  99. package/dist/chunk-NO3WWW3N.cjs +192 -0
  100. package/dist/chunk-NSFC3LHB.cjs +10244 -0
  101. package/dist/chunk-NZKJGRB3.cjs +230 -0
  102. package/dist/chunk-OAVTUMJP.cjs +1496 -0
  103. package/dist/{chunk-SXHV42UQ.mjs → chunk-OFEY6KHO.mjs} +88 -13
  104. package/dist/chunk-OHY2ZWUG.cjs +25 -0
  105. package/dist/chunk-OI6CMLWX.cjs +47 -0
  106. package/dist/chunk-OWOUTKIJ.cjs +558 -0
  107. package/dist/chunk-OX6O6WVA.cjs +74 -0
  108. package/dist/chunk-OXSIH4D6.cjs +476 -0
  109. package/dist/chunk-OYDRPBBV.cjs +453 -0
  110. package/dist/chunk-OYEUREB6.cjs +35 -0
  111. package/dist/chunk-PCOTGFSM.cjs +139 -0
  112. package/dist/{chunk-76DG3LF3.mjs → chunk-PGQBL5DN.mjs} +1 -1
  113. package/dist/chunk-PZYCPSCC.cjs +35 -0
  114. package/dist/chunk-QBK2AA4U.cjs +445 -0
  115. package/dist/{chunk-UTBVHYS3.mjs → chunk-QBPKKQTD.mjs} +2 -2
  116. package/dist/chunk-QBPXNZGV.cjs +487 -0
  117. package/dist/chunk-QNPEUFHQ.cjs +27 -0
  118. package/dist/chunk-QZRVZSPN.cjs +236 -0
  119. package/dist/chunk-R5A5KNVX.cjs +20 -0
  120. package/dist/chunk-R5JIFR6B.cjs +42 -0
  121. package/dist/chunk-R6AIILII.cjs +193 -0
  122. package/dist/chunk-RFYO7QUD.cjs +9 -0
  123. package/dist/chunk-RG3ZOTG5.cjs +34 -0
  124. package/dist/chunk-ROUTX2E5.cjs +390 -0
  125. package/dist/chunk-RTHIVJ2G.cjs +54 -0
  126. package/dist/chunk-S27FMYAM.cjs +644 -0
  127. package/dist/chunk-S3A45T7F.cjs +166 -0
  128. package/dist/chunk-S3JO3N4H.cjs +17 -0
  129. package/dist/chunk-SK35NQKK.cjs +27 -0
  130. package/dist/chunk-SU7MH53P.cjs +180 -0
  131. package/dist/chunk-SVRTJOUF.cjs +113 -0
  132. package/dist/chunk-SWN467MP.cjs +18 -0
  133. package/dist/chunk-SYQ3MOWW.cjs +73 -0
  134. package/dist/chunk-T5CERMEH.cjs +417 -0
  135. package/dist/chunk-TFAXUHWX.cjs +206 -0
  136. package/dist/chunk-TIWHTW3Q.cjs +24 -0
  137. package/dist/chunk-TKJZFIML.cjs +20 -0
  138. package/dist/chunk-TKNSDBBN.cjs +193 -0
  139. package/dist/chunk-U4KT7QP3.cjs +23 -0
  140. package/dist/chunk-U5BMPGS3.cjs +862 -0
  141. package/dist/chunk-UJ2C4ICS.cjs +277 -0
  142. package/dist/chunk-UQZ4AYTH.cjs +168 -0
  143. package/dist/chunk-US2QVW3E.cjs +36 -0
  144. package/dist/{chunk-QGVJVSNX.mjs → chunk-V4AICMQA.mjs} +2 -2
  145. package/dist/chunk-VB6UCX3V.cjs +421 -0
  146. package/dist/chunk-VEKFLAQM.cjs +300 -0
  147. package/dist/chunk-VQDBNVOO.cjs +14 -0
  148. package/dist/chunk-W4E7WMXE.cjs +71 -0
  149. package/dist/chunk-WJ3HK3LJ.cjs +1102 -0
  150. package/dist/chunk-WMAPPDMM.cjs +28 -0
  151. package/dist/chunk-WMOGFOUJ.cjs +223 -0
  152. package/dist/chunk-WPYFSQKK.cjs +37 -0
  153. package/dist/{chunk-56DAX2BE.mjs → chunk-WZXN4R5Y.mjs} +24 -13
  154. package/dist/chunk-XDGMADQM.cjs +14225 -0
  155. package/dist/chunk-XGC343EY.cjs +443 -0
  156. package/dist/chunk-XSKZORAS.cjs +727 -0
  157. package/dist/chunk-XWAWFQFS.cjs +82 -0
  158. package/dist/chunk-Y4YMF2NQ.cjs +460 -0
  159. package/dist/chunk-Y4YWHNKU.cjs +250 -0
  160. package/dist/chunk-Y53ZSFN6.cjs +504 -0
  161. package/dist/chunk-YA6LLTIJ.cjs +411 -0
  162. package/dist/chunk-YFPGHF5F.cjs +202 -0
  163. package/dist/chunk-YJRZR7VU.cjs +28 -0
  164. package/dist/chunk-YTAABQEV.cjs +1 -0
  165. package/dist/chunk-YX3DBN4M.cjs +18 -0
  166. package/dist/chunk-YZTASLPQ.cjs +64 -0
  167. package/dist/chunk-Z5HIWVDP.cjs +2173 -0
  168. package/dist/chunk-ZEG3OPIB.cjs +93 -0
  169. package/dist/chunk-ZMN3H73H.cjs +155 -0
  170. package/dist/client/lifecycle.cjs +6 -35
  171. package/dist/client-plugins.cjs +7 -448
  172. package/dist/client.cjs +171 -9808
  173. package/dist/config.cjs +8 -36
  174. package/dist/cron.cjs +24 -491
  175. package/dist/deferred.cjs +26 -475
  176. package/dist/deployment.cjs +39 -210
  177. package/dist/devtools-5KGPDVKL.cjs +388 -0
  178. package/dist/{devtools-UFVTMQX5.mjs → devtools-FY5R7TQ4.mjs} +3 -3
  179. package/dist/devtools-client-4WAPJY5L.cjs +254 -0
  180. package/dist/devtools-ui-5GBDIGMK.cjs +1296 -0
  181. package/dist/docs.cjs +46 -5657
  182. package/dist/docs.mjs +5 -5
  183. package/dist/env-types.cjs +5 -226
  184. package/dist/env.cjs +21 -338
  185. package/dist/environment/vite.cjs +8 -372
  186. package/dist/environment.cjs +12 -94
  187. package/dist/font.cjs +13 -63
  188. package/dist/headers.cjs +7 -123
  189. package/dist/i18n/client.cjs +55 -294
  190. package/dist/i18n/index.cjs +22 -209
  191. package/dist/i18n/server.cjs +22 -745
  192. package/dist/image/server.cjs +13 -729
  193. package/dist/image/sharp.cjs +33 -171
  194. package/dist/image.cjs +41 -85
  195. package/dist/index.cjs +1151 -68080
  196. package/dist/index.mjs +14 -14
  197. package/dist/instrumentation.cjs +12 -138
  198. package/dist/integration-orm-55F7CII5.cjs +13 -0
  199. package/dist/integrations.cjs +55 -4090
  200. package/dist/internal/app-markdown-runtime.cjs +27 -224
  201. package/dist/internal/app-markdown-runtime.mjs +2 -2
  202. package/dist/internal/build-runtime.cjs +120 -52259
  203. package/dist/internal/build-runtime.mjs +13 -13
  204. package/dist/internal/cli-runtime.cjs +67 -13811
  205. package/dist/internal/cli-runtime.mjs +7 -7
  206. package/dist/internal/client-error-overlay.cjs +80 -733
  207. package/dist/internal/client-error-overlay.mjs +1 -1
  208. package/dist/internal/client-runtime.cjs +81 -913
  209. package/dist/internal/compression-runtime.cjs +8 -214
  210. package/dist/internal/config-runtime.cjs +42 -6547
  211. package/dist/internal/config-runtime.mjs +3 -3
  212. package/dist/internal/docs-precompiled-runtime.cjs +26 -46
  213. package/dist/internal/infra-analytics-runtime.cjs +10 -536
  214. package/dist/internal/isolated-boundary.cjs +14 -414
  215. package/dist/internal/metadata-image-runtime.cjs +7 -285
  216. package/dist/internal/product-telemetry-runtime.cjs +42 -97
  217. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  218. package/dist/internal/production-node-env.cjs +6 -63
  219. package/dist/internal/production-runtime.cjs +418 -7133
  220. package/dist/internal/production-runtime.mjs +3 -3
  221. package/dist/internal/request-cookies.cjs +6 -54
  222. package/dist/json-ld.cjs +24 -50
  223. package/dist/layers-E4WPJNY5.cjs +17 -0
  224. package/dist/manager-G4B2IPYE.cjs +14 -0
  225. package/dist/markdown.cjs +21 -547
  226. package/dist/markdown.mjs +1 -1
  227. package/dist/middleware.cjs +36 -2995
  228. package/dist/navigation.cjs +22 -2588
  229. package/dist/nitro-4I2MYLY2.cjs +652 -0
  230. package/dist/observability.cjs +22 -614
  231. package/dist/og.cjs +5 -28
  232. package/dist/plugin.cjs +106 -37442
  233. package/dist/plugin.mjs +9 -9
  234. package/dist/query/client.cjs +113 -449
  235. package/dist/query/index.cjs +26 -288
  236. package/dist/query/parsers.cjs +23 -247
  237. package/dist/query/server.cjs +36 -298
  238. package/dist/renderer/react/client.cjs +9 -43
  239. package/dist/renderer/react/server.cjs +40 -103
  240. package/dist/renderer/react/vite.cjs +7 -29
  241. package/dist/renderer-client.cjs +126 -4295
  242. package/dist/renderer.cjs +31 -249
  243. package/dist/request.cjs +5 -68
  244. package/dist/router.cjs +11 -474
  245. package/dist/routes.cjs +42 -2461
  246. package/dist/{schema-dev-notice-2IE2F2XI.mjs → schema-dev-notice-O67CPXJ6.mjs} +1 -1
  247. package/dist/schema-dev-notice-Y7MQEFGN.cjs +56 -0
  248. package/dist/schema.cjs +6 -33
  249. package/dist/search-client-G3RICOFU.cjs +13 -0
  250. package/dist/server-action-security.cjs +25 -541
  251. package/dist/server-fn-client.cjs +6 -337
  252. package/dist/server-fn.cjs +32 -1841
  253. package/dist/server-plugins.cjs +15 -884
  254. package/dist/server-query-client.cjs +15 -1883
  255. package/dist/server-query.cjs +16 -1838
  256. package/dist/server.cjs +296 -44681
  257. package/dist/server.mjs +11 -11
  258. package/dist/storage.cjs +57 -576
  259. package/dist/testing.cjs +89 -3186
  260. package/dist/theme/client.cjs +13 -108
  261. package/dist/theme/index.cjs +6 -68
  262. package/dist/theme/runtime.cjs +13 -78
  263. package/dist/theme/server.cjs +10 -179
  264. package/dist/version.cjs +4 -32
  265. package/dist/version.mjs +1 -1
  266. package/dist/vite.cjs +119 -37773
  267. package/dist/vite.mjs +9 -9
  268. package/dist/workflows.cjs +19 -1040
  269. package/package.json +1 -1
@@ -0,0 +1,663 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+ var _chunkXGC343EYcjs = require('./chunk-XGC343EY.cjs');
11
+
12
+
13
+ var _chunkE3UK5IIBcjs = require('./chunk-E3UK5IIB.cjs');
14
+
15
+
16
+
17
+
18
+ var _chunkOX6O6WVAcjs = require('./chunk-OX6O6WVA.cjs');
19
+
20
+
21
+ var _chunkBIDYX3SLcjs = require('./chunk-BIDYX3SL.cjs');
22
+
23
+
24
+ var _chunkI57LW5VZcjs = require('./chunk-I57LW5VZ.cjs');
25
+
26
+
27
+ var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
28
+
29
+ // src/middleware/production-runtime.ts
30
+ var FARM_SET_COOKIE_HEADERS = /* @__PURE__ */ Symbol("farm.setCookieHeaders");
31
+ var _WebResponseHeaderMap = class _WebResponseHeaderMap extends Map {
32
+ constructor() {
33
+ super(...arguments);
34
+ this.setCookies = [];
35
+ }
36
+ set(key, value) {
37
+ if (key.toLowerCase() === "set-cookie") {
38
+ this.setCookies = [value];
39
+ super.set("Set-Cookie", value);
40
+ return this;
41
+ }
42
+ return super.set(key, value);
43
+ }
44
+ delete(key) {
45
+ if (key.toLowerCase() === "set-cookie") {
46
+ this.setCookies = [];
47
+ return super.delete("Set-Cookie") || super.delete("set-cookie");
48
+ }
49
+ return super.delete(key);
50
+ }
51
+ clear() {
52
+ this.setCookies = [];
53
+ super.clear();
54
+ }
55
+ appendSetCookie(value) {
56
+ this.setCookies.push(value);
57
+ super.set("Set-Cookie", value);
58
+ }
59
+ replaceSetCookies(values) {
60
+ this.setCookies = [...values];
61
+ super.delete("Set-Cookie");
62
+ super.delete("set-cookie");
63
+ if (this.setCookies.length > 0) {
64
+ super.set("Set-Cookie", this.setCookies[this.setCookies.length - 1]);
65
+ }
66
+ }
67
+ getSetCookies() {
68
+ return this.setCookies;
69
+ }
70
+ };
71
+ _chunkS3JO3N4Hcjs.__name.call(void 0, _WebResponseHeaderMap, "WebResponseHeaderMap");
72
+ var WebResponseHeaderMap = _WebResponseHeaderMap;
73
+ var _WebCookieJar = class _WebCookieJar {
74
+ constructor(request, headers) {
75
+ this.headers = headers;
76
+ this.cookies = _chunkXGC343EYcjs.parseMiddlewareCookieHeader.call(void 0, request.headers.get("cookie"));
77
+ }
78
+ get(name) {
79
+ return this.cookies[name];
80
+ }
81
+ set(name, value, options = {}) {
82
+ this.cookies[name] = value;
83
+ const cookieString = _chunkXGC343EYcjs.serializeMiddlewareCookie.call(void 0, name, value, options);
84
+ this.headers.appendSetCookie(cookieString);
85
+ }
86
+ delete(name, options = {}) {
87
+ delete this.cookies[name];
88
+ this.headers.appendSetCookie(_chunkXGC343EYcjs.serializeMiddlewareCookieDeletion.call(void 0, name, options));
89
+ }
90
+ getAll() {
91
+ return { ...this.cookies };
92
+ }
93
+ };
94
+ _chunkS3JO3N4Hcjs.__name.call(void 0, _WebCookieJar, "WebCookieJar");
95
+ var WebCookieJar = _WebCookieJar;
96
+ function mapToHeaders(map) {
97
+ const headers = new Headers();
98
+ for (const [key, value] of map) {
99
+ if (key.toLowerCase() === "set-cookie") continue;
100
+ headers.set(key, value);
101
+ }
102
+ for (const cookie of map.getSetCookies()) {
103
+ headers.append("Set-Cookie", cookie);
104
+ }
105
+ return headers;
106
+ }
107
+ _chunkS3JO3N4Hcjs.__name.call(void 0, mapToHeaders, "mapToHeaders");
108
+ function headersToRecord(headers) {
109
+ return Object.fromEntries(headers);
110
+ }
111
+ _chunkS3JO3N4Hcjs.__name.call(void 0, headersToRecord, "headersToRecord");
112
+ function isMiddlewareResponse(value) {
113
+ return value instanceof Response;
114
+ }
115
+ _chunkS3JO3N4Hcjs.__name.call(void 0, isMiddlewareResponse, "isMiddlewareResponse");
116
+ function findHeaderName(headers, name) {
117
+ const normalizedName = name.toLowerCase();
118
+ return [...headers.keys()].find((key) => key.toLowerCase() === normalizedName);
119
+ }
120
+ _chunkS3JO3N4Hcjs.__name.call(void 0, findHeaderName, "findHeaderName");
121
+ function createResponseShim(headers) {
122
+ const bodyChunks = [];
123
+ const encoder = new TextEncoder();
124
+ const response = {
125
+ headersSent: false,
126
+ writableEnded: false,
127
+ statusCode: 200,
128
+ statusMessage: "",
129
+ setHeader(name, value) {
130
+ const existingName = findHeaderName(headers, name);
131
+ if (existingName) headers.delete(existingName);
132
+ if (name.toLowerCase() === "set-cookie") {
133
+ headers.replaceSetCookies(Array.isArray(value) ? value.map(String) : [String(value)]);
134
+ } else {
135
+ headers.set(name, Array.isArray(value) ? value.join(", ") : String(value));
136
+ }
137
+ return this;
138
+ },
139
+ getHeader(name) {
140
+ if (name.toLowerCase() === "set-cookie") {
141
+ const cookies = headers.getSetCookies();
142
+ return cookies.length > 0 ? [...cookies] : void 0;
143
+ }
144
+ const existingName = findHeaderName(headers, name);
145
+ return existingName ? headers.get(existingName) : void 0;
146
+ },
147
+ hasHeader(name) {
148
+ return name.toLowerCase() === "set-cookie" ? headers.getSetCookies().length > 0 : findHeaderName(headers, name) !== void 0;
149
+ },
150
+ getHeaderNames() {
151
+ return [...headers.keys()].map((name) => name.toLowerCase());
152
+ },
153
+ getHeaders() {
154
+ return Object.fromEntries(
155
+ [...headers.keys()].map((name) => [name.toLowerCase(), this.getHeader(name)])
156
+ );
157
+ },
158
+ removeHeader(name) {
159
+ const existingName = findHeaderName(headers, name);
160
+ if (existingName) headers.delete(existingName);
161
+ },
162
+ appendHeader(name, value) {
163
+ const values = Array.isArray(value) ? value.map(String) : [String(value)];
164
+ if (name.toLowerCase() === "set-cookie") {
165
+ for (const item of values) headers.appendSetCookie(item);
166
+ return this;
167
+ }
168
+ const existing = this.getHeader(name);
169
+ return this.setHeader(name, existing ? `${String(existing)}, ${values.join(", ")}` : values);
170
+ },
171
+ writeHead(status, statusMessageOrHeaders, responseHeaders) {
172
+ this.statusCode = status;
173
+ const nextHeaders = typeof statusMessageOrHeaders === "string" ? responseHeaders : statusMessageOrHeaders;
174
+ if (typeof statusMessageOrHeaders === "string") {
175
+ this.statusMessage = statusMessageOrHeaders;
176
+ }
177
+ if (nextHeaders) {
178
+ for (const [key, value] of Object.entries(nextHeaders)) {
179
+ this.setHeader(key, value);
180
+ }
181
+ }
182
+ this.headersSent = true;
183
+ return this;
184
+ },
185
+ flushHeaders() {
186
+ this.headersSent = true;
187
+ },
188
+ write(chunk, encodingOrCallback, callback) {
189
+ bodyChunks.push(typeof chunk === "string" ? encoder.encode(chunk) : new Uint8Array(chunk));
190
+ this.headersSent = true;
191
+ const done = typeof encodingOrCallback === "function" ? encodingOrCallback : callback;
192
+ _optionalChain([done, 'optionalCall', _ => _()]);
193
+ return true;
194
+ },
195
+ end(chunk, encodingOrCallback, callback) {
196
+ if (typeof chunk === "string" || chunk instanceof Uint8Array) {
197
+ bodyChunks.push(typeof chunk === "string" ? encoder.encode(chunk) : new Uint8Array(chunk));
198
+ }
199
+ this.headersSent = true;
200
+ this.writableEnded = true;
201
+ const done = typeof chunk === "function" ? chunk : typeof encodingOrCallback === "function" ? encodingOrCallback : callback;
202
+ _optionalChain([done, 'optionalCall', _2 => _2()]);
203
+ return this;
204
+ }
205
+ };
206
+ return {
207
+ response,
208
+ getResponse(method) {
209
+ if (!response.headersSent && !response.writableEnded) return null;
210
+ const bodyLength = bodyChunks.reduce((total, chunk) => total + chunk.byteLength, 0);
211
+ const body = new Uint8Array(bodyLength);
212
+ let offset = 0;
213
+ for (const chunk of bodyChunks) {
214
+ body.set(chunk, offset);
215
+ offset += chunk.byteLength;
216
+ }
217
+ const bodyAllowed = method.toUpperCase() !== "HEAD" && response.statusCode !== 204 && response.statusCode !== 205 && response.statusCode !== 304;
218
+ return new Response(bodyAllowed && bodyLength > 0 ? body : null, {
219
+ status: response.statusCode,
220
+ statusText: response.statusMessage || void 0,
221
+ headers: mapToHeaders(headers)
222
+ });
223
+ }
224
+ };
225
+ }
226
+ _chunkS3JO3N4Hcjs.__name.call(void 0, createResponseShim, "createResponseShim");
227
+ function withNodeRequestShape(request, trustProxy, clientAddress) {
228
+ const requestWithShape = request;
229
+ if (!requestWithShape.socket) {
230
+ const forwardedFor = trustProxy ? _optionalChain([request, 'access', _3 => _3.headers, 'access', _4 => _4.get, 'call', _5 => _5("x-forwarded-for"), 'optionalAccess', _6 => _6.split, 'call', _7 => _7(","), 'access', _8 => _8[0], 'optionalAccess', _9 => _9.trim, 'call', _10 => _10()]) : void 0;
231
+ try {
232
+ requestWithShape.socket = { remoteAddress: forwardedFor || clientAddress || void 0 };
233
+ } catch (e) {
234
+ }
235
+ }
236
+ return requestWithShape;
237
+ }
238
+ _chunkS3JO3N4Hcjs.__name.call(void 0, withNodeRequestShape, "withNodeRequestShape");
239
+ function createHandledResponse(body, init, headers) {
240
+ const responseHeaders = new Headers();
241
+ for (const [key, value] of headers) {
242
+ if (key.toLowerCase() === "set-cookie") continue;
243
+ responseHeaders.set(key, value);
244
+ }
245
+ for (const [key, value] of new Headers(init.headers)) {
246
+ responseHeaders.set(key, value);
247
+ }
248
+ for (const cookie of headers.getSetCookies()) {
249
+ responseHeaders.append("Set-Cookie", cookie);
250
+ }
251
+ return new Response(body, { ...init, headers: responseHeaders });
252
+ }
253
+ _chunkS3JO3N4Hcjs.__name.call(void 0, createHandledResponse, "createHandledResponse");
254
+ function createWebMiddlewareContext(request, parent, trustProxy = false, clientAddress) {
255
+ let currentRequest = withNodeRequestShape(request, trustProxy, clientAddress);
256
+ let handledResponse = null;
257
+ const url = new URL(currentRequest.url);
258
+ const data = _optionalChain([parent, 'optionalAccess', _11 => _11.data]) ? new Map(parent.data) : /* @__PURE__ */ new Map();
259
+ const locals = _optionalChain([parent, 'optionalAccess', _12 => _12.locals]) ? new Map(parent.locals) : /* @__PURE__ */ new Map();
260
+ const headers = new WebResponseHeaderMap();
261
+ if (_optionalChain([parent, 'optionalAccess', _13 => _13.headers])) {
262
+ for (const [key, value] of Object.entries(parent.headers)) {
263
+ if (key.toLowerCase() === "set-cookie") continue;
264
+ headers.set(key, value);
265
+ }
266
+ }
267
+ const parentCookies = _optionalChain([parent, 'optionalAccess', _14 => _14[FARM_SET_COOKIE_HEADERS]]);
268
+ if (parentCookies) headers.replaceSetCookies(parentCookies);
269
+ const responseShim = createResponseShim(headers);
270
+ const ctx = {
271
+ request: currentRequest,
272
+ response: responseShim.response,
273
+ url,
274
+ pathname: url.pathname,
275
+ searchParams: url.searchParams,
276
+ method: currentRequest.method || "GET",
277
+ params: {},
278
+ route: url.pathname,
279
+ parent,
280
+ vite: {
281
+ isDev: false,
282
+ hmr: false
283
+ },
284
+ data,
285
+ locals,
286
+ headers,
287
+ cookies: new WebCookieJar(currentRequest, headers),
288
+ _handled: false,
289
+ _redirectUrl: void 0,
290
+ _rewriteUrl: void 0,
291
+ redirect(redirectUrl, status = 307) {
292
+ ctx._redirectUrl = redirectUrl;
293
+ ctx._handled = true;
294
+ handledResponse = createHandledResponse(
295
+ `Redirecting to ${redirectUrl}`,
296
+ {
297
+ status,
298
+ headers: {
299
+ Location: redirectUrl,
300
+ "Content-Type": "text/plain"
301
+ }
302
+ },
303
+ headers
304
+ );
305
+ },
306
+ rewrite(rewriteUrl) {
307
+ ctx._rewriteUrl = rewriteUrl;
308
+ const nextUrl = new URL(rewriteUrl, currentRequest.url);
309
+ currentRequest = withNodeRequestShape(
310
+ new Request(nextUrl, currentRequest),
311
+ trustProxy,
312
+ clientAddress
313
+ );
314
+ ctx.request = currentRequest;
315
+ ctx.url = nextUrl;
316
+ ctx.pathname = nextUrl.pathname;
317
+ ctx.searchParams = nextUrl.searchParams;
318
+ ctx.route = nextUrl.pathname;
319
+ },
320
+ json(jsonData, status = 200) {
321
+ ctx._handled = true;
322
+ handledResponse = createHandledResponse(
323
+ JSON.stringify(jsonData),
324
+ {
325
+ status,
326
+ headers: {
327
+ "Content-Type": "application/json"
328
+ }
329
+ },
330
+ headers
331
+ );
332
+ },
333
+ text(content, status = 200) {
334
+ ctx._handled = true;
335
+ handledResponse = createHandledResponse(
336
+ content,
337
+ {
338
+ status,
339
+ headers: {
340
+ "Content-Type": "text/plain"
341
+ }
342
+ },
343
+ headers
344
+ );
345
+ },
346
+ html(content, status = 200) {
347
+ ctx._handled = true;
348
+ handledResponse = createHandledResponse(
349
+ content,
350
+ {
351
+ status,
352
+ headers: {
353
+ "Content-Type": "text/html"
354
+ }
355
+ },
356
+ headers
357
+ );
358
+ }
359
+ };
360
+ return {
361
+ ctx,
362
+ headers,
363
+ getRequest: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, () => currentRequest, "getRequest"),
364
+ getResponse: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, () => handledResponse || responseShim.getResponse(currentRequest.method), "getResponse")
365
+ };
366
+ }
367
+ _chunkS3JO3N4Hcjs.__name.call(void 0, createWebMiddlewareContext, "createWebMiddlewareContext");
368
+ function matchesMiddlewareConfig2(pathname, config, ctx) {
369
+ return _chunkXGC343EYcjs.matchesMiddlewareConfig.call(void 0, pathname, config, ctx);
370
+ }
371
+ _chunkS3JO3N4Hcjs.__name.call(void 0, matchesMiddlewareConfig2, "matchesMiddlewareConfig");
372
+ function getConfigHandlers(entry) {
373
+ const handlers = [];
374
+ if ("handler" in entry && typeof entry.handler === "function") {
375
+ handlers.push(entry.handler);
376
+ }
377
+ if ("handlers" in entry && Array.isArray(entry.handlers)) {
378
+ handlers.push(...entry.handlers.filter((handler) => typeof handler === "function"));
379
+ }
380
+ return handlers;
381
+ }
382
+ _chunkS3JO3N4Hcjs.__name.call(void 0, getConfigHandlers, "getConfigHandlers");
383
+ function toMiddlewareConfig(entry) {
384
+ const { matcher, exclude, runtime } = entry;
385
+ return { matcher, exclude, runtime };
386
+ }
387
+ _chunkS3JO3N4Hcjs.__name.call(void 0, toMiddlewareConfig, "toMiddlewareConfig");
388
+ function normalizeConfigMiddleware(config) {
389
+ const entries = [];
390
+ let globalConfig;
391
+ if (!config) {
392
+ return { entries, globalConfig };
393
+ }
394
+ const configEntries = Array.isArray(config) ? config : [config];
395
+ for (const [index, entry] of configEntries.entries()) {
396
+ const handlers = getConfigHandlers(entry);
397
+ const middlewareConfig = toMiddlewareConfig(entry);
398
+ if (handlers.length === 0) {
399
+ globalConfig = middlewareConfig;
400
+ continue;
401
+ }
402
+ _chunkXGC343EYcjs.compileMiddlewareConfig.call(void 0, middlewareConfig);
403
+ entries.push({
404
+ path: "/",
405
+ filePath: `farm.config.ts#middleware-${index}`,
406
+ handlers,
407
+ config: middlewareConfig,
408
+ source: "config"
409
+ });
410
+ }
411
+ return { entries, globalConfig };
412
+ }
413
+ _chunkS3JO3N4Hcjs.__name.call(void 0, normalizeConfigMiddleware, "normalizeConfigMiddleware");
414
+ function normalizeFileMiddleware(modules = []) {
415
+ const entries = [];
416
+ for (const moduleEntry of modules) {
417
+ const normalized = _chunkXGC343EYcjs.normalizeMiddlewareModule.call(void 0, moduleEntry.module, moduleEntry.path);
418
+ if (!normalized) {
419
+ continue;
420
+ }
421
+ if (normalized.config) _chunkXGC343EYcjs.compileMiddlewareConfig.call(void 0, normalized.config);
422
+ entries.push({
423
+ path: moduleEntry.path,
424
+ filePath: moduleEntry.filePath || moduleEntry.path,
425
+ handlers: normalized.handlers,
426
+ config: normalized.config,
427
+ source: "file"
428
+ });
429
+ }
430
+ return entries;
431
+ }
432
+ _chunkS3JO3N4Hcjs.__name.call(void 0, normalizeFileMiddleware, "normalizeFileMiddleware");
433
+ async function executeHandlers(handlers, ctx) {
434
+ let handlerIndex = 0;
435
+ let returnedResponse;
436
+ const executeNext = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, async () => {
437
+ if (handlerIndex < handlers.length) {
438
+ const handler = handlers[handlerIndex++];
439
+ const result2 = await handler(ctx, executeNext);
440
+ if (isMiddlewareResponse(result2)) {
441
+ returnedResponse = result2;
442
+ return result2;
443
+ }
444
+ }
445
+ return returnedResponse;
446
+ }, "executeNext");
447
+ const result = await executeNext();
448
+ return isMiddlewareResponse(result) ? result : returnedResponse;
449
+ }
450
+ _chunkS3JO3N4Hcjs.__name.call(void 0, executeHandlers, "executeHandlers");
451
+ function emptyResult(request) {
452
+ return {
453
+ request,
454
+ response: null,
455
+ data: /* @__PURE__ */ new Map(),
456
+ context: /* @__PURE__ */ new Map(),
457
+ headers: new Headers(),
458
+ handled: false
459
+ };
460
+ }
461
+ _chunkS3JO3N4Hcjs.__name.call(void 0, emptyResult, "emptyResult");
462
+ function createProductionMiddlewareRunner(options = {}) {
463
+ const configMiddleware = normalizeConfigMiddleware(options.config);
464
+ const fileMiddleware = normalizeFileMiddleware(options.modules);
465
+ for (const entry of fileMiddleware) _chunkXGC343EYcjs.compileMiddlewareRoute.call(void 0, entry);
466
+ const entries = [...configMiddleware.entries, ...fileMiddleware];
467
+ const globalConfig = configMiddleware.globalConfig;
468
+ if (globalConfig) _chunkXGC343EYcjs.compileMiddlewareConfig.call(void 0, globalConfig);
469
+ return /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, async function runProductionMiddleware(request, requestOptions = {}) {
470
+ if (!globalConfig && entries.length === 0) {
471
+ return emptyResult(request);
472
+ }
473
+ let contextState = createWebMiddlewareContext(
474
+ request,
475
+ void 0,
476
+ _optionalChain([options, 'access', _15 => _15.server, 'optionalAccess', _16 => _16.trustProxy]) === true,
477
+ requestOptions.clientAddress
478
+ );
479
+ let ctx = contextState.ctx;
480
+ let currentRequest = contextState.getRequest();
481
+ const initialPathname = _optionalChain([options, 'access', _17 => _17.i18n, 'optionalAccess', _18 => _18.enabled]) ? _chunkBIDYX3SLcjs.stripFarmLocaleFromPathname.call(void 0, ctx.pathname, options.i18n) : _chunkI57LW5VZcjs.stripFarmBasePath.call(void 0, ctx.pathname, _nullishCoalesce(_optionalChain([options, 'access', _19 => _19.i18n, 'optionalAccess', _20 => _20.basePath]), () => ( "/")));
482
+ let parentData;
483
+ if (globalConfig) {
484
+ const globalMatch = _chunkXGC343EYcjs.matchesMiddlewareConfig.call(void 0, initialPathname, globalConfig, ctx);
485
+ if (!globalMatch.matched) {
486
+ return emptyResult(request);
487
+ }
488
+ if (globalMatch.params) {
489
+ ctx.params = { ...ctx.params, ...globalMatch.params };
490
+ }
491
+ }
492
+ const applicable = entries.map((entry) => ({
493
+ entry,
494
+ routeMatch: entry.source === "config" ? { matched: true } : _chunkXGC343EYcjs.matchesMiddlewareRoute.call(void 0, initialPathname, entry)
495
+ })).filter((candidate) => candidate.routeMatch.matched);
496
+ if (applicable.length === 0) {
497
+ return {
498
+ request: currentRequest,
499
+ response: null,
500
+ data: new Map(ctx.data),
501
+ context: new Map(ctx.locals),
502
+ headers: mapToHeaders(contextState.headers),
503
+ handled: false
504
+ };
505
+ }
506
+ for (const candidate of applicable) {
507
+ const { entry, routeMatch } = candidate;
508
+ const configMatch = entry.config ? _chunkXGC343EYcjs.matchesMiddlewareConfig.call(void 0, initialPathname, entry.config, ctx) : { matched: true };
509
+ if (!configMatch.matched) {
510
+ continue;
511
+ }
512
+ if (parentData) {
513
+ contextState = createWebMiddlewareContext(
514
+ currentRequest,
515
+ parentData,
516
+ _optionalChain([options, 'access', _21 => _21.server, 'optionalAccess', _22 => _22.trustProxy]) === true,
517
+ requestOptions.clientAddress
518
+ );
519
+ ctx = contextState.ctx;
520
+ }
521
+ if (routeMatch.params) {
522
+ ctx.params = { ...ctx.params, ...routeMatch.params };
523
+ }
524
+ if (configMatch.params) {
525
+ ctx.params = { ...ctx.params, ...configMatch.params };
526
+ }
527
+ const middlewareStartTime = Date.now();
528
+ const middlewareEvent = {
529
+ route: entry.path,
530
+ pathname: initialPathname,
531
+ name: entry.filePath
532
+ };
533
+ _chunkE3UK5IIBcjs.emitFarmEvent.call(void 0, { type: "middleware.start", ...middlewareEvent });
534
+ try {
535
+ const returnedResponse = await executeHandlers(entry.handlers, ctx);
536
+ currentRequest = contextState.getRequest();
537
+ if (returnedResponse) {
538
+ const response = applyProductionMiddlewareHeaders(
539
+ returnedResponse,
540
+ mapToHeaders(contextState.headers)
541
+ );
542
+ _chunkE3UK5IIBcjs.emitFarmEvent.call(void 0, {
543
+ type: "middleware.shortCircuit",
544
+ ...middlewareEvent,
545
+ status: response.status
546
+ });
547
+ return {
548
+ request: currentRequest,
549
+ response,
550
+ data: new Map(ctx.data),
551
+ context: new Map(ctx.locals),
552
+ headers: mapToHeaders(contextState.headers),
553
+ handled: true
554
+ };
555
+ }
556
+ if (ctx._handled || ctx.response.headersSent || ctx.response.writableEnded) {
557
+ const response = contextState.getResponse() || new Response(null);
558
+ _chunkE3UK5IIBcjs.emitFarmEvent.call(void 0, {
559
+ type: "middleware.shortCircuit",
560
+ ...middlewareEvent,
561
+ status: response.status
562
+ });
563
+ return {
564
+ request: currentRequest,
565
+ response,
566
+ data: new Map(ctx.data),
567
+ context: new Map(ctx.locals),
568
+ headers: mapToHeaders(contextState.headers),
569
+ handled: true
570
+ };
571
+ }
572
+ _chunkE3UK5IIBcjs.emitFarmEvent.call(void 0, {
573
+ type: "middleware.complete",
574
+ ...middlewareEvent,
575
+ durationMs: Date.now() - middlewareStartTime
576
+ });
577
+ } catch (error) {
578
+ currentRequest = contextState.getRequest();
579
+ if (_chunkOX6O6WVAcjs.isFarmRedirectError.call(void 0, error)) {
580
+ const redirect = _chunkOX6O6WVAcjs.getFarmRedirectError.call(void 0, error);
581
+ const response = applyProductionMiddlewareHeaders(
582
+ new Response(null, { status: redirect.status, headers: { Location: redirect.url } }),
583
+ mapToHeaders(contextState.headers)
584
+ );
585
+ _chunkE3UK5IIBcjs.emitFarmEvent.call(void 0, {
586
+ type: "middleware.shortCircuit",
587
+ ...middlewareEvent,
588
+ status: response.status
589
+ });
590
+ return {
591
+ request: currentRequest,
592
+ response,
593
+ data: new Map(ctx.data),
594
+ context: new Map(ctx.locals),
595
+ headers: mapToHeaders(contextState.headers),
596
+ handled: true
597
+ };
598
+ }
599
+ if (_chunkOX6O6WVAcjs.isFarmNotFoundError.call(void 0, error)) {
600
+ _chunkE3UK5IIBcjs.emitFarmEvent.call(void 0, { type: "middleware.shortCircuit", ...middlewareEvent, status: 404 });
601
+ return {
602
+ request: currentRequest,
603
+ response: null,
604
+ data: new Map(ctx.data),
605
+ context: new Map(ctx.locals),
606
+ headers: mapToHeaders(contextState.headers),
607
+ handled: true,
608
+ notFound: true
609
+ };
610
+ }
611
+ _chunkE3UK5IIBcjs.emitFarmEvent.call(void 0, {
612
+ type: "middleware.error",
613
+ ...middlewareEvent,
614
+ error
615
+ });
616
+ throw error;
617
+ }
618
+ parentData = {
619
+ data: new Map(ctx.data),
620
+ locals: new Map(ctx.locals),
621
+ headers: headersToRecord(contextState.headers),
622
+ [FARM_SET_COOKIE_HEADERS]: [...contextState.headers.getSetCookies()]
623
+ };
624
+ }
625
+ return {
626
+ request: currentRequest,
627
+ response: null,
628
+ data: new Map(ctx.data),
629
+ context: new Map(ctx.locals),
630
+ headers: mapToHeaders(contextState.headers),
631
+ handled: false
632
+ };
633
+ }, "runProductionMiddleware");
634
+ }
635
+ _chunkS3JO3N4Hcjs.__name.call(void 0, createProductionMiddlewareRunner, "createProductionMiddlewareRunner");
636
+ function applyProductionMiddlewareHeaders(response, middlewareHeaders) {
637
+ if (!middlewareHeaders || Array.from(middlewareHeaders.keys()).length === 0) {
638
+ return response;
639
+ }
640
+ const headers = new Headers(response.headers);
641
+ const getSetCookie = middlewareHeaders.getSetCookie;
642
+ const setCookies = getSetCookie ? getSetCookie.call(middlewareHeaders) : middlewareHeaders.get("set-cookie") ? [middlewareHeaders.get("set-cookie")] : [];
643
+ for (const [key, value] of middlewareHeaders) {
644
+ if (key.toLowerCase() === "set-cookie") continue;
645
+ if (headers.has(key)) continue;
646
+ headers.set(key, value);
647
+ }
648
+ for (const cookie of setCookies) {
649
+ headers.append("Set-Cookie", cookie);
650
+ }
651
+ return new Response(response.body, {
652
+ status: response.status,
653
+ statusText: response.statusText,
654
+ headers
655
+ });
656
+ }
657
+ _chunkS3JO3N4Hcjs.__name.call(void 0, applyProductionMiddlewareHeaders, "applyProductionMiddlewareHeaders");
658
+
659
+
660
+
661
+
662
+
663
+ exports.matchesMiddlewareConfig = matchesMiddlewareConfig2; exports.createProductionMiddlewareRunner = createProductionMiddlewareRunner; exports.applyProductionMiddlewareHeaders = applyProductionMiddlewareHeaders;