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
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contract-bound policy metadata
|
|
3
|
+
*
|
|
4
|
+
* Policies attached here describe runtime guarantees bound to a contract and
|
|
5
|
+
* can be propagated across transports and internal calls.
|
|
6
|
+
*/
|
|
7
|
+
export const CONTRACT_POLICY_METADATA_KEY = 'x-raffel-policy-context';
|
|
8
|
+
function cloneStringArray(values) {
|
|
9
|
+
return values && values.length > 0 ? [...values] : undefined;
|
|
10
|
+
}
|
|
11
|
+
function cloneRecord(value) {
|
|
12
|
+
if (!value)
|
|
13
|
+
return undefined;
|
|
14
|
+
const entries = Object.entries(value);
|
|
15
|
+
if (entries.length === 0)
|
|
16
|
+
return undefined;
|
|
17
|
+
const result = {};
|
|
18
|
+
for (const [key, metadata] of entries) {
|
|
19
|
+
result[key] = { ...metadata };
|
|
20
|
+
}
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
export function normalizeContractPolicies(input) {
|
|
24
|
+
if (!input)
|
|
25
|
+
return undefined;
|
|
26
|
+
const auth = input.auth
|
|
27
|
+
? {
|
|
28
|
+
mode: input.auth.mode ?? 'required',
|
|
29
|
+
scheme: input.auth.scheme,
|
|
30
|
+
roles: cloneStringArray(input.auth.roles),
|
|
31
|
+
scopes: cloneStringArray(input.auth.scopes),
|
|
32
|
+
}
|
|
33
|
+
: undefined;
|
|
34
|
+
const timeout = input.timeout
|
|
35
|
+
? {
|
|
36
|
+
timeoutMs: input.timeout.timeoutMs,
|
|
37
|
+
}
|
|
38
|
+
: undefined;
|
|
39
|
+
const rateLimit = input.rateLimit
|
|
40
|
+
? {
|
|
41
|
+
windowMs: input.rateLimit.windowMs,
|
|
42
|
+
maxRequests: input.rateLimit.maxRequests,
|
|
43
|
+
key: input.rateLimit.key,
|
|
44
|
+
bucket: input.rateLimit.bucket,
|
|
45
|
+
}
|
|
46
|
+
: undefined;
|
|
47
|
+
const custom = cloneRecord(input.custom);
|
|
48
|
+
if (!auth && !timeout && !rateLimit && !custom) {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
return {
|
|
52
|
+
...(auth && { auth }),
|
|
53
|
+
...(timeout && { timeout }),
|
|
54
|
+
...(rateLimit && { rateLimit }),
|
|
55
|
+
...(custom && { custom }),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
export function mergeContractPolicies(...sources) {
|
|
59
|
+
let result;
|
|
60
|
+
for (const source of sources) {
|
|
61
|
+
const normalized = normalizeContractPolicies(source);
|
|
62
|
+
if (!normalized)
|
|
63
|
+
continue;
|
|
64
|
+
result = {
|
|
65
|
+
auth: normalized.auth
|
|
66
|
+
? {
|
|
67
|
+
...(result?.auth ?? {}),
|
|
68
|
+
...normalized.auth,
|
|
69
|
+
...(normalized.auth.roles && { roles: [...normalized.auth.roles] }),
|
|
70
|
+
...(normalized.auth.scopes && { scopes: [...normalized.auth.scopes] }),
|
|
71
|
+
}
|
|
72
|
+
: result?.auth,
|
|
73
|
+
timeout: normalized.timeout
|
|
74
|
+
? { ...(result?.timeout ?? {}), ...normalized.timeout }
|
|
75
|
+
: result?.timeout,
|
|
76
|
+
rateLimit: normalized.rateLimit
|
|
77
|
+
? { ...(result?.rateLimit ?? {}), ...normalized.rateLimit }
|
|
78
|
+
: result?.rateLimit,
|
|
79
|
+
custom: normalized.custom
|
|
80
|
+
? {
|
|
81
|
+
...(result?.custom ?? {}),
|
|
82
|
+
...cloneRecord(normalized.custom),
|
|
83
|
+
}
|
|
84
|
+
: result?.custom,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
return normalizeContractPolicies(result);
|
|
88
|
+
}
|
|
89
|
+
export function serializeContractPolicies(policies) {
|
|
90
|
+
const normalized = normalizeContractPolicies(policies);
|
|
91
|
+
if (!normalized)
|
|
92
|
+
return undefined;
|
|
93
|
+
return JSON.stringify(normalized);
|
|
94
|
+
}
|
|
95
|
+
export function parseContractPolicies(payload) {
|
|
96
|
+
if (!payload)
|
|
97
|
+
return undefined;
|
|
98
|
+
try {
|
|
99
|
+
const parsed = JSON.parse(payload);
|
|
100
|
+
if (!parsed || typeof parsed !== 'object') {
|
|
101
|
+
return undefined;
|
|
102
|
+
}
|
|
103
|
+
return normalizeContractPolicies(parsed);
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return undefined;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=policies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policies.js","sourceRoot":"","sources":["../../src/types/policies.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Provides introspection for adapters to generate schemas/routes.
|
|
6
6
|
*/
|
|
7
7
|
import type { ProcedureHandler, StreamHandler, EventHandler, HandlerMeta, RegisteredHandler, Interceptor, DeliveryGuarantee, RetryPolicy, StreamDirection, GraphQLMeta, HttpMethod, JsonRpcMeta, GrpcMeta } from '../types/handlers.js';
|
|
8
|
+
import type { ContractPolicies } from '../types/policies.js';
|
|
8
9
|
/**
|
|
9
10
|
* Procedure registration options
|
|
10
11
|
*/
|
|
@@ -25,6 +26,7 @@ export interface ProcedureOptions {
|
|
|
25
26
|
httpMethod?: HttpMethod;
|
|
26
27
|
jsonrpc?: JsonRpcMeta;
|
|
27
28
|
grpc?: GrpcMeta;
|
|
29
|
+
policies?: ContractPolicies;
|
|
28
30
|
interceptors?: Interceptor[];
|
|
29
31
|
}
|
|
30
32
|
/**
|
|
@@ -40,6 +42,7 @@ export interface StreamRegistryOptions {
|
|
|
40
42
|
default?: string;
|
|
41
43
|
supported?: string[];
|
|
42
44
|
};
|
|
45
|
+
policies?: ContractPolicies;
|
|
43
46
|
interceptors?: Interceptor[];
|
|
44
47
|
}
|
|
45
48
|
/**
|
|
@@ -57,6 +60,7 @@ export interface EventOptions {
|
|
|
57
60
|
default?: string;
|
|
58
61
|
supported?: string[];
|
|
59
62
|
};
|
|
63
|
+
policies?: ContractPolicies;
|
|
60
64
|
interceptors?: Interceptor[];
|
|
61
65
|
}
|
|
62
66
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/core/registry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/core/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,WAAW,EACX,UAAU,EACV,WAAW,EACX,QAAQ,EACT,MAAM,sBAAsB,CAAA;AAE7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAG5D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iCAAiC;IACjC,YAAY,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IACzD,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAC3B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iCAAiC;IACjC,YAAY,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IACzD,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAC3B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iCAAiC;IACjC,YAAY,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IACzD,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAC3B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IAGvB,mCAAmC;IACnC,SAAS,CAAC,MAAM,EAAE,OAAO,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,OAAO,CAAC,EAAE,gBAAgB,GACzB,IAAI,CAAA;IAEP,gCAAgC;IAChC,MAAM,CAAC,MAAM,EAAE,OAAO,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,IAAI,CAAA;IAEP,gCAAgC;IAChC,KAAK,CAAC,QAAQ,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,EAC/B,OAAO,CAAC,EAAE,YAAY,GACrB,IAAI,CAAA;IAIP,sCAAsC;IACtC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAA;IAE3E,mCAAmC;IACnC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAA;IAErE,mCAAmC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;IAEnE,gCAAgC;IAChC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAI1B,mCAAmC;IACnC,IAAI,IAAI,WAAW,EAAE,CAAA;IAErB,2BAA2B;IAC3B,cAAc,IAAI,WAAW,EAAE,CAAA;IAE/B,wBAAwB;IACxB,WAAW,IAAI,WAAW,EAAE,CAAA;IAE5B,uBAAuB;IACvB,UAAU,IAAI,WAAW,EAAE,CAAA;CAC5B;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CA0KzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/core/router.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EAGX,YAAY,
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/core/router.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EAGX,YAAY,EAIb,MAAM,mBAAmB,CAAA;AAG1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAA;AA2B5B;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAUlC,gEAAgE;aAChD,IAAI,EAAE,MAAM;aAEZ,OAAO,CAAC,EAAE,OAAO;IAZnC;;;;;OAKG;IACH,SAAgB,MAAM,EAAE,MAAM,CAAA;;IAG5B,gEAAgE;IAChD,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,OAAO,YAAA;IACjC,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM;IAOjB;;OAEG;IACH,MAAM,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE;CAQ/E;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;AAEtF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;IAC5B,mCAAmC;IACnC,aAAa,CAAC,EAAE,oBAAoB,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,kCAAkC;IAClC,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAEjD,+BAA+B;IAC/B,GAAG,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAA;IAEnC,8CAA8C;IAC9C,IAAI,IAAI,IAAI,CAAA;CACb;AA2JD;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAiOpF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-samples.d.ts","sourceRoot":"","sources":["../../../../src/docs/generators/code-samples.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"code-samples.d.ts","sourceRoot":"","sources":["../../../../src/docs/generators/code-samples.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAOhF,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAA;IACd,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAA;IACZ,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAC7B,uBAAuB;IACvB,UAAU,CAAC,EAAE,YAAY,EAAE,CAAA;IAC3B,6CAA6C;IAC7C,WAAW,EAAE,OAAO,CAAA;IACpB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAWD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAGhF;AA8PD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,iBAAiB,EACtB,SAAS,GAAE,MAAM,EAA2C,GAC3D,aAAa,EAAE,CAajB"}
|
|
@@ -12,6 +12,6 @@ export { generateJsonRpc, type JsonRpcGeneratorOptions, type JsonRpcGeneratorCon
|
|
|
12
12
|
export { generateGrpc, type GrpcGeneratorOptions, type GrpcGeneratorContext, type GrpcGeneratorResult, } from './grpc-generator.js';
|
|
13
13
|
export { generateTcp, generateTcpSchemas, createTcpServerConfig, type TcpHandlerDocs, type LoadedTcpHandler, type TcpGeneratorOptions, type TcpGeneratorContext, type TcpGeneratorResult, } from './tcp-generator.js';
|
|
14
14
|
export { generateUdp, generateUdpSchemas, createUdpEndpointConfig, type UdpHandlerDocs, type LoadedUdpHandler, type UdpGeneratorOptions, type UdpGeneratorContext, type UdpGeneratorResult, } from './udp-generator.js';
|
|
15
|
-
export { convertSchema,
|
|
15
|
+
export { convertSchema, createDocSchemaRegistry, isZodSchema, isJsonSchema, convertAndRegister, extractParameters, generateSchemaName, createRef, createArraySchema, createPaginatedSchema, createErrorSchema, type SchemaConversionOptions, type ConvertedSchemaRegistry, type ExtractedParameters, } from './schema-converter.js';
|
|
16
16
|
export { generateErrorsSpec, registerErrorCode, getErrorCodes, clearCustomErrorCodes, getHttpStatus, getGrpcCode, getGrpcName, getWebSocketClose, getJsonRpcCode, isRetryable, type ErrorRegistryEntry, type GenerateErrorsOptions, } from './errors.js';
|
|
17
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/docs/generators/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,GAChC,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EACL,eAAe,EACf,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EACL,YAAY,EACZ,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/docs/generators/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,GAChC,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EACL,eAAe,EACf,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EACL,YAAY,EACZ,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,GACzB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,GAC3B,MAAM,aAAa,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Schema Converter
|
|
3
3
|
*
|
|
4
|
-
* Converts
|
|
5
|
-
*
|
|
4
|
+
* Converts Raffel-supported validation schemas into normalized JSON Schema
|
|
5
|
+
* through the canonical validation descriptor.
|
|
6
6
|
*/
|
|
7
7
|
import type { USDSchema } from '../../usd/index.js';
|
|
8
8
|
/**
|
|
@@ -32,7 +32,7 @@ export interface ConvertedSchemaRegistry {
|
|
|
32
32
|
/**
|
|
33
33
|
* Create a schema registry for collecting converted schemas
|
|
34
34
|
*/
|
|
35
|
-
export declare function
|
|
35
|
+
export declare function createDocSchemaRegistry(): ConvertedSchemaRegistry;
|
|
36
36
|
/**
|
|
37
37
|
* Check if a value looks like a Zod schema
|
|
38
38
|
* Supports both Zod 3 (has _def) and Zod 4 (has def and toJSONSchema)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-converter.d.ts","sourceRoot":"","sources":["../../../../src/docs/generators/schema-converter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"schema-converter.d.ts","sourceRoot":"","sources":["../../../../src/docs/generators/schema-converter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAGnD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wDAAwD;IACxD,MAAM,CAAC,EAAE,UAAU,GAAG,gBAAgB,CAAA;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,6CAA6C;IAC7C,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC/B,mCAAmC;IACnC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7C,wCAAwC;IACxC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,gCAAgC;IAChC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CACtC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,uBAAuB,CAwBjE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAepD;AAaD;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,SAAS,CAuBjE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,OAAO,EACf,OAAO,GAAE,uBAA4B,GACpC,SAAS,CAMX;AAsDD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,uBAAuB,EACjC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,GACd,SAAS,CAEX;AA+BD;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACzF,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC1F,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC3F,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,MAAM,GACnB,mBAAmB,CA4DrB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAM9E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAEvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,SAAS,GAAG,SAAS,CAKlE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,SAAS,GAAG,SAAS,CAetE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,SAAS,CA4B7C"}
|
package/dist/ui/docs/index.d.ts
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* })
|
|
26
26
|
* ```
|
|
27
27
|
*/
|
|
28
|
-
export { generateUSD, createHttpOnlyUSD, createWebSocketOnlyUSD, createStreamsOnlyUSD, createTcpOnlyUSD, createUdpOnlyUSD, type USDGeneratorOptions, type USDGeneratorContext, type USDGeneratorResult, type USDGeneratorProtocolConfig, generateHttpPaths, type HttpGeneratorOptions, type HttpGeneratorContext, type HttpGeneratorResult, generateWebSocket, generateChannelSchemas, type WebSocketGeneratorOptions, type WebSocketGeneratorContext, type WebSocketGeneratorResult, generateStreams, generateStreamEvents, createSSEStreamConfig, createBidiStreamConfig, type StreamsGeneratorOptions, type StreamsGeneratorContext, type StreamsGeneratorResult, generateTcp, generateTcpSchemas, createTcpServerConfig, type TcpHandlerDocs, type LoadedTcpHandler, type TcpGeneratorOptions, type TcpGeneratorContext, type TcpGeneratorResult, generateUdp, generateUdpSchemas, createUdpEndpointConfig, type UdpHandlerDocs, type LoadedUdpHandler, type UdpGeneratorOptions, type UdpGeneratorContext, type UdpGeneratorResult, convertSchema,
|
|
28
|
+
export { generateUSD, createHttpOnlyUSD, createWebSocketOnlyUSD, createStreamsOnlyUSD, createTcpOnlyUSD, createUdpOnlyUSD, type USDGeneratorOptions, type USDGeneratorContext, type USDGeneratorResult, type USDGeneratorProtocolConfig, generateHttpPaths, type HttpGeneratorOptions, type HttpGeneratorContext, type HttpGeneratorResult, generateWebSocket, generateChannelSchemas, type WebSocketGeneratorOptions, type WebSocketGeneratorContext, type WebSocketGeneratorResult, generateStreams, generateStreamEvents, createSSEStreamConfig, createBidiStreamConfig, type StreamsGeneratorOptions, type StreamsGeneratorContext, type StreamsGeneratorResult, generateTcp, generateTcpSchemas, createTcpServerConfig, type TcpHandlerDocs, type LoadedTcpHandler, type TcpGeneratorOptions, type TcpGeneratorContext, type TcpGeneratorResult, generateUdp, generateUdpSchemas, createUdpEndpointConfig, type UdpHandlerDocs, type LoadedUdpHandler, type UdpGeneratorOptions, type UdpGeneratorContext, type UdpGeneratorResult, convertSchema, createDocSchemaRegistry, isZodSchema, isJsonSchema, convertAndRegister, extractParameters, generateSchemaName, createRef, createArraySchema, createPaginatedSchema, createErrorSchema, type SchemaConversionOptions, type ConvertedSchemaRegistry, type ExtractedParameters, generateErrorsSpec, registerErrorCode, getErrorCodes, clearCustomErrorCodes, getHttpStatus, getGrpcCode, getGrpcName, getWebSocketClose, getJsonRpcCode, isRetryable, type ErrorRegistryEntry, type GenerateErrorsOptions, } from './generators/index.js';
|
|
29
29
|
export { createUSDHandlers, type USDMiddlewareConfig, type USDHandlers, type USDMiddlewareContext, } from './usd-middleware.js';
|
|
30
30
|
export { generateOpenAPI, generateOpenAPIJson, generateOpenAPIYaml, type OpenAPIDocument, type OpenAPIInfo, type OpenAPIServer, type OpenAPIPathItem, type OpenAPIOperation, type OpenAPIResponse, type OpenAPISecurityScheme, type OpenAPITag, type GeneratorOptions, type OpenAPIRestResource, type OpenAPIRestRoute, } from './openapi/index.js';
|
|
31
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/docs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMH,OAAO,EAEL,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAG/B,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAGxB,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAG7B,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAG3B,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAGvB,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAGvB,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/docs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMH,OAAO,EAEL,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAG/B,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAGxB,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAG7B,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAG3B,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAGvB,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EAGvB,aAAa,EACb,uBAAuB,EACvB,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EAGxB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,GAC3B,MAAM,uBAAuB,CAAA;AAM9B,OAAO,EACL,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAA;AAM5B,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAA"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { Registry } from '../../core/registry.js';
|
|
7
7
|
import type { SchemaRegistry } from '../../validation/index.js';
|
|
8
|
+
import type { ContractPolicies } from '../../types/index.js';
|
|
8
9
|
/**
|
|
9
10
|
* OpenAPI 3.0 Document structure
|
|
10
11
|
*/
|
|
@@ -68,6 +69,7 @@ export interface OpenAPIOperation {
|
|
|
68
69
|
};
|
|
69
70
|
responses: Record<string, OpenAPIResponse>;
|
|
70
71
|
security?: Array<Record<string, string[]>>;
|
|
72
|
+
'x-raffel-policies'?: ContractPolicies;
|
|
71
73
|
}
|
|
72
74
|
export interface OpenAPIResponse {
|
|
73
75
|
description: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../../src/docs/openapi/generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../../src/docs/openapi/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rate Limiting Interceptor
|
|
3
|
+
*
|
|
4
|
+
* Protocol-agnostic rate limiting that works across all transports.
|
|
5
|
+
* Uses sliding window algorithm with in-memory storage.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Sliding window rate limiting
|
|
9
|
+
* - Token bucket with burst support
|
|
10
|
+
* - Adaptive rate limit parsing for proxied responses
|
|
11
|
+
* - Rate limit event hooks for observability
|
|
12
|
+
*/
|
|
13
|
+
import type { Interceptor, Envelope, Context } from '../../types/index.js';
|
|
14
|
+
import type { RateLimitConfig } from '../types.js';
|
|
15
|
+
/**
|
|
16
|
+
* Parsed rate limit info from upstream headers
|
|
17
|
+
*/
|
|
18
|
+
export interface ParsedRateLimitInfo {
|
|
19
|
+
/** Maximum requests allowed in the window */
|
|
20
|
+
limit?: number;
|
|
21
|
+
/** Remaining requests in current window */
|
|
22
|
+
remaining?: number;
|
|
23
|
+
/** Timestamp when the rate limit resets (ms since epoch) */
|
|
24
|
+
resetAt?: number;
|
|
25
|
+
/** Seconds until rate limit resets */
|
|
26
|
+
retryAfter?: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Parse rate limit headers from metadata or response headers
|
|
30
|
+
*
|
|
31
|
+
* Parses standard x-ratelimit-* headers and retry-after.
|
|
32
|
+
* Useful when Raffel acts as a proxy or for client-side logic.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const info = parseRateLimitHeaders({
|
|
37
|
+
* 'x-ratelimit-limit': '100',
|
|
38
|
+
* 'x-ratelimit-remaining': '42',
|
|
39
|
+
* 'x-ratelimit-reset': '1699876543000',
|
|
40
|
+
* 'retry-after': '30',
|
|
41
|
+
* })
|
|
42
|
+
*
|
|
43
|
+
* console.log(info)
|
|
44
|
+
* // { limit: 100, remaining: 42, resetAt: 1699876543000, retryAfter: 30 }
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare function parseRateLimitHeaders(headers: Record<string, string | undefined>): ParsedRateLimitInfo;
|
|
48
|
+
/**
|
|
49
|
+
* Check if rate limit is exceeded based on parsed headers
|
|
50
|
+
*/
|
|
51
|
+
export declare function isRateLimitExceeded(info: ParsedRateLimitInfo): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Calculate delay before next request based on rate limit info
|
|
54
|
+
*/
|
|
55
|
+
export declare function calculateRateLimitDelay(info: ParsedRateLimitInfo): number;
|
|
56
|
+
/**
|
|
57
|
+
* Create a rate limiting interceptor
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* // Basic usage
|
|
62
|
+
* const rateLimit = createRateLimitInterceptor({
|
|
63
|
+
* windowMs: 60000, // 1 minute
|
|
64
|
+
* maxRequests: 100,
|
|
65
|
+
* })
|
|
66
|
+
*
|
|
67
|
+
* // With path-specific rules
|
|
68
|
+
* const rateLimit = createRateLimitInterceptor({
|
|
69
|
+
* windowMs: 60000,
|
|
70
|
+
* maxRequests: 100,
|
|
71
|
+
* rules: [
|
|
72
|
+
* { id: 'auth', pattern: 'auth.*', maxRequests: 10 },
|
|
73
|
+
* { id: 'admin', pattern: 'admin.**', maxRequests: 50 },
|
|
74
|
+
* ]
|
|
75
|
+
* })
|
|
76
|
+
*
|
|
77
|
+
* server.use(rateLimit)
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export declare function createRateLimitInterceptor(config?: RateLimitConfig): Interceptor;
|
|
81
|
+
/**
|
|
82
|
+
* Create a rate limiter with authentication-aware defaults
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```typescript
|
|
86
|
+
* const authRateLimit = createAuthRateLimiter({
|
|
87
|
+
* authenticated: { windowMs: 60000, maxRequests: 1000 },
|
|
88
|
+
* anonymous: { windowMs: 60000, maxRequests: 100 },
|
|
89
|
+
* })
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
export declare function createAuthRateLimiter(config: {
|
|
93
|
+
authenticated?: Partial<RateLimitConfig>;
|
|
94
|
+
anonymous?: Partial<RateLimitConfig>;
|
|
95
|
+
}): Interceptor;
|
|
96
|
+
/**
|
|
97
|
+
* Token bucket rate limiter configuration
|
|
98
|
+
*/
|
|
99
|
+
export interface TokenBucketConfig {
|
|
100
|
+
/** Maximum tokens (burst capacity) */
|
|
101
|
+
bucketSize: number;
|
|
102
|
+
/** Tokens added per second (sustained rate) */
|
|
103
|
+
refillRate: number;
|
|
104
|
+
/** Maximum unique keys to track (default: 10000) */
|
|
105
|
+
maxUniqueKeys?: number;
|
|
106
|
+
/** Custom key generator */
|
|
107
|
+
keyGenerator?: (envelope: Envelope, ctx: Context) => string;
|
|
108
|
+
/**
|
|
109
|
+
* Callback when rate limit is exceeded
|
|
110
|
+
* Useful for monitoring and alerting
|
|
111
|
+
*/
|
|
112
|
+
onRateLimited?: (info: {
|
|
113
|
+
key: string;
|
|
114
|
+
procedure: string;
|
|
115
|
+
requestId?: string;
|
|
116
|
+
tokensNeeded: number;
|
|
117
|
+
tokensAvailable: number;
|
|
118
|
+
}) => void;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Create a token bucket rate limiter
|
|
122
|
+
*
|
|
123
|
+
* Token bucket allows bursts while maintaining an average rate.
|
|
124
|
+
* This is more flexible than sliding window for bursty traffic.
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```typescript
|
|
128
|
+
* // Allow bursts of 10 requests, sustained rate of 1 req/sec
|
|
129
|
+
* const rateLimit = createTokenBucketLimiter({
|
|
130
|
+
* bucketSize: 10, // Max burst
|
|
131
|
+
* refillRate: 1, // 1 token per second
|
|
132
|
+
* })
|
|
133
|
+
*
|
|
134
|
+
* // Allow bursts of 100 requests, sustained rate of 10 req/sec
|
|
135
|
+
* const rateLimit = createTokenBucketLimiter({
|
|
136
|
+
* bucketSize: 100,
|
|
137
|
+
* refillRate: 10,
|
|
138
|
+
* onRateLimited: ({ key, procedure }) => {
|
|
139
|
+
* console.warn(`Rate limited: ${key} on ${procedure}`)
|
|
140
|
+
* }
|
|
141
|
+
* })
|
|
142
|
+
*
|
|
143
|
+
* server.use(rateLimit)
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
export declare function createTokenBucketLimiter(config: TokenBucketConfig): Interceptor;
|
|
147
|
+
//# sourceMappingURL=rate-limit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../../../src/middleware/interceptors/rate-limit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,aAAa,CAAA;AAahF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAC1C,mBAAmB,CAuDrB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAKtE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAQzE;AAoFD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,GAAE,eAAoB,GAAG,WAAW,CA8DpF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,aAAa,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CACrC,GAAG,WAAW,CAsBd;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAA;IAElB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAA;IAElB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,2BAA2B;IAC3B,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,KAAK,MAAM,CAAA;IAE3D;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QACrB,GAAG,EAAE,MAAM,CAAA;QACX,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,MAAM,CAAA;QACpB,eAAe,EAAE,MAAM,CAAA;KACxB,KAAK,IAAI,CAAA;CACX;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CA0F/E"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Timeout Interceptor
|
|
3
|
+
*
|
|
4
|
+
* Protocol-agnostic request timeout handling.
|
|
5
|
+
* Prevents long-running requests from blocking resources.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Per-procedure and pattern-based timeouts
|
|
9
|
+
* - Cascading timeouts for nested calls
|
|
10
|
+
* - Deadline propagation across service boundaries
|
|
11
|
+
* - Phase tracking for detailed timeout diagnostics
|
|
12
|
+
*/
|
|
13
|
+
import type { Interceptor, Context } from '../../types/index.js';
|
|
14
|
+
import type { TimeoutConfig } from '../types.js';
|
|
15
|
+
/**
|
|
16
|
+
* Timeout phase for diagnostic purposes
|
|
17
|
+
*
|
|
18
|
+
* Helps identify WHERE the timeout occurred:
|
|
19
|
+
* - `queued`: Request waiting in queue before processing
|
|
20
|
+
* - `handler`: Executing the procedure handler
|
|
21
|
+
* - `downstream`: Waiting for a downstream service/database
|
|
22
|
+
* - `serialization`: Serializing/deserializing data
|
|
23
|
+
* - `unknown`: Phase not tracked
|
|
24
|
+
*/
|
|
25
|
+
export type TimeoutPhase = 'queued' | 'handler' | 'downstream' | 'serialization' | 'unknown';
|
|
26
|
+
/**
|
|
27
|
+
* Set the current timeout phase for a request
|
|
28
|
+
*
|
|
29
|
+
* Call this from handlers to track where time is being spent.
|
|
30
|
+
* If timeout occurs, the error will include the current phase.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* async function myHandler(input: Input, ctx: Context) {
|
|
35
|
+
* // Mark that we're calling downstream service
|
|
36
|
+
* setTimeoutPhase(ctx, 'downstream')
|
|
37
|
+
* const result = await externalApi.fetch(input)
|
|
38
|
+
*
|
|
39
|
+
* // Mark that we're processing the response
|
|
40
|
+
* setTimeoutPhase(ctx, 'handler')
|
|
41
|
+
* return processResult(result)
|
|
42
|
+
* }
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare function setTimeoutPhase(ctx: Context, phase: TimeoutPhase): void;
|
|
46
|
+
/**
|
|
47
|
+
* Get the current timeout phase for a request
|
|
48
|
+
*/
|
|
49
|
+
export declare function getTimeoutPhase(ctx: Context): TimeoutPhase;
|
|
50
|
+
/**
|
|
51
|
+
* Get phase timing information
|
|
52
|
+
*/
|
|
53
|
+
export declare function getPhaseInfo(ctx: Context): {
|
|
54
|
+
phase: TimeoutPhase;
|
|
55
|
+
phaseDuration: number;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Create a timeout interceptor
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* // Basic usage with default 30s timeout
|
|
63
|
+
* const timeout = createTimeoutInterceptor()
|
|
64
|
+
*
|
|
65
|
+
* // Custom default timeout
|
|
66
|
+
* const timeout = createTimeoutInterceptor({
|
|
67
|
+
* defaultMs: 10000, // 10 seconds
|
|
68
|
+
* })
|
|
69
|
+
*
|
|
70
|
+
* // Per-procedure timeouts
|
|
71
|
+
* const timeout = createTimeoutInterceptor({
|
|
72
|
+
* defaultMs: 5000,
|
|
73
|
+
* procedures: {
|
|
74
|
+
* 'reports.generate': 60000, // 1 minute for reports
|
|
75
|
+
* 'files.upload': 120000, // 2 minutes for uploads
|
|
76
|
+
* }
|
|
77
|
+
* })
|
|
78
|
+
*
|
|
79
|
+
* // Pattern-based timeouts
|
|
80
|
+
* const timeout = createTimeoutInterceptor({
|
|
81
|
+
* defaultMs: 5000,
|
|
82
|
+
* patterns: {
|
|
83
|
+
* 'analytics.**': 30000,
|
|
84
|
+
* 'export.*': 60000,
|
|
85
|
+
* }
|
|
86
|
+
* })
|
|
87
|
+
*
|
|
88
|
+
* server.use(timeout)
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
export declare function createTimeoutInterceptor(config?: TimeoutConfig): Interceptor;
|
|
92
|
+
/**
|
|
93
|
+
* Create a cascading timeout interceptor
|
|
94
|
+
*
|
|
95
|
+
* Reduces timeout for each nested call to prevent cascading delays.
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```typescript
|
|
99
|
+
* const timeout = createCascadingTimeoutInterceptor({
|
|
100
|
+
* initialMs: 30000,
|
|
101
|
+
* reductionMs: 5000, // Each nested call gets 5s less
|
|
102
|
+
* minimumMs: 5000, // Never go below 5s
|
|
103
|
+
* })
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export declare function createCascadingTimeoutInterceptor(config?: {
|
|
107
|
+
initialMs?: number;
|
|
108
|
+
reductionMs?: number;
|
|
109
|
+
minimumMs?: number;
|
|
110
|
+
}): Interceptor;
|
|
111
|
+
/**
|
|
112
|
+
* Create a deadline propagation interceptor
|
|
113
|
+
*
|
|
114
|
+
* Reads deadline from metadata and enforces it.
|
|
115
|
+
* Useful for propagating deadlines across service boundaries.
|
|
116
|
+
*/
|
|
117
|
+
export declare function createDeadlinePropagationInterceptor(config?: {
|
|
118
|
+
metadataKey?: string;
|
|
119
|
+
defaultMs?: number;
|
|
120
|
+
}): Interceptor;
|
|
121
|
+
//# sourceMappingURL=timeout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../../../src/middleware/interceptors/timeout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAY,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGhD;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,eAAe,GACf,SAAS,CAAA;AAkBb;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAEvE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAE1D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG;IAC1C,KAAK,EAAE,YAAY,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;CACtB,CASA;AA6ED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,GAAE,aAAkB,GAAG,WAAW,CAwChF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,GAAE;IACxD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,WAAW,CAgCnB;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAAC,MAAM,GAAE;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,WAAW,CA8CnB"}
|