@farm.js/core 0.1.26 → 0.1.27

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 (171) hide show
  1. package/dist/agent-runtime.d.mts +7 -9
  2. package/dist/agent-runtime.d.ts +7 -9
  3. package/dist/api/client.cjs +3 -3
  4. package/dist/api/client.d.mts +4 -5
  5. package/dist/api/client.d.ts +4 -5
  6. package/dist/api/client.mjs +2 -2
  7. package/dist/api/route-manager.cjs +6 -5
  8. package/dist/api/route-manager.d.mts +6 -8
  9. package/dist/api/route-manager.d.ts +6 -8
  10. package/dist/api/route-manager.mjs +5 -4
  11. package/dist/api/runtime.cjs +10 -4
  12. package/dist/api/runtime.d.mts +35 -3
  13. package/dist/api/runtime.d.ts +35 -3
  14. package/dist/api/runtime.mjs +9 -3
  15. package/dist/{api-client-Cx54IR5g.d.mts → api-client-BjMmY8OD.d.mts} +2 -3
  16. package/dist/{api-client-DykpaKcY.d.ts → api-client-CyFtZFJ4.d.ts} +2 -3
  17. package/dist/api.cjs +9 -8
  18. package/dist/api.d.mts +8 -10
  19. package/dist/api.d.ts +8 -10
  20. package/dist/api.mjs +9 -8
  21. package/dist/{app-29vG5tmY.d.mts → app-BfzZdjgX.d.mts} +3 -4
  22. package/dist/{app-Cx71s_PT.d.ts → app-CXK7Prrt.d.ts} +3 -4
  23. package/dist/app-markdown.cjs +10 -4
  24. package/dist/app-markdown.d.mts +8 -10
  25. package/dist/app-markdown.d.ts +8 -10
  26. package/dist/app-markdown.mjs +9 -3
  27. package/dist/{chunk-74RZNRY6.mjs → chunk-3PTVHMLD.mjs} +1 -1
  28. package/dist/{chunk-OFKG57MZ.mjs → chunk-4FHDV7VM.mjs} +2 -2
  29. package/dist/{chunk-KLSSO6YD.mjs → chunk-4UNKCNSL.mjs} +1 -1
  30. package/dist/chunk-5MKEDGLD.cjs +53 -0
  31. package/dist/{chunk-2CT6XUNO.cjs → chunk-DQMTHWPI.cjs} +4 -4
  32. package/dist/{chunk-ALIFMS4A.cjs → chunk-FOT7LZEO.cjs} +1 -1
  33. package/dist/{chunk-DU2CASV6.mjs → chunk-FPW4W3VW.mjs} +1 -1
  34. package/dist/{chunk-RCYINC4A.cjs → chunk-HF5SIACK.cjs} +3 -3
  35. package/dist/{chunk-ARXCHQLX.mjs → chunk-HG237IEY.mjs} +4 -4
  36. package/dist/{chunk-BD2U4ZL6.cjs → chunk-JQGDQO2I.cjs} +8 -8
  37. package/dist/{chunk-RAI7NULA.mjs → chunk-JT25KHDI.mjs} +1 -1
  38. package/dist/{chunk-WFPRVVF2.cjs → chunk-KAERLFD3.cjs} +16 -11
  39. package/dist/{chunk-H7CJRJ4L.cjs → chunk-LAHZ7LZA.cjs} +16 -16
  40. package/dist/{chunk-JM5GQL4H.mjs → chunk-MBFURXAC.mjs} +1 -1
  41. package/dist/{chunk-QLXEYIAW.cjs → chunk-NPFGGBM5.cjs} +13 -13
  42. package/dist/{chunk-VZWO3XVL.mjs → chunk-O2LV5XDG.mjs} +2 -2
  43. package/dist/chunk-O6XNAMBV.mjs +53 -0
  44. package/dist/{chunk-UXQXGB5A.mjs → chunk-OGHTEYXS.mjs} +11 -10
  45. package/dist/{chunk-OOIL3BWR.mjs → chunk-POXI72VV.mjs} +12 -0
  46. package/dist/{chunk-QGG336NI.mjs → chunk-Q4BHBO6V.mjs} +1 -1
  47. package/dist/{chunk-3WSWXPYM.cjs → chunk-QI7WQSMI.cjs} +4 -4
  48. package/dist/{chunk-PPIW3MH6.mjs → chunk-QQQNJS2E.mjs} +1 -1
  49. package/dist/{chunk-W2HZKYES.cjs → chunk-TDWFCC2T.cjs} +2 -2
  50. package/dist/{chunk-3TQG7CGC.cjs → chunk-UNSKL6BI.cjs} +78 -77
  51. package/dist/{chunk-QPPQHB6X.mjs → chunk-UWTQTZFN.mjs} +17 -11
  52. package/dist/{chunk-YMUH2BLR.mjs → chunk-WIVTGKLY.mjs} +7 -2
  53. package/dist/{chunk-QJ4D3UKJ.cjs → chunk-WJKVTJJR.cjs} +4 -4
  54. package/dist/{chunk-OAVTUMJP.cjs → chunk-YXM74XOW.cjs} +9 -9
  55. package/dist/{chunk-SZ4LYNUX.cjs → chunk-YZBV7733.cjs} +82 -76
  56. package/dist/{chunk-QIH2HD6H.cjs → chunk-ZSO5GWGD.cjs} +33 -21
  57. package/dist/{client-plugins-B8RPJnot.d.mts → client-plugins-1GS4zubE.d.mts} +1799 -1623
  58. package/dist/{client-plugins-bPBf4haK.d.ts → client-plugins-B1Za6F5x.d.ts} +1799 -1623
  59. package/dist/client-plugins.d.mts +7 -9
  60. package/dist/client-plugins.d.ts +7 -9
  61. package/dist/client.cjs +4 -4
  62. package/dist/client.d.mts +9 -11
  63. package/dist/client.d.ts +9 -11
  64. package/dist/client.mjs +3 -3
  65. package/dist/config.d.mts +7 -9
  66. package/dist/config.d.ts +7 -9
  67. package/dist/{devtools-5D4ZDRPR.mjs → devtools-6RN6KHTW.mjs} +6 -3
  68. package/dist/{devtools-QZJEUOJW.cjs → devtools-CQJ3H6MX.cjs} +7 -4
  69. package/dist/docs.cjs +9 -6
  70. package/dist/docs.mjs +8 -5
  71. package/dist/{endpoint-1zA994xL.d.ts → endpoint-CA-TNX60.d.ts} +1 -1
  72. package/dist/{endpoint-DAc96i93.d.mts → endpoint-CCHFqyTE.d.mts} +1 -1
  73. package/dist/index.cjs +21 -20
  74. package/dist/index.d.mts +15 -17
  75. package/dist/index.d.ts +15 -17
  76. package/dist/index.mjs +21 -20
  77. package/dist/{integration-api-BbaiokCC.d.ts → integration-api-0y4FXJpC.d.mts} +128 -1
  78. package/dist/{integration-api-BbaiokCC.d.mts → integration-api-BPJo5oXb.d.ts} +128 -1
  79. package/dist/integrations.d.mts +7 -9
  80. package/dist/integrations.d.ts +7 -9
  81. package/dist/internal/app-markdown-runtime.cjs +9 -3
  82. package/dist/internal/app-markdown-runtime.d.mts +8 -9
  83. package/dist/internal/app-markdown-runtime.d.ts +8 -9
  84. package/dist/internal/app-markdown-runtime.mjs +8 -2
  85. package/dist/internal/build-runtime.cjs +17 -16
  86. package/dist/internal/build-runtime.d.mts +9 -11
  87. package/dist/internal/build-runtime.d.ts +9 -11
  88. package/dist/internal/build-runtime.mjs +16 -15
  89. package/dist/internal/cli-runtime.cjs +8 -5
  90. package/dist/internal/cli-runtime.mjs +7 -4
  91. package/dist/internal/client-error-overlay.cjs +4 -4
  92. package/dist/internal/client-error-overlay.mjs +1 -1
  93. package/dist/internal/compression-runtime.d.mts +7 -9
  94. package/dist/internal/compression-runtime.d.ts +7 -9
  95. package/dist/internal/config-runtime.cjs +7 -4
  96. package/dist/internal/config-runtime.d.mts +8 -10
  97. package/dist/internal/config-runtime.d.ts +8 -10
  98. package/dist/internal/config-runtime.mjs +6 -3
  99. package/dist/internal/product-telemetry-runtime.cjs +2 -2
  100. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  101. package/dist/internal/production-runtime.cjs +7 -5
  102. package/dist/internal/production-runtime.d.mts +12 -14
  103. package/dist/internal/production-runtime.d.ts +12 -14
  104. package/dist/internal/production-runtime.mjs +6 -4
  105. package/dist/markdown.cjs +8 -2
  106. package/dist/markdown.d.mts +35 -153
  107. package/dist/markdown.d.ts +35 -153
  108. package/dist/markdown.mjs +7 -1
  109. package/dist/{metadata-CzBP4Mfp.d.ts → metadata-7LKgQEWF.d.ts} +1 -1
  110. package/dist/{metadata-C3na4CBj.d.mts → metadata-B9mCxKgp.d.mts} +1 -1
  111. package/dist/middleware.d.mts +8 -10
  112. package/dist/middleware.d.ts +8 -10
  113. package/dist/navigation.d.mts +9 -11
  114. package/dist/navigation.d.ts +9 -11
  115. package/dist/{nitro-ZKLGOTVY.mjs → nitro-NAKCRVHX.mjs} +4 -3
  116. package/dist/{nitro-KQDU7CFE.cjs → nitro-VYDZGYFY.cjs} +4 -3
  117. package/dist/plugin.cjs +13 -12
  118. package/dist/plugin.d.mts +8 -10
  119. package/dist/plugin.d.ts +8 -10
  120. package/dist/plugin.mjs +12 -11
  121. package/dist/{production-runtime-CYg4wM4E.d.ts → production-runtime-B3xnY6fI.d.ts} +1 -1
  122. package/dist/{production-runtime-DP94hPGe.d.mts → production-runtime-DramhI0c.d.mts} +1 -1
  123. package/dist/{render-plan-Bl6Fzg5z.d.ts → render-plan-CpW32tOL.d.ts} +1 -1
  124. package/dist/{render-plan-CKAJg0jC.d.mts → render-plan-CtQB-zHS.d.mts} +1 -1
  125. package/dist/renderer-client.d.mts +5 -7
  126. package/dist/renderer-client.d.ts +5 -7
  127. package/dist/{request-CR-Bp1Px.d.ts → request-BVGGeQv4.d.ts} +1 -1
  128. package/dist/{request-CrBCcPZZ.d.mts → request-DlLVBKe3.d.mts} +1 -1
  129. package/dist/request.d.mts +8 -10
  130. package/dist/request.d.ts +8 -10
  131. package/dist/{route-rendering-CZH5FegB.d.ts → route-rendering-BdEldajn.d.ts} +1 -1
  132. package/dist/{route-rendering-C1NAHo-C.d.mts → route-rendering-DChYLNdh.d.mts} +1 -1
  133. package/dist/{router-Cg_kD3Bd.d.ts → router-D0Az-1Nu.d.ts} +1 -1
  134. package/dist/{router-B57eDJ3u.d.mts → router-D5htHn_M.d.mts} +1 -1
  135. package/dist/routes.d.mts +5 -7
  136. package/dist/routes.d.ts +5 -7
  137. package/dist/server-fn-client.d.mts +3 -4
  138. package/dist/server-fn-client.d.ts +3 -4
  139. package/dist/server-fn.d.mts +1 -1
  140. package/dist/server-fn.d.ts +1 -1
  141. package/dist/server-plugins.d.mts +7 -9
  142. package/dist/server-plugins.d.ts +7 -9
  143. package/dist/server-query-client.d.mts +1 -1
  144. package/dist/server-query-client.d.ts +1 -1
  145. package/dist/server-query.d.mts +1 -1
  146. package/dist/server-query.d.ts +1 -1
  147. package/dist/server.cjs +198 -104
  148. package/dist/server.d.mts +12 -14
  149. package/dist/server.d.ts +12 -14
  150. package/dist/server.mjs +184 -90
  151. package/dist/{spa-router-DTdbuinx.d.mts → spa-router-DVfSJZ5o.d.mts} +2 -2
  152. package/dist/{spa-router-BstQUO6Q.d.ts → spa-router-DmwP_7QL.d.ts} +2 -2
  153. package/dist/testing.cjs +6 -5
  154. package/dist/testing.d.mts +6 -8
  155. package/dist/testing.d.ts +6 -8
  156. package/dist/testing.mjs +5 -4
  157. package/dist/{utils-CS3ZLnEJ.d.mts → utils-B_Rmr0-n.d.mts} +1 -1
  158. package/dist/{utils-D3rdsIvM.d.ts → utils-Dv0OuLtF.d.ts} +1 -1
  159. package/dist/version.cjs +2 -2
  160. package/dist/version.mjs +1 -1
  161. package/dist/vite.cjs +13 -12
  162. package/dist/vite.d.mts +7 -9
  163. package/dist/vite.d.ts +7 -9
  164. package/dist/vite.mjs +12 -11
  165. package/package.json +1 -1
  166. package/dist/route-B0XrsrFk.d.mts +0 -128
  167. package/dist/route-DOEpbyWZ.d.ts +0 -128
  168. package/dist/{chunk-GDUYXFIS.mjs → chunk-6EG7U4NF.mjs} +3 -3
  169. package/dist/{chunk-YAOX43YI.cjs → chunk-C7OUJ6JI.cjs} +2 -2
  170. package/dist/{chunk-IXTFU4PL.cjs → chunk-NL3ZSMZB.cjs} +2 -2
  171. package/dist/{chunk-L6V3P73N.mjs → chunk-UOXGA6TO.mjs} +4 -4
@@ -1,153 +1,35 @@
1
- /** Content type for Markdown responses, including agent-facing error bodies. */
2
- declare const FARM_MARKDOWN_CONTENT_TYPE = "text/markdown; charset=utf-8";
3
- declare function farmRequestWantsMarkdown(pathname: string, accept: string | null | undefined): boolean;
4
- declare function createFarmMarkdownErrorBody(status: number, pathname: string, homeHref?: string): string;
5
- type FarmMarkdownRouteInput = string | {
6
- route: string;
7
- title?: string;
8
- cache?: number | false;
9
- };
10
- interface FarmMarkdownUserConfig {
11
- /**
12
- * Enable generated markdown representations for React pages.
13
- * @default true
14
- */
15
- enabled?: boolean;
16
- /**
17
- * Routes that may expose generated markdown. Every page is exposed by default.
18
- */
19
- expose?: boolean | FarmMarkdownRouteInput[];
20
- /** @deprecated Use `expose`. */
21
- routes?: FarmMarkdownRouteInput[];
22
- cache?: number | false;
23
- includeMetadata?: boolean;
24
- }
25
- interface FarmMarkdownResolvedRoute {
26
- route: string;
27
- title?: string;
28
- cache?: number | false;
29
- }
30
- interface FarmMarkdownResolvedConfig {
31
- enabled: boolean;
32
- expose: true | FarmMarkdownResolvedRoute[];
33
- cache: number | false;
34
- includeMetadata: boolean;
35
- }
36
- interface FarmMarkdownMirrorTarget {
37
- pathname: string;
38
- route: FarmMarkdownResolvedRoute | null;
39
- }
40
- interface ResolveMarkdownMirrorTargetOptions {
41
- accept?: string | null;
42
- }
43
- interface CreateMarkdownMirrorResponseOptions {
44
- request: Request;
45
- /** @internal Reuse a parse only while its href still matches this request. */
46
- requestUrl?: URL;
47
- config?: FarmMarkdownResolvedConfig;
48
- routeExists?: (pathname: string) => boolean;
49
- renderPage: (request: Request) => Response | Promise<Response>;
50
- }
51
- interface ApplyMarkdownNegotiationHeadersOptions {
52
- config?: FarmMarkdownResolvedConfig;
53
- pathname: string;
54
- }
55
- declare function resolveMarkdownConfig(config: FarmMarkdownUserConfig | boolean | undefined): FarmMarkdownResolvedConfig;
56
- declare function resolveMarkdownMirrorTarget(config: FarmMarkdownResolvedConfig | undefined, pathname: string, options?: ResolveMarkdownMirrorTargetOptions): FarmMarkdownMirrorTarget | null;
57
- declare function createMarkdownMirrorResponse(options: CreateMarkdownMirrorResponseOptions): Promise<Response | null>;
58
- declare function applyMarkdownNegotiationHeaders(response: Response, options: ApplyMarkdownNegotiationHeadersOptions): Response;
59
- declare function htmlToMarkdown(html: string, options?: {
60
- title?: string;
61
- sourcePath?: string;
62
- includeMetadata?: boolean;
63
- /** Where the page's forms are described, listed when the page has any. */
64
- actionsPath?: string;
65
- }): string;
66
- /**
67
- * Quality value an `Accept` header assigns a media type, or 0 when the client
68
- * will not take it.
69
- *
70
- * `q=0` means "not acceptable" per RFC 9110, so it has to be distinguished from
71
- * an absent entry rather than treated as a match. Wildcards are opt-in: a client
72
- * sending `*&#47;*` will take anything, which says nothing about whether it would
73
- * rather have Markdown than HTML, so callers negotiating between two concrete
74
- * types should ask for exact entries only.
75
- */
76
- declare function farmAcceptQuality(accept: string | null | undefined, mediaType: string, options?: {
77
- wildcards?: boolean;
78
- }): number;
79
- declare function requestAcceptsMarkdown(accept: string | null | undefined): boolean;
80
- /** @internal The `.md` URL that serves a page's Markdown mirror. */
81
- declare function getFarmMarkdownMirrorPath(pathname: string): string;
82
- /**
83
- * @internal The `.md` URL to advertise for the HTML page at `pathname`, or
84
- * null when it has no Markdown mirror. Both the `Link` response header and the
85
- * `<link rel="alternate">` in the document head come from this.
86
- */
87
- declare function getFarmMarkdownAlternatePath(config: FarmMarkdownResolvedConfig | undefined, pathname: string): string | null;
88
- /** @internal Whether `pathname` has a Markdown mirror under `config`. */
89
- declare function isFarmMarkdownMirrorExposed(config: FarmMarkdownResolvedConfig | undefined, pathname: string): boolean;
90
- /** @internal Matches a page pathname against a route pattern such as `/docs/[...slug]`. */
91
- declare function matchesFarmMarkdownRoutePattern(pattern: string, pathname: string): boolean;
92
- interface FarmPageFormOption {
93
- value: string;
94
- label?: string;
95
- selected?: true;
96
- }
97
- interface FarmPageFormField {
98
- name: string;
99
- /** The input type, or `select`, `textarea`, `radio`, or `checkbox` for a group. */
100
- type: string;
101
- label?: string;
102
- required?: true;
103
- multiple?: true;
104
- /** A preset value: always present for hidden fields. */
105
- value?: string;
106
- checked?: true;
107
- /** Choices of a select, or of radio buttons and checkboxes sharing a name. */
108
- options?: FarmPageFormOption[];
109
- placeholder?: string;
110
- pattern?: string;
111
- min?: string;
112
- max?: string;
113
- step?: string;
114
- minLength?: number;
115
- maxLength?: number;
116
- accept?: string;
117
- }
118
- interface FarmPageFormSubmit {
119
- label: string;
120
- name?: string;
121
- value?: string;
122
- /** Set when the button submits somewhere other than its form (`formaction`). */
123
- action?: string;
124
- method?: string;
125
- }
126
- interface FarmPageFormAction {
127
- type: "form";
128
- name?: string;
129
- method: "GET" | "POST";
130
- /**
131
- * Where the form submits: a root-relative URL on the page's origin, or an
132
- * absolute URL elsewhere. Absent when the form only submits with JavaScript.
133
- */
134
- action?: string;
135
- /** Present for POST forms. */
136
- enctype?: string;
137
- requiresJavaScript?: true;
138
- fields: FarmPageFormField[];
139
- submit: FarmPageFormSubmit[];
140
- /** A React server action form: the id React put in its hidden `$ACTION_` fields. */
141
- serverAction?: {
142
- id: string;
143
- };
144
- }
145
- /**
146
- * Describes the forms in the part of the page the mirror reads, so an agent can
147
- * see what it can submit: where, how, and with which fields. Controls that are
148
- * disabled are left out, since a browser would not submit them; hidden fields
149
- * keep their values, so a submission without JavaScript can be replayed.
150
- */
151
- declare function extractFarmPageActions(html: string, pageUrl: URL): FarmPageFormAction[];
152
-
153
- export { type ApplyMarkdownNegotiationHeadersOptions, type CreateMarkdownMirrorResponseOptions, FARM_MARKDOWN_CONTENT_TYPE, type FarmMarkdownMirrorTarget, type FarmMarkdownResolvedConfig, type FarmMarkdownResolvedRoute, type FarmMarkdownRouteInput, type FarmMarkdownUserConfig, type FarmPageFormAction, type FarmPageFormField, type FarmPageFormOption, type FarmPageFormSubmit, type ResolveMarkdownMirrorTargetOptions, applyMarkdownNegotiationHeaders, createFarmMarkdownErrorBody, createMarkdownMirrorResponse, extractFarmPageActions, farmAcceptQuality, farmRequestWantsMarkdown, getFarmMarkdownAlternatePath, getFarmMarkdownMirrorPath, htmlToMarkdown, isFarmMarkdownMirrorExposed, matchesFarmMarkdownRoutePattern, requestAcceptsMarkdown, resolveMarkdownConfig, resolveMarkdownMirrorTarget };
1
+ export { fl as ApplyMarkdownNegotiationHeadersOptions, fk as CreateMarkdownMirrorResponseOptions, z as FARM_MARKDOWN_CONTENT_TYPE, fi as FarmMarkdownMirrorTarget, aE as FarmMarkdownResolvedConfig, fh as FarmMarkdownResolvedRoute, fg as FarmMarkdownRouteInput, cN as FarmMarkdownUserConfig, fA as FarmPageFormAction, fy as FarmPageFormField, fx as FarmPageFormOption, fz as FarmPageFormSubmit, fj as ResolveMarkdownMirrorTargetOptions, fp as applyMarkdownNegotiationHeaders, A as createFarmMarkdownErrorBody, fo as createMarkdownMirrorResponse, fB as extractFarmPageActions, fr as farmAcceptQuality, B as farmRequestWantsMarkdown, fu as getFarmMarkdownAlternatePath, ft as getFarmMarkdownMirrorPath, fq as htmlToMarkdown, fv as isFarmMarkdownMirrorExposed, fw as matchesFarmMarkdownRoutePattern, fs as requestAcceptsMarkdown, fm as resolveMarkdownConfig, fn as resolveMarkdownMirrorTarget } from './client-plugins-1GS4zubE.mjs';
2
+ import './lifecycle-DK06VuKP.mjs';
3
+ import './integration-api-0y4FXJpC.mjs';
4
+ import './endpoint-CCHFqyTE.mjs';
5
+ import './cache.mjs';
6
+ import './renderer.mjs';
7
+ import './deployment.mjs';
8
+ import 'http';
9
+ import './server-fn.mjs';
10
+ import './server-fn-error-DDh14a0V.mjs';
11
+ import './server-query.mjs';
12
+ import './types-Z0aotQ8w.mjs';
13
+ import './types-Cc8l9IqS.mjs';
14
+ import 'db0';
15
+ import 'unstorage';
16
+ import './schema.mjs';
17
+ import 'react';
18
+ import '@farming-labs/orm';
19
+ import './types-DFbjpjXX.mjs';
20
+ import '@farming-labs/docs';
21
+ import './observability-BupkiN0m.mjs';
22
+ import '@opentelemetry/api';
23
+ import 'vite';
24
+ import './workflows-CR9ex-gz.mjs';
25
+ import './cron.mjs';
26
+ import './env.mjs';
27
+ import './server-action-security.mjs';
28
+ import 'rolldown/utils';
29
+ import 'rolldown';
30
+ import './image-config-Duob7wER.mjs';
31
+ import './types-DQnyD3VD.mjs';
32
+ import './font.mjs';
33
+ import './after.mjs';
34
+ import 'node:http';
35
+ import './island-CfGru1MO.mjs';
@@ -1,153 +1,35 @@
1
- /** Content type for Markdown responses, including agent-facing error bodies. */
2
- declare const FARM_MARKDOWN_CONTENT_TYPE = "text/markdown; charset=utf-8";
3
- declare function farmRequestWantsMarkdown(pathname: string, accept: string | null | undefined): boolean;
4
- declare function createFarmMarkdownErrorBody(status: number, pathname: string, homeHref?: string): string;
5
- type FarmMarkdownRouteInput = string | {
6
- route: string;
7
- title?: string;
8
- cache?: number | false;
9
- };
10
- interface FarmMarkdownUserConfig {
11
- /**
12
- * Enable generated markdown representations for React pages.
13
- * @default true
14
- */
15
- enabled?: boolean;
16
- /**
17
- * Routes that may expose generated markdown. Every page is exposed by default.
18
- */
19
- expose?: boolean | FarmMarkdownRouteInput[];
20
- /** @deprecated Use `expose`. */
21
- routes?: FarmMarkdownRouteInput[];
22
- cache?: number | false;
23
- includeMetadata?: boolean;
24
- }
25
- interface FarmMarkdownResolvedRoute {
26
- route: string;
27
- title?: string;
28
- cache?: number | false;
29
- }
30
- interface FarmMarkdownResolvedConfig {
31
- enabled: boolean;
32
- expose: true | FarmMarkdownResolvedRoute[];
33
- cache: number | false;
34
- includeMetadata: boolean;
35
- }
36
- interface FarmMarkdownMirrorTarget {
37
- pathname: string;
38
- route: FarmMarkdownResolvedRoute | null;
39
- }
40
- interface ResolveMarkdownMirrorTargetOptions {
41
- accept?: string | null;
42
- }
43
- interface CreateMarkdownMirrorResponseOptions {
44
- request: Request;
45
- /** @internal Reuse a parse only while its href still matches this request. */
46
- requestUrl?: URL;
47
- config?: FarmMarkdownResolvedConfig;
48
- routeExists?: (pathname: string) => boolean;
49
- renderPage: (request: Request) => Response | Promise<Response>;
50
- }
51
- interface ApplyMarkdownNegotiationHeadersOptions {
52
- config?: FarmMarkdownResolvedConfig;
53
- pathname: string;
54
- }
55
- declare function resolveMarkdownConfig(config: FarmMarkdownUserConfig | boolean | undefined): FarmMarkdownResolvedConfig;
56
- declare function resolveMarkdownMirrorTarget(config: FarmMarkdownResolvedConfig | undefined, pathname: string, options?: ResolveMarkdownMirrorTargetOptions): FarmMarkdownMirrorTarget | null;
57
- declare function createMarkdownMirrorResponse(options: CreateMarkdownMirrorResponseOptions): Promise<Response | null>;
58
- declare function applyMarkdownNegotiationHeaders(response: Response, options: ApplyMarkdownNegotiationHeadersOptions): Response;
59
- declare function htmlToMarkdown(html: string, options?: {
60
- title?: string;
61
- sourcePath?: string;
62
- includeMetadata?: boolean;
63
- /** Where the page's forms are described, listed when the page has any. */
64
- actionsPath?: string;
65
- }): string;
66
- /**
67
- * Quality value an `Accept` header assigns a media type, or 0 when the client
68
- * will not take it.
69
- *
70
- * `q=0` means "not acceptable" per RFC 9110, so it has to be distinguished from
71
- * an absent entry rather than treated as a match. Wildcards are opt-in: a client
72
- * sending `*&#47;*` will take anything, which says nothing about whether it would
73
- * rather have Markdown than HTML, so callers negotiating between two concrete
74
- * types should ask for exact entries only.
75
- */
76
- declare function farmAcceptQuality(accept: string | null | undefined, mediaType: string, options?: {
77
- wildcards?: boolean;
78
- }): number;
79
- declare function requestAcceptsMarkdown(accept: string | null | undefined): boolean;
80
- /** @internal The `.md` URL that serves a page's Markdown mirror. */
81
- declare function getFarmMarkdownMirrorPath(pathname: string): string;
82
- /**
83
- * @internal The `.md` URL to advertise for the HTML page at `pathname`, or
84
- * null when it has no Markdown mirror. Both the `Link` response header and the
85
- * `<link rel="alternate">` in the document head come from this.
86
- */
87
- declare function getFarmMarkdownAlternatePath(config: FarmMarkdownResolvedConfig | undefined, pathname: string): string | null;
88
- /** @internal Whether `pathname` has a Markdown mirror under `config`. */
89
- declare function isFarmMarkdownMirrorExposed(config: FarmMarkdownResolvedConfig | undefined, pathname: string): boolean;
90
- /** @internal Matches a page pathname against a route pattern such as `/docs/[...slug]`. */
91
- declare function matchesFarmMarkdownRoutePattern(pattern: string, pathname: string): boolean;
92
- interface FarmPageFormOption {
93
- value: string;
94
- label?: string;
95
- selected?: true;
96
- }
97
- interface FarmPageFormField {
98
- name: string;
99
- /** The input type, or `select`, `textarea`, `radio`, or `checkbox` for a group. */
100
- type: string;
101
- label?: string;
102
- required?: true;
103
- multiple?: true;
104
- /** A preset value: always present for hidden fields. */
105
- value?: string;
106
- checked?: true;
107
- /** Choices of a select, or of radio buttons and checkboxes sharing a name. */
108
- options?: FarmPageFormOption[];
109
- placeholder?: string;
110
- pattern?: string;
111
- min?: string;
112
- max?: string;
113
- step?: string;
114
- minLength?: number;
115
- maxLength?: number;
116
- accept?: string;
117
- }
118
- interface FarmPageFormSubmit {
119
- label: string;
120
- name?: string;
121
- value?: string;
122
- /** Set when the button submits somewhere other than its form (`formaction`). */
123
- action?: string;
124
- method?: string;
125
- }
126
- interface FarmPageFormAction {
127
- type: "form";
128
- name?: string;
129
- method: "GET" | "POST";
130
- /**
131
- * Where the form submits: a root-relative URL on the page's origin, or an
132
- * absolute URL elsewhere. Absent when the form only submits with JavaScript.
133
- */
134
- action?: string;
135
- /** Present for POST forms. */
136
- enctype?: string;
137
- requiresJavaScript?: true;
138
- fields: FarmPageFormField[];
139
- submit: FarmPageFormSubmit[];
140
- /** A React server action form: the id React put in its hidden `$ACTION_` fields. */
141
- serverAction?: {
142
- id: string;
143
- };
144
- }
145
- /**
146
- * Describes the forms in the part of the page the mirror reads, so an agent can
147
- * see what it can submit: where, how, and with which fields. Controls that are
148
- * disabled are left out, since a browser would not submit them; hidden fields
149
- * keep their values, so a submission without JavaScript can be replayed.
150
- */
151
- declare function extractFarmPageActions(html: string, pageUrl: URL): FarmPageFormAction[];
152
-
153
- export { type ApplyMarkdownNegotiationHeadersOptions, type CreateMarkdownMirrorResponseOptions, FARM_MARKDOWN_CONTENT_TYPE, type FarmMarkdownMirrorTarget, type FarmMarkdownResolvedConfig, type FarmMarkdownResolvedRoute, type FarmMarkdownRouteInput, type FarmMarkdownUserConfig, type FarmPageFormAction, type FarmPageFormField, type FarmPageFormOption, type FarmPageFormSubmit, type ResolveMarkdownMirrorTargetOptions, applyMarkdownNegotiationHeaders, createFarmMarkdownErrorBody, createMarkdownMirrorResponse, extractFarmPageActions, farmAcceptQuality, farmRequestWantsMarkdown, getFarmMarkdownAlternatePath, getFarmMarkdownMirrorPath, htmlToMarkdown, isFarmMarkdownMirrorExposed, matchesFarmMarkdownRoutePattern, requestAcceptsMarkdown, resolveMarkdownConfig, resolveMarkdownMirrorTarget };
1
+ export { fl as ApplyMarkdownNegotiationHeadersOptions, fk as CreateMarkdownMirrorResponseOptions, z as FARM_MARKDOWN_CONTENT_TYPE, fi as FarmMarkdownMirrorTarget, aE as FarmMarkdownResolvedConfig, fh as FarmMarkdownResolvedRoute, fg as FarmMarkdownRouteInput, cN as FarmMarkdownUserConfig, fA as FarmPageFormAction, fy as FarmPageFormField, fx as FarmPageFormOption, fz as FarmPageFormSubmit, fj as ResolveMarkdownMirrorTargetOptions, fp as applyMarkdownNegotiationHeaders, A as createFarmMarkdownErrorBody, fo as createMarkdownMirrorResponse, fB as extractFarmPageActions, fr as farmAcceptQuality, B as farmRequestWantsMarkdown, fu as getFarmMarkdownAlternatePath, ft as getFarmMarkdownMirrorPath, fq as htmlToMarkdown, fv as isFarmMarkdownMirrorExposed, fw as matchesFarmMarkdownRoutePattern, fs as requestAcceptsMarkdown, fm as resolveMarkdownConfig, fn as resolveMarkdownMirrorTarget } from './client-plugins-B1Za6F5x.js';
2
+ import './lifecycle-DK06VuKP.js';
3
+ import './integration-api-BPJo5oXb.js';
4
+ import './endpoint-CA-TNX60.js';
5
+ import './cache.js';
6
+ import './renderer.js';
7
+ import './deployment.js';
8
+ import 'http';
9
+ import './server-fn.js';
10
+ import './server-fn-error-DDh14a0V.js';
11
+ import './server-query.js';
12
+ import './types-Z0aotQ8w.js';
13
+ import './types-Cc8l9IqS.js';
14
+ import 'db0';
15
+ import 'unstorage';
16
+ import './schema.js';
17
+ import 'react';
18
+ import '@farming-labs/orm';
19
+ import './types-DFbjpjXX.js';
20
+ import '@farming-labs/docs';
21
+ import './observability-BupkiN0m.js';
22
+ import '@opentelemetry/api';
23
+ import 'vite';
24
+ import './workflows-CR9ex-gz.js';
25
+ import './cron.js';
26
+ import './env.js';
27
+ import './server-action-security.js';
28
+ import 'rolldown/utils';
29
+ import 'rolldown';
30
+ import './image-config-Duob7wER.js';
31
+ import './types-DQnyD3VD.js';
32
+ import './font.js';
33
+ import './after.js';
34
+ import 'node:http';
35
+ import './island-CfGru1MO.js';
package/dist/markdown.mjs CHANGED
@@ -14,9 +14,15 @@ import {
14
14
  requestAcceptsMarkdown,
15
15
  resolveMarkdownConfig,
16
16
  resolveMarkdownMirrorTarget
17
- } from "./chunk-OOIL3BWR.mjs";
17
+ } from "./chunk-POXI72VV.mjs";
18
18
  import "./chunk-MVL2RAJW.mjs";
19
+ import "./chunk-O6XNAMBV.mjs";
20
+ import "./chunk-I6XDAKWQ.mjs";
21
+ import "./chunk-O7BH5O46.mjs";
22
+ import "./chunk-7LTCDQRS.mjs";
19
23
  import "./chunk-FUZEBRP3.mjs";
24
+ import "./chunk-4RB44K6Z.mjs";
25
+ import "./chunk-55YI3RRB.mjs";
20
26
  import "./chunk-LPEX4YW6.mjs";
21
27
  export {
22
28
  FARM_MARKDOWN_CONTENT_TYPE,
@@ -1,4 +1,4 @@
1
- import { M as Metadata, A as FarmAgentJsonLd } from './client-plugins-bPBf4haK.js';
1
+ import { M as Metadata, D as FarmAgentJsonLd } from './client-plugins-B1Za6F5x.js';
2
2
 
3
3
  type MetadataImageKind = "opengraph" | "twitter";
4
4
  interface FarmMetadataImageReference {
@@ -1,4 +1,4 @@
1
- import { M as Metadata, A as FarmAgentJsonLd } from './client-plugins-B8RPJnot.mjs';
1
+ import { M as Metadata, D as FarmAgentJsonLd } from './client-plugins-1GS4zubE.mjs';
2
2
 
3
3
  type MetadataImageKind = "opengraph" | "twitter";
4
4
  interface FarmMetadataImageReference {
@@ -1,23 +1,24 @@
1
- import { eF as MiddlewareChain, eK as RateLimitStorage, eL as RateLimitStatus, eM as MemoryRateLimitStorageOptions, av as MiddlewareContext, as as FarmMiddlewareConfig, eB as MiddlewareFunction, au as MiddlewareConfig, C as MiddlewareProps } from './client-plugins-B8RPJnot.mjs';
2
- export { eG as CookieJar, eH as CookieOptions, eO as MiddlewareResult, eE as MiddlewareStore, eN as NextFunction, eI as RateLimitConfig, eJ as RateLimitIncrementResult, ar as ReadonlyMiddlewareStore, eC as RequestMiddleware, eD as RequestMiddlewareContext } from './client-plugins-B8RPJnot.mjs';
1
+ import { eN as MiddlewareChain, eS as RateLimitStorage, eT as RateLimitStatus, eU as MemoryRateLimitStorageOptions, ay as MiddlewareContext, av as FarmMiddlewareConfig, eJ as MiddlewareFunction, ax as MiddlewareConfig, G as MiddlewareProps } from './client-plugins-1GS4zubE.mjs';
2
+ export { eO as CookieJar, eP as CookieOptions, eW as MiddlewareResult, eM as MiddlewareStore, eV as NextFunction, eQ as RateLimitConfig, eR as RateLimitIncrementResult, au as ReadonlyMiddlewareStore, eK as RequestMiddleware, eL as RequestMiddlewareContext } from './client-plugins-1GS4zubE.mjs';
3
3
  import { IncomingMessage, ServerResponse } from 'http';
4
4
  import { ViteDevServer, Plugin } from 'vite';
5
5
  import { a as FarmServerConfig, R as ResolvedFarmServerConfig } from './workflows-CR9ex-gz.mjs';
6
6
  import { R as ResolvedFarmI18nConfig } from './types-Z0aotQ8w.mjs';
7
- export { _ as _runWithMiddlewareContext, b as _runWithMiddlewareData, a as applyProductionMiddlewareHeaders, c as createProductionMiddlewareRunner, g as getMiddlewareContext, d as getMiddlewareData, e as getMiddlewareValue, m as matchesMiddlewareConfig } from './production-runtime-DP94hPGe.mjs';
7
+ export { _ as _runWithMiddlewareContext, b as _runWithMiddlewareData, a as applyProductionMiddlewareHeaders, c as createProductionMiddlewareRunner, g as getMiddlewareContext, d as getMiddlewareData, e as getMiddlewareValue, m as matchesMiddlewareConfig } from './production-runtime-DramhI0c.mjs';
8
8
  import './lifecycle-DK06VuKP.mjs';
9
- import './route-B0XrsrFk.mjs';
10
- import './endpoint-DAc96i93.mjs';
9
+ import './integration-api-0y4FXJpC.mjs';
10
+ import './endpoint-CCHFqyTE.mjs';
11
11
  import './cache.mjs';
12
12
  import './renderer.mjs';
13
13
  import './deployment.mjs';
14
- import './markdown.mjs';
14
+ import './server-fn.mjs';
15
+ import './server-fn-error-DDh14a0V.mjs';
16
+ import './server-query.mjs';
15
17
  import './types-Cc8l9IqS.mjs';
16
18
  import 'db0';
17
19
  import 'unstorage';
18
20
  import './schema.mjs';
19
21
  import 'react';
20
- import './integration-api-BbaiokCC.mjs';
21
22
  import '@farming-labs/orm';
22
23
  import './types-DFbjpjXX.mjs';
23
24
  import '@farming-labs/docs';
@@ -26,12 +27,9 @@ import '@opentelemetry/api';
26
27
  import './cron.mjs';
27
28
  import './env.mjs';
28
29
  import './server-action-security.mjs';
29
- import './server-fn-error-DDh14a0V.mjs';
30
30
  import 'rolldown/utils';
31
31
  import 'rolldown';
32
32
  import './image-config-Duob7wER.mjs';
33
- import './server-fn.mjs';
34
- import './server-query.mjs';
35
33
  import './types-DQnyD3VD.mjs';
36
34
  import './font.mjs';
37
35
  import './after.mjs';
@@ -1,23 +1,24 @@
1
- import { eF as MiddlewareChain, eK as RateLimitStorage, eL as RateLimitStatus, eM as MemoryRateLimitStorageOptions, av as MiddlewareContext, as as FarmMiddlewareConfig, eB as MiddlewareFunction, au as MiddlewareConfig, C as MiddlewareProps } from './client-plugins-bPBf4haK.js';
2
- export { eG as CookieJar, eH as CookieOptions, eO as MiddlewareResult, eE as MiddlewareStore, eN as NextFunction, eI as RateLimitConfig, eJ as RateLimitIncrementResult, ar as ReadonlyMiddlewareStore, eC as RequestMiddleware, eD as RequestMiddlewareContext } from './client-plugins-bPBf4haK.js';
1
+ import { eN as MiddlewareChain, eS as RateLimitStorage, eT as RateLimitStatus, eU as MemoryRateLimitStorageOptions, ay as MiddlewareContext, av as FarmMiddlewareConfig, eJ as MiddlewareFunction, ax as MiddlewareConfig, G as MiddlewareProps } from './client-plugins-B1Za6F5x.js';
2
+ export { eO as CookieJar, eP as CookieOptions, eW as MiddlewareResult, eM as MiddlewareStore, eV as NextFunction, eQ as RateLimitConfig, eR as RateLimitIncrementResult, au as ReadonlyMiddlewareStore, eK as RequestMiddleware, eL as RequestMiddlewareContext } from './client-plugins-B1Za6F5x.js';
3
3
  import { IncomingMessage, ServerResponse } from 'http';
4
4
  import { ViteDevServer, Plugin } from 'vite';
5
5
  import { a as FarmServerConfig, R as ResolvedFarmServerConfig } from './workflows-CR9ex-gz.js';
6
6
  import { R as ResolvedFarmI18nConfig } from './types-Z0aotQ8w.js';
7
- export { _ as _runWithMiddlewareContext, b as _runWithMiddlewareData, a as applyProductionMiddlewareHeaders, c as createProductionMiddlewareRunner, g as getMiddlewareContext, d as getMiddlewareData, e as getMiddlewareValue, m as matchesMiddlewareConfig } from './production-runtime-CYg4wM4E.js';
7
+ export { _ as _runWithMiddlewareContext, b as _runWithMiddlewareData, a as applyProductionMiddlewareHeaders, c as createProductionMiddlewareRunner, g as getMiddlewareContext, d as getMiddlewareData, e as getMiddlewareValue, m as matchesMiddlewareConfig } from './production-runtime-B3xnY6fI.js';
8
8
  import './lifecycle-DK06VuKP.js';
9
- import './route-DOEpbyWZ.js';
10
- import './endpoint-1zA994xL.js';
9
+ import './integration-api-BPJo5oXb.js';
10
+ import './endpoint-CA-TNX60.js';
11
11
  import './cache.js';
12
12
  import './renderer.js';
13
13
  import './deployment.js';
14
- import './markdown.js';
14
+ import './server-fn.js';
15
+ import './server-fn-error-DDh14a0V.js';
16
+ import './server-query.js';
15
17
  import './types-Cc8l9IqS.js';
16
18
  import 'db0';
17
19
  import 'unstorage';
18
20
  import './schema.js';
19
21
  import 'react';
20
- import './integration-api-BbaiokCC.js';
21
22
  import '@farming-labs/orm';
22
23
  import './types-DFbjpjXX.js';
23
24
  import '@farming-labs/docs';
@@ -26,12 +27,9 @@ import '@opentelemetry/api';
26
27
  import './cron.js';
27
28
  import './env.js';
28
29
  import './server-action-security.js';
29
- import './server-fn-error-DDh14a0V.js';
30
30
  import 'rolldown/utils';
31
31
  import 'rolldown';
32
32
  import './image-config-Duob7wER.js';
33
- import './server-fn.js';
34
- import './server-query.js';
35
33
  import './types-DQnyD3VD.js';
36
34
  import './font.js';
37
35
  import './after.js';
@@ -1,24 +1,25 @@
1
- import { F as FarmRouterNavigateOptions } from './router-B57eDJ3u.mjs';
2
- export { c as FarmRedirectSignal, d as FarmRedirectStatus, g as getFarmRedirectError, i as isFarmNotFoundError, b as isFarmRedirectError, n as notFound, p as permanentRedirect, r as redirect } from './client-plugins-B8RPJnot.mjs';
1
+ import { F as FarmRouterNavigateOptions } from './router-D5htHn_M.mjs';
2
+ export { c as FarmRedirectSignal, d as FarmRedirectStatus, g as getFarmRedirectError, i as isFarmNotFoundError, b as isFarmRedirectError, n as notFound, p as permanentRedirect, r as redirect } from './client-plugins-1GS4zubE.mjs';
3
3
  import 'react';
4
4
  import './router.mjs';
5
- import './spa-router-DTdbuinx.mjs';
5
+ import './spa-router-DVfSJZ5o.mjs';
6
6
  import './lifecycle-DK06VuKP.mjs';
7
7
  import './types-Z0aotQ8w.mjs';
8
8
  import './island-CfGru1MO.mjs';
9
- import './render-plan-CKAJg0jC.mjs';
10
- import './route-B0XrsrFk.mjs';
11
- import './endpoint-DAc96i93.mjs';
9
+ import './render-plan-CtQB-zHS.mjs';
10
+ import './integration-api-0y4FXJpC.mjs';
11
+ import './endpoint-CCHFqyTE.mjs';
12
12
  import './cache.mjs';
13
13
  import './renderer.mjs';
14
14
  import './deployment.mjs';
15
15
  import 'http';
16
- import './markdown.mjs';
16
+ import './server-fn.mjs';
17
+ import './server-fn-error-DDh14a0V.mjs';
18
+ import './server-query.mjs';
17
19
  import './types-Cc8l9IqS.mjs';
18
20
  import 'db0';
19
21
  import 'unstorage';
20
22
  import './schema.mjs';
21
- import './integration-api-BbaiokCC.mjs';
22
23
  import '@farming-labs/orm';
23
24
  import './types-DFbjpjXX.mjs';
24
25
  import '@farming-labs/docs';
@@ -29,12 +30,9 @@ import './workflows-CR9ex-gz.mjs';
29
30
  import './cron.mjs';
30
31
  import './env.mjs';
31
32
  import './server-action-security.mjs';
32
- import './server-fn-error-DDh14a0V.mjs';
33
33
  import 'rolldown/utils';
34
34
  import 'rolldown';
35
35
  import './image-config-Duob7wER.mjs';
36
- import './server-fn.mjs';
37
- import './server-query.mjs';
38
36
  import './types-DQnyD3VD.mjs';
39
37
  import './font.mjs';
40
38
  import './after.mjs';
@@ -1,24 +1,25 @@
1
- import { F as FarmRouterNavigateOptions } from './router-Cg_kD3Bd.js';
2
- export { c as FarmRedirectSignal, d as FarmRedirectStatus, g as getFarmRedirectError, i as isFarmNotFoundError, b as isFarmRedirectError, n as notFound, p as permanentRedirect, r as redirect } from './client-plugins-bPBf4haK.js';
1
+ import { F as FarmRouterNavigateOptions } from './router-D0Az-1Nu.js';
2
+ export { c as FarmRedirectSignal, d as FarmRedirectStatus, g as getFarmRedirectError, i as isFarmNotFoundError, b as isFarmRedirectError, n as notFound, p as permanentRedirect, r as redirect } from './client-plugins-B1Za6F5x.js';
3
3
  import 'react';
4
4
  import './router.js';
5
- import './spa-router-BstQUO6Q.js';
5
+ import './spa-router-DmwP_7QL.js';
6
6
  import './lifecycle-DK06VuKP.js';
7
7
  import './types-Z0aotQ8w.js';
8
8
  import './island-CfGru1MO.js';
9
- import './render-plan-Bl6Fzg5z.js';
10
- import './route-DOEpbyWZ.js';
11
- import './endpoint-1zA994xL.js';
9
+ import './render-plan-CpW32tOL.js';
10
+ import './integration-api-BPJo5oXb.js';
11
+ import './endpoint-CA-TNX60.js';
12
12
  import './cache.js';
13
13
  import './renderer.js';
14
14
  import './deployment.js';
15
15
  import 'http';
16
- import './markdown.js';
16
+ import './server-fn.js';
17
+ import './server-fn-error-DDh14a0V.js';
18
+ import './server-query.js';
17
19
  import './types-Cc8l9IqS.js';
18
20
  import 'db0';
19
21
  import 'unstorage';
20
22
  import './schema.js';
21
- import './integration-api-BbaiokCC.js';
22
23
  import '@farming-labs/orm';
23
24
  import './types-DFbjpjXX.js';
24
25
  import '@farming-labs/docs';
@@ -29,12 +30,9 @@ import './workflows-CR9ex-gz.js';
29
30
  import './cron.js';
30
31
  import './env.js';
31
32
  import './server-action-security.js';
32
- import './server-fn-error-DDh14a0V.js';
33
33
  import 'rolldown/utils';
34
34
  import 'rolldown';
35
35
  import './image-config-Duob7wER.js';
36
- import './server-fn.js';
37
- import './server-query.js';
38
36
  import './types-DQnyD3VD.js';
39
37
  import './font.js';
40
38
  import './after.js';
@@ -500,9 +500,10 @@ export default defineEventHandler(async (event: H3Event) => {
500
500
  preset,
501
501
  // rootDir must be the project root for Nitro to correctly resolve paths
502
502
  rootDir: root,
503
- // serverDir should point to where source files are (for scanning)
504
- // But we're using scanDirs to point to our server directory
505
- serverDir: root,
503
+ // Only scan the generated server directory below, never the project root:
504
+ // an app's own `middleware/`, `api/`, or `server.ts` is not a Nitro handler.
505
+ serverDir: false,
506
+ serverEntry: false,
506
507
  // buildDir is where Nitro builds (temporary working directory)
507
508
  buildDir: nitroBuildDir,
508
509
  // output.dir is where the final deployable output goes
@@ -500,9 +500,10 @@ export default defineEventHandler(async (event: H3Event) => {
500
500
  preset,
501
501
  // rootDir must be the project root for Nitro to correctly resolve paths
502
502
  rootDir: root,
503
- // serverDir should point to where source files are (for scanning)
504
- // But we're using scanDirs to point to our server directory
505
- serverDir: root,
503
+ // Only scan the generated server directory below, never the project root:
504
+ // an app's own `middleware/`, `api/`, or `server.ts` is not a Nitro handler.
505
+ serverDir: false,
506
+ serverEntry: false,
506
507
  // buildDir is where Nitro builds (temporary working directory)
507
508
  buildDir: nitroBuildDir,
508
509
  // output.dir is where the final deployable output goes