@farm.js/core 0.1.28 → 0.1.30

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 (149) 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 +1 -1
  4. package/dist/api/route-manager.d.ts +1 -1
  5. package/dist/api/runtime.d.mts +2 -2
  6. package/dist/api/runtime.d.ts +2 -2
  7. package/dist/api.cjs +2 -2
  8. package/dist/api.d.mts +18 -4
  9. package/dist/api.d.ts +18 -4
  10. package/dist/api.mjs +1 -1
  11. package/dist/{app-DSSq6wiN.d.mts → app-DAuUTIZf.d.mts} +3 -3
  12. package/dist/app-markdown.cjs +5 -4
  13. package/dist/app-markdown.d.mts +3 -3
  14. package/dist/app-markdown.d.ts +3 -3
  15. package/dist/app-markdown.mjs +4 -3
  16. package/dist/{app-M8nVWvNU.d.ts → app-sUJ3jnTZ.d.ts} +3 -3
  17. package/dist/{chunk-N6UROPT7.mjs → chunk-2FQHH5SC.mjs} +12 -13
  18. package/dist/{chunk-2CNBR3EB.mjs → chunk-2UABTL3Y.mjs} +2 -2
  19. package/dist/{chunk-JUFRXDTK.cjs → chunk-3FCFQP5V.cjs} +17 -5
  20. package/dist/{chunk-XSPGWQWA.cjs → chunk-6CNX6Q3K.cjs} +96 -24
  21. package/dist/{chunk-NVBS5WSZ.mjs → chunk-6G3ZZ2IE.mjs} +1 -1
  22. package/dist/{chunk-QBPXNZGV.cjs → chunk-6MVFL3R5.cjs} +25 -6
  23. package/dist/{chunk-PZPDGOU5.mjs → chunk-7CXKSRKL.mjs} +11 -7
  24. package/dist/{chunk-K3YEZLSY.mjs → chunk-ATXI6LGT.mjs} +96 -24
  25. package/dist/{chunk-2DLN6HG4.mjs → chunk-BZ3CHOFX.mjs} +1 -1
  26. package/dist/{chunk-EWZ3XHKQ.cjs → chunk-BZAGKCKB.cjs} +2 -2
  27. package/dist/{chunk-FB3H4INL.mjs → chunk-D234YWNA.mjs} +1 -1
  28. package/dist/{chunk-KXGDXYUC.mjs → chunk-DGXN3L4D.mjs} +17 -5
  29. package/dist/chunk-FJ3M4CUX.cjs +46 -0
  30. package/dist/chunk-FXEF4PPL.mjs +47 -0
  31. package/dist/{chunk-ID6OVSLH.cjs → chunk-GIWC4CFJ.cjs} +175 -171
  32. package/dist/{chunk-F52CDFJM.cjs → chunk-HPQC2LHF.cjs} +435 -274
  33. package/dist/{chunk-FVCSLZWT.mjs → chunk-IVLUJUT4.mjs} +315 -154
  34. package/dist/{chunk-KOQ555NR.cjs → chunk-JFHKNFEO.cjs} +24 -20
  35. package/dist/{chunk-UX2DD2VK.mjs → chunk-K6V52QMI.mjs} +1 -1
  36. package/dist/{chunk-BYODCJD6.cjs → chunk-K7CELQLK.cjs} +12 -13
  37. package/dist/{chunk-A672WZEG.cjs → chunk-NPPL5YDT.cjs} +2 -2
  38. package/dist/{chunk-TII23GJC.cjs → chunk-NXG66MR7.cjs} +3 -3
  39. package/dist/{chunk-R6AIILII.cjs → chunk-OZVEHHMA.cjs} +15 -14
  40. package/dist/{chunk-T7HQ3I4C.mjs → chunk-PQD2AI3B.mjs} +1 -1
  41. package/dist/{chunk-VQXDC5UV.cjs → chunk-Q5JFU33Q.cjs} +4 -4
  42. package/dist/{chunk-FZC7EEPM.mjs → chunk-RSOJ7DRT.mjs} +26 -7
  43. package/dist/{chunk-ZRIE4KMG.mjs → chunk-S4K74WI4.mjs} +17 -13
  44. package/dist/{chunk-Y7GW7J46.cjs → chunk-X5TXZFMN.cjs} +1 -1
  45. package/dist/chunk-XD32KALF.cjs +47 -0
  46. package/dist/{chunk-RDV44SED.mjs → chunk-XJJVLDM6.mjs} +15 -14
  47. package/dist/{chunk-55ZY4ZA7.cjs → chunk-XLTV4VOG.cjs} +21 -16
  48. package/dist/{chunk-REGFZJEJ.mjs → chunk-YMUE7L3D.mjs} +18 -13
  49. package/dist/chunk-Z3HATSKO.mjs +46 -0
  50. package/dist/{chunk-MH24QDVJ.cjs → chunk-ZDILFMWN.cjs} +13 -13
  51. package/dist/{client-plugins-CgYNY7jF.d.mts → client-plugins-BX2ptm4H.d.mts} +7 -2
  52. package/dist/{client-plugins-Fl9Og3yB.d.ts → client-plugins-BmxM5KW_.d.ts} +7 -2
  53. package/dist/client-plugins.d.mts +2 -2
  54. package/dist/client-plugins.d.ts +2 -2
  55. package/dist/client.d.mts +5 -5
  56. package/dist/client.d.ts +5 -5
  57. package/dist/config.d.mts +2 -2
  58. package/dist/config.d.ts +2 -2
  59. package/dist/{devtools-5AREISIA.cjs → devtools-GGVPZHJX.cjs} +95 -20
  60. package/dist/{devtools-3E7ZANMZ.mjs → devtools-THVNPI2M.mjs} +79 -4
  61. package/dist/{devtools-client-4WAPJY5L.cjs → devtools-client-CXQ6PXI6.cjs} +1 -1
  62. package/dist/{devtools-client-LEUIHHAS.mjs → devtools-client-HJS2T34Y.mjs} +1 -1
  63. package/dist/docs.cjs +8 -7
  64. package/dist/docs.mjs +7 -6
  65. package/dist/index.cjs +18 -16
  66. package/dist/index.d.mts +24 -14
  67. package/dist/index.d.ts +24 -14
  68. package/dist/index.mjs +17 -15
  69. package/dist/integrations.d.mts +2 -2
  70. package/dist/integrations.d.ts +2 -2
  71. package/dist/internal/app-markdown-runtime.cjs +4 -3
  72. package/dist/internal/app-markdown-runtime.d.mts +3 -3
  73. package/dist/internal/app-markdown-runtime.d.ts +3 -3
  74. package/dist/internal/app-markdown-runtime.mjs +3 -2
  75. package/dist/internal/build-runtime.cjs +15 -13
  76. package/dist/internal/build-runtime.d.mts +4 -4
  77. package/dist/internal/build-runtime.d.ts +4 -4
  78. package/dist/internal/build-runtime.mjs +14 -12
  79. package/dist/internal/cli-runtime.cjs +7 -6
  80. package/dist/internal/cli-runtime.mjs +6 -5
  81. package/dist/internal/client-error-overlay.cjs +4 -4
  82. package/dist/internal/client-error-overlay.mjs +1 -1
  83. package/dist/internal/compression-runtime.cjs +3 -2
  84. package/dist/internal/compression-runtime.d.mts +5 -3
  85. package/dist/internal/compression-runtime.d.ts +5 -3
  86. package/dist/internal/compression-runtime.mjs +2 -1
  87. package/dist/internal/config-runtime.cjs +6 -5
  88. package/dist/internal/config-runtime.d.mts +3 -3
  89. package/dist/internal/config-runtime.d.ts +3 -3
  90. package/dist/internal/config-runtime.mjs +5 -4
  91. package/dist/internal/product-telemetry-runtime.cjs +10 -6
  92. package/dist/internal/product-telemetry-runtime.mjs +9 -5
  93. package/dist/internal/production-runtime.cjs +19 -5
  94. package/dist/internal/production-runtime.d.mts +35 -8
  95. package/dist/internal/production-runtime.d.ts +35 -8
  96. package/dist/internal/production-runtime.mjs +18 -4
  97. package/dist/markdown.cjs +3 -2
  98. package/dist/markdown.d.mts +2 -2
  99. package/dist/markdown.d.ts +2 -2
  100. package/dist/markdown.mjs +2 -1
  101. package/dist/{metadata-B0X-qtcQ.d.mts → metadata-DsEaK7mQ.d.mts} +1 -1
  102. package/dist/{metadata-BdDKgd7K.d.ts → metadata-fwZ3gfG6.d.ts} +1 -1
  103. package/dist/middleware.cjs +3 -2
  104. package/dist/middleware.d.mts +3 -3
  105. package/dist/middleware.d.ts +3 -3
  106. package/dist/middleware.mjs +2 -1
  107. package/dist/navigation.d.mts +4 -4
  108. package/dist/navigation.d.ts +4 -4
  109. package/dist/plugin.cjs +10 -9
  110. package/dist/plugin.d.mts +2 -2
  111. package/dist/plugin.d.ts +2 -2
  112. package/dist/plugin.mjs +9 -8
  113. package/dist/{production-runtime-BjgFgDIg.d.mts → production-runtime-Baqgwtvc.d.mts} +1 -1
  114. package/dist/{production-runtime-Dx_qMA3t.d.ts → production-runtime-DNkpFnmg.d.ts} +1 -1
  115. package/dist/{render-plan-_1TAWODt.d.mts → render-plan-DhwQnmmX.d.mts} +1 -1
  116. package/dist/{render-plan-B41EWmBb.d.ts → render-plan-rkIK9wd9.d.ts} +1 -1
  117. package/dist/renderer-client.d.mts +3 -3
  118. package/dist/renderer-client.d.ts +3 -3
  119. package/dist/{request-Dbf3G0zM.d.ts → request-BcY4RYPC.d.ts} +1 -1
  120. package/dist/{request-BhE4luLv.d.mts → request-CFy1BltJ.d.mts} +1 -1
  121. package/dist/request.d.mts +3 -3
  122. package/dist/request.d.ts +3 -3
  123. package/dist/{route-rendering-zzfx_GHf.d.mts → route-rendering-BkS0TBlB.d.mts} +1 -1
  124. package/dist/{route-rendering-Z7PveTZE.d.ts → route-rendering-D4XpMjam.d.ts} +1 -1
  125. package/dist/{router-BatNMsa1.d.mts → router-C4zPlC3V.d.mts} +1 -1
  126. package/dist/{router-DtNRhQl3.d.ts → router-Cq7BcZxg.d.ts} +1 -1
  127. package/dist/routes.d.mts +2 -2
  128. package/dist/routes.d.ts +2 -2
  129. package/dist/server-plugins.cjs +3 -2
  130. package/dist/server-plugins.d.mts +2 -2
  131. package/dist/server-plugins.d.ts +2 -2
  132. package/dist/server-plugins.mjs +2 -1
  133. package/dist/server.cjs +33 -28
  134. package/dist/server.d.mts +8 -8
  135. package/dist/server.d.ts +8 -8
  136. package/dist/server.mjs +16 -11
  137. package/dist/{spa-router-BE3bwU-J.d.ts → spa-router-B1HI3X9k.d.ts} +2 -2
  138. package/dist/{spa-router-DQOnHZVj.d.mts → spa-router-DzPZH-AO.d.mts} +2 -2
  139. package/dist/testing.d.mts +1 -1
  140. package/dist/testing.d.ts +1 -1
  141. package/dist/{utils-DLK1ERNl.d.mts → utils-CEBktlBG.d.mts} +1 -1
  142. package/dist/{utils-u7ZBSWAK.d.ts → utils-DMD1Hzta.d.ts} +1 -1
  143. package/dist/version.cjs +2 -2
  144. package/dist/version.mjs +1 -1
  145. package/dist/vite.cjs +10 -9
  146. package/dist/vite.d.mts +2 -2
  147. package/dist/vite.d.ts +2 -2
  148. package/dist/vite.mjs +9 -8
  149. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { ChildProcess } from 'node:child_process';
2
- import { H as BundleResultPayload, a as FarmPlugin, I as FarmIntegration } from './client-plugins-CgYNY7jF.mjs';
2
+ import { H as BundleResultPayload, a as FarmPlugin, I as FarmIntegration } from './client-plugins-BX2ptm4H.mjs';
3
3
  import './lifecycle-DK06VuKP.mjs';
4
4
  import './integration-api-0y4FXJpC.mjs';
5
5
  import './endpoint-CCHFqyTE.mjs';
@@ -11,7 +11,6 @@ import 'http';
11
11
  import './server-fn.mjs';
12
12
  import './server-fn-error-DDh14a0V.mjs';
13
13
  import './server-query.mjs';
14
- import './types-Z0aotQ8w.mjs';
15
14
  import './types-Cc8l9IqS.mjs';
16
15
  import 'db0';
17
16
  import 'unstorage';
@@ -30,6 +29,7 @@ import './server-action-security.mjs';
30
29
  import 'rolldown/utils';
31
30
  import 'rolldown';
32
31
  import './image-config-Duob7wER.mjs';
32
+ import './types-Z0aotQ8w.mjs';
33
33
  import './types-DQnyD3VD.mjs';
34
34
  import './font.mjs';
35
35
  import './after.mjs';
@@ -1,5 +1,5 @@
1
1
  import { ChildProcess } from 'node:child_process';
2
- import { H as BundleResultPayload, a as FarmPlugin, I as FarmIntegration } from './client-plugins-Fl9Og3yB.js';
2
+ import { H as BundleResultPayload, a as FarmPlugin, I as FarmIntegration } from './client-plugins-BmxM5KW_.js';
3
3
  import './lifecycle-DK06VuKP.js';
4
4
  import './integration-api-BPJo5oXb.js';
5
5
  import './endpoint-CA-TNX60.js';
@@ -11,7 +11,6 @@ import 'http';
11
11
  import './server-fn.js';
12
12
  import './server-fn-error-DDh14a0V.js';
13
13
  import './server-query.js';
14
- import './types-Z0aotQ8w.js';
15
14
  import './types-Cc8l9IqS.js';
16
15
  import 'db0';
17
16
  import 'unstorage';
@@ -30,6 +29,7 @@ import './server-action-security.js';
30
29
  import 'rolldown/utils';
31
30
  import 'rolldown';
32
31
  import './image-config-Duob7wER.js';
32
+ import './types-Z0aotQ8w.js';
33
33
  import './types-DQnyD3VD.js';
34
34
  import './font.js';
35
35
  import './after.js';
@@ -1,4 +1,4 @@
1
- import { F as FarmRouteRuntimeConfig, a as FarmPlugin } from '../client-plugins-CgYNY7jF.mjs';
1
+ import { F as FarmRouteRuntimeConfig, a as FarmPlugin } from '../client-plugins-BX2ptm4H.mjs';
2
2
  import { ViteDevServer } from 'vite';
3
3
  import '../types-Z0aotQ8w.mjs';
4
4
  import { F as FarmI18nRuntime } from '../runtime-AOJge4vQ.mjs';
@@ -1,4 +1,4 @@
1
- import { F as FarmRouteRuntimeConfig, a as FarmPlugin } from '../client-plugins-Fl9Og3yB.js';
1
+ import { F as FarmRouteRuntimeConfig, a as FarmPlugin } from '../client-plugins-BmxM5KW_.js';
2
2
  import { ViteDevServer } from 'vite';
3
3
  import '../types-Z0aotQ8w.js';
4
4
  import { F as FarmI18nRuntime } from '../runtime-BirxPwbZ.js';
@@ -3,7 +3,7 @@ export { i as isEndpointFailure, p as parseRouteSchema } from '../endpoint-CCHFq
3
3
  import { P as PluginRoutesFactory } from '../integration-api-0y4FXJpC.mjs';
4
4
  import { a as APIRouteParams, A as APIRouteMatch } from '../route-pattern-W-SsJGSp.mjs';
5
5
  export { b as APIRouteParamValue, m as matchAPIRoute } from '../route-pattern-W-SsJGSp.mjs';
6
- export { az as _findFarmMCPEndpointTool, aA as _publishFarmMCPCatalog } from '../client-plugins-CgYNY7jF.mjs';
6
+ export { aC as _findFarmMCPEndpointTool, aD as _publishFarmMCPCatalog } from '../client-plugins-BX2ptm4H.mjs';
7
7
  import '../cache.mjs';
8
8
  import '../cache-invalidation-BD0z_lfu.mjs';
9
9
  import '../lifecycle-DK06VuKP.mjs';
@@ -13,7 +13,6 @@ import 'http';
13
13
  import '../server-fn.mjs';
14
14
  import '../server-fn-error-DDh14a0V.mjs';
15
15
  import '../server-query.mjs';
16
- import '../types-Z0aotQ8w.mjs';
17
16
  import '../types-Cc8l9IqS.mjs';
18
17
  import 'db0';
19
18
  import 'unstorage';
@@ -32,6 +31,7 @@ import '../server-action-security.mjs';
32
31
  import 'rolldown/utils';
33
32
  import 'rolldown';
34
33
  import '../image-config-Duob7wER.mjs';
34
+ import '../types-Z0aotQ8w.mjs';
35
35
  import '../types-DQnyD3VD.mjs';
36
36
  import '../font.mjs';
37
37
  import '../after.mjs';
@@ -3,7 +3,7 @@ export { i as isEndpointFailure, p as parseRouteSchema } from '../endpoint-CA-TN
3
3
  import { P as PluginRoutesFactory } from '../integration-api-BPJo5oXb.js';
4
4
  import { a as APIRouteParams, A as APIRouteMatch } from '../route-pattern-W-SsJGSp.js';
5
5
  export { b as APIRouteParamValue, m as matchAPIRoute } from '../route-pattern-W-SsJGSp.js';
6
- export { az as _findFarmMCPEndpointTool, aA as _publishFarmMCPCatalog } from '../client-plugins-Fl9Og3yB.js';
6
+ export { aC as _findFarmMCPEndpointTool, aD as _publishFarmMCPCatalog } from '../client-plugins-BmxM5KW_.js';
7
7
  import '../cache.js';
8
8
  import '../cache-invalidation-BD0z_lfu.js';
9
9
  import '../lifecycle-DK06VuKP.js';
@@ -13,7 +13,6 @@ import 'http';
13
13
  import '../server-fn.js';
14
14
  import '../server-fn-error-DDh14a0V.js';
15
15
  import '../server-query.js';
16
- import '../types-Z0aotQ8w.js';
17
16
  import '../types-Cc8l9IqS.js';
18
17
  import 'db0';
19
18
  import 'unstorage';
@@ -32,6 +31,7 @@ import '../server-action-security.js';
32
31
  import 'rolldown/utils';
33
32
  import 'rolldown';
34
33
  import '../image-config-Duob7wER.js';
34
+ import '../types-Z0aotQ8w.js';
35
35
  import '../types-DQnyD3VD.js';
36
36
  import '../font.js';
37
37
  import '../after.js';
package/dist/api.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkJUFRXDTKcjs = require('./chunk-JUFRXDTK.cjs');
3
+ var _chunk3FCFQP5Vcjs = require('./chunk-3FCFQP5V.cjs');
4
4
 
5
5
 
6
6
 
@@ -149,4 +149,4 @@ require('./chunk-S3JO3N4H.cjs');
149
149
 
150
150
 
151
151
 
152
- exports.APIClientError = _chunkBJPBQNIEcjs.APIClientError; exports.APIRouteConflictError = _chunkEXLKRR4Ucjs.APIRouteConflictError; exports.APIRouteManager = _chunkEXLKRR4Ucjs.APIRouteManager; exports.API_ROUTE_METHODS = _chunkPZNCMPJFcjs.API_ROUTE_METHODS; exports.DEFAULT_FARM_API_BASE_PATH = _chunkS3A45T7Fcjs.DEFAULT_FARM_API_BASE_PATH; exports.DELETE = _chunkVHJGDMCGcjs.DELETE; exports.EndpointFailure = _chunkVHJGDMCGcjs.EndpointFailure; exports.FARM_API_ROUTE_META_SYMBOL = _chunkBJPBQNIEcjs.FARM_API_ROUTE_META_SYMBOL; exports.FARM_API_ROUTE_REF_SYMBOL = _chunkBJPBQNIEcjs.FARM_API_ROUTE_REF_SYMBOL; exports.GET = _chunkVHJGDMCGcjs.GET; exports.HEAD = _chunkVHJGDMCGcjs.HEAD; exports.OPTIONS = _chunkVHJGDMCGcjs.OPTIONS; exports.PATCH = _chunkVHJGDMCGcjs.PATCH; exports.POST = _chunkVHJGDMCGcjs.POST; exports.PUT = _chunkVHJGDMCGcjs.PUT; exports.QUERY = _chunkVHJGDMCGcjs.QUERY; exports.applyServerFnOptimisticUpdates = _chunkBJPBQNIEcjs.applyServerFnOptimisticUpdates; exports.createAPIClient = _chunkBJPBQNIEcjs.createAPIClient; exports.createApiClients = _chunkBJPBQNIEcjs.createApiClients; exports.createEndpoint = _chunkVHJGDMCGcjs.createEndpoint; exports.createRouteFactory = _chunkVHJGDMCGcjs.createRouteFactory; exports.createServerAPIClient = _chunkBJPBQNIEcjs.createServerAPIClient; exports.farmApiPlugin = _chunkJUFRXDTKcjs.farmApiPlugin; exports.getAPIRouteRefMetadata = _chunkBJPBQNIEcjs.getAPIRouteRefMetadata; exports.getAllowedAPIRouteMethods = _chunkPZNCMPJFcjs.getAllowedAPIRouteMethods; exports.getFarmAPIBaseURL = _chunkS3A45T7Fcjs.getFarmAPIBaseURL; exports.invokeAPIRouteEndpoint = _chunkPZNCMPJFcjs.invokeAPIRouteEndpoint; exports.isAPIRouteRef = _chunkBJPBQNIEcjs.isAPIRouteRef; exports.isEndpointFailure = _chunkVHJGDMCGcjs.isEndpointFailure; exports.isFarmAPIStream = _chunkARJWXNQLcjs.isFarmAPIStream; exports.isJSONStreamResponse = _chunkARJWXNQLcjs.isJSONStreamResponse; exports.isMultipartSchema = _chunkARJWXNQLcjs.isMultipartSchema; exports.isWebResponse = _chunkPZNCMPJFcjs.isWebResponse; exports.jsonStream = _chunkARJWXNQLcjs.jsonStream; exports.matchAPIRoute = _chunkG7HXGLECcjs.matchAPIRoute; exports.multipart = _chunkARJWXNQLcjs.multipart; exports.normalizeFarmAPIBasePath = _chunkS3A45T7Fcjs.normalizeFarmAPIBasePath; exports.normalizeFarmAPIConfig = _chunkS3A45T7Fcjs.normalizeFarmAPIConfig; exports.normalizeRouteResponse = _chunkPZNCMPJFcjs.normalizeRouteResponse; exports.readJSONStream = _chunkARJWXNQLcjs.readJSONStream; exports.resolveAPIRouteEndpoint = _chunkPZNCMPJFcjs.resolveAPIRouteEndpoint; exports.resolveFarmAPIConfig = _chunkS3A45T7Fcjs.resolveFarmAPIConfig; exports.resolveFarmAPIRequestURL = _chunkS3A45T7Fcjs.resolveFarmAPIRequestURL; exports.resolveFarmAPIServerBasePath = _chunkWPYFSQKKcjs.resolveFarmAPIServerBasePath; exports.resolvePluginRoutes = _chunkVHJGDMCGcjs.resolvePluginRoutes; exports.resolveServerFnInvalidateTargets = _chunkBJPBQNIEcjs.resolveServerFnInvalidateTargets; exports.settleServerFnOptimisticUpdates = _chunkBJPBQNIEcjs.settleServerFnOptimisticUpdates; exports.toFormData = _chunkARJWXNQLcjs.toFormData;
152
+ exports.APIClientError = _chunkBJPBQNIEcjs.APIClientError; exports.APIRouteConflictError = _chunkEXLKRR4Ucjs.APIRouteConflictError; exports.APIRouteManager = _chunkEXLKRR4Ucjs.APIRouteManager; exports.API_ROUTE_METHODS = _chunkPZNCMPJFcjs.API_ROUTE_METHODS; exports.DEFAULT_FARM_API_BASE_PATH = _chunkS3A45T7Fcjs.DEFAULT_FARM_API_BASE_PATH; exports.DELETE = _chunkVHJGDMCGcjs.DELETE; exports.EndpointFailure = _chunkVHJGDMCGcjs.EndpointFailure; exports.FARM_API_ROUTE_META_SYMBOL = _chunkBJPBQNIEcjs.FARM_API_ROUTE_META_SYMBOL; exports.FARM_API_ROUTE_REF_SYMBOL = _chunkBJPBQNIEcjs.FARM_API_ROUTE_REF_SYMBOL; exports.GET = _chunkVHJGDMCGcjs.GET; exports.HEAD = _chunkVHJGDMCGcjs.HEAD; exports.OPTIONS = _chunkVHJGDMCGcjs.OPTIONS; exports.PATCH = _chunkVHJGDMCGcjs.PATCH; exports.POST = _chunkVHJGDMCGcjs.POST; exports.PUT = _chunkVHJGDMCGcjs.PUT; exports.QUERY = _chunkVHJGDMCGcjs.QUERY; exports.applyServerFnOptimisticUpdates = _chunkBJPBQNIEcjs.applyServerFnOptimisticUpdates; exports.createAPIClient = _chunkBJPBQNIEcjs.createAPIClient; exports.createApiClients = _chunkBJPBQNIEcjs.createApiClients; exports.createEndpoint = _chunkVHJGDMCGcjs.createEndpoint; exports.createRouteFactory = _chunkVHJGDMCGcjs.createRouteFactory; exports.createServerAPIClient = _chunkBJPBQNIEcjs.createServerAPIClient; exports.farmApiPlugin = _chunk3FCFQP5Vcjs.farmApiPlugin; exports.getAPIRouteRefMetadata = _chunkBJPBQNIEcjs.getAPIRouteRefMetadata; exports.getAllowedAPIRouteMethods = _chunkPZNCMPJFcjs.getAllowedAPIRouteMethods; exports.getFarmAPIBaseURL = _chunkS3A45T7Fcjs.getFarmAPIBaseURL; exports.invokeAPIRouteEndpoint = _chunkPZNCMPJFcjs.invokeAPIRouteEndpoint; exports.isAPIRouteRef = _chunkBJPBQNIEcjs.isAPIRouteRef; exports.isEndpointFailure = _chunkVHJGDMCGcjs.isEndpointFailure; exports.isFarmAPIStream = _chunkARJWXNQLcjs.isFarmAPIStream; exports.isJSONStreamResponse = _chunkARJWXNQLcjs.isJSONStreamResponse; exports.isMultipartSchema = _chunkARJWXNQLcjs.isMultipartSchema; exports.isWebResponse = _chunkPZNCMPJFcjs.isWebResponse; exports.jsonStream = _chunkARJWXNQLcjs.jsonStream; exports.matchAPIRoute = _chunkG7HXGLECcjs.matchAPIRoute; exports.multipart = _chunkARJWXNQLcjs.multipart; exports.normalizeFarmAPIBasePath = _chunkS3A45T7Fcjs.normalizeFarmAPIBasePath; exports.normalizeFarmAPIConfig = _chunkS3A45T7Fcjs.normalizeFarmAPIConfig; exports.normalizeRouteResponse = _chunkPZNCMPJFcjs.normalizeRouteResponse; exports.readJSONStream = _chunkARJWXNQLcjs.readJSONStream; exports.resolveAPIRouteEndpoint = _chunkPZNCMPJFcjs.resolveAPIRouteEndpoint; exports.resolveFarmAPIConfig = _chunkS3A45T7Fcjs.resolveFarmAPIConfig; exports.resolveFarmAPIRequestURL = _chunkS3A45T7Fcjs.resolveFarmAPIRequestURL; exports.resolveFarmAPIServerBasePath = _chunkWPYFSQKKcjs.resolveFarmAPIServerBasePath; exports.resolvePluginRoutes = _chunkVHJGDMCGcjs.resolvePluginRoutes; exports.resolveServerFnInvalidateTargets = _chunkBJPBQNIEcjs.resolveServerFnInvalidateTargets; exports.settleServerFnOptimisticUpdates = _chunkBJPBQNIEcjs.settleServerFnOptimisticUpdates; exports.toFormData = _chunkARJWXNQLcjs.toFormData;
package/dist/api.d.mts CHANGED
@@ -1,10 +1,11 @@
1
1
  export { A as AnyEndpointMiddleware, D as DELETE, k as EndpointErrorContracts, h as EndpointErrorDefinition, j as EndpointErrorDefinitions, l as EndpointErrorHandler, g as EndpointErrorSchema, m as EndpointFail, e as EndpointFailure, w as EndpointHandler, t as EndpointInvalidationContext, s as EndpointInvalidationTarget, u as EndpointInvalidations, E as EndpointMCPMetadata, c as EndpointMCPOptions, r as EndpointMiddleware, q as EndpointMiddlewareContext, a as EndpointMiddlewareResult, f as EndpointOpenAPIMetadata, v as EndpointOptions, n as EndpointParamValue, o as EndpointParams, K as FarmAPIStream, J as FarmStreamResponse, G as GET, H as HEAD, I as InferEndpointMiddlewareContext, M as MultipartField, F as MultipartSchema, B as MultipartValues, O as OPTIONS, z as PATCH, P as POST, y as PUT, Q as QUERY, T as TypedEndpoint, C as TypedFormData, x as createEndpoint, i as isEndpointFailure, X as isFarmAPIStream, V as isJSONStreamResponse, N as isMultipartSchema, U as jsonStream, L as multipart, W as readJSONStream, S as toFormData } from './endpoint-CCHFqyTE.mjs';
2
2
  export { APIRoute, APIRouteConflictError, APIRouteHandlerOptions, APIRouteManager, APIRouteManagerOptions } from './api/route-manager.mjs';
3
3
  export { v as APIClient, h as APIClientError, b as APIClientOptions, i as APIClientSystemError, c as APIClientWithoutIntegrationsOptions, s as APIQueryPrimitive, t as APIQueryValue, g as APIResult, K as APIRouteManifest, A as APIRouteRefMetadata, x as ApiClients, C as CacheKey, n as CacheOptions, l as CachePolicy, m as CacheScope, r as ClientOptions, a as FARM_API_ROUTE_META_SYMBOL, F as FARM_API_ROUTE_REF_SYMBOL, p as InvalidateOptions, I as InvalidateTarget, q as OptimisticOptions, O as OptimisticUpdate, j as RequestEvent, k as ResponseEvent, o as RetryAttemptContext, R as RetryOptions, u as RouteAPIClient, w as ServerAPIClient, S as ServerAPIClientOptions, d as ServerAPIClientWithoutIntegrationsOptions, f as StatusEvent, e as StatusPhase, G as applyServerFnOptimisticUpdates, z as createAPIClient, y as createApiClients, E as createServerAPIClient, D as getAPIRouteRefMetadata, B as isAPIRouteRef, J as resolveServerFnInvalidateTargets, H as settleServerFnOptimisticUpdates } from './api-client-BjMmY8OD.mjs';
4
- import { aD as ResolvedFarmAPIConfig } from './client-plugins-CgYNY7jF.mjs';
5
- export { eA as DEFAULT_FARM_API_BASE_PATH, eD as FarmAPIConfig, eB as FarmAPIConfigResolverContext, eC as FarmAPIConfigValue, eH as getFarmAPIBaseURL, eG as normalizeFarmAPIBasePath, eF as normalizeFarmAPIConfig, eE as resolveFarmAPIConfig, eI as resolveFarmAPIRequestURL } from './client-plugins-CgYNY7jF.mjs';
4
+ import { aG as ResolvedFarmAPIConfig } from './client-plugins-BX2ptm4H.mjs';
5
+ export { eF as DEFAULT_FARM_API_BASE_PATH, eI as FarmAPIConfig, eG as FarmAPIConfigResolverContext, eH as FarmAPIConfigValue, eM as getFarmAPIBaseURL, eL as normalizeFarmAPIBasePath, eK as normalizeFarmAPIConfig, eJ as resolveFarmAPIConfig, eN as resolveFarmAPIRequestURL } from './client-plugins-BX2ptm4H.mjs';
6
6
  import { Plugin } from 'vite';
7
- export { t as PluginAPIRouter, r as PluginLocalAPI, q as PluginLocalAPIEndpoint, p as PluginRoutes, P as PluginRoutesFactory, m as RouteDefinition, o as RouteFactory, k as RouteInputSchemas, l as RouteJSON, R as RouteMethod, n as RouteOptions, j as RoutePathParams, s as createRouteFactory, u as resolvePluginRoutes } from './integration-api-0y4FXJpC.mjs';
7
+ import { P as PluginRoutesFactory } from './integration-api-0y4FXJpC.mjs';
8
+ export { t as PluginAPIRouter, r as PluginLocalAPI, q as PluginLocalAPIEndpoint, p as PluginRoutes, m as RouteDefinition, o as RouteFactory, k as RouteInputSchemas, l as RouteJSON, R as RouteMethod, n as RouteOptions, j as RoutePathParams, s as createRouteFactory, u as resolvePluginRoutes } from './integration-api-0y4FXJpC.mjs';
8
9
  export { API_ROUTE_METHODS, getAllowedAPIRouteMethods, invokeAPIRouteEndpoint, isWebResponse, normalizeRouteResponse, resolveAPIRouteEndpoint } from './api/runtime.mjs';
9
10
  export { A as APIRouteMatch, b as APIRouteParamValue, a as APIRouteParams, m as matchAPIRoute } from './route-pattern-W-SsJGSp.mjs';
10
11
  import './cache.mjs';
@@ -72,6 +73,19 @@ interface FarmApiPluginOptions {
72
73
  bodySizeLimit?: number | string;
73
74
  /** Same-origin path where canonical `/api` routes are served. @default "/api" */
74
75
  basePath?: string;
76
+ /**
77
+ * Plugins whose `routes` hook adds API routes, such as the `mcp` endpoint.
78
+ * Merged after file routes, as core's dev server and production bundle do.
79
+ */
80
+ plugins?: (context: {
81
+ root: string;
82
+ }) => readonly {
83
+ name: string;
84
+ routes?: PluginRoutesFactory;
85
+ }[] | Promise<readonly {
86
+ name: string;
87
+ routes?: PluginRoutesFactory;
88
+ }[]>;
75
89
  }
76
90
  interface ApiRoute {
77
91
  path: string;
@@ -84,4 +98,4 @@ interface ApiRoute {
84
98
  */
85
99
  declare function farmApiPlugin(options?: FarmApiPluginOptions): Plugin;
86
100
 
87
- export { type ApiRoute, type FarmApiPluginOptions, ResolvedFarmAPIConfig, farmApiPlugin, resolveFarmAPIServerBasePath };
101
+ export { type ApiRoute, type FarmApiPluginOptions, PluginRoutesFactory, ResolvedFarmAPIConfig, farmApiPlugin, resolveFarmAPIServerBasePath };
package/dist/api.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  export { A as AnyEndpointMiddleware, D as DELETE, k as EndpointErrorContracts, h as EndpointErrorDefinition, j as EndpointErrorDefinitions, l as EndpointErrorHandler, g as EndpointErrorSchema, m as EndpointFail, e as EndpointFailure, w as EndpointHandler, t as EndpointInvalidationContext, s as EndpointInvalidationTarget, u as EndpointInvalidations, E as EndpointMCPMetadata, c as EndpointMCPOptions, r as EndpointMiddleware, q as EndpointMiddlewareContext, a as EndpointMiddlewareResult, f as EndpointOpenAPIMetadata, v as EndpointOptions, n as EndpointParamValue, o as EndpointParams, K as FarmAPIStream, J as FarmStreamResponse, G as GET, H as HEAD, I as InferEndpointMiddlewareContext, M as MultipartField, F as MultipartSchema, B as MultipartValues, O as OPTIONS, z as PATCH, P as POST, y as PUT, Q as QUERY, T as TypedEndpoint, C as TypedFormData, x as createEndpoint, i as isEndpointFailure, X as isFarmAPIStream, V as isJSONStreamResponse, N as isMultipartSchema, U as jsonStream, L as multipart, W as readJSONStream, S as toFormData } from './endpoint-CA-TNX60.js';
2
2
  export { APIRoute, APIRouteConflictError, APIRouteHandlerOptions, APIRouteManager, APIRouteManagerOptions } from './api/route-manager.js';
3
3
  export { v as APIClient, h as APIClientError, b as APIClientOptions, i as APIClientSystemError, c as APIClientWithoutIntegrationsOptions, s as APIQueryPrimitive, t as APIQueryValue, g as APIResult, K as APIRouteManifest, A as APIRouteRefMetadata, x as ApiClients, C as CacheKey, n as CacheOptions, l as CachePolicy, m as CacheScope, r as ClientOptions, a as FARM_API_ROUTE_META_SYMBOL, F as FARM_API_ROUTE_REF_SYMBOL, p as InvalidateOptions, I as InvalidateTarget, q as OptimisticOptions, O as OptimisticUpdate, j as RequestEvent, k as ResponseEvent, o as RetryAttemptContext, R as RetryOptions, u as RouteAPIClient, w as ServerAPIClient, S as ServerAPIClientOptions, d as ServerAPIClientWithoutIntegrationsOptions, f as StatusEvent, e as StatusPhase, G as applyServerFnOptimisticUpdates, z as createAPIClient, y as createApiClients, E as createServerAPIClient, D as getAPIRouteRefMetadata, B as isAPIRouteRef, J as resolveServerFnInvalidateTargets, H as settleServerFnOptimisticUpdates } from './api-client-CyFtZFJ4.js';
4
- import { aD as ResolvedFarmAPIConfig } from './client-plugins-Fl9Og3yB.js';
5
- export { eA as DEFAULT_FARM_API_BASE_PATH, eD as FarmAPIConfig, eB as FarmAPIConfigResolverContext, eC as FarmAPIConfigValue, eH as getFarmAPIBaseURL, eG as normalizeFarmAPIBasePath, eF as normalizeFarmAPIConfig, eE as resolveFarmAPIConfig, eI as resolveFarmAPIRequestURL } from './client-plugins-Fl9Og3yB.js';
4
+ import { aG as ResolvedFarmAPIConfig } from './client-plugins-BmxM5KW_.js';
5
+ export { eF as DEFAULT_FARM_API_BASE_PATH, eI as FarmAPIConfig, eG as FarmAPIConfigResolverContext, eH as FarmAPIConfigValue, eM as getFarmAPIBaseURL, eL as normalizeFarmAPIBasePath, eK as normalizeFarmAPIConfig, eJ as resolveFarmAPIConfig, eN as resolveFarmAPIRequestURL } from './client-plugins-BmxM5KW_.js';
6
6
  import { Plugin } from 'vite';
7
- export { t as PluginAPIRouter, r as PluginLocalAPI, q as PluginLocalAPIEndpoint, p as PluginRoutes, P as PluginRoutesFactory, m as RouteDefinition, o as RouteFactory, k as RouteInputSchemas, l as RouteJSON, R as RouteMethod, n as RouteOptions, j as RoutePathParams, s as createRouteFactory, u as resolvePluginRoutes } from './integration-api-BPJo5oXb.js';
7
+ import { P as PluginRoutesFactory } from './integration-api-BPJo5oXb.js';
8
+ export { t as PluginAPIRouter, r as PluginLocalAPI, q as PluginLocalAPIEndpoint, p as PluginRoutes, m as RouteDefinition, o as RouteFactory, k as RouteInputSchemas, l as RouteJSON, R as RouteMethod, n as RouteOptions, j as RoutePathParams, s as createRouteFactory, u as resolvePluginRoutes } from './integration-api-BPJo5oXb.js';
8
9
  export { API_ROUTE_METHODS, getAllowedAPIRouteMethods, invokeAPIRouteEndpoint, isWebResponse, normalizeRouteResponse, resolveAPIRouteEndpoint } from './api/runtime.js';
9
10
  export { A as APIRouteMatch, b as APIRouteParamValue, a as APIRouteParams, m as matchAPIRoute } from './route-pattern-W-SsJGSp.js';
10
11
  import './cache.js';
@@ -72,6 +73,19 @@ interface FarmApiPluginOptions {
72
73
  bodySizeLimit?: number | string;
73
74
  /** Same-origin path where canonical `/api` routes are served. @default "/api" */
74
75
  basePath?: string;
76
+ /**
77
+ * Plugins whose `routes` hook adds API routes, such as the `mcp` endpoint.
78
+ * Merged after file routes, as core's dev server and production bundle do.
79
+ */
80
+ plugins?: (context: {
81
+ root: string;
82
+ }) => readonly {
83
+ name: string;
84
+ routes?: PluginRoutesFactory;
85
+ }[] | Promise<readonly {
86
+ name: string;
87
+ routes?: PluginRoutesFactory;
88
+ }[]>;
75
89
  }
76
90
  interface ApiRoute {
77
91
  path: string;
@@ -84,4 +98,4 @@ interface ApiRoute {
84
98
  */
85
99
  declare function farmApiPlugin(options?: FarmApiPluginOptions): Plugin;
86
100
 
87
- export { type ApiRoute, type FarmApiPluginOptions, ResolvedFarmAPIConfig, farmApiPlugin, resolveFarmAPIServerBasePath };
101
+ export { type ApiRoute, type FarmApiPluginOptions, PluginRoutesFactory, ResolvedFarmAPIConfig, farmApiPlugin, resolveFarmAPIServerBasePath };
package/dist/api.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  farmApiPlugin
3
- } from "./chunk-KXGDXYUC.mjs";
3
+ } from "./chunk-DGXN3L4D.mjs";
4
4
  import {
5
5
  APIClientError,
6
6
  FARM_API_ROUTE_META_SYMBOL,
@@ -1,4 +1,4 @@
1
- import { J as FarmConfig, P as ParsedRoute, aB as ResolvedFarmRouteRuntimeConfig, aC as ApplicationMetadataRouteKind, s as RouteModule, ab as LayoutModule, ag as SSGCollectionResult, e as FarmRequest, f as FarmResponse, aD as ResolvedFarmAPIConfig, aE as FarmMarkdownResolvedConfig, u as FarmMdxResolvedConfig, aF as ResolvedFarmDevtoolsConfig, aG as ResolvedFarmDevIndicatorsConfig, aH as ResolvedFarmAuthConfig, aI as ResolvedFarmPerformanceConfig, aJ as ResolvedFarmSecurityConfig } from './client-plugins-CgYNY7jF.mjs';
1
+ import { J as FarmConfig, P as ParsedRoute, aE as ResolvedFarmRouteRuntimeConfig, aF as ApplicationMetadataRouteKind, s as RouteModule, ae as LayoutModule, aj as SSGCollectionResult, e as FarmRequest, f as FarmResponse, aG as ResolvedFarmAPIConfig, aH as FarmMarkdownResolvedConfig, u as FarmMdxResolvedConfig, aI as ResolvedFarmDevtoolsConfig, aJ as ResolvedFarmDevIndicatorsConfig, aK as ResolvedFarmAuthConfig, aL as ResolvedFarmPerformanceConfig, aM as ResolvedFarmSecurityConfig } from './client-plugins-BX2ptm4H.mjs';
2
2
  import { F as FarmDocsResolvedConfig } from './types-DFbjpjXX.mjs';
3
3
  import { F as FarmWorkflowsResolvedConfig } from './workflows-CR9ex-gz.mjs';
4
4
  import { FarmCronResolvedConfig } from './cron.mjs';
@@ -6,9 +6,9 @@ import { R as ResolvedFarmImageConfig } from './image-config-Duob7wER.mjs';
6
6
  import { ProgrammaticRedirectRoute, ProgrammaticRouteSearchClientOptions } from './routes.mjs';
7
7
  import { ViteDevServer } from 'vite';
8
8
  import { F as FarmIslandStrategy } from './island-CfGru1MO.mjs';
9
- import { M as MetadataImageKind } from './metadata-B0X-qtcQ.mjs';
9
+ import { M as MetadataImageKind } from './metadata-DsEaK7mQ.mjs';
10
10
  import { FarmServerRendererRuntime, FarmRenderer } from './renderer.mjs';
11
- import { F as FarmRouteRenderPlan } from './render-plan-_1TAWODt.mjs';
11
+ import { F as FarmRouteRenderPlan } from './render-plan-DhwQnmmX.mjs';
12
12
  import { R as ResolvedFarmI18nConfig } from './types-Z0aotQ8w.mjs';
13
13
  import { F as FarmI18nRuntime } from './runtime-AOJge4vQ.mjs';
14
14
  import { R as ResolvedFarmThemeConfig } from './types-DQnyD3VD.mjs';
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkEWZ3XHKQcjs = require('./chunk-EWZ3XHKQ.cjs');
4
+ var _chunkBZAGKCKBcjs = require('./chunk-BZAGKCKB.cjs');
5
5
 
6
6
 
7
7
 
@@ -10,7 +10,7 @@ var _chunkEWZ3XHKQcjs = require('./chunk-EWZ3XHKQ.cjs');
10
10
 
11
11
 
12
12
 
13
- var _chunkTII23GJCcjs = require('./chunk-TII23GJC.cjs');
13
+ var _chunkNXG66MR7cjs = require('./chunk-NXG66MR7.cjs');
14
14
 
15
15
 
16
16
 
@@ -19,13 +19,14 @@ var _chunkOHY2ZWUGcjs = require('./chunk-OHY2ZWUG.cjs');
19
19
 
20
20
 
21
21
 
22
- var _chunkXSPGWQWAcjs = require('./chunk-XSPGWQWA.cjs');
22
+ var _chunk6CNX6Q3Kcjs = require('./chunk-6CNX6Q3K.cjs');
23
23
  require('./chunk-J63ZH5OQ.cjs');
24
24
  require('./chunk-5MKEDGLD.cjs');
25
25
  require('./chunk-WPYFSQKK.cjs');
26
26
  require('./chunk-E3UK5IIB.cjs');
27
27
  require('./chunk-G7HXGLEC.cjs');
28
28
  require('./chunk-S3A45T7F.cjs');
29
+ require('./chunk-FJ3M4CUX.cjs');
29
30
  require('./chunk-I57LW5VZ.cjs');
30
31
  require('./chunk-NO3WWW3N.cjs');
31
32
  require('./chunk-S3JO3N4H.cjs');
@@ -44,4 +45,4 @@ require('./chunk-S3JO3N4H.cjs');
44
45
 
45
46
 
46
47
 
47
- exports.FARM_MARKDOWN_CONTENT_TYPE = _chunkXSPGWQWAcjs.FARM_MARKDOWN_CONTENT_TYPE; exports.createFarmMarkdownErrorBody = _chunkXSPGWQWAcjs.createFarmMarkdownErrorBody; exports.createFarmMarkdownRouteModule = _chunkTII23GJCcjs.createFarmMarkdownRouteModule; exports.createFarmMarkdownRouteModuleFromFile = _chunkEWZ3XHKQcjs.createFarmMarkdownRouteModuleFromFile; exports.createFarmMarkdownSourceResponse = _chunkTII23GJCcjs.createFarmMarkdownSourceResponse; exports.createMarkdownMetadata = _chunkTII23GJCcjs.createMarkdownMetadata; exports.farmRequestWantsMarkdown = _chunkXSPGWQWAcjs.farmRequestWantsMarkdown; exports.isFarmMarkdownPageFile = _chunkTII23GJCcjs.isFarmMarkdownPageFile; exports.loadFarmMdxComponents = _chunkEWZ3XHKQcjs.loadFarmMdxComponents; exports.normalizeFarmMarkdownRoutePath = _chunkTII23GJCcjs.normalizeFarmMarkdownRoutePath; exports.parseMarkdownFrontmatter = _chunkTII23GJCcjs.parseMarkdownFrontmatter; exports.resolveFarmMdxComponentsModulePath = _chunkOHY2ZWUGcjs.resolveFarmMdxComponentsModulePath; exports.resolveMdxConfig = _chunkOHY2ZWUGcjs.resolveMdxConfig; exports.titleFromMarkdown = _chunkTII23GJCcjs.titleFromMarkdown;
48
+ exports.FARM_MARKDOWN_CONTENT_TYPE = _chunk6CNX6Q3Kcjs.FARM_MARKDOWN_CONTENT_TYPE; exports.createFarmMarkdownErrorBody = _chunk6CNX6Q3Kcjs.createFarmMarkdownErrorBody; exports.createFarmMarkdownRouteModule = _chunkNXG66MR7cjs.createFarmMarkdownRouteModule; exports.createFarmMarkdownRouteModuleFromFile = _chunkBZAGKCKBcjs.createFarmMarkdownRouteModuleFromFile; exports.createFarmMarkdownSourceResponse = _chunkNXG66MR7cjs.createFarmMarkdownSourceResponse; exports.createMarkdownMetadata = _chunkNXG66MR7cjs.createMarkdownMetadata; exports.farmRequestWantsMarkdown = _chunk6CNX6Q3Kcjs.farmRequestWantsMarkdown; exports.isFarmMarkdownPageFile = _chunkNXG66MR7cjs.isFarmMarkdownPageFile; exports.loadFarmMdxComponents = _chunkBZAGKCKBcjs.loadFarmMdxComponents; exports.normalizeFarmMarkdownRoutePath = _chunkNXG66MR7cjs.normalizeFarmMarkdownRoutePath; exports.parseMarkdownFrontmatter = _chunkNXG66MR7cjs.parseMarkdownFrontmatter; exports.resolveFarmMdxComponentsModulePath = _chunkOHY2ZWUGcjs.resolveFarmMdxComponentsModulePath; exports.resolveMdxConfig = _chunkOHY2ZWUGcjs.resolveMdxConfig; exports.titleFromMarkdown = _chunkNXG66MR7cjs.titleFromMarkdown;
@@ -1,5 +1,5 @@
1
- import { t as FarmMdxComponents, u as FarmMdxResolvedConfig, s as RouteModule } from './client-plugins-CgYNY7jF.mjs';
2
- export { z as FARM_MARKDOWN_CONTENT_TYPE, x as FarmMdxComponent, y as FarmMdxUserConfig, A as createFarmMarkdownErrorBody, B as farmRequestWantsMarkdown, v as resolveFarmMdxComponentsModulePath, w as resolveMdxConfig } from './client-plugins-CgYNY7jF.mjs';
1
+ import { t as FarmMdxComponents, u as FarmMdxResolvedConfig, s as RouteModule } from './client-plugins-BX2ptm4H.mjs';
2
+ export { z as FARM_MARKDOWN_CONTENT_TYPE, x as FarmMdxComponent, y as FarmMdxUserConfig, A as createFarmMarkdownErrorBody, B as farmRequestWantsMarkdown, v as resolveFarmMdxComponentsModulePath, w as resolveMdxConfig } from './client-plugins-BX2ptm4H.mjs';
3
3
  export { FarmMarkdownPageModuleInput, FarmMarkdownPageSource, createFarmMarkdownRouteModule, createFarmMarkdownSourceResponse, createMarkdownMetadata, isFarmMarkdownPageFile, normalizeFarmMarkdownRoutePath, parseMarkdownFrontmatter, titleFromMarkdown } from './internal/app-markdown-runtime.mjs';
4
4
  import './lifecycle-DK06VuKP.mjs';
5
5
  import './integration-api-0y4FXJpC.mjs';
@@ -12,7 +12,6 @@ import 'http';
12
12
  import './server-fn.mjs';
13
13
  import './server-fn-error-DDh14a0V.mjs';
14
14
  import './server-query.mjs';
15
- import './types-Z0aotQ8w.mjs';
16
15
  import './types-Cc8l9IqS.mjs';
17
16
  import 'db0';
18
17
  import 'unstorage';
@@ -31,6 +30,7 @@ import './server-action-security.mjs';
31
30
  import 'rolldown/utils';
32
31
  import 'rolldown';
33
32
  import './image-config-Duob7wER.mjs';
33
+ import './types-Z0aotQ8w.mjs';
34
34
  import './types-DQnyD3VD.mjs';
35
35
  import './font.mjs';
36
36
  import './after.mjs';
@@ -1,5 +1,5 @@
1
- import { t as FarmMdxComponents, u as FarmMdxResolvedConfig, s as RouteModule } from './client-plugins-Fl9Og3yB.js';
2
- export { z as FARM_MARKDOWN_CONTENT_TYPE, x as FarmMdxComponent, y as FarmMdxUserConfig, A as createFarmMarkdownErrorBody, B as farmRequestWantsMarkdown, v as resolveFarmMdxComponentsModulePath, w as resolveMdxConfig } from './client-plugins-Fl9Og3yB.js';
1
+ import { t as FarmMdxComponents, u as FarmMdxResolvedConfig, s as RouteModule } from './client-plugins-BmxM5KW_.js';
2
+ export { z as FARM_MARKDOWN_CONTENT_TYPE, x as FarmMdxComponent, y as FarmMdxUserConfig, A as createFarmMarkdownErrorBody, B as farmRequestWantsMarkdown, v as resolveFarmMdxComponentsModulePath, w as resolveMdxConfig } from './client-plugins-BmxM5KW_.js';
3
3
  export { FarmMarkdownPageModuleInput, FarmMarkdownPageSource, createFarmMarkdownRouteModule, createFarmMarkdownSourceResponse, createMarkdownMetadata, isFarmMarkdownPageFile, normalizeFarmMarkdownRoutePath, parseMarkdownFrontmatter, titleFromMarkdown } from './internal/app-markdown-runtime.js';
4
4
  import './lifecycle-DK06VuKP.js';
5
5
  import './integration-api-BPJo5oXb.js';
@@ -12,7 +12,6 @@ import 'http';
12
12
  import './server-fn.js';
13
13
  import './server-fn-error-DDh14a0V.js';
14
14
  import './server-query.js';
15
- import './types-Z0aotQ8w.js';
16
15
  import './types-Cc8l9IqS.js';
17
16
  import 'db0';
18
17
  import 'unstorage';
@@ -31,6 +30,7 @@ import './server-action-security.js';
31
30
  import 'rolldown/utils';
32
31
  import 'rolldown';
33
32
  import './image-config-Duob7wER.js';
33
+ import './types-Z0aotQ8w.js';
34
34
  import './types-DQnyD3VD.js';
35
35
  import './font.js';
36
36
  import './after.js';
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createFarmMarkdownRouteModuleFromFile,
3
3
  loadFarmMdxComponents
4
- } from "./chunk-NVBS5WSZ.mjs";
4
+ } from "./chunk-6G3ZZ2IE.mjs";
5
5
  import {
6
6
  createFarmMarkdownRouteModule,
7
7
  createFarmMarkdownSourceResponse,
@@ -10,7 +10,7 @@ import {
10
10
  normalizeFarmMarkdownRoutePath,
11
11
  parseMarkdownFrontmatter,
12
12
  titleFromMarkdown
13
- } from "./chunk-2DLN6HG4.mjs";
13
+ } from "./chunk-BZ3CHOFX.mjs";
14
14
  import {
15
15
  resolveFarmMdxComponentsModulePath,
16
16
  resolveMdxConfig
@@ -19,13 +19,14 @@ import {
19
19
  FARM_MARKDOWN_CONTENT_TYPE,
20
20
  createFarmMarkdownErrorBody,
21
21
  farmRequestWantsMarkdown
22
- } from "./chunk-K3YEZLSY.mjs";
22
+ } from "./chunk-ATXI6LGT.mjs";
23
23
  import "./chunk-MVL2RAJW.mjs";
24
24
  import "./chunk-O6XNAMBV.mjs";
25
25
  import "./chunk-I6XDAKWQ.mjs";
26
26
  import "./chunk-FUZEBRP3.mjs";
27
27
  import "./chunk-O7BH5O46.mjs";
28
28
  import "./chunk-7LTCDQRS.mjs";
29
+ import "./chunk-Z3HATSKO.mjs";
29
30
  import "./chunk-4RB44K6Z.mjs";
30
31
  import "./chunk-55YI3RRB.mjs";
31
32
  import "./chunk-LPEX4YW6.mjs";
@@ -1,4 +1,4 @@
1
- import { J as FarmConfig, P as ParsedRoute, aB as ResolvedFarmRouteRuntimeConfig, aC as ApplicationMetadataRouteKind, s as RouteModule, ab as LayoutModule, ag as SSGCollectionResult, e as FarmRequest, f as FarmResponse, aD as ResolvedFarmAPIConfig, aE as FarmMarkdownResolvedConfig, u as FarmMdxResolvedConfig, aF as ResolvedFarmDevtoolsConfig, aG as ResolvedFarmDevIndicatorsConfig, aH as ResolvedFarmAuthConfig, aI as ResolvedFarmPerformanceConfig, aJ as ResolvedFarmSecurityConfig } from './client-plugins-Fl9Og3yB.js';
1
+ import { J as FarmConfig, P as ParsedRoute, aE as ResolvedFarmRouteRuntimeConfig, aF as ApplicationMetadataRouteKind, s as RouteModule, ae as LayoutModule, aj as SSGCollectionResult, e as FarmRequest, f as FarmResponse, aG as ResolvedFarmAPIConfig, aH as FarmMarkdownResolvedConfig, u as FarmMdxResolvedConfig, aI as ResolvedFarmDevtoolsConfig, aJ as ResolvedFarmDevIndicatorsConfig, aK as ResolvedFarmAuthConfig, aL as ResolvedFarmPerformanceConfig, aM as ResolvedFarmSecurityConfig } from './client-plugins-BmxM5KW_.js';
2
2
  import { F as FarmDocsResolvedConfig } from './types-DFbjpjXX.js';
3
3
  import { F as FarmWorkflowsResolvedConfig } from './workflows-CR9ex-gz.js';
4
4
  import { FarmCronResolvedConfig } from './cron.js';
@@ -6,9 +6,9 @@ import { R as ResolvedFarmImageConfig } from './image-config-Duob7wER.js';
6
6
  import { ProgrammaticRedirectRoute, ProgrammaticRouteSearchClientOptions } from './routes.js';
7
7
  import { ViteDevServer } from 'vite';
8
8
  import { F as FarmIslandStrategy } from './island-CfGru1MO.js';
9
- import { M as MetadataImageKind } from './metadata-BdDKgd7K.js';
9
+ import { M as MetadataImageKind } from './metadata-fwZ3gfG6.js';
10
10
  import { FarmServerRendererRuntime, FarmRenderer } from './renderer.js';
11
- import { F as FarmRouteRenderPlan } from './render-plan-B41EWmBb.js';
11
+ import { F as FarmRouteRenderPlan } from './render-plan-rkIK9wd9.js';
12
12
  import { R as ResolvedFarmI18nConfig } from './types-Z0aotQ8w.js';
13
13
  import { F as FarmI18nRuntime } from './runtime-BirxPwbZ.js';
14
14
  import { R as ResolvedFarmThemeConfig } from './types-DQnyD3VD.js';
@@ -11,6 +11,9 @@ import {
11
11
  import {
12
12
  emitFarmEvent
13
13
  } from "./chunk-FUZEBRP3.mjs";
14
+ import {
15
+ _withFarmResponseHeaders
16
+ } from "./chunk-Z3HATSKO.mjs";
14
17
  import {
15
18
  getFarmRedirectError,
16
19
  isFarmNotFoundError,
@@ -637,21 +640,17 @@ function applyProductionMiddlewareHeaders(response, middlewareHeaders) {
637
640
  if (!middlewareHeaders || Array.from(middlewareHeaders.keys()).length === 0) {
638
641
  return response;
639
642
  }
640
- const headers = new Headers(response.headers);
641
643
  const getSetCookie = middlewareHeaders.getSetCookie;
642
644
  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
645
+ return _withFarmResponseHeaders(response, (headers) => {
646
+ for (const [key, value] of middlewareHeaders) {
647
+ if (key.toLowerCase() === "set-cookie") continue;
648
+ if (headers.has(key)) continue;
649
+ headers.set(key, value);
650
+ }
651
+ for (const cookie of setCookies) {
652
+ headers.append("Set-Cookie", cookie);
653
+ }
655
654
  });
656
655
  }
657
656
  __name(applyProductionMiddlewareHeaders, "applyProductionMiddlewareHeaders");
@@ -3,14 +3,14 @@ import {
3
3
  loadFarmDocsPage,
4
4
  resolveFarmDocsContentDir,
5
5
  toFarmDocsMarkdownPage
6
- } from "./chunk-T7HQ3I4C.mjs";
6
+ } from "./chunk-PQD2AI3B.mjs";
7
7
  import {
8
8
  docsEngine,
9
9
  loadFarmDocsEngine
10
10
  } from "./chunk-2VQKKQ6D.mjs";
11
11
  import {
12
12
  resolveDocsConfig
13
- } from "./chunk-PZPDGOU5.mjs";
13
+ } from "./chunk-7CXKSRKL.mjs";
14
14
  import {
15
15
  getFarmDocsAdapterConfigModule
16
16
  } from "./chunk-VVBO3QH7.mjs";
@@ -19,6 +19,7 @@ var _chunk2CQ74SP6cjs = require('./chunk-2CQ74SP6.cjs');
19
19
 
20
20
 
21
21
 
22
+
22
23
  var _chunkPZNCMPJFcjs = require('./chunk-PZNCMPJF.cjs');
23
24
 
24
25
 
@@ -63,6 +64,10 @@ function farmApiPlugin(options = {}) {
63
64
  const basePath = options.basePath;
64
65
  let apiRoutesCache = /* @__PURE__ */ new Map();
65
66
  let apiRouterHandler = null;
67
+ let projectRoot = process.cwd();
68
+ let pluginMergedRoutes = null;
69
+ const servedRoutes = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, () => _nullishCoalesce(pluginMergedRoutes, () => ( apiRoutesCache)), "servedRoutes");
70
+ let routePlugins;
66
71
  let discoveryComplete = false;
67
72
  let discoveryPromise = null;
68
73
  let discoveryError;
@@ -179,7 +184,13 @@ function farmApiPlugin(options = {}) {
179
184
  }
180
185
  }, "restoreRouteState");
181
186
  const createRouter = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, async () => {
182
- const totalEndpoints = Array.from(apiRoutesCache.values()).reduce(
187
+ const plugins = options.plugins ? await (_nullishCoalesce(routePlugins, () => ( (routePlugins = Promise.resolve(options.plugins({ root: projectRoot })))))) : [];
188
+ pluginMergedRoutes = plugins.length ? new Map(
189
+ _chunkPZNCMPJFcjs.mergePluginAPIRoutes.call(void 0, [...apiRoutesCache.values()], plugins, void 0, {
190
+ bodySizeLimit
191
+ }).map((route) => [route.path, route])
192
+ ) : null;
193
+ const totalEndpoints = Array.from(servedRoutes().values()).reduce(
183
194
  (sum, route) => sum + route.methods.length,
184
195
  0
185
196
  );
@@ -189,7 +200,7 @@ function farmApiPlugin(options = {}) {
189
200
  const url = new URL(request.url);
190
201
  const method = request.method.toUpperCase();
191
202
  const pathname = url.pathname;
192
- const match = _chunkPZNCMPJFcjs.matchAPIRouteAtBasePath.call(void 0, apiRoutesCache, pathname, basePath);
203
+ const match = _chunkPZNCMPJFcjs.matchAPIRouteAtBasePath.call(void 0, servedRoutes(), pathname, basePath);
193
204
  if (!match) {
194
205
  return new Response(JSON.stringify({ error: "Not Found" }), {
195
206
  status: 404,
@@ -223,6 +234,7 @@ function farmApiPlugin(options = {}) {
223
234
  name: "@farm.js/core:api",
224
235
  enforce: "pre",
225
236
  configureServer(server) {
237
+ projectRoot = server.config.root;
226
238
  const discoverFileRoutes = /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, async (apiDir) => {
227
239
  const fs = await import("fs");
228
240
  const path = await import("path");
@@ -368,7 +380,7 @@ function farmApiPlugin(options = {}) {
368
380
  }, "recoverFailedDiscovery");
369
381
  server.__farmApi__ = {
370
382
  getHandler: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, () => apiRouterHandler, "getHandler"),
371
- getRoutes: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, () => apiRoutesCache, "getRoutes"),
383
+ getRoutes: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, () => servedRoutes(), "getRoutes"),
372
384
  isReady: /* @__PURE__ */ _chunkS3JO3N4Hcjs.__name.call(void 0, () => discoveryComplete, "isReady"),
373
385
  waitForDiscovery
374
386
  };
@@ -378,7 +390,7 @@ function farmApiPlugin(options = {}) {
378
390
  const pathname = url.split("?")[0];
379
391
  const method = req.method || "GET";
380
392
  if (discoveryPromise) await waitForDiscovery();
381
- if (!_chunkPZNCMPJFcjs.matchAPIRouteAtBasePath.call(void 0, apiRoutesCache, pathname, basePath)) {
393
+ if (!_chunkPZNCMPJFcjs.matchAPIRouteAtBasePath.call(void 0, servedRoutes(), pathname, basePath)) {
382
394
  return next();
383
395
  }
384
396
  if (!apiRouterHandler) {
@@ -399,7 +411,7 @@ function farmApiPlugin(options = {}) {
399
411
  }
400
412
  const currentUrl = req.url || url;
401
413
  const currentPathname = currentUrl.split("?")[0];
402
- if (currentPathname !== pathname && !_chunkPZNCMPJFcjs.matchAPIRouteAtBasePath.call(void 0, apiRoutesCache, currentPathname, basePath)) {
414
+ if (currentPathname !== pathname && !_chunkPZNCMPJFcjs.matchAPIRouteAtBasePath.call(void 0, servedRoutes(), currentPathname, basePath)) {
403
415
  return next();
404
416
  }
405
417
  const fullUrl = _chunk5ZSWG4UXcjs.resolveFarmRequestURL.call(void 0, req);