@bleedingdev/modern-js-plugin-bff 3.5.0-ultramodern.10 → 3.5.0-ultramodern.101
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/cjs/cli/compress.js +52 -0
- package/dist/cjs/cli/generator.js +184 -0
- package/dist/cjs/cli/prefix.js +50 -0
- package/dist/cjs/cli/serverGlobalVars.js +127 -0
- package/dist/cjs/cli/watch.js +51 -0
- package/dist/cjs/cli.js +11 -130
- package/dist/cjs/loader.js +19 -2
- package/dist/cjs/runtime/data-platform/batch/queue.js +284 -0
- package/dist/cjs/runtime/data-platform/batch/request.js +98 -0
- package/dist/cjs/runtime/data-platform/batch/response.js +64 -0
- package/dist/cjs/runtime/data-platform/batch/telemetry.js +67 -0
- package/dist/cjs/runtime/data-platform/batch/url.js +69 -0
- package/dist/cjs/runtime/data-platform/batch-transport.js +59 -0
- package/dist/cjs/runtime/data-platform/codec.js +155 -0
- package/dist/cjs/runtime/data-platform/index.js +30 -633
- package/dist/cjs/runtime/data-platform/invalidation.js +61 -0
- package/dist/cjs/runtime/data-platform/trace.js +73 -0
- package/dist/cjs/runtime/data-platform/types.js +48 -0
- package/dist/cjs/runtime/data-platform/validation.js +178 -0
- package/dist/cjs/runtime/effect/adapter/constants.js +44 -0
- package/dist/cjs/runtime/effect/adapter/cross-project-policy.js +61 -0
- package/dist/cjs/runtime/effect/adapter/entry.js +92 -0
- package/dist/cjs/runtime/effect/adapter/error-response.js +79 -0
- package/dist/cjs/runtime/effect/adapter/handler.js +53 -0
- package/dist/cjs/runtime/effect/adapter.js +26 -146
- package/dist/cjs/runtime/effect/backend-federation/entry.js +99 -0
- package/dist/cjs/runtime/effect/backend-federation/identity.js +82 -0
- package/dist/cjs/runtime/effect/backend-federation/load.js +66 -0
- package/dist/cjs/runtime/effect/backend-federation/plugin.js +53 -0
- package/dist/cjs/runtime/effect/backend-federation/remotes.js +50 -0
- package/dist/cjs/runtime/effect/backend-federation/runtime.js +64 -0
- package/dist/cjs/runtime/effect/backend-federation/types.js +18 -0
- package/dist/cjs/runtime/effect/backend-federation/utils.js +48 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/errors.js +83 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/index.js +55 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/load.js +94 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/metadata.js +101 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/reference.js +120 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/remote.js +68 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/types.js +18 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest/validation.js +109 -0
- package/dist/cjs/runtime/effect/backend-federation-manifest.js +62 -0
- package/dist/cjs/runtime/effect/backend-federation.js +65 -0
- package/dist/cjs/runtime/effect/dispatch.js +101 -0
- package/dist/cjs/runtime/effect/edge.js +64 -71
- package/dist/cjs/runtime/effect/endpoint-contracts.js +13 -22
- package/dist/cjs/runtime/effect/entry-shape.js +84 -0
- package/dist/cjs/runtime/effect/handler/batch-handler.js +161 -0
- package/dist/cjs/runtime/effect/handler/batch.js +195 -0
- package/dist/cjs/runtime/effect/handler/definition.js +101 -0
- package/dist/cjs/runtime/effect/handler/envelope.js +104 -0
- package/dist/cjs/runtime/effect/handler/http.js +96 -0
- package/dist/cjs/runtime/effect/handler/openapi.js +57 -0
- package/dist/cjs/runtime/effect/handler/routing.js +100 -0
- package/dist/cjs/runtime/effect/handler/rpc.js +63 -0
- package/dist/cjs/runtime/effect/handler/types.js +43 -0
- package/dist/cjs/runtime/effect/handler.js +37 -529
- package/dist/cjs/runtime/effect/index.js +91 -15
- package/dist/cjs/runtime/effect/module.js +23 -80
- package/dist/cjs/runtime/effect/rpcSerialization.js +54 -0
- package/dist/cjs/runtime/effect-client/batch.js +73 -0
- package/dist/cjs/runtime/effect-client/envelope.js +145 -0
- package/dist/cjs/runtime/effect-client/guards.js +44 -0
- package/dist/cjs/runtime/effect-client/index.js +6 -16
- package/dist/cjs/runtime/effect-client/request-context.js +64 -0
- package/dist/cjs/runtime/effect-client/request.js +66 -0
- package/dist/cjs/runtime/effect-client/runtime.js +12 -178
- package/dist/cjs/runtime/effect-client/types.js +18 -0
- package/dist/cjs/runtime/hono/adapter.js +32 -79
- package/dist/cjs/runtime/safe-failure.js +2 -1
- package/dist/cjs/server.js +19 -30
- package/dist/cjs/utils/client-generator/files.js +152 -0
- package/dist/cjs/utils/client-generator/generate.js +138 -0
- package/dist/cjs/utils/client-generator/index.js +83 -0
- package/dist/cjs/utils/client-generator/package-json.js +132 -0
- package/dist/cjs/utils/client-generator/write-package.js +125 -0
- package/dist/cjs/utils/clientGenerator.js +26 -303
- package/dist/cjs/utils/effect-client-generator/generator.js +68 -0
- package/dist/cjs/utils/effect-client-generator/index.js +51 -0
- package/dist/cjs/utils/effect-client-generator/paths.js +73 -0
- package/dist/cjs/utils/effect-client-generator/rendering.js +231 -0
- package/dist/cjs/utils/effect-client-generator/runtime.js +85 -0
- package/dist/cjs/utils/effect-client-generator/types.js +18 -0
- package/dist/cjs/utils/effectClientGenerator.js +5 -262
- package/dist/cjs/utils/effectSourceLoader.js +252 -0
- package/dist/esm/cli/compress.mjs +14 -0
- package/dist/esm/cli/generator.mjs +133 -0
- package/dist/esm/cli/prefix.mjs +9 -0
- package/dist/esm/cli/serverGlobalVars.mjs +76 -0
- package/dist/esm/cli/watch.mjs +13 -0
- package/dist/esm/cli.mjs +7 -121
- package/dist/esm/loader.mjs +19 -2
- package/dist/esm/runtime/data-platform/batch/queue.mjs +246 -0
- package/dist/esm/runtime/data-platform/batch/request.mjs +45 -0
- package/dist/esm/runtime/data-platform/batch/response.mjs +23 -0
- package/dist/esm/runtime/data-platform/batch/telemetry.mjs +23 -0
- package/dist/esm/runtime/data-platform/batch/url.mjs +25 -0
- package/dist/esm/runtime/data-platform/batch-transport.mjs +12 -0
- package/dist/esm/runtime/data-platform/codec.mjs +90 -0
- package/dist/esm/runtime/data-platform/index.mjs +6 -610
- package/dist/esm/runtime/data-platform/invalidation.mjs +20 -0
- package/dist/esm/runtime/data-platform/trace.mjs +29 -0
- package/dist/esm/runtime/data-platform/types.mjs +4 -0
- package/dist/esm/runtime/data-platform/validation.mjs +128 -0
- package/dist/esm/runtime/effect/adapter/constants.mjs +6 -0
- package/dist/esm/runtime/effect/adapter/cross-project-policy.mjs +23 -0
- package/dist/esm/runtime/effect/adapter/entry.mjs +44 -0
- package/dist/esm/runtime/effect/adapter/error-response.mjs +41 -0
- package/dist/esm/runtime/effect/adapter/handler.mjs +15 -0
- package/dist/esm/runtime/effect/adapter.mjs +27 -147
- package/dist/esm/runtime/effect/backend-federation/entry.mjs +61 -0
- package/dist/esm/runtime/effect/backend-federation/identity.mjs +41 -0
- package/dist/esm/runtime/effect/backend-federation/load.mjs +28 -0
- package/dist/esm/runtime/effect/backend-federation/plugin.mjs +15 -0
- package/dist/esm/runtime/effect/backend-federation/remotes.mjs +12 -0
- package/dist/esm/runtime/effect/backend-federation/runtime.mjs +26 -0
- package/dist/esm/runtime/effect/backend-federation/types.mjs +0 -0
- package/dist/esm/runtime/effect/backend-federation/utils.mjs +7 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/errors.mjs +32 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/index.mjs +4 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/load.mjs +56 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/metadata.mjs +42 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/reference.mjs +76 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/remote.mjs +30 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/types.mjs +0 -0
- package/dist/esm/runtime/effect/backend-federation-manifest/validation.mjs +65 -0
- package/dist/esm/runtime/effect/backend-federation-manifest.mjs +1 -0
- package/dist/esm/runtime/effect/backend-federation.mjs +5 -0
- package/dist/esm/runtime/effect/dispatch.mjs +63 -0
- package/dist/esm/runtime/effect/edge.mjs +17 -63
- package/dist/esm/runtime/effect/endpoint-contracts.mjs +14 -14
- package/dist/esm/runtime/effect/entry-shape.mjs +36 -0
- package/dist/esm/runtime/effect/handler/batch-handler.mjs +123 -0
- package/dist/esm/runtime/effect/handler/batch.mjs +124 -0
- package/dist/esm/runtime/effect/handler/definition.mjs +60 -0
- package/dist/esm/runtime/effect/handler/envelope.mjs +63 -0
- package/dist/esm/runtime/effect/handler/http.mjs +58 -0
- package/dist/esm/runtime/effect/handler/openapi.mjs +19 -0
- package/dist/esm/runtime/effect/handler/routing.mjs +50 -0
- package/dist/esm/runtime/effect/handler/rpc.mjs +22 -0
- package/dist/esm/runtime/effect/handler/types.mjs +5 -0
- package/dist/esm/runtime/effect/handler.mjs +11 -506
- package/dist/esm/runtime/effect/index.mjs +5 -2
- package/dist/esm/runtime/effect/module.mjs +25 -82
- package/dist/esm/runtime/effect/rpcSerialization.mjs +16 -0
- package/dist/esm/runtime/effect-client/batch.mjs +35 -0
- package/dist/esm/runtime/effect-client/envelope.mjs +104 -0
- package/dist/esm/runtime/effect-client/guards.mjs +3 -0
- package/dist/esm/runtime/effect-client/index.mjs +27 -37
- package/dist/esm/runtime/effect-client/request-context.mjs +23 -0
- package/dist/esm/runtime/effect-client/request.mjs +28 -0
- package/dist/esm/runtime/effect-client/runtime.mjs +12 -178
- package/dist/esm/runtime/effect-client/types.mjs +0 -0
- package/dist/esm/runtime/hono/adapter.mjs +33 -80
- package/dist/esm/runtime/safe-failure.mjs +2 -1
- package/dist/esm/server.mjs +18 -29
- package/dist/esm/utils/client-generator/files.mjs +68 -0
- package/dist/esm/utils/client-generator/generate.mjs +88 -0
- package/dist/esm/utils/client-generator/index.mjs +4 -0
- package/dist/esm/utils/client-generator/package-json.mjs +78 -0
- package/dist/esm/utils/client-generator/write-package.mjs +74 -0
- package/dist/esm/utils/clientGenerator.mjs +2 -293
- package/dist/esm/utils/effect-client-generator/generator.mjs +27 -0
- package/dist/esm/utils/effect-client-generator/index.mjs +3 -0
- package/dist/esm/utils/effect-client-generator/paths.mjs +25 -0
- package/dist/esm/utils/effect-client-generator/rendering.mjs +180 -0
- package/dist/esm/utils/effect-client-generator/runtime.mjs +34 -0
- package/dist/esm/utils/effect-client-generator/types.mjs +0 -0
- package/dist/esm/utils/effectClientGenerator.mjs +1 -249
- package/dist/esm/utils/effectSourceLoader.mjs +199 -0
- package/dist/esm-node/cli/compress.mjs +15 -0
- package/dist/esm-node/cli/generator.mjs +134 -0
- package/dist/esm-node/cli/prefix.mjs +10 -0
- package/dist/esm-node/cli/serverGlobalVars.mjs +77 -0
- package/dist/esm-node/cli/watch.mjs +14 -0
- package/dist/esm-node/cli.mjs +7 -121
- package/dist/esm-node/loader.mjs +19 -2
- package/dist/esm-node/runtime/data-platform/batch/queue.mjs +247 -0
- package/dist/esm-node/runtime/data-platform/batch/request.mjs +46 -0
- package/dist/esm-node/runtime/data-platform/batch/response.mjs +24 -0
- package/dist/esm-node/runtime/data-platform/batch/telemetry.mjs +24 -0
- package/dist/esm-node/runtime/data-platform/batch/url.mjs +26 -0
- package/dist/esm-node/runtime/data-platform/batch-transport.mjs +13 -0
- package/dist/esm-node/runtime/data-platform/codec.mjs +91 -0
- package/dist/esm-node/runtime/data-platform/index.mjs +6 -610
- package/dist/esm-node/runtime/data-platform/invalidation.mjs +21 -0
- package/dist/esm-node/runtime/data-platform/trace.mjs +30 -0
- package/dist/esm-node/runtime/data-platform/types.mjs +5 -0
- package/dist/esm-node/runtime/data-platform/validation.mjs +129 -0
- package/dist/esm-node/runtime/effect/adapter/constants.mjs +7 -0
- package/dist/esm-node/runtime/effect/adapter/cross-project-policy.mjs +24 -0
- package/dist/esm-node/runtime/effect/adapter/entry.mjs +45 -0
- package/dist/esm-node/runtime/effect/adapter/error-response.mjs +42 -0
- package/dist/esm-node/runtime/effect/adapter/handler.mjs +16 -0
- package/dist/esm-node/runtime/effect/adapter.mjs +28 -149
- package/dist/esm-node/runtime/effect/backend-federation/entry.mjs +62 -0
- package/dist/esm-node/runtime/effect/backend-federation/identity.mjs +42 -0
- package/dist/esm-node/runtime/effect/backend-federation/load.mjs +29 -0
- package/dist/esm-node/runtime/effect/backend-federation/plugin.mjs +16 -0
- package/dist/esm-node/runtime/effect/backend-federation/remotes.mjs +13 -0
- package/dist/esm-node/runtime/effect/backend-federation/runtime.mjs +27 -0
- package/dist/esm-node/runtime/effect/backend-federation/types.mjs +1 -0
- package/dist/esm-node/runtime/effect/backend-federation/utils.mjs +8 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/errors.mjs +33 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/index.mjs +5 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/load.mjs +57 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/metadata.mjs +43 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/reference.mjs +77 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/remote.mjs +31 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/types.mjs +1 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest/validation.mjs +66 -0
- package/dist/esm-node/runtime/effect/backend-federation-manifest.mjs +2 -0
- package/dist/esm-node/runtime/effect/backend-federation.mjs +6 -0
- package/dist/esm-node/runtime/effect/dispatch.mjs +64 -0
- package/dist/esm-node/runtime/effect/edge.mjs +17 -63
- package/dist/esm-node/runtime/effect/endpoint-contracts.mjs +14 -14
- package/dist/esm-node/runtime/effect/entry-shape.mjs +37 -0
- package/dist/esm-node/runtime/effect/handler/batch-handler.mjs +124 -0
- package/dist/esm-node/runtime/effect/handler/batch.mjs +125 -0
- package/dist/esm-node/runtime/effect/handler/definition.mjs +61 -0
- package/dist/esm-node/runtime/effect/handler/envelope.mjs +64 -0
- package/dist/esm-node/runtime/effect/handler/http.mjs +59 -0
- package/dist/esm-node/runtime/effect/handler/openapi.mjs +20 -0
- package/dist/esm-node/runtime/effect/handler/routing.mjs +51 -0
- package/dist/esm-node/runtime/effect/handler/rpc.mjs +23 -0
- package/dist/esm-node/runtime/effect/handler/types.mjs +6 -0
- package/dist/esm-node/runtime/effect/handler.mjs +11 -506
- package/dist/esm-node/runtime/effect/index.mjs +5 -2
- package/dist/esm-node/runtime/effect/module.mjs +25 -82
- package/dist/esm-node/runtime/effect/rpcSerialization.mjs +17 -0
- package/dist/esm-node/runtime/effect-client/batch.mjs +36 -0
- package/dist/esm-node/runtime/effect-client/envelope.mjs +105 -0
- package/dist/esm-node/runtime/effect-client/guards.mjs +4 -0
- package/dist/esm-node/runtime/effect-client/index.mjs +27 -37
- package/dist/esm-node/runtime/effect-client/request-context.mjs +24 -0
- package/dist/esm-node/runtime/effect-client/request.mjs +29 -0
- package/dist/esm-node/runtime/effect-client/runtime.mjs +12 -178
- package/dist/esm-node/runtime/effect-client/types.mjs +1 -0
- package/dist/esm-node/runtime/hono/adapter.mjs +33 -80
- package/dist/esm-node/runtime/safe-failure.mjs +2 -1
- package/dist/esm-node/server.mjs +18 -29
- package/dist/esm-node/utils/client-generator/files.mjs +69 -0
- package/dist/esm-node/utils/client-generator/generate.mjs +89 -0
- package/dist/esm-node/utils/client-generator/index.mjs +5 -0
- package/dist/esm-node/utils/client-generator/package-json.mjs +79 -0
- package/dist/esm-node/utils/client-generator/write-package.mjs +75 -0
- package/dist/esm-node/utils/clientGenerator.mjs +2 -293
- package/dist/esm-node/utils/effect-client-generator/generator.mjs +28 -0
- package/dist/esm-node/utils/effect-client-generator/index.mjs +4 -0
- package/dist/esm-node/utils/effect-client-generator/paths.mjs +26 -0
- package/dist/esm-node/utils/effect-client-generator/rendering.mjs +181 -0
- package/dist/esm-node/utils/effect-client-generator/runtime.mjs +36 -0
- package/dist/esm-node/utils/effect-client-generator/types.mjs +1 -0
- package/dist/esm-node/utils/effectClientGenerator.mjs +2 -251
- package/dist/esm-node/utils/effectSourceLoader.mjs +200 -0
- package/dist/types/cli/compress.d.ts +2 -0
- package/dist/types/cli/generator.d.ts +7 -0
- package/dist/types/cli/prefix.d.ts +2 -0
- package/dist/types/cli/serverGlobalVars.d.ts +4 -0
- package/dist/types/cli/watch.d.ts +1 -0
- package/dist/types/cli.d.ts +0 -1
- package/dist/types/runtime/data-platform/batch/queue.d.ts +8 -0
- package/dist/types/runtime/data-platform/batch/request.d.ts +13 -0
- package/dist/types/runtime/data-platform/batch/response.d.ts +3 -0
- package/dist/types/runtime/data-platform/batch/telemetry.d.ts +4 -0
- package/dist/types/runtime/data-platform/batch/url.d.ts +4 -0
- package/dist/types/runtime/data-platform/batch-transport.d.ts +3 -0
- package/dist/types/runtime/data-platform/codec.d.ts +17 -0
- package/dist/types/runtime/data-platform/index.d.ts +7 -191
- package/dist/types/runtime/data-platform/invalidation.d.ts +8 -0
- package/dist/types/runtime/data-platform/trace.d.ts +4 -0
- package/dist/types/runtime/data-platform/types.d.ts +146 -0
- package/dist/types/runtime/data-platform/validation.d.ts +29 -0
- package/dist/types/runtime/effect/adapter/constants.d.ts +1 -0
- package/dist/types/runtime/effect/adapter/cross-project-policy.d.ts +4 -0
- package/dist/types/runtime/effect/adapter/entry.d.ts +2 -0
- package/dist/types/runtime/effect/adapter/error-response.d.ts +2 -0
- package/dist/types/runtime/effect/adapter/handler.d.ts +7 -0
- package/dist/types/runtime/effect/adapter.d.ts +4 -13
- package/dist/types/runtime/effect/backend-federation/entry.d.ts +2 -0
- package/dist/types/runtime/effect/backend-federation/identity.d.ts +30 -0
- package/dist/types/runtime/effect/backend-federation/load.d.ts +13 -0
- package/dist/types/runtime/effect/backend-federation/plugin.d.ts +3 -0
- package/dist/types/runtime/effect/backend-federation/remotes.d.ts +2 -0
- package/dist/types/runtime/effect/backend-federation/runtime.d.ts +3 -0
- package/dist/types/runtime/effect/backend-federation/types.d.ts +73 -0
- package/dist/types/runtime/effect/backend-federation/utils.d.ts +2 -0
- package/dist/types/runtime/effect/backend-federation-manifest/errors.d.ts +11 -0
- package/dist/types/runtime/effect/backend-federation-manifest/index.d.ts +6 -0
- package/dist/types/runtime/effect/backend-federation-manifest/load.d.ts +3 -0
- package/dist/types/runtime/effect/backend-federation-manifest/metadata.d.ts +18 -0
- package/dist/types/runtime/effect/backend-federation-manifest/reference.d.ts +4 -0
- package/dist/types/runtime/effect/backend-federation-manifest/remote.d.ts +3 -0
- package/dist/types/runtime/effect/backend-federation-manifest/types.d.ts +51 -0
- package/dist/types/runtime/effect/backend-federation-manifest/validation.d.ts +5 -0
- package/dist/types/runtime/effect/backend-federation-manifest.d.ts +1 -0
- package/dist/types/runtime/effect/backend-federation.d.ts +7 -0
- package/dist/types/runtime/effect/dispatch.d.ts +13 -0
- package/dist/types/runtime/effect/edge.d.ts +8 -8
- package/dist/types/runtime/effect/endpoint-contracts.d.ts +11 -7
- package/dist/types/runtime/effect/entry-shape.d.ts +31 -0
- package/dist/types/runtime/effect/handler/batch-handler.d.ts +11 -0
- package/dist/types/runtime/effect/handler/batch.d.ts +17 -0
- package/dist/types/runtime/effect/handler/definition.d.ts +17 -0
- package/dist/types/runtime/effect/handler/envelope.d.ts +13 -0
- package/dist/types/runtime/effect/handler/http.d.ts +14 -0
- package/dist/types/runtime/effect/handler/openapi.d.ts +4 -0
- package/dist/types/runtime/effect/handler/routing.d.ts +5 -0
- package/dist/types/runtime/effect/handler/rpc.d.ts +7 -0
- package/dist/types/runtime/effect/handler/types.d.ts +148 -0
- package/dist/types/runtime/effect/handler.d.ts +4 -190
- package/dist/types/runtime/effect/index.d.ts +3 -0
- package/dist/types/runtime/effect/module.d.ts +3 -2
- package/dist/types/runtime/effect/rpcSerialization.d.ts +3 -0
- package/dist/types/runtime/effect-client/batch.d.ts +2 -0
- package/dist/types/runtime/effect-client/envelope.d.ts +15 -0
- package/dist/types/runtime/effect-client/guards.d.ts +2 -0
- package/dist/types/runtime/effect-client/index.d.ts +1 -1
- package/dist/types/runtime/effect-client/request-context.d.ts +3 -0
- package/dist/types/runtime/effect-client/request.d.ts +1 -0
- package/dist/types/runtime/effect-client/runtime.d.ts +2 -68
- package/dist/types/runtime/effect-client/types.d.ts +68 -0
- package/dist/types/runtime/hono/adapter.d.ts +14 -8
- package/dist/types/utils/client-generator/files.d.ts +28 -0
- package/dist/types/utils/client-generator/generate.d.ts +26 -0
- package/dist/types/utils/client-generator/index.d.ts +7 -0
- package/dist/types/utils/client-generator/package-json.d.ts +16 -0
- package/dist/types/utils/client-generator/write-package.d.ts +6 -0
- package/dist/types/utils/clientGenerator.d.ts +2 -37
- package/dist/types/utils/crossProjectServerPolicy.d.ts +3 -2
- package/dist/types/utils/effect-client-generator/generator.d.ts +10 -0
- package/dist/types/utils/effect-client-generator/index.d.ts +4 -0
- package/dist/types/utils/effect-client-generator/paths.d.ts +5 -0
- package/dist/types/utils/effect-client-generator/rendering.d.ts +4 -0
- package/dist/types/utils/effect-client-generator/runtime.d.ts +12 -0
- package/dist/types/utils/effect-client-generator/types.d.ts +27 -0
- package/dist/types/utils/effectClientGenerator.d.ts +2 -41
- package/dist/types/utils/effectSourceLoader.d.ts +15 -0
- package/package.json +57 -33
|
@@ -1,191 +1,7 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
};
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
apiId: string;
|
|
9
|
-
group: string;
|
|
10
|
-
endpoint: string;
|
|
11
|
-
schemaHash?: string;
|
|
12
|
-
version?: number;
|
|
13
|
-
}
|
|
14
|
-
export interface CacheScope {
|
|
15
|
-
appNamespace: string;
|
|
16
|
-
origin: string;
|
|
17
|
-
tenantId?: string;
|
|
18
|
-
userId?: string;
|
|
19
|
-
sessionId?: string;
|
|
20
|
-
}
|
|
21
|
-
export interface TraceContext {
|
|
22
|
-
traceId: string;
|
|
23
|
-
spanId: string;
|
|
24
|
-
sampled: boolean;
|
|
25
|
-
parentSpanId?: string;
|
|
26
|
-
}
|
|
27
|
-
export interface RequestEnvelope<Input = unknown> {
|
|
28
|
-
protocolVersion: 1;
|
|
29
|
-
operationId: string;
|
|
30
|
-
appNamespace: string;
|
|
31
|
-
origin: string;
|
|
32
|
-
requestMode: DataRequestMode;
|
|
33
|
-
mutationMode?: DataMutationMode;
|
|
34
|
-
scopeKey: string;
|
|
35
|
-
input: Input;
|
|
36
|
-
inputHash: string;
|
|
37
|
-
selectionPlan?: SelectionPlan;
|
|
38
|
-
selectionHash?: string;
|
|
39
|
-
traceparent?: string;
|
|
40
|
-
timestamp: number;
|
|
41
|
-
}
|
|
42
|
-
export interface HydrationEnvelope<Payload = unknown> {
|
|
43
|
-
protocolVersion: 1;
|
|
44
|
-
runtimeVersion: string;
|
|
45
|
-
appNamespace: string;
|
|
46
|
-
origin: string;
|
|
47
|
-
createdAt: number;
|
|
48
|
-
payload: Payload;
|
|
49
|
-
checksum: string;
|
|
50
|
-
}
|
|
51
|
-
export interface InvalidationEvent {
|
|
52
|
-
sourceNamespace: string;
|
|
53
|
-
sourceOperationId: string;
|
|
54
|
-
scopeKey: string;
|
|
55
|
-
targetNamespaces?: string[];
|
|
56
|
-
targetOperationIds?: string[];
|
|
57
|
-
}
|
|
58
|
-
export interface InvalidationSubscriber {
|
|
59
|
-
namespace: string;
|
|
60
|
-
operationIds?: string[];
|
|
61
|
-
scopeKey?: string;
|
|
62
|
-
acceptCrossNamespace?: boolean;
|
|
63
|
-
}
|
|
64
|
-
export interface DataBatchRequestItem {
|
|
65
|
-
id: string;
|
|
66
|
-
path: string;
|
|
67
|
-
method: string;
|
|
68
|
-
headers?: Record<string, string>;
|
|
69
|
-
body?: string;
|
|
70
|
-
}
|
|
71
|
-
export interface DataBatchRequestPayload {
|
|
72
|
-
protocolVersion: 1;
|
|
73
|
-
batchId: string;
|
|
74
|
-
sentAt: number;
|
|
75
|
-
items: DataBatchRequestItem[];
|
|
76
|
-
}
|
|
77
|
-
export interface DataBatchResponseItem {
|
|
78
|
-
id: string;
|
|
79
|
-
status: number;
|
|
80
|
-
headers?: Record<string, string>;
|
|
81
|
-
body?: string;
|
|
82
|
-
}
|
|
83
|
-
export interface DataBatchResponsePayload {
|
|
84
|
-
protocolVersion: 1;
|
|
85
|
-
batchId: string;
|
|
86
|
-
receivedAt: number;
|
|
87
|
-
items: DataBatchResponseItem[];
|
|
88
|
-
}
|
|
89
|
-
export interface DataBatchTransportEvent {
|
|
90
|
-
type: 'enqueue' | 'flush' | 'fallback' | 'disable';
|
|
91
|
-
endpoint: string;
|
|
92
|
-
batchId?: string;
|
|
93
|
-
size?: number;
|
|
94
|
-
reason?: string;
|
|
95
|
-
}
|
|
96
|
-
export type DataBatchTransportTelemetryAttributes = Record<string, string | number | boolean>;
|
|
97
|
-
export interface DataBatchTransportOptions {
|
|
98
|
-
endpoint?: string;
|
|
99
|
-
fetch?: (input: DataTransportRequestInfo, init?: RequestInit) => Promise<Response>;
|
|
100
|
-
flushIntervalMs?: number;
|
|
101
|
-
maxBatchSize?: number;
|
|
102
|
-
maxBatchBytes?: number;
|
|
103
|
-
requestTimeoutMs?: number;
|
|
104
|
-
allowedMethods?: string[];
|
|
105
|
-
onEvent?: (event: DataBatchTransportEvent) => void;
|
|
106
|
-
}
|
|
107
|
-
export declare const DATA_BATCH_TRANSPORT_OTEL_EVENT = "modernjs.data.batch";
|
|
108
|
-
export declare function createDataBatchTransportTelemetryAttributes(event: DataBatchTransportEvent): DataBatchTransportTelemetryAttributes;
|
|
109
|
-
export declare function emitDataBatchTransportEvent(onEvent: ((event: DataBatchTransportEvent) => void) | undefined, event: DataBatchTransportEvent): void;
|
|
110
|
-
export interface SelectionPlanValidationOptions {
|
|
111
|
-
maxDepth?: number;
|
|
112
|
-
maxFields?: number;
|
|
113
|
-
allowedLeafPaths?: ReadonlyArray<string>;
|
|
114
|
-
}
|
|
115
|
-
export interface SelectionPlanValidationResult {
|
|
116
|
-
ok: boolean;
|
|
117
|
-
errors: string[];
|
|
118
|
-
stats: {
|
|
119
|
-
maxDepth: number;
|
|
120
|
-
fieldCount: number;
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
export interface RequestEnvelopeValidationOptions {
|
|
124
|
-
expectedProtocolVersion?: number;
|
|
125
|
-
expectedNamespace?: string;
|
|
126
|
-
expectedOrigin?: string;
|
|
127
|
-
requireTraceContext?: boolean;
|
|
128
|
-
}
|
|
129
|
-
export interface HydrationEnvelopeValidationOptions {
|
|
130
|
-
expectedProtocolVersion?: number;
|
|
131
|
-
expectedNamespace?: string;
|
|
132
|
-
expectedOrigin?: string;
|
|
133
|
-
expectedRuntimeVersion?: string;
|
|
134
|
-
}
|
|
135
|
-
export declare const DEFAULT_DATA_ENVELOPE_HEADER = "x-modernjs-data-envelope";
|
|
136
|
-
export declare const DEFAULT_DATA_BATCH_ENDPOINT = "/_data/batch";
|
|
137
|
-
export declare const DEFAULT_DATA_BATCH_HEADER = "x-modernjs-data-batch";
|
|
138
|
-
type DataTransportRequestInfo = string | URL | Request;
|
|
139
|
-
export declare function stableStringify(value: unknown): string;
|
|
140
|
-
export declare function encodeRequestEnvelopeHeader(envelope: RequestEnvelope): string;
|
|
141
|
-
export declare function decodeRequestEnvelopeHeader(value: string): RequestEnvelope | null;
|
|
142
|
-
export declare function normalizeOrigin(origin: string): string;
|
|
143
|
-
export declare function createOperationId(input: OperationDescriptor): string;
|
|
144
|
-
export declare function buildScopeKey(scope: CacheScope): string;
|
|
145
|
-
export declare function buildQueryKey(input: {
|
|
146
|
-
operationId: string;
|
|
147
|
-
scopeKey: string;
|
|
148
|
-
requestMode?: DataRequestMode;
|
|
149
|
-
requestInput?: unknown;
|
|
150
|
-
selectionPlan?: SelectionPlan;
|
|
151
|
-
}): string;
|
|
152
|
-
export declare function parseTraceparentHeader(header: string): TraceContext | null;
|
|
153
|
-
export declare function formatTraceparentHeader(trace: TraceContext): string;
|
|
154
|
-
export declare function deriveChildTraceContext(parent: TraceContext, childSpanId: string): TraceContext;
|
|
155
|
-
export declare function validateSelectionPlan(plan: SelectionPlan, options?: SelectionPlanValidationOptions): SelectionPlanValidationResult;
|
|
156
|
-
export declare function createRequestEnvelope<Input>(input: {
|
|
157
|
-
operation: OperationDescriptor;
|
|
158
|
-
scope: CacheScope;
|
|
159
|
-
requestInput: Input;
|
|
160
|
-
selectionPlan?: SelectionPlan;
|
|
161
|
-
requestMode?: DataRequestMode;
|
|
162
|
-
mutationMode?: DataMutationMode;
|
|
163
|
-
traceContext?: TraceContext;
|
|
164
|
-
requireTraceContext?: boolean;
|
|
165
|
-
timestamp?: number;
|
|
166
|
-
protocolVersion?: 1;
|
|
167
|
-
}): RequestEnvelope<Input>;
|
|
168
|
-
export declare function validateRequestEnvelope(envelope: RequestEnvelope, options?: RequestEnvelopeValidationOptions): {
|
|
169
|
-
ok: boolean;
|
|
170
|
-
errors: string[];
|
|
171
|
-
};
|
|
172
|
-
export declare function createHydrationEnvelope<Payload>(input: {
|
|
173
|
-
runtimeVersion: string;
|
|
174
|
-
scope: Pick<CacheScope, 'appNamespace' | 'origin'>;
|
|
175
|
-
payload: Payload;
|
|
176
|
-
createdAt?: number;
|
|
177
|
-
protocolVersion?: 1;
|
|
178
|
-
}): HydrationEnvelope<Payload>;
|
|
179
|
-
export declare function validateHydrationEnvelope(envelope: HydrationEnvelope, options?: HydrationEnvelopeValidationOptions): {
|
|
180
|
-
ok: boolean;
|
|
181
|
-
errors: string[];
|
|
182
|
-
};
|
|
183
|
-
export declare function createInvalidationEvent(input: {
|
|
184
|
-
sourceOperation: OperationDescriptor;
|
|
185
|
-
sourceScope: CacheScope;
|
|
186
|
-
targetNamespaces?: string[];
|
|
187
|
-
targetOperations?: OperationDescriptor[];
|
|
188
|
-
}): InvalidationEvent;
|
|
189
|
-
export declare function shouldApplyInvalidation(event: InvalidationEvent, subscriber: InvalidationSubscriber): boolean;
|
|
190
|
-
export declare function createDataBatchTransport(options?: DataBatchTransportOptions): (input: DataTransportRequestInfo, init?: RequestInit) => Promise<any>;
|
|
191
|
-
export {};
|
|
1
|
+
export { createDataBatchTransport, createDataBatchTransportTelemetryAttributes, DATA_BATCH_TRANSPORT_OTEL_EVENT, emitDataBatchTransportEvent, } from './batch-transport';
|
|
2
|
+
export { buildQueryKey, buildScopeKey, createOperationId, decodeRequestEnvelopeHeader, encodeRequestEnvelopeHeader, normalizeOrigin, stableStringify, } from './codec';
|
|
3
|
+
export { createInvalidationEvent, shouldApplyInvalidation, } from './invalidation';
|
|
4
|
+
export { deriveChildTraceContext, formatTraceparentHeader, parseTraceparentHeader, } from './trace';
|
|
5
|
+
export type { CacheScope, DataBatchRequestItem, DataBatchRequestPayload, DataBatchResponseItem, DataBatchResponsePayload, DataBatchTransportEvent, DataBatchTransportOptions, DataBatchTransportTelemetryAttributes, DataMutationMode, DataRequestMode, HydrationEnvelope, HydrationEnvelopeValidationOptions, InvalidationEvent, InvalidationSubscriber, OperationDescriptor, RequestEnvelope, RequestEnvelopeValidationOptions, SelectionPlan, SelectionPlanValidationOptions, SelectionPlanValidationResult, TraceContext, } from './types';
|
|
6
|
+
export { DEFAULT_DATA_BATCH_ENDPOINT, DEFAULT_DATA_BATCH_HEADER, DEFAULT_DATA_ENVELOPE_HEADER, } from './types';
|
|
7
|
+
export { createHydrationEnvelope, createRequestEnvelope, validateHydrationEnvelope, validateRequestEnvelope, validateSelectionPlan, } from './validation';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CacheScope, InvalidationEvent, InvalidationSubscriber, OperationDescriptor } from './types';
|
|
2
|
+
export declare function createInvalidationEvent(input: {
|
|
3
|
+
sourceOperation: OperationDescriptor;
|
|
4
|
+
sourceScope: CacheScope;
|
|
5
|
+
targetNamespaces?: string[];
|
|
6
|
+
targetOperations?: OperationDescriptor[];
|
|
7
|
+
}): InvalidationEvent;
|
|
8
|
+
export declare function shouldApplyInvalidation(event: InvalidationEvent, subscriber: InvalidationSubscriber): boolean;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { TraceContext } from './types';
|
|
2
|
+
export declare function parseTraceparentHeader(header: string): TraceContext | null;
|
|
3
|
+
export declare function formatTraceparentHeader(trace: TraceContext): string;
|
|
4
|
+
export declare function deriveChildTraceContext(parent: TraceContext, childSpanId: string): TraceContext;
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Data-platform envelope (`x-modernjs-data-envelope`): the TRANSPORT/CACHE
|
|
3
|
+
* contract of the effect lane — protocol versioning, cache scope keys,
|
|
4
|
+
* selection plans, batching and hydration checksums.
|
|
5
|
+
*
|
|
6
|
+
* Boundary note (one envelope system per concern): cross-project
|
|
7
|
+
* AUTHORIZATION is the bff-core policy's job (`x-modernjs-bff-envelope` +
|
|
8
|
+
* operation contracts, evaluated server-side in both the hono and effect
|
|
9
|
+
* lanes). Nothing in this module is a trust boundary; treat every value
|
|
10
|
+
* here as client-asserted cache metadata.
|
|
11
|
+
*/
|
|
12
|
+
export type DataRequestMode = 'cache-first' | 'stale-while-revalidate' | 'network-only';
|
|
13
|
+
export type DataMutationMode = 'optimistic' | 'pessimistic' | 'fire-and-forget';
|
|
14
|
+
export type SelectionPlan = {
|
|
15
|
+
[field: string]: true | SelectionPlan;
|
|
16
|
+
};
|
|
17
|
+
export interface OperationDescriptor {
|
|
18
|
+
appNamespace: string;
|
|
19
|
+
apiId: string;
|
|
20
|
+
group: string;
|
|
21
|
+
endpoint: string;
|
|
22
|
+
schemaHash?: string;
|
|
23
|
+
version?: number;
|
|
24
|
+
}
|
|
25
|
+
export interface CacheScope {
|
|
26
|
+
appNamespace: string;
|
|
27
|
+
origin: string;
|
|
28
|
+
tenantId?: string;
|
|
29
|
+
userId?: string;
|
|
30
|
+
sessionId?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface TraceContext {
|
|
33
|
+
traceId: string;
|
|
34
|
+
spanId: string;
|
|
35
|
+
sampled: boolean;
|
|
36
|
+
parentSpanId?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface RequestEnvelope<Input = unknown> {
|
|
39
|
+
protocolVersion: 1;
|
|
40
|
+
operationId: string;
|
|
41
|
+
appNamespace: string;
|
|
42
|
+
origin: string;
|
|
43
|
+
requestMode: DataRequestMode;
|
|
44
|
+
mutationMode?: DataMutationMode;
|
|
45
|
+
scopeKey: string;
|
|
46
|
+
input: Input;
|
|
47
|
+
inputHash: string;
|
|
48
|
+
selectionPlan?: SelectionPlan;
|
|
49
|
+
selectionHash?: string;
|
|
50
|
+
traceparent?: string;
|
|
51
|
+
timestamp: number;
|
|
52
|
+
}
|
|
53
|
+
export interface HydrationEnvelope<Payload = unknown> {
|
|
54
|
+
protocolVersion: 1;
|
|
55
|
+
runtimeVersion: string;
|
|
56
|
+
appNamespace: string;
|
|
57
|
+
origin: string;
|
|
58
|
+
createdAt: number;
|
|
59
|
+
payload: Payload;
|
|
60
|
+
checksum: string;
|
|
61
|
+
}
|
|
62
|
+
export interface InvalidationEvent {
|
|
63
|
+
sourceNamespace: string;
|
|
64
|
+
sourceOperationId: string;
|
|
65
|
+
scopeKey: string;
|
|
66
|
+
targetNamespaces?: string[];
|
|
67
|
+
targetOperationIds?: string[];
|
|
68
|
+
}
|
|
69
|
+
export interface InvalidationSubscriber {
|
|
70
|
+
namespace: string;
|
|
71
|
+
operationIds?: string[];
|
|
72
|
+
scopeKey?: string;
|
|
73
|
+
acceptCrossNamespace?: boolean;
|
|
74
|
+
}
|
|
75
|
+
export interface DataBatchRequestItem {
|
|
76
|
+
id: string;
|
|
77
|
+
path: string;
|
|
78
|
+
method: string;
|
|
79
|
+
headers?: Record<string, string>;
|
|
80
|
+
body?: string;
|
|
81
|
+
}
|
|
82
|
+
export interface DataBatchRequestPayload {
|
|
83
|
+
protocolVersion: 1;
|
|
84
|
+
batchId: string;
|
|
85
|
+
sentAt: number;
|
|
86
|
+
items: DataBatchRequestItem[];
|
|
87
|
+
}
|
|
88
|
+
export interface DataBatchResponseItem {
|
|
89
|
+
id: string;
|
|
90
|
+
status: number;
|
|
91
|
+
headers?: Record<string, string>;
|
|
92
|
+
body?: string;
|
|
93
|
+
}
|
|
94
|
+
export interface DataBatchResponsePayload {
|
|
95
|
+
protocolVersion: 1;
|
|
96
|
+
batchId: string;
|
|
97
|
+
receivedAt: number;
|
|
98
|
+
items: DataBatchResponseItem[];
|
|
99
|
+
}
|
|
100
|
+
export interface DataBatchTransportEvent {
|
|
101
|
+
type: 'enqueue' | 'flush' | 'fallback' | 'disable';
|
|
102
|
+
endpoint: string;
|
|
103
|
+
batchId?: string;
|
|
104
|
+
size?: number;
|
|
105
|
+
reason?: string;
|
|
106
|
+
}
|
|
107
|
+
export type DataBatchTransportTelemetryAttributes = Record<string, string | number | boolean>;
|
|
108
|
+
export interface DataBatchTransportOptions {
|
|
109
|
+
endpoint?: string;
|
|
110
|
+
fetch?: (input: DataTransportRequestInfo, init?: RequestInit) => Promise<Response>;
|
|
111
|
+
flushIntervalMs?: number;
|
|
112
|
+
maxBatchSize?: number;
|
|
113
|
+
maxBatchBytes?: number;
|
|
114
|
+
requestTimeoutMs?: number;
|
|
115
|
+
allowedMethods?: string[];
|
|
116
|
+
onEvent?: (event: DataBatchTransportEvent) => void;
|
|
117
|
+
}
|
|
118
|
+
export interface SelectionPlanValidationOptions {
|
|
119
|
+
maxDepth?: number;
|
|
120
|
+
maxFields?: number;
|
|
121
|
+
allowedLeafPaths?: ReadonlyArray<string>;
|
|
122
|
+
}
|
|
123
|
+
export interface SelectionPlanValidationResult {
|
|
124
|
+
ok: boolean;
|
|
125
|
+
errors: string[];
|
|
126
|
+
stats: {
|
|
127
|
+
maxDepth: number;
|
|
128
|
+
fieldCount: number;
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
export interface RequestEnvelopeValidationOptions {
|
|
132
|
+
expectedProtocolVersion?: number;
|
|
133
|
+
expectedNamespace?: string;
|
|
134
|
+
expectedOrigin?: string;
|
|
135
|
+
requireTraceContext?: boolean;
|
|
136
|
+
}
|
|
137
|
+
export interface HydrationEnvelopeValidationOptions {
|
|
138
|
+
expectedProtocolVersion?: number;
|
|
139
|
+
expectedNamespace?: string;
|
|
140
|
+
expectedOrigin?: string;
|
|
141
|
+
expectedRuntimeVersion?: string;
|
|
142
|
+
}
|
|
143
|
+
export declare const DEFAULT_DATA_ENVELOPE_HEADER = "x-modernjs-data-envelope";
|
|
144
|
+
export declare const DEFAULT_DATA_BATCH_ENDPOINT = "/_data/batch";
|
|
145
|
+
export declare const DEFAULT_DATA_BATCH_HEADER = "x-modernjs-data-batch";
|
|
146
|
+
export type DataTransportRequestInfo = string | URL | Request;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { CacheScope, DataMutationMode, DataRequestMode, HydrationEnvelope, HydrationEnvelopeValidationOptions, OperationDescriptor, RequestEnvelope, RequestEnvelopeValidationOptions, SelectionPlan, SelectionPlanValidationOptions, SelectionPlanValidationResult, TraceContext } from './types';
|
|
2
|
+
export declare function validateSelectionPlan(plan: SelectionPlan, options?: SelectionPlanValidationOptions): SelectionPlanValidationResult;
|
|
3
|
+
export declare function createRequestEnvelope<Input>(input: {
|
|
4
|
+
operation: OperationDescriptor;
|
|
5
|
+
scope: CacheScope;
|
|
6
|
+
requestInput: Input;
|
|
7
|
+
selectionPlan?: SelectionPlan;
|
|
8
|
+
requestMode?: DataRequestMode;
|
|
9
|
+
mutationMode?: DataMutationMode;
|
|
10
|
+
traceContext?: TraceContext;
|
|
11
|
+
requireTraceContext?: boolean;
|
|
12
|
+
timestamp?: number;
|
|
13
|
+
protocolVersion?: 1;
|
|
14
|
+
}): RequestEnvelope<Input>;
|
|
15
|
+
export declare function validateRequestEnvelope(envelope: RequestEnvelope, options?: RequestEnvelopeValidationOptions): {
|
|
16
|
+
ok: boolean;
|
|
17
|
+
errors: string[];
|
|
18
|
+
};
|
|
19
|
+
export declare function createHydrationEnvelope<Payload>(input: {
|
|
20
|
+
runtimeVersion: string;
|
|
21
|
+
scope: Pick<CacheScope, 'appNamespace' | 'origin'>;
|
|
22
|
+
payload: Payload;
|
|
23
|
+
createdAt?: number;
|
|
24
|
+
protocolVersion?: 1;
|
|
25
|
+
}): HydrationEnvelope<Payload>;
|
|
26
|
+
export declare function validateHydrationEnvelope(envelope: HydrationEnvelope, options?: HydrationEnvelopeValidationOptions): {
|
|
27
|
+
ok: boolean;
|
|
28
|
+
errors: string[];
|
|
29
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const before: string[];
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ServerPluginAPI } from '@modern-js/server-core';
|
|
2
|
+
import { type ResolvedCrossProjectPolicy } from '../../../utils/crossProjectServerPolicy';
|
|
3
|
+
import type { EffectApiModule } from '../module';
|
|
4
|
+
export declare function resolveEffectAdapterCrossProjectPolicy(api: ServerPluginAPI, prefix: string, mod: EffectApiModule | null): Promise<ResolvedCrossProjectPolicy>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ServerPluginAPI } from '@modern-js/server-core';
|
|
2
|
+
import { type ResolvedCrossProjectPolicy } from '../../../utils/crossProjectServerPolicy';
|
|
3
|
+
import { type EffectApiModule } from '../module';
|
|
4
|
+
export declare function loadEffectAdapterHandlerFromModule(api: ServerPluginAPI, mod: EffectApiModule, crossProjectPolicy: ResolvedCrossProjectPolicy | undefined): Promise<{
|
|
5
|
+
handler: import("../module").EffectBffRequestHandler;
|
|
6
|
+
dispose?: () => Promise<void>;
|
|
7
|
+
} | null>;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { ServerMiddleware, ServerPluginAPI } from '@modern-js/server-core';
|
|
2
|
-
import {
|
|
2
|
+
import type { ResolvedCrossProjectPolicy } from '../../utils/crossProjectServerPolicy';
|
|
3
3
|
interface MiddlewareOptions {
|
|
4
4
|
prefix: string;
|
|
5
5
|
enableHandleWeb?: boolean;
|
|
6
6
|
}
|
|
7
7
|
export declare class EffectAdapter {
|
|
8
|
-
api
|
|
8
|
+
private api;
|
|
9
9
|
isEffect: boolean;
|
|
10
|
-
effectMiddleware
|
|
11
|
-
crossProjectPolicy
|
|
10
|
+
effectMiddleware?: ServerMiddleware;
|
|
11
|
+
crossProjectPolicy?: ResolvedCrossProjectPolicy;
|
|
12
12
|
private handler;
|
|
13
13
|
private dispose;
|
|
14
14
|
private prefix;
|
|
@@ -16,16 +16,7 @@ export declare class EffectAdapter {
|
|
|
16
16
|
registerMiddleware: (options: MiddlewareOptions) => Promise<void>;
|
|
17
17
|
onApiHandlersUpdated: () => Promise<void>;
|
|
18
18
|
private resolveEntryFile;
|
|
19
|
-
/**
|
|
20
|
-
* Resolves the cross-project policy from the reflected HttpApi endpoints so
|
|
21
|
-
* the expected operation contracts match the hashes the client generators
|
|
22
|
-
* stamp into generated SDKs.
|
|
23
|
-
*/
|
|
24
|
-
private refreshCrossProjectPolicy;
|
|
25
|
-
private loadEffectHandlerFromModule;
|
|
26
19
|
private reloadHandler;
|
|
27
20
|
private disposeCurrentHandler;
|
|
28
|
-
private handleRuntimeError;
|
|
29
|
-
private ensureJsonContext;
|
|
30
21
|
}
|
|
31
22
|
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mandatory delivery-unit identity for public backend federation loads
|
|
3
|
+
* (MV-G23, ADR-0019 / RESOLUTION-0001 §2.3): consumers pass the record's
|
|
4
|
+
* `unitId` + `buildMarker` through to identity validation.
|
|
5
|
+
*/
|
|
6
|
+
export type BackendFederationExpectedIdentity = {
|
|
7
|
+
unitId: string;
|
|
8
|
+
buildMarker: string;
|
|
9
|
+
};
|
|
10
|
+
export type BackendFederationIdentityIssue = {
|
|
11
|
+
path: string;
|
|
12
|
+
message: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Shared expected-identity validation for loaded backend federation modules.
|
|
16
|
+
* Compares the expose's `backendFederationContract.compatibility` identity
|
|
17
|
+
* (`unitId`, `build`) against the consumer's expected delivery-unit identity.
|
|
18
|
+
* Missing identity metadata is an error: with an expectation present there is
|
|
19
|
+
* no legacy escape hatch.
|
|
20
|
+
*/
|
|
21
|
+
export declare function validateExpectedBackendFederationIdentity(loaded: unknown, expected: BackendFederationExpectedIdentity, options?: {
|
|
22
|
+
/**
|
|
23
|
+
* Tolerate exposes that declare no identity metadata (legacy modules).
|
|
24
|
+
* Mismatching declared values still fail. Used by the manifest adapter,
|
|
25
|
+
* whose manifest-side identity is already validated against `expected`;
|
|
26
|
+
* the raw identity-aware loader is strict.
|
|
27
|
+
*/
|
|
28
|
+
allowMissingIdentityMetadata?: boolean;
|
|
29
|
+
}): BackendFederationIdentityIssue[];
|
|
30
|
+
export declare function formatBackendFederationIdentityIssues(issues: BackendFederationIdentityIssue[]): string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { BackendFederatedEffectApiModule, BackendFederationIdentityLoadOptions, BackendFederationLoadOptions } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Load a federated Effect API with mandatory delivery-unit identity
|
|
4
|
+
* validation (MV-G23): the loaded expose's compatibility metadata must match
|
|
5
|
+
* `expected.unitId` + `expected.buildMarker`.
|
|
6
|
+
*/
|
|
7
|
+
export declare function loadBackendFederatedEffectApi(options: BackendFederationIdentityLoadOptions): Promise<BackendFederatedEffectApiModule>;
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated Pass `expected` (delivery-unit `unitId` + `buildMarker`).
|
|
10
|
+
* Loads without an expected identity cannot be validated against a resolved
|
|
11
|
+
* delivery-unit record and emit a runtime warning.
|
|
12
|
+
*/
|
|
13
|
+
export declare function loadBackendFederatedEffectApi(options: BackendFederationLoadOptions): Promise<BackendFederatedEffectApiModule>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ModuleFederationRuntimePlugin } from '@module-federation/runtime';
|
|
2
|
+
import type { BackendFederationLoadEntryPluginOptions } from './types';
|
|
3
|
+
export declare function createBackendFederationLoadEntryPlugin(options: BackendFederationLoadEntryPluginOptions): ModuleFederationRuntimePlugin;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { BACKEND_FEDERATION_EFFECT_EXPOSE } from '@modern-js/utils/universal';
|
|
2
|
+
import type { ModuleFederation, ModuleFederationRuntimePlugin } from '@module-federation/runtime';
|
|
3
|
+
import type { EffectApiModule } from '../module';
|
|
4
|
+
import type { BackendFederationExpectedIdentity } from './identity';
|
|
5
|
+
export type BackendFederationRemote = {
|
|
6
|
+
name: string;
|
|
7
|
+
entry: string;
|
|
8
|
+
type?: 'commonjs-module' | 'module' | string;
|
|
9
|
+
entryGlobalName?: string;
|
|
10
|
+
shareScope?: string | string[];
|
|
11
|
+
expose?: typeof BACKEND_FEDERATION_EFFECT_EXPOSE;
|
|
12
|
+
};
|
|
13
|
+
export type BackendFederationRuntimeOptions = {
|
|
14
|
+
hostName: string;
|
|
15
|
+
remote?: BackendFederationRemote;
|
|
16
|
+
remotes?: BackendFederationRemote[];
|
|
17
|
+
plugins?: ModuleFederationRuntimePlugin[];
|
|
18
|
+
};
|
|
19
|
+
export type BackendFederationEntryExports = {
|
|
20
|
+
get: (id: string) => (() => Promise<unknown> | unknown) | Promise<() => Promise<unknown> | unknown>;
|
|
21
|
+
init?: (...args: unknown[]) => void | Promise<void>;
|
|
22
|
+
};
|
|
23
|
+
export type BackendFederatedEffectApiModule = EffectApiModule & {
|
|
24
|
+
backendFederationContract?: {
|
|
25
|
+
compatibility?: {
|
|
26
|
+
build?: unknown;
|
|
27
|
+
contractVersion?: unknown;
|
|
28
|
+
nodeAdapterVersion?: unknown;
|
|
29
|
+
packageName?: unknown;
|
|
30
|
+
/**
|
|
31
|
+
* ADR-0019 delivery-unit identity root, generator-emitted alongside
|
|
32
|
+
* manifest's `versionBoundary.deliveryUnit`. Additive/optional.
|
|
33
|
+
*/
|
|
34
|
+
unitId?: unknown;
|
|
35
|
+
/** ADR-0019 delivery-unit source revision. Additive/optional. */
|
|
36
|
+
sourceRevision?: unknown;
|
|
37
|
+
};
|
|
38
|
+
name?: unknown;
|
|
39
|
+
role?: unknown;
|
|
40
|
+
runtimeFramework?: unknown;
|
|
41
|
+
strictEffectApproach?: unknown;
|
|
42
|
+
};
|
|
43
|
+
contract?: unknown;
|
|
44
|
+
operationContexts?: unknown;
|
|
45
|
+
runtime?: unknown;
|
|
46
|
+
};
|
|
47
|
+
export type BackendFederationLoadEntryPluginOptions = {
|
|
48
|
+
resolveEntry: (remote: BackendFederationRemote) => BackendFederationEntryExports | undefined | Promise<BackendFederationEntryExports | undefined>;
|
|
49
|
+
};
|
|
50
|
+
export type BackendFederationLoadOptions = BackendFederationRuntimeOptions & {
|
|
51
|
+
runtime?: ModuleFederation;
|
|
52
|
+
remoteName?: string;
|
|
53
|
+
expose?: string;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Identity-aware public load options (MV-G23): the expected delivery-unit
|
|
57
|
+
* `unitId` + `buildMarker` are mandatory and validated against the loaded
|
|
58
|
+
* expose's compatibility metadata.
|
|
59
|
+
*/
|
|
60
|
+
export type BackendFederationIdentityLoadOptions = BackendFederationLoadOptions & {
|
|
61
|
+
expected: BackendFederationExpectedIdentity;
|
|
62
|
+
/**
|
|
63
|
+
* Tolerate legacy exposes without identity metadata (mismatching declared
|
|
64
|
+
* values still fail). Prefer leaving this unset: identity-less exposes
|
|
65
|
+
* cannot be validated against a resolved delivery-unit record.
|
|
66
|
+
*/
|
|
67
|
+
allowMissingIdentityMetadata?: boolean;
|
|
68
|
+
};
|
|
69
|
+
export type BackendFederationLoadEntryPlugin = ModuleFederationRuntimePlugin & {
|
|
70
|
+
loadEntry?: (args: {
|
|
71
|
+
remoteInfo: BackendFederationRemote;
|
|
72
|
+
}) => BackendFederationEntryExports | undefined | Promise<BackendFederationEntryExports | undefined>;
|
|
73
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type BackendFederationManifestAdapterErrorCode = 'manifest_unavailable' | 'manifest_invalid' | 'remote_unavailable' | 'strict_effect_required' | 'timeout' | 'version_mismatch';
|
|
2
|
+
export declare const BACKEND_FEDERATION_MANIFEST_ADAPTER_FAILURE_EVENT: 'modernjs:microvertical-server-fallback';
|
|
3
|
+
export declare class BackendFederationManifestAdapterError extends Error {
|
|
4
|
+
code: BackendFederationManifestAdapterErrorCode;
|
|
5
|
+
readonly failureEvent: "modernjs:microvertical-server-fallback";
|
|
6
|
+
details?: Record<string, unknown>;
|
|
7
|
+
constructor(code: BackendFederationManifestAdapterErrorCode, message: string, cause?: unknown, details?: Record<string, unknown>);
|
|
8
|
+
}
|
|
9
|
+
export declare function assertManifestAdapter(condition: unknown, code: BackendFederationManifestAdapterErrorCode, message: string): asserts condition;
|
|
10
|
+
export declare function assertVersionValue(actual: string | undefined, expected: string | undefined, label: string, details?: Record<string, unknown>): void;
|
|
11
|
+
export declare function assertConsistentValue(left: string | undefined, right: string | undefined, label: string, details?: Record<string, unknown>): void;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type { BackendFederationManifestAdapterErrorCode } from './errors';
|
|
2
|
+
export { BACKEND_FEDERATION_MANIFEST_ADAPTER_FAILURE_EVENT, BackendFederationManifestAdapterError, } from './errors';
|
|
3
|
+
export { loadBackendFederatedEffectApiFromManifest } from './load';
|
|
4
|
+
export { loadBackendFederationManifest } from './reference';
|
|
5
|
+
export { resolveBackendFederationRemoteFromManifest } from './remote';
|
|
6
|
+
export type { BackendFederationManifest, BackendFederationManifestAdapterFallback, BackendFederationManifestAdapterOptions, BackendFederationManifestFetchResponse, BackendFederationVersionBoundaryExpectation, } from './types';
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type BackendFederatedEffectApiModule } from '../backend-federation';
|
|
2
|
+
import type { BackendFederationManifestAdapterOptions } from './types';
|
|
3
|
+
export declare function loadBackendFederatedEffectApiFromManifest(options: BackendFederationManifestAdapterOptions): Promise<BackendFederatedEffectApiModule>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { BackendFederationManifest } from './types';
|
|
2
|
+
export declare function stringValue(value: unknown): string | undefined;
|
|
3
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
4
|
+
export declare function recordField(value: Record<string, unknown> | undefined, field: string): Record<string, unknown> | undefined;
|
|
5
|
+
export declare function resolveRemoteEntryFromMetadata(manifest: BackendFederationManifest): string | undefined;
|
|
6
|
+
export declare function backendFederationMetadata(manifest: BackendFederationManifest): Record<string, unknown> | undefined;
|
|
7
|
+
export declare function versionBoundaryMetadata(manifest: BackendFederationManifest): Record<string, unknown> | undefined;
|
|
8
|
+
export declare function deliveryUnitMetadata(record: Record<string, unknown> | undefined): Record<string, unknown> | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Resolves the delivery-unit identity root for a manifest (ADR-0019 §3):
|
|
11
|
+
* prefers `versionBoundary.deliveryUnit`, falls back to the top-level
|
|
12
|
+
* `backendFederation.deliveryUnit` record. Both are additive/optional so
|
|
13
|
+
* legacy manifests without delivery-unit metadata continue to validate.
|
|
14
|
+
*/
|
|
15
|
+
export declare function manifestDeliveryUnit(backendFederation: Record<string, unknown> | undefined, boundary: Record<string, unknown> | undefined): {
|
|
16
|
+
boundary: Record<string, unknown> | undefined;
|
|
17
|
+
top: Record<string, unknown> | undefined;
|
|
18
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { BackendFederationManifest, BackendFederationManifestAdapterOptions } from './types';
|
|
2
|
+
export declare function resolveBackendFederationManifestReference(options: Pick<BackendFederationManifestAdapterOptions, 'env' | 'manifestEnv' | 'manifestPath' | 'manifestUrl'>): string | undefined;
|
|
3
|
+
export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number | undefined, label: string): Promise<T>;
|
|
4
|
+
export declare function loadBackendFederationManifest(options: Pick<BackendFederationManifestAdapterOptions, 'allowLegacyManifest' | 'env' | 'expected' | 'fetch' | 'manifest' | 'manifestEnv' | 'manifestPath' | 'manifestUrl' | 'timeoutMs'>): Promise<BackendFederationManifest>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type BackendFederationRemote } from '../backend-federation';
|
|
2
|
+
import type { BackendFederationManifest } from './types';
|
|
3
|
+
export declare function resolveBackendFederationRemoteFromManifest(manifest: BackendFederationManifest, remoteOverride?: Partial<BackendFederationRemote>): BackendFederationRemote;
|