@farm.js/core 0.1.25 → 0.1.26

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 (133) hide show
  1. package/dist/agent-runtime.d.mts +2 -2
  2. package/dist/agent-runtime.d.ts +2 -2
  3. package/dist/api/route-manager.d.mts +2 -2
  4. package/dist/api/route-manager.d.ts +2 -2
  5. package/dist/api.d.mts +3 -3
  6. package/dist/api.d.ts +3 -3
  7. package/dist/{app-ZuWrAMc_.d.mts → app-29vG5tmY.d.mts} +3 -3
  8. package/dist/{app-BF-ctoxh.d.ts → app-Cx71s_PT.d.ts} +3 -3
  9. package/dist/app-markdown.cjs +6 -4
  10. package/dist/app-markdown.d.mts +3 -3
  11. package/dist/app-markdown.d.ts +3 -3
  12. package/dist/app-markdown.mjs +5 -3
  13. package/dist/{chunk-E3RDL2DA.cjs → chunk-2CT6XUNO.cjs} +61 -31
  14. package/dist/{chunk-R7LCG3BT.cjs → chunk-3TQG7CGC.cjs} +84 -77
  15. package/dist/{chunk-AXYTGLF3.cjs → chunk-3WSWXPYM.cjs} +4 -4
  16. package/dist/{chunk-2BIJGZR3.mjs → chunk-74RZNRY6.mjs} +1 -1
  17. package/dist/{chunk-TTVHACQV.cjs → chunk-ALIFMS4A.cjs} +1 -1
  18. package/dist/{chunk-T2OPSH6S.mjs → chunk-ARXCHQLX.mjs} +9 -2
  19. package/dist/{chunk-2KI3CL3N.mjs → chunk-DU2CASV6.mjs} +1 -1
  20. package/dist/chunk-J63ZH5OQ.cjs +62 -0
  21. package/dist/{chunk-XM4ZDVD7.mjs → chunk-JM5GQL4H.mjs} +1 -1
  22. package/dist/{chunk-6VEHUKZ2.mjs → chunk-MM5D6VLP.mjs} +4 -20
  23. package/dist/chunk-MVL2RAJW.mjs +62 -0
  24. package/dist/{chunk-YA6LLTIJ.cjs → chunk-ND224OE2.cjs} +4 -20
  25. package/dist/{chunk-XME4TCLB.mjs → chunk-OFKG57MZ.mjs} +2 -2
  26. package/dist/{chunk-U4MP7XTD.mjs → chunk-OOIL3BWR.mjs} +168 -16
  27. package/dist/{chunk-WOI2HOGA.mjs → chunk-PPIW3MH6.mjs} +1 -1
  28. package/dist/{chunk-2ITKVAIF.cjs → chunk-QIH2HD6H.cjs} +191 -39
  29. package/dist/{chunk-65P6OGYN.cjs → chunk-QJ4D3UKJ.cjs} +10 -3
  30. package/dist/{chunk-RYDW7GPR.cjs → chunk-QLXEYIAW.cjs} +13 -13
  31. package/dist/{chunk-WJYCI56T.mjs → chunk-QPPQHB6X.mjs} +43 -30
  32. package/dist/{chunk-RR6UGYUT.mjs → chunk-RAI7NULA.mjs} +39 -9
  33. package/dist/{chunk-6K4SPQWL.cjs → chunk-RCYINC4A.cjs} +3 -3
  34. package/dist/{chunk-QYMRIVG6.cjs → chunk-SZ4LYNUX.cjs} +110 -97
  35. package/dist/{chunk-N2Z4ZFDE.mjs → chunk-UXQXGB5A.mjs} +19 -12
  36. package/dist/{chunk-CFNOGDUS.cjs → chunk-W2HZKYES.cjs} +2 -2
  37. package/dist/{chunk-O5DVPF3R.cjs → chunk-WFPRVVF2.cjs} +10 -10
  38. package/dist/{chunk-5YYJ6Q2L.mjs → chunk-YMUH2BLR.mjs} +2 -2
  39. package/dist/{client-plugins-DPG0NeZN.d.mts → client-plugins-B8RPJnot.d.mts} +90 -3
  40. package/dist/{client-plugins-Fgni-_25.d.ts → client-plugins-bPBf4haK.d.ts} +90 -3
  41. package/dist/client-plugins.d.mts +2 -2
  42. package/dist/client-plugins.d.ts +2 -2
  43. package/dist/client.d.mts +6 -6
  44. package/dist/client.d.ts +6 -6
  45. package/dist/config.d.mts +2 -2
  46. package/dist/config.d.ts +2 -2
  47. package/dist/{devtools-I7TBFOKD.mjs → devtools-5D4ZDRPR.mjs} +5 -3
  48. package/dist/{devtools-6OA7FEF6.cjs → devtools-QZJEUOJW.cjs} +6 -4
  49. package/dist/docs.cjs +8 -6
  50. package/dist/docs.mjs +7 -5
  51. package/dist/index.cjs +17 -13
  52. package/dist/index.d.mts +13 -13
  53. package/dist/index.d.ts +13 -13
  54. package/dist/index.mjs +16 -12
  55. package/dist/integrations.d.mts +2 -2
  56. package/dist/integrations.d.ts +2 -2
  57. package/dist/internal/app-markdown-runtime.cjs +5 -3
  58. package/dist/internal/app-markdown-runtime.d.mts +2 -2
  59. package/dist/internal/app-markdown-runtime.d.ts +2 -2
  60. package/dist/internal/app-markdown-runtime.mjs +4 -2
  61. package/dist/internal/build-runtime.cjs +14 -13
  62. package/dist/internal/build-runtime.d.mts +4 -4
  63. package/dist/internal/build-runtime.d.ts +4 -4
  64. package/dist/internal/build-runtime.mjs +13 -12
  65. package/dist/internal/cli-runtime.cjs +6 -5
  66. package/dist/internal/cli-runtime.mjs +5 -4
  67. package/dist/internal/client-error-overlay.cjs +4 -4
  68. package/dist/internal/client-error-overlay.mjs +1 -1
  69. package/dist/internal/compression-runtime.d.mts +2 -2
  70. package/dist/internal/compression-runtime.d.ts +2 -2
  71. package/dist/internal/config-runtime.cjs +6 -4
  72. package/dist/internal/config-runtime.d.mts +3 -3
  73. package/dist/internal/config-runtime.d.ts +3 -3
  74. package/dist/internal/config-runtime.mjs +5 -3
  75. package/dist/internal/infra-analytics-runtime.cjs +4 -3
  76. package/dist/internal/infra-analytics-runtime.mjs +2 -1
  77. package/dist/internal/product-telemetry-runtime.cjs +2 -2
  78. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  79. package/dist/internal/production-runtime.cjs +5 -4
  80. package/dist/internal/production-runtime.d.mts +11 -9
  81. package/dist/internal/production-runtime.d.ts +11 -9
  82. package/dist/internal/production-runtime.mjs +4 -3
  83. package/dist/markdown.cjs +4 -2
  84. package/dist/markdown.mjs +3 -1
  85. package/dist/{metadata-D0EF7esB.d.mts → metadata-C3na4CBj.d.mts} +1 -1
  86. package/dist/{metadata-CDnRHKVq.d.ts → metadata-CzBP4Mfp.d.ts} +1 -1
  87. package/dist/middleware.d.mts +4 -4
  88. package/dist/middleware.d.ts +4 -4
  89. package/dist/navigation.d.mts +5 -5
  90. package/dist/navigation.d.ts +5 -5
  91. package/dist/observability-BupkiN0m.d.mts +447 -0
  92. package/dist/observability-BupkiN0m.d.ts +447 -0
  93. package/dist/observability.d.mts +2 -417
  94. package/dist/observability.d.ts +2 -417
  95. package/dist/plugin.cjs +9 -8
  96. package/dist/plugin.d.mts +2 -2
  97. package/dist/plugin.d.ts +2 -2
  98. package/dist/plugin.mjs +8 -7
  99. package/dist/{production-runtime-DpCt0opU.d.ts → production-runtime-CYg4wM4E.d.ts} +1 -1
  100. package/dist/{production-runtime-x3W4wVqx.d.mts → production-runtime-DP94hPGe.d.mts} +1 -1
  101. package/dist/{render-plan-D5oFRVBV.d.ts → render-plan-Bl6Fzg5z.d.ts} +1 -1
  102. package/dist/{render-plan-tazUJalK.d.mts → render-plan-CKAJg0jC.d.mts} +1 -1
  103. package/dist/renderer-client.d.mts +4 -4
  104. package/dist/renderer-client.d.ts +4 -4
  105. package/dist/{request-CzZX0Aew.d.ts → request-CR-Bp1Px.d.ts} +1 -1
  106. package/dist/{request-CXmQy5ks.d.mts → request-CrBCcPZZ.d.mts} +1 -1
  107. package/dist/request.d.mts +3 -3
  108. package/dist/request.d.ts +3 -3
  109. package/dist/{route-rendering-B-qpe32B.d.mts → route-rendering-C1NAHo-C.d.mts} +1 -1
  110. package/dist/{route-rendering-Dw3C362T.d.ts → route-rendering-CZH5FegB.d.ts} +1 -1
  111. package/dist/{router-CafM2jlw.d.mts → router-B57eDJ3u.d.mts} +1 -1
  112. package/dist/{router-CLl3xHwl.d.ts → router-Cg_kD3Bd.d.ts} +1 -1
  113. package/dist/routes.d.mts +2 -2
  114. package/dist/routes.d.ts +2 -2
  115. package/dist/server-plugins.d.mts +3 -3
  116. package/dist/server-plugins.d.ts +3 -3
  117. package/dist/server.cjs +159 -102
  118. package/dist/server.d.mts +8 -8
  119. package/dist/server.d.ts +8 -8
  120. package/dist/server.mjs +140 -83
  121. package/dist/{spa-router-DePr2aZ6.d.ts → spa-router-BstQUO6Q.d.ts} +2 -2
  122. package/dist/{spa-router-6sJfsMlQ.d.mts → spa-router-DTdbuinx.d.mts} +2 -2
  123. package/dist/testing.d.mts +2 -2
  124. package/dist/testing.d.ts +2 -2
  125. package/dist/{utils-BPHr-1mP.d.mts → utils-CS3ZLnEJ.d.mts} +1 -1
  126. package/dist/{utils-BBKC3cf3.d.ts → utils-D3rdsIvM.d.ts} +1 -1
  127. package/dist/version.cjs +2 -2
  128. package/dist/version.mjs +1 -1
  129. package/dist/vite.cjs +9 -8
  130. package/dist/vite.d.mts +2 -2
  131. package/dist/vite.d.ts +2 -2
  132. package/dist/vite.mjs +8 -7
  133. package/package.json +1 -1
@@ -27,7 +27,7 @@ var _chunkJSROZYYOcjs = require('./chunk-JSROZYYO.cjs');
27
27
 
28
28
 
29
29
 
30
- var _chunk65P6OGYNcjs = require('./chunk-65P6OGYN.cjs');
30
+ var _chunkQJ4D3UKJcjs = require('./chunk-QJ4D3UKJ.cjs');
31
31
 
32
32
 
33
33
  var _chunkCXP5U3RWcjs = require('./chunk-CXP5U3RW.cjs');
@@ -107,7 +107,7 @@ var _chunkPSV6XKPOcjs = require('./chunk-PSV6XKPO.cjs');
107
107
 
108
108
 
109
109
 
110
- var _chunkE3RDL2DAcjs = require('./chunk-E3RDL2DA.cjs');
110
+ var _chunk2CT6XUNOcjs = require('./chunk-2CT6XUNO.cjs');
111
111
 
112
112
 
113
113
 
@@ -125,12 +125,12 @@ var _chunkVEKFLAQMcjs = require('./chunk-VEKFLAQM.cjs');
125
125
 
126
126
 
127
127
 
128
- var _chunkCFNOGDUScjs = require('./chunk-CFNOGDUS.cjs');
128
+ var _chunkW2HZKYEScjs = require('./chunk-W2HZKYES.cjs');
129
129
 
130
130
 
131
131
 
132
132
 
133
- var _chunk6K4SPQWLcjs = require('./chunk-6K4SPQWL.cjs');
133
+ var _chunkRCYINC4Acjs = require('./chunk-RCYINC4A.cjs');
134
134
 
135
135
 
136
136
 
@@ -144,7 +144,7 @@ var _chunkOHY2ZWUGcjs = require('./chunk-OHY2ZWUG.cjs');
144
144
 
145
145
 
146
146
 
147
- var _chunk2ITKVAIFcjs = require('./chunk-2ITKVAIF.cjs');
147
+ var _chunkQIH2HD6Hcjs = require('./chunk-QIH2HD6H.cjs');
148
148
 
149
149
 
150
150
  var _chunkMPEYMSCFcjs = require('./chunk-MPEYMSCF.cjs');
@@ -274,7 +274,7 @@ var _chunkQNPEUFHQcjs = require('./chunk-QNPEUFHQ.cjs');
274
274
  var _chunkUQZ4AYTHcjs = require('./chunk-UQZ4AYTH.cjs');
275
275
 
276
276
 
277
- var _chunkTTVHACQVcjs = require('./chunk-TTVHACQV.cjs');
277
+ var _chunkALIFMS4Acjs = require('./chunk-ALIFMS4A.cjs');
278
278
 
279
279
 
280
280
 
@@ -2237,7 +2237,7 @@ var _RouteManager = class _RouteManager {
2237
2237
  );
2238
2238
  const routeEntries = Array.from(this.routes.values()).map((entry) => ({
2239
2239
  entry,
2240
- metadata: _chunk6K4SPQWLcjs.isFarmMarkdownPageFile.call(void 0, entry.modulePath) ? markdownPagePlan() : getClientModuleHydrationPlan(
2240
+ metadata: _chunkRCYINC4Acjs.isFarmMarkdownPageFile.call(void 0, entry.modulePath) ? markdownPagePlan() : getClientModuleHydrationPlan(
2241
2241
  entry.modulePath,
2242
2242
  normalizedProjectRoot,
2243
2243
  isolatedMode,
@@ -2245,7 +2245,7 @@ var _RouteManager = class _RouteManager {
2245
2245
  )
2246
2246
  }));
2247
2247
  const markdownFallback = routeEntries.find(
2248
- ({ entry, metadata }) => _chunk6K4SPQWLcjs.isFarmMarkdownPageFile.call(void 0, entry.modulePath) && metadata.fallbackReason
2248
+ ({ entry, metadata }) => _chunkRCYINC4Acjs.isFarmMarkdownPageFile.call(void 0, entry.modulePath) && metadata.fallbackReason
2249
2249
  );
2250
2250
  if (markdownFallback) {
2251
2251
  _chunk5QIKR7RRcjs.logger.warn(
@@ -2253,7 +2253,7 @@ var _RouteManager = class _RouteManager {
2253
2253
  );
2254
2254
  }
2255
2255
  const markdownStaticPackages = _optionalChain([routeEntries, 'access', _120 => _120.find, 'call', _121 => _121(
2256
- ({ entry, metadata }) => _chunk6K4SPQWLcjs.isFarmMarkdownPageFile.call(void 0, entry.modulePath) && metadata.staticPackageBoundaries
2256
+ ({ entry, metadata }) => _chunkRCYINC4Acjs.isFarmMarkdownPageFile.call(void 0, entry.modulePath) && metadata.staticPackageBoundaries
2257
2257
  ), 'optionalAccess', _122 => _122.metadata, 'access', _123 => _123.staticPackageBoundaries]);
2258
2258
  if (markdownStaticPackages) {
2259
2259
  _chunk5QIKR7RRcjs.logger.info(
@@ -2261,7 +2261,7 @@ var _RouteManager = class _RouteManager {
2261
2261
  );
2262
2262
  }
2263
2263
  for (const { entry, metadata } of [...layoutEntries, ...routeEntries]) {
2264
- if (_chunk6K4SPQWLcjs.isFarmMarkdownPageFile.call(void 0, entry.modulePath) || !metadata.staticPackageBoundaries) continue;
2264
+ if (_chunkRCYINC4Acjs.isFarmMarkdownPageFile.call(void 0, entry.modulePath) || !metadata.staticPackageBoundaries) continue;
2265
2265
  _chunk5QIKR7RRcjs.logger.info(
2266
2266
  `[Farm.js] ${entry.pattern} is async, so it renders client components from ${metadata.staticPackageBoundaries.join(", ")} as static HTML: package client components cannot be isolated yet.`
2267
2267
  );
@@ -2413,13 +2413,13 @@ var _RouteManager = class _RouteManager {
2413
2413
  const { createRouteModuleFromProgrammaticPage } = await import("./routes.cjs");
2414
2414
  return createRouteModuleFromProgrammaticPage(programmaticPage, this.rendererRuntime);
2415
2415
  }
2416
- if (_chunk6K4SPQWLcjs.isFarmMarkdownPageFile.call(void 0, modulePath)) {
2416
+ if (_chunkRCYINC4Acjs.isFarmMarkdownPageFile.call(void 0, modulePath)) {
2417
2417
  const mdxConfig = _chunkOHY2ZWUGcjs.resolveMdxConfig.call(void 0, this.config.mdx);
2418
- const components = await _chunkCFNOGDUScjs.loadFarmMdxComponents.call(void 0, mdxConfig, {
2418
+ const components = await _chunkW2HZKYEScjs.loadFarmMdxComponents.call(void 0, mdxConfig, {
2419
2419
  root: this.config.root,
2420
2420
  loadModule: this.viteServer ? (componentModulePath) => _chunkBMWDEBXOcjs.loadFarmDevModule.call(void 0, this.viteServer, componentModulePath) : void 0
2421
2421
  });
2422
- return await _chunkCFNOGDUScjs.createFarmMarkdownRouteModuleFromFile.call(void 0, modulePath, {
2422
+ return await _chunkW2HZKYEScjs.createFarmMarkdownRouteModuleFromFile.call(void 0, modulePath, {
2423
2423
  components,
2424
2424
  config: mdxConfig
2425
2425
  });
@@ -2526,8 +2526,8 @@ var _RouteManager = class _RouteManager {
2526
2526
  }
2527
2527
  }
2528
2528
  for (const [pattern, group] of canonicalPageGroups) {
2529
- const componentFiles = group.files.filter((file) => !_chunk6K4SPQWLcjs.isFarmMarkdownPageFile.call(void 0, file));
2530
- const markdownFiles = group.files.filter(_chunk6K4SPQWLcjs.isFarmMarkdownPageFile);
2529
+ const componentFiles = group.files.filter((file) => !_chunkRCYINC4Acjs.isFarmMarkdownPageFile.call(void 0, file));
2530
+ const markdownFiles = group.files.filter(_chunkRCYINC4Acjs.isFarmMarkdownPageFile);
2531
2531
  if (componentFiles.length > 1) {
2532
2532
  throw new Error(
2533
2533
  `Duplicate page route "${pattern}". Found ${componentFiles.map((file) => path9.default.join(appDir, file)).join(" and ")}.`
@@ -3042,7 +3042,7 @@ _chunkS3JO3N4Hcjs.__name.call(void 0, collectDevStylesheetUrls, "collectDevStyle
3042
3042
 
3043
3043
  // src/server/full-document.ts
3044
3044
  var CONTENTS_WRAPPER = /^<div\b[^>]*style="display\s*:\s*contents"[^>]*>/i;
3045
- var HOISTED_HEAD_ELEMENT = /^(?:<(?:meta|link|base)\b[^>]*>|<title\b[^>]*>[\s\S]*?<\/title>)/i;
3045
+ var HOISTED_HEAD_ELEMENT = /^(?:<(?:meta|link|base)\b[^>]*>|<title\b[^>]*>[\s\S]*?<\/title>|<script\b[^>]*\basync\b[^>]*><\/script>|<style\b[^>]*\bdata-precedence\b[^>]*>[\s\S]*?<\/style>)/i;
3046
3046
  function peelDocumentPrefix(markup) {
3047
3047
  let inner = markup.replace(/^\s+/, "");
3048
3048
  let hoisted = "";
@@ -4686,7 +4686,7 @@ _chunkS3JO3N4Hcjs.__name.call(void 0, appendResponseVary, "appendResponseVary");
4686
4686
  function renderI18nAlternateLinks(requestPath, snapshot, options) {
4687
4687
  if (snapshot.routing === "none") return "";
4688
4688
  const url = new URL(requestPath, "http://farm.local");
4689
- return _chunk65P6OGYNcjs.renderFarmLocaleAlternateLinks.call(void 0, url.pathname, snapshot, options);
4689
+ return _chunkQJ4D3UKJcjs.renderFarmLocaleAlternateLinks.call(void 0, url.pathname, snapshot, options);
4690
4690
  }
4691
4691
  _chunkS3JO3N4Hcjs.__name.call(void 0, renderI18nAlternateLinks, "renderI18nAlternateLinks");
4692
4692
  var PPR_REFRESH_MAX_ATTEMPTS = 3;
@@ -4825,7 +4825,7 @@ var _ServerRenderer = class _ServerRenderer {
4825
4825
  this.routeManager = routeManager;
4826
4826
  this.i18nRuntime = i18nRuntime;
4827
4827
  this.viteServer = viteServer;
4828
- this.security = _chunkE3RDL2DAcjs.resolveFarmSecurityConfig.call(void 0, config.security);
4828
+ this.security = _chunk2CT6XUNOcjs.resolveFarmSecurityConfig.call(void 0, config.security);
4829
4829
  this.loadSSGManifest();
4830
4830
  }
4831
4831
  async initialize() {
@@ -5324,10 +5324,10 @@ var _ServerRenderer = class _ServerRenderer {
5324
5324
  if (this.viteServer) await this.applyRendererAppSetup();
5325
5325
  _chunkI57LW5VZcjs.setFarmBasePath.call(void 0, this.config.basePath);
5326
5326
  _chunkOYEUREB6cjs.setFarmTrailingSlashPreference.call(void 0, this.config.trailingSlash);
5327
- const cspNonce = _chunkE3RDL2DAcjs.createFarmCspNonce.call(void 0, this.security);
5327
+ const cspNonce = _chunk2CT6XUNOcjs.createFarmCspNonce.call(void 0, this.security);
5328
5328
  if (cspNonce) {
5329
5329
  req.__FARM_CSP_NONCE__ = cspNonce;
5330
- const header = _chunkE3RDL2DAcjs.getFarmSecurityHeader.call(void 0, this.security, cspNonce);
5330
+ const header = _chunk2CT6XUNOcjs.getFarmSecurityHeader.call(void 0, this.security, cspNonce);
5331
5331
  res.setHeader(header.key, header.value);
5332
5332
  }
5333
5333
  const request2 = _chunk5ZSWG4UXcjs.createWebRequestFromFarmRequest.call(void 0, req, {
@@ -5910,7 +5910,7 @@ var _ServerRenderer = class _ServerRenderer {
5910
5910
  }
5911
5911
  }
5912
5912
  _chunkE3UK5IIBcjs.emitFarmEvent.call(void 0, { type: "render.error", route: pathname, error });
5913
- const errorStatus = _chunk65P6OGYNcjs.resolveDefaultErrorStatus.call(void 0, error);
5913
+ const errorStatus = _chunkQJ4D3UKJcjs.resolveDefaultErrorStatus.call(void 0, error);
5914
5914
  if (pprRefreshRoute) {
5915
5915
  _chunkE3UK5IIBcjs.emitFarmEvent.call(void 0, {
5916
5916
  type: "ppr.refresh.error",
@@ -6054,7 +6054,7 @@ var _ServerRenderer = class _ServerRenderer {
6054
6054
  );
6055
6055
  metadata = _chunk3TQWUUNPcjs.addMetadataMarkdownAlternate.call(void 0,
6056
6056
  metadata,
6057
- _chunk2ITKVAIFcjs.getFarmMarkdownAlternatePath.call(void 0, _chunk2ITKVAIFcjs.resolveMarkdownConfig.call(void 0, this.config.md), publicPathname)
6057
+ _chunkQIH2HD6Hcjs.getFarmMarkdownAlternatePath.call(void 0, _chunkQIH2HD6Hcjs.resolveMarkdownConfig.call(void 0, this.config.md), publicPathname)
6058
6058
  );
6059
6059
  return metadata;
6060
6060
  }
@@ -6126,12 +6126,13 @@ var _ServerRenderer = class _ServerRenderer {
6126
6126
  path: match.routePath,
6127
6127
  ...llmsContext
6128
6128
  }) : routeModule.default;
6129
- const body = match.metadata.kind === "llms-full" && !(value instanceof Response) ? await _chunkE3RDL2DAcjs.renderFarmLlmsFullTxt.call(void 0, value, {
6129
+ const body = match.metadata.kind === "llms-full" && !(value instanceof Response) ? await _chunk2CT6XUNOcjs.renderFarmLlmsFullTxt.call(void 0, value, {
6130
6130
  origin: url.origin,
6131
6131
  readMarkdown: llmsContext.markdown
6132
6132
  }) : value;
6133
- const response = _chunk65P6OGYNcjs.createFarmMetadataRouteResponse.call(void 0, match.metadata.kind, body, routeModule, {
6134
- method
6133
+ const response = _chunkQJ4D3UKJcjs.createFarmMetadataRouteResponse.call(void 0, match.metadata.kind, body, routeModule, {
6134
+ method,
6135
+ request: request2
6135
6136
  });
6136
6137
  await _chunkUQZ4AYTHcjs.sendWebResponse.call(void 0, res, response);
6137
6138
  } catch (error) {
@@ -6147,7 +6148,7 @@ var _ServerRenderer = class _ServerRenderer {
6147
6148
  }
6148
6149
  /** `/llms.txt` and `/llms-full.txt` from `agent.llmsTxt` when no file route owns them. */
6149
6150
  getGeneratedLlmsKind(pathname) {
6150
- const config = _chunkE3RDL2DAcjs.resolveFarmLlmsTxtConfig.call(void 0, _optionalChain([this, 'access', _200 => _200.config, 'access', _201 => _201.agent, 'optionalAccess', _202 => _202.llmsTxt]));
6151
+ const config = _chunk2CT6XUNOcjs.resolveFarmLlmsTxtConfig.call(void 0, _optionalChain([this, 'access', _200 => _200.config, 'access', _201 => _201.agent, 'optionalAccess', _202 => _202.llmsTxt]));
6151
6152
  if (!config.enabled) return null;
6152
6153
  if (pathname === "/llms.txt") return "llms";
6153
6154
  return pathname === "/llms-full.txt" && config.full ? "llms-full" : null;
@@ -6157,19 +6158,19 @@ var _ServerRenderer = class _ServerRenderer {
6157
6158
  const request2 = _chunk5ZSWG4UXcjs.createWebRequestFromFarmRequest.call(void 0, req, {
6158
6159
  trustProxy: _optionalChain([this, 'access', _203 => _203.config, 'access', _204 => _204.server, 'optionalAccess', _205 => _205.trustProxy])
6159
6160
  });
6160
- const config = _chunkE3RDL2DAcjs.resolveFarmLlmsTxtConfig.call(void 0, _optionalChain([this, 'access', _206 => _206.config, 'access', _207 => _207.agent, 'optionalAccess', _208 => _208.llmsTxt]));
6161
+ const config = _chunk2CT6XUNOcjs.resolveFarmLlmsTxtConfig.call(void 0, _optionalChain([this, 'access', _206 => _206.config, 'access', _207 => _207.agent, 'optionalAccess', _208 => _208.llmsTxt]));
6161
6162
  const context = await this.createLlmsTxtContext(request2, { full: kind === "llms-full", req });
6162
- const body = kind === "llms-full" ? await _chunkE3RDL2DAcjs.renderFarmLlmsFullTxt.call(void 0, context.defaults, {
6163
+ const body = kind === "llms-full" ? await _chunk2CT6XUNOcjs.renderFarmLlmsFullTxt.call(void 0, context.defaults, {
6163
6164
  origin: new URL(request2.url).origin,
6164
6165
  readMarkdown: context.markdown
6165
6166
  }) : context.defaults;
6166
6167
  await _chunkUQZ4AYTHcjs.sendWebResponse.call(void 0,
6167
6168
  res,
6168
- _chunk65P6OGYNcjs.createFarmMetadataRouteResponse.call(void 0,
6169
+ _chunkQJ4D3UKJcjs.createFarmMetadataRouteResponse.call(void 0,
6169
6170
  kind,
6170
6171
  body,
6171
6172
  { revalidate: config.revalidate },
6172
- { method: req.method }
6173
+ { method: req.method, request: request2 }
6173
6174
  )
6174
6175
  );
6175
6176
  } catch (error) {
@@ -6184,7 +6185,7 @@ var _ServerRenderer = class _ServerRenderer {
6184
6185
  }
6185
6186
  }
6186
6187
  getAgentCrawlers() {
6187
- return _chunkE3RDL2DAcjs.resolveFarmAgentCrawlers.call(void 0, _optionalChain([this, 'access', _209 => _209.config, 'access', _210 => _210.agent, 'optionalAccess', _211 => _211.crawlers]));
6188
+ return _chunk2CT6XUNOcjs.resolveFarmAgentCrawlers.call(void 0, _optionalChain([this, 'access', _209 => _209.config, 'access', _210 => _210.agent, 'optionalAccess', _211 => _211.crawlers]));
6188
6189
  }
6189
6190
  /** `/robots.txt` from `agent.crawlers` when no robots.ts owns it. */
6190
6191
  async renderGeneratedRobotsTxt(req, res) {
@@ -6192,7 +6193,7 @@ var _ServerRenderer = class _ServerRenderer {
6192
6193
  const sitemapPath = _optionalChain([this, 'access', _212 => _212.routeManager, 'access', _213 => _213.matchMetadataRoute, 'call', _214 => _214("/sitemap.xml"), 'optionalAccess', _215 => _215.metadata, 'access', _216 => _216.kind]) === "sitemap" ? "/sitemap.xml" : void 0;
6193
6194
  const rootLayout = this.routeManager.getLayouts().get("/");
6194
6195
  const rootMetadata = sitemapPath && rootLayout ? (await this.routeManager.loadLayoutModule(rootLayout.modulePath)).metadata : void 0;
6195
- const robots = _chunkE3RDL2DAcjs.createFarmAgentRobots.call(void 0, {
6196
+ const robots = _chunk2CT6XUNOcjs.createFarmAgentRobots.call(void 0, {
6196
6197
  crawlers: this.getAgentCrawlers(),
6197
6198
  sitemapPath,
6198
6199
  metadataBase: _optionalChain([rootMetadata, 'optionalAccess', _217 => _217.metadataBase]),
@@ -6200,7 +6201,7 @@ var _ServerRenderer = class _ServerRenderer {
6200
6201
  });
6201
6202
  await _chunkUQZ4AYTHcjs.sendWebResponse.call(void 0,
6202
6203
  res,
6203
- _chunk65P6OGYNcjs.createFarmMetadataRouteResponse.call(void 0, "robots", robots, {}, { method: req.method })
6204
+ _chunkQJ4D3UKJcjs.createFarmMetadataRouteResponse.call(void 0, "robots", robots, {}, { method: req.method })
6204
6205
  );
6205
6206
  } catch (error) {
6206
6207
  _chunk5QIKR7RRcjs.logger.error(`Generated robots.txt failed: ${error}`);
@@ -6215,7 +6216,7 @@ var _ServerRenderer = class _ServerRenderer {
6215
6216
  }
6216
6217
  /** Same inputs the production server gives llms.txt: static pages and root metadata. */
6217
6218
  async createLlmsTxtContext(request2, options = {}) {
6218
- const config = _chunkE3RDL2DAcjs.resolveFarmLlmsTxtConfig.call(void 0, _optionalChain([this, 'access', _218 => _218.config, 'access', _219 => _219.agent, 'optionalAccess', _220 => _220.llmsTxt]));
6219
+ const config = _chunk2CT6XUNOcjs.resolveFarmLlmsTxtConfig.call(void 0, _optionalChain([this, 'access', _218 => _218.config, 'access', _219 => _219.agent, 'optionalAccess', _220 => _220.llmsTxt]));
6219
6220
  const origin = new URL(request2.url).origin;
6220
6221
  const staticRoutes = [...this.routeManager.getRoutes()].filter(
6221
6222
  ([pattern]) => !pattern.includes("[")
@@ -6233,16 +6234,16 @@ var _ServerRenderer = class _ServerRenderer {
6233
6234
  );
6234
6235
  const rootLayout = this.routeManager.getLayouts().get("/");
6235
6236
  const rootMetadata = rootLayout ? (await this.routeManager.loadLayoutModule(rootLayout.modulePath)).metadata : void 0;
6236
- const pages = _chunkE3RDL2DAcjs.collectFarmLlmsTxtPages.call(void 0, sources, {
6237
+ const pages = _chunk2CT6XUNOcjs.collectFarmLlmsTxtPages.call(void 0, sources, {
6237
6238
  origin,
6238
6239
  basePath: this.config.basePath,
6239
- markdown: _chunk2ITKVAIFcjs.resolveMarkdownConfig.call(void 0, this.config.md),
6240
+ markdown: _chunkQIH2HD6Hcjs.resolveMarkdownConfig.call(void 0, this.config.md),
6240
6241
  include: config.include,
6241
6242
  exclude: config.exclude
6242
6243
  });
6243
6244
  return {
6244
6245
  pages,
6245
- defaults: _chunkE3RDL2DAcjs.createFarmDefaultLlmsTxt.call(void 0, { origin, pages, config, rootMetadata }),
6246
+ defaults: _chunk2CT6XUNOcjs.createFarmDefaultLlmsTxt.call(void 0, { origin, pages, config, rootMetadata }),
6246
6247
  ...options.full ? { markdown: this.createDevMarkdownReader(options.req) } : {}
6247
6248
  };
6248
6249
  }
@@ -6262,11 +6263,11 @@ var _ServerRenderer = class _ServerRenderer {
6262
6263
  }
6263
6264
  if (socket.encrypted) {
6264
6265
  const address = { host: socket.localAddress, port: socket.localPort };
6265
- return _chunkE3RDL2DAcjs.createFarmLlmsMarkdownReader.call(void 0, (page) => requestOwnHttpsServer(page, address));
6266
+ return _chunk2CT6XUNOcjs.createFarmLlmsMarkdownReader.call(void 0, (page) => requestOwnHttpsServer(page, address));
6266
6267
  }
6267
6268
  const host = socket.localAddress.includes(":") ? `[${socket.localAddress}]` : socket.localAddress;
6268
6269
  const localOrigin = `http://${host}:${socket.localPort}`;
6269
- const read = _chunkE3RDL2DAcjs.createFarmLlmsMarkdownReader.call(void 0, (page) => fetch(page));
6270
+ const read = _chunk2CT6XUNOcjs.createFarmLlmsMarkdownReader.call(void 0, (page) => fetch(page));
6270
6271
  return (url) => {
6271
6272
  const target = new URL(url);
6272
6273
  return read(`${localOrigin}${target.pathname}${target.search}`);
@@ -6517,7 +6518,7 @@ window.__FARM_I18N__ = ${_chunkUJ2C4ICScjs.getFarmI18nClientSnapshot.call(void 0
6517
6518
  i18nSnapshot,
6518
6519
  this.getI18nAlternateOptions(req, req.__FARM_METADATA__)
6519
6520
  ) : "";
6520
- const themeDocument = _chunk65P6OGYNcjs.createFarmThemeDocumentParts.call(void 0,
6521
+ const themeDocument = _chunkQJ4D3UKJcjs.createFarmThemeDocumentParts.call(void 0,
6521
6522
  this.config.theme,
6522
6523
  this.config.basePath,
6523
6524
  _chunkXWAWFQFScjs.getTheme.call(void 0, )
@@ -6754,7 +6755,7 @@ window.__FARM_I18N__ = ${_chunkUJ2C4ICScjs.getFarmI18nClientSnapshot.call(void 0
6754
6755
  this.getI18nAlternateOptions(req, req.__FARM_METADATA__)
6755
6756
  ) : "";
6756
6757
  const fontHead = renderFarmFontDevHead(this.config.root || process.cwd());
6757
- const themeDocument = _chunk65P6OGYNcjs.createFarmThemeDocumentParts.call(void 0,
6758
+ const themeDocument = _chunkQJ4D3UKJcjs.createFarmThemeDocumentParts.call(void 0,
6758
6759
  this.config.theme,
6759
6760
  this.config.basePath,
6760
6761
  _chunkXWAWFQFScjs.getTheme.call(void 0, )
@@ -6763,7 +6764,7 @@ window.__FARM_I18N__ = ${_chunkUJ2C4ICScjs.getFarmI18nClientSnapshot.call(void 0
6763
6764
  const devStyleLinks = this.collectDevStyleLinks();
6764
6765
  const globalStylesheetLink = this.devGlobalStylesheetLink(true);
6765
6766
  const cspNonce = this.getCspNonce(req);
6766
- const secureDocumentHTML = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (html) => cspNonce ? _chunkE3RDL2DAcjs.addFarmCspNonceToScriptTags.call(void 0, html, cspNonce) : html, "secureDocumentHTML");
6767
+ const secureDocumentHTML = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (html) => cspNonce ? _chunk2CT6XUNOcjs.addFarmCspNonceToScriptTags.call(void 0, html, cspNonce) : html, "secureDocumentHTML");
6767
6768
  const createLateNavigationRecovery = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (navigationError) => this.createLateNavigationRecoveryHTML(req, navigationError), "createLateNavigationRecovery");
6768
6769
  const { pipe, abort } = renderToPipeableStream(streamRoot, {
6769
6770
  nonce: cspNonce,
@@ -6810,7 +6811,7 @@ window.__FARM_I18N__ = ${_chunkUJ2C4ICScjs.getFarmI18nClientSnapshot.call(void 0
6810
6811
  let firstChunk = true;
6811
6812
  let checkedFullDocument = false;
6812
6813
  let documentPrefix = "";
6813
- const cspNonceRewriter = cspNonce ? _chunkE3RDL2DAcjs.createFarmCspNonceRewriter.call(void 0, cspNonce) : void 0;
6814
+ const cspNonceRewriter = cspNonce ? _chunk2CT6XUNOcjs.createFarmCspNonceRewriter.call(void 0, cspNonce) : void 0;
6814
6815
  const cspStreamDecoder = cspNonceRewriter ? new TextDecoder() : void 0;
6815
6816
  const recordRenderedChunk = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (chunkText) => {
6816
6817
  if (!chunkText) return;
@@ -7013,7 +7014,7 @@ window.__FARM_I18N__ = ${_chunkUJ2C4ICScjs.getFarmI18nClientSnapshot.call(void 0
7013
7014
  */
7014
7015
  async createLateNavigationRecoveryHTML(req, error) {
7015
7016
  if (_chunkOX6O6WVAcjs.isFarmRedirectError.call(void 0, error)) {
7016
- return _chunk65P6OGYNcjs.createLateRedirectRecovery.call(void 0, this.localizeRedirectUrl(_chunkOX6O6WVAcjs.getFarmRedirectError.call(void 0, error).url));
7017
+ return _chunkQJ4D3UKJcjs.createLateRedirectRecovery.call(void 0, this.localizeRedirectUrl(_chunkOX6O6WVAcjs.getFarmRedirectError.call(void 0, error).url));
7017
7018
  }
7018
7019
  const pathname = _chunk5ZSWG4UXcjs.resolveFarmRequestURL.call(void 0, req, {
7019
7020
  trustProxy: _optionalChain([this, 'access', _253 => _253.config, 'access', _254 => _254.server, 'optionalAccess', _255 => _255.trustProxy])
@@ -7031,7 +7032,7 @@ window.__FARM_I18N__ = ${_chunkUJ2C4ICScjs.getFarmI18nClientSnapshot.call(void 0
7031
7032
  _chunk5QIKR7RRcjs.logger.warn(`not-found page could not render outside its layout, using Farm's: ${error2}`);
7032
7033
  }
7033
7034
  }
7034
- return _chunk65P6OGYNcjs.createLateNotFoundRecovery.call(void 0, content);
7035
+ return _chunkQJ4D3UKJcjs.createLateNotFoundRecovery.call(void 0, content);
7035
7036
  }
7036
7037
  async render404(req, res) {
7037
7038
  res.statusCode = 404;
@@ -7040,11 +7041,11 @@ window.__FARM_I18N__ = ${_chunkUJ2C4ICScjs.getFarmI18nClientSnapshot.call(void 0
7040
7041
  }).pathname;
7041
7042
  const acceptHeader = req.headers.accept;
7042
7043
  const accept = Array.isArray(acceptHeader) ? acceptHeader.join(",") : acceptHeader;
7043
- if (_chunk2ITKVAIFcjs.farmRequestWantsMarkdown.call(void 0, pathname, accept)) {
7044
- res.setHeader("Content-Type", _chunk2ITKVAIFcjs.FARM_MARKDOWN_CONTENT_TYPE);
7044
+ if (_chunkQIH2HD6Hcjs.farmRequestWantsMarkdown.call(void 0, pathname, accept)) {
7045
+ res.setHeader("Content-Type", _chunkQIH2HD6Hcjs.FARM_MARKDOWN_CONTENT_TYPE);
7045
7046
  res.setHeader("X-Farm-Markdown-Error", "404");
7046
7047
  res.setHeader("Cache-Control", "no-store");
7047
- res.end(_chunk2ITKVAIFcjs.createFarmMarkdownErrorBody.call(void 0, 404, pathname, this.config.basePath || "/"));
7048
+ res.end(_chunkQIH2HD6Hcjs.createFarmMarkdownErrorBody.call(void 0, 404, pathname, this.config.basePath || "/"));
7048
7049
  return;
7049
7050
  }
7050
7051
  const appDir = path9.join(this.config.root, this.config.srcDir, "app");
@@ -7106,8 +7107,8 @@ window.__FARM_I18N__ = ${_chunkUJ2C4ICScjs.getFarmI18nClientSnapshot.call(void 0
7106
7107
  trustProxy: _optionalChain([this, 'access', _261 => _261.config, 'access', _262 => _262.server, 'optionalAccess', _263 => _263.trustProxy])
7107
7108
  });
7108
7109
  const diagnostics = isDev ? createDefaultErrorDiagnostics(error, this.config.root || process.cwd()) : void 0;
7109
- const statusText = _chunk65P6OGYNcjs.getDefaultErrorStatusText.call(void 0, statusCode);
7110
- const content = _chunk65P6OGYNcjs.createDefaultErrorMarkup.call(void 0, {
7110
+ const statusText = _chunkQJ4D3UKJcjs.getDefaultErrorStatusText.call(void 0, statusCode);
7111
+ const content = _chunkQJ4D3UKJcjs.createDefaultErrorMarkup.call(void 0, {
7111
7112
  statusCode,
7112
7113
  statusText,
7113
7114
  requestPath: requestUrl.pathname,
@@ -7117,7 +7118,7 @@ window.__FARM_I18N__ = ${_chunkUJ2C4ICScjs.getFarmI18nClientSnapshot.call(void 0
7117
7118
  stack: _optionalChain([diagnostics, 'optionalAccess', _266 => _266.stack]),
7118
7119
  sourceFrame: _optionalChain([diagnostics, 'optionalAccess', _267 => _267.sourceFrame]),
7119
7120
  development: isDev,
7120
- farmVersion: _chunkTTVHACQVcjs.FARM_VERSION,
7121
+ farmVersion: _chunkALIFMS4Acjs.FARM_VERSION,
7121
7122
  nodeVersion: process.version,
7122
7123
  mode: isDev ? "development" : "production"
7123
7124
  });
@@ -7160,7 +7161,7 @@ ${i18nSnapshot ? `window.__FARM_I18N__ = ${serializeInlineValue(i18nSnapshot)};`
7160
7161
  this.getI18nAlternateOptions(alternates.req, alternates.metadata)
7161
7162
  ) : "";
7162
7163
  const fontHead = renderFarmFontDevHead(this.config.root || process.cwd());
7163
- const themeDocument = _chunk65P6OGYNcjs.createFarmThemeDocumentParts.call(void 0,
7164
+ const themeDocument = _chunkQJ4D3UKJcjs.createFarmThemeDocumentParts.call(void 0,
7164
7165
  this.config.theme,
7165
7166
  this.config.basePath,
7166
7167
  _chunkXWAWFQFScjs.getTheme.call(void 0, )
@@ -7220,7 +7221,7 @@ ${clientScript}
7220
7221
  }
7221
7222
  secureDocumentHTML(req, html) {
7222
7223
  const nonce = this.getCspNonce(req);
7223
- return nonce ? _chunkE3RDL2DAcjs.addFarmCspNonceToScriptTags.call(void 0, html, nonce) : html;
7224
+ return nonce ? _chunk2CT6XUNOcjs.addFarmCspNonceToScriptTags.call(void 0, html, nonce) : html;
7224
7225
  }
7225
7226
  applyDeploymentHeaders(req, res) {
7226
7227
  const deploymentId = this.getDeploymentId();
@@ -7328,9 +7329,9 @@ var _FarmApp = class _FarmApp {
7328
7329
  context: config.context || (() => void 0),
7329
7330
  server: _chunkEM6SBQKMcjs.resolveFarmServerConfig.call(void 0, config.server),
7330
7331
  serverActions: _chunkT5CERMEHcjs.resolveServerActionsConfig.call(void 0, config.serverActions),
7331
- security: _chunkE3RDL2DAcjs.resolveFarmSecurityConfig.call(void 0, config.security),
7332
+ security: _chunk2CT6XUNOcjs.resolveFarmSecurityConfig.call(void 0, config.security),
7332
7333
  images: _chunkYFPGHF5Fcjs.resolveFarmImageConfig.call(void 0, config.images),
7333
- performance: _chunkE3RDL2DAcjs.resolveFarmPerformanceConfig.call(void 0, config.performance),
7334
+ performance: _chunk2CT6XUNOcjs.resolveFarmPerformanceConfig.call(void 0, config.performance),
7334
7335
  theme: _chunkOI6CMLWXcjs.resolveFarmThemeConfig.call(void 0, config.theme, basePath),
7335
7336
  i18n: isResolvedI18nConfig(config.i18n) ? config.i18n : _chunkHBTUGXHScjs.resolveFarmI18nConfig.call(void 0, config.i18n, {
7336
7337
  root,
@@ -7342,7 +7343,7 @@ var _FarmApp = class _FarmApp {
7342
7343
  serverRuntimeConfig: config.serverRuntimeConfig || {},
7343
7344
  publicRuntimeConfig: config.publicRuntimeConfig || {},
7344
7345
  docs: isResolvedDocsConfig(config.docs) ? config.docs : defaultDocsConfig,
7345
- md: _chunk2ITKVAIFcjs.resolveMarkdownConfig.call(void 0, config.md),
7346
+ md: _chunkQIH2HD6Hcjs.resolveMarkdownConfig.call(void 0, config.md),
7346
7347
  mdx: _chunkOHY2ZWUGcjs.resolveMdxConfig.call(void 0, config.mdx),
7347
7348
  observability: _nullishCoalesce(config.observability, () => ( false)),
7348
7349
  telemetry: config.telemetry !== false,
@@ -9465,13 +9466,13 @@ _chunkS3JO3N4Hcjs.__name.call(void 0, reportOpenAPIDevGenerationResult, "reportO
9465
9466
  // src/vite.ts
9466
9467
  var SERVER_FN_TRANSFORM_PLUGIN = "@farm.js/plugin/rsc:server-fn-actions";
9467
9468
  function farmLlmsTxtGeneratedPaths(config) {
9468
- const llms = _chunkE3RDL2DAcjs.resolveFarmLlmsTxtConfig.call(void 0, _optionalChain([config, 'access', _474 => _474.agent, 'optionalAccess', _475 => _475.llmsTxt]));
9469
+ const llms = _chunk2CT6XUNOcjs.resolveFarmLlmsTxtConfig.call(void 0, _optionalChain([config, 'access', _474 => _474.agent, 'optionalAccess', _475 => _475.llmsTxt]));
9469
9470
  if (!llms.enabled) return [];
9470
9471
  return llms.full ? ["/llms.txt", "/llms-full.txt"] : ["/llms.txt"];
9471
9472
  }
9472
9473
  _chunkS3JO3N4Hcjs.__name.call(void 0, farmLlmsTxtGeneratedPaths, "farmLlmsTxtGeneratedPaths");
9473
9474
  function farmAgentGeneratedPaths(config) {
9474
- const crawlers = _chunkE3RDL2DAcjs.resolveFarmAgentCrawlers.call(void 0, _optionalChain([config, 'access', _476 => _476.agent, 'optionalAccess', _477 => _477.crawlers]));
9475
+ const crawlers = _chunk2CT6XUNOcjs.resolveFarmAgentCrawlers.call(void 0, _optionalChain([config, 'access', _476 => _476.agent, 'optionalAccess', _477 => _477.crawlers]));
9475
9476
  return [...farmLlmsTxtGeneratedPaths(config), ...crawlers.enabled ? ["/robots.txt"] : []];
9476
9477
  }
9477
9478
  _chunkS3JO3N4Hcjs.__name.call(void 0, farmAgentGeneratedPaths, "farmAgentGeneratedPaths");
@@ -9517,7 +9518,7 @@ function loadFarmWorkflowsDevRuntime() {
9517
9518
  }
9518
9519
  _chunkS3JO3N4Hcjs.__name.call(void 0, loadFarmWorkflowsDevRuntime, "loadFarmWorkflowsDevRuntime");
9519
9520
  function loadFarmDevtoolsSnapshotRuntime() {
9520
- return import("./devtools-6OA7FEF6.cjs");
9521
+ return import("./devtools-QZJEUOJW.cjs");
9521
9522
  }
9522
9523
  _chunkS3JO3N4Hcjs.__name.call(void 0, loadFarmDevtoolsSnapshotRuntime, "loadFarmDevtoolsSnapshotRuntime");
9523
9524
  function loadFarmDevtoolsUIRuntime() {
@@ -9604,7 +9605,7 @@ function renderFarmI18nStaticHead(requestPath, snapshot) {
9604
9605
  if (!snapshot) return "";
9605
9606
  const runtime = `<script>window.__FARM_I18N__ = ${serializeFarmInlineValue(snapshot)};</script>`;
9606
9607
  if (snapshot.routing === "none") return runtime;
9607
- return `${_chunk65P6OGYNcjs.renderFarmLocaleAlternateLinks.call(void 0, requestPath, snapshot)}${runtime}`;
9608
+ return `${_chunkQJ4D3UKJcjs.renderFarmLocaleAlternateLinks.call(void 0, requestPath, snapshot)}${runtime}`;
9608
9609
  }
9609
9610
  _chunkS3JO3N4Hcjs.__name.call(void 0, renderFarmI18nStaticHead, "renderFarmI18nStaticHead");
9610
9611
  function getPublicEnvDefine(config) {
@@ -10203,7 +10204,7 @@ function farmPlugin(options = {}, initialPluginManager) {
10203
10204
  if (_optionalChain([farmConfig, 'access', _505 => _505.agent, 'optionalAccess', _506 => _506.noindexPreviews])) {
10204
10205
  server.middlewares.use((_req, res, next) => {
10205
10206
  if (_chunkCXP5U3RWcjs.isFarmPreviewDeploymentEnvironment.call(void 0, process.env)) {
10206
- res.setHeader("X-Robots-Tag", _chunkE3RDL2DAcjs.FARM_PREVIEW_ROBOTS_TAG);
10207
+ res.setHeader("X-Robots-Tag", _chunk2CT6XUNOcjs.FARM_PREVIEW_ROBOTS_TAG);
10207
10208
  }
10208
10209
  next();
10209
10210
  });
@@ -10812,13 +10813,16 @@ window.__FARM_MANIFEST__ = ${inlineValue({
10812
10813
  const docsHandler = openAPIManager.getDocsRouteHandler(parsedRequestUrl.origin);
10813
10814
  return docsHandler(req, res);
10814
10815
  }
10815
- if (_optionalChain([options, 'access', _558 => _558.agent, 'optionalAccess', _559 => _559.apiCatalog]) && _chunkI57LW5VZcjs.stripFarmBasePath.call(void 0, requestPathname, farmConfig.basePath) === _chunk65P6OGYNcjs.FARM_API_CATALOG_PATH) {
10816
+ if (_optionalChain([options, 'access', _558 => _558.agent, 'optionalAccess', _559 => _559.apiCatalog]) && _chunkI57LW5VZcjs.stripFarmBasePath.call(void 0, requestPathname, farmConfig.basePath) === _chunkQJ4D3UKJcjs.FARM_API_CATALOG_PATH) {
10816
10817
  if (await runAppMiddlewareForContentRoute()) return;
10817
10818
  await _chunkUQZ4AYTHcjs.sendWebResponse.call(void 0,
10818
10819
  res,
10819
- _chunk65P6OGYNcjs.createFarmApiCatalogResponse.call(void 0,
10820
+ _chunkQJ4D3UKJcjs.createFarmApiCatalogResponse.call(void 0,
10820
10821
  requestMethod,
10821
- _chunk65P6OGYNcjs.resolveFarmApiCatalogInput.call(void 0, { ...options, api: farmConfig.api })
10822
+ _chunkQJ4D3UKJcjs.resolveFarmApiCatalogInput.call(void 0, { ...options, api: farmConfig.api }),
10823
+ new Request(parsedRequestUrl, {
10824
+ headers: { "user-agent": String(_nullishCoalesce(req.headers["user-agent"], () => ( ""))) }
10825
+ })
10822
10826
  )
10823
10827
  );
10824
10828
  return;
@@ -10850,7 +10854,7 @@ window.__FARM_MANIFEST__ = ${inlineValue({
10850
10854
  return;
10851
10855
  }
10852
10856
  }
10853
- const markdownSourceResponse = viteModuleRequest ? null : await _chunk6K4SPQWLcjs.createFarmMarkdownSourceResponse.call(void 0, {
10857
+ const markdownSourceResponse = viteModuleRequest ? null : await _chunkRCYINC4Acjs.createFarmMarkdownSourceResponse.call(void 0, {
10854
10858
  request: new Request(fullUrl, {
10855
10859
  method: requestMethod,
10856
10860
  headers: docsHeaders
@@ -10858,7 +10862,7 @@ window.__FARM_MANIFEST__ = ${inlineValue({
10858
10862
  config: farmApp.getConfig().mdx,
10859
10863
  resolveSource: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, async (pathname2) => {
10860
10864
  const match = farmApp.getRouteManager().matchRoute(pathname2);
10861
- const sourcePath = _optionalChain([match, 'access', _560 => _560.route, 'optionalAccess', _561 => _561.markdownSourcePath]) || (match.route && _chunk6K4SPQWLcjs.isFarmMarkdownPageFile.call(void 0, match.route.modulePath) ? match.route.modulePath : null);
10865
+ const sourcePath = _optionalChain([match, 'access', _560 => _560.route, 'optionalAccess', _561 => _561.markdownSourcePath]) || (match.route && _chunkRCYINC4Acjs.isFarmMarkdownPageFile.call(void 0, match.route.modulePath) ? match.route.modulePath : null);
10862
10866
  if (!sourcePath) {
10863
10867
  return null;
10864
10868
  }
@@ -10873,35 +10877,37 @@ window.__FARM_MANIFEST__ = ${inlineValue({
10873
10877
  await _chunkUQZ4AYTHcjs.sendWebResponse.call(void 0, res, markdownSourceResponse);
10874
10878
  return;
10875
10879
  }
10876
- const markdownResponse = viteModuleRequest ? null : await _chunk2ITKVAIFcjs.createMarkdownMirrorResponse.call(void 0, {
10880
+ const markdownResponse = viteModuleRequest ? null : await _chunkQIH2HD6Hcjs.createMarkdownMirrorResponse.call(void 0, {
10877
10881
  request: new Request(fullUrl, {
10878
10882
  method: requestMethod,
10879
10883
  headers: docsHeaders
10880
10884
  }),
10881
10885
  config: farmApp.getConfig().md,
10882
10886
  routeExists: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, (pathname2) => Boolean(farmApp.getRouteManager().matchRoute(pathname2).route), "routeExists"),
10883
- renderPage: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, async (request2) => fetch(request2), "renderPage")
10887
+ // Keep the page's own redirect (a sign-in gate, say) so the mirror
10888
+ // answers with it, as production does, instead of the target page.
10889
+ renderPage: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, async (request2) => fetch(request2, { redirect: "manual" }), "renderPage")
10884
10890
  });
10885
10891
  if (markdownResponse) {
10886
10892
  if (await runAppMiddlewareForContentRoute()) return;
10887
10893
  await _chunkUQZ4AYTHcjs.sendWebResponse.call(void 0, res, markdownResponse);
10888
10894
  return;
10889
10895
  }
10890
- if (!viteModuleRequest && _chunk2ITKVAIFcjs.farmRequestWantsMarkdown.call(void 0, requestPathname, req.headers.accept)) {
10891
- const markdownRoute = farmApp.getRouteManager().matchRoute(_chunk6K4SPQWLcjs.normalizeFarmMarkdownRoutePath.call(void 0, requestPathname));
10896
+ if (!viteModuleRequest && _chunkQIH2HD6Hcjs.farmRequestWantsMarkdown.call(void 0, requestPathname, req.headers.accept)) {
10897
+ const markdownRoute = farmApp.getRouteManager().matchRoute(_chunkRCYINC4Acjs.normalizeFarmMarkdownRoutePath.call(void 0, requestPathname));
10892
10898
  if (!markdownRoute.route) {
10893
10899
  if (await runAppMiddlewareForContentRoute()) return;
10894
10900
  res.statusCode = 404;
10895
- res.setHeader("Content-Type", _chunk2ITKVAIFcjs.FARM_MARKDOWN_CONTENT_TYPE);
10901
+ res.setHeader("Content-Type", _chunkQIH2HD6Hcjs.FARM_MARKDOWN_CONTENT_TYPE);
10896
10902
  res.setHeader("X-Farm-Markdown-Error", "404");
10897
10903
  res.setHeader("Cache-Control", "no-store");
10898
10904
  res.end(
10899
- _chunk2ITKVAIFcjs.createFarmMarkdownErrorBody.call(void 0, 404, requestPathname, farmConfig.basePath || "/")
10905
+ _chunkQIH2HD6Hcjs.createFarmMarkdownErrorBody.call(void 0, 404, requestPathname, farmConfig.basePath || "/")
10900
10906
  );
10901
10907
  return;
10902
10908
  }
10903
10909
  }
10904
- const markdownPageTarget = _chunk2ITKVAIFcjs.resolveMarkdownMirrorTarget.call(void 0,
10910
+ const markdownPageTarget = _chunkQIH2HD6Hcjs.resolveMarkdownMirrorTarget.call(void 0,
10905
10911
  farmApp.getConfig().md,
10906
10912
  requestPathname,
10907
10913
  {
@@ -10914,7 +10920,7 @@ window.__FARM_MANIFEST__ = ${inlineValue({
10914
10920
  if (!varyValues.some((value) => value.toLowerCase() === "accept")) {
10915
10921
  res.setHeader("Vary", [...varyValues, "Accept"].join(", "));
10916
10922
  }
10917
- const alternatePath = _chunk2ITKVAIFcjs.getFarmMarkdownMirrorPath.call(void 0, markdownPageTarget.pathname);
10923
+ const alternatePath = _chunkQIH2HD6Hcjs.getFarmMarkdownMirrorPath.call(void 0, markdownPageTarget.pathname);
10918
10924
  const alternateLink = `<${alternatePath}>; rel="alternate"; type="text/markdown"`;
10919
10925
  const currentLink = res.getHeader("Link");
10920
10926
  res.setHeader(
@@ -11410,7 +11416,7 @@ window.__FARM_MANIFEST__ = ${inlineValue({
11410
11416
  }
11411
11417
  mergedMetadata = _chunk3TQWUUNPcjs.addMetadataMarkdownAlternate.call(void 0,
11412
11418
  mergedMetadata,
11413
- _chunk2ITKVAIFcjs.getFarmMarkdownAlternatePath.call(void 0, farmApp.getConfig().md, targetRequestUrl.pathname)
11419
+ _chunkQIH2HD6Hcjs.getFarmMarkdownAlternatePath.call(void 0, farmApp.getConfig().md, targetRequestUrl.pathname)
11414
11420
  );
11415
11421
  const routeSlots = await Promise.all(
11416
11422
  slots.map(async (slot) => {
@@ -14306,7 +14312,7 @@ async function defineConfig(config = {}) {
14306
14312
  const isExposed = hostConfig === true || hostConfig === "0.0.0.0";
14307
14313
  console.log("");
14308
14314
  console.log(
14309
- ` ${pc.bold(pc.green("Farm.js"))} ${pc.dim(`v${_chunkTTVHACQVcjs.FARM_VERSION}`)} ${pc.dim(`ready in ${elapsed}ms`)}`
14315
+ ` ${pc.bold(pc.green("Farm.js"))} ${pc.dim(`v${_chunkALIFMS4Acjs.FARM_VERSION}`)} ${pc.dim(`ready in ${elapsed}ms`)}`
14310
14316
  );
14311
14317
  console.log("");
14312
14318
  console.log(
@@ -14460,4 +14466,5 @@ _chunkS3JO3N4Hcjs.__name.call(void 0, defineConfig, "defineConfig");
14460
14466
 
14461
14467
 
14462
14468
 
14463
- exports.getFarmClientHydrationPlanOptions = getFarmClientHydrationPlanOptions; exports.describeSuppressedAsyncHydration = describeSuppressedAsyncHydration; exports.resolveFarmIsolatedClientHydrationMode = resolveFarmIsolatedClientHydrationMode; exports.getClientModuleMetadata = getClientModuleMetadata; exports.getClientModuleHydrationPlan = getClientModuleHydrationPlan; exports.createMarkdownPageHydrationPlanner = createMarkdownPageHydrationPlanner; exports.enforceFarmIsolatedHydrationRouteBudget = enforceFarmIsolatedHydrationRouteBudget; exports.RouteManager = RouteManager; exports.resolveFarmNotFoundComponentPath = resolveFarmNotFoundComponentPath; exports.farmFontImportsPlugin = farmFontImportsPlugin; exports.mergeFarmFontCss = mergeFarmFontCss; exports.DEFAULT_NOT_FOUND_STYLES = DEFAULT_NOT_FOUND_STYLES; exports.generateFarmIntegrationProviderClientCode = generateFarmIntegrationProviderClientCode; exports.generateFarmIntegrationProviderServerModules = generateFarmIntegrationProviderServerModules; exports.ServerRenderer = ServerRenderer; exports.FarmApp = FarmApp; exports.createFarmApp = createFarmApp; exports.FarmPluginOptionsError = FarmPluginOptionsError; exports.farmPluginMayAffectRuntimePath = farmPluginMayAffectRuntimePath; exports.loadTailwindVitePlugin = loadTailwindVitePlugin; exports.SHARP_INSTALL_HINT = SHARP_INSTALL_HINT; exports.resolveFarmImageProviderForRuntime = resolveFarmImageProviderForRuntime; exports.generateFarmClientPluginEntryCode = generateFarmClientPluginEntryCode; exports.resolveFarmClientCacheAdapterEntry = resolveFarmClientCacheAdapterEntry; exports.generateClientCachePersistenceCode = generateClientCachePersistenceCode; exports.FARM_LAYOUT_ELEMENT_CLIENT_SOURCE = FARM_LAYOUT_ELEMENT_CLIENT_SOURCE; exports.createFarmClientOptimizeDepsEntries = createFarmClientOptimizeDepsEntries; exports.createFarmClientOptimizeDepsConfig = createFarmClientOptimizeDepsConfig; exports.createFarmSourceAlias = createFarmSourceAlias; exports.mergeFarmViteConfig = mergeFarmViteConfig; exports.mergeFarmProductionViteConfig = mergeFarmProductionViteConfig; exports.createFarmThemeCssPlugin = createFarmThemeCssPlugin; exports.farmI18nClientBridgePlugin = farmI18nClientBridgePlugin; exports.farmServerOnlyEntriesPlugin = farmServerOnlyEntriesPlugin; exports.withFarmRequestTracing = withFarmRequestTracing; exports.rewriteEarlySsrRelativeImports = rewriteEarlySsrRelativeImports; exports.transformIsolatedClientBoundaryModule = transformIsolatedClientBoundaryModule; exports.shouldEmitFarmClientRootHmr = shouldEmitFarmClientRootHmr; exports.farmPlugin = farmPlugin; exports.defineConfig = defineConfig; exports.FARM_NODE_RESPONSE_END_PENDING = FARM_NODE_RESPONSE_END_PENDING; exports.FarmRuntimeShutdownError = FarmRuntimeShutdownError; exports.PluginManager = PluginManager; exports.definePlugin = definePlugin;
14469
+
14470
+ exports.getFarmClientHydrationPlanOptions = getFarmClientHydrationPlanOptions; exports.describeSuppressedAsyncHydration = describeSuppressedAsyncHydration; exports.resolveFarmIsolatedClientHydrationMode = resolveFarmIsolatedClientHydrationMode; exports.getClientModuleMetadata = getClientModuleMetadata; exports.getClientModuleHydrationPlan = getClientModuleHydrationPlan; exports.createMarkdownPageHydrationPlanner = createMarkdownPageHydrationPlanner; exports.enforceFarmIsolatedHydrationRouteBudget = enforceFarmIsolatedHydrationRouteBudget; exports.RouteManager = RouteManager; exports.HOISTED_HEAD_ELEMENT = HOISTED_HEAD_ELEMENT; exports.resolveFarmNotFoundComponentPath = resolveFarmNotFoundComponentPath; exports.farmFontImportsPlugin = farmFontImportsPlugin; exports.mergeFarmFontCss = mergeFarmFontCss; exports.DEFAULT_NOT_FOUND_STYLES = DEFAULT_NOT_FOUND_STYLES; exports.generateFarmIntegrationProviderClientCode = generateFarmIntegrationProviderClientCode; exports.generateFarmIntegrationProviderServerModules = generateFarmIntegrationProviderServerModules; exports.ServerRenderer = ServerRenderer; exports.FarmApp = FarmApp; exports.createFarmApp = createFarmApp; exports.FarmPluginOptionsError = FarmPluginOptionsError; exports.farmPluginMayAffectRuntimePath = farmPluginMayAffectRuntimePath; exports.loadTailwindVitePlugin = loadTailwindVitePlugin; exports.SHARP_INSTALL_HINT = SHARP_INSTALL_HINT; exports.resolveFarmImageProviderForRuntime = resolveFarmImageProviderForRuntime; exports.generateFarmClientPluginEntryCode = generateFarmClientPluginEntryCode; exports.resolveFarmClientCacheAdapterEntry = resolveFarmClientCacheAdapterEntry; exports.generateClientCachePersistenceCode = generateClientCachePersistenceCode; exports.FARM_LAYOUT_ELEMENT_CLIENT_SOURCE = FARM_LAYOUT_ELEMENT_CLIENT_SOURCE; exports.createFarmClientOptimizeDepsEntries = createFarmClientOptimizeDepsEntries; exports.createFarmClientOptimizeDepsConfig = createFarmClientOptimizeDepsConfig; exports.createFarmSourceAlias = createFarmSourceAlias; exports.mergeFarmViteConfig = mergeFarmViteConfig; exports.mergeFarmProductionViteConfig = mergeFarmProductionViteConfig; exports.createFarmThemeCssPlugin = createFarmThemeCssPlugin; exports.farmI18nClientBridgePlugin = farmI18nClientBridgePlugin; exports.farmServerOnlyEntriesPlugin = farmServerOnlyEntriesPlugin; exports.withFarmRequestTracing = withFarmRequestTracing; exports.rewriteEarlySsrRelativeImports = rewriteEarlySsrRelativeImports; exports.transformIsolatedClientBoundaryModule = transformIsolatedClientBoundaryModule; exports.shouldEmitFarmClientRootHmr = shouldEmitFarmClientRootHmr; exports.farmPlugin = farmPlugin; exports.defineConfig = defineConfig; exports.FARM_NODE_RESPONSE_END_PENDING = FARM_NODE_RESPONSE_END_PENDING; exports.FarmRuntimeShutdownError = FarmRuntimeShutdownError; exports.PluginManager = PluginManager; exports.definePlugin = definePlugin;
@@ -15,7 +15,7 @@ var _chunkIK6LVLKCcjs = require('./chunk-IK6LVLKC.cjs');
15
15
  var _chunkHREOKQWTcjs = require('./chunk-HREOKQWT.cjs');
16
16
 
17
17
 
18
- var _chunk2ITKVAIFcjs = require('./chunk-2ITKVAIF.cjs');
18
+ var _chunkQIH2HD6Hcjs = require('./chunk-QIH2HD6H.cjs');
19
19
 
20
20
 
21
21
  var _chunkEM6SBQKMcjs = require('./chunk-EM6SBQKM.cjs');
@@ -1181,11 +1181,11 @@ function shouldReturnMarkdown(request) {
1181
1181
  if (url.pathname.endsWith(".md")) return true;
1182
1182
  const accept = request.headers.get("accept");
1183
1183
  const markdown = Math.max(
1184
- _chunk2ITKVAIFcjs.farmAcceptQuality.call(void 0, accept, "text/markdown"),
1185
- _chunk2ITKVAIFcjs.farmAcceptQuality.call(void 0, accept, "text/plain")
1184
+ _chunkQIH2HD6Hcjs.farmAcceptQuality.call(void 0, accept, "text/markdown"),
1185
+ _chunkQIH2HD6Hcjs.farmAcceptQuality.call(void 0, accept, "text/plain")
1186
1186
  );
1187
1187
  if (markdown <= 0) return false;
1188
- return markdown >= _chunk2ITKVAIFcjs.farmAcceptQuality.call(void 0, accept, "text/html", { wildcards: true });
1188
+ return markdown >= _chunkQIH2HD6Hcjs.farmAcceptQuality.call(void 0, accept, "text/html", { wildcards: true });
1189
1189
  }
1190
1190
  _chunkS3JO3N4Hcjs.__name.call(void 0, shouldReturnMarkdown, "shouldReturnMarkdown");
1191
1191
  function escapeAttribute(value) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createFarmMarkdownRouteModule
3
- } from "./chunk-XM4ZDVD7.mjs";
3
+ } from "./chunk-JM5GQL4H.mjs";
4
4
  import {
5
5
  __name
6
6
  } from "./chunk-LPEX4YW6.mjs";
@@ -1,5 +1,5 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});// package.json
2
- var version = "0.1.25";
2
+ var version = "0.1.26";
3
3
 
4
4
  // src/version.ts
5
5
  var FARM_VERSION = version;