@farm.js/core 0.1.51-beta.0 → 0.1.51-beta.1
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.
- package/dist/{agent-mcp-D44ip11f.d.mts → agent-mcp.d-BPzpKBHQ.d.mts} +1 -1
- package/dist/{agent-mcp-BBMfNpsC.d.ts → agent-mcp.d-ZuuNgrkQ.d.ts} +1 -1
- package/dist/agent-runtime.cjs +3 -3
- package/dist/agent-runtime.d.mts +13 -13
- package/dist/agent-runtime.d.ts +13 -13
- package/dist/agent-runtime.mjs +2 -2
- package/dist/{analyzer-VKUDHNDF.cjs → analyzer-AZULAOPL.cjs} +2 -2
- package/dist/{analyzer-HOUCQR3K.mjs → analyzer-V74FTD2F.mjs} +1 -1
- package/dist/api/client.d.mts +4 -4
- package/dist/api/client.d.ts +4 -4
- package/dist/api/route-manager.d.mts +19 -19
- package/dist/api/route-manager.d.ts +19 -19
- package/dist/api/runtime.d.mts +15 -15
- package/dist/api/runtime.d.ts +15 -15
- package/dist/{api-client-CvI5oOBE.d.ts → api-client.d-BWcqZciH.d.ts} +3 -3
- package/dist/{api-client-CFdv-Xgh.d.mts → api-client.d-CeA6tNA6.d.mts} +3 -3
- package/dist/api.cjs +3 -3
- package/dist/api.d.mts +21 -21
- package/dist/api.d.ts +21 -21
- package/dist/api.mjs +2 -2
- package/dist/{app-manifest-LzjoNPeq.d.ts → app-manifest.d-BJDcZn3W.d.mts} +1 -1
- package/dist/{app-manifest-BC6mFn5A.d.mts → app-manifest.d-HWhqbP2X.d.ts} +1 -1
- package/dist/app-markdown.d.mts +14 -14
- package/dist/app-markdown.d.ts +14 -14
- package/dist/{app-CourU3rQ.d.ts → app.d-B5EWdob-.d.ts} +12 -10
- package/dist/{app-aeD4s_mg.d.mts → app.d-DOGW1KI8.d.mts} +12 -10
- package/dist/{chunk-DWW3AMJX.cjs → chunk-2756SHCI.cjs} +282 -248
- package/dist/{chunk-AMRK3P6W.mjs → chunk-5A5GAZ75.mjs} +182 -68
- package/dist/{chunk-PDJSL7PL.cjs → chunk-5IONBVJY.cjs} +3 -3
- package/dist/{chunk-IOUOGRDX.cjs → chunk-5N7QAGEA.cjs} +25 -6
- package/dist/{chunk-DGOLAZLV.cjs → chunk-65Y5SIBH.cjs} +1 -1
- package/dist/{chunk-QI5AQMEE.mjs → chunk-72NBDVWQ.mjs} +1 -1
- package/dist/{chunk-X5BCMLGP.cjs → chunk-AGR7VJH2.cjs} +1 -1
- package/dist/{chunk-OD6WM3I7.mjs → chunk-AV26KHTG.mjs} +1 -1
- package/dist/{chunk-I2ZA5SXS.mjs → chunk-BSEKNTMS.mjs} +53 -19
- package/dist/{chunk-WAPQWAE6.cjs → chunk-CECUDGXQ.cjs} +9 -8
- package/dist/{chunk-IUQLRTTO.mjs → chunk-CO6UYM2D.mjs} +14 -1
- package/dist/{chunk-WVX3BUNJ.mjs → chunk-CZ35L6PL.mjs} +8 -1
- package/dist/{chunk-4GJJ65RB.mjs → chunk-EIMK7D2D.mjs} +24 -5
- package/dist/{chunk-CY7H5KS4.cjs → chunk-EKJYE4Y7.cjs} +2 -2
- package/dist/{chunk-ZF3GX4O7.mjs → chunk-EOSFVNXZ.mjs} +1 -1
- package/dist/{chunk-S5ZA2T2W.mjs → chunk-EWC76P5D.mjs} +21 -7
- package/dist/{chunk-3HA7PP72.mjs → chunk-I3EFXUAR.mjs} +60 -13
- package/dist/{chunk-VO6NLTV4.cjs → chunk-IFBINMI4.cjs} +3 -3
- package/dist/{chunk-VIFPE5RG.cjs → chunk-JVBNKWLV.cjs} +81 -34
- package/dist/{chunk-JF5CNHHF.mjs → chunk-KMB5BMFX.mjs} +118 -8
- package/dist/{chunk-YLNBWUVS.mjs → chunk-KU7MBLDZ.mjs} +1 -1
- package/dist/{chunk-J37KTQIA.cjs → chunk-NK2VWS7P.cjs} +52 -3
- package/dist/{chunk-WSY2JD7O.mjs → chunk-NN3MOPSI.mjs} +1 -1
- package/dist/{chunk-R5P4KFPM.mjs → chunk-QAIAFCRZ.mjs} +8 -6
- package/dist/{chunk-75WWOZ5C.mjs → chunk-QOSDWGKT.mjs} +1 -1
- package/dist/{chunk-J22JD5YJ.cjs → chunk-RMPNYUGT.cjs} +9 -7
- package/dist/{chunk-XWC5NAHV.mjs → chunk-SCRC5AMM.mjs} +2 -2
- package/dist/{chunk-QK3HBOTG.cjs → chunk-TT66CP3P.cjs} +5 -5
- package/dist/{chunk-Y7TLL65B.cjs → chunk-UQHIWZZ6.cjs} +11 -4
- package/dist/{chunk-O3MMJPC2.cjs → chunk-VITZRYW3.cjs} +119 -9
- package/dist/{chunk-PPDHCRTC.mjs → chunk-VS7EHLLW.mjs} +1 -1
- package/dist/{chunk-USL2ANCB.cjs → chunk-X2AMN2WV.cjs} +2 -2
- package/dist/{chunk-F42U3R4F.cjs → chunk-X2M4XN4V.cjs} +55 -41
- package/dist/{chunk-SO3T6T4I.cjs → chunk-XY4DYGSU.cjs} +358 -244
- package/dist/{chunk-HHFMECFO.mjs → chunk-Y2G5SJFB.mjs} +2 -1
- package/dist/{chunk-Z5MZDFX4.cjs → chunk-YIHRZBD7.cjs} +14 -1
- package/dist/{chunk-MMEEXMUQ.cjs → chunk-ZOWNWHK6.cjs} +2 -2
- package/dist/{chunk-C5JXCUKR.mjs → chunk-ZQ5BDNKW.mjs} +51 -2
- package/dist/client/lifecycle.d.mts +1 -1
- package/dist/client/lifecycle.d.ts +1 -1
- package/dist/{client-plugins-CFBEfVPO.d.ts → client-plugins.d-C0n8Yhh-.d.ts} +41 -12
- package/dist/{client-plugins-cqy_dQd0.d.mts → client-plugins.d-C_3CdALC.d.mts} +41 -12
- package/dist/client-plugins.d.mts +13 -13
- package/dist/client-plugins.d.ts +13 -13
- package/dist/client.d.mts +24 -24
- package/dist/client.d.ts +24 -24
- package/dist/config.d.mts +13 -13
- package/dist/config.d.ts +13 -13
- package/dist/desktop.d.mts +14 -14
- package/dist/desktop.d.ts +14 -14
- package/dist/{dev-guard-YLO5DE3H.cjs → dev-guard-2UW2KERP.cjs} +2 -2
- package/dist/{dev-guard-4PFQNXQX.mjs → dev-guard-ONNMVQUN.mjs} +1 -1
- package/dist/{devtools-4MLL3RAL.mjs → devtools-BU5IT2PD.mjs} +3 -3
- package/dist/{devtools-4ZLMD454.cjs → devtools-KJFUE5FO.cjs} +4 -4
- package/dist/docs.cjs +8 -6
- package/dist/docs.d.mts +23 -15
- package/dist/docs.d.ts +23 -15
- package/dist/docs.mjs +7 -5
- package/dist/environment/vite.cjs +2 -2
- package/dist/environment/vite.d.mts +1 -1
- package/dist/environment/vite.d.ts +1 -1
- package/dist/environment/vite.mjs +1 -1
- package/dist/{generate-route-types-TF5Wwtvz.d.mts → generate-route-types.d-BL2pq6xC.d.ts} +1 -1
- package/dist/{generate-route-types-DQP0cUzk.d.ts → generate-route-types.d-BoVDU8qX.d.mts} +1 -1
- package/dist/i18n/client.d.mts +2 -2
- package/dist/i18n/client.d.ts +2 -2
- package/dist/i18n/index.d.mts +3 -3
- package/dist/i18n/index.d.ts +3 -3
- package/dist/i18n/server.d.mts +5 -5
- package/dist/i18n/server.d.ts +5 -5
- package/dist/image/server.d.mts +1 -1
- package/dist/image/server.d.ts +1 -1
- package/dist/image/sharp.d.mts +1 -1
- package/dist/image/sharp.d.ts +1 -1
- package/dist/image.d.mts +1 -1
- package/dist/image.d.ts +1 -1
- package/dist/index.cjs +19 -17
- package/dist/{index-BYkNbeQV.d.mts → index.d-B6M_8kmo.d.ts} +2 -2
- package/dist/{index-D3l4tREW.d.ts → index.d-BNNDpql4.d.ts} +2 -2
- package/dist/{index-DPUAPho_.d.mts → index.d-BqcfqJvt.d.mts} +2 -2
- package/dist/{index-BxjN_UDZ.d.ts → index.d-CsGxS-hZ.d.mts} +2 -2
- package/dist/index.d.mts +42 -42
- package/dist/index.d.ts +42 -42
- package/dist/index.mjs +18 -16
- package/dist/instrumentation.d.mts +2 -2
- package/dist/instrumentation.d.ts +2 -2
- package/dist/integrations.cjs +3 -3
- package/dist/integrations.d.mts +13 -13
- package/dist/integrations.d.ts +13 -13
- package/dist/integrations.mjs +2 -2
- package/dist/internal/app-markdown-runtime.d.mts +14 -14
- package/dist/internal/app-markdown-runtime.d.ts +14 -14
- package/dist/internal/build-runtime.cjs +15 -15
- package/dist/internal/build-runtime.d.mts +16 -16
- package/dist/internal/build-runtime.d.ts +16 -16
- package/dist/internal/build-runtime.mjs +14 -14
- package/dist/internal/cli-runtime.cjs +7 -7
- package/dist/internal/cli-runtime.mjs +6 -6
- package/dist/internal/client-error-overlay.cjs +4 -4
- package/dist/internal/client-error-overlay.mjs +1 -1
- package/dist/internal/client-runtime.d.mts +21 -21
- package/dist/internal/client-runtime.d.ts +21 -21
- package/dist/internal/compression-runtime.d.mts +13 -13
- package/dist/internal/compression-runtime.d.ts +13 -13
- package/dist/internal/config-runtime.cjs +5 -5
- package/dist/internal/config-runtime.d.mts +18 -18
- package/dist/internal/config-runtime.d.ts +18 -18
- package/dist/internal/config-runtime.mjs +4 -4
- package/dist/internal/form-actions.d.mts +1 -1
- package/dist/internal/form-actions.d.ts +1 -1
- package/dist/internal/infra-analytics-runtime.cjs +5 -5
- package/dist/internal/infra-analytics-runtime.mjs +3 -3
- package/dist/internal/island-value-store.d.mts +1 -1
- package/dist/internal/island-value-store.d.ts +1 -1
- package/dist/internal/islands-runtime.d.mts +1 -1
- package/dist/internal/islands-runtime.d.ts +1 -1
- package/dist/internal/isolated-boundary.d.mts +2 -2
- package/dist/internal/isolated-boundary.d.ts +2 -2
- package/dist/internal/product-telemetry-runtime.cjs +2 -2
- package/dist/internal/product-telemetry-runtime.mjs +1 -1
- package/dist/internal/production-runtime.cjs +7 -3
- package/dist/internal/production-runtime.d.mts +33 -30
- package/dist/internal/production-runtime.d.ts +33 -30
- package/dist/internal/production-runtime.mjs +6 -2
- package/dist/internal/server-tree.d.mts +1 -1
- package/dist/internal/server-tree.d.ts +1 -1
- package/dist/markdown.d.mts +13 -13
- package/dist/markdown.d.ts +13 -13
- package/dist/middleware.cjs +4 -4
- package/dist/middleware.d.mts +15 -15
- package/dist/middleware.d.ts +15 -15
- package/dist/middleware.mjs +3 -3
- package/dist/mobile.d.mts +7 -7
- package/dist/mobile.d.ts +7 -7
- package/dist/{navigation-delegate-DLhbfEN4.d.mts → navigation-delegate.d-C0BbdUgN.d.mts} +1 -1
- package/dist/{navigation-delegate-BU4xqdnw.d.ts → navigation-delegate.d-jArRF0ZP.d.ts} +1 -1
- package/dist/navigation.d.mts +17 -17
- package/dist/navigation.d.ts +17 -17
- package/dist/observability.d.mts +1 -1
- package/dist/observability.d.ts +1 -1
- package/dist/plugin.cjs +11 -11
- package/dist/plugin.d.mts +17 -17
- package/dist/plugin.d.ts +17 -17
- package/dist/plugin.mjs +10 -10
- package/dist/{production-runtime-DLA4J5WG.d.mts → production-runtime.d-DFaQ1qaV.d.mts} +3 -3
- package/dist/{production-runtime-C78A8YgK.d.ts → production-runtime.d-UnXmSS_S.d.ts} +3 -3
- package/dist/{programmatic-routes-client-NpqGBn-i.d.mts → programmatic-routes-client.d-BIowUXQC.d.mts} +10 -2
- package/dist/{programmatic-routes-client-CBqkNhBy.d.ts → programmatic-routes-client.d-VZ0qcbH4.d.ts} +10 -2
- package/dist/query/client.d.mts +1 -1
- package/dist/query/client.d.ts +1 -1
- package/dist/query/index.d.mts +1 -1
- package/dist/query/index.d.ts +1 -1
- package/dist/query/server.d.mts +1 -1
- package/dist/query/server.d.ts +1 -1
- package/dist/{render-plan-C9sWvDTv.d.mts → render-plan.d-BB6KrYjP.d.ts} +2 -2
- package/dist/{render-plan-CrqcBbnV.d.ts → render-plan.d-BNeqyPyJ.d.mts} +2 -2
- package/dist/renderer-client.d.mts +19 -19
- package/dist/renderer-client.d.ts +19 -19
- package/dist/{request-WwB1-Uim.d.mts → request.d-BV1munmx.d.mts} +1 -1
- package/dist/{request-BizeuqD7.d.ts → request.d-Bxhghm76.d.ts} +1 -1
- package/dist/request.d.mts +14 -14
- package/dist/request.d.ts +14 -14
- package/dist/{resolver-CJ-D9nP-.d.ts → resolver.d-BHyZgpa7.d.ts} +1 -1
- package/dist/{resolver-TDyZKgKI.d.mts → resolver.d-JnZKKsc5.d.mts} +1 -1
- package/dist/response.d-BolW0Vx_.d.mts +10 -0
- package/dist/response.d-BolW0Vx_.d.ts +10 -0
- package/dist/{route-rendering-BGhJN64l.d.ts → route-rendering.d-BIf7zE9d.d.ts} +1 -1
- package/dist/{route-rendering-S6NFjnx4.d.mts → route-rendering.d-DShqKlgK.d.mts} +1 -1
- package/dist/{route-2_yXC6gv.d.mts → route.d-BaVH3V0w.d.mts} +1 -1
- package/dist/{route-DFhZj6jN.d.ts → route.d-DBTEqifW.d.ts} +1 -1
- package/dist/{router-BIheIy9G.d.mts → router.d-BE7i84fb.d.mts} +1 -1
- package/dist/{router-BUD_j2EL.d.ts → router.d-Bw3K3b0a.d.ts} +1 -1
- package/dist/{routes-8PT9cl60.d.ts → routes.d-DVZQL0-H.d.ts} +3 -3
- package/dist/{routes-kEUsXHx3.d.mts → routes.d-_5tBQexL.d.mts} +3 -3
- package/dist/routes.d.mts +13 -13
- package/dist/routes.d.ts +13 -13
- package/dist/{rsc-pipeline-OLAVIKI3.mjs → rsc-pipeline-FBM6NFYY.mjs} +5 -5
- package/dist/{rsc-pipeline-JRGUZBYM.cjs → rsc-pipeline-IQI5XQLS.cjs} +6 -6
- package/dist/{runtime-OGCHDACZ.mjs → runtime-2JYIDUON.mjs} +4 -4
- package/dist/{runtime-G23RSLEK.cjs → runtime-DXEVFYLE.cjs} +6 -6
- package/dist/{runtime-CihDZ2Rn.d.mts → runtime.d-3iJAKptR.d.mts} +2 -2
- package/dist/{runtime-C4CmlOOh.d.ts → runtime.d-BtL3PCL3.d.ts} +2 -2
- package/dist/{runtime-CWP-21hP.d.ts → runtime.d-CQgoYR0Q.d.mts} +4 -4
- package/dist/{runtime-CgJwe6H_.d.mts → runtime.d-CfhaLPl-.d.ts} +4 -4
- package/dist/server-action-security.d.mts +1 -1
- package/dist/server-action-security.d.ts +1 -1
- package/dist/server-fn-client.d.mts +5 -5
- package/dist/server-fn-client.d.ts +5 -5
- package/dist/server-fn.d.mts +3 -3
- package/dist/server-fn.d.ts +3 -3
- package/dist/server-plugins.d.mts +14 -14
- package/dist/server-plugins.d.ts +14 -14
- package/dist/server-query-client.d.mts +5 -5
- package/dist/server-query-client.d.ts +5 -5
- package/dist/server-query.d.mts +2 -2
- package/dist/server-query.d.ts +2 -2
- package/dist/server.cjs +31 -31
- package/dist/server.d.mts +28 -29
- package/dist/server.d.ts +28 -29
- package/dist/server.mjs +13 -13
- package/dist/{spa-router-CVOL0Vrq.d.mts → spa-router.d-C5opIgXg.d.ts} +5 -5
- package/dist/{spa-router-Kytv4jSB.d.ts → spa-router.d-D63jb6nX.d.mts} +5 -5
- package/dist/storage.d.mts +2 -2
- package/dist/storage.d.ts +2 -2
- package/dist/testing.d.mts +14 -14
- package/dist/testing.d.ts +14 -14
- package/dist/theme/client.d.mts +1 -1
- package/dist/theme/client.d.ts +1 -1
- package/dist/theme/index.d.mts +2 -2
- package/dist/theme/index.d.ts +2 -2
- package/dist/theme/runtime.d.mts +1 -1
- package/dist/theme/runtime.d.ts +1 -1
- package/dist/theme/server.d.mts +1 -1
- package/dist/theme/server.d.ts +1 -1
- package/dist/{utils-Dsa1HZ7X.d.mts → utils.d-CO-U4OVZ.d.mts} +1 -1
- package/dist/{utils-DbyXlzaj.d.ts → utils.d-CkpTqTsC.d.ts} +1 -1
- package/dist/version.cjs +2 -2
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +11 -11
- package/dist/vite.d.mts +20 -19
- package/dist/vite.d.ts +20 -19
- package/dist/vite.mjs +10 -10
- package/dist/workflows.d.mts +1 -1
- package/dist/workflows.d.ts +1 -1
- package/package.json +3 -3
- /package/dist/{base-path-BOUV5ozD.d.mts → base-path.d-BOUV5ozD.d.mts} +0 -0
- /package/dist/{base-path-BOUV5ozD.d.ts → base-path.d-BOUV5ozD.d.ts} +0 -0
- /package/dist/{chunk-recovery-lnQFzcQP.d.mts → chunk-recovery.d-lnQFzcQP.d.mts} +0 -0
- /package/dist/{chunk-recovery-lnQFzcQP.d.ts → chunk-recovery.d-lnQFzcQP.d.ts} +0 -0
- /package/dist/{client-cache-Deoqq-nM.d.ts → client-cache.d-Deoqq-nM.d.ts} +0 -0
- /package/dist/{client-cache-di_Nasxa.d.mts → client-cache.d-di_Nasxa.d.mts} +0 -0
- /package/dist/{config-CnhyvvmT.d.mts → config.d-CnhyvvmT.d.mts} +0 -0
- /package/dist/{config-CnhyvvmT.d.ts → config.d-CnhyvvmT.d.ts} +0 -0
- /package/dist/{endpoint-BgHn0lhl.d.ts → endpoint.d-BgHn0lhl.d.ts} +0 -0
- /package/dist/{endpoint-BkMSCRf6.d.mts → endpoint.d-BkMSCRf6.d.mts} +0 -0
- /package/dist/{image-config-CeDgNyX4.d.mts → image-config.d-CeDgNyX4.d.mts} +0 -0
- /package/dist/{image-config-CeDgNyX4.d.ts → image-config.d-CeDgNyX4.d.ts} +0 -0
- /package/dist/{instrumentation-runtime-CX9Zh-16.d.mts → instrumentation-runtime.d-CX9Zh-16.d.mts} +0 -0
- /package/dist/{instrumentation-runtime-CX9Zh-16.d.ts → instrumentation-runtime.d-CX9Zh-16.d.ts} +0 -0
- /package/dist/{island-value-protocol-BRayRghM.d.mts → island-value-protocol.d-BRayRghM.d.mts} +0 -0
- /package/dist/{island-value-protocol-BRayRghM.d.ts → island-value-protocol.d-BRayRghM.d.ts} +0 -0
- /package/dist/{island-CfGru1MO.d.mts → island.d-CfGru1MO.d.mts} +0 -0
- /package/dist/{island-CfGru1MO.d.ts → island.d-CfGru1MO.d.ts} +0 -0
- /package/dist/{layers-CcS42OGR.d.mts → layers.d-CcS42OGR.d.mts} +0 -0
- /package/dist/{layers-CcS42OGR.d.ts → layers.d-CcS42OGR.d.ts} +0 -0
- /package/dist/{lifecycle-C2aLBOwu.d.mts → lifecycle.d-C2aLBOwu.d.mts} +0 -0
- /package/dist/{lifecycle-C2aLBOwu.d.ts → lifecycle.d-C2aLBOwu.d.ts} +0 -0
- /package/dist/{observability-B2363jB6.d.mts → observability.d-B2363jB6.d.mts} +0 -0
- /package/dist/{observability-B2363jB6.d.ts → observability.d-B2363jB6.d.ts} +0 -0
- /package/dist/{params-BALtrRim.d.ts → params.d-BALtrRim.d.ts} +0 -0
- /package/dist/{params-ry-lxqmy.d.mts → params.d-ry-lxqmy.d.mts} +0 -0
- /package/dist/{production-vite-BQFAlG7n.d.mts → production-vite.d-BQFAlG7n.d.mts} +0 -0
- /package/dist/{production-vite-BQFAlG7n.d.ts → production-vite.d-BQFAlG7n.d.ts} +0 -0
- /package/dist/{route-pattern-CVsVbq5n.d.mts → route-pattern.d-CVsVbq5n.d.mts} +0 -0
- /package/dist/{route-pattern-CVsVbq5n.d.ts → route-pattern.d-CVsVbq5n.d.ts} +0 -0
- /package/dist/{server-client-bridge-DKWDl5NB.d.mts → server-client-bridge.d-DKWDl5NB.d.mts} +0 -0
- /package/dist/{server-client-bridge-DKWDl5NB.d.ts → server-client-bridge.d-DKWDl5NB.d.ts} +0 -0
- /package/dist/{server-fn-error-DrcH9cc1.d.mts → server-fn-error.d-DrcH9cc1.d.mts} +0 -0
- /package/dist/{server-fn-error-DrcH9cc1.d.ts → server-fn-error.d-DrcH9cc1.d.ts} +0 -0
- /package/dist/{server-query-runtime-DXRNhX_3.d.ts → server-query-runtime.d-DXRNhX_3.d.ts} +0 -0
- /package/dist/{server-query-runtime-aP52iuL5.d.mts → server-query-runtime.d-aP52iuL5.d.mts} +0 -0
- /package/dist/{types-BnIqOn9w.d.mts → types.d-BnIqOn9w.d.mts} +0 -0
- /package/dist/{types-BnIqOn9w.d.ts → types.d-BnIqOn9w.d.ts} +0 -0
- /package/dist/{types-C41ePjvP.d.mts → types.d-C41ePjvP.d.mts} +0 -0
- /package/dist/{types-C41ePjvP.d.ts → types.d-C41ePjvP.d.ts} +0 -0
- /package/dist/{types-DQnyD3VD.d.mts → types.d-DQnyD3VD.d.mts} +0 -0
- /package/dist/{types-DQnyD3VD.d.ts → types.d-DQnyD3VD.d.ts} +0 -0
- /package/dist/{workflows-CRMzQZ3k.d.mts → workflows.d-CRMzQZ3k.d.mts} +0 -0
- /package/dist/{workflows-CRMzQZ3k.d.ts → workflows.d-CRMzQZ3k.d.ts} +0 -0
|
@@ -4,14 +4,15 @@
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
|
|
8
|
+
var _chunk5N7QAGEAcjs = require('./chunk-5N7QAGEA.cjs');
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
var _chunkV3UOEWCBcjs = require('./chunk-V3UOEWCB.cjs');
|
|
12
13
|
|
|
13
14
|
|
|
14
|
-
var
|
|
15
|
+
var _chunkVITZRYW3cjs = require('./chunk-VITZRYW3.cjs');
|
|
15
16
|
|
|
16
17
|
|
|
17
18
|
|
|
@@ -26,7 +27,7 @@ function hasFarmDocsRuntimeAdapter(docs) {
|
|
|
26
27
|
}
|
|
27
28
|
function assertFarmDocsAdapterServesNoGuardedPages(docs, options, isPathGuarded) {
|
|
28
29
|
if (!isPathGuarded || !hasFarmDocsRuntimeAdapter(docs)) return;
|
|
29
|
-
const guarded =
|
|
30
|
+
const guarded = _chunk5N7QAGEAcjs.getFarmDocsRoots.call(void 0, docs).flatMap((root) => _chunk5N7QAGEAcjs.discoverFarmDocsPages.call(void 0, _chunk5N7QAGEAcjs.resolveFarmDocsContentDir.call(void 0, root, options), root)).filter((page) => isPathGuarded(page.href) || isPathGuarded(_chunk5N7QAGEAcjs.getFarmDocsMarkdownPath.call(void 0, page.href))).map((page) => page.href);
|
|
30
31
|
if (guarded.length === 0) return;
|
|
31
32
|
throw new Error(
|
|
32
33
|
`Docs pages behind a path guard (${guarded.join(", ")}) would be public: the docs adapter ${JSON.stringify(docs.adapter.id)} serves their content in llms-full.txt, search, Markdown, and MCP without running the app's guards. Move those pages out of the docs content directory, or set docs.adapter = false to use Farm's built-in docs runtime, which keeps guarded pages off anonymous surfaces.`
|
|
@@ -39,12 +40,20 @@ async function loadFarmDocsConfigModule(docs, loadModule) {
|
|
|
39
40
|
const config = _nullishCoalesce(_optionalChain([loaded, 'optionalAccess', _4 => _4.default]), () => ( loaded));
|
|
40
41
|
return config && typeof config === "object" ? config : void 0;
|
|
41
42
|
}
|
|
43
|
+
function getFarmDocsConfigModuleRoot(moduleConfig, entry) {
|
|
44
|
+
const { roots, ...shared } = moduleConfig;
|
|
45
|
+
const route = entry.replace(/^\/+|\/+$/g, "");
|
|
46
|
+
const own = Array.isArray(roots) ? roots.find(
|
|
47
|
+
(root) => Boolean(root) && typeof root === "object" && typeof root.entry === "string" && root.entry.replace(/^\/+|\/+$/g, "") === route
|
|
48
|
+
) : void 0;
|
|
49
|
+
return own ? { ...shared, ...own } : shared;
|
|
50
|
+
}
|
|
42
51
|
function createFarmDocsAdapterRuntimeConfig(docs, options, moduleConfig) {
|
|
43
52
|
return {
|
|
44
|
-
...moduleConfig ? { ...moduleConfig, ...docs.configOverrides } : _nullishCoalesce(docs.runtimeConfig, () => ( docs.config)),
|
|
53
|
+
...moduleConfig ? { ...getFarmDocsConfigModuleRoot(moduleConfig, docs.entry), ...docs.configOverrides } : _nullishCoalesce(docs.runtimeConfig, () => ( docs.config)),
|
|
45
54
|
entry: docs.config.entry || docs.entry.replace(/^\/+|\/+$/g, "") || "docs",
|
|
46
55
|
docsPath: docs.entry,
|
|
47
|
-
contentDir:
|
|
56
|
+
contentDir: _chunk5N7QAGEAcjs.resolveFarmDocsContentDir.call(void 0, docs, options)
|
|
48
57
|
};
|
|
49
58
|
}
|
|
50
59
|
function getFarmDocsAdapterStylesheets(options) {
|
|
@@ -56,6 +65,11 @@ async function compileFarmDocsAdapterEdgeManifest(docs, options) {
|
|
|
56
65
|
if (!hasFarmDocsRuntimeAdapter(docs)) {
|
|
57
66
|
throw new Error("Farm docs adapter requires server and react runtime entrypoints.");
|
|
58
67
|
}
|
|
68
|
+
if (_optionalChain([docs, 'access', _5 => _5.roots, 'optionalAccess', _6 => _6.length])) {
|
|
69
|
+
throw new Error(
|
|
70
|
+
"Several docs roots are not supported on edge deployments yet; they need a Node.js deployment target."
|
|
71
|
+
);
|
|
72
|
+
}
|
|
59
73
|
const compilerEntry = docs.adapter.edgeCompiler;
|
|
60
74
|
if (!compilerEntry) {
|
|
61
75
|
throw new Error(
|
|
@@ -96,6 +110,27 @@ async function compileFarmDocsAdapterEdgeManifest(docs, options) {
|
|
|
96
110
|
}
|
|
97
111
|
return manifest;
|
|
98
112
|
}
|
|
113
|
+
async function listFarmDocsAdapterPages(docs, options) {
|
|
114
|
+
if (!hasFarmDocsRuntimeAdapter(docs)) return null;
|
|
115
|
+
const requireFromApp = _module.createRequire.call(void 0, _path2.default.join(options.root, "package.json"));
|
|
116
|
+
const serverModule = await import(
|
|
117
|
+
/* @vite-ignore */
|
|
118
|
+
_url.pathToFileURL.call(void 0, requireFromApp.resolve(docs.adapter.server)).href
|
|
119
|
+
);
|
|
120
|
+
if (typeof serverModule.listFarmDocsPages !== "function") return null;
|
|
121
|
+
const listPages = serverModule.listFarmDocsPages;
|
|
122
|
+
const pages = (await Promise.all(
|
|
123
|
+
_chunk5N7QAGEAcjs.getFarmDocsRoots.call(void 0, docs).map(
|
|
124
|
+
(root) => listPages(createFarmDocsAdapterRuntimeConfig(root, options), { rootDir: options.root })
|
|
125
|
+
)
|
|
126
|
+
)).flat();
|
|
127
|
+
if (!Array.isArray(pages) || pages.some((page) => typeof page !== "string" || !page.startsWith("/"))) {
|
|
128
|
+
throw new Error(
|
|
129
|
+
`Farm docs adapter ${JSON.stringify(docs.adapter.id)} listed docs pages that are not absolute paths.`
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
return [...new Set(pages)];
|
|
133
|
+
}
|
|
99
134
|
async function createFarmDocsAdapterHandler(docs, options) {
|
|
100
135
|
if (!hasFarmDocsRuntimeAdapter(docs)) {
|
|
101
136
|
throw new Error("Farm docs adapter requires server and react runtime entrypoints.");
|
|
@@ -104,26 +139,36 @@ async function createFarmDocsAdapterHandler(docs, options) {
|
|
|
104
139
|
const serverModule = await options.loadModule(
|
|
105
140
|
docs.adapter.server
|
|
106
141
|
);
|
|
107
|
-
|
|
142
|
+
const multiRoot = Boolean(_optionalChain([docs, 'access', _7 => _7.roots, 'optionalAccess', _8 => _8.length]));
|
|
143
|
+
const handlerExport = multiRoot ? "createFarmDocsMultiRuntimeHandler" : "createFarmDocsRuntimeHandler";
|
|
144
|
+
if (typeof serverModule[handlerExport] !== "function") {
|
|
108
145
|
const adapterId = JSON.stringify(docs.adapter.id);
|
|
109
146
|
const serverEntry = JSON.stringify(docs.adapter.server);
|
|
110
147
|
throw new Error(
|
|
111
|
-
`Farm docs adapter ${adapterId} does not export
|
|
148
|
+
`Farm docs adapter ${adapterId} does not export ${handlerExport} from ${serverEntry}. ` + (multiRoot ? "Upgrade the adapter to a release that serves several docs roots, or remove the roots." : "Upgrade the adapter to a runtime-enabled release.")
|
|
112
149
|
);
|
|
113
150
|
}
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
options,
|
|
117
|
-
await loadFarmDocsConfigModule(docs, options.loadModule)
|
|
118
|
-
);
|
|
119
|
-
return serverModule.createFarmDocsRuntimeHandler(runtimeConfig, {
|
|
151
|
+
const moduleConfig = await loadFarmDocsConfigModule(docs, options.loadModule);
|
|
152
|
+
const handlerOptions = {
|
|
120
153
|
rootDir: options.root,
|
|
121
154
|
clientEntry: options.clientEntry,
|
|
122
155
|
stylesheets: getFarmDocsAdapterStylesheets(options),
|
|
123
156
|
resolveLayoutFonts: options.resolveLayoutFonts,
|
|
124
157
|
loadReactModule: () => options.loadModule(docs.adapter.react),
|
|
125
158
|
...options.registerMCPServer ? { registerMCPServer: options.registerMCPServer } : {}
|
|
126
|
-
}
|
|
159
|
+
};
|
|
160
|
+
if (multiRoot) {
|
|
161
|
+
return serverModule.createFarmDocsMultiRuntimeHandler(
|
|
162
|
+
_chunk5N7QAGEAcjs.getFarmDocsRoots.call(void 0, docs).map(
|
|
163
|
+
(root) => createFarmDocsAdapterRuntimeConfig(root, options, moduleConfig)
|
|
164
|
+
),
|
|
165
|
+
handlerOptions
|
|
166
|
+
);
|
|
167
|
+
}
|
|
168
|
+
return serverModule.createFarmDocsRuntimeHandler(
|
|
169
|
+
createFarmDocsAdapterRuntimeConfig(docs, options, moduleConfig),
|
|
170
|
+
handlerOptions
|
|
171
|
+
);
|
|
127
172
|
}
|
|
128
173
|
|
|
129
174
|
// src/docs/api.ts
|
|
@@ -158,7 +203,7 @@ function omitHeadBody(response) {
|
|
|
158
203
|
});
|
|
159
204
|
}
|
|
160
205
|
function normalizeAction(value) {
|
|
161
|
-
return _optionalChain([value, 'optionalAccess',
|
|
206
|
+
return _optionalChain([value, 'optionalAccess', _9 => _9.trim, 'call', _10 => _10(), 'access', _11 => _11.toLowerCase, 'call', _12 => _12(), 'access', _13 => _13.replace, 'call', _14 => _14(/_/g, "-")]) || void 0;
|
|
162
207
|
}
|
|
163
208
|
function getDocsTitle(docs) {
|
|
164
209
|
return typeof docs.config.nav === "object" && docs.config.nav && "title" in docs.config.nav ? String(docs.config.nav.title || "Documentation") : "Documentation";
|
|
@@ -257,25 +302,25 @@ function getDocsAPIFormat(request) {
|
|
|
257
302
|
return normalizeAction(url.searchParams.get("format") || url.searchParams.get("type")) || getDocsAPIPathTarget(request).format;
|
|
258
303
|
}
|
|
259
304
|
function getDocsDescription(docs) {
|
|
260
|
-
return _optionalChain([docs, 'access',
|
|
305
|
+
return _optionalChain([docs, 'access', _15 => _15.config, 'access', _16 => _16.metadata, 'optionalAccess', _17 => _17.description]);
|
|
261
306
|
}
|
|
262
307
|
function getLoadedDocsPages(context) {
|
|
263
|
-
return
|
|
308
|
+
return _chunk5N7QAGEAcjs.discoverFarmDocsPages.call(void 0, context.contentDir, context.docs).filter((page) => !context.isPathGuarded(page.href)).map((page) => _chunk5N7QAGEAcjs.loadFarmDocsPage.call(void 0, context.contentDir, context.docs, page.slug)).filter((page) => Boolean(page));
|
|
264
309
|
}
|
|
265
310
|
function toDocsSourcePage(page) {
|
|
266
311
|
return {
|
|
267
|
-
...
|
|
312
|
+
..._chunk5N7QAGEAcjs.toFarmDocsMarkdownPage.call(void 0, page),
|
|
268
313
|
sourcePath: page.sourcePath
|
|
269
314
|
};
|
|
270
315
|
}
|
|
271
316
|
function toDocsSitemapPage(page) {
|
|
272
317
|
return {
|
|
273
|
-
...
|
|
318
|
+
..._chunk5N7QAGEAcjs.toFarmDocsMarkdownPage.call(void 0, page),
|
|
274
319
|
sourcePath: page.sourcePath
|
|
275
320
|
};
|
|
276
321
|
}
|
|
277
322
|
function toDocsLlmsPage(page) {
|
|
278
|
-
return
|
|
323
|
+
return _chunk5N7QAGEAcjs.toFarmDocsMarkdownPage.call(void 0, page);
|
|
279
324
|
}
|
|
280
325
|
function getDocsLlmsOptions(context, request) {
|
|
281
326
|
const configured = isRecord(context.docs.config.llmsTxt) ? context.docs.config.llmsTxt : {};
|
|
@@ -362,7 +407,7 @@ function renderAgentsDocument(context, request) {
|
|
|
362
407
|
function buildAgentSpec(context, request) {
|
|
363
408
|
const url = new URL(request.url);
|
|
364
409
|
const origin = url.origin;
|
|
365
|
-
const pages =
|
|
410
|
+
const pages = _chunk5N7QAGEAcjs.discoverFarmDocsPages.call(void 0, context.contentDir, context.docs).filter(
|
|
366
411
|
(page) => !context.isPathGuarded(page.href)
|
|
367
412
|
);
|
|
368
413
|
const spec = _chunkV3UOEWCBcjs.docsEngine.call(void 0, ).buildDocsAgentDiscoverySpec(getDocsDiscoveryOptions(context, request));
|
|
@@ -450,7 +495,7 @@ function buildPublicConfig(context) {
|
|
|
450
495
|
};
|
|
451
496
|
}
|
|
452
497
|
function buildDiagnostics(context) {
|
|
453
|
-
const pages =
|
|
498
|
+
const pages = _chunk5N7QAGEAcjs.discoverFarmDocsPages.call(void 0, context.contentDir, context.docs);
|
|
454
499
|
const diagnostics = _chunkV3UOEWCBcjs.docsEngine.call(void 0, ).buildDocsDiagnostics(context.docs.config, {
|
|
455
500
|
entry: context.docs.entry,
|
|
456
501
|
mcp: {
|
|
@@ -500,19 +545,19 @@ async function searchDocs(context, request, query) {
|
|
|
500
545
|
const page = sourcePageByUrl.get(pageUrl);
|
|
501
546
|
return {
|
|
502
547
|
...result,
|
|
503
|
-
title: _optionalChain([page, 'optionalAccess',
|
|
504
|
-
href: _optionalChain([page, 'optionalAccess',
|
|
505
|
-
description: result.description || _optionalChain([page, 'optionalAccess',
|
|
548
|
+
title: _optionalChain([page, 'optionalAccess', _18 => _18.title]) || result.content,
|
|
549
|
+
href: _optionalChain([page, 'optionalAccess', _19 => _19.url]) || pageUrl,
|
|
550
|
+
description: result.description || _optionalChain([page, 'optionalAccess', _20 => _20.description])
|
|
506
551
|
};
|
|
507
552
|
});
|
|
508
553
|
}
|
|
509
554
|
async function resolveAPIContext(options) {
|
|
510
555
|
await _chunkV3UOEWCBcjs.loadFarmDocsEngine.call(void 0, );
|
|
511
556
|
const runtimeConfig = globalThis.__FARM_DOCS_RUNTIME_CONFIG__;
|
|
512
|
-
const root = options.rootDir || options.root || _optionalChain([runtimeConfig, 'optionalAccess',
|
|
513
|
-
const srcDir = options.srcDir || _optionalChain([runtimeConfig, 'optionalAccess',
|
|
557
|
+
const root = options.rootDir || options.root || _optionalChain([runtimeConfig, 'optionalAccess', _21 => _21.root]) || process.cwd();
|
|
558
|
+
const srcDir = options.srcDir || _optionalChain([runtimeConfig, 'optionalAccess', _22 => _22.srcDir]) || "src";
|
|
514
559
|
const canUseRuntimeDocs = options.docs === void 0 && options.config === void 0 && options.configPath === void 0 && options.entry === void 0 && options.docsPath === void 0 && options.contentDir === void 0 && options.root === void 0 && options.rootDir === void 0 && options.srcDir === void 0;
|
|
515
|
-
const docsInput = _nullishCoalesce(_nullishCoalesce(options.docs, () => ( (canUseRuntimeDocs ? _optionalChain([runtimeConfig, 'optionalAccess',
|
|
560
|
+
const docsInput = _nullishCoalesce(_nullishCoalesce(options.docs, () => ( (canUseRuntimeDocs ? _optionalChain([runtimeConfig, 'optionalAccess', _23 => _23.docs]) : void 0))), () => ( {
|
|
516
561
|
enabled: true,
|
|
517
562
|
entry: options.entry,
|
|
518
563
|
docsPath: options.docsPath,
|
|
@@ -520,13 +565,13 @@ async function resolveAPIContext(options) {
|
|
|
520
565
|
config: options.config,
|
|
521
566
|
configPath: options.configPath
|
|
522
567
|
}));
|
|
523
|
-
const docs = isResolvedDocsConfig(docsInput) ? docsInput : await
|
|
524
|
-
const guardedPaths = new Set(_nullishCoalesce(_optionalChain([runtimeConfig, 'optionalAccess',
|
|
568
|
+
const docs = isResolvedDocsConfig(docsInput) ? docsInput : await _chunkVITZRYW3cjs.resolveDocsConfig.call(void 0, docsInput, { root, srcDir });
|
|
569
|
+
const guardedPaths = new Set(_nullishCoalesce(_optionalChain([runtimeConfig, 'optionalAccess', _24 => _24.guardedPaths]), () => ( [])));
|
|
525
570
|
return {
|
|
526
571
|
root,
|
|
527
572
|
srcDir,
|
|
528
573
|
docs,
|
|
529
|
-
contentDir:
|
|
574
|
+
contentDir: _chunk5N7QAGEAcjs.resolveFarmDocsContentDir.call(void 0, docs, { root, srcDir }),
|
|
530
575
|
diagnostics: options.diagnostics === true,
|
|
531
576
|
isPathGuarded: _nullishCoalesce(options.isPathGuarded, () => ( ((pathname) => guardedPaths.has(pathname))))
|
|
532
577
|
};
|
|
@@ -585,12 +630,12 @@ async function handleDocsAPIGet(request, context) {
|
|
|
585
630
|
if (format === "markdown" || url.pathname.endsWith(".md")) {
|
|
586
631
|
const pathParam = url.searchParams.get("path") || url.searchParams.get("slug");
|
|
587
632
|
const slug = normalizeDocsApiSlug(_nullishCoalesce(_nullishCoalesce(pathParam, () => ( pathTarget.slug)), () => ( "")), context.docs);
|
|
588
|
-
const page =
|
|
633
|
+
const page = _chunk5N7QAGEAcjs.loadFarmDocsPage.call(void 0, context.contentDir, context.docs, slug);
|
|
589
634
|
if (!page || context.isPathGuarded(page.href)) {
|
|
590
635
|
return text("Docs page not found\n", "text/plain; charset=utf-8", { status: 404 });
|
|
591
636
|
}
|
|
592
637
|
return text(
|
|
593
|
-
_chunkV3UOEWCBcjs.docsEngine.call(void 0, ).renderDocsMarkdownDocument(
|
|
638
|
+
_chunkV3UOEWCBcjs.docsEngine.call(void 0, ).renderDocsMarkdownDocument(_chunk5N7QAGEAcjs.toFarmDocsMarkdownPage.call(void 0, page), {
|
|
594
639
|
origin: new URL(request.url).origin,
|
|
595
640
|
llms: getDocsLlmsOptions(context, request),
|
|
596
641
|
sitemap: context.docs.config.sitemap
|
|
@@ -663,4 +708,6 @@ function createFarmDocsAPIHandler(options = {}, cloudIntegration) {
|
|
|
663
708
|
|
|
664
709
|
|
|
665
710
|
|
|
666
|
-
|
|
711
|
+
|
|
712
|
+
|
|
713
|
+
exports.hasFarmDocsRuntimeAdapter = hasFarmDocsRuntimeAdapter; exports.assertFarmDocsAdapterServesNoGuardedPages = assertFarmDocsAdapterServesNoGuardedPages; exports.getFarmDocsConfigModuleRoot = getFarmDocsConfigModuleRoot; exports.compileFarmDocsAdapterEdgeManifest = compileFarmDocsAdapterEdgeManifest; exports.listFarmDocsAdapterPages = listFarmDocsAdapterPages; exports.createFarmDocsAdapterHandler = createFarmDocsAdapterHandler; exports.isFarmDocsAPIRequest = isFarmDocsAPIRequest; exports.createDocsAPI = createDocsAPI; exports.createFarmDocsAPIHandler = createFarmDocsAPIHandler;
|
|
@@ -71,7 +71,7 @@ import {
|
|
|
71
71
|
} from "./chunk-N77JBPLC.mjs";
|
|
72
72
|
import {
|
|
73
73
|
resolveIntegrationPlugins
|
|
74
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-Y2G5SJFB.mjs";
|
|
75
75
|
import {
|
|
76
76
|
compileMiddlewareConfig
|
|
77
77
|
} from "./chunk-EDPENAVO.mjs";
|
|
@@ -565,29 +565,35 @@ async function resolveDocsConfig(userDocs, options = {}) {
|
|
|
565
565
|
config: { entry: "docs", docsPath: "/docs" }
|
|
566
566
|
};
|
|
567
567
|
}
|
|
568
|
-
const
|
|
568
|
+
const fileDocsConfig = omitDocsRoots(loadedConfig?.config);
|
|
569
|
+
const inlineRawDocsConfig = omitDocsRoots(docsOptions.config);
|
|
570
|
+
const inlineDocsConfig = sanitizeDocsConfig(inlineRawDocsConfig);
|
|
569
571
|
const directDocsConfig = sanitizeDocsConfig({
|
|
570
572
|
...docsOptions,
|
|
571
573
|
adapter: void 0,
|
|
572
574
|
enabled: void 0,
|
|
575
|
+
prerender: void 0,
|
|
573
576
|
config: void 0,
|
|
574
|
-
configPath: void 0
|
|
577
|
+
configPath: void 0,
|
|
578
|
+
roots: void 0
|
|
575
579
|
});
|
|
576
|
-
const loadedDocsConfig = sanitizeDocsConfig(
|
|
580
|
+
const loadedDocsConfig = sanitizeDocsConfig(fileDocsConfig);
|
|
577
581
|
const mergedDocsConfig = {
|
|
578
582
|
...loadedDocsConfig,
|
|
579
583
|
...inlineDocsConfig,
|
|
580
584
|
...directDocsConfig
|
|
581
585
|
};
|
|
582
586
|
const runtimeDocsConfig = {
|
|
583
|
-
...
|
|
584
|
-
...
|
|
587
|
+
...fileDocsConfig,
|
|
588
|
+
...inlineRawDocsConfig,
|
|
585
589
|
...omitUndefined({
|
|
586
590
|
...docsOptions,
|
|
587
591
|
adapter: void 0,
|
|
588
592
|
enabled: void 0,
|
|
593
|
+
prerender: void 0,
|
|
589
594
|
config: void 0,
|
|
590
|
-
configPath: void 0
|
|
595
|
+
configPath: void 0,
|
|
596
|
+
roots: void 0
|
|
591
597
|
})
|
|
592
598
|
};
|
|
593
599
|
const explicitRoute = typeof docsOptions.entry === "string" ? docsOptions.entry : void 0;
|
|
@@ -601,10 +607,33 @@ async function resolveDocsConfig(userDocs, options = {}) {
|
|
|
601
607
|
docsOptions.contentDir || mergedDocsConfig.contentDir
|
|
602
608
|
);
|
|
603
609
|
const contentDir = configuredContentDir || await inferDocsContentDir(root, options.srcDir || "src", docsEntry);
|
|
610
|
+
const configOverrides = { ...inlineDocsConfig, ...directDocsConfig };
|
|
611
|
+
const configFileName = loadedConfig ? path3.relative(root, loadedConfig.configPath) || loadedConfig.configPath : "the docs config";
|
|
612
|
+
const roots = await resolveDocsRoots(
|
|
613
|
+
[
|
|
614
|
+
{ field: `roots in ${configFileName}`, roots: docsRootsOf(loadedConfig?.config), file: true },
|
|
615
|
+
{ field: "docs.config.roots", roots: docsRootsOf(docsOptions.config) },
|
|
616
|
+
{ field: "docs.roots", roots: docsOptions.roots }
|
|
617
|
+
],
|
|
618
|
+
{
|
|
619
|
+
root,
|
|
620
|
+
srcDir: options.srcDir || "src",
|
|
621
|
+
mainEntry: entryRoute,
|
|
622
|
+
mergedDocsConfig,
|
|
623
|
+
runtimeDocsConfig,
|
|
624
|
+
configOverrides
|
|
625
|
+
}
|
|
626
|
+
);
|
|
627
|
+
if (roots.length > 0 && !(docsOptions.adapter && docsOptions.adapter.server && docsOptions.adapter.react)) {
|
|
628
|
+
throw new Error(
|
|
629
|
+
`Docs roots require a docs adapter such as @farming-labs/farmjs; Farm's built-in docs renderer serves a single docs root. Install the adapter, or remove the roots from ${configFileName} and docs.roots.`
|
|
630
|
+
);
|
|
631
|
+
}
|
|
604
632
|
return {
|
|
605
633
|
enabled: true,
|
|
606
634
|
entry: entryRoute,
|
|
607
635
|
...docsOptions.adapter ? { adapter: docsOptions.adapter } : {},
|
|
636
|
+
...docsOptions.prerender === true ? { prerender: true } : {},
|
|
608
637
|
contentDir,
|
|
609
638
|
configPath: loadedConfig?.configPath,
|
|
610
639
|
config: {
|
|
@@ -619,9 +648,90 @@ async function resolveDocsConfig(userDocs, options = {}) {
|
|
|
619
648
|
docsPath: entryRoute,
|
|
620
649
|
...contentDir ? { contentDir } : {}
|
|
621
650
|
},
|
|
622
|
-
configOverrides
|
|
651
|
+
configOverrides,
|
|
652
|
+
...roots.length > 0 ? { roots } : {}
|
|
623
653
|
};
|
|
624
654
|
}
|
|
655
|
+
function docsRootsOf(config) {
|
|
656
|
+
return isRecord(config) ? config.roots : void 0;
|
|
657
|
+
}
|
|
658
|
+
function omitDocsRoots(config) {
|
|
659
|
+
if (!isRecord(config)) return {};
|
|
660
|
+
const { roots: _roots, ...rest } = config;
|
|
661
|
+
return rest;
|
|
662
|
+
}
|
|
663
|
+
function omitKeys(value, keys) {
|
|
664
|
+
const output = { ...value };
|
|
665
|
+
for (const key of keys) delete output[key];
|
|
666
|
+
return output;
|
|
667
|
+
}
|
|
668
|
+
async function resolveDocsRoots(sources, options) {
|
|
669
|
+
const declared = /* @__PURE__ */ new Map();
|
|
670
|
+
for (const source of sources) {
|
|
671
|
+
if (source.roots === void 0) continue;
|
|
672
|
+
if (!Array.isArray(source.roots)) throw new Error(`${source.field} must be an array.`);
|
|
673
|
+
const seen = /* @__PURE__ */ new Set();
|
|
674
|
+
for (const [index, rootInput] of source.roots.entries()) {
|
|
675
|
+
const field = `${source.field}[${index}].entry`;
|
|
676
|
+
if (!isRecord(rootInput) || typeof rootInput.entry !== "string" || !rootInput.entry.trim()) {
|
|
677
|
+
throw new Error(`${field} must be a route such as "/guides/docs".`);
|
|
678
|
+
}
|
|
679
|
+
const entryRoute = normalizeDocsRoute(rootInput.entry);
|
|
680
|
+
if (entryRoute === "/") {
|
|
681
|
+
throw new Error(
|
|
682
|
+
`${field} cannot be "/"; a docs root at "/" leaves no route for the others.`
|
|
683
|
+
);
|
|
684
|
+
}
|
|
685
|
+
if (entryRoute === options.mainEntry || seen.has(entryRoute)) {
|
|
686
|
+
throw new Error(
|
|
687
|
+
`${field} ${JSON.stringify(entryRoute)} is already served by another docs root.`
|
|
688
|
+
);
|
|
689
|
+
}
|
|
690
|
+
seen.add(entryRoute);
|
|
691
|
+
const { entry: _entry, ...fields } = rootInput;
|
|
692
|
+
const layers = declared.get(entryRoute) ?? { file: {}, overrides: {} };
|
|
693
|
+
if (source.file) layers.file = fields;
|
|
694
|
+
else layers.overrides = { ...layers.overrides, ...fields };
|
|
695
|
+
declared.set(entryRoute, layers);
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
const roots = [];
|
|
699
|
+
for (const [entryRoute, { file, overrides }] of declared) {
|
|
700
|
+
const docsEntry = docsRouteToEntry(entryRoute);
|
|
701
|
+
const contentDir = normalizeDocsContentDir(
|
|
702
|
+
typeof overrides.contentDir === "string" && overrides.contentDir || typeof file.contentDir === "string" && file.contentDir || void 0
|
|
703
|
+
) || await inferDocsContentDir(options.root, options.srcDir, docsEntry);
|
|
704
|
+
const routeConfig = {
|
|
705
|
+
entry: docsEntry,
|
|
706
|
+
docsPath: entryRoute,
|
|
707
|
+
contentDir
|
|
708
|
+
};
|
|
709
|
+
const rootOverrides = sanitizeDocsConfig(overrides);
|
|
710
|
+
roots.push({
|
|
711
|
+
entry: entryRoute,
|
|
712
|
+
contentDir,
|
|
713
|
+
config: omitUndefined({
|
|
714
|
+
...options.mergedDocsConfig,
|
|
715
|
+
...sanitizeDocsConfig(file),
|
|
716
|
+
...rootOverrides,
|
|
717
|
+
...routeConfig
|
|
718
|
+
}),
|
|
719
|
+
runtimeConfig: omitUndefined({
|
|
720
|
+
...options.runtimeDocsConfig,
|
|
721
|
+
...file,
|
|
722
|
+
...overrides,
|
|
723
|
+
...routeConfig
|
|
724
|
+
}),
|
|
725
|
+
// The adapter reads the config file's own root from the config module, so the main
|
|
726
|
+
// root's overrides leave out whatever that root sets itself.
|
|
727
|
+
configOverrides: {
|
|
728
|
+
...omitKeys(options.configOverrides, Object.keys(file)),
|
|
729
|
+
...rootOverrides
|
|
730
|
+
}
|
|
731
|
+
});
|
|
732
|
+
}
|
|
733
|
+
return roots;
|
|
734
|
+
}
|
|
625
735
|
function validateRedirectConfigs(redirects, field) {
|
|
626
736
|
for (const [index, redirect] of redirects.entries()) {
|
|
627
737
|
validateConfigRouteSource(redirect.source, `${field}[${index}].source`);
|
|
@@ -13,6 +13,51 @@ var _path = require('path'); var _path2 = _interopRequireDefault(_path);
|
|
|
13
13
|
|
|
14
14
|
// src/programmatic-routes-client.ts
|
|
15
15
|
var _module = require('module');
|
|
16
|
+
|
|
17
|
+
// src/browser-builtins.ts
|
|
18
|
+
|
|
19
|
+
var FARM_BROWSER_BUILTIN_PREFIX = "\0farm:browser-builtin:";
|
|
20
|
+
var BROWSER_IMPLEMENTATIONS = {
|
|
21
|
+
crypto: {
|
|
22
|
+
webcrypto: "globalThis.crypto",
|
|
23
|
+
subtle: "globalThis.crypto?.subtle",
|
|
24
|
+
getRandomValues: "(array) => globalThis.crypto.getRandomValues(array)",
|
|
25
|
+
randomUUID: "() => globalThis.crypto.randomUUID()"
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
var BROWSER_EXTERNAL_RE = /^(?:__vite-)?browser-external(?::|$)/;
|
|
29
|
+
var IDENTIFIER_RE = /^[A-Za-z_$][\w$]*$/;
|
|
30
|
+
async function resolveFarmBrowserBuiltin(context, source, importer, options) {
|
|
31
|
+
const resolved = await context.resolve(source, importer, { ...options, skipSelf: true });
|
|
32
|
+
if (!resolved || !BROWSER_EXTERNAL_RE.test(resolved.id)) return resolved;
|
|
33
|
+
return FARM_BROWSER_BUILTIN_PREFIX + source.replace(/^node:/, "");
|
|
34
|
+
}
|
|
35
|
+
function loadFarmBrowserBuiltin(id) {
|
|
36
|
+
if (!id.startsWith(FARM_BROWSER_BUILTIN_PREFIX)) return void 0;
|
|
37
|
+
const name = id.slice(FARM_BROWSER_BUILTIN_PREFIX.length);
|
|
38
|
+
const implementations = _nullishCoalesce(BROWSER_IMPLEMENTATIONS[name], () => ( {}));
|
|
39
|
+
const exports = Object.keys(_nullishCoalesce(process.getBuiltinModule(`node:${name}`), () => ( {}))).filter(
|
|
40
|
+
(key) => key !== "default" && IDENTIFIER_RE.test(key)
|
|
41
|
+
);
|
|
42
|
+
const implemented = exports.filter((key) => key in implementations);
|
|
43
|
+
return [
|
|
44
|
+
...exports.map((key) => `export const ${key} = ${_nullishCoalesce(implementations[key], () => ( "undefined"))};`),
|
|
45
|
+
`export default { ${implemented.join(", ")} };`
|
|
46
|
+
].join("\n");
|
|
47
|
+
}
|
|
48
|
+
function farmBrowserBuiltinsOptimizerPlugin() {
|
|
49
|
+
return {
|
|
50
|
+
name: "farm:browser-builtins-optimizer",
|
|
51
|
+
resolveId(source, importer, options) {
|
|
52
|
+
return _module.isBuiltin.call(void 0, source) ? resolveFarmBrowserBuiltin(this, source, importer, options) : null;
|
|
53
|
+
},
|
|
54
|
+
load(id) {
|
|
55
|
+
return _nullishCoalesce(loadFarmBrowserBuiltin(id), () => ( null));
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// src/programmatic-routes-client.ts
|
|
16
61
|
var _url = require('url');
|
|
17
62
|
var SERVER_PROPS_KEYS = ["params", "search", "guard", "data"];
|
|
18
63
|
function programmaticClientRouteKey(routesFile, kind, routePath) {
|
|
@@ -258,6 +303,7 @@ function isApplicationModuleId(id) {
|
|
|
258
303
|
return MODULE_EXTENSION_RE.test(id.split("?", 1)[0]);
|
|
259
304
|
}
|
|
260
305
|
function isNodeBuiltinId(id) {
|
|
306
|
+
if (id.startsWith(FARM_BROWSER_BUILTIN_PREFIX)) return true;
|
|
261
307
|
const external = id.indexOf("__vite-browser-external:");
|
|
262
308
|
const bare = external === 0 || external === 1 ? id.slice(external + 24) : id;
|
|
263
309
|
return bare.startsWith("node:") || NODE_BUILTINS.has(bare);
|
|
@@ -493,11 +539,11 @@ function compareOwners(left, right) {
|
|
|
493
539
|
if (right.exportName === "default") return 1;
|
|
494
540
|
return left.exportName < right.exportName ? -1 : left.exportName > right.exportName ? 1 : 0;
|
|
495
541
|
}
|
|
496
|
-
var
|
|
542
|
+
var IDENTIFIER_RE2 = /^[A-Za-z_$][\w$]*$/;
|
|
497
543
|
function importExport(value, local, toImportSpecifier) {
|
|
498
544
|
const source = JSON.stringify(toImportSpecifier(value.file));
|
|
499
545
|
if (value.exportName === "default") return `import ${local} from ${source};`;
|
|
500
|
-
const imported =
|
|
546
|
+
const imported = IDENTIFIER_RE2.test(value.exportName) ? value.exportName : JSON.stringify(value.exportName);
|
|
501
547
|
return `import { ${imported} as ${local} } from ${source};`;
|
|
502
548
|
}
|
|
503
549
|
function toPosixPath(filePath) {
|
|
@@ -902,4 +948,7 @@ function transformError(id, message) {
|
|
|
902
948
|
|
|
903
949
|
|
|
904
950
|
|
|
905
|
-
|
|
951
|
+
|
|
952
|
+
|
|
953
|
+
|
|
954
|
+
exports.resolveFarmBrowserBuiltin = resolveFarmBrowserBuiltin; exports.loadFarmBrowserBuiltin = loadFarmBrowserBuiltin; exports.farmBrowserBuiltinsOptimizerPlugin = farmBrowserBuiltinsOptimizerPlugin; exports.programmaticClientRouteKey = programmaticClientRouteKey; exports.resolveProgrammaticClientRoutes = resolveProgrammaticClientRoutes; exports.createEvaluatedRouteGraph = createEvaluatedRouteGraph; exports.mergeProgrammaticClientRoutes = mergeProgrammaticClientRoutes; exports.generateProgrammaticClientRouteModule = generateProgrammaticClientRouteModule; exports.transformEnvironmentFunctions = transformEnvironmentFunctions; exports.farmEnvironmentFunctionsPlugin = farmEnvironmentFunctionsPlugin;
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
} from "./chunk-LM2YOGDK.mjs";
|
|
24
24
|
import {
|
|
25
25
|
FARM_VERSION
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-EOSFVNXZ.mjs";
|
|
27
27
|
import {
|
|
28
28
|
applyFarmBasePath
|
|
29
29
|
} from "./chunk-SF3JB56B.mjs";
|
|
@@ -441,14 +441,16 @@ function resolveFarmDocsRouteLabel(routePathname, docs) {
|
|
|
441
441
|
const apiPath = normalize(docs.apiPath ?? "/api/docs");
|
|
442
442
|
if (pathname === apiPath) return apiPath;
|
|
443
443
|
if (pathname.startsWith(`${apiPath}/`)) return `${apiPath}/[...path]`;
|
|
444
|
-
const entry = normalize(docs.path);
|
|
445
|
-
const base = entry === "/" ? "" : entry;
|
|
446
444
|
const markdown = pathname.toLowerCase().endsWith(".md");
|
|
447
445
|
const page = markdown ? pathname.slice(0, -".md".length) : pathname;
|
|
448
|
-
|
|
449
|
-
|
|
446
|
+
const entries = [docs.path, ...docs.roots ?? []].map(normalize).sort((a, b) => b.length - a.length);
|
|
447
|
+
for (const entry of entries) {
|
|
448
|
+
const base = entry === "/" ? "" : entry;
|
|
449
|
+
if (page === entry || entry === "/" && page === "/index") {
|
|
450
|
+
return markdown ? getFarmMarkdownMirrorPath(entry) : entry;
|
|
451
|
+
}
|
|
452
|
+
if (page.startsWith(`${base}/`)) return `${base}/[...slug]${markdown ? ".md" : ""}`;
|
|
450
453
|
}
|
|
451
|
-
if (page.startsWith(`${base}/`)) return `${base}/[...slug]${markdown ? ".md" : ""}`;
|
|
452
454
|
return null;
|
|
453
455
|
}
|
|
454
456
|
function resolveFarmDocsEngineRouteLabel(routePathname, docs) {
|
|
@@ -12,7 +12,7 @@ function farmDesktopDevGuardPlugin(basePath) {
|
|
|
12
12
|
order: "pre",
|
|
13
13
|
async handler(server) {
|
|
14
14
|
if (resolveFarmPlatform() !== "desktop") return;
|
|
15
|
-
const { createFarmDesktopDevGuard } = await import("./dev-guard-
|
|
15
|
+
const { createFarmDesktopDevGuard } = await import("./dev-guard-ONNMVQUN.mjs");
|
|
16
16
|
server.middlewares.use(createFarmDesktopDevGuard(server, { basePath: basePath || "" }));
|
|
17
17
|
}
|
|
18
18
|
}
|
|
@@ -23,7 +23,7 @@ var _chunkLIFUPCXWcjs = require('./chunk-LIFUPCXW.cjs');
|
|
|
23
23
|
var _chunkB5BBTPJQcjs = require('./chunk-B5BBTPJQ.cjs');
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _chunkAGR7VJH2cjs = require('./chunk-AGR7VJH2.cjs');
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
var _chunkD22BUQKWcjs = require('./chunk-D22BUQKW.cjs');
|
|
@@ -282,7 +282,7 @@ function createFarmAppManifest(input) {
|
|
|
282
282
|
return {
|
|
283
283
|
schemaVersion: 1,
|
|
284
284
|
app: app ? {
|
|
285
|
-
...app.version ? { farm:
|
|
285
|
+
...app.version ? { farm: _chunkAGR7VJH2cjs.FARM_VERSION } : {},
|
|
286
286
|
...app.renderer ? { renderer: input.renderer } : {},
|
|
287
287
|
basePath: input.basePath,
|
|
288
288
|
...app.build ? { build: input.build } : {}
|
|
@@ -441,14 +441,16 @@ function resolveFarmDocsRouteLabel(routePathname, docs) {
|
|
|
441
441
|
const apiPath = normalize(_nullishCoalesce(docs.apiPath, () => ( "/api/docs")));
|
|
442
442
|
if (pathname === apiPath) return apiPath;
|
|
443
443
|
if (pathname.startsWith(`${apiPath}/`)) return `${apiPath}/[...path]`;
|
|
444
|
-
const entry = normalize(docs.path);
|
|
445
|
-
const base = entry === "/" ? "" : entry;
|
|
446
444
|
const markdown = pathname.toLowerCase().endsWith(".md");
|
|
447
445
|
const page = markdown ? pathname.slice(0, -".md".length) : pathname;
|
|
448
|
-
|
|
449
|
-
|
|
446
|
+
const entries = [docs.path, ..._nullishCoalesce(docs.roots, () => ( []))].map(normalize).sort((a, b) => b.length - a.length);
|
|
447
|
+
for (const entry of entries) {
|
|
448
|
+
const base = entry === "/" ? "" : entry;
|
|
449
|
+
if (page === entry || entry === "/" && page === "/index") {
|
|
450
|
+
return markdown ? _chunkWJFFPXCVcjs.getFarmMarkdownMirrorPath.call(void 0, entry) : entry;
|
|
451
|
+
}
|
|
452
|
+
if (page.startsWith(`${base}/`)) return `${base}/[...slug]${markdown ? ".md" : ""}`;
|
|
450
453
|
}
|
|
451
|
-
if (page.startsWith(`${base}/`)) return `${base}/[...slug]${markdown ? ".md" : ""}`;
|
|
452
454
|
return null;
|
|
453
455
|
}
|
|
454
456
|
function resolveFarmDocsEngineRouteLabel(routePathname, docs) {
|
|
@@ -7,11 +7,11 @@ import {
|
|
|
7
7
|
} from "./chunk-LMFJCXDD.mjs";
|
|
8
8
|
import {
|
|
9
9
|
resolveDeployOutputPath
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-KMB5BMFX.mjs";
|
|
11
11
|
import {
|
|
12
12
|
farmDesktopDevGuardPlugin,
|
|
13
13
|
loadFarmReactPlugin
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-QOSDWGKT.mjs";
|
|
15
15
|
import {
|
|
16
16
|
loadTailwindVitePlugin
|
|
17
17
|
} from "./chunk-PIHKO25G.mjs";
|