@farm.js/core 0.1.0-beta.21 → 0.1.0-beta.23

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 (266) hide show
  1. package/dist/after.d.mts +25 -0
  2. package/dist/after.d.ts +25 -0
  3. package/dist/agent-runtime.d.mts +97 -0
  4. package/dist/agent-runtime.d.ts +97 -0
  5. package/dist/api/route-manager.d.mts +68 -0
  6. package/dist/api/route-manager.d.ts +68 -0
  7. package/dist/api/runtime.d.mts +3 -0
  8. package/dist/api/runtime.d.ts +3 -0
  9. package/dist/api.cjs +22 -19
  10. package/dist/api.cjs.map +1 -1
  11. package/dist/api.d.mts +50 -0
  12. package/dist/api.d.ts +50 -0
  13. package/dist/api.mjs +2 -1
  14. package/dist/app-CTFnOJaI.d.ts +308 -0
  15. package/dist/app-DA6ospIq.d.mts +308 -0
  16. package/dist/app-markdown.d.mts +25 -0
  17. package/dist/app-markdown.d.ts +25 -0
  18. package/dist/cache.d.mts +192 -0
  19. package/dist/cache.d.ts +192 -0
  20. package/dist/{chunk-MIUW47JX.mjs → chunk-2PEJGY5V.mjs} +15 -20
  21. package/dist/chunk-2PEJGY5V.mjs.map +1 -0
  22. package/dist/{chunk-RIXKJPGI.mjs → chunk-42325TLU.mjs} +2 -2
  23. package/dist/chunk-4IVNW5QD.mjs +82 -0
  24. package/dist/chunk-4IVNW5QD.mjs.map +1 -0
  25. package/dist/{chunk-I3UWA2P2.mjs → chunk-5NOVWCFL.mjs} +2 -2
  26. package/dist/chunk-5NOVWCFL.mjs.map +1 -0
  27. package/dist/chunk-D42BNPZH.mjs +79 -0
  28. package/dist/chunk-D42BNPZH.mjs.map +1 -0
  29. package/dist/{chunk-LLPN5SEZ.mjs → chunk-DVPRBMU2.mjs} +2 -2
  30. package/dist/{chunk-VIC7NJ77.mjs → chunk-FJGTYLCO.mjs} +67 -20
  31. package/dist/chunk-FJGTYLCO.mjs.map +1 -0
  32. package/dist/chunk-GIELMNBG.mjs +15 -0
  33. package/dist/chunk-GIELMNBG.mjs.map +1 -0
  34. package/dist/chunk-GQVQESLY.mjs +25 -0
  35. package/dist/chunk-GQVQESLY.mjs.map +1 -0
  36. package/dist/chunk-H53KVQUU.mjs +48 -0
  37. package/dist/chunk-H53KVQUU.mjs.map +1 -0
  38. package/dist/chunk-HCGQYYHI.mjs +1 -0
  39. package/dist/chunk-HCGQYYHI.mjs.map +1 -0
  40. package/dist/{chunk-4EATUJFO.mjs → chunk-ICTGDDV4.mjs} +20 -22
  41. package/dist/chunk-ICTGDDV4.mjs.map +1 -0
  42. package/dist/{chunk-UCYWGN2P.mjs → chunk-OHNSROHS.mjs} +1 -1
  43. package/dist/{chunk-FRPWCMMG.mjs → chunk-SBWOTAX4.mjs} +63 -2
  44. package/dist/chunk-SBWOTAX4.mjs.map +1 -0
  45. package/dist/{chunk-FKKM7HVF.mjs → chunk-TX54PXAJ.mjs} +109 -58
  46. package/dist/chunk-TX54PXAJ.mjs.map +1 -0
  47. package/dist/{chunk-CEVMYGDL.mjs → chunk-YD5IRKVS.mjs} +13 -9
  48. package/dist/chunk-YD5IRKVS.mjs.map +1 -0
  49. package/dist/chunk-recovery-lnQFzcQP.d.mts +26 -0
  50. package/dist/chunk-recovery-lnQFzcQP.d.ts +26 -0
  51. package/dist/client-BT1mFQas.d.mts +447 -0
  52. package/dist/client-Nn0q4eO4.d.ts +447 -0
  53. package/dist/client-cache-CIlyBlmx.d.ts +6 -0
  54. package/dist/client-cache-D-EZ7XVW.d.mts +6 -0
  55. package/dist/client-plugins-CCilIb_G.d.mts +2092 -0
  56. package/dist/client-plugins-DuuleQKk.d.ts +2092 -0
  57. package/dist/client-plugins.d.mts +25 -0
  58. package/dist/client-plugins.d.ts +25 -0
  59. package/dist/client.cjs +122 -35
  60. package/dist/client.cjs.map +1 -1
  61. package/dist/client.d.mts +454 -0
  62. package/dist/client.d.ts +454 -0
  63. package/dist/client.mjs +13 -2
  64. package/dist/config.d.mts +32 -0
  65. package/dist/config.d.ts +32 -0
  66. package/dist/cron.d.mts +78 -0
  67. package/dist/cron.d.ts +78 -0
  68. package/dist/deferred.d.mts +42 -0
  69. package/dist/deferred.d.ts +42 -0
  70. package/dist/deployment.d.mts +36 -0
  71. package/dist/deployment.d.ts +36 -0
  72. package/dist/{devtools-52FYXIEK.mjs → devtools-326RBQCN.mjs} +7 -6
  73. package/dist/{devtools-52FYXIEK.mjs.map → devtools-326RBQCN.mjs.map} +1 -1
  74. package/dist/docs.cjs.map +1 -1
  75. package/dist/docs.d.mts +80 -0
  76. package/dist/docs.d.ts +80 -0
  77. package/dist/docs.mjs +6 -5
  78. package/dist/env-types.d.mts +12 -0
  79. package/dist/env-types.d.ts +12 -0
  80. package/dist/env.d.mts +45 -0
  81. package/dist/env.d.ts +45 -0
  82. package/dist/environment/vite.d.mts +22 -0
  83. package/dist/environment/vite.d.ts +22 -0
  84. package/dist/environment.d.mts +18 -0
  85. package/dist/environment.d.ts +18 -0
  86. package/dist/font.d.mts +95 -0
  87. package/dist/font.d.ts +95 -0
  88. package/dist/headers.d.mts +22 -0
  89. package/dist/headers.d.ts +22 -0
  90. package/dist/i18n/client.d.mts +32 -0
  91. package/dist/i18n/client.d.ts +32 -0
  92. package/dist/i18n/index.d.mts +20 -0
  93. package/dist/i18n/index.d.ts +20 -0
  94. package/dist/i18n/server.d.mts +30 -0
  95. package/dist/i18n/server.d.ts +30 -0
  96. package/dist/image/server.d.mts +37 -0
  97. package/dist/image/server.d.ts +37 -0
  98. package/dist/image/sharp.d.mts +7 -0
  99. package/dist/image/sharp.d.ts +7 -0
  100. package/dist/image-config-Duob7wER.d.mts +50 -0
  101. package/dist/image-config-Duob7wER.d.ts +50 -0
  102. package/dist/image.d.mts +39 -0
  103. package/dist/image.d.ts +39 -0
  104. package/dist/index.cjs +496 -123
  105. package/dist/index.cjs.map +1 -1
  106. package/dist/index.d.mts +480 -0
  107. package/dist/index.d.ts +480 -0
  108. package/dist/index.mjs +70 -52
  109. package/dist/index.mjs.map +1 -1
  110. package/dist/integration-api-CHT2OKAf.d.mts +93 -0
  111. package/dist/integration-api-CHT2OKAf.d.ts +93 -0
  112. package/dist/integrations.d.mts +25 -0
  113. package/dist/integrations.d.ts +25 -0
  114. package/dist/internal/build-runtime.cjs +386 -83
  115. package/dist/internal/build-runtime.cjs.map +1 -1
  116. package/dist/internal/build-runtime.d.mts +42 -0
  117. package/dist/internal/build-runtime.d.ts +42 -0
  118. package/dist/internal/build-runtime.mjs +17 -13
  119. package/dist/internal/client-runtime.d.mts +17 -0
  120. package/dist/internal/client-runtime.d.ts +17 -0
  121. package/dist/internal/config-runtime.cjs +41 -0
  122. package/dist/internal/config-runtime.cjs.map +1 -1
  123. package/dist/internal/config-runtime.d.mts +42 -0
  124. package/dist/internal/config-runtime.d.ts +42 -0
  125. package/dist/internal/config-runtime.mjs +5 -4
  126. package/dist/internal/metadata-image-runtime.d.mts +25 -0
  127. package/dist/internal/metadata-image-runtime.d.ts +25 -0
  128. package/dist/internal/production-node-env.d.mts +12 -0
  129. package/dist/internal/production-node-env.d.ts +12 -0
  130. package/dist/internal/production-runtime.cjs +178 -0
  131. package/dist/internal/production-runtime.cjs.map +1 -1
  132. package/dist/internal/production-runtime.d.mts +80 -0
  133. package/dist/internal/production-runtime.d.ts +80 -0
  134. package/dist/internal/production-runtime.mjs +13 -1
  135. package/dist/internal/production-runtime.mjs.map +1 -1
  136. package/dist/island-CfGru1MO.d.mts +9 -0
  137. package/dist/island-CfGru1MO.d.ts +9 -0
  138. package/dist/markdown.d.mts +60 -0
  139. package/dist/markdown.d.ts +60 -0
  140. package/dist/metadata-DyPRG0wX.d.ts +22 -0
  141. package/dist/metadata-_GHcAySx.d.mts +22 -0
  142. package/dist/middleware.cjs +17 -17
  143. package/dist/middleware.cjs.map +1 -1
  144. package/dist/middleware.d.mts +172 -0
  145. package/dist/middleware.d.ts +172 -0
  146. package/dist/middleware.mjs +3 -2
  147. package/dist/navigation-errors-Dvwpzaer.d.mts +13 -0
  148. package/dist/navigation-errors-Dvwpzaer.d.ts +13 -0
  149. package/dist/navigation.d.mts +14 -0
  150. package/dist/navigation.d.ts +14 -0
  151. package/dist/observability.d.mts +335 -0
  152. package/dist/observability.d.ts +335 -0
  153. package/dist/params-BALtrRim.d.ts +15 -0
  154. package/dist/params-ry-lxqmy.d.mts +15 -0
  155. package/dist/plugin-BJDf43dc.d.mts +165 -0
  156. package/dist/plugin-BJDf43dc.d.ts +165 -0
  157. package/dist/plugin.cjs +261 -62
  158. package/dist/plugin.cjs.map +1 -1
  159. package/dist/plugin.d.mts +25 -0
  160. package/dist/plugin.d.ts +25 -0
  161. package/dist/plugin.mjs +13 -9
  162. package/dist/production-runtime-C4cO3esK.d.mts +81 -0
  163. package/dist/production-runtime-DrEy8kBO.d.ts +81 -0
  164. package/dist/query/client.d.mts +61 -0
  165. package/dist/query/client.d.ts +61 -0
  166. package/dist/query/index.d.mts +90 -0
  167. package/dist/query/index.d.ts +90 -0
  168. package/dist/query/parsers.d.mts +25 -0
  169. package/dist/query/parsers.d.ts +25 -0
  170. package/dist/query/server.d.mts +55 -0
  171. package/dist/query/server.d.ts +55 -0
  172. package/dist/request-B2PpOxYK.d.mts +6 -0
  173. package/dist/request-D40lt6aN.d.ts +6 -0
  174. package/dist/request.d.mts +26 -0
  175. package/dist/request.d.ts +26 -0
  176. package/dist/resolver-DJqjLMg_.d.mts +14 -0
  177. package/dist/resolver-IH4RmPEl.d.ts +14 -0
  178. package/dist/route-runtime-DoOHzCAD.d.mts +38 -0
  179. package/dist/route-runtime-DoOHzCAD.d.ts +38 -0
  180. package/dist/router.d.mts +36 -0
  181. package/dist/router.d.ts +36 -0
  182. package/dist/routes.d.mts +227 -0
  183. package/dist/routes.d.ts +227 -0
  184. package/dist/runtime-Bpp-c28k.d.ts +231 -0
  185. package/dist/runtime-Cxpq6xZN.d.mts +27 -0
  186. package/dist/runtime-Q3u74Nbq.d.mts +231 -0
  187. package/dist/runtime-bv63eUiO.d.ts +27 -0
  188. package/dist/server-action-security.d.mts +45 -0
  189. package/dist/server-action-security.d.ts +45 -0
  190. package/dist/server-fn-client.d.mts +33 -0
  191. package/dist/server-fn-client.d.ts +33 -0
  192. package/dist/server-fn-error-DDh14a0V.d.mts +26 -0
  193. package/dist/server-fn-error-DDh14a0V.d.ts +26 -0
  194. package/dist/server-fn.d.mts +121 -0
  195. package/dist/server-fn.d.ts +121 -0
  196. package/dist/server-plugins.d.mts +58 -0
  197. package/dist/server-plugins.d.ts +58 -0
  198. package/dist/server-query-client.d.mts +51 -0
  199. package/dist/server-query-client.d.ts +51 -0
  200. package/dist/server-query.d.mts +37 -0
  201. package/dist/server-query.d.ts +37 -0
  202. package/dist/server.cjs +285 -85
  203. package/dist/server.cjs.map +1 -1
  204. package/dist/server.d.mts +53 -0
  205. package/dist/server.d.ts +53 -0
  206. package/dist/server.mjs +26 -31
  207. package/dist/server.mjs.map +1 -1
  208. package/dist/storage.d.mts +52 -0
  209. package/dist/storage.d.ts +52 -0
  210. package/dist/testing.d.mts +104 -0
  211. package/dist/testing.d.ts +104 -0
  212. package/dist/theme/client.cjs +115 -0
  213. package/dist/theme/client.cjs.map +1 -0
  214. package/dist/theme/client.d.mts +17 -0
  215. package/dist/theme/client.d.ts +17 -0
  216. package/dist/theme/client.mjs +16 -0
  217. package/dist/theme/client.mjs.map +1 -0
  218. package/dist/theme/index.cjs +71 -0
  219. package/dist/theme/index.cjs.map +1 -0
  220. package/dist/theme/index.d.mts +6 -0
  221. package/dist/theme/index.d.ts +6 -0
  222. package/dist/theme/index.mjs +9 -0
  223. package/dist/theme/index.mjs.map +1 -0
  224. package/dist/theme/server.cjs +191 -0
  225. package/dist/theme/server.cjs.map +1 -0
  226. package/dist/theme/server.d.mts +8 -0
  227. package/dist/theme/server.d.ts +8 -0
  228. package/dist/theme/server.mjs +18 -0
  229. package/dist/theme/server.mjs.map +1 -0
  230. package/dist/transport-BmbGTXA5.d.mts +49 -0
  231. package/dist/transport-BmbGTXA5.d.ts +49 -0
  232. package/dist/types-BMxWr97v.d.mts +81 -0
  233. package/dist/types-BMxWr97v.d.ts +81 -0
  234. package/dist/types-CsR8fpgF.d.mts +30 -0
  235. package/dist/types-CsR8fpgF.d.ts +30 -0
  236. package/dist/types-D1A6-XvH.d.mts +73 -0
  237. package/dist/types-D1A6-XvH.d.ts +73 -0
  238. package/dist/types-DTzm4TCl.d.mts +78 -0
  239. package/dist/types-DTzm4TCl.d.ts +78 -0
  240. package/dist/utils-3sQgfkya.d.ts +23 -0
  241. package/dist/utils-Bop7bly-.d.mts +23 -0
  242. package/dist/version.cjs +1 -1
  243. package/dist/version.cjs.map +1 -1
  244. package/dist/version.d.mts +3 -0
  245. package/dist/version.d.ts +3 -0
  246. package/dist/version.mjs +1 -1
  247. package/dist/vite.cjs +285 -64
  248. package/dist/vite.cjs.map +1 -1
  249. package/dist/vite.d.mts +25 -0
  250. package/dist/vite.d.ts +25 -0
  251. package/dist/vite.mjs +13 -9
  252. package/dist/workflows-CusFV6mn.d.mts +153 -0
  253. package/dist/workflows-CusFV6mn.d.ts +153 -0
  254. package/dist/workflows.d.mts +1 -0
  255. package/dist/workflows.d.ts +1 -0
  256. package/package.json +25 -1
  257. package/dist/chunk-4EATUJFO.mjs.map +0 -1
  258. package/dist/chunk-CEVMYGDL.mjs.map +0 -1
  259. package/dist/chunk-FKKM7HVF.mjs.map +0 -1
  260. package/dist/chunk-FRPWCMMG.mjs.map +0 -1
  261. package/dist/chunk-I3UWA2P2.mjs.map +0 -1
  262. package/dist/chunk-MIUW47JX.mjs.map +0 -1
  263. package/dist/chunk-VIC7NJ77.mjs.map +0 -1
  264. /package/dist/{chunk-RIXKJPGI.mjs.map → chunk-42325TLU.mjs.map} +0 -0
  265. /package/dist/{chunk-LLPN5SEZ.mjs.map → chunk-DVPRBMU2.mjs.map} +0 -0
  266. /package/dist/{chunk-UCYWGN2P.mjs.map → chunk-OHNSROHS.mjs.map} +0 -0
@@ -0,0 +1,172 @@
1
+ import { cU as MiddlewareChain, cZ as RateLimitStorage, c_ as RateLimitStatus, c$ as MemoryRateLimitStorageOptions, cP as MiddlewareContext, a2 as FarmMiddlewareConfig, cQ as MiddlewareFunction, dx as MiddlewareConfig, M as MiddlewareProps } from './client-plugins-CCilIb_G.mjs';
2
+ export { cV as CookieJar, cW as CookieOptions, d1 as MiddlewareResult, cT as MiddlewareStore, d0 as NextFunction, cX as RateLimitConfig, cY as RateLimitIncrementResult, a1 as ReadonlyMiddlewareStore, cR as RequestMiddleware, cS as RequestMiddlewareContext } from './client-plugins-CCilIb_G.mjs';
3
+ import { IncomingMessage, ServerResponse } from 'http';
4
+ import { ViteDevServer, Plugin } from 'vite';
5
+ import { R as ResolvedFarmI18nConfig } from './types-BMxWr97v.mjs';
6
+ export { _ as _runWithMiddlewareContext, b as _runWithMiddlewareData, a as applyProductionMiddlewareHeaders, c as createProductionMiddlewareRunner, g as getMiddlewareContext, d as getMiddlewareData, e as getMiddlewareValue } from './production-runtime-C4cO3esK.mjs';
7
+ import './plugin-BJDf43dc.mjs';
8
+ import 'react';
9
+ import './types-D1A6-XvH.mjs';
10
+ import 'db0';
11
+ import 'unstorage';
12
+ import './integration-api-CHT2OKAf.mjs';
13
+ import '@farming-labs/orm';
14
+ import './types-DTzm4TCl.mjs';
15
+ import '@farming-labs/docs';
16
+ import './markdown.mjs';
17
+ import './observability.mjs';
18
+ import './workflows-CusFV6mn.mjs';
19
+ import './cron.mjs';
20
+ import './env.mjs';
21
+ import './server-action-security.mjs';
22
+ import './server-fn-error-DDh14a0V.mjs';
23
+ import './image-config-Duob7wER.mjs';
24
+ import './cache.mjs';
25
+ import './types-CsR8fpgF.mjs';
26
+ import './route-runtime-DoOHzCAD.mjs';
27
+ import './font.mjs';
28
+
29
+ /**
30
+ * Middleware Chain Builder
31
+ */
32
+
33
+ declare class UnsupportedRateLimitStorageError extends TypeError {
34
+ constructor();
35
+ }
36
+ /** Create an atomic, process-local fixed-window rate-limit store. */
37
+ declare function memoryRateLimitStorage(options?: MemoryRateLimitStorageOptions): RateLimitStorage;
38
+ /**
39
+ * Get rate limit status for a key
40
+ * @example
41
+ * const status = await getRateLimitStatus('user:123', 100, storage);
42
+ */
43
+ declare function getRateLimitStatus(key: string, limit: number, storage?: RateLimitStorage): Promise<RateLimitStatus>;
44
+ declare function middleware(basePath?: string): MiddlewareChain;
45
+
46
+ /**
47
+ * Middleware Context Implementation
48
+ */
49
+
50
+ /**
51
+ * Create a middleware context from request/response
52
+ */
53
+ declare function createContext(req: IncomingMessage, res: ServerResponse, viteServer?: ViteDevServer, parent?: MiddlewareContext["parent"]): MiddlewareContext;
54
+
55
+ /**
56
+ * Middleware Manager
57
+ *
58
+ * Discovers and executes middleware files in the file system
59
+ */
60
+
61
+ interface DiscoveredMiddleware {
62
+ path: string;
63
+ filePath: string;
64
+ handlers: MiddlewareFunction[];
65
+ config?: MiddlewareConfig;
66
+ source?: "config" | "file";
67
+ }
68
+ /**
69
+ * Middleware Manager - discovers and executes middleware
70
+ */
71
+ declare class MiddlewareManager {
72
+ private middleware;
73
+ private configMiddleware;
74
+ private globalConfig?;
75
+ private viteServer?;
76
+ private appDirs;
77
+ private i18n?;
78
+ constructor(appDir: string | readonly string[], viteServer?: ViteDevServer, config?: FarmMiddlewareConfig, i18n?: ResolvedFarmI18nConfig);
79
+ configure(config?: FarmMiddlewareConfig): void;
80
+ /**
81
+ * Discover all middleware.ts files
82
+ */
83
+ discover(): Promise<void>;
84
+ /**
85
+ * Recursively discover middleware files
86
+ */
87
+ private discoverInDirectory;
88
+ /**
89
+ * Find middleware file in directory
90
+ */
91
+ private findMiddlewareFile;
92
+ /**
93
+ * Load a middleware file
94
+ */
95
+ private loadMiddleware;
96
+ /**
97
+ * Execute middleware for a request
98
+ */
99
+ execute(req: IncomingMessage, res: ServerResponse): Promise<boolean>;
100
+ /**
101
+ * Check if pathname matches middleware config
102
+ */
103
+ private matchesConfig;
104
+ /**
105
+ * Match a pattern against pathname
106
+ */
107
+ private matchPattern;
108
+ /**
109
+ * Reload middleware (for HMR)
110
+ */
111
+ reload(): Promise<void>;
112
+ getMiddlewares(): DiscoveredMiddleware[];
113
+ hasMiddleware(): boolean;
114
+ private matchRoutePath;
115
+ private toMatcherList;
116
+ private getConfigHandlers;
117
+ private toMiddlewareConfig;
118
+ private compilePathPattern;
119
+ private parseColonParam;
120
+ private escapeRegex;
121
+ }
122
+
123
+ /**
124
+ * Middleware helper utilities for pages
125
+ */
126
+
127
+ /**
128
+ * Unwrap middleware data from PageProps
129
+ *
130
+ * @example
131
+ * ```tsx
132
+ * export default async function Page(props: PageProps) {
133
+ * const { user, stats } = await unwrapMiddleware(props.middleware, {
134
+ * user: null,
135
+ * stats: { views: 0, clicks: 0 }
136
+ * });
137
+ *
138
+ * return <div>Welcome {user?.name}</div>;
139
+ * }
140
+ * ```
141
+ */
142
+ declare function unwrapMiddleware<T extends Record<string, any>>(middleware: MiddlewareProps | undefined, defaults?: Partial<T>): Partial<T>;
143
+ /**
144
+ * Get a single value from middleware with a default
145
+ *
146
+ * @example
147
+ * ```tsx
148
+ * export default async function Page(props: PageProps) {
149
+ * const user = await getMiddlewareValue(props.middleware, 'user', null);
150
+ * return <div>Welcome {user?.name || 'Guest'}</div>;
151
+ * }
152
+ * ```
153
+ */
154
+ declare function getFromMiddleware<T = any>(middleware: MiddlewareProps | undefined, key: string, defaultValue?: T): T | undefined;
155
+ /**
156
+ * Check if middleware data exists
157
+ */
158
+ declare function hasMiddlewareData(middleware: MiddlewareProps | undefined): boolean;
159
+
160
+ /**
161
+ * Standalone Vite middleware support used by Farm's RSC and API plugins.
162
+ */
163
+
164
+ interface FarmMiddlewarePluginOptions {
165
+ /** Source directory (default: `src`). */
166
+ srcDir?: string;
167
+ /** Enable debug logging. */
168
+ debug?: boolean;
169
+ }
170
+ declare function farmMiddlewarePlugin(options?: FarmMiddlewarePluginOptions): Plugin;
171
+
172
+ export { FarmMiddlewareConfig, type FarmMiddlewarePluginOptions, MemoryRateLimitStorageOptions, MiddlewareChain, MiddlewareConfig, MiddlewareContext, MiddlewareFunction, MiddlewareManager, RateLimitStatus, RateLimitStorage, UnsupportedRateLimitStorageError, createContext, farmMiddlewarePlugin, getFromMiddleware, getRateLimitStatus, hasMiddlewareData, memoryRateLimitStorage, middleware, unwrapMiddleware };
@@ -0,0 +1,172 @@
1
+ import { cU as MiddlewareChain, cZ as RateLimitStorage, c_ as RateLimitStatus, c$ as MemoryRateLimitStorageOptions, cP as MiddlewareContext, a2 as FarmMiddlewareConfig, cQ as MiddlewareFunction, dx as MiddlewareConfig, M as MiddlewareProps } from './client-plugins-DuuleQKk.js';
2
+ export { cV as CookieJar, cW as CookieOptions, d1 as MiddlewareResult, cT as MiddlewareStore, d0 as NextFunction, cX as RateLimitConfig, cY as RateLimitIncrementResult, a1 as ReadonlyMiddlewareStore, cR as RequestMiddleware, cS as RequestMiddlewareContext } from './client-plugins-DuuleQKk.js';
3
+ import { IncomingMessage, ServerResponse } from 'http';
4
+ import { ViteDevServer, Plugin } from 'vite';
5
+ import { R as ResolvedFarmI18nConfig } from './types-BMxWr97v.js';
6
+ export { _ as _runWithMiddlewareContext, b as _runWithMiddlewareData, a as applyProductionMiddlewareHeaders, c as createProductionMiddlewareRunner, g as getMiddlewareContext, d as getMiddlewareData, e as getMiddlewareValue } from './production-runtime-DrEy8kBO.js';
7
+ import './plugin-BJDf43dc.js';
8
+ import 'react';
9
+ import './types-D1A6-XvH.js';
10
+ import 'db0';
11
+ import 'unstorage';
12
+ import './integration-api-CHT2OKAf.js';
13
+ import '@farming-labs/orm';
14
+ import './types-DTzm4TCl.js';
15
+ import '@farming-labs/docs';
16
+ import './markdown.js';
17
+ import './observability.js';
18
+ import './workflows-CusFV6mn.js';
19
+ import './cron.js';
20
+ import './env.js';
21
+ import './server-action-security.js';
22
+ import './server-fn-error-DDh14a0V.js';
23
+ import './image-config-Duob7wER.js';
24
+ import './cache.js';
25
+ import './types-CsR8fpgF.js';
26
+ import './route-runtime-DoOHzCAD.js';
27
+ import './font.js';
28
+
29
+ /**
30
+ * Middleware Chain Builder
31
+ */
32
+
33
+ declare class UnsupportedRateLimitStorageError extends TypeError {
34
+ constructor();
35
+ }
36
+ /** Create an atomic, process-local fixed-window rate-limit store. */
37
+ declare function memoryRateLimitStorage(options?: MemoryRateLimitStorageOptions): RateLimitStorage;
38
+ /**
39
+ * Get rate limit status for a key
40
+ * @example
41
+ * const status = await getRateLimitStatus('user:123', 100, storage);
42
+ */
43
+ declare function getRateLimitStatus(key: string, limit: number, storage?: RateLimitStorage): Promise<RateLimitStatus>;
44
+ declare function middleware(basePath?: string): MiddlewareChain;
45
+
46
+ /**
47
+ * Middleware Context Implementation
48
+ */
49
+
50
+ /**
51
+ * Create a middleware context from request/response
52
+ */
53
+ declare function createContext(req: IncomingMessage, res: ServerResponse, viteServer?: ViteDevServer, parent?: MiddlewareContext["parent"]): MiddlewareContext;
54
+
55
+ /**
56
+ * Middleware Manager
57
+ *
58
+ * Discovers and executes middleware files in the file system
59
+ */
60
+
61
+ interface DiscoveredMiddleware {
62
+ path: string;
63
+ filePath: string;
64
+ handlers: MiddlewareFunction[];
65
+ config?: MiddlewareConfig;
66
+ source?: "config" | "file";
67
+ }
68
+ /**
69
+ * Middleware Manager - discovers and executes middleware
70
+ */
71
+ declare class MiddlewareManager {
72
+ private middleware;
73
+ private configMiddleware;
74
+ private globalConfig?;
75
+ private viteServer?;
76
+ private appDirs;
77
+ private i18n?;
78
+ constructor(appDir: string | readonly string[], viteServer?: ViteDevServer, config?: FarmMiddlewareConfig, i18n?: ResolvedFarmI18nConfig);
79
+ configure(config?: FarmMiddlewareConfig): void;
80
+ /**
81
+ * Discover all middleware.ts files
82
+ */
83
+ discover(): Promise<void>;
84
+ /**
85
+ * Recursively discover middleware files
86
+ */
87
+ private discoverInDirectory;
88
+ /**
89
+ * Find middleware file in directory
90
+ */
91
+ private findMiddlewareFile;
92
+ /**
93
+ * Load a middleware file
94
+ */
95
+ private loadMiddleware;
96
+ /**
97
+ * Execute middleware for a request
98
+ */
99
+ execute(req: IncomingMessage, res: ServerResponse): Promise<boolean>;
100
+ /**
101
+ * Check if pathname matches middleware config
102
+ */
103
+ private matchesConfig;
104
+ /**
105
+ * Match a pattern against pathname
106
+ */
107
+ private matchPattern;
108
+ /**
109
+ * Reload middleware (for HMR)
110
+ */
111
+ reload(): Promise<void>;
112
+ getMiddlewares(): DiscoveredMiddleware[];
113
+ hasMiddleware(): boolean;
114
+ private matchRoutePath;
115
+ private toMatcherList;
116
+ private getConfigHandlers;
117
+ private toMiddlewareConfig;
118
+ private compilePathPattern;
119
+ private parseColonParam;
120
+ private escapeRegex;
121
+ }
122
+
123
+ /**
124
+ * Middleware helper utilities for pages
125
+ */
126
+
127
+ /**
128
+ * Unwrap middleware data from PageProps
129
+ *
130
+ * @example
131
+ * ```tsx
132
+ * export default async function Page(props: PageProps) {
133
+ * const { user, stats } = await unwrapMiddleware(props.middleware, {
134
+ * user: null,
135
+ * stats: { views: 0, clicks: 0 }
136
+ * });
137
+ *
138
+ * return <div>Welcome {user?.name}</div>;
139
+ * }
140
+ * ```
141
+ */
142
+ declare function unwrapMiddleware<T extends Record<string, any>>(middleware: MiddlewareProps | undefined, defaults?: Partial<T>): Partial<T>;
143
+ /**
144
+ * Get a single value from middleware with a default
145
+ *
146
+ * @example
147
+ * ```tsx
148
+ * export default async function Page(props: PageProps) {
149
+ * const user = await getMiddlewareValue(props.middleware, 'user', null);
150
+ * return <div>Welcome {user?.name || 'Guest'}</div>;
151
+ * }
152
+ * ```
153
+ */
154
+ declare function getFromMiddleware<T = any>(middleware: MiddlewareProps | undefined, key: string, defaultValue?: T): T | undefined;
155
+ /**
156
+ * Check if middleware data exists
157
+ */
158
+ declare function hasMiddlewareData(middleware: MiddlewareProps | undefined): boolean;
159
+
160
+ /**
161
+ * Standalone Vite middleware support used by Farm's RSC and API plugins.
162
+ */
163
+
164
+ interface FarmMiddlewarePluginOptions {
165
+ /** Source directory (default: `src`). */
166
+ srcDir?: string;
167
+ /** Enable debug logging. */
168
+ debug?: boolean;
169
+ }
170
+ declare function farmMiddlewarePlugin(options?: FarmMiddlewarePluginOptions): Plugin;
171
+
172
+ export { FarmMiddlewareConfig, type FarmMiddlewarePluginOptions, MemoryRateLimitStorageOptions, MiddlewareChain, MiddlewareConfig, MiddlewareContext, MiddlewareFunction, MiddlewareManager, RateLimitStatus, RateLimitStorage, UnsupportedRateLimitStorageError, createContext, farmMiddlewarePlugin, getFromMiddleware, getRateLimitStatus, hasMiddlewareData, memoryRateLimitStorage, middleware, unwrapMiddleware };
@@ -7,7 +7,7 @@ import {
7
7
  memoryRateLimitStorage,
8
8
  middleware,
9
9
  unwrapMiddleware
10
- } from "./chunk-RIXKJPGI.mjs";
10
+ } from "./chunk-42325TLU.mjs";
11
11
  import {
12
12
  applyProductionMiddlewareHeaders,
13
13
  createProductionMiddlewareRunner
@@ -15,7 +15,7 @@ import {
15
15
  import {
16
16
  MiddlewareManager,
17
17
  createContext
18
- } from "./chunk-MIUW47JX.mjs";
18
+ } from "./chunk-2PEJGY5V.mjs";
19
19
  import {
20
20
  _runWithMiddlewareContext,
21
21
  _runWithMiddlewareData,
@@ -23,6 +23,7 @@ import {
23
23
  getMiddlewareData,
24
24
  getMiddlewareValue
25
25
  } from "./chunk-P7QDS5AT.mjs";
26
+ import "./chunk-GIELMNBG.mjs";
26
27
  import "./chunk-QGOHVJ6J.mjs";
27
28
  import "./chunk-J4FNJ5IU.mjs";
28
29
  import "./chunk-RHIFZZUI.mjs";
@@ -0,0 +1,13 @@
1
+ type FarmRedirectStatus = 301 | 302 | 303 | 307 | 308;
2
+ interface FarmRedirectSignal {
3
+ url: string;
4
+ status: FarmRedirectStatus;
5
+ }
6
+ declare function redirect(url: string, status?: FarmRedirectStatus): never;
7
+ declare function permanentRedirect(url: string): never;
8
+ declare function notFound(): never;
9
+ declare function isFarmRedirectError(error: unknown): boolean;
10
+ declare function getFarmRedirectError(error: unknown): FarmRedirectSignal | null;
11
+ declare function isFarmNotFoundError(error: unknown): boolean;
12
+
13
+ export { type FarmRedirectSignal as F, isFarmRedirectError as a, type FarmRedirectStatus as b, getFarmRedirectError as g, isFarmNotFoundError as i, notFound as n, permanentRedirect as p, redirect as r };
@@ -0,0 +1,13 @@
1
+ type FarmRedirectStatus = 301 | 302 | 303 | 307 | 308;
2
+ interface FarmRedirectSignal {
3
+ url: string;
4
+ status: FarmRedirectStatus;
5
+ }
6
+ declare function redirect(url: string, status?: FarmRedirectStatus): never;
7
+ declare function permanentRedirect(url: string): never;
8
+ declare function notFound(): never;
9
+ declare function isFarmRedirectError(error: unknown): boolean;
10
+ declare function getFarmRedirectError(error: unknown): FarmRedirectSignal | null;
11
+ declare function isFarmNotFoundError(error: unknown): boolean;
12
+
13
+ export { type FarmRedirectSignal as F, isFarmRedirectError as a, type FarmRedirectStatus as b, getFarmRedirectError as g, isFarmNotFoundError as i, notFound as n, permanentRedirect as p, redirect as r };
@@ -0,0 +1,14 @@
1
+ export { F as FarmRedirectSignal, b as FarmRedirectStatus, g as getFarmRedirectError, i as isFarmNotFoundError, a as isFarmRedirectError, n as notFound, p as permanentRedirect, r as redirect } from './navigation-errors-Dvwpzaer.mjs';
2
+
3
+ declare function useRouter(): {
4
+ push: (href: string) => void;
5
+ replace: (href: string) => void;
6
+ back: () => void;
7
+ forward: () => void;
8
+ refresh(): void;
9
+ prefetch(_href: string): Promise<void>;
10
+ };
11
+ declare function usePathname(): string;
12
+ declare function useSearchParams(): URLSearchParams;
13
+
14
+ export { usePathname, useRouter, useSearchParams };
@@ -0,0 +1,14 @@
1
+ export { F as FarmRedirectSignal, b as FarmRedirectStatus, g as getFarmRedirectError, i as isFarmNotFoundError, a as isFarmRedirectError, n as notFound, p as permanentRedirect, r as redirect } from './navigation-errors-Dvwpzaer.js';
2
+
3
+ declare function useRouter(): {
4
+ push: (href: string) => void;
5
+ replace: (href: string) => void;
6
+ back: () => void;
7
+ forward: () => void;
8
+ refresh(): void;
9
+ prefetch(_href: string): Promise<void>;
10
+ };
11
+ declare function usePathname(): string;
12
+ declare function useSearchParams(): URLSearchParams;
13
+
14
+ export { usePathname, useRouter, useSearchParams };