@farm.js/core 0.1.16 → 0.1.17

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 (180) hide show
  1. package/dist/agent-runtime.d.mts +3 -3
  2. package/dist/agent-runtime.d.ts +3 -3
  3. package/dist/api/client.cjs +62 -28
  4. package/dist/api/client.d.mts +3 -3
  5. package/dist/api/client.d.ts +3 -3
  6. package/dist/api/client.mjs +3 -3
  7. package/dist/api/route-manager.cjs +69 -32
  8. package/dist/api/route-manager.d.mts +3 -3
  9. package/dist/api/route-manager.d.ts +3 -3
  10. package/dist/api/route-manager.mjs +5 -5
  11. package/dist/api/runtime.cjs +65 -29
  12. package/dist/api/runtime.d.mts +3 -3
  13. package/dist/api/runtime.d.ts +3 -3
  14. package/dist/api/runtime.mjs +6 -3
  15. package/dist/{api-client-B-n3pm_Q.d.mts → api-client-Cx54IR5g.d.mts} +2 -2
  16. package/dist/{api-client-C0_NZEBl.d.ts → api-client-DykpaKcY.d.ts} +2 -2
  17. package/dist/api.cjs +106 -33
  18. package/dist/api.d.mts +5 -5
  19. package/dist/api.d.ts +5 -5
  20. package/dist/api.mjs +8 -8
  21. package/dist/{app-AyjEsCBq.d.ts → app-BHY_10Lm.d.ts} +3 -3
  22. package/dist/{app-CYPHeOo_.d.mts → app-BMk0do23.d.mts} +3 -3
  23. package/dist/app-markdown.d.mts +4 -4
  24. package/dist/app-markdown.d.ts +4 -4
  25. package/dist/app-markdown.mjs +3 -3
  26. package/dist/cache.cjs +62 -28
  27. package/dist/cache.d.mts +11 -1
  28. package/dist/cache.d.ts +11 -1
  29. package/dist/cache.mjs +1 -1
  30. package/dist/{chunk-7HDZYYS4.mjs → chunk-4OOBRCJX.mjs} +27 -5
  31. package/dist/{chunk-NHHKW2T6.mjs → chunk-56DAX2BE.mjs} +170 -52
  32. package/dist/{chunk-B76DT5Y6.mjs → chunk-57J3Y7Y3.mjs} +1 -1
  33. package/dist/{chunk-MOQNHLTS.mjs → chunk-5QOEPUYE.mjs} +5 -2
  34. package/dist/{chunk-HKLRP3BN.mjs → chunk-5SPPCN5J.mjs} +1 -1
  35. package/dist/{chunk-LUC2FAGW.mjs → chunk-6VQIKZZO.mjs} +1 -1
  36. package/dist/{chunk-7ZWL7XOU.mjs → chunk-76DG3LF3.mjs} +1 -1
  37. package/dist/{chunk-EWDK36MM.mjs → chunk-A72YEUZ3.mjs} +1 -1
  38. package/dist/{chunk-ZHOIQC6U.mjs → chunk-ATERBVHQ.mjs} +2 -2
  39. package/dist/{chunk-27JNCYEK.mjs → chunk-EN7WTEAY.mjs} +2 -2
  40. package/dist/{chunk-IGO2HEV7.mjs → chunk-F6SJAKFJ.mjs} +62 -28
  41. package/dist/{chunk-GSDIZACQ.mjs → chunk-FG5H2VCJ.mjs} +2 -2
  42. package/dist/{chunk-LZK5CXDW.mjs → chunk-KLSSO6YD.mjs} +2 -2
  43. package/dist/{chunk-KUO3GBPK.mjs → chunk-L6V3P73N.mjs} +1 -1
  44. package/dist/{chunk-TYVVIQ5M.mjs → chunk-MVIWBEJF.mjs} +32 -25
  45. package/dist/{chunk-KTGFMHET.mjs → chunk-N6UROPT7.mjs} +1 -1
  46. package/dist/{chunk-NDD2YVGU.mjs → chunk-NRVGEI5I.mjs} +10 -3
  47. package/dist/{chunk-IXTEENRS.mjs → chunk-QGVJVSNX.mjs} +5 -5
  48. package/dist/{chunk-6SCB2MXB.mjs → chunk-SXHV42UQ.mjs} +16 -1
  49. package/dist/{chunk-OWTIOHON.mjs → chunk-SYGGPS4A.mjs} +2 -2
  50. package/dist/{chunk-NC333MFA.mjs → chunk-TSWW5BVH.mjs} +7 -4
  51. package/dist/{chunk-LK6FGAQR.mjs → chunk-UDBJCUPA.mjs} +7 -4
  52. package/dist/{chunk-NUD6XBMO.mjs → chunk-UTBVHYS3.mjs} +2 -2
  53. package/dist/{chunk-76MNRHTS.mjs → chunk-UUYF3CHN.mjs} +2 -2
  54. package/dist/{chunk-VVTREAG5.mjs → chunk-WD4YXVLV.mjs} +11 -3
  55. package/dist/{chunk-UQZPTIML.mjs → chunk-WD5PNSOB.mjs} +2 -2
  56. package/dist/{chunk-DPZUDPVJ.mjs → chunk-XP777LRD.mjs} +1 -1
  57. package/dist/{chunk-KATQ6I56.mjs → chunk-XWAYMDLB.mjs} +1 -1
  58. package/dist/{chunk-IL5RWYK7.mjs → chunk-YD4J4XCI.mjs} +1 -1
  59. package/dist/{chunk-Q3MDL7TM.mjs → chunk-ZCNJKLA2.mjs} +30 -11
  60. package/dist/{client-plugins-CqVtZi5X.d.ts → client-plugins-C089bQhN.d.ts} +2 -2
  61. package/dist/{client-plugins-CIPRtSsW.d.mts → client-plugins-JXXmZliS.d.mts} +2 -2
  62. package/dist/client-plugins.d.mts +3 -3
  63. package/dist/client-plugins.d.ts +3 -3
  64. package/dist/client.cjs +62 -28
  65. package/dist/client.d.mts +8 -8
  66. package/dist/client.d.ts +8 -8
  67. package/dist/client.mjs +6 -6
  68. package/dist/config.d.mts +3 -3
  69. package/dist/config.d.ts +3 -3
  70. package/dist/cron.mjs +2 -2
  71. package/dist/{devtools-IU7LKZOH.mjs → devtools-UFVTMQX5.mjs} +7 -7
  72. package/dist/docs.cjs +18 -10
  73. package/dist/docs.mjs +9 -9
  74. package/dist/{endpoint-kSAxE52R.d.ts → endpoint-1zA994xL.d.ts} +1 -1
  75. package/dist/{endpoint-Bu3XgeMK.d.mts → endpoint-DAc96i93.d.mts} +1 -1
  76. package/dist/env.cjs +39 -5
  77. package/dist/env.d.mts +5 -3
  78. package/dist/env.d.ts +5 -3
  79. package/dist/env.mjs +2 -1
  80. package/dist/index.cjs +311 -93
  81. package/dist/index.d.mts +14 -14
  82. package/dist/index.d.ts +14 -14
  83. package/dist/index.mjs +34 -34
  84. package/dist/integrations.d.mts +3 -3
  85. package/dist/integrations.d.ts +3 -3
  86. package/dist/internal/app-markdown-runtime.d.mts +3 -3
  87. package/dist/internal/app-markdown-runtime.d.ts +3 -3
  88. package/dist/internal/app-markdown-runtime.mjs +2 -2
  89. package/dist/internal/build-runtime.cjs +342 -121
  90. package/dist/internal/build-runtime.d.mts +5 -5
  91. package/dist/internal/build-runtime.d.ts +5 -5
  92. package/dist/internal/build-runtime.mjs +23 -23
  93. package/dist/internal/cli-runtime.cjs +77 -31
  94. package/dist/internal/cli-runtime.mjs +13 -13
  95. package/dist/internal/client-error-overlay.cjs +1 -1
  96. package/dist/internal/client-error-overlay.mjs +1 -1
  97. package/dist/internal/compression-runtime.d.mts +3 -3
  98. package/dist/internal/compression-runtime.d.ts +3 -3
  99. package/dist/internal/config-runtime.cjs +14 -2
  100. package/dist/internal/config-runtime.d.mts +4 -4
  101. package/dist/internal/config-runtime.d.ts +4 -4
  102. package/dist/internal/config-runtime.mjs +7 -7
  103. package/dist/internal/product-telemetry-runtime.cjs +1 -1
  104. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  105. package/dist/internal/production-runtime.cjs +101 -41
  106. package/dist/internal/production-runtime.d.mts +9 -9
  107. package/dist/internal/production-runtime.d.ts +9 -9
  108. package/dist/internal/production-runtime.mjs +6 -6
  109. package/dist/markdown.cjs +16 -1
  110. package/dist/markdown.mjs +1 -1
  111. package/dist/{metadata-8g__AMPM.d.ts → metadata-BcNJP4fq.d.ts} +1 -1
  112. package/dist/{metadata-OMX6wFNf.d.mts → metadata-C1Z9vLbb.d.mts} +1 -1
  113. package/dist/middleware.cjs +10 -3
  114. package/dist/middleware.d.mts +5 -5
  115. package/dist/middleware.d.ts +5 -5
  116. package/dist/middleware.mjs +4 -4
  117. package/dist/{nitro-3N4ZXRYM.mjs → nitro-CVZ36JM5.mjs} +4 -4
  118. package/dist/plugin.cjs +256 -105
  119. package/dist/plugin.d.mts +3 -3
  120. package/dist/plugin.d.ts +3 -3
  121. package/dist/plugin.mjs +19 -19
  122. package/dist/{production-runtime-W3M0eNDV.d.mts → production-runtime-jcrTlRTb.d.mts} +1 -1
  123. package/dist/{production-runtime-BJh7o6Cr.d.ts → production-runtime-oKmC0WU-.d.ts} +1 -1
  124. package/dist/{render-plan-io7pvDNc.d.mts → render-plan-BLIfc4jt.d.mts} +1 -1
  125. package/dist/{render-plan-Be4ZGTJP.d.ts → render-plan-DOB9cV-h.d.ts} +1 -1
  126. package/dist/renderer-client.cjs +62 -28
  127. package/dist/renderer-client.d.mts +5 -5
  128. package/dist/renderer-client.d.ts +5 -5
  129. package/dist/renderer-client.mjs +3 -3
  130. package/dist/{request-DZkHYQ89.d.mts → request-Cr53NRHr.d.mts} +1 -1
  131. package/dist/{request-G8JhKr4F.d.ts → request-Dt2gNuQD.d.ts} +1 -1
  132. package/dist/request.d.mts +4 -4
  133. package/dist/request.d.ts +4 -4
  134. package/dist/{route-C_eLaFTZ.d.mts → route-B0XrsrFk.d.mts} +1 -1
  135. package/dist/{route-BxNJT447.d.ts → route-DOEpbyWZ.d.ts} +1 -1
  136. package/dist/{route-rendering-BcLLPJgN.d.ts → route-rendering-CWYd8Mv1.d.ts} +1 -1
  137. package/dist/{route-rendering-CbAKr1TY.d.mts → route-rendering-CeFBEAoZ.d.mts} +1 -1
  138. package/dist/routes.cjs +68 -31
  139. package/dist/routes.d.mts +4 -4
  140. package/dist/routes.d.ts +4 -4
  141. package/dist/routes.mjs +2 -2
  142. package/dist/server-fn-client.d.mts +3 -3
  143. package/dist/server-fn-client.d.ts +3 -3
  144. package/dist/server-fn.cjs +72 -30
  145. package/dist/server-fn.d.mts +1 -1
  146. package/dist/server-fn.d.ts +1 -1
  147. package/dist/server-fn.mjs +2 -2
  148. package/dist/server-plugins.d.mts +4 -4
  149. package/dist/server-plugins.d.ts +4 -4
  150. package/dist/server-query-client.cjs +62 -28
  151. package/dist/server-query-client.d.mts +1 -1
  152. package/dist/server-query-client.d.ts +1 -1
  153. package/dist/server-query-client.mjs +4 -4
  154. package/dist/server-query.cjs +72 -30
  155. package/dist/server-query.d.mts +1 -1
  156. package/dist/server-query.d.ts +1 -1
  157. package/dist/server-query.mjs +3 -3
  158. package/dist/server.cjs +239 -80
  159. package/dist/server.d.mts +9 -9
  160. package/dist/server.d.ts +9 -9
  161. package/dist/server.mjs +22 -22
  162. package/dist/{spa-router-BcS_4nqm.d.mts → spa-router-CQWiYGxS.d.mts} +2 -2
  163. package/dist/{spa-router-BzFBUJkn.d.ts → spa-router-Wjiw-8hB.d.ts} +2 -2
  164. package/dist/testing.cjs +73 -32
  165. package/dist/testing.d.mts +3 -3
  166. package/dist/testing.d.ts +3 -3
  167. package/dist/testing.mjs +11 -7
  168. package/dist/{utils-C4yrAhNc.d.ts → utils-B0XJmG_b.d.ts} +1 -1
  169. package/dist/{utils-5kQP1mFR.d.mts → utils-uUxF0K0P.d.mts} +1 -1
  170. package/dist/version.cjs +1 -1
  171. package/dist/version.mjs +1 -1
  172. package/dist/vite.cjs +260 -109
  173. package/dist/vite.d.mts +3 -3
  174. package/dist/vite.d.ts +3 -3
  175. package/dist/vite.mjs +19 -19
  176. package/dist/workflows.mjs +2 -2
  177. package/package.json +2 -2
  178. package/dist/{chunk-VO5SCWF5.mjs → chunk-BNGS6KJ6.mjs} +0 -0
  179. package/dist/{chunk-MUUZJLCI.mjs → chunk-EGJDUF4Q.mjs} +3 -3
  180. package/dist/{chunk-4L7SZOHZ.mjs → chunk-YHOCRI4H.mjs} +3 -3
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-QCFFHV5H.mjs";
8
8
  import {
9
9
  applyFarmCacheInvalidationTargets
10
- } from "./chunk-IGO2HEV7.mjs";
10
+ } from "./chunk-F6SJAKFJ.mjs";
11
11
  import {
12
12
  getFarmRedirectError
13
13
  } from "./chunk-CBBLJMR5.mjs";
@@ -115,7 +115,7 @@ function createServerFn(options) {
115
115
  try {
116
116
  input = await _parseServerFnSchema(options.input, rawInput, "input");
117
117
  } catch (cause) {
118
- throw labelInputErrors ? new ServerFnInputError(cause) : cause;
118
+ throw labelInputErrors && isSchemaValidationFailure(cause) ? new ServerFnInputError(cause) : cause;
119
119
  }
120
120
  const executionContext = getServerActionExecutionContext();
121
121
  const request = executionContext?.request ?? _resolveCurrentRequest();
@@ -335,9 +335,17 @@ async function _parseServerFnSchema(schema, value, contract, owner = "createServ
335
335
  throw new TypeError(`${owner} ${contract} must provide parse, parseAsync, or safeParse`);
336
336
  }
337
337
  __name(_parseServerFnSchema, "_parseServerFnSchema");
338
+ var schemaValidationFailures = /* @__PURE__ */ new WeakSet();
339
+ function isSchemaValidationFailure(error) {
340
+ if (!error || typeof error !== "object") return false;
341
+ return schemaValidationFailures.has(error) || Array.isArray(error.issues);
342
+ }
343
+ __name(isSchemaValidationFailure, "isSchemaValidationFailure");
338
344
  function unwrapSafeParseResult(result) {
339
345
  if (result && typeof result === "object" && "success" in result && result.success === false) {
340
- throw result.error;
346
+ const error = result.error;
347
+ if (error && typeof error === "object") schemaValidationFailures.add(error);
348
+ throw error;
341
349
  }
342
350
  if (result && typeof result === "object" && "success" in result && result.success === true) {
343
351
  return result.data;
@@ -4,7 +4,7 @@ import {
4
4
  _runServerFunctionForCaller,
5
5
  createServerFn,
6
6
  createServerFunctionDescriptor
7
- } from "./chunk-VVTREAG5.mjs";
7
+ } from "./chunk-WD4YXVLV.mjs";
8
8
  import {
9
9
  createFarmServerQueryResult
10
10
  } from "./chunk-KGB5UXJJ.mjs";
@@ -16,7 +16,7 @@ import {
16
16
  createRouteDataCacheKey,
17
17
  createRouteDataCacheTag,
18
18
  getFarmDataCache
19
- } from "./chunk-IGO2HEV7.mjs";
19
+ } from "./chunk-F6SJAKFJ.mjs";
20
20
  import {
21
21
  __name
22
22
  } from "./chunk-LPEX4YW6.mjs";
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  isEndpointFailure,
6
6
  resolvePluginRoutes
7
- } from "./chunk-OWTIOHON.mjs";
7
+ } from "./chunk-SYGGPS4A.mjs";
8
8
  import {
9
9
  registerAPIRouteShape
10
10
  } from "./chunk-W3B4PKAW.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createFarmMarkdownRouteModule
3
- } from "./chunk-LUC2FAGW.mjs";
3
+ } from "./chunk-6VQIKZZO.mjs";
4
4
  import {
5
5
  __name
6
6
  } from "./chunk-LPEX4YW6.mjs";
@@ -1,5 +1,5 @@
1
1
  // package.json
2
- var version = "0.1.16";
2
+ var version = "0.1.17";
3
3
 
4
4
  // src/version.ts
5
5
  var FARM_VERSION = version;
@@ -2,7 +2,7 @@ import {
2
2
  getFarmMarkdownMirrorPath,
3
3
  isFarmMarkdownMirrorExposed,
4
4
  matchesFarmMarkdownRoutePattern
5
- } from "./chunk-6SCB2MXB.mjs";
5
+ } from "./chunk-SXHV42UQ.mjs";
6
6
  import {
7
7
  applyFarmBasePath
8
8
  } from "./chunk-4RB44K6Z.mjs";
@@ -949,6 +949,7 @@ function manageFarmHtmlPreloads(html, config) {
949
949
  {
950
950
  index,
951
951
  kind,
952
+ href: readHtmlAttribute(element.value, "href"),
952
953
  highPriority: readHtmlAttribute(element.value, "fetchpriority")?.toLowerCase() === "high"
953
954
  }
954
955
  ] : [];
@@ -972,6 +973,7 @@ function manageFarmLinkHeaderPreloads(value, config) {
972
973
  {
973
974
  index,
974
975
  kind,
976
+ href: getLinkHeaderTarget(link),
975
977
  highPriority: getLinkHeaderParameter(link, "fetchpriority")?.toLowerCase() === "high"
976
978
  }
977
979
  ] : [];
@@ -994,6 +996,7 @@ function manageFarmDocumentPreloads(html, linkHeader, config) {
994
996
  candidates.push({
995
997
  index,
996
998
  kind,
999
+ href: readHtmlAttribute(element.value, "href"),
997
1000
  highPriority: readHtmlAttribute(element.value, "fetchpriority")?.toLowerCase() === "high"
998
1001
  });
999
1002
  }
@@ -1003,6 +1006,7 @@ function manageFarmDocumentPreloads(html, linkHeader, config) {
1003
1006
  candidates.push({
1004
1007
  index: headerOffset + index,
1005
1008
  kind,
1009
+ href: getLinkHeaderTarget(link),
1006
1010
  highPriority: getLinkHeaderParameter(link, "fetchpriority")?.toLowerCase() === "high"
1007
1011
  });
1008
1012
  }
@@ -1051,24 +1055,33 @@ function selectPreloadsWithinBudget(candidates, config) {
1051
1055
  const removed = /* @__PURE__ */ new Set();
1052
1056
  const warnings = [];
1053
1057
  for (const kind of ["image", "font"]) {
1054
- const matching = candidates.filter((candidate) => candidate.kind === kind);
1058
+ const resources = /* @__PURE__ */ new Map();
1059
+ for (const candidate of candidates) {
1060
+ if (candidate.kind !== kind) continue;
1061
+ const key = candidate.href ?? `#${candidate.index}`;
1062
+ const hints = resources.get(key);
1063
+ if (hints) hints.push(candidate);
1064
+ else resources.set(key, [candidate]);
1065
+ }
1055
1066
  const limit = kind === "image" ? config.maxImages : config.maxFonts;
1056
- if (matching.length <= limit) continue;
1057
- const retained = new Set(
1058
- [...matching].sort(
1059
- (left, right) => Number(right.highPriority) - Number(left.highPriority) || left.index - right.index
1060
- ).slice(0, limit).map((candidate) => candidate.index)
1067
+ if (resources.size <= limit) continue;
1068
+ const ranked = [...resources.values()].map((hints) => ({
1069
+ hints,
1070
+ index: hints[0].index,
1071
+ highPriority: hints.some((hint) => hint.highPriority)
1072
+ })).sort(
1073
+ (left, right) => Number(right.highPriority) - Number(left.highPriority) || left.index - right.index
1061
1074
  );
1062
1075
  if (config.mode === "enforce") {
1063
- for (const candidate of matching) {
1064
- if (!retained.has(candidate.index)) removed.add(candidate.index);
1076
+ for (const resource of ranked.slice(limit)) {
1077
+ for (const hint of resource.hints) removed.add(hint.index);
1065
1078
  }
1066
1079
  }
1067
1080
  warnings.push({
1068
1081
  kind,
1069
- count: matching.length,
1082
+ count: resources.size,
1070
1083
  budget: limit,
1071
- removed: config.mode === "enforce" ? matching.length - retained.size : 0
1084
+ removed: config.mode === "enforce" ? resources.size - limit : 0
1072
1085
  });
1073
1086
  }
1074
1087
  return { removed, warnings };
@@ -1086,6 +1099,12 @@ function getLinkHeaderPreloadKind(link) {
1086
1099
  return normalizePreloadKind(getLinkHeaderParameter(link, "as"));
1087
1100
  }
1088
1101
  __name(getLinkHeaderPreloadKind, "getLinkHeaderPreloadKind");
1102
+ function getLinkHeaderTarget(link) {
1103
+ const start = link.indexOf("<");
1104
+ const end = link.indexOf(">", start + 1);
1105
+ return start === -1 || end === -1 ? void 0 : link.slice(start + 1, end).trim();
1106
+ }
1107
+ __name(getLinkHeaderTarget, "getLinkHeaderTarget");
1089
1108
  function getLinkHeaderParameter(link, name) {
1090
1109
  const uriEnd = link.indexOf(">");
1091
1110
  if (uriEnd === -1) return void 0;
@@ -1,6 +1,6 @@
1
1
  import { n as FarmClientPlugin } from './lifecycle-DK06VuKP.js';
2
- import { R as RouteMethod, g as PluginRoutes, P as PluginRoutesFactory } from './route-BxNJT447.js';
3
- import { T as TypedEndpoint, d as EndpointMCPMetadata, R as RouteSchema, a as RouteSchemaOutput, c as RouteSchemaInput, Y as OpenAPISecurityMode } from './endpoint-kSAxE52R.js';
2
+ import { R as RouteMethod, g as PluginRoutes, P as PluginRoutesFactory } from './route-DOEpbyWZ.js';
3
+ import { T as TypedEndpoint, d as EndpointMCPMetadata, R as RouteSchema, a as RouteSchemaOutput, c as RouteSchemaInput, Y as OpenAPISecurityMode } from './endpoint-1zA994xL.js';
4
4
  import { FarmRenderer } from './renderer.js';
5
5
  import { IncomingMessage, ServerResponse } from 'http';
6
6
  import { FarmMarkdownResolvedConfig, FarmMarkdownUserConfig } from './markdown.js';
@@ -1,6 +1,6 @@
1
1
  import { n as FarmClientPlugin } from './lifecycle-DK06VuKP.mjs';
2
- import { R as RouteMethod, g as PluginRoutes, P as PluginRoutesFactory } from './route-C_eLaFTZ.mjs';
3
- import { T as TypedEndpoint, d as EndpointMCPMetadata, R as RouteSchema, a as RouteSchemaOutput, c as RouteSchemaInput, Y as OpenAPISecurityMode } from './endpoint-Bu3XgeMK.mjs';
2
+ import { R as RouteMethod, g as PluginRoutes, P as PluginRoutesFactory } from './route-B0XrsrFk.mjs';
3
+ import { T as TypedEndpoint, d as EndpointMCPMetadata, R as RouteSchema, a as RouteSchemaOutput, c as RouteSchemaInput, Y as OpenAPISecurityMode } from './endpoint-DAc96i93.mjs';
4
4
  import { FarmRenderer } from './renderer.mjs';
5
5
  import { IncomingMessage, ServerResponse } from 'http';
6
6
  import { FarmMarkdownResolvedConfig, FarmMarkdownUserConfig } from './markdown.mjs';
@@ -1,7 +1,7 @@
1
1
  export { a as FarmClientHydrationCompleteEvent, b as FarmClientHydrationEvent, d as FarmClientHydrationMode, e as FarmClientHydrationSession, f as FarmClientLocation, g as FarmClientNavigationAction, h as FarmClientNavigationErrorEvent, i as FarmClientNavigationEvent, j as FarmClientNavigationLoadedEvent, k as FarmClientNavigationResolvedEvent, l as FarmClientNavigationSession, m as FarmClientPerformanceEvent, n as FarmClientPlugin, o as FarmClientPluginCloseEvent, p as FarmClientPluginEnforce, q as FarmClientPluginErrorEvent, r as FarmClientPluginErrorPhase, F as FarmClientPluginManager, s as FarmClientPluginManagerOptions, t as FarmClientPluginMetadata, u as FarmClientPluginRegistration, v as FarmClientPluginRouter, w as FarmClientPluginSetupEvent, x as FarmClientPluginStateEvent, c as createClientPluginManager } from './lifecycle-DK06VuKP.mjs';
2
- export { a as FarmPlugin, d as FarmPluginContext, bG as FarmRequestPluginContext, bH as FarmRequestStore } from './client-plugins-CIPRtSsW.mjs';
3
- import './route-C_eLaFTZ.mjs';
4
- import './endpoint-Bu3XgeMK.mjs';
2
+ export { a as FarmPlugin, d as FarmPluginContext, bG as FarmRequestPluginContext, bH as FarmRequestStore } from './client-plugins-JXXmZliS.mjs';
3
+ import './route-B0XrsrFk.mjs';
4
+ import './endpoint-DAc96i93.mjs';
5
5
  import './cache.mjs';
6
6
  import './renderer.mjs';
7
7
  import './deployment.mjs';
@@ -1,7 +1,7 @@
1
1
  export { a as FarmClientHydrationCompleteEvent, b as FarmClientHydrationEvent, d as FarmClientHydrationMode, e as FarmClientHydrationSession, f as FarmClientLocation, g as FarmClientNavigationAction, h as FarmClientNavigationErrorEvent, i as FarmClientNavigationEvent, j as FarmClientNavigationLoadedEvent, k as FarmClientNavigationResolvedEvent, l as FarmClientNavigationSession, m as FarmClientPerformanceEvent, n as FarmClientPlugin, o as FarmClientPluginCloseEvent, p as FarmClientPluginEnforce, q as FarmClientPluginErrorEvent, r as FarmClientPluginErrorPhase, F as FarmClientPluginManager, s as FarmClientPluginManagerOptions, t as FarmClientPluginMetadata, u as FarmClientPluginRegistration, v as FarmClientPluginRouter, w as FarmClientPluginSetupEvent, x as FarmClientPluginStateEvent, c as createClientPluginManager } from './lifecycle-DK06VuKP.js';
2
- export { a as FarmPlugin, d as FarmPluginContext, bG as FarmRequestPluginContext, bH as FarmRequestStore } from './client-plugins-CqVtZi5X.js';
3
- import './route-BxNJT447.js';
4
- import './endpoint-kSAxE52R.js';
2
+ export { a as FarmPlugin, d as FarmPluginContext, bG as FarmRequestPluginContext, bH as FarmRequestStore } from './client-plugins-C089bQhN.js';
3
+ import './route-DOEpbyWZ.js';
4
+ import './endpoint-1zA994xL.js';
5
5
  import './cache.js';
6
6
  import './renderer.js';
7
7
  import './deployment.js';
package/dist/client.cjs CHANGED
@@ -1617,6 +1617,8 @@ var _FarmDataCache = class _FarmDataCache {
1617
1617
  constructor(config = {}) {
1618
1618
  this.entries = /* @__PURE__ */ new Map();
1619
1619
  this.inflight = /* @__PURE__ */ new Map();
1620
+ /** Local entries by tag, so tag counts and pruning never scan unrelated entries. */
1621
+ this.entriesByTag = /* @__PURE__ */ new Map();
1620
1622
  this.invalidatedTagVersions = /* @__PURE__ */ new Map();
1621
1623
  this.activeGenerations = /* @__PURE__ */ new Set();
1622
1624
  this.version = 0;
@@ -1635,6 +1637,7 @@ var _FarmDataCache = class _FarmDataCache {
1635
1637
  configure(config = {}) {
1636
1638
  this.generation++;
1637
1639
  this.entries.clear();
1640
+ this.entriesByTag.clear();
1638
1641
  this.inflight.clear();
1639
1642
  this.invalidatedTagVersions.clear();
1640
1643
  this.activeGenerations.clear();
@@ -1801,14 +1804,12 @@ var _FarmDataCache = class _FarmDataCache {
1801
1804
  return entry;
1802
1805
  }
1803
1806
  delete(key) {
1804
- const deleted = this.entries.delete(key);
1805
- if (deleted) this.pruneInvalidatedTagVersions();
1807
+ const deleted = this.deleteLocalEntry(key);
1806
1808
  emitFarmEvent({ type: "cache.delete", key, deleted });
1807
1809
  return deleted;
1808
1810
  }
1809
1811
  async deleteAsync(key) {
1810
- const deleted = this.entries.delete(key);
1811
- if (deleted) this.pruneInvalidatedTagVersions();
1812
+ const deleted = this.deleteLocalEntry(key);
1812
1813
  if (this.adapter) {
1813
1814
  await this.adapter.delete(this.createAdapterKey(key));
1814
1815
  }
@@ -1819,6 +1820,7 @@ var _FarmDataCache = class _FarmDataCache {
1819
1820
  const count = this.entries.size;
1820
1821
  this.generation++;
1821
1822
  this.entries.clear();
1823
+ this.entriesByTag.clear();
1822
1824
  this.inflight.clear();
1823
1825
  this.invalidatedTagVersions.clear();
1824
1826
  this.activeGenerations.clear();
@@ -1904,23 +1906,32 @@ var _FarmDataCache = class _FarmDataCache {
1904
1906
  return cached.value;
1905
1907
  }
1906
1908
  const inflight = this.inflight.get(key);
1907
- if (inflight) {
1909
+ if (inflight && !this.wasInvalidatedSince(inflight.tags, inflight.startVersion)) {
1908
1910
  emitFarmEvent({ type: "cache.dedupe", key });
1909
- return inflight;
1911
+ return inflight.promise;
1910
1912
  }
1911
1913
  const tags = Array.from(normalizeCacheOptionsTags(options));
1912
1914
  const generation = this.generation;
1915
+ const startVersion = this.version;
1913
1916
  const promise = this.fillCacheEntry(key, producer, options, tags, generation).catch((error) => {
1914
1917
  emitFarmEvent({ type: "cache.error", key, operation: "set", error });
1915
1918
  throw error;
1916
1919
  }).finally(() => {
1917
- if (this.inflight.get(key) === promise) {
1920
+ if (this.inflight.get(key)?.promise === promise) {
1918
1921
  this.inflight.delete(key);
1919
1922
  }
1920
1923
  });
1921
- this.inflight.set(key, promise);
1924
+ this.inflight.set(key, { promise, tags, startVersion });
1922
1925
  return promise;
1923
1926
  }
1927
+ /** A fill that started before one of its tags was invalidated cannot satisfy later readers. */
1928
+ wasInvalidatedSince(tags, version) {
1929
+ for (const tag of tags) {
1930
+ const invalidatedVersion = this.invalidatedTagVersions.get(tag);
1931
+ if (invalidatedVersion !== void 0 && invalidatedVersion > version) return true;
1932
+ }
1933
+ return false;
1934
+ }
1924
1935
  async fillCacheEntry(key, producer, options, tags, generation) {
1925
1936
  const adapter = this.adapter;
1926
1937
  const namespace = this.namespace;
@@ -1961,7 +1972,7 @@ var _FarmDataCache = class _FarmDataCache {
1961
1972
  return value;
1962
1973
  } finally {
1963
1974
  this.activeGenerations.delete(activeGeneration);
1964
- this.pruneInvalidatedTagVersions();
1975
+ this.pruneInvalidatedTagVersions(activeGeneration.tags);
1965
1976
  if (leaseToken && adapter?.releaseLease) {
1966
1977
  try {
1967
1978
  await adapter.releaseLease(leaseKey, leaseToken);
@@ -2006,18 +2017,9 @@ var _FarmDataCache = class _FarmDataCache {
2006
2017
  }
2007
2018
  return void 0;
2008
2019
  }
2009
- countEntriesForTag(tag) {
2010
- let count = 0;
2011
- for (const entry of this.entries.values()) {
2012
- if (entry.tags.has(tag)) {
2013
- count++;
2014
- }
2015
- }
2016
- return count;
2017
- }
2018
2020
  countEntriesForTags(tags) {
2019
2021
  let count = 0;
2020
- for (const entry of this.entries.values()) {
2022
+ for (const entry of this.entriesByTag.get(tags[0]) ?? []) {
2021
2023
  if (tags.every((tag) => entry.tags.has(tag))) {
2022
2024
  count++;
2023
2025
  }
@@ -2025,10 +2027,10 @@ var _FarmDataCache = class _FarmDataCache {
2025
2027
  return count;
2026
2028
  }
2027
2029
  invalidateTag(normalizedTag) {
2028
- const count = this.countEntriesForTag(normalizedTag);
2030
+ const count = this.entriesByTag.get(normalizedTag)?.size ?? 0;
2029
2031
  this.invalidatedTagVersions.delete(normalizedTag);
2030
2032
  this.invalidatedTagVersions.set(normalizedTag, ++this.version);
2031
- this.pruneInvalidatedTagVersions();
2033
+ this.pruneInvalidatedTagVersions([normalizedTag]);
2032
2034
  return count;
2033
2035
  }
2034
2036
  toPublicEntry(entry) {
@@ -2058,19 +2060,51 @@ var _FarmDataCache = class _FarmDataCache {
2058
2060
  this.entries.set(key, entry);
2059
2061
  }
2060
2062
  storeLocalEntry(entry) {
2061
- this.entries.delete(entry.key);
2063
+ const removed = [];
2064
+ const replaced = this.detachLocalEntry(entry.key);
2065
+ if (replaced) removed.push(replaced);
2062
2066
  this.entries.set(entry.key, entry);
2067
+ for (const tag of entry.tags) {
2068
+ let tagged = this.entriesByTag.get(tag);
2069
+ if (!tagged) this.entriesByTag.set(tag, tagged = /* @__PURE__ */ new Set());
2070
+ tagged.add(entry);
2071
+ }
2063
2072
  while (this.entries.size > this.maxEntries) {
2064
2073
  const oldestKey = this.entries.keys().next().value;
2065
2074
  if (oldestKey === void 0) break;
2066
- this.entries.delete(oldestKey);
2075
+ removed.push(this.detachLocalEntry(oldestKey));
2067
2076
  }
2068
- this.pruneInvalidatedTagVersions();
2077
+ for (const removedEntry of removed) this.pruneInvalidatedTagVersions(removedEntry.tags);
2069
2078
  }
2070
- pruneInvalidatedTagVersions() {
2071
- tags: for (const [tag, invalidatedVersion] of this.invalidatedTagVersions) {
2072
- for (const entry of this.entries.values()) {
2073
- if (entry.tags.has(tag) && entry.createdVersion < invalidatedVersion) continue tags;
2079
+ deleteLocalEntry(key) {
2080
+ const entry = this.detachLocalEntry(key);
2081
+ if (!entry) return false;
2082
+ this.pruneInvalidatedTagVersions(entry.tags);
2083
+ return true;
2084
+ }
2085
+ detachLocalEntry(key) {
2086
+ const entry = this.entries.get(key);
2087
+ if (!entry) return void 0;
2088
+ this.entries.delete(key);
2089
+ for (const tag of entry.tags) {
2090
+ const tagged = this.entriesByTag.get(tag);
2091
+ if (!tagged) continue;
2092
+ tagged.delete(entry);
2093
+ if (tagged.size === 0) this.entriesByTag.delete(tag);
2094
+ }
2095
+ return entry;
2096
+ }
2097
+ /**
2098
+ * Drop invalidation versions that no local entry or active fill can be stale against.
2099
+ * Callers pass only the tags whose dependents just changed, so the cost is bounded by
2100
+ * the entries sharing those tags rather than by the whole cache.
2101
+ */
2102
+ pruneInvalidatedTagVersions(tags) {
2103
+ tags: for (const tag of tags) {
2104
+ const invalidatedVersion = this.invalidatedTagVersions.get(tag);
2105
+ if (invalidatedVersion === void 0) continue;
2106
+ for (const entry of this.entriesByTag.get(tag) ?? []) {
2107
+ if (entry.createdVersion < invalidatedVersion) continue tags;
2074
2108
  }
2075
2109
  for (const generation of this.activeGenerations) {
2076
2110
  if (generation.tags.has(tag) && generation.createdVersion < invalidatedVersion)
package/dist/client.d.mts CHANGED
@@ -1,6 +1,6 @@
1
- import { r as ClientOptions, g as APIResult } from './api-client-B-n3pm_Q.mjs';
2
- export { v as APIClient, h as APIClientError, b as APIClientOptions, i as APIClientSystemError, c as APIClientWithoutIntegrationsOptions, x as ApiClients, L as ClientHeaders, M as ClientLifecycleHooks, N as ClientRequestEvent, P as ClientResponseEvent, a9 as InferIntegrationOperationBody, aa as InferIntegrationOperationQuery, ab as InferIntegrationOperationResponse, a5 as IntegrationAPI, a0 as IntegrationClient, a1 as IntegrationClientAliases, a7 as IntegrationClientData, T as IntegrationClientError, a3 as IntegrationClientOptions, a4 as IntegrationClientRequestOptions, a2 as IntegrationClientRoot, a6 as IntegrationClients, a8 as IntegrationOperationResult, ac as IntegrationServerClient, ad as IntegrationServerClientAliases, ae as IntegrationServerClientOptions, af as IntegrationServerClientRequestOptions, ag as IntegrationServerClientRoot, ah as IntegrationServerRequestLike, u as RouteAPIClient, w as ServerAPIClient, S as ServerAPIClientOptions, d as ServerAPIClientWithoutIntegrationsOptions, z as createAPIClient, y as createApiClients, U as createIntegrationApi, Q as createIntegrationClient, V as createIntegrationClients, X as createIntegrationServerClient, W as createIntegrations, E as createServerAPIClient, Y as getIntegrationAPIManifest, Z as integrationClients, _ as integrationsClient, $ as integrationsServer } from './api-client-B-n3pm_Q.mjs';
3
- export { K as FarmAPIStream } from './endpoint-Bu3XgeMK.mjs';
1
+ import { r as ClientOptions, g as APIResult } from './api-client-Cx54IR5g.mjs';
2
+ export { v as APIClient, h as APIClientError, b as APIClientOptions, i as APIClientSystemError, c as APIClientWithoutIntegrationsOptions, x as ApiClients, L as ClientHeaders, M as ClientLifecycleHooks, N as ClientRequestEvent, P as ClientResponseEvent, a9 as InferIntegrationOperationBody, aa as InferIntegrationOperationQuery, ab as InferIntegrationOperationResponse, a5 as IntegrationAPI, a0 as IntegrationClient, a1 as IntegrationClientAliases, a7 as IntegrationClientData, T as IntegrationClientError, a3 as IntegrationClientOptions, a4 as IntegrationClientRequestOptions, a2 as IntegrationClientRoot, a6 as IntegrationClients, a8 as IntegrationOperationResult, ac as IntegrationServerClient, ad as IntegrationServerClientAliases, ae as IntegrationServerClientOptions, af as IntegrationServerClientRequestOptions, ag as IntegrationServerClientRoot, ah as IntegrationServerRequestLike, u as RouteAPIClient, w as ServerAPIClient, S as ServerAPIClientOptions, d as ServerAPIClientWithoutIntegrationsOptions, z as createAPIClient, y as createApiClients, U as createIntegrationApi, Q as createIntegrationClient, V as createIntegrationClients, X as createIntegrationServerClient, W as createIntegrations, E as createServerAPIClient, Y as getIntegrationAPIManifest, Z as integrationClients, _ as integrationsClient, $ as integrationsServer } from './api-client-Cx54IR5g.mjs';
3
+ export { K as FarmAPIStream } from './endpoint-DAc96i93.mjs';
4
4
  import React__default, { ComponentType, FormHTMLAttributes, FormEvent, AnchorHTMLAttributes, RefObject } from 'react';
5
5
  export { RouteActionTarget, UseActionFormProps, UseActionReturn, UseServerFnOptions, useAction } from './server-fn-client.mjs';
6
6
  export { UseServerQueryOptions, UseServerQueryResult, useServerQuery } from './server-query-client.mjs';
@@ -8,20 +8,20 @@ export { a as FarmClientCacheEntry, b as FarmClientCacheKey, F as FarmClientCach
8
8
  export { F as FarmIntegrationAPI, c as FarmIntegrationAPIBodyFormat, e as FarmIntegrationAPIMethod, f as FarmIntegrationAPIOperation, g as FarmIntegrationAPIResponseFormat, a as api, d as defineIntegrationAPI, b as defineIntegrationAPIOperation, i as endpoint } from './integration-api-BbaiokCC.mjs';
9
9
  export { UseThemeResult, useTheme } from './theme/client.mjs';
10
10
  import { FarmRouterPathParams, FarmRouterPathParam, FarmRouterBuildOptions, FarmRouterRouteInput } from './router.mjs';
11
- import { i as FarmViewTransitionMode, e as FarmNavigationBlockerContext, F as FarmNavigationState } from './spa-router-BcS_4nqm.mjs';
12
- export { a as FarmNavigateOptions, d as FarmNavigationBlocker, f as FarmNavigationListener, h as FarmNavigationLocation, S as SPARouter, g as getRouter, n as navigateTo, p as prefetch, b as pushState, r as readPageState, c as replaceState } from './spa-router-BcS_4nqm.mjs';
11
+ import { i as FarmViewTransitionMode, e as FarmNavigationBlockerContext, F as FarmNavigationState } from './spa-router-CQWiYGxS.mjs';
12
+ export { a as FarmNavigateOptions, d as FarmNavigationBlocker, f as FarmNavigationListener, h as FarmNavigationLocation, S as SPARouter, g as getRouter, n as navigateTo, p as prefetch, b as pushState, r as readPageState, c as replaceState } from './spa-router-CQWiYGxS.mjs';
13
13
  import { b as FarmI18nLocale } from './types-Z0aotQ8w.mjs';
14
14
  export { F as FarmChunkRecoveryOptions, i as installChunkErrorRecovery, a as isChunkLoadError } from './chunk-recovery-lnQFzcQP.mjs';
15
15
  export { a as FarmClientHydrationCompleteEvent, b as FarmClientHydrationEvent, d as FarmClientHydrationMode, e as FarmClientHydrationSession, f as FarmClientLocation, g as FarmClientNavigationAction, h as FarmClientNavigationErrorEvent, i as FarmClientNavigationEvent, j as FarmClientNavigationLoadedEvent, k as FarmClientNavigationResolvedEvent, l as FarmClientNavigationSession, m as FarmClientPerformanceEvent, n as FarmClientPlugin, o as FarmClientPluginCloseEvent, p as FarmClientPluginEnforce, q as FarmClientPluginErrorEvent, r as FarmClientPluginErrorPhase, F as FarmClientPluginManager, s as FarmClientPluginManagerOptions, t as FarmClientPluginMetadata, u as FarmClientPluginRegistration, v as FarmClientPluginRouter, w as FarmClientPluginSetupEvent, x as FarmClientPluginStateEvent, c as createClientPluginManager } from './lifecycle-DK06VuKP.mjs';
16
16
  export { S as ServerQueryFetchOptions, f as fetchServerQuery, p as prefetchServerQuery } from './server-query-runtime-aP52iuL5.mjs';
17
17
  export { getTheme, setTheme, toggleTheme } from './theme/runtime.mjs';
18
18
  import './cache.mjs';
19
- import './route-C_eLaFTZ.mjs';
19
+ import './route-B0XrsrFk.mjs';
20
20
  import './server-fn.mjs';
21
21
  import './server-fn-error-DDh14a0V.mjs';
22
22
  import './server-query.mjs';
23
23
  import './types-DQnyD3VD.mjs';
24
- import './client-plugins-CIPRtSsW.mjs';
24
+ import './client-plugins-JXXmZliS.mjs';
25
25
  import './renderer.mjs';
26
26
  import './deployment.mjs';
27
27
  import 'http';
@@ -47,7 +47,7 @@ import './font.mjs';
47
47
  import './after.mjs';
48
48
  import 'node:http';
49
49
  import './island-CfGru1MO.mjs';
50
- import './render-plan-io7pvDNc.mjs';
50
+ import './render-plan-BLIfc4jt.mjs';
51
51
 
52
52
  type MutationStatus = "idle" | "pending" | "success" | "error";
53
53
  type AnyMutationTarget = (...args: any[]) => Promise<any>;
package/dist/client.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { r as ClientOptions, g as APIResult } from './api-client-C0_NZEBl.js';
2
- export { v as APIClient, h as APIClientError, b as APIClientOptions, i as APIClientSystemError, c as APIClientWithoutIntegrationsOptions, x as ApiClients, L as ClientHeaders, M as ClientLifecycleHooks, N as ClientRequestEvent, P as ClientResponseEvent, a9 as InferIntegrationOperationBody, aa as InferIntegrationOperationQuery, ab as InferIntegrationOperationResponse, a5 as IntegrationAPI, a0 as IntegrationClient, a1 as IntegrationClientAliases, a7 as IntegrationClientData, T as IntegrationClientError, a3 as IntegrationClientOptions, a4 as IntegrationClientRequestOptions, a2 as IntegrationClientRoot, a6 as IntegrationClients, a8 as IntegrationOperationResult, ac as IntegrationServerClient, ad as IntegrationServerClientAliases, ae as IntegrationServerClientOptions, af as IntegrationServerClientRequestOptions, ag as IntegrationServerClientRoot, ah as IntegrationServerRequestLike, u as RouteAPIClient, w as ServerAPIClient, S as ServerAPIClientOptions, d as ServerAPIClientWithoutIntegrationsOptions, z as createAPIClient, y as createApiClients, U as createIntegrationApi, Q as createIntegrationClient, V as createIntegrationClients, X as createIntegrationServerClient, W as createIntegrations, E as createServerAPIClient, Y as getIntegrationAPIManifest, Z as integrationClients, _ as integrationsClient, $ as integrationsServer } from './api-client-C0_NZEBl.js';
3
- export { K as FarmAPIStream } from './endpoint-kSAxE52R.js';
1
+ import { r as ClientOptions, g as APIResult } from './api-client-DykpaKcY.js';
2
+ export { v as APIClient, h as APIClientError, b as APIClientOptions, i as APIClientSystemError, c as APIClientWithoutIntegrationsOptions, x as ApiClients, L as ClientHeaders, M as ClientLifecycleHooks, N as ClientRequestEvent, P as ClientResponseEvent, a9 as InferIntegrationOperationBody, aa as InferIntegrationOperationQuery, ab as InferIntegrationOperationResponse, a5 as IntegrationAPI, a0 as IntegrationClient, a1 as IntegrationClientAliases, a7 as IntegrationClientData, T as IntegrationClientError, a3 as IntegrationClientOptions, a4 as IntegrationClientRequestOptions, a2 as IntegrationClientRoot, a6 as IntegrationClients, a8 as IntegrationOperationResult, ac as IntegrationServerClient, ad as IntegrationServerClientAliases, ae as IntegrationServerClientOptions, af as IntegrationServerClientRequestOptions, ag as IntegrationServerClientRoot, ah as IntegrationServerRequestLike, u as RouteAPIClient, w as ServerAPIClient, S as ServerAPIClientOptions, d as ServerAPIClientWithoutIntegrationsOptions, z as createAPIClient, y as createApiClients, U as createIntegrationApi, Q as createIntegrationClient, V as createIntegrationClients, X as createIntegrationServerClient, W as createIntegrations, E as createServerAPIClient, Y as getIntegrationAPIManifest, Z as integrationClients, _ as integrationsClient, $ as integrationsServer } from './api-client-DykpaKcY.js';
3
+ export { K as FarmAPIStream } from './endpoint-1zA994xL.js';
4
4
  import React__default, { ComponentType, FormHTMLAttributes, FormEvent, AnchorHTMLAttributes, RefObject } from 'react';
5
5
  export { RouteActionTarget, UseActionFormProps, UseActionReturn, UseServerFnOptions, useAction } from './server-fn-client.js';
6
6
  export { UseServerQueryOptions, UseServerQueryResult, useServerQuery } from './server-query-client.js';
@@ -8,20 +8,20 @@ export { a as FarmClientCacheEntry, b as FarmClientCacheKey, F as FarmClientCach
8
8
  export { F as FarmIntegrationAPI, c as FarmIntegrationAPIBodyFormat, e as FarmIntegrationAPIMethod, f as FarmIntegrationAPIOperation, g as FarmIntegrationAPIResponseFormat, a as api, d as defineIntegrationAPI, b as defineIntegrationAPIOperation, i as endpoint } from './integration-api-BbaiokCC.js';
9
9
  export { UseThemeResult, useTheme } from './theme/client.js';
10
10
  import { FarmRouterPathParams, FarmRouterPathParam, FarmRouterBuildOptions, FarmRouterRouteInput } from './router.js';
11
- import { i as FarmViewTransitionMode, e as FarmNavigationBlockerContext, F as FarmNavigationState } from './spa-router-BzFBUJkn.js';
12
- export { a as FarmNavigateOptions, d as FarmNavigationBlocker, f as FarmNavigationListener, h as FarmNavigationLocation, S as SPARouter, g as getRouter, n as navigateTo, p as prefetch, b as pushState, r as readPageState, c as replaceState } from './spa-router-BzFBUJkn.js';
11
+ import { i as FarmViewTransitionMode, e as FarmNavigationBlockerContext, F as FarmNavigationState } from './spa-router-Wjiw-8hB.js';
12
+ export { a as FarmNavigateOptions, d as FarmNavigationBlocker, f as FarmNavigationListener, h as FarmNavigationLocation, S as SPARouter, g as getRouter, n as navigateTo, p as prefetch, b as pushState, r as readPageState, c as replaceState } from './spa-router-Wjiw-8hB.js';
13
13
  import { b as FarmI18nLocale } from './types-Z0aotQ8w.js';
14
14
  export { F as FarmChunkRecoveryOptions, i as installChunkErrorRecovery, a as isChunkLoadError } from './chunk-recovery-lnQFzcQP.js';
15
15
  export { a as FarmClientHydrationCompleteEvent, b as FarmClientHydrationEvent, d as FarmClientHydrationMode, e as FarmClientHydrationSession, f as FarmClientLocation, g as FarmClientNavigationAction, h as FarmClientNavigationErrorEvent, i as FarmClientNavigationEvent, j as FarmClientNavigationLoadedEvent, k as FarmClientNavigationResolvedEvent, l as FarmClientNavigationSession, m as FarmClientPerformanceEvent, n as FarmClientPlugin, o as FarmClientPluginCloseEvent, p as FarmClientPluginEnforce, q as FarmClientPluginErrorEvent, r as FarmClientPluginErrorPhase, F as FarmClientPluginManager, s as FarmClientPluginManagerOptions, t as FarmClientPluginMetadata, u as FarmClientPluginRegistration, v as FarmClientPluginRouter, w as FarmClientPluginSetupEvent, x as FarmClientPluginStateEvent, c as createClientPluginManager } from './lifecycle-DK06VuKP.js';
16
16
  export { S as ServerQueryFetchOptions, f as fetchServerQuery, p as prefetchServerQuery } from './server-query-runtime-DXRNhX_3.js';
17
17
  export { getTheme, setTheme, toggleTheme } from './theme/runtime.js';
18
18
  import './cache.js';
19
- import './route-BxNJT447.js';
19
+ import './route-DOEpbyWZ.js';
20
20
  import './server-fn.js';
21
21
  import './server-fn-error-DDh14a0V.js';
22
22
  import './server-query.js';
23
23
  import './types-DQnyD3VD.js';
24
- import './client-plugins-CqVtZi5X.js';
24
+ import './client-plugins-C089bQhN.js';
25
25
  import './renderer.js';
26
26
  import './deployment.js';
27
27
  import 'http';
@@ -47,7 +47,7 @@ import './font.js';
47
47
  import './after.js';
48
48
  import 'node:http';
49
49
  import './island-CfGru1MO.js';
50
- import './render-plan-Be4ZGTJP.js';
50
+ import './render-plan-DOB9cV-h.js';
51
51
 
52
52
  type MutationStatus = "idle" | "pending" | "success" | "error";
53
53
  type AnyMutationTarget = (...args: any[]) => Promise<any>;
package/dist/client.mjs CHANGED
@@ -13,7 +13,7 @@ import {
13
13
  storageClientCacheAdapter,
14
14
  useFetcher,
15
15
  useMutation
16
- } from "./chunk-LZK5CXDW.mjs";
16
+ } from "./chunk-KLSSO6YD.mjs";
17
17
  import {
18
18
  installChunkErrorRecovery,
19
19
  isChunkLoadError
@@ -23,7 +23,7 @@ import {
23
23
  } from "./chunk-SHB3GYXI.mjs";
24
24
  import {
25
25
  useServerQuery
26
- } from "./chunk-GSDIZACQ.mjs";
26
+ } from "./chunk-FG5H2VCJ.mjs";
27
27
  import {
28
28
  useBlocker,
29
29
  useNavigation,
@@ -49,12 +49,12 @@ import {
49
49
  integrationClients,
50
50
  integrationsClient,
51
51
  integrationsServer
52
- } from "./chunk-KUO3GBPK.mjs";
52
+ } from "./chunk-L6V3P73N.mjs";
53
53
  import "./chunk-72AK62H5.mjs";
54
54
  import {
55
55
  fetchServerQuery,
56
56
  prefetchServerQuery
57
- } from "./chunk-76MNRHTS.mjs";
57
+ } from "./chunk-UUYF3CHN.mjs";
58
58
  import {
59
59
  getTheme,
60
60
  setTheme,
@@ -77,7 +77,7 @@ import "./chunk-5HGR3W6O.mjs";
77
77
  import {
78
78
  getFarmClientDataCache,
79
79
  normalizeFarmClientCacheKey
80
- } from "./chunk-HKLRP3BN.mjs";
80
+ } from "./chunk-5SPPCN5J.mjs";
81
81
  import "./chunk-QVYLBY73.mjs";
82
82
  import "./chunk-KGB5UXJJ.mjs";
83
83
  import {
@@ -100,7 +100,7 @@ import "./chunk-YS3TRKCG.mjs";
100
100
  import "./chunk-SKNL7VA2.mjs";
101
101
  import "./chunk-2A3EQHXX.mjs";
102
102
  import "./chunk-JNZ4TDWM.mjs";
103
- import "./chunk-IGO2HEV7.mjs";
103
+ import "./chunk-F6SJAKFJ.mjs";
104
104
  import "./chunk-4SIYUGRY.mjs";
105
105
  import "./chunk-C4NCTZLM.mjs";
106
106
  import "./chunk-FUZEBRP3.mjs";
package/dist/config.d.mts CHANGED
@@ -1,7 +1,7 @@
1
- import { q as FarmUserConfig } from './client-plugins-CIPRtSsW.mjs';
1
+ import { q as FarmUserConfig } from './client-plugins-JXXmZliS.mjs';
2
2
  import './lifecycle-DK06VuKP.mjs';
3
- import './route-C_eLaFTZ.mjs';
4
- import './endpoint-Bu3XgeMK.mjs';
3
+ import './route-B0XrsrFk.mjs';
4
+ import './endpoint-DAc96i93.mjs';
5
5
  import './cache.mjs';
6
6
  import './renderer.mjs';
7
7
  import './deployment.mjs';
package/dist/config.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { q as FarmUserConfig } from './client-plugins-CqVtZi5X.js';
1
+ import { q as FarmUserConfig } from './client-plugins-C089bQhN.js';
2
2
  import './lifecycle-DK06VuKP.js';
3
- import './route-BxNJT447.js';
4
- import './endpoint-kSAxE52R.js';
3
+ import './route-DOEpbyWZ.js';
4
+ import './endpoint-1zA994xL.js';
5
5
  import './cache.js';
6
6
  import './renderer.js';
7
7
  import './deployment.js';
package/dist/cron.mjs CHANGED
@@ -11,9 +11,9 @@ import {
11
11
  mergeScheduledTasks,
12
12
  prepareFarmCronForNitro,
13
13
  resolveCronConfig
14
- } from "./chunk-4L7SZOHZ.mjs";
15
- import "./chunk-ONUEYC6N.mjs";
14
+ } from "./chunk-YHOCRI4H.mjs";
16
15
  import "./chunk-2UC36WAC.mjs";
16
+ import "./chunk-ONUEYC6N.mjs";
17
17
  import "./chunk-KI3MESHB.mjs";
18
18
  import "./chunk-QVKYGNVM.mjs";
19
19
  import "./chunk-CQ6OSQ3K.mjs";
@@ -1,24 +1,24 @@
1
1
  import {
2
2
  getDeployTargetForPreset
3
- } from "./chunk-IXTEENRS.mjs";
3
+ } from "./chunk-QGVJVSNX.mjs";
4
4
  import "./chunk-XZNTNMHT.mjs";
5
5
  import "./chunk-FZC7EEPM.mjs";
6
6
  import "./chunk-JBSVKMC5.mjs";
7
7
  import "./chunk-7WPA7GBZ.mjs";
8
8
  import "./chunk-IILNZK5G.mjs";
9
9
  import "./chunk-OLYK7EAK.mjs";
10
- import "./chunk-Q3MDL7TM.mjs";
10
+ import "./chunk-ZCNJKLA2.mjs";
11
11
  import "./chunk-G2KY33I6.mjs";
12
12
  import {
13
13
  resolveCronConfig
14
- } from "./chunk-4L7SZOHZ.mjs";
14
+ } from "./chunk-YHOCRI4H.mjs";
15
15
  import "./chunk-QCFFHV5H.mjs";
16
- import "./chunk-7HDZYYS4.mjs";
16
+ import "./chunk-4OOBRCJX.mjs";
17
17
  import "./chunk-FA2W42OV.mjs";
18
- import "./chunk-6SCB2MXB.mjs";
19
- import "./chunk-MUUZJLCI.mjs";
20
- import "./chunk-ONUEYC6N.mjs";
18
+ import "./chunk-SXHV42UQ.mjs";
19
+ import "./chunk-EGJDUF4Q.mjs";
21
20
  import "./chunk-2UC36WAC.mjs";
21
+ import "./chunk-ONUEYC6N.mjs";
22
22
  import "./chunk-AELACLOB.mjs";
23
23
  import "./chunk-JLCQGPXE.mjs";
24
24
  import "./chunk-FP2INE7H.mjs";