raffel 1.0.6 → 1.0.7
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/README.md +80 -33
- package/dist/adapters/grpc.d.ts +2 -2
- package/dist/adapters/grpc.d.ts.map +1 -1
- package/dist/adapters/grpc.js +37 -7
- package/dist/adapters/grpc.js.map +1 -1
- package/dist/adapters/http.d.ts +2 -2
- package/dist/adapters/http.d.ts.map +1 -1
- package/dist/adapters/http.js +56 -2
- package/dist/adapters/http.js.map +1 -1
- package/dist/adapters/inbound/grpc.d.ts +9 -0
- package/dist/adapters/inbound/grpc.d.ts.map +1 -0
- package/dist/adapters/inbound/grpc.js +8 -0
- package/dist/adapters/inbound/grpc.js.map +1 -0
- package/dist/adapters/inbound/http.d.ts +9 -0
- package/dist/adapters/inbound/http.d.ts.map +1 -0
- package/dist/adapters/inbound/http.js +8 -0
- package/dist/adapters/inbound/http.js.map +1 -0
- package/dist/adapters/inbound/index.d.ts +22 -0
- package/dist/adapters/inbound/index.d.ts.map +1 -0
- package/dist/adapters/inbound/index.js +22 -0
- package/dist/adapters/inbound/index.js.map +1 -0
- package/dist/adapters/inbound/jsonrpc.d.ts +9 -0
- package/dist/adapters/inbound/jsonrpc.d.ts.map +1 -0
- package/dist/adapters/inbound/jsonrpc.js +8 -0
- package/dist/adapters/inbound/jsonrpc.js.map +1 -0
- package/dist/adapters/inbound/tcp.d.ts +9 -0
- package/dist/adapters/inbound/tcp.d.ts.map +1 -0
- package/dist/adapters/inbound/tcp.js +8 -0
- package/dist/adapters/inbound/tcp.js.map +1 -0
- package/dist/adapters/inbound/udp.d.ts +9 -0
- package/dist/adapters/inbound/udp.d.ts.map +1 -0
- package/dist/adapters/inbound/udp.js +8 -0
- package/dist/adapters/inbound/udp.js.map +1 -0
- package/dist/adapters/inbound/utils/connection-filter.d.ts +9 -0
- package/dist/adapters/inbound/utils/connection-filter.d.ts.map +1 -0
- package/dist/adapters/inbound/utils/connection-filter.js +8 -0
- package/dist/adapters/inbound/utils/connection-filter.js.map +1 -0
- package/dist/adapters/inbound/websocket.d.ts +9 -0
- package/dist/adapters/inbound/websocket.d.ts.map +1 -0
- package/dist/adapters/inbound/websocket.js +8 -0
- package/dist/adapters/inbound/websocket.js.map +1 -0
- package/dist/adapters/index.d.ts +12 -0
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +13 -0
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/jsonrpc.d.ts.map +1 -1
- package/dist/adapters/jsonrpc.js +39 -5
- package/dist/adapters/jsonrpc.js.map +1 -1
- package/dist/adapters/outbound/cache/file.d.ts +6 -0
- package/dist/adapters/outbound/cache/file.d.ts.map +1 -0
- package/dist/adapters/outbound/cache/file.js +6 -0
- package/dist/adapters/outbound/cache/file.js.map +1 -0
- package/dist/adapters/outbound/cache/index.d.ts +9 -0
- package/dist/adapters/outbound/cache/index.d.ts.map +1 -0
- package/dist/adapters/outbound/cache/index.js +9 -0
- package/dist/adapters/outbound/cache/index.js.map +1 -0
- package/dist/adapters/outbound/cache/memory.d.ts +6 -0
- package/dist/adapters/outbound/cache/memory.d.ts.map +1 -0
- package/dist/adapters/outbound/cache/memory.js +6 -0
- package/dist/adapters/outbound/cache/memory.js.map +1 -0
- package/dist/adapters/outbound/cache/redis.d.ts +6 -0
- package/dist/adapters/outbound/cache/redis.d.ts.map +1 -0
- package/dist/adapters/outbound/cache/redis.js +6 -0
- package/dist/adapters/outbound/cache/redis.js.map +1 -0
- package/dist/adapters/outbound/index.d.ts +15 -0
- package/dist/adapters/outbound/index.d.ts.map +1 -0
- package/dist/adapters/outbound/index.js +17 -0
- package/dist/adapters/outbound/index.js.map +1 -0
- package/dist/adapters/outbound/logger/index.d.ts +7 -0
- package/dist/adapters/outbound/logger/index.d.ts.map +1 -0
- package/dist/adapters/outbound/logger/index.js +7 -0
- package/dist/adapters/outbound/logger/index.js.map +1 -0
- package/dist/adapters/outbound/logger/pino.d.ts +12 -0
- package/dist/adapters/outbound/logger/pino.d.ts.map +1 -0
- package/dist/adapters/outbound/logger/pino.js +58 -0
- package/dist/adapters/outbound/logger/pino.js.map +1 -0
- package/dist/adapters/outbound/rate-limit/filesystem.d.ts +6 -0
- package/dist/adapters/outbound/rate-limit/filesystem.d.ts.map +1 -0
- package/dist/adapters/outbound/rate-limit/filesystem.js +6 -0
- package/dist/adapters/outbound/rate-limit/filesystem.js.map +1 -0
- package/dist/adapters/outbound/rate-limit/index.d.ts +10 -0
- package/dist/adapters/outbound/rate-limit/index.d.ts.map +1 -0
- package/dist/adapters/outbound/rate-limit/index.js +10 -0
- package/dist/adapters/outbound/rate-limit/index.js.map +1 -0
- package/dist/adapters/outbound/rate-limit/memory.d.ts +8 -0
- package/dist/adapters/outbound/rate-limit/memory.d.ts.map +1 -0
- package/dist/adapters/outbound/rate-limit/memory.js +8 -0
- package/dist/adapters/outbound/rate-limit/memory.js.map +1 -0
- package/dist/adapters/outbound/rate-limit/redis.d.ts +6 -0
- package/dist/adapters/outbound/rate-limit/redis.d.ts.map +1 -0
- package/dist/adapters/outbound/rate-limit/redis.js +6 -0
- package/dist/adapters/outbound/rate-limit/redis.js.map +1 -0
- package/dist/adapters/outbound/rate-limit/s3db.d.ts +6 -0
- package/dist/adapters/outbound/rate-limit/s3db.d.ts.map +1 -0
- package/dist/adapters/outbound/rate-limit/s3db.js +6 -0
- package/dist/adapters/outbound/rate-limit/s3db.js.map +1 -0
- package/dist/adapters/outbound/session/index.d.ts +12 -0
- package/dist/adapters/outbound/session/index.d.ts.map +1 -0
- package/dist/adapters/outbound/session/index.js +9 -0
- package/dist/adapters/outbound/session/index.js.map +1 -0
- package/dist/adapters/outbound/session/memory.d.ts +9 -0
- package/dist/adapters/outbound/session/memory.d.ts.map +1 -0
- package/dist/adapters/outbound/session/memory.js +8 -0
- package/dist/adapters/outbound/session/memory.js.map +1 -0
- package/dist/adapters/outbound/session/redis.d.ts +9 -0
- package/dist/adapters/outbound/session/redis.d.ts.map +1 -0
- package/dist/adapters/outbound/session/redis.js +8 -0
- package/dist/adapters/outbound/session/redis.js.map +1 -0
- package/dist/adapters/outbound/session/s3db.d.ts +9 -0
- package/dist/adapters/outbound/session/s3db.d.ts.map +1 -0
- package/dist/adapters/outbound/session/s3db.js +8 -0
- package/dist/adapters/outbound/session/s3db.js.map +1 -0
- package/dist/adapters/tcp.d.ts +2 -2
- package/dist/adapters/tcp.d.ts.map +1 -1
- package/dist/adapters/tcp.js +16 -3
- package/dist/adapters/tcp.js.map +1 -1
- package/dist/adapters/udp.d.ts +2 -2
- package/dist/adapters/udp.d.ts.map +1 -1
- package/dist/adapters/udp.js +16 -4
- package/dist/adapters/udp.js.map +1 -1
- package/dist/adapters/websocket.d.ts +2 -2
- package/dist/adapters/websocket.d.ts.map +1 -1
- package/dist/adapters/websocket.js +33 -9
- package/dist/adapters/websocket.js.map +1 -1
- package/dist/application/config-preview.d.ts +147 -0
- package/dist/application/config-preview.d.ts.map +1 -0
- package/dist/application/config-preview.js +122 -0
- package/dist/application/config-preview.js.map +1 -0
- package/dist/application/index.d.ts +13 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +13 -0
- package/dist/application/index.js.map +1 -0
- package/dist/application/registration.d.ts +71 -0
- package/dist/application/registration.d.ts.map +1 -0
- package/dist/application/registration.js +99 -0
- package/dist/application/registration.js.map +1 -0
- package/dist/application/runtime-preview.d.ts +67 -0
- package/dist/application/runtime-preview.d.ts.map +1 -0
- package/dist/application/runtime-preview.js +43 -0
- package/dist/application/runtime-preview.js.map +1 -0
- package/dist/bootstrap/config-normalization.d.ts +10 -0
- package/dist/bootstrap/config-normalization.d.ts.map +1 -0
- package/dist/bootstrap/config-normalization.js +14 -0
- package/dist/bootstrap/config-normalization.js.map +1 -0
- package/dist/bootstrap/create-server.d.ts +15 -0
- package/dist/bootstrap/create-server.d.ts.map +1 -0
- package/dist/bootstrap/create-server.js +17 -0
- package/dist/bootstrap/create-server.js.map +1 -0
- package/dist/bootstrap/index.d.ts +11 -0
- package/dist/bootstrap/index.d.ts.map +1 -0
- package/dist/bootstrap/index.js +13 -0
- package/dist/bootstrap/index.js.map +1 -0
- package/dist/bootstrap/protocol-wiring.d.ts +13 -0
- package/dist/bootstrap/protocol-wiring.d.ts.map +1 -0
- package/dist/bootstrap/protocol-wiring.js +11 -0
- package/dist/bootstrap/protocol-wiring.js.map +1 -0
- package/dist/channels/channel-manager.d.ts +2 -1
- package/dist/channels/channel-manager.d.ts.map +1 -1
- package/dist/channels/channel-manager.js +52 -19
- package/dist/channels/channel-manager.js.map +1 -1
- package/dist/core/registry.d.ts +4 -0
- package/dist/core/registry.d.ts.map +1 -1
- package/dist/core/registry.js +23 -3
- package/dist/core/registry.js.map +1 -1
- package/dist/core/router.d.ts.map +1 -1
- package/dist/core/router.js +61 -10
- package/dist/core/router.js.map +1 -1
- package/dist/docs/generators/code-samples.d.ts.map +1 -1
- package/dist/docs/generators/code-samples.js +7 -75
- package/dist/docs/generators/code-samples.js.map +1 -1
- package/dist/docs/generators/grpc-generator.js +2 -2
- package/dist/docs/generators/grpc-generator.js.map +1 -1
- package/dist/docs/generators/http-generator.js +3 -2
- package/dist/docs/generators/http-generator.js.map +1 -1
- package/dist/docs/generators/index.d.ts +1 -1
- package/dist/docs/generators/index.d.ts.map +1 -1
- package/dist/docs/generators/index.js +1 -1
- package/dist/docs/generators/index.js.map +1 -1
- package/dist/docs/generators/jsonrpc-generator.js +2 -2
- package/dist/docs/generators/jsonrpc-generator.js.map +1 -1
- package/dist/docs/generators/schema-converter.d.ts +3 -3
- package/dist/docs/generators/schema-converter.d.ts.map +1 -1
- package/dist/docs/generators/schema-converter.js +8 -60
- package/dist/docs/generators/schema-converter.js.map +1 -1
- package/dist/docs/generators/streams-generator.js +2 -2
- package/dist/docs/generators/streams-generator.js.map +1 -1
- package/dist/docs/generators/tcp-generator.js +2 -2
- package/dist/docs/generators/tcp-generator.js.map +1 -1
- package/dist/docs/generators/udp-generator.js +2 -2
- package/dist/docs/generators/udp-generator.js.map +1 -1
- package/dist/docs/generators/websocket-generator.js +3 -3
- package/dist/docs/generators/websocket-generator.js.map +1 -1
- package/dist/docs/index.d.ts +1 -1
- package/dist/docs/index.d.ts.map +1 -1
- package/dist/docs/index.js +1 -1
- package/dist/docs/index.js.map +1 -1
- package/dist/docs/openapi/generator.d.ts +2 -0
- package/dist/docs/openapi/generator.d.ts.map +1 -1
- package/dist/docs/openapi/generator.js +16 -51
- package/dist/docs/openapi/generator.js.map +1 -1
- package/dist/dx/index.d.ts +2 -0
- package/dist/dx/index.d.ts.map +1 -1
- package/dist/dx/index.js +1 -0
- package/dist/dx/index.js.map +1 -1
- package/dist/dx/scaffold/index.d.ts +32 -0
- package/dist/dx/scaffold/index.d.ts.map +1 -0
- package/dist/dx/scaffold/index.js +471 -0
- package/dist/dx/scaffold/index.js.map +1 -0
- package/dist/graphql/adapter.d.ts.map +1 -1
- package/dist/graphql/adapter.js +58 -6
- package/dist/graphql/adapter.js.map +1 -1
- package/dist/graphql/schema-generator.d.ts +2 -2
- package/dist/graphql/schema-generator.d.ts.map +1 -1
- package/dist/graphql/schema-generator.js +228 -215
- package/dist/graphql/schema-generator.js.map +1 -1
- package/dist/http/app.d.ts +9 -4
- package/dist/http/app.d.ts.map +1 -1
- package/dist/http/app.js +125 -50
- package/dist/http/app.js.map +1 -1
- package/dist/http/context.d.ts +8 -1
- package/dist/http/context.d.ts.map +1 -1
- package/dist/http/context.js +2 -1
- package/dist/http/context.js.map +1 -1
- package/dist/http/cookie.d.ts +2 -2
- package/dist/http/cookie.js +1 -1
- package/dist/http/cors.d.ts +1 -1
- package/dist/http/cors.js +1 -1
- package/dist/http/guards.d.ts.map +1 -1
- package/dist/http/guards.js +38 -28
- package/dist/http/guards.js.map +1 -1
- package/dist/http/index.d.ts +1 -1
- package/dist/http/index.js +2 -2
- package/dist/http/index.js.map +1 -1
- package/dist/http/stream-auth.d.ts +1 -1
- package/dist/http/stream-auth.d.ts.map +1 -1
- package/dist/http/stream-auth.js +6 -5
- package/dist/http/stream-auth.js.map +1 -1
- package/dist/index.d.ts +23 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -3
- package/dist/index.js.map +1 -1
- package/dist/inspect/contracts.d.ts +47 -0
- package/dist/inspect/contracts.d.ts.map +1 -0
- package/dist/inspect/contracts.js +237 -0
- package/dist/inspect/contracts.js.map +1 -0
- package/dist/inspect/format-utils.d.ts +18 -0
- package/dist/inspect/format-utils.d.ts.map +1 -0
- package/dist/inspect/format-utils.js +55 -0
- package/dist/inspect/format-utils.js.map +1 -0
- package/dist/inspect/index.d.ts +13 -0
- package/dist/inspect/index.d.ts.map +1 -0
- package/dist/inspect/index.js +8 -0
- package/dist/inspect/index.js.map +1 -0
- package/dist/inspect/loader.d.ts +13 -0
- package/dist/inspect/loader.d.ts.map +1 -0
- package/dist/inspect/loader.js +115 -0
- package/dist/inspect/loader.js.map +1 -0
- package/dist/inspect/playground-html.d.ts +8 -0
- package/dist/inspect/playground-html.d.ts.map +1 -0
- package/dist/inspect/playground-html.js +381 -0
- package/dist/inspect/playground-html.js.map +1 -0
- package/dist/inspect/playground-invokers.d.ts +37 -0
- package/dist/inspect/playground-invokers.d.ts.map +1 -0
- package/dist/inspect/playground-invokers.js +950 -0
- package/dist/inspect/playground-invokers.js.map +1 -0
- package/dist/inspect/playground.d.ts +97 -0
- package/dist/inspect/playground.d.ts.map +1 -0
- package/dist/inspect/playground.js +412 -0
- package/dist/inspect/playground.js.map +1 -0
- package/dist/inspect/reports.d.ts +52 -0
- package/dist/inspect/reports.d.ts.map +1 -0
- package/dist/inspect/reports.js +400 -0
- package/dist/inspect/reports.js.map +1 -0
- package/dist/inspect/runtime-graph.d.ts +52 -0
- package/dist/inspect/runtime-graph.d.ts.map +1 -0
- package/dist/inspect/runtime-graph.js +739 -0
- package/dist/inspect/runtime-graph.js.map +1 -0
- package/dist/inspect/schema-samples.d.ts +18 -0
- package/dist/inspect/schema-samples.d.ts.map +1 -0
- package/dist/inspect/schema-samples.js +137 -0
- package/dist/inspect/schema-samples.js.map +1 -0
- package/dist/inspect/types.d.ts +146 -0
- package/dist/inspect/types.d.ts.map +1 -0
- package/dist/inspect/types.js +2 -0
- package/dist/inspect/types.js.map +1 -0
- package/dist/mcp/cli.d.ts +11 -12
- package/dist/mcp/cli.d.ts.map +1 -1
- package/dist/mcp/cli.js +303 -65
- package/dist/mcp/cli.js.map +1 -1
- package/dist/mcp/docs/patterns.d.ts.map +1 -1
- package/dist/mcp/docs/patterns.js +82 -29
- package/dist/mcp/docs/patterns.js.map +1 -1
- package/dist/mcp/docs/quickstart.d.ts +1 -1
- package/dist/mcp/docs/quickstart.d.ts.map +1 -1
- package/dist/mcp/docs/quickstart.js +65 -25
- package/dist/mcp/docs/quickstart.js.map +1 -1
- package/dist/mcp/resources/index.d.ts.map +1 -1
- package/dist/mcp/resources/index.js +82 -5
- package/dist/mcp/resources/index.js.map +1 -1
- package/dist/mcp/tools/definitions.d.ts.map +1 -1
- package/dist/mcp/tools/definitions.js +36 -0
- package/dist/mcp/tools/definitions.js.map +1 -1
- package/dist/mcp/tools/handlers.d.ts.map +1 -1
- package/dist/mcp/tools/handlers.js +148 -12
- package/dist/mcp/tools/handlers.js.map +1 -1
- package/dist/middleware/auth.d.ts.map +1 -1
- package/dist/middleware/auth.js +3 -2
- package/dist/middleware/auth.js.map +1 -1
- package/dist/mock-server/cli.d.ts +14 -0
- package/dist/mock-server/cli.d.ts.map +1 -0
- package/dist/mock-server/cli.js +314 -0
- package/dist/mock-server/cli.js.map +1 -0
- package/dist/mock-server/fake-data.d.ts +14 -0
- package/dist/mock-server/fake-data.d.ts.map +1 -0
- package/dist/mock-server/fake-data.js +21 -0
- package/dist/mock-server/fake-data.js.map +1 -0
- package/dist/mock-server/index.d.ts +69 -0
- package/dist/mock-server/index.d.ts.map +1 -0
- package/dist/mock-server/index.js +400 -0
- package/dist/mock-server/index.js.map +1 -0
- package/dist/mock-server/route-extractor.d.ts +40 -0
- package/dist/mock-server/route-extractor.d.ts.map +1 -0
- package/dist/mock-server/route-extractor.js +211 -0
- package/dist/mock-server/route-extractor.js.map +1 -0
- package/dist/mock-server/types.d.ts +64 -0
- package/dist/mock-server/types.d.ts.map +1 -0
- package/dist/mock-server/types.js +5 -0
- package/dist/mock-server/types.js.map +1 -0
- package/dist/policy/runtime.d.ts +7 -0
- package/dist/policy/runtime.d.ts.map +1 -0
- package/dist/policy/runtime.js +82 -0
- package/dist/policy/runtime.js.map +1 -0
- package/dist/ports/index.d.ts +18 -0
- package/dist/ports/index.d.ts.map +1 -0
- package/dist/ports/index.js +11 -0
- package/dist/ports/index.js.map +1 -0
- package/dist/ports/outbound/cache-driver.d.ts +9 -0
- package/dist/ports/outbound/cache-driver.d.ts.map +1 -0
- package/dist/ports/outbound/cache-driver.js +9 -0
- package/dist/ports/outbound/cache-driver.js.map +1 -0
- package/dist/ports/outbound/cache-store.d.ts +8 -0
- package/dist/ports/outbound/cache-store.d.ts.map +1 -0
- package/dist/ports/outbound/cache-store.js +8 -0
- package/dist/ports/outbound/cache-store.js.map +1 -0
- package/dist/ports/outbound/channel-presence.d.ts +30 -0
- package/dist/ports/outbound/channel-presence.d.ts.map +1 -0
- package/dist/ports/outbound/channel-presence.js +9 -0
- package/dist/ports/outbound/channel-presence.js.map +1 -0
- package/dist/ports/outbound/event-store.d.ts +9 -0
- package/dist/ports/outbound/event-store.d.ts.map +1 -0
- package/dist/ports/outbound/event-store.js +9 -0
- package/dist/ports/outbound/event-store.js.map +1 -0
- package/dist/ports/outbound/logger.d.ts +31 -0
- package/dist/ports/outbound/logger.d.ts.map +1 -0
- package/dist/ports/outbound/logger.js +8 -0
- package/dist/ports/outbound/logger.js.map +1 -0
- package/dist/ports/outbound/rate-limit-driver.d.ts +9 -0
- package/dist/ports/outbound/rate-limit-driver.d.ts.map +1 -0
- package/dist/ports/outbound/rate-limit-driver.js +9 -0
- package/dist/ports/outbound/rate-limit-driver.js.map +1 -0
- package/dist/ports/outbound/session-store.d.ts +9 -0
- package/dist/ports/outbound/session-store.d.ts.map +1 -0
- package/dist/ports/outbound/session-store.js +9 -0
- package/dist/ports/outbound/session-store.js.map +1 -0
- package/dist/ports/outbound/validator.d.ts +9 -0
- package/dist/ports/outbound/validator.d.ts.map +1 -0
- package/dist/ports/outbound/validator.js +9 -0
- package/dist/ports/outbound/validator.js.map +1 -0
- package/dist/server/builder/config-preview.d.ts +2 -33
- package/dist/server/builder/config-preview.d.ts.map +1 -1
- package/dist/server/builder/config-preview.js +1 -94
- package/dist/server/builder/config-preview.js.map +1 -1
- package/dist/server/builder/lifecycle.d.ts +11 -1
- package/dist/server/builder/lifecycle.d.ts.map +1 -1
- package/dist/server/builder/lifecycle.js +117 -3
- package/dist/server/builder/lifecycle.js.map +1 -1
- package/dist/server/builder/single-port-utils.d.ts +11 -2
- package/dist/server/builder/single-port-utils.d.ts.map +1 -1
- package/dist/server/builder/single-port-utils.js +88 -16
- package/dist/server/builder/single-port-utils.js.map +1 -1
- package/dist/server/builder.d.ts.map +1 -1
- package/dist/server/builder.js +203 -78
- package/dist/server/builder.js.map +1 -1
- package/dist/server/discovery-utils.d.ts +5 -1
- package/dist/server/discovery-utils.d.ts.map +1 -1
- package/dist/server/discovery-utils.js +4 -1
- package/dist/server/discovery-utils.js.map +1 -1
- package/dist/server/front-door.d.ts +3 -1
- package/dist/server/front-door.d.ts.map +1 -1
- package/dist/server/front-door.js +80 -18
- package/dist/server/front-door.js.map +1 -1
- package/dist/server/fs-routes/middleware-processor.d.ts.map +1 -1
- package/dist/server/fs-routes/middleware-processor.js +9 -8
- package/dist/server/fs-routes/middleware-processor.js.map +1 -1
- package/dist/server/handler-builders.d.ts +2 -1
- package/dist/server/handler-builders.d.ts.map +1 -1
- package/dist/server/handler-builders.js +21 -0
- package/dist/server/handler-builders.js.map +1 -1
- package/dist/server/index.d.ts +4 -2
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/port-binding.d.ts +8 -2
- package/dist/server/port-binding.d.ts.map +1 -1
- package/dist/server/port-binding.js +11 -1
- package/dist/server/port-binding.js.map +1 -1
- package/dist/server/protocol-config.d.ts.map +1 -1
- package/dist/server/protocol-config.js +1 -0
- package/dist/server/protocol-config.js.map +1 -1
- package/dist/server/protocol-fusion-diagnostics.d.ts +20 -0
- package/dist/server/protocol-fusion-diagnostics.d.ts.map +1 -0
- package/dist/server/protocol-fusion-diagnostics.js +51 -0
- package/dist/server/protocol-fusion-diagnostics.js.map +1 -0
- package/dist/server/rest-middleware.d.ts +3 -3
- package/dist/server/rest-middleware.d.ts.map +1 -1
- package/dist/server/rest-middleware.js +37 -5
- package/dist/server/rest-middleware.js.map +1 -1
- package/dist/server/router-module.d.ts +3 -1
- package/dist/server/router-module.d.ts.map +1 -1
- package/dist/server/router-module.js +14 -0
- package/dist/server/router-module.js.map +1 -1
- package/dist/server/shared-context.d.ts +3 -3
- package/dist/server/shared-context.d.ts.map +1 -1
- package/dist/server/shared-context.js +7 -9
- package/dist/server/shared-context.js.map +1 -1
- package/dist/server/single-port/dispatcher.d.ts.map +1 -1
- package/dist/server/single-port/dispatcher.js +20 -13
- package/dist/server/single-port/dispatcher.js.map +1 -1
- package/dist/server/types.d.ts +104 -7
- package/dist/server/types.d.ts.map +1 -1
- package/dist/types/context.d.ts +167 -4
- package/dist/types/context.d.ts.map +1 -1
- package/dist/types/context.js +168 -2
- package/dist/types/context.js.map +1 -1
- package/dist/types/handlers.d.ts +3 -0
- package/dist/types/handlers.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/policies.d.ts +54 -0
- package/dist/types/policies.d.ts.map +1 -0
- package/dist/types/policies.js +109 -0
- package/dist/types/policies.js.map +1 -0
- package/dist/ui/core/registry.d.ts +4 -0
- package/dist/ui/core/registry.d.ts.map +1 -1
- package/dist/ui/core/router.d.ts.map +1 -1
- package/dist/ui/docs/generators/code-samples.d.ts.map +1 -1
- package/dist/ui/docs/generators/index.d.ts +1 -1
- package/dist/ui/docs/generators/index.d.ts.map +1 -1
- package/dist/ui/docs/generators/schema-converter.d.ts +3 -3
- package/dist/ui/docs/generators/schema-converter.d.ts.map +1 -1
- package/dist/ui/docs/index.d.ts +1 -1
- package/dist/ui/docs/index.d.ts.map +1 -1
- package/dist/ui/docs/openapi/generator.d.ts +2 -0
- package/dist/ui/docs/openapi/generator.d.ts.map +1 -1
- package/dist/ui/middleware/interceptors/rate-limit.d.ts +147 -0
- package/dist/ui/middleware/interceptors/rate-limit.d.ts.map +1 -0
- package/dist/ui/middleware/interceptors/timeout.d.ts +121 -0
- package/dist/ui/middleware/interceptors/timeout.d.ts.map +1 -0
- package/dist/ui/middleware/types.d.ts +396 -0
- package/dist/ui/middleware/types.d.ts.map +1 -0
- package/dist/ui/policy/runtime.d.ts +7 -0
- package/dist/ui/policy/runtime.d.ts.map +1 -0
- package/dist/ui/rate-limit/drivers/filesystem.d.ts +19 -0
- package/dist/ui/rate-limit/drivers/filesystem.d.ts.map +1 -0
- package/dist/ui/rate-limit/drivers/memory.d.ts +17 -0
- package/dist/ui/rate-limit/drivers/memory.d.ts.map +1 -0
- package/dist/ui/rate-limit/drivers/redis.d.ts +14 -0
- package/dist/ui/rate-limit/drivers/redis.d.ts.map +1 -0
- package/dist/ui/rate-limit/drivers/s3db.d.ts +31 -0
- package/dist/ui/rate-limit/drivers/s3db.d.ts.map +1 -0
- package/dist/ui/rate-limit/factory.d.ts +12 -0
- package/dist/ui/rate-limit/factory.d.ts.map +1 -0
- package/dist/ui/rate-limit/types.d.ts +81 -0
- package/dist/ui/rate-limit/types.d.ts.map +1 -0
- package/dist/ui/server/fs-routes/middleware-processor.d.ts.map +1 -1
- package/dist/ui/types/context.d.ts +167 -4
- package/dist/ui/types/context.d.ts.map +1 -1
- package/dist/ui/types/handlers.d.ts +3 -0
- package/dist/ui/types/handlers.d.ts.map +1 -1
- package/dist/ui/types/index.d.ts +4 -2
- package/dist/ui/types/index.d.ts.map +1 -1
- package/dist/ui/types/policies.d.ts +54 -0
- package/dist/ui/types/policies.d.ts.map +1 -0
- package/dist/ui/usd/spec/types.d.ts +3 -0
- package/dist/ui/usd/spec/types.d.ts.map +1 -1
- package/dist/ui/utils/schema-examples.d.ts +39 -0
- package/dist/ui/utils/schema-examples.d.ts.map +1 -0
- package/dist/ui/validation/descriptor.d.ts +26 -0
- package/dist/ui/validation/descriptor.d.ts.map +1 -0
- package/dist/ui/validation/index.d.ts +1 -0
- package/dist/ui/validation/index.d.ts.map +1 -1
- package/dist/usd/spec/types.d.ts +3 -0
- package/dist/usd/spec/types.d.ts.map +1 -1
- package/dist/usd/spec/types.js.map +1 -1
- package/dist/utils/context-utils.d.ts +3 -2
- package/dist/utils/context-utils.d.ts.map +1 -1
- package/dist/utils/context-utils.js +4 -0
- package/dist/utils/context-utils.js.map +1 -1
- package/dist/utils/schema-examples.d.ts +39 -0
- package/dist/utils/schema-examples.d.ts.map +1 -0
- package/dist/utils/schema-examples.js +240 -0
- package/dist/utils/schema-examples.js.map +1 -0
- package/dist/validation/descriptor.d.ts +26 -0
- package/dist/validation/descriptor.d.ts.map +1 -0
- package/dist/validation/descriptor.js +155 -0
- package/dist/validation/descriptor.js.map +1 -0
- package/dist/validation/index.d.ts +1 -0
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +1 -0
- package/dist/validation/index.js.map +1 -1
- package/package.json +11 -3
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* HTTP middleware for routing REST resources with proper verb matching.
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { mergeContextSeeds } from '../types/index.js';
|
|
7
|
+
import { createAbortableContextAsync } from '../utils/context-utils.js';
|
|
7
8
|
import { getStatusForCode } from '../errors/codes.js';
|
|
8
9
|
import { sid } from '../utils/id/index.js';
|
|
9
10
|
import { createLogger } from '../utils/logger.js';
|
|
@@ -172,7 +173,23 @@ export function createRestMiddleware(options) {
|
|
|
172
173
|
}
|
|
173
174
|
const abortController = new AbortController();
|
|
174
175
|
const requestId = req.headers['x-request-id'] || sid();
|
|
175
|
-
const
|
|
176
|
+
const metadata = extractMetadataFromHeaders(req.headers);
|
|
177
|
+
const ctx = await createAbortableContextAsync(requestId, mergeContextSeeds({
|
|
178
|
+
protocol: 'http',
|
|
179
|
+
input: {
|
|
180
|
+
body,
|
|
181
|
+
params,
|
|
182
|
+
query,
|
|
183
|
+
metadata,
|
|
184
|
+
},
|
|
185
|
+
http: {
|
|
186
|
+
kind: 'http',
|
|
187
|
+
method,
|
|
188
|
+
path: url.pathname,
|
|
189
|
+
url: url.toString(),
|
|
190
|
+
headers: metadata,
|
|
191
|
+
},
|
|
192
|
+
}, await contextFactory?.(req)), abortController);
|
|
176
193
|
ctx.params = params;
|
|
177
194
|
ctx.query = query;
|
|
178
195
|
ctx.operation = route.operation;
|
|
@@ -189,7 +206,7 @@ export function createRestMiddleware(options) {
|
|
|
189
206
|
procedure: `${resource.name}.${route.operation}`,
|
|
190
207
|
type: 'request',
|
|
191
208
|
payload: body,
|
|
192
|
-
metadata
|
|
209
|
+
metadata,
|
|
193
210
|
context: ctx,
|
|
194
211
|
};
|
|
195
212
|
const result = await router.handle(envelope);
|
|
@@ -282,7 +299,22 @@ export function createHttpOverrideMiddleware(options) {
|
|
|
282
299
|
}
|
|
283
300
|
const abortController = new AbortController();
|
|
284
301
|
const requestId = req.headers['x-request-id'] || sid();
|
|
285
|
-
const
|
|
302
|
+
const metadata = extractMetadataFromHeaders(req.headers);
|
|
303
|
+
const ctx = await createAbortableContextAsync(requestId, mergeContextSeeds({
|
|
304
|
+
protocol: 'http',
|
|
305
|
+
input: {
|
|
306
|
+
body: payload,
|
|
307
|
+
query: parseQueryParams(url.searchParams),
|
|
308
|
+
metadata,
|
|
309
|
+
},
|
|
310
|
+
http: {
|
|
311
|
+
kind: 'http',
|
|
312
|
+
method,
|
|
313
|
+
path: url.pathname,
|
|
314
|
+
url: url.toString(),
|
|
315
|
+
headers: metadata,
|
|
316
|
+
},
|
|
317
|
+
}, await contextFactory?.(req)), abortController);
|
|
286
318
|
req.on('aborted', () => abortController.abort('Client aborted request'));
|
|
287
319
|
res.on('close', () => {
|
|
288
320
|
if (!res.writableEnded) {
|
|
@@ -295,7 +327,7 @@ export function createHttpOverrideMiddleware(options) {
|
|
|
295
327
|
procedure: meta.name,
|
|
296
328
|
type: 'request',
|
|
297
329
|
payload,
|
|
298
|
-
metadata
|
|
330
|
+
metadata,
|
|
299
331
|
context: ctx,
|
|
300
332
|
};
|
|
301
333
|
const result = await router.handle(envelope);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest-middleware.js","sourceRoot":"","sources":["../../src/server/rest-middleware.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rest-middleware.js","sourceRoot":"","sources":["../../src/server/rest-middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Reusable route bundles with prefix composition and module-level interceptors.
|
|
5
5
|
*/
|
|
6
|
-
import type { Interceptor, ProcedureHandler, StreamHandler, EventHandler, DeliveryGuarantee, RetryPolicy, StreamDirection, JsonRpcMeta, GrpcMeta } from '../types/index.js';
|
|
6
|
+
import type { Interceptor, ProcedureHandler, StreamHandler, EventHandler, DeliveryGuarantee, RetryPolicy, StreamDirection, JsonRpcMeta, GrpcMeta, ContractPolicies } from '../types/index.js';
|
|
7
7
|
import type { HandlerSchema } from '../validation/index.js';
|
|
8
8
|
import type { RouterModule, BeforeHook, AfterHook, ErrorHook } from './types.js';
|
|
9
9
|
type ModuleRouteKind = 'procedure' | 'stream' | 'event';
|
|
@@ -25,6 +25,8 @@ export interface ModuleRoute {
|
|
|
25
25
|
jsonrpc?: JsonRpcMeta;
|
|
26
26
|
/** gRPC metadata for USD generation */
|
|
27
27
|
grpc?: GrpcMeta;
|
|
28
|
+
/** Contract-bound runtime policies */
|
|
29
|
+
policies?: ContractPolicies;
|
|
28
30
|
moduleInterceptors: Interceptor[];
|
|
29
31
|
interceptors: Interceptor[];
|
|
30
32
|
schema?: HandlerSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router-module.d.ts","sourceRoot":"","sources":["../../src/server/router-module.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,WAAW,EACX,QAAQ,
|
|
1
|
+
{"version":3,"file":"router-module.d.ts","sourceRoot":"","sources":["../../src/server/router-module.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,WAAW,EACX,QAAQ,EACR,gBAAgB,EACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAG3D,OAAO,KAAK,EAIV,YAAY,EACZ,UAAU,EACV,SAAS,EACT,SAAS,EACV,MAAM,YAAY,CAAA;AAEnB,KAAK,eAAe,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAA;AAEvD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,gBAAgB,GAAG,aAAa,GAAG,YAAY,CAAA;IACxD,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAA;IAC7E,2CAA2C;IAC3C,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,uCAAuC;IACvC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,sCAAsC;IACtC,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAC3B,kBAAkB,EAAE,WAAW,EAAE,CAAA;IACjC,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gDAAgD;IAChD,WAAW,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAA;IAC/B,UAAU,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAA;IAClC,UAAU,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAA;IAC7B,gDAAgD;IAChD,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,GAAG,UAAU,CAAA;KAAE,CAAA;CACzC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB;AAyMD,wBAAgB,kBAAkB,CAAC,MAAM,SAAK,GAAG,YAAY,CAG5D;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,YAAY,GAAG,sBAAsB,CAOtF"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Reusable route bundles with prefix composition and module-level interceptors.
|
|
5
5
|
*/
|
|
6
6
|
import { createProcedureBuilder } from './handler-builders.js';
|
|
7
|
+
import { mergeContractPolicies } from '../types/policies.js';
|
|
7
8
|
const MODULE_DEF = Symbol('raffel.router-module');
|
|
8
9
|
function buildName(prefix, name) {
|
|
9
10
|
if (!prefix)
|
|
@@ -17,6 +18,7 @@ function createStreamBuilder(definition, name, moduleInterceptors) {
|
|
|
17
18
|
let outputSchema;
|
|
18
19
|
let description;
|
|
19
20
|
let streamDirection;
|
|
21
|
+
let policies;
|
|
20
22
|
const interceptors = [];
|
|
21
23
|
const builder = {
|
|
22
24
|
input(schema) {
|
|
@@ -39,6 +41,10 @@ function createStreamBuilder(definition, name, moduleInterceptors) {
|
|
|
39
41
|
interceptors.push(interceptor);
|
|
40
42
|
return builder;
|
|
41
43
|
},
|
|
44
|
+
policy(policyMeta) {
|
|
45
|
+
policies = mergeContractPolicies(policies, policyMeta);
|
|
46
|
+
return builder;
|
|
47
|
+
},
|
|
42
48
|
handler(fn) {
|
|
43
49
|
const schema = {};
|
|
44
50
|
if (inputSchema)
|
|
@@ -52,6 +58,7 @@ function createStreamBuilder(definition, name, moduleInterceptors) {
|
|
|
52
58
|
description,
|
|
53
59
|
moduleInterceptors: [...moduleInterceptors],
|
|
54
60
|
interceptors: [...interceptors],
|
|
61
|
+
policies,
|
|
55
62
|
schema: schema.input || schema.output ? schema : undefined,
|
|
56
63
|
streamDirection,
|
|
57
64
|
});
|
|
@@ -65,6 +72,7 @@ function createEventBuilder(definition, name, moduleInterceptors) {
|
|
|
65
72
|
let deliveryGuarantee = 'best-effort';
|
|
66
73
|
let retryPolicy;
|
|
67
74
|
let deduplicationWindow;
|
|
75
|
+
let policies;
|
|
68
76
|
const interceptors = [];
|
|
69
77
|
const builder = {
|
|
70
78
|
input(schema) {
|
|
@@ -79,6 +87,10 @@ function createEventBuilder(definition, name, moduleInterceptors) {
|
|
|
79
87
|
interceptors.push(interceptor);
|
|
80
88
|
return builder;
|
|
81
89
|
},
|
|
90
|
+
policy(policyMeta) {
|
|
91
|
+
policies = mergeContractPolicies(policies, policyMeta);
|
|
92
|
+
return builder;
|
|
93
|
+
},
|
|
82
94
|
delivery(guarantee) {
|
|
83
95
|
deliveryGuarantee = guarantee;
|
|
84
96
|
return builder;
|
|
@@ -102,6 +114,7 @@ function createEventBuilder(definition, name, moduleInterceptors) {
|
|
|
102
114
|
description,
|
|
103
115
|
moduleInterceptors: [...moduleInterceptors],
|
|
104
116
|
interceptors: [...interceptors],
|
|
117
|
+
policies,
|
|
105
118
|
schema: schema.input ? schema : undefined,
|
|
106
119
|
delivery: deliveryGuarantee,
|
|
107
120
|
retryPolicy,
|
|
@@ -132,6 +145,7 @@ function createModuleView(definition, prefix, inheritedInterceptors) {
|
|
|
132
145
|
httpMethod: registration.httpMethod,
|
|
133
146
|
jsonrpc: registration.jsonrpc,
|
|
134
147
|
grpc: registration.grpc,
|
|
148
|
+
policies: registration.policies,
|
|
135
149
|
moduleInterceptors: [...moduleInterceptors],
|
|
136
150
|
interceptors: registration.interceptors.length > 0 ? [...registration.interceptors] : [],
|
|
137
151
|
schema: registration.schema?.input || registration.schema?.output ? registration.schema : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router-module.js","sourceRoot":"","sources":["../../src/server/router-module.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"router-module.js","sourceRoot":"","sources":["../../src/server/router-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* })
|
|
23
23
|
*/
|
|
24
24
|
import type { IncomingMessage } from 'node:http';
|
|
25
|
-
import type { Context, AuthContext } from '../types/index.js';
|
|
25
|
+
import type { Context, AuthContext, ContextSeed } from '../types/index.js';
|
|
26
26
|
import type { Session, SessionTracker } from '../http/session.js';
|
|
27
27
|
/**
|
|
28
28
|
* Options for creating a shared context factory
|
|
@@ -45,13 +45,13 @@ export interface SharedContextFactoryOptions {
|
|
|
45
45
|
/** Custom session to auth mapper */
|
|
46
46
|
mapSessionToAuth?: (session: Session) => AuthContext;
|
|
47
47
|
/** Called when context is created (for logging/metrics) */
|
|
48
|
-
onContextCreated?: (ctx:
|
|
48
|
+
onContextCreated?: (ctx: ContextSeed, req: IncomingMessage) => void;
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
51
|
* Context factory function type for WebSocket/Streams
|
|
52
52
|
* Returns partial context that will be merged into the full context
|
|
53
53
|
*/
|
|
54
|
-
export type ProtocolContextFactory<WS = unknown> = (ws: WS, req: IncomingMessage) =>
|
|
54
|
+
export type ProtocolContextFactory<WS = unknown> = (ws: WS, req: IncomingMessage) => ContextSeed | Promise<ContextSeed>;
|
|
55
55
|
/**
|
|
56
56
|
* Create a context factory for WebSocket/Streams that shares sessions with HTTP
|
|
57
57
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-context.d.ts","sourceRoot":"","sources":["../../src/server/shared-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"shared-context.d.ts","sourceRoot":"","sources":["../../src/server/shared-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE1E,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AASjE;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,yDAAyD;IACzD,QAAQ,EAAE,cAAc,CAAA;IAExB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAE/B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB,oCAAoC;IACpC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,WAAW,CAAA;IAEpD,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAA;CACpE;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,CAAC,EAAE,GAAG,OAAO,IAAI,CACjD,EAAE,EAAE,EAAE,EACN,GAAG,EAAE,eAAe,KACjB,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AAqEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,2BAA2B,GACnC,sBAAsB,CA4DxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAChD,kDAAkD;IAClD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC5D,6CAA6C;IAC7C,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC9D;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CAClC,GAAG,sBAAsB,CA8CzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,sBAAsB,EAAE,GAClC,sBAAsB,CAaxB;AAMD;;;GAGG;AACH,eAAO,MAAM,cAAc,eAA+B,CAAA;AAE1D;;;GAGG;AACH,eAAO,MAAM,mBAAmB,eAAmC,CAAA;AAEnE;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAEvE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS,CAEnF"}
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
* },
|
|
22
22
|
* })
|
|
23
23
|
*/
|
|
24
|
+
import { createAuthContext, mergeContextSeeds } from '../types/index.js';
|
|
24
25
|
import { createLogger } from '../utils/logger.js';
|
|
25
26
|
const logger = createLogger('server-shared-context');
|
|
26
27
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -71,7 +72,7 @@ function extractBearerToken(authHeader) {
|
|
|
71
72
|
* Default mapper from Session to AuthContext
|
|
72
73
|
*/
|
|
73
74
|
function defaultSessionToAuth(session) {
|
|
74
|
-
return {
|
|
75
|
+
return createAuthContext({
|
|
75
76
|
authenticated: true,
|
|
76
77
|
principal: session.userId?.toString() ?? session.id,
|
|
77
78
|
claims: {
|
|
@@ -79,7 +80,7 @@ function defaultSessionToAuth(session) {
|
|
|
79
80
|
sessionId: session.id,
|
|
80
81
|
createdAt: session.createdAt,
|
|
81
82
|
},
|
|
82
|
-
};
|
|
83
|
+
});
|
|
83
84
|
}
|
|
84
85
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
85
86
|
// Main Factory
|
|
@@ -183,7 +184,7 @@ export function createAuthContextFactory(options) {
|
|
|
183
184
|
if (bearerToken) {
|
|
184
185
|
const auth = await verifyToken(bearerToken);
|
|
185
186
|
if (auth) {
|
|
186
|
-
ctx.auth = auth;
|
|
187
|
+
ctx.auth = createAuthContext(auth);
|
|
187
188
|
return ctx;
|
|
188
189
|
}
|
|
189
190
|
}
|
|
@@ -199,7 +200,7 @@ export function createAuthContextFactory(options) {
|
|
|
199
200
|
if (apiKey) {
|
|
200
201
|
const auth = await verifyApiKey(apiKey);
|
|
201
202
|
if (auth) {
|
|
202
|
-
ctx.auth = auth;
|
|
203
|
+
ctx.auth = createAuthContext(auth);
|
|
203
204
|
return ctx;
|
|
204
205
|
}
|
|
205
206
|
}
|
|
@@ -219,15 +220,12 @@ export function createAuthContextFactory(options) {
|
|
|
219
220
|
*/
|
|
220
221
|
export function mergeContextFactories(factories) {
|
|
221
222
|
return async (ws, req) => {
|
|
222
|
-
|
|
223
|
+
let mergedCtx = {
|
|
223
224
|
auth: undefined,
|
|
224
225
|
};
|
|
225
226
|
for (const factory of factories) {
|
|
226
227
|
const ctx = await factory(ws, req);
|
|
227
|
-
|
|
228
|
-
if (!mergedCtx.auth?.authenticated && ctx.auth?.authenticated) {
|
|
229
|
-
mergedCtx.auth = ctx.auth;
|
|
230
|
-
}
|
|
228
|
+
mergedCtx = mergeContextSeeds(mergedCtx, ctx);
|
|
231
229
|
}
|
|
232
230
|
return mergedCtx;
|
|
233
231
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-context.js","sourceRoot":"","sources":["../../src/server/shared-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;
|
|
1
|
+
{"version":3,"file":"shared-context.js","sourceRoot":"","sources":["../../src/server/shared-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../../src/server/single-port/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAA0B,MAAM,aAAa,CAAA;AAClF,OAAO,KAAK,EACV,0BAA0B,EAC1B,kBAAkB,EAClB,yBAAyB,EACzB,2BAA2B,EAC5B,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../../src/server/single-port/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAA0B,MAAM,aAAa,CAAA;AAClF,OAAO,KAAK,EACV,0BAA0B,EAC1B,kBAAkB,EAClB,yBAAyB,EACzB,2BAA2B,EAC5B,MAAM,YAAY,CAAA;AAgJnB,wBAAgB,2BAA2B,CACzC,OAAO,CAAC,EAAE,yBAAyB,GAClC,kBAAkB,CAMpB;AAED,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,0BAA0B,GAAG,yBAAyB,GAC5D,uBAAuB,CAmEzB;AAwBD,wBAAsB,kCAAkC,CACtD,KAAK,EAAE,2BAA2B,GAAG,yBAAyB,GAC7D,OAAO,CAAC,uBAAuB,CAAC,CAqClC;AAED,wBAAgB,6BAA6B;;;EAK5C"}
|
|
@@ -33,7 +33,11 @@ function normalizeSinglePortProtocols(protocols, protocolAliasMode = 'standard')
|
|
|
33
33
|
.map((protocol) => normalizeSinglePortProtocol(protocol))
|
|
34
34
|
.filter((protocol) => protocol.length > 0)
|
|
35
35
|
.map((protocol) => aliases[protocol] ?? protocol);
|
|
36
|
-
|
|
36
|
+
const allowed = normalized.length > 0 ? new Set(normalized) : null;
|
|
37
|
+
if (allowed?.has('grpc')) {
|
|
38
|
+
allowed.add('http2');
|
|
39
|
+
}
|
|
40
|
+
return allowed;
|
|
37
41
|
}
|
|
38
42
|
function isProtocolAllowed(protocol, allowedProtocols) {
|
|
39
43
|
if (!allowedProtocols) {
|
|
@@ -41,6 +45,9 @@ function isProtocolAllowed(protocol, allowedProtocols) {
|
|
|
41
45
|
}
|
|
42
46
|
return allowedProtocols.has(protocol);
|
|
43
47
|
}
|
|
48
|
+
function finalizeDetectedProtocol(protocol, detector, startedAt, bytesRead, allowedProtocols) {
|
|
49
|
+
return createDecision(protocol, detector, isProtocolAllowed(protocol, allowedProtocols) ? 'matched' : 'unsupported', Date.now() - startedAt, bytesRead);
|
|
50
|
+
}
|
|
44
51
|
function createDecision(protocol, detector, reason, elapsedMs, bytesRead, timedOut = false) {
|
|
45
52
|
return {
|
|
46
53
|
protocol,
|
|
@@ -112,20 +119,20 @@ export function detectSinglePortProtocolFromChunk(input) {
|
|
|
112
119
|
if (bytesRead === 0) {
|
|
113
120
|
return createDecision('unknown', 'empty', hasProtocolFilter ? 'unsupported' : 'unknown', 0, bytesRead);
|
|
114
121
|
}
|
|
115
|
-
if (isTlsClientHello(chunk)
|
|
116
|
-
return
|
|
122
|
+
if (isTlsClientHello(chunk)) {
|
|
123
|
+
return finalizeDetectedProtocol('tls', 'tls', startedAt, bytesRead, allowedProtocols);
|
|
117
124
|
}
|
|
118
|
-
if (isHttp2Preface(chunk)
|
|
119
|
-
return
|
|
125
|
+
if (isHttp2Preface(chunk)) {
|
|
126
|
+
return finalizeDetectedProtocol('http2', 'http2-preface', startedAt, bytesRead, allowedProtocols);
|
|
120
127
|
}
|
|
121
|
-
if (isLikelyTcpFrame(chunk)
|
|
122
|
-
return
|
|
128
|
+
if (isLikelyTcpFrame(chunk)) {
|
|
129
|
+
return finalizeDetectedProtocol('tcp', 'tcp-length-prefix', startedAt, bytesRead, allowedProtocols);
|
|
123
130
|
}
|
|
124
|
-
if (looksLikeHttp(chunk)
|
|
125
|
-
return
|
|
131
|
+
if (looksLikeHttp(chunk)) {
|
|
132
|
+
return finalizeDetectedProtocol('http', 'http-method', startedAt, bytesRead, allowedProtocols);
|
|
126
133
|
}
|
|
127
|
-
if (isLikelyTextProtocolFrame(chunk)
|
|
128
|
-
return
|
|
134
|
+
if (isLikelyTextProtocolFrame(chunk)) {
|
|
135
|
+
return finalizeDetectedProtocol('tcp', 'text-protocol', startedAt, bytesRead, allowedProtocols);
|
|
129
136
|
}
|
|
130
137
|
const sniffers = input.sniffers ?? [];
|
|
131
138
|
for (const sniffer of sniffers) {
|
|
@@ -134,8 +141,8 @@ export function detectSinglePortProtocolFromChunk(input) {
|
|
|
134
141
|
bytesRead,
|
|
135
142
|
context: input.context,
|
|
136
143
|
});
|
|
137
|
-
if (result
|
|
138
|
-
return
|
|
144
|
+
if (result) {
|
|
145
|
+
return finalizeDetectedProtocol(normalizeSinglePortProtocol(result), `sniffer:${sniffer.name}`, startedAt, bytesRead, allowedProtocols);
|
|
139
146
|
}
|
|
140
147
|
}
|
|
141
148
|
return createDecision('unknown', 'fallback', hasProtocolFilter ? 'unsupported' : 'unknown', Date.now() - startedAt, bytesRead);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../src/server/single-port/dispatcher.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAA;AAGrE,MAAM,aAAa,GAAG;IACpB,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;CACD,CAAA;AAEV,MAAM,aAAa,GAAG,kCAAkC,CAAA;AACxD,MAAM,4BAA4B,GAAG,EAAE,CAAA;AACvC,MAAM,uBAAuB,GAAG,IAAI,CAAA;AACpC,MAAM,4BAA4B,GAAG,GAAG,CAAA;AACxC,MAAM,oBAAoB,GAAuB;IAC/C,aAAa,EAAE,uBAAuB;IACtC,cAAc,EAAE,4BAA4B;IAC5C,uBAAuB,EAAE,4BAA4B;CACtD,CAAA;AAED,IAAI,gBAAgB,GAAG,CAAC,CAAA;AAExB,SAAS,2BAA2B,CAAC,QAAgB;IACnD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;AACtC,CAAC;AAED,SAAS,4BAA4B,CACnC,SAAoB,EACpB,oBAAuC,UAAU;IAEjD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,OAAO,GAAG,4BAA4B,CAAC,iBAAiB,CAAC,CAAA;IAE/D,MAAM,UAAU,GAAG,SAAS;SACzB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;SACxD,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;SACzC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,QAAgC,CAAC,IAAI,QAAQ,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../src/server/single-port/dispatcher.ts"],"names":[],"mappings":"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"}
|