@farm.js/core 0.1.0-beta.1 → 0.1.0-beta.4

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 (254) hide show
  1. package/README.md +1 -1
  2. package/dist/agent-runtime.d.mts +2 -1
  3. package/dist/agent-runtime.d.ts +2 -1
  4. package/dist/api/route-manager.cjs +410 -15
  5. package/dist/api/route-manager.cjs.map +1 -1
  6. package/dist/api/route-manager.d.mts +4 -2
  7. package/dist/api/route-manager.d.ts +4 -2
  8. package/dist/api/route-manager.mjs +9 -8
  9. package/dist/api/runtime.cjs +748 -9
  10. package/dist/api/runtime.cjs.map +1 -1
  11. package/dist/api/runtime.d.mts +3 -16
  12. package/dist/api/runtime.d.ts +3 -16
  13. package/dist/api/runtime.mjs +8 -1
  14. package/dist/api.cjs +1243 -342
  15. package/dist/api.cjs.map +1 -1
  16. package/dist/api.d.mts +5 -147
  17. package/dist/api.d.ts +5 -147
  18. package/dist/api.mjs +51 -21
  19. package/dist/{app-CFRNJXP1.d.ts → app-BjN-da13.d.ts} +38 -3
  20. package/dist/{app-BiX4qb-d.d.mts → app-CakAr8Be.d.mts} +38 -3
  21. package/dist/app-markdown.cjs +1 -1
  22. package/dist/app-markdown.cjs.map +1 -1
  23. package/dist/app-markdown.d.mts +2 -1
  24. package/dist/app-markdown.d.ts +2 -1
  25. package/dist/app-markdown.mjs +1 -1
  26. package/dist/cache.cjs +414 -12
  27. package/dist/cache.cjs.map +1 -1
  28. package/dist/cache.d.mts +120 -6
  29. package/dist/cache.d.ts +120 -6
  30. package/dist/cache.mjs +11 -3
  31. package/dist/{chunk-Y7A27276.mjs → chunk-2CUKEMVR.mjs} +349 -15
  32. package/dist/chunk-2CUKEMVR.mjs.map +1 -0
  33. package/dist/{chunk-QF4PHCMA.mjs → chunk-2ED5Q2GH.mjs} +3 -3
  34. package/dist/chunk-2ED5Q2GH.mjs.map +1 -0
  35. package/dist/{chunk-GZP5W4K3.mjs → chunk-32W4QEJP.mjs} +1 -1
  36. package/dist/chunk-32W4QEJP.mjs.map +1 -0
  37. package/dist/{chunk-TRORP7E4.mjs → chunk-3U3ZUQAQ.mjs} +2 -2
  38. package/dist/{chunk-25D7G34K.mjs → chunk-65A7QIKI.mjs} +5 -5
  39. package/dist/{chunk-25D7G34K.mjs.map → chunk-65A7QIKI.mjs.map} +1 -1
  40. package/dist/{chunk-G3B5BRDY.mjs → chunk-AJWRO5WE.mjs} +539 -61
  41. package/dist/chunk-AJWRO5WE.mjs.map +1 -0
  42. package/dist/chunk-ALCLXXTY.mjs +187 -0
  43. package/dist/chunk-ALCLXXTY.mjs.map +1 -0
  44. package/dist/{chunk-CHFHNEMO.mjs → chunk-AOBXKNS5.mjs} +627 -84
  45. package/dist/chunk-AOBXKNS5.mjs.map +1 -0
  46. package/dist/{chunk-B6N4ZB2H.mjs → chunk-C2ROET2V.mjs} +3 -3
  47. package/dist/{chunk-JN3UU635.mjs → chunk-EJ7T4TPB.mjs} +2 -2
  48. package/dist/chunk-EJ7T4TPB.mjs.map +1 -0
  49. package/dist/{chunk-ZJQNATYV.mjs → chunk-FRPWCMMG.mjs} +3 -3
  50. package/dist/chunk-FRPWCMMG.mjs.map +1 -0
  51. package/dist/{chunk-QM6VV26B.mjs → chunk-GQVGIUSN.mjs} +3 -3
  52. package/dist/{chunk-QM6VV26B.mjs.map → chunk-GQVGIUSN.mjs.map} +1 -1
  53. package/dist/{chunk-UREJA4GZ.mjs → chunk-GXASWWJU.mjs} +1 -1
  54. package/dist/{chunk-UREJA4GZ.mjs.map → chunk-GXASWWJU.mjs.map} +1 -1
  55. package/dist/{chunk-3QJO55ZF.mjs → chunk-HNIQFZKB.mjs} +5 -3
  56. package/dist/{chunk-3QJO55ZF.mjs.map → chunk-HNIQFZKB.mjs.map} +1 -1
  57. package/dist/{chunk-PRNYWD7K.mjs → chunk-JDEOUK5V.mjs} +67 -239
  58. package/dist/chunk-JDEOUK5V.mjs.map +1 -0
  59. package/dist/{chunk-O3HADRW6.mjs → chunk-MIUW47JX.mjs} +2 -2
  60. package/dist/{chunk-O3HADRW6.mjs.map → chunk-MIUW47JX.mjs.map} +1 -1
  61. package/dist/{chunk-UHE2TTLK.mjs → chunk-NM3CRAAL.mjs} +9 -8
  62. package/dist/chunk-NM3CRAAL.mjs.map +1 -0
  63. package/dist/chunk-PFE6GMNE.mjs +603 -0
  64. package/dist/chunk-PFE6GMNE.mjs.map +1 -0
  65. package/dist/{chunk-S2XHZS7W.mjs → chunk-QGQX7SFC.mjs} +2 -2
  66. package/dist/chunk-QGQX7SFC.mjs.map +1 -0
  67. package/dist/{chunk-RKI6TN3A.mjs → chunk-QM746KUO.mjs} +9 -2
  68. package/dist/chunk-QM746KUO.mjs.map +1 -0
  69. package/dist/chunk-RBRLLZL5.mjs +81 -0
  70. package/dist/chunk-RBRLLZL5.mjs.map +1 -0
  71. package/dist/{chunk-HXP3ZSPC.mjs → chunk-SADGIRS2.mjs} +3 -3
  72. package/dist/{chunk-6XDUHOEM.mjs → chunk-TQAEEJB4.mjs} +3 -3
  73. package/dist/{chunk-AGS7UJ52.mjs → chunk-UB5UOSHB.mjs} +24 -12
  74. package/dist/chunk-UB5UOSHB.mjs.map +1 -0
  75. package/dist/{chunk-SXZTEK3V.mjs → chunk-UXUAWNO5.mjs} +2 -2
  76. package/dist/chunk-V3XURYJO.mjs +756 -0
  77. package/dist/chunk-V3XURYJO.mjs.map +1 -0
  78. package/dist/{chunk-TU4YJICB.mjs → chunk-VVKWFZAH.mjs} +41 -16
  79. package/dist/chunk-VVKWFZAH.mjs.map +1 -0
  80. package/dist/{chunk-JLWMCADZ.mjs → chunk-VY2UYN5R.mjs} +24 -4
  81. package/dist/chunk-VY2UYN5R.mjs.map +1 -0
  82. package/dist/{chunk-QFQRHRZS.mjs → chunk-W2CRQFF6.mjs} +151 -23
  83. package/dist/chunk-W2CRQFF6.mjs.map +1 -0
  84. package/dist/chunk-W4UIVMVI.mjs +10 -0
  85. package/dist/chunk-W4UIVMVI.mjs.map +1 -0
  86. package/dist/{chunk-Y2OJJD7R.mjs → chunk-XIVV5IWN.mjs} +7 -9
  87. package/dist/chunk-XIVV5IWN.mjs.map +1 -0
  88. package/dist/{chunk-OYXO65LI.mjs → chunk-YW7OBE6Q.mjs} +4 -4
  89. package/dist/chunk-YW7OBE6Q.mjs.map +1 -0
  90. package/dist/{chunk-YHU7SS6L.mjs → chunk-Z5CQMP54.mjs} +11 -11
  91. package/dist/{chunk-SOU3Q3ZA.mjs → chunk-ZZ57EH5Z.mjs} +1 -1
  92. package/dist/chunk-ZZ57EH5Z.mjs.map +1 -0
  93. package/dist/{client-D_yUjVhe.d.mts → client-BT1mFQas.d.mts} +55 -10
  94. package/dist/{client-Dkc03WP8.d.ts → client-Nn0q4eO4.d.ts} +55 -10
  95. package/dist/{client-plugins-BZnpeTGA.d.ts → client-plugins-Cw4qUGsw.d.ts} +7 -0
  96. package/dist/{client-plugins-g4bzuCmo.d.mts → client-plugins-DQQ1adXM.d.mts} +7 -0
  97. package/dist/client-plugins.d.mts +2 -1
  98. package/dist/client-plugins.d.ts +2 -1
  99. package/dist/client.cjs +922 -91
  100. package/dist/client.cjs.map +1 -1
  101. package/dist/client.d.mts +121 -3
  102. package/dist/client.d.ts +121 -3
  103. package/dist/client.mjs +23 -16
  104. package/dist/config.d.mts +2 -1
  105. package/dist/config.d.ts +2 -1
  106. package/dist/cron.cjs.map +1 -1
  107. package/dist/cron.mjs +1 -1
  108. package/dist/{devtools-AE4RVXCM.mjs → devtools-LVC3VB5P.mjs} +10 -10
  109. package/dist/{devtools-client-6WPY2AQU.mjs → devtools-client-3XRTBND5.mjs} +2 -11
  110. package/dist/devtools-client-3XRTBND5.mjs.map +1 -0
  111. package/dist/docs.cjs +14 -2
  112. package/dist/docs.cjs.map +1 -1
  113. package/dist/docs.mjs +10 -10
  114. package/dist/i18n/server.cjs +2 -2
  115. package/dist/i18n/server.cjs.map +1 -1
  116. package/dist/i18n/server.mjs +1 -1
  117. package/dist/index.cjs +2852 -463
  118. package/dist/index.cjs.map +1 -1
  119. package/dist/index.d.mts +13 -12
  120. package/dist/index.d.ts +13 -12
  121. package/dist/index.mjs +152 -109
  122. package/dist/index.mjs.map +1 -1
  123. package/dist/integrations.d.mts +2 -1
  124. package/dist/integrations.d.ts +2 -1
  125. package/dist/internal/build-runtime.cjs +1616 -149
  126. package/dist/internal/build-runtime.cjs.map +1 -1
  127. package/dist/internal/build-runtime.d.mts +4 -3
  128. package/dist/internal/build-runtime.d.ts +4 -3
  129. package/dist/internal/build-runtime.mjs +27 -25
  130. package/dist/internal/client-runtime.cjs.map +1 -1
  131. package/dist/internal/client-runtime.mjs +1 -1
  132. package/dist/internal/config-runtime.cjs +13 -2
  133. package/dist/internal/config-runtime.cjs.map +1 -1
  134. package/dist/internal/config-runtime.d.mts +3 -2
  135. package/dist/internal/config-runtime.d.ts +3 -2
  136. package/dist/internal/config-runtime.mjs +9 -9
  137. package/dist/internal/production-runtime.cjs +285 -9
  138. package/dist/internal/production-runtime.cjs.map +1 -1
  139. package/dist/internal/production-runtime.d.mts +4 -4
  140. package/dist/internal/production-runtime.d.ts +4 -4
  141. package/dist/internal/production-runtime.mjs +10 -8
  142. package/dist/{metadata-DAXRaOHx.d.ts → metadata-BAPg_Nmo.d.ts} +1 -1
  143. package/dist/{metadata-C9NZxMDW.d.mts → metadata-_6i9oFG3.d.mts} +1 -1
  144. package/dist/middleware.cjs +2 -2
  145. package/dist/middleware.cjs.map +1 -1
  146. package/dist/middleware.d.mts +4 -3
  147. package/dist/middleware.d.ts +4 -3
  148. package/dist/middleware.mjs +3 -3
  149. package/dist/navigation.cjs +40 -15
  150. package/dist/navigation.cjs.map +1 -1
  151. package/dist/navigation.mjs +3 -3
  152. package/dist/{nitro-KME62MWG.mjs → nitro-QO5LV6QK.mjs} +11 -13
  153. package/dist/{nitro-KME62MWG.mjs.map → nitro-QO5LV6QK.mjs.map} +1 -1
  154. package/dist/plugin.cjs +1032 -92
  155. package/dist/plugin.cjs.map +1 -1
  156. package/dist/plugin.d.mts +2 -1
  157. package/dist/plugin.d.ts +2 -1
  158. package/dist/plugin.mjs +23 -21
  159. package/dist/{production-runtime-DRkCHUvJ.d.ts → production-runtime-BoJDc5mc.d.ts} +1 -1
  160. package/dist/{production-runtime-flrjp_nC.d.mts → production-runtime-DPfgMV9Y.d.mts} +1 -1
  161. package/dist/routes.cjs +276 -6
  162. package/dist/routes.cjs.map +1 -1
  163. package/dist/routes.d.mts +1 -1
  164. package/dist/routes.d.ts +1 -1
  165. package/dist/routes.mjs +4 -4
  166. package/dist/runtime-9nQjVM7X.d.mts +206 -0
  167. package/dist/runtime-DgeS2skB.d.ts +206 -0
  168. package/dist/server-action-security.cjs +28 -10
  169. package/dist/server-action-security.cjs.map +1 -1
  170. package/dist/server-action-security.d.mts +2 -1
  171. package/dist/server-action-security.d.ts +2 -1
  172. package/dist/server-action-security.mjs +2 -2
  173. package/dist/server-fn-client.cjs.map +1 -1
  174. package/dist/server-fn-client.d.mts +1 -0
  175. package/dist/server-fn-client.d.ts +1 -0
  176. package/dist/server-fn-client.mjs +1 -1
  177. package/dist/server-fn.cjs +785 -3
  178. package/dist/server-fn.cjs.map +1 -1
  179. package/dist/server-fn.d.mts +10 -1
  180. package/dist/server-fn.d.ts +10 -1
  181. package/dist/server-fn.mjs +6 -3
  182. package/dist/server-plugins.d.mts +3 -2
  183. package/dist/server-plugins.d.ts +3 -2
  184. package/dist/server-query-client.cjs +278 -7
  185. package/dist/server-query-client.cjs.map +1 -1
  186. package/dist/server-query-client.mjs +4 -4
  187. package/dist/server-query.cjs +381 -10
  188. package/dist/server-query.cjs.map +1 -1
  189. package/dist/server-query.mjs +5 -5
  190. package/dist/server.cjs +1233 -118
  191. package/dist/server.cjs.map +1 -1
  192. package/dist/server.d.mts +8 -7
  193. package/dist/server.d.ts +8 -7
  194. package/dist/server.mjs +53 -33
  195. package/dist/server.mjs.map +1 -1
  196. package/dist/testing.cjs +436 -25
  197. package/dist/testing.cjs.map +1 -1
  198. package/dist/testing.d.mts +4 -3
  199. package/dist/testing.d.ts +4 -3
  200. package/dist/testing.mjs +19 -18
  201. package/dist/testing.mjs.map +1 -1
  202. package/dist/transport-BmbGTXA5.d.mts +49 -0
  203. package/dist/transport-BmbGTXA5.d.ts +49 -0
  204. package/dist/{utils-DOXXivjL.d.mts → utils-CHXlMDkg.d.mts} +1 -1
  205. package/dist/{utils-DA1yo54_.d.ts → utils-Drsyz1Vj.d.ts} +1 -1
  206. package/dist/version.cjs +36 -0
  207. package/dist/version.cjs.map +1 -0
  208. package/dist/version.d.mts +3 -0
  209. package/dist/version.d.ts +3 -0
  210. package/dist/version.mjs +8 -0
  211. package/dist/version.mjs.map +1 -0
  212. package/dist/vite.cjs +1039 -93
  213. package/dist/vite.cjs.map +1 -1
  214. package/dist/vite.d.mts +2 -1
  215. package/dist/vite.d.ts +2 -1
  216. package/dist/vite.mjs +23 -21
  217. package/dist/workflows.cjs +6 -8
  218. package/dist/workflows.cjs.map +1 -1
  219. package/dist/workflows.mjs +1 -1
  220. package/package.json +12 -5
  221. package/types/api.d.ts +44 -0
  222. package/types/client.d.ts +220 -16
  223. package/dist/chunk-4PTK6KT4.mjs +0 -364
  224. package/dist/chunk-4PTK6KT4.mjs.map +0 -1
  225. package/dist/chunk-AGS7UJ52.mjs.map +0 -1
  226. package/dist/chunk-CHFHNEMO.mjs.map +0 -1
  227. package/dist/chunk-EVGBEZDF.mjs +0 -215
  228. package/dist/chunk-EVGBEZDF.mjs.map +0 -1
  229. package/dist/chunk-G3B5BRDY.mjs.map +0 -1
  230. package/dist/chunk-GZP5W4K3.mjs.map +0 -1
  231. package/dist/chunk-JLWMCADZ.mjs.map +0 -1
  232. package/dist/chunk-JN3UU635.mjs.map +0 -1
  233. package/dist/chunk-OYXO65LI.mjs.map +0 -1
  234. package/dist/chunk-PRNYWD7K.mjs.map +0 -1
  235. package/dist/chunk-QF4PHCMA.mjs.map +0 -1
  236. package/dist/chunk-QFQRHRZS.mjs.map +0 -1
  237. package/dist/chunk-RKI6TN3A.mjs.map +0 -1
  238. package/dist/chunk-S2XHZS7W.mjs.map +0 -1
  239. package/dist/chunk-SOU3Q3ZA.mjs.map +0 -1
  240. package/dist/chunk-TU4YJICB.mjs.map +0 -1
  241. package/dist/chunk-TXCFGOHW.mjs +0 -42
  242. package/dist/chunk-TXCFGOHW.mjs.map +0 -1
  243. package/dist/chunk-UHE2TTLK.mjs.map +0 -1
  244. package/dist/chunk-Y2OJJD7R.mjs.map +0 -1
  245. package/dist/chunk-Y7A27276.mjs.map +0 -1
  246. package/dist/chunk-ZJQNATYV.mjs.map +0 -1
  247. package/dist/devtools-client-6WPY2AQU.mjs.map +0 -1
  248. /package/dist/{chunk-TRORP7E4.mjs.map → chunk-3U3ZUQAQ.mjs.map} +0 -0
  249. /package/dist/{chunk-B6N4ZB2H.mjs.map → chunk-C2ROET2V.mjs.map} +0 -0
  250. /package/dist/{chunk-HXP3ZSPC.mjs.map → chunk-SADGIRS2.mjs.map} +0 -0
  251. /package/dist/{chunk-6XDUHOEM.mjs.map → chunk-TQAEEJB4.mjs.map} +0 -0
  252. /package/dist/{chunk-SXZTEK3V.mjs.map → chunk-UXUAWNO5.mjs.map} +0 -0
  253. /package/dist/{chunk-YHU7SS6L.mjs.map → chunk-Z5CQMP54.mjs.map} +0 -0
  254. /package/dist/{devtools-AE4RVXCM.mjs.map → devtools-LVC3VB5P.mjs.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/devtools-client.ts"],"sourcesContent":["import {\n FARM_DEVTOOLS_LAUNCH_PARAM,\n FARM_DEVTOOLS_PATH,\n type ResolvedFarmDevtoolsConfig,\n} from \"./devtools-config\";\n\ntype ParsedShortcut = {\n key: string;\n alt: boolean;\n ctrl: boolean;\n meta: boolean;\n mod: boolean;\n shift: boolean;\n};\n\nfunction parseShortcut(shortcut: string): ParsedShortcut | null {\n const tokens = shortcut\n .toLowerCase()\n .split(\"+\")\n .map((token) => token.trim())\n .filter(Boolean);\n const key = tokens.find(\n (token) =>\n ![\"alt\", \"ctrl\", \"control\", \"meta\", \"cmd\", \"command\", \"mod\", \"shift\"].includes(token),\n );\n\n if (!key) {\n return null;\n }\n\n return {\n key,\n alt: tokens.includes(\"alt\"),\n ctrl: tokens.includes(\"ctrl\") || tokens.includes(\"control\"),\n meta: tokens.includes(\"meta\") || tokens.includes(\"cmd\") || tokens.includes(\"command\"),\n mod: tokens.includes(\"mod\"),\n shift: tokens.includes(\"shift\"),\n };\n}\n\nexport function generateFarmDevtoolsClientRuntime(config: ResolvedFarmDevtoolsConfig): string {\n if (!config.enabled) {\n return \"\";\n }\n\n const shortcut = config.shortcut ? parseShortcut(config.shortcut) : null;\n const overlayStyles = `\n #__farm_devtools_overlay__ {\n position: fixed;\n inset: 0;\n z-index: 2147483646;\n display: grid;\n place-items: center;\n padding: 20px;\n background: rgb(0 0 0 / 0);\n backdrop-filter: blur(0);\n opacity: 0;\n pointer-events: none;\n transition: background-color 150ms ease-out, backdrop-filter 150ms ease-out, opacity 150ms ease-out;\n }\n #__farm_devtools_overlay__[data-open=\"true\"] {\n background: rgb(0 0 0 / 0.12);\n backdrop-filter: blur(1px);\n opacity: 1;\n pointer-events: auto;\n }\n #__farm_devtools_overlay__ > iframe {\n display: block;\n width: min(960px, calc(100vw - 40px));\n height: min(560px, calc(100dvh - 40px));\n border: 0;\n border-radius: 12px;\n background: transparent;\n box-shadow: 0 24px 80px rgb(0 0 0 / 0.48), 0 4px 18px rgb(0 0 0 / 0.24);\n transform: scale(0.985) translateY(4px);\n transition: transform 150ms ease-out;\n }\n #__farm_devtools_overlay__[data-open=\"true\"] > iframe {\n transform: scale(1) translateY(0);\n }\n @media (max-width: 700px) {\n #__farm_devtools_overlay__ { padding: 8px; }\n #__farm_devtools_overlay__ > iframe {\n width: calc(100vw - 16px);\n height: calc(100dvh - 16px);\n border-radius: 10px;\n }\n }\n @media (prefers-reduced-motion: reduce) {\n #__farm_devtools_overlay__, #__farm_devtools_overlay__ > iframe { transition: none; }\n }\n `;\n\n return `\n(() => {\n const overlayId = \"__farm_devtools_overlay__\";\n const styleId = \"__farm_devtools_overlay_styles__\";\n const runtimeKey = \"__FARM_DEVTOOLS_RUNTIME__\";\n const launchParam = ${JSON.stringify(FARM_DEVTOOLS_LAUNCH_PARAM)};\n const devtoolsPath = ${JSON.stringify(FARM_DEVTOOLS_PATH)};\n const validViews = new Set([\"overview\", \"routes\", \"api\", \"systems\", \"runtime\", \"raw\"]);\n const shortcut = ${JSON.stringify(shortcut)};\n const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);\n let returnFocus = null;\n\n const matchesShortcut = (event) => {\n if (!shortcut || event.repeat) return false;\n const expectedCtrl = shortcut.ctrl || (shortcut.mod && !isMac);\n const expectedMeta = shortcut.meta || (shortcut.mod && isMac);\n if (\n Boolean(event.altKey) !== shortcut.alt ||\n Boolean(event.ctrlKey) !== expectedCtrl ||\n Boolean(event.metaKey) !== expectedMeta ||\n Boolean(event.shiftKey) !== shortcut.shift\n ) return false;\n\n if (shortcut.key === \".\" || shortcut.key === \"period\") return event.code === \"Period\";\n if (shortcut.key === \",\" || shortcut.key === \"comma\") return event.code === \"Comma\";\n if (shortcut.key === \"/\" || shortcut.key === \"slash\") return event.code === \"Slash\";\n return String(event.key || \"\").toLowerCase() === shortcut.key;\n };\n\n const ensureStyles = () => {\n if (document.getElementById(styleId)) return;\n const style = document.createElement(\"style\");\n style.id = styleId;\n style.textContent = ${JSON.stringify(overlayStyles)};\n document.head.appendChild(style);\n };\n\n const close = () => {\n const overlay = document.getElementById(overlayId);\n if (!overlay) return;\n const focusTarget = returnFocus;\n returnFocus = null;\n overlay.dataset.open = \"false\";\n window.setTimeout(() => {\n overlay.remove();\n focusTarget?.focus?.();\n }, 160);\n };\n\n const open = (view = \"overview\") => {\n if (document.getElementById(overlayId)) return;\n ensureStyles();\n returnFocus = document.activeElement;\n const overlay = document.createElement(\"div\");\n overlay.id = overlayId;\n overlay.setAttribute(\"aria-label\", \"Farm.js DevTools overlay\");\n const frame = document.createElement(\"iframe\");\n const resolvedView = validViews.has(view) ? view : \"overview\";\n frame.src = devtoolsPath + \"?embedded=1\" + (resolvedView === \"overview\" ? \"\" : \"#\" + resolvedView);\n frame.title = \"Farm.js DevTools\";\n frame.addEventListener(\"load\", () => frame.contentWindow?.focus(), { once: true });\n overlay.appendChild(frame);\n overlay.addEventListener(\"pointerdown\", (event) => {\n if (event.target === overlay) close();\n });\n document.body.appendChild(overlay);\n requestAnimationFrame(() => {\n overlay.dataset.open = \"true\";\n });\n };\n\n const toggle = () => {\n if (document.getElementById(overlayId)) close();\n else open();\n };\n\n const onKeydown = (event) => {\n if (event.key === \"Escape\" && document.getElementById(overlayId)) {\n event.preventDefault();\n close();\n return;\n }\n if (!matchesShortcut(event)) return;\n event.preventDefault();\n event.stopPropagation();\n toggle();\n };\n\n const onMessage = (event) => {\n if (event.origin !== location.origin) return;\n const frame = document.querySelector(\"#\" + overlayId + \" > iframe\");\n if (!frame || event.source !== frame.contentWindow) return;\n if (event.data?.type === \"farm:devtools:close\") close();\n if (event.data?.type === \"farm:devtools:keydown\" && matchesShortcut(event.data.event || {})) close();\n };\n\n window[runtimeKey]?.dispose?.();\n window.addEventListener(\"keydown\", onKeydown, true);\n window.addEventListener(\"message\", onMessage);\n window[runtimeKey] = {\n dispose() {\n window.removeEventListener(\"keydown\", onKeydown, true);\n window.removeEventListener(\"message\", onMessage);\n },\n };\n window.__FARM_DEVTOOLS__ = { open, close, toggle };\n\n const launchUrl = new URL(location.href);\n const launchRequest = launchUrl.searchParams.get(launchParam);\n if (launchRequest !== null) {\n const hashView = launchUrl.hash.slice(1);\n const launchView = validViews.has(launchRequest)\n ? launchRequest\n : validViews.has(hashView)\n ? hashView\n : \"overview\";\n launchUrl.searchParams.delete(launchParam);\n if (validViews.has(hashView)) launchUrl.hash = \"\";\n history.replaceState(\n history.state,\n \"\",\n launchUrl.pathname + launchUrl.search + launchUrl.hash,\n );\n const launch = () => requestAnimationFrame(() => open(launchView));\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", launch, { once: true });\n } else {\n launch();\n }\n }\n})();\n`;\n}\n"],"mappings":";;;;;;;;;AAeA,SAAS,cAAc,UAAyC;AAC9D,QAAM,SAAS,SACZ,YAAY,EACZ,MAAM,GAAG,EACT,IAAI,CAAC,UAAU,MAAM,KAAK,CAAC,EAC3B,OAAO,OAAO;AACjB,QAAM,MAAM,OAAO;AAAA,IACjB,CAAC,UACC,CAAC,CAAC,OAAO,QAAQ,WAAW,QAAQ,OAAO,WAAW,OAAO,OAAO,EAAE,SAAS,KAAK;AAAA,EACxF;AAEA,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,IACL;AAAA,IACA,KAAK,OAAO,SAAS,KAAK;AAAA,IAC1B,MAAM,OAAO,SAAS,MAAM,KAAK,OAAO,SAAS,SAAS;AAAA,IAC1D,MAAM,OAAO,SAAS,MAAM,KAAK,OAAO,SAAS,KAAK,KAAK,OAAO,SAAS,SAAS;AAAA,IACpF,KAAK,OAAO,SAAS,KAAK;AAAA,IAC1B,OAAO,OAAO,SAAS,OAAO;AAAA,EAChC;AACF;AAvBS;AAyBF,SAAS,kCAAkC,QAA4C;AAC5F,MAAI,CAAC,OAAO,SAAS;AACnB,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,OAAO,WAAW,cAAc,OAAO,QAAQ,IAAI;AACpE,QAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+CtB,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA,wBAKe,KAAK,UAAU,0BAA0B,CAAC;AAAA,yBACzC,KAAK,UAAU,kBAAkB,CAAC;AAAA;AAAA,qBAEtC,KAAK,UAAU,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAyBnB,KAAK,UAAU,aAAa,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmGvD;AAzLgB;","names":[]}
package/dist/docs.cjs CHANGED
@@ -747,7 +747,9 @@ function readManifest(contentDir) {
747
747
  const manifestPath = import_node_path.default.join(contentDir, FARM_DOCS_LAST_MODIFIED_MANIFEST);
748
748
  if (!(0, import_node_fs.existsSync)(manifestPath)) return null;
749
749
  try {
750
- const parsed = JSON.parse((0, import_node_fs.readFileSync)(manifestPath, "utf8"));
750
+ const parsed = JSON.parse(
751
+ (0, import_node_fs.readFileSync)(manifestPath, "utf8")
752
+ );
751
753
  if (parsed.version !== 1 || !parsed.pages || typeof parsed.pages !== "object") return null;
752
754
  const pages = Object.fromEntries(
753
755
  Object.entries(parsed.pages).filter(
@@ -4783,7 +4785,8 @@ var FARM_CACHE_INVALIDATION_STATE = /* @__PURE__ */ Symbol.for("farm.cacheInvali
4783
4785
  var globalState = globalThis;
4784
4786
  function getFarmCacheInvalidationState() {
4785
4787
  return globalState[FARM_CACHE_INVALIDATION_STATE] ?? (globalState[FARM_CACHE_INVALIDATION_STATE] = {
4786
- listeners: /* @__PURE__ */ new Set()
4788
+ listeners: /* @__PURE__ */ new Set(),
4789
+ taskListeners: /* @__PURE__ */ new Set()
4787
4790
  });
4788
4791
  }
4789
4792
  __name(getFarmCacheInvalidationState, "getFarmCacheInvalidationState");
@@ -4793,6 +4796,12 @@ function subscribeFarmCacheInvalidation(listener) {
4793
4796
  return () => state.listeners.delete(listener);
4794
4797
  }
4795
4798
  __name(subscribeFarmCacheInvalidation, "subscribeFarmCacheInvalidation");
4799
+ function subscribeFarmCacheTask(listener) {
4800
+ const state = getFarmCacheInvalidationState();
4801
+ state.taskListeners.add(listener);
4802
+ return () => state.taskListeners.delete(listener);
4803
+ }
4804
+ __name(subscribeFarmCacheTask, "subscribeFarmCacheTask");
4796
4805
 
4797
4806
  // src/server-action-security.ts
4798
4807
  var SERVER_ACTION_STORAGE_KEY = /* @__PURE__ */ Symbol.for("farm.serverActionStorage");
@@ -4803,6 +4812,9 @@ __name(getServerActionExecutionContext, "getServerActionExecutionContext");
4803
4812
  subscribeFarmCacheInvalidation((key) => {
4804
4813
  getServerActionExecutionContext()?.invalidations.add(key);
4805
4814
  });
4815
+ subscribeFarmCacheTask((task) => {
4816
+ getServerActionExecutionContext()?.cacheTasks.add(task);
4817
+ });
4806
4818
  function getServerActionStorage() {
4807
4819
  const globalState2 = globalThis;
4808
4820
  if (!globalState2[SERVER_ACTION_STORAGE_KEY]) {