raffel 0.2.3 → 1.0.0-next.f81d4db
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/grpc.d.ts.map +1 -1
- package/dist/adapters/grpc.js +1 -15
- package/dist/adapters/grpc.js.map +1 -1
- package/dist/adapters/http.d.ts +6 -0
- package/dist/adapters/http.d.ts.map +1 -1
- package/dist/adapters/http.js +53 -86
- package/dist/adapters/http.js.map +1 -1
- package/dist/adapters/index.d.ts +0 -2
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +0 -2
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/tcp.d.ts +16 -0
- package/dist/adapters/tcp.d.ts.map +1 -1
- package/dist/adapters/tcp.js +85 -34
- package/dist/adapters/tcp.js.map +1 -1
- package/dist/adapters/websocket.d.ts.map +1 -1
- package/dist/adapters/websocket.js +1 -14
- package/dist/adapters/websocket.js.map +1 -1
- package/dist/cache/drivers/index.d.ts +0 -1
- package/dist/cache/drivers/index.d.ts.map +1 -1
- package/dist/cache/drivers/index.js +0 -1
- package/dist/cache/drivers/index.js.map +1 -1
- package/dist/cache/factory.d.ts +2 -9
- package/dist/cache/factory.d.ts.map +1 -1
- package/dist/cache/factory.js +1 -19
- package/dist/cache/factory.js.map +1 -1
- package/dist/cache/index.d.ts +2 -7
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +1 -6
- package/dist/cache/index.js.map +1 -1
- package/dist/cache/types.d.ts +1 -32
- package/dist/cache/types.d.ts.map +1 -1
- package/dist/core/event-delivery.d.ts.map +1 -1
- package/dist/core/event-delivery.js +5 -3
- package/dist/core/event-delivery.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/registry.d.ts +3 -3
- package/dist/core/registry.d.ts.map +1 -1
- package/dist/core/registry.js +30 -8
- package/dist/core/registry.js.map +1 -1
- package/dist/core/router.d.ts.map +1 -1
- package/dist/core/router.js +5 -4
- package/dist/core/router.js.map +1 -1
- package/dist/docs/generators/code-samples.d.ts +32 -0
- package/dist/docs/generators/code-samples.d.ts.map +1 -0
- package/dist/docs/generators/code-samples.js +322 -0
- package/dist/docs/generators/code-samples.js.map +1 -0
- package/dist/docs/generators/errors-types.d.ts +2 -2
- package/dist/docs/generators/errors-types.js +2 -2
- package/dist/docs/generators/http-generator.d.ts +10 -0
- package/dist/docs/generators/http-generator.d.ts.map +1 -1
- package/dist/docs/generators/http-generator.js +100 -3
- package/dist/docs/generators/http-generator.js.map +1 -1
- package/dist/docs/generators/usd-generator.d.ts +31 -1
- package/dist/docs/generators/usd-generator.d.ts.map +1 -1
- package/dist/docs/generators/usd-generator.js +19 -1
- package/dist/docs/generators/usd-generator.js.map +1 -1
- package/dist/docs/generators/websocket-generator.d.ts.map +1 -1
- package/dist/docs/generators/websocket-generator.js +6 -4
- package/dist/docs/generators/websocket-generator.js.map +1 -1
- package/dist/docs/ui/html-builder.d.ts.map +1 -1
- package/dist/docs/ui/html-builder.js +260 -54
- package/dist/docs/ui/html-builder.js.map +1 -1
- package/dist/docs/ui/styles.d.ts.map +1 -1
- package/dist/docs/ui/styles.js +240 -30
- package/dist/docs/ui/styles.js.map +1 -1
- package/dist/docs/ui/types.d.ts +15 -1
- package/dist/docs/ui/types.d.ts.map +1 -1
- package/dist/docs/usd-middleware.d.ts +32 -7
- package/dist/docs/usd-middleware.d.ts.map +1 -1
- package/dist/docs/usd-middleware.js +5 -1
- package/dist/docs/usd-middleware.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/logging/index.d.ts.map +1 -1
- package/dist/dx/logging/index.js +5 -3
- package/dist/dx/logging/index.js.map +1 -1
- package/dist/dx/scenarios.d.ts +26 -0
- package/dist/dx/scenarios.d.ts.map +1 -0
- package/dist/dx/scenarios.js +109 -0
- package/dist/dx/scenarios.js.map +1 -0
- package/dist/errors/codes.d.ts +1 -1
- package/dist/errors/codes.js +1 -1
- package/dist/graphql/adapter.js +1 -1
- package/dist/http/index.d.ts +2 -0
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +4 -0
- package/dist/http/index.js.map +1 -1
- package/dist/http/openapi-ui.d.ts +174 -0
- package/dist/http/openapi-ui.d.ts.map +1 -0
- package/dist/http/openapi-ui.js +221 -0
- package/dist/http/openapi-ui.js.map +1 -0
- package/dist/http/serve.d.ts +14 -0
- package/dist/http/serve.d.ts.map +1 -1
- package/dist/http/serve.js +8 -1
- package/dist/http/serve.js.map +1 -1
- package/dist/index.d.ts +17 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -6
- package/dist/index.js.map +1 -1
- package/dist/mcp/cli.d.ts +2 -1
- package/dist/mcp/cli.d.ts.map +1 -1
- package/dist/mcp/cli.js +30 -7
- package/dist/mcp/cli.js.map +1 -1
- package/dist/mcp/docs/adapters.d.ts.map +1 -1
- package/dist/mcp/docs/adapters.js +1 -117
- package/dist/mcp/docs/adapters.js.map +1 -1
- package/dist/mcp/docs/index.d.ts +0 -1
- package/dist/mcp/docs/index.d.ts.map +1 -1
- package/dist/mcp/docs/index.js +0 -1
- package/dist/mcp/docs/index.js.map +1 -1
- package/dist/mcp/docs/interceptors.d.ts.map +1 -1
- package/dist/mcp/docs/interceptors.js +272 -1
- package/dist/mcp/docs/interceptors.js.map +1 -1
- package/dist/mcp/docs/patterns.js +1 -1
- package/dist/mcp/prompts/index.d.ts.map +1 -1
- package/dist/mcp/prompts/index.js +147 -22
- package/dist/mcp/prompts/index.js.map +1 -1
- package/dist/mcp/resources/index.d.ts.map +1 -1
- package/dist/mcp/resources/index.js +508 -10
- package/dist/mcp/resources/index.js.map +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/definitions.d.ts +2 -0
- package/dist/mcp/tools/definitions.d.ts.map +1 -1
- package/dist/mcp/tools/definitions.js +149 -1
- 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 +828 -44
- package/dist/mcp/tools/handlers.js.map +1 -1
- package/dist/mcp/types.d.ts +1 -1
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/metrics/interceptor.d.ts.map +1 -1
- package/dist/metrics/interceptor.js +10 -2
- package/dist/metrics/interceptor.js.map +1 -1
- package/dist/middleware/interceptors/cache.d.ts +1 -1
- package/dist/middleware/interceptors/cache.d.ts.map +1 -1
- package/dist/middleware/interceptors/cache.js +4 -2
- package/dist/middleware/interceptors/cache.js.map +1 -1
- package/dist/middleware/interceptors/envelope.d.ts.map +1 -1
- package/dist/middleware/interceptors/envelope.js +12 -14
- package/dist/middleware/interceptors/envelope.js.map +1 -1
- package/dist/middleware/interceptors/logging.d.ts.map +1 -1
- package/dist/middleware/interceptors/logging.js +11 -6
- package/dist/middleware/interceptors/logging.js.map +1 -1
- package/dist/middleware/session/drivers/memory.d.ts +36 -0
- package/dist/middleware/session/drivers/memory.d.ts.map +1 -0
- package/dist/middleware/session/drivers/memory.js +82 -0
- package/dist/middleware/session/drivers/memory.js.map +1 -0
- package/dist/middleware/session/drivers/redis.d.ts +58 -0
- package/dist/middleware/session/drivers/redis.d.ts.map +1 -0
- package/dist/middleware/session/drivers/redis.js +70 -0
- package/dist/middleware/session/drivers/redis.js.map +1 -0
- package/dist/middleware/session/drivers/s3db.d.ts +65 -0
- package/dist/middleware/session/drivers/s3db.d.ts.map +1 -0
- package/dist/middleware/session/drivers/s3db.js +98 -0
- package/dist/middleware/session/drivers/s3db.js.map +1 -0
- package/dist/middleware/session/index.d.ts +47 -0
- package/dist/middleware/session/index.d.ts.map +1 -0
- package/dist/middleware/session/index.js +46 -0
- package/dist/middleware/session/index.js.map +1 -0
- package/dist/middleware/session/interceptor.d.ts +42 -0
- package/dist/middleware/session/interceptor.d.ts.map +1 -0
- package/dist/middleware/session/interceptor.js +264 -0
- package/dist/middleware/session/interceptor.js.map +1 -0
- package/dist/middleware/session/types.d.ts +116 -0
- package/dist/middleware/session/types.d.ts.map +1 -0
- package/dist/middleware/session/types.js +9 -0
- package/dist/middleware/session/types.js.map +1 -0
- package/dist/proxy/connect-tunnel.d.ts +50 -0
- package/dist/proxy/connect-tunnel.d.ts.map +1 -0
- package/dist/proxy/connect-tunnel.js +163 -0
- package/dist/proxy/connect-tunnel.js.map +1 -0
- package/dist/proxy/http-forward.d.ts +48 -0
- package/dist/proxy/http-forward.d.ts.map +1 -0
- package/dist/proxy/http-forward.js +160 -0
- package/dist/proxy/http-forward.js.map +1 -0
- package/dist/proxy/index.d.ts +19 -0
- package/dist/proxy/index.d.ts.map +1 -0
- package/dist/proxy/index.js +14 -0
- package/dist/proxy/index.js.map +1 -0
- package/dist/proxy/socks5.d.ts +22 -0
- package/dist/proxy/socks5.d.ts.map +1 -0
- package/dist/proxy/socks5.js +307 -0
- package/dist/proxy/socks5.js.map +1 -0
- package/dist/proxy/transparent.d.ts +40 -0
- package/dist/proxy/transparent.d.ts.map +1 -0
- package/dist/proxy/transparent.js +144 -0
- package/dist/proxy/transparent.js.map +1 -0
- package/dist/proxy/types.d.ts +32 -0
- package/dist/proxy/types.d.ts.map +1 -0
- package/dist/proxy/types.js +5 -0
- package/dist/proxy/types.js.map +1 -0
- package/dist/proxy/utils/auth.d.ts +31 -0
- package/dist/proxy/utils/auth.d.ts.map +1 -0
- package/dist/proxy/utils/auth.js +69 -0
- package/dist/proxy/utils/auth.js.map +1 -0
- package/dist/proxy/utils/hop-headers.d.ts +13 -0
- package/dist/proxy/utils/hop-headers.d.ts.map +1 -0
- package/dist/proxy/utils/hop-headers.js +38 -0
- package/dist/proxy/utils/hop-headers.js.map +1 -0
- package/dist/proxy/utils/pipe.d.ts +22 -0
- package/dist/proxy/utils/pipe.d.ts.map +1 -0
- package/dist/proxy/utils/pipe.js +60 -0
- package/dist/proxy/utils/pipe.js.map +1 -0
- package/dist/rate-limit/factory.d.ts.map +1 -1
- package/dist/rate-limit/factory.js +30 -6
- package/dist/rate-limit/factory.js.map +1 -1
- package/dist/server/builder/config-preview.d.ts +34 -0
- package/dist/server/builder/config-preview.d.ts.map +1 -0
- package/dist/server/builder/config-preview.js +95 -0
- package/dist/server/builder/config-preview.js.map +1 -0
- package/dist/server/builder/lifecycle-utils.d.ts +11 -0
- package/dist/server/builder/lifecycle-utils.d.ts.map +1 -0
- package/dist/server/builder/lifecycle-utils.js +32 -0
- package/dist/server/builder/lifecycle-utils.js.map +1 -0
- package/dist/server/builder/lifecycle.d.ts +86 -0
- package/dist/server/builder/lifecycle.d.ts.map +1 -0
- package/dist/server/builder/lifecycle.js +738 -0
- package/dist/server/builder/lifecycle.js.map +1 -0
- package/dist/server/builder/single-port-utils.d.ts +27 -0
- package/dist/server/builder/single-port-utils.d.ts.map +1 -0
- package/dist/server/builder/single-port-utils.js +170 -0
- package/dist/server/builder/single-port-utils.js.map +1 -0
- package/dist/server/builder.d.ts.map +1 -1
- package/dist/server/builder.js +446 -601
- package/dist/server/builder.js.map +1 -1
- package/dist/server/discovery-bootstrap.d.ts +21 -0
- package/dist/server/discovery-bootstrap.d.ts.map +1 -0
- package/dist/server/discovery-bootstrap.js +39 -0
- package/dist/server/discovery-bootstrap.js.map +1 -0
- package/dist/server/errors.d.ts.map +1 -1
- package/dist/server/errors.js +1 -33
- package/dist/server/errors.js.map +1 -1
- package/dist/server/front-door.d.ts +34 -0
- package/dist/server/front-door.d.ts.map +1 -0
- package/dist/server/front-door.js +238 -0
- package/dist/server/front-door.js.map +1 -0
- package/dist/server/fs-routes/types.d.ts +6 -0
- package/dist/server/fs-routes/types.d.ts.map +1 -1
- package/dist/server/handler-builders.d.ts +22 -4
- package/dist/server/handler-builders.d.ts.map +1 -1
- package/dist/server/handler-builders.js +37 -14
- package/dist/server/handler-builders.js.map +1 -1
- package/dist/server/index.d.ts +4 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/interceptor-utils.d.ts +8 -0
- package/dist/server/interceptor-utils.d.ts.map +1 -0
- package/dist/server/interceptor-utils.js +23 -0
- package/dist/server/interceptor-utils.js.map +1 -0
- package/dist/server/port-binding.d.ts +44 -0
- package/dist/server/port-binding.d.ts.map +1 -0
- package/dist/server/port-binding.js +94 -0
- package/dist/server/port-binding.js.map +1 -0
- package/dist/server/protocol-aliases.d.ts +56 -0
- package/dist/server/protocol-aliases.d.ts.map +1 -0
- package/dist/server/protocol-aliases.js +47 -0
- package/dist/server/protocol-aliases.js.map +1 -0
- package/dist/server/protocol-config.d.ts +17 -1
- package/dist/server/protocol-config.d.ts.map +1 -1
- package/dist/server/protocol-config.js +116 -9
- package/dist/server/protocol-config.js.map +1 -1
- package/dist/server/resource-builder.js +3 -3
- package/dist/server/resource-builder.js.map +1 -1
- package/dist/server/rest-middleware.d.ts.map +1 -1
- package/dist/server/rest-middleware.js +1 -15
- package/dist/server/rest-middleware.js.map +1 -1
- package/dist/server/router-module.d.ts.map +1 -1
- package/dist/server/router-module.js +22 -99
- package/dist/server/router-module.js.map +1 -1
- package/dist/server/shared-context.d.ts.map +1 -1
- package/dist/server/shared-context.js +3 -1
- package/dist/server/shared-context.js.map +1 -1
- package/dist/server/single-port/dispatcher.d.ts +10 -0
- package/dist/server/single-port/dispatcher.d.ts.map +1 -0
- package/dist/server/single-port/dispatcher.js +188 -0
- package/dist/server/single-port/dispatcher.js.map +1 -0
- package/dist/server/single-port/index.d.ts +4 -0
- package/dist/server/single-port/index.d.ts.map +1 -0
- package/dist/server/single-port/index.js +3 -0
- package/dist/server/single-port/index.js.map +1 -0
- package/dist/server/single-port/registry.d.ts +19 -0
- package/dist/server/single-port/registry.d.ts.map +1 -0
- package/dist/server/single-port/registry.js +24 -0
- package/dist/server/single-port/registry.js.map +1 -0
- package/dist/server/single-port/types.d.ts +46 -0
- package/dist/server/single-port/types.d.ts.map +1 -0
- package/dist/server/single-port/types.js +2 -0
- package/dist/server/single-port/types.js.map +1 -0
- package/dist/server/telemetry-bootstrap.d.ts +38 -0
- package/dist/server/telemetry-bootstrap.d.ts.map +1 -0
- package/dist/server/telemetry-bootstrap.js +115 -0
- package/dist/server/telemetry-bootstrap.js.map +1 -0
- package/dist/server/types.d.ts +422 -21
- package/dist/server/types.d.ts.map +1 -1
- package/dist/testing/echo-protection.d.ts +30 -0
- package/dist/testing/echo-protection.d.ts.map +1 -0
- package/dist/testing/echo-protection.js +158 -0
- package/dist/testing/echo-protection.js.map +1 -0
- package/dist/testing/index.d.ts +344 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +1072 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/mock-dns-server.d.ts +31 -0
- package/dist/testing/mock-dns-server.d.ts.map +1 -0
- package/dist/testing/mock-dns-server.js +247 -0
- package/dist/testing/mock-dns-server.js.map +1 -0
- package/dist/testing/mock-hls-server.d.ts +85 -0
- package/dist/testing/mock-hls-server.d.ts.map +1 -0
- package/dist/testing/mock-hls-server.js +252 -0
- package/dist/testing/mock-hls-server.js.map +1 -0
- package/dist/testing/mock-proxy-server.d.ts +78 -0
- package/dist/testing/mock-proxy-server.d.ts.map +1 -0
- package/dist/testing/mock-proxy-server.js +277 -0
- package/dist/testing/mock-proxy-server.js.map +1 -0
- package/dist/testing/mock-sse-server.d.ts +56 -0
- package/dist/testing/mock-sse-server.d.ts.map +1 -0
- package/dist/testing/mock-sse-server.js +206 -0
- package/dist/testing/mock-sse-server.js.map +1 -0
- package/dist/testing/proxy-certs.d.ts +9 -0
- package/dist/testing/proxy-certs.d.ts.map +1 -0
- package/dist/testing/proxy-certs.js +2 -0
- package/dist/testing/proxy-certs.js.map +1 -0
- package/dist/testing/service-suite.d.ts +47 -0
- package/dist/testing/service-suite.d.ts.map +1 -0
- package/dist/testing/service-suite.js +82 -0
- package/dist/testing/service-suite.js.map +1 -0
- package/dist/testing/service-types.d.ts +32 -0
- package/dist/testing/service-types.d.ts.map +1 -0
- package/dist/testing/service-types.js +2 -0
- package/dist/testing/service-types.js.map +1 -0
- package/dist/ui/core/event-delivery.d.ts.map +1 -1
- package/dist/ui/core/index.d.ts +1 -1
- package/dist/ui/core/index.d.ts.map +1 -1
- package/dist/ui/core/registry.d.ts +3 -3
- 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 +32 -0
- package/dist/ui/docs/generators/code-samples.d.ts.map +1 -0
- package/dist/ui/docs/generators/errors-types.d.ts +2 -2
- package/dist/ui/docs/generators/http-generator.d.ts +10 -0
- package/dist/ui/docs/generators/http-generator.d.ts.map +1 -1
- package/dist/ui/docs/generators/usd-generator.d.ts +31 -1
- package/dist/ui/docs/generators/usd-generator.d.ts.map +1 -1
- package/dist/ui/docs/generators/websocket-generator.d.ts.map +1 -1
- package/dist/ui/docs/ui/html-builder.d.ts.map +1 -1
- package/dist/ui/docs/ui/styles.d.ts.map +1 -1
- package/dist/ui/docs/ui/types.d.ts +15 -1
- package/dist/ui/docs/ui/types.d.ts.map +1 -1
- package/dist/ui/docs/usd-middleware.d.ts +32 -7
- package/dist/ui/docs/usd-middleware.d.ts.map +1 -1
- package/dist/ui/errors/codes.d.ts +1 -1
- package/dist/ui/server/fs-routes/types.d.ts +6 -0
- package/dist/ui/server/fs-routes/types.d.ts.map +1 -1
- package/dist/ui/usd/index.d.ts +1 -1
- package/dist/ui/usd/index.d.ts.map +1 -1
- package/dist/ui/usd/spec/types.d.ts +91 -0
- package/dist/ui/usd/spec/types.d.ts.map +1 -1
- package/dist/usd/index.d.ts +1 -1
- package/dist/usd/index.d.ts.map +1 -1
- package/dist/usd/index.js.map +1 -1
- package/dist/usd/spec/types.d.ts +91 -0
- package/dist/usd/spec/types.d.ts.map +1 -1
- package/dist/usd/spec/types.js.map +1 -1
- package/dist/utils/certs.d.ts +30 -0
- package/dist/utils/certs.d.ts.map +1 -0
- package/dist/utils/certs.js +230 -0
- package/dist/utils/certs.js.map +1 -0
- package/dist/utils/context-utils.d.ts +11 -0
- package/dist/utils/context-utils.d.ts.map +1 -0
- package/dist/utils/context-utils.js +24 -0
- package/dist/utils/context-utils.js.map +1 -0
- package/package.json +11 -2
- package/dist/adapters/grpc.int.test.d.ts +0 -5
- package/dist/adapters/grpc.int.test.d.ts.map +0 -1
- package/dist/adapters/grpc.int.test.js +0 -168
- package/dist/adapters/grpc.int.test.js.map +0 -1
- package/dist/adapters/http.int.test.d.ts +0 -5
- package/dist/adapters/http.int.test.d.ts.map +0 -1
- package/dist/adapters/http.int.test.js +0 -396
- package/dist/adapters/http.int.test.js.map +0 -1
- package/dist/adapters/jsonrpc.int.test.d.ts +0 -5
- package/dist/adapters/jsonrpc.int.test.d.ts.map +0 -1
- package/dist/adapters/jsonrpc.int.test.js +0 -640
- package/dist/adapters/jsonrpc.int.test.js.map +0 -1
- package/dist/adapters/s3db/adapter.d.ts +0 -105
- package/dist/adapters/s3db/adapter.d.ts.map +0 -1
- package/dist/adapters/s3db/adapter.js +0 -536
- package/dist/adapters/s3db/adapter.js.map +0 -1
- package/dist/adapters/s3db/index.d.ts +0 -20
- package/dist/adapters/s3db/index.d.ts.map +0 -1
- package/dist/adapters/s3db/index.js +0 -25
- package/dist/adapters/s3db/index.js.map +0 -1
- package/dist/adapters/s3db/s3db.int.test.d.ts +0 -5
- package/dist/adapters/s3db/s3db.int.test.d.ts.map +0 -1
- package/dist/adapters/s3db/s3db.int.test.js +0 -472
- package/dist/adapters/s3db/s3db.int.test.js.map +0 -1
- package/dist/adapters/s3db/types.d.ts +0 -277
- package/dist/adapters/s3db/types.d.ts.map +0 -1
- package/dist/adapters/s3db/types.js +0 -7
- package/dist/adapters/s3db/types.js.map +0 -1
- package/dist/adapters/s3db/utils/etag.d.ts +0 -65
- package/dist/adapters/s3db/utils/etag.d.ts.map +0 -1
- package/dist/adapters/s3db/utils/etag.js +0 -99
- package/dist/adapters/s3db/utils/etag.js.map +0 -1
- package/dist/adapters/s3db/utils/guards.d.ts +0 -121
- package/dist/adapters/s3db/utils/guards.d.ts.map +0 -1
- package/dist/adapters/s3db/utils/guards.js +0 -169
- package/dist/adapters/s3db/utils/guards.js.map +0 -1
- package/dist/adapters/s3db/utils/index.d.ts +0 -9
- package/dist/adapters/s3db/utils/index.d.ts.map +0 -1
- package/dist/adapters/s3db/utils/index.js +0 -10
- package/dist/adapters/s3db/utils/index.js.map +0 -1
- package/dist/adapters/s3db/utils/populate.d.ts +0 -89
- package/dist/adapters/s3db/utils/populate.d.ts.map +0 -1
- package/dist/adapters/s3db/utils/populate.js +0 -165
- package/dist/adapters/s3db/utils/populate.js.map +0 -1
- package/dist/adapters/tcp.int.test.d.ts +0 -5
- package/dist/adapters/tcp.int.test.d.ts.map +0 -1
- package/dist/adapters/tcp.int.test.js +0 -379
- package/dist/adapters/tcp.int.test.js.map +0 -1
- package/dist/adapters/udp.int.test.d.ts +0 -5
- package/dist/adapters/udp.int.test.d.ts.map +0 -1
- package/dist/adapters/udp.int.test.js +0 -397
- package/dist/adapters/udp.int.test.js.map +0 -1
- package/dist/adapters/websocket.int.test.d.ts +0 -5
- package/dist/adapters/websocket.int.test.d.ts.map +0 -1
- package/dist/adapters/websocket.int.test.js +0 -383
- package/dist/adapters/websocket.int.test.js.map +0 -1
- package/dist/cache/drivers/memory.int.test.d.ts +0 -5
- package/dist/cache/drivers/memory.int.test.d.ts.map +0 -1
- package/dist/cache/drivers/memory.int.test.js +0 -241
- package/dist/cache/drivers/memory.int.test.js.map +0 -1
- package/dist/cache/drivers/s3db.d.ts +0 -78
- package/dist/cache/drivers/s3db.d.ts.map +0 -1
- package/dist/cache/drivers/s3db.js +0 -216
- package/dist/cache/drivers/s3db.js.map +0 -1
- package/dist/channels/channel-manager.int.test.d.ts +0 -5
- package/dist/channels/channel-manager.int.test.d.ts.map +0 -1
- package/dist/channels/channel-manager.int.test.js +0 -378
- package/dist/channels/channel-manager.int.test.js.map +0 -1
- package/dist/core/ctx-call.int.test.d.ts +0 -7
- package/dist/core/ctx-call.int.test.d.ts.map +0 -1
- package/dist/core/ctx-call.int.test.js +0 -263
- package/dist/core/ctx-call.int.test.js.map +0 -1
- package/dist/core/registry.unit.test.d.ts +0 -2
- package/dist/core/registry.unit.test.d.ts.map +0 -1
- package/dist/core/registry.unit.test.js +0 -133
- package/dist/core/registry.unit.test.js.map +0 -1
- package/dist/core/router.int.test.d.ts +0 -2
- package/dist/core/router.int.test.d.ts.map +0 -1
- package/dist/core/router.int.test.js +0 -368
- package/dist/core/router.int.test.js.map +0 -1
- package/dist/docs/generators/generators.int.test.d.ts +0 -2
- package/dist/docs/generators/generators.int.test.d.ts.map +0 -1
- package/dist/docs/generators/generators.int.test.js +0 -105
- package/dist/docs/generators/generators.int.test.js.map +0 -1
- package/dist/docs/openapi/generator.int.test.d.ts +0 -5
- package/dist/docs/openapi/generator.int.test.d.ts.map +0 -1
- package/dist/docs/openapi/generator.int.test.js +0 -260
- package/dist/docs/openapi/generator.int.test.js.map +0 -1
- package/dist/dx/health/health.int.test.d.ts +0 -5
- package/dist/dx/health/health.int.test.d.ts.map +0 -1
- package/dist/dx/health/health.int.test.js +0 -249
- package/dist/dx/health/health.int.test.js.map +0 -1
- package/dist/dx/logging/http-logging.int.test.d.ts +0 -5
- package/dist/dx/logging/http-logging.int.test.d.ts.map +0 -1
- package/dist/dx/logging/http-logging.int.test.js +0 -319
- package/dist/dx/logging/http-logging.int.test.js.map +0 -1
- package/dist/errors/factories.unit.test.d.ts +0 -7
- package/dist/errors/factories.unit.test.d.ts.map +0 -1
- package/dist/errors/factories.unit.test.js +0 -358
- package/dist/errors/factories.unit.test.js.map +0 -1
- package/dist/graphql/graphql.int.test.d.ts +0 -10
- package/dist/graphql/graphql.int.test.d.ts.map +0 -1
- package/dist/graphql/graphql.int.test.js +0 -698
- package/dist/graphql/graphql.int.test.js.map +0 -1
- package/dist/graphql/schema-generator.int.test.d.ts +0 -5
- package/dist/graphql/schema-generator.int.test.d.ts.map +0 -1
- package/dist/graphql/schema-generator.int.test.js +0 -51
- package/dist/graphql/schema-generator.int.test.js.map +0 -1
- package/dist/http/http.int.test.d.ts +0 -7
- package/dist/http/http.int.test.d.ts.map +0 -1
- package/dist/http/http.int.test.js +0 -605
- package/dist/http/http.int.test.js.map +0 -1
- package/dist/http/session-redis.int.test.d.ts +0 -8
- package/dist/http/session-redis.int.test.d.ts.map +0 -1
- package/dist/http/session-redis.int.test.js +0 -492
- package/dist/http/session-redis.int.test.js.map +0 -1
- package/dist/metrics/metrics.int.test.d.ts +0 -5
- package/dist/metrics/metrics.int.test.d.ts.map +0 -1
- package/dist/metrics/metrics.int.test.js +0 -288
- package/dist/metrics/metrics.int.test.js.map +0 -1
- package/dist/middleware/auth/oauth2.int.test.d.ts +0 -2
- package/dist/middleware/auth/oauth2.int.test.d.ts.map +0 -1
- package/dist/middleware/auth/oauth2.int.test.js +0 -714
- package/dist/middleware/auth/oauth2.int.test.js.map +0 -1
- package/dist/middleware/auth.int.test.d.ts +0 -5
- package/dist/middleware/auth.int.test.d.ts.map +0 -1
- package/dist/middleware/auth.int.test.js +0 -366
- package/dist/middleware/auth.int.test.js.map +0 -1
- package/dist/middleware/compose.int.test.d.ts +0 -7
- package/dist/middleware/compose.int.test.d.ts.map +0 -1
- package/dist/middleware/compose.int.test.js +0 -238
- package/dist/middleware/compose.int.test.js.map +0 -1
- package/dist/middleware/interceptors/bulkhead.int.test.d.ts +0 -5
- package/dist/middleware/interceptors/bulkhead.int.test.d.ts.map +0 -1
- package/dist/middleware/interceptors/bulkhead.int.test.js +0 -263
- package/dist/middleware/interceptors/bulkhead.int.test.js.map +0 -1
- package/dist/middleware/interceptors/cache.int.test.d.ts +0 -5
- package/dist/middleware/interceptors/cache.int.test.d.ts.map +0 -1
- package/dist/middleware/interceptors/cache.int.test.js +0 -470
- package/dist/middleware/interceptors/cache.int.test.js.map +0 -1
- package/dist/middleware/interceptors/circuit-breaker.int.test.d.ts +0 -5
- package/dist/middleware/interceptors/circuit-breaker.int.test.d.ts.map +0 -1
- package/dist/middleware/interceptors/circuit-breaker.int.test.js +0 -253
- package/dist/middleware/interceptors/circuit-breaker.int.test.js.map +0 -1
- package/dist/middleware/interceptors/envelope.int.test.d.ts +0 -5
- package/dist/middleware/interceptors/envelope.int.test.d.ts.map +0 -1
- package/dist/middleware/interceptors/envelope.int.test.js +0 -409
- package/dist/middleware/interceptors/envelope.int.test.js.map +0 -1
- package/dist/middleware/interceptors/fallback.int.test.d.ts +0 -5
- package/dist/middleware/interceptors/fallback.int.test.d.ts.map +0 -1
- package/dist/middleware/interceptors/fallback.int.test.js +0 -211
- package/dist/middleware/interceptors/fallback.int.test.js.map +0 -1
- package/dist/middleware/interceptors/logging.int.test.d.ts +0 -5
- package/dist/middleware/interceptors/logging.int.test.d.ts.map +0 -1
- package/dist/middleware/interceptors/logging.int.test.js +0 -144
- package/dist/middleware/interceptors/logging.int.test.js.map +0 -1
- package/dist/middleware/interceptors/rate-limit.int.test.d.ts +0 -5
- package/dist/middleware/interceptors/rate-limit.int.test.d.ts.map +0 -1
- package/dist/middleware/interceptors/rate-limit.int.test.js +0 -221
- package/dist/middleware/interceptors/rate-limit.int.test.js.map +0 -1
- package/dist/middleware/interceptors/request-id.int.test.d.ts +0 -5
- package/dist/middleware/interceptors/request-id.int.test.d.ts.map +0 -1
- package/dist/middleware/interceptors/request-id.int.test.js +0 -136
- package/dist/middleware/interceptors/request-id.int.test.js.map +0 -1
- package/dist/middleware/interceptors/retry.int.test.d.ts +0 -5
- package/dist/middleware/interceptors/retry.int.test.d.ts.map +0 -1
- package/dist/middleware/interceptors/retry.int.test.js +0 -534
- package/dist/middleware/interceptors/retry.int.test.js.map +0 -1
- package/dist/middleware/interceptors/timeout.int.test.d.ts +0 -5
- package/dist/middleware/interceptors/timeout.int.test.d.ts.map +0 -1
- package/dist/middleware/interceptors/timeout.int.test.js +0 -228
- package/dist/middleware/interceptors/timeout.int.test.js.map +0 -1
- package/dist/rate-limit/drivers/drivers.int.test.d.ts +0 -7
- package/dist/rate-limit/drivers/drivers.int.test.d.ts.map +0 -1
- package/dist/rate-limit/drivers/drivers.int.test.js +0 -466
- package/dist/rate-limit/drivers/drivers.int.test.js.map +0 -1
- package/dist/server/builder.int.test.d.ts +0 -7
- package/dist/server/builder.int.test.d.ts.map +0 -1
- package/dist/server/builder.int.test.js +0 -455
- package/dist/server/builder.int.test.js.map +0 -1
- package/dist/server/fs-routes/loader.int.test.d.ts +0 -5
- package/dist/server/fs-routes/loader.int.test.d.ts.map +0 -1
- package/dist/server/fs-routes/loader.int.test.js +0 -48
- package/dist/server/fs-routes/loader.int.test.js.map +0 -1
- package/dist/server/hooks.int.test.d.ts +0 -7
- package/dist/server/hooks.int.test.d.ts.map +0 -1
- package/dist/server/hooks.int.test.js +0 -564
- package/dist/server/hooks.int.test.js.map +0 -1
- package/dist/server/route-discovery.int.test.d.ts +0 -5
- package/dist/server/route-discovery.int.test.d.ts.map +0 -1
- package/dist/server/route-discovery.int.test.js +0 -49
- package/dist/server/route-discovery.int.test.js.map +0 -1
- package/dist/stream/raffel-stream.int.test.d.ts +0 -2
- package/dist/stream/raffel-stream.int.test.d.ts.map +0 -1
- package/dist/stream/raffel-stream.int.test.js +0 -265
- package/dist/stream/raffel-stream.int.test.js.map +0 -1
- package/dist/tracing/tracing.int.test.d.ts +0 -5
- package/dist/tracing/tracing.int.test.d.ts.map +0 -1
- package/dist/tracing/tracing.int.test.js +0 -412
- package/dist/tracing/tracing.int.test.js.map +0 -1
- package/dist/usd/usd.int.test.d.ts +0 -10
- package/dist/usd/usd.int.test.d.ts.map +0 -1
- package/dist/usd/usd.int.test.js +0 -719
- package/dist/usd/usd.int.test.js.map +0 -1
- package/dist/validation/multi-validator.int.test.d.ts +0 -7
- package/dist/validation/multi-validator.int.test.d.ts.map +0 -1
- package/dist/validation/multi-validator.int.test.js +0 -808
- package/dist/validation/multi-validator.int.test.js.map +0 -1
- package/dist/validation/schema.int.test.d.ts +0 -5
- package/dist/validation/schema.int.test.d.ts.map +0 -1
- package/dist/validation/schema.int.test.js +0 -340
- package/dist/validation/schema.int.test.js.map +0 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MockSSEServer — Server-Sent Events (text/event-stream) over HTTP.
|
|
3
|
+
*/
|
|
4
|
+
import { EventEmitter } from 'node:events';
|
|
5
|
+
export interface SSEEvent {
|
|
6
|
+
event?: string;
|
|
7
|
+
data: string;
|
|
8
|
+
id?: string;
|
|
9
|
+
retry?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface MockSSEServerOptions {
|
|
12
|
+
port?: number;
|
|
13
|
+
host?: string;
|
|
14
|
+
/** Path that accepts SSE connections. Default: '/events' */
|
|
15
|
+
path?: string;
|
|
16
|
+
/** Retry interval sent to clients on connect (ms). Default: 3000 */
|
|
17
|
+
retryInterval?: number;
|
|
18
|
+
/** Keep-alive comment interval (ms). 0 = disabled. Default: 15000 */
|
|
19
|
+
keepAliveInterval?: number;
|
|
20
|
+
/** Access-Control-Allow-Origin value. Default: '*' */
|
|
21
|
+
corsOrigin?: string;
|
|
22
|
+
/** Maximum simultaneous connections (0 = unlimited). Default: 0 */
|
|
23
|
+
maxConnections?: number;
|
|
24
|
+
}
|
|
25
|
+
export declare class MockSSEServer extends EventEmitter {
|
|
26
|
+
private readonly _options;
|
|
27
|
+
private _server;
|
|
28
|
+
private _port;
|
|
29
|
+
private _running;
|
|
30
|
+
private _clients;
|
|
31
|
+
private _clientIdCounter;
|
|
32
|
+
private _keepAliveTimers;
|
|
33
|
+
private _periodicEvents;
|
|
34
|
+
constructor(options?: MockSSEServerOptions);
|
|
35
|
+
get port(): number;
|
|
36
|
+
get url(): string;
|
|
37
|
+
get isRunning(): boolean;
|
|
38
|
+
get connectionCount(): number;
|
|
39
|
+
/** Send an event to all connected clients. */
|
|
40
|
+
sendEvent(event: SSEEvent): void;
|
|
41
|
+
/** Send an event to a specific client by ID. */
|
|
42
|
+
sendEventToClient(clientId: string, event: SSEEvent): void;
|
|
43
|
+
/** Start broadcasting events on a named interval. */
|
|
44
|
+
startPeriodicEvents(name: string, intervalMs: number, eventFn: () => SSEEvent): this;
|
|
45
|
+
/** Stop a named periodic event stream. */
|
|
46
|
+
stopPeriodicEvents(name: string): this;
|
|
47
|
+
/** Close all SSE client connections. */
|
|
48
|
+
closeAllConnections(): void;
|
|
49
|
+
start(): Promise<void>;
|
|
50
|
+
stop(): Promise<void>;
|
|
51
|
+
private _formatEvent;
|
|
52
|
+
private _removeClient;
|
|
53
|
+
private _clearKeepAlive;
|
|
54
|
+
}
|
|
55
|
+
export declare const createMockSSEServer: (options?: MockSSEServerOptions) => Promise<MockSSEServer>;
|
|
56
|
+
//# sourceMappingURL=mock-sse-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-sse-server.d.ts","sourceRoot":"","sources":["../../src/testing/mock-sse-server.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAQ1C,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;IACzD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,KAAK,CAAI;IACjB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,gBAAgB,CAAI;IAC5B,OAAO,CAAC,gBAAgB,CAAoD;IAC5E,OAAO,CAAC,eAAe,CAAoD;gBAE/D,OAAO,GAAE,oBAAyB;IAa9C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,8CAA8C;IAC9C,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAWhC,gDAAgD;IAChD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI;IAU1D,qDAAqD;IACrD,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAAQ,GAAG,IAAI;IAWpF,0CAA0C;IAC1C,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAStC,wCAAwC;IACxC,mBAAmB,IAAI,IAAI;IAYrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgFtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB3B,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,eAAe;CAOxB;AAED,eAAO,MAAM,mBAAmB,GAAU,UAAU,oBAAoB,KAAG,OAAO,CAAC,aAAa,CAI/F,CAAA"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MockSSEServer — Server-Sent Events (text/event-stream) over HTTP.
|
|
3
|
+
*/
|
|
4
|
+
import { EventEmitter } from 'node:events';
|
|
5
|
+
import { createServer as createHttpServer, } from 'node:http';
|
|
6
|
+
export class MockSSEServer extends EventEmitter {
|
|
7
|
+
_options;
|
|
8
|
+
_server = null;
|
|
9
|
+
_port = 0;
|
|
10
|
+
_running = false;
|
|
11
|
+
_clients = new Map();
|
|
12
|
+
_clientIdCounter = 0;
|
|
13
|
+
_keepAliveTimers = new Map();
|
|
14
|
+
_periodicEvents = new Map();
|
|
15
|
+
constructor(options = {}) {
|
|
16
|
+
super();
|
|
17
|
+
this._options = {
|
|
18
|
+
port: options.port ?? 0,
|
|
19
|
+
host: options.host ?? '127.0.0.1',
|
|
20
|
+
path: options.path ?? '/events',
|
|
21
|
+
retryInterval: options.retryInterval ?? 3000,
|
|
22
|
+
keepAliveInterval: options.keepAliveInterval ?? 15000,
|
|
23
|
+
corsOrigin: options.corsOrigin ?? '*',
|
|
24
|
+
maxConnections: options.maxConnections ?? 0,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
get port() {
|
|
28
|
+
return this._port;
|
|
29
|
+
}
|
|
30
|
+
get url() {
|
|
31
|
+
return `http://${this._options.host}:${this._port}${this._options.path}`;
|
|
32
|
+
}
|
|
33
|
+
get isRunning() {
|
|
34
|
+
return this._running;
|
|
35
|
+
}
|
|
36
|
+
get connectionCount() {
|
|
37
|
+
return this._clients.size;
|
|
38
|
+
}
|
|
39
|
+
/** Send an event to all connected clients. */
|
|
40
|
+
sendEvent(event) {
|
|
41
|
+
const data = this._formatEvent(event);
|
|
42
|
+
for (const [clientId, res] of this._clients) {
|
|
43
|
+
try {
|
|
44
|
+
res.write(data);
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
this._removeClient(clientId);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/** Send an event to a specific client by ID. */
|
|
52
|
+
sendEventToClient(clientId, event) {
|
|
53
|
+
const res = this._clients.get(clientId);
|
|
54
|
+
if (!res)
|
|
55
|
+
return;
|
|
56
|
+
try {
|
|
57
|
+
res.write(this._formatEvent(event));
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
this._removeClient(clientId);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/** Start broadcasting events on a named interval. */
|
|
64
|
+
startPeriodicEvents(name, intervalMs, eventFn) {
|
|
65
|
+
this.stopPeriodicEvents(name);
|
|
66
|
+
this._periodicEvents.set(name, setInterval(() => {
|
|
67
|
+
this.sendEvent(eventFn());
|
|
68
|
+
}, intervalMs));
|
|
69
|
+
return this;
|
|
70
|
+
}
|
|
71
|
+
/** Stop a named periodic event stream. */
|
|
72
|
+
stopPeriodicEvents(name) {
|
|
73
|
+
const timer = this._periodicEvents.get(name);
|
|
74
|
+
if (timer) {
|
|
75
|
+
clearInterval(timer);
|
|
76
|
+
this._periodicEvents.delete(name);
|
|
77
|
+
}
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
/** Close all SSE client connections. */
|
|
81
|
+
closeAllConnections() {
|
|
82
|
+
for (const [clientId, res] of this._clients) {
|
|
83
|
+
try {
|
|
84
|
+
res.end();
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
/* ignore */
|
|
88
|
+
}
|
|
89
|
+
this._clearKeepAlive(clientId);
|
|
90
|
+
}
|
|
91
|
+
this._clients.clear();
|
|
92
|
+
}
|
|
93
|
+
async start() {
|
|
94
|
+
if (this._running)
|
|
95
|
+
return;
|
|
96
|
+
await new Promise((resolve, reject) => {
|
|
97
|
+
this._server = createHttpServer((req, res) => {
|
|
98
|
+
const pathname = (req.url ?? '/').split('?')[0];
|
|
99
|
+
if (pathname !== this._options.path) {
|
|
100
|
+
res.writeHead(404);
|
|
101
|
+
res.end();
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
if (this._options.maxConnections > 0 && this._clients.size >= this._options.maxConnections) {
|
|
105
|
+
res.writeHead(503, { 'Retry-After': '5' });
|
|
106
|
+
res.end();
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const clientId = `client-${++this._clientIdCounter}`;
|
|
110
|
+
const headers = {
|
|
111
|
+
'Content-Type': 'text/event-stream',
|
|
112
|
+
'Cache-Control': 'no-cache',
|
|
113
|
+
Connection: 'keep-alive',
|
|
114
|
+
'X-Accel-Buffering': 'no',
|
|
115
|
+
};
|
|
116
|
+
if (this._options.corsOrigin) {
|
|
117
|
+
headers['Access-Control-Allow-Origin'] = this._options.corsOrigin;
|
|
118
|
+
}
|
|
119
|
+
res.writeHead(200, headers);
|
|
120
|
+
// Flush the retry interval hint
|
|
121
|
+
if (this._options.retryInterval > 0) {
|
|
122
|
+
res.write(`retry:${this._options.retryInterval}\n\n`);
|
|
123
|
+
}
|
|
124
|
+
this._clients.set(clientId, res);
|
|
125
|
+
this.emit('connection', clientId);
|
|
126
|
+
// Keep-alive comment ping
|
|
127
|
+
if (this._options.keepAliveInterval > 0) {
|
|
128
|
+
this._keepAliveTimers.set(clientId, setInterval(() => {
|
|
129
|
+
try {
|
|
130
|
+
res.write(': ping\n\n');
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
this._removeClient(clientId);
|
|
134
|
+
}
|
|
135
|
+
}, this._options.keepAliveInterval));
|
|
136
|
+
}
|
|
137
|
+
req.on('close', () => {
|
|
138
|
+
this._removeClient(clientId);
|
|
139
|
+
this.emit('disconnect', clientId);
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
this._server.on('error', (err) => {
|
|
143
|
+
if (!this._running)
|
|
144
|
+
reject(err);
|
|
145
|
+
else
|
|
146
|
+
this.emit('error', err);
|
|
147
|
+
});
|
|
148
|
+
this._server.listen(this._options.port, this._options.host, () => {
|
|
149
|
+
const addr = this._server?.address();
|
|
150
|
+
if (typeof addr === 'string' || addr == null) {
|
|
151
|
+
reject(new Error('Failed to resolve mock SSE address'));
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
this._port = addr.port;
|
|
155
|
+
this._running = true;
|
|
156
|
+
this.emit('listening', this._port);
|
|
157
|
+
resolve();
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
async stop() {
|
|
162
|
+
if (!this._running || !this._server)
|
|
163
|
+
return;
|
|
164
|
+
// Stop all periodic timers
|
|
165
|
+
for (const [name] of this._periodicEvents) {
|
|
166
|
+
this.stopPeriodicEvents(name);
|
|
167
|
+
}
|
|
168
|
+
// Close all client connections
|
|
169
|
+
this.closeAllConnections();
|
|
170
|
+
await new Promise((resolve) => {
|
|
171
|
+
this._server?.close(() => {
|
|
172
|
+
this._running = false;
|
|
173
|
+
this._server = null;
|
|
174
|
+
resolve();
|
|
175
|
+
});
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
_formatEvent(event) {
|
|
179
|
+
let data = '';
|
|
180
|
+
if (event.id != null)
|
|
181
|
+
data += `id:${event.id}\n`;
|
|
182
|
+
if (event.event != null)
|
|
183
|
+
data += `event:${event.event}\n`;
|
|
184
|
+
if (event.retry != null)
|
|
185
|
+
data += `retry:${event.retry}\n`;
|
|
186
|
+
data += `data:${event.data}\n\n`;
|
|
187
|
+
return data;
|
|
188
|
+
}
|
|
189
|
+
_removeClient(clientId) {
|
|
190
|
+
this._clients.delete(clientId);
|
|
191
|
+
this._clearKeepAlive(clientId);
|
|
192
|
+
}
|
|
193
|
+
_clearKeepAlive(clientId) {
|
|
194
|
+
const timer = this._keepAliveTimers.get(clientId);
|
|
195
|
+
if (timer) {
|
|
196
|
+
clearInterval(timer);
|
|
197
|
+
this._keepAliveTimers.delete(clientId);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
export const createMockSSEServer = async (options) => {
|
|
202
|
+
const server = new MockSSEServer(options);
|
|
203
|
+
await server.start();
|
|
204
|
+
return server;
|
|
205
|
+
};
|
|
206
|
+
//# sourceMappingURL=mock-sse-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock-sse-server.js","sourceRoot":"","sources":["../../src/testing/mock-sse-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* X.509 certificate generation for testing.
|
|
3
|
+
*
|
|
4
|
+
* Re-exports from src/utils/certs.ts for backward compatibility.
|
|
5
|
+
* Production code (connect-tunnel.ts) imports directly from ../utils/certs.js.
|
|
6
|
+
*/
|
|
7
|
+
export type { CertificateInfo, CertificateOptions } from '../utils/certs.js';
|
|
8
|
+
export { generateCA, getDefaultCA, generateCertificate } from '../utils/certs.js';
|
|
9
|
+
//# sourceMappingURL=proxy-certs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy-certs.d.ts","sourceRoot":"","sources":["../../src/testing/proxy-certs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy-certs.js","sourceRoot":"","sources":["../../src/testing/proxy-certs.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { MockHttpServer, MockHttpServerOptions, MockTcpServer, MockTcpServerOptions, MockWebSocketServer, MockWebSocketServerOptions, MockWhoisOptions, MockWhoisServer, MockFtpServer, MockFtpServerOptions, MockTelnetServer, MockTelnetServerOptions, MockUdpServer, MockUdpServerOptions, MockPingServer, MockPingServerOptions, MockIcmpServer, MockIcmpServerOptions } from './service-types.js';
|
|
2
|
+
import type { MockDnsServer, MockDnsServerOptions } from './mock-dns-server.js';
|
|
3
|
+
import type { MockSSEServer, MockSSEServerOptions } from './mock-sse-server.js';
|
|
4
|
+
export interface MockServiceSuite {
|
|
5
|
+
http: MockHttpServer;
|
|
6
|
+
ws: MockWebSocketServer;
|
|
7
|
+
tcp: MockTcpServer;
|
|
8
|
+
udp: MockUdpServer;
|
|
9
|
+
telnet: MockTelnetServer;
|
|
10
|
+
whois: MockWhoisServer;
|
|
11
|
+
ftp: MockFtpServer;
|
|
12
|
+
ping: MockPingServer;
|
|
13
|
+
icmp: MockIcmpServer;
|
|
14
|
+
dns: MockDnsServer;
|
|
15
|
+
sse: MockSSEServer;
|
|
16
|
+
}
|
|
17
|
+
export interface MockServiceSuiteOptions {
|
|
18
|
+
host?: string;
|
|
19
|
+
http?: MockHttpServerOptions;
|
|
20
|
+
ws?: MockWebSocketServerOptions;
|
|
21
|
+
tcp?: MockTcpServerOptions;
|
|
22
|
+
udp?: MockUdpServerOptions;
|
|
23
|
+
telnet?: MockTelnetServerOptions;
|
|
24
|
+
whois?: MockWhoisOptions;
|
|
25
|
+
ftp?: MockFtpServerOptions;
|
|
26
|
+
ping?: MockPingServerOptions;
|
|
27
|
+
icmp?: MockIcmpServerOptions;
|
|
28
|
+
dns?: MockDnsServerOptions;
|
|
29
|
+
sse?: MockSSEServerOptions;
|
|
30
|
+
}
|
|
31
|
+
interface MockServiceSuiteFactories {
|
|
32
|
+
http: (options: MockHttpServerOptions) => Promise<MockHttpServer>;
|
|
33
|
+
ws: (options: MockWebSocketServerOptions) => Promise<MockWebSocketServer>;
|
|
34
|
+
tcp: (options: MockTcpServerOptions) => Promise<MockTcpServer>;
|
|
35
|
+
udp: (options: MockUdpServerOptions) => Promise<MockUdpServer>;
|
|
36
|
+
telnet: (options: MockTelnetServerOptions) => Promise<MockTelnetServer>;
|
|
37
|
+
whois: (options: MockWhoisOptions) => Promise<MockWhoisServer>;
|
|
38
|
+
ftp: (options: MockFtpServerOptions) => Promise<MockFtpServer>;
|
|
39
|
+
ping: (options: MockPingServerOptions) => Promise<MockPingServer>;
|
|
40
|
+
icmp: (options: MockIcmpServerOptions) => Promise<MockIcmpServer>;
|
|
41
|
+
dns: (options: MockDnsServerOptions) => Promise<MockDnsServer>;
|
|
42
|
+
sse: (options: MockSSEServerOptions) => Promise<MockSSEServer>;
|
|
43
|
+
}
|
|
44
|
+
export declare function createMockServiceSuiteInternal(options: MockServiceSuiteOptions | undefined, factories: MockServiceSuiteFactories): Promise<MockServiceSuite>;
|
|
45
|
+
export declare function stopMockServiceSuiteInternal(suite: MockServiceSuite): Promise<void>;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=service-suite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-suite.d.ts","sourceRoot":"","sources":["../../src/testing/service-suite.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
function normalizeHost(host) {
|
|
2
|
+
return host && host.length > 0 ? host : '127.0.0.1';
|
|
3
|
+
}
|
|
4
|
+
export async function createMockServiceSuiteInternal(options = {}, factories) {
|
|
5
|
+
const host = normalizeHost(options.host);
|
|
6
|
+
const created = [];
|
|
7
|
+
const started = {};
|
|
8
|
+
const creators = [
|
|
9
|
+
{
|
|
10
|
+
key: 'http',
|
|
11
|
+
run: () => factories.http({ host, port: options.http?.port ?? 0, ...(options.http ?? {}) }),
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
key: 'ws',
|
|
15
|
+
run: () => factories.ws({ host, port: options.ws?.port ?? 0, ...(options.ws ?? {}) }),
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
key: 'tcp',
|
|
19
|
+
run: () => factories.tcp({ host, port: options.tcp?.port ?? 0, ...(options.tcp ?? {}) }),
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
key: 'udp',
|
|
23
|
+
run: () => factories.udp({ host, port: options.udp?.port ?? 0, ...(options.udp ?? {}) }),
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
key: 'telnet',
|
|
27
|
+
run: () => factories.telnet({ host, port: options.telnet?.port ?? 0, ...(options.telnet ?? {}) }),
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
key: 'whois',
|
|
31
|
+
run: () => factories.whois({ host, port: options.whois?.port ?? 0, ...(options.whois ?? {}) }),
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: 'ftp',
|
|
35
|
+
run: () => factories.ftp({ host, port: options.ftp?.port ?? 0, ...(options.ftp ?? {}) }),
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
key: 'ping',
|
|
39
|
+
run: () => factories.ping({ host, port: options.ping?.port ?? 0, ...(options.ping ?? {}) }),
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
key: 'icmp',
|
|
43
|
+
run: () => factories.icmp({ host, port: options.icmp?.port ?? 0, ...(options.icmp ?? {}) }),
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
key: 'dns',
|
|
47
|
+
run: () => factories.dns({ host, port: options.dns?.port ?? 0, ...(options.dns ?? {}) }),
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
key: 'sse',
|
|
51
|
+
run: () => factories.sse({ host, port: options.sse?.port ?? 0, ...(options.sse ?? {}) }),
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
try {
|
|
55
|
+
for (const { key, run } of creators) {
|
|
56
|
+
const server = await run();
|
|
57
|
+
created.push(server);
|
|
58
|
+
started[key] = server;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
await Promise.all(created.map((server) => server.stop()));
|
|
63
|
+
throw error;
|
|
64
|
+
}
|
|
65
|
+
return started;
|
|
66
|
+
}
|
|
67
|
+
export async function stopMockServiceSuiteInternal(suite) {
|
|
68
|
+
await Promise.all([
|
|
69
|
+
suite.http.stop(),
|
|
70
|
+
suite.ws.stop(),
|
|
71
|
+
suite.tcp.stop(),
|
|
72
|
+
suite.udp.stop(),
|
|
73
|
+
suite.telnet.stop(),
|
|
74
|
+
suite.whois.stop(),
|
|
75
|
+
suite.ftp.stop(),
|
|
76
|
+
suite.ping.stop(),
|
|
77
|
+
suite.icmp.stop(),
|
|
78
|
+
suite.dns.stop(),
|
|
79
|
+
suite.sse.stop(),
|
|
80
|
+
]);
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=service-suite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-suite.js","sourceRoot":"","sources":["../../src/testing/service-suite.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { MockHttpServer, MockHttpServerOptions, MockTcpServer, MockTcpServerOptions, MockWebSocketServer, MockWebSocketServerOptions, MockWhoisOptions, MockWhoisServer, MockFtpServer, MockFtpServerOptions, MockTelnetServer, MockTelnetServerOptions, MockUdpServer, MockUdpServerOptions, MockPingServer, MockPingServerOptions, MockIcmpServer, MockIcmpServerOptions } from './index.js';
|
|
2
|
+
import type { MockDnsServer, MockDnsServerOptions } from './mock-dns-server.js';
|
|
3
|
+
import type { MockSSEServer, MockSSEServerOptions } from './mock-sse-server.js';
|
|
4
|
+
export type { MockHttpServer, MockHttpServerOptions, MockTcpServer, MockTcpServerOptions, MockWebSocketServer, MockWebSocketServerOptions, MockWhoisOptions, MockWhoisServer, MockFtpServer, MockFtpServerOptions, MockTelnetServer, MockTelnetServerOptions, MockUdpServer, MockUdpServerOptions, MockPingServer, MockPingServerOptions, MockIcmpServer, MockIcmpServerOptions, MockDnsServer, MockDnsServerOptions, MockSSEServer, MockSSEServerOptions, };
|
|
5
|
+
export interface MockServiceSuite {
|
|
6
|
+
http: MockHttpServer;
|
|
7
|
+
ws: MockWebSocketServer;
|
|
8
|
+
tcp: MockTcpServer;
|
|
9
|
+
udp: MockUdpServer;
|
|
10
|
+
telnet: MockTelnetServer;
|
|
11
|
+
whois: MockWhoisServer;
|
|
12
|
+
ftp: MockFtpServer;
|
|
13
|
+
ping: MockPingServer;
|
|
14
|
+
icmp: MockIcmpServer;
|
|
15
|
+
dns: MockDnsServer;
|
|
16
|
+
sse: MockSSEServer;
|
|
17
|
+
}
|
|
18
|
+
export interface MockServiceSuiteOptions {
|
|
19
|
+
host?: string;
|
|
20
|
+
http?: MockHttpServerOptions;
|
|
21
|
+
ws?: MockWebSocketServerOptions;
|
|
22
|
+
tcp?: MockTcpServerOptions;
|
|
23
|
+
udp?: MockUdpServerOptions;
|
|
24
|
+
telnet?: MockTelnetServerOptions;
|
|
25
|
+
whois?: MockWhoisOptions;
|
|
26
|
+
ftp?: MockFtpServerOptions;
|
|
27
|
+
ping?: MockPingServerOptions;
|
|
28
|
+
icmp?: MockIcmpServerOptions;
|
|
29
|
+
dns?: MockDnsServerOptions;
|
|
30
|
+
sse?: MockSSEServerOptions;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=service-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-types.d.ts","sourceRoot":"","sources":["../../src/testing/service-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACtB,MAAM,YAAY,CAAA;AAEnB,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAE/E,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,oBAAoB,GACrB,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAA;IACpB,EAAE,EAAE,mBAAmB,CAAA;IACvB,GAAG,EAAE,aAAa,CAAA;IAClB,GAAG,EAAE,aAAa,CAAA;IAClB,MAAM,EAAE,gBAAgB,CAAA;IACxB,KAAK,EAAE,eAAe,CAAA;IACtB,GAAG,EAAE,aAAa,CAAA;IAClB,IAAI,EAAE,cAAc,CAAA;IACpB,IAAI,EAAE,cAAc,CAAA;IACpB,GAAG,EAAE,aAAa,CAAA;IAClB,GAAG,EAAE,aAAa,CAAA;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,qBAAqB,CAAA;IAC5B,EAAE,CAAC,EAAE,0BAA0B,CAAA;IAC/B,GAAG,CAAC,EAAE,oBAAoB,CAAA;IAC1B,GAAG,CAAC,EAAE,oBAAoB,CAAA;IAC1B,MAAM,CAAC,EAAE,uBAAuB,CAAA;IAChC,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,GAAG,CAAC,EAAE,oBAAoB,CAAA;IAC1B,IAAI,CAAC,EAAE,qBAAqB,CAAA;IAC5B,IAAI,CAAC,EAAE,qBAAqB,CAAA;IAC5B,GAAG,CAAC,EAAE,oBAAoB,CAAA;IAC1B,GAAG,CAAC,EAAE,oBAAoB,CAAA;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-types.js","sourceRoot":"","sources":["../../src/testing/service-types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-delivery.d.ts","sourceRoot":"","sources":["../../../src/core/event-delivery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"event-delivery.d.ts","sourceRoot":"","sources":["../../../src/core/event-delivery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAKvD,MAAM,WAAW,oBAAoB;IACnC,gDAAgD;IAChD,KAAK,CAAC,EAAE,kBAAkB,CAAA;IAC1B,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,WAAW,CAAA;IAChC,gEAAgE;IAChE,0BAA0B,CAAC,EAAE,MAAM,CAAA;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;IAC1D,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChE,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9C,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7D;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,OAAO,EAAE;QACf,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,aAAa,GAAG,eAAe,GAAG,cAAc,CAAA;QAC1D,WAAW,CAAC,EAAE,WAAW,CAAA;QACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;QAC5B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAC5C,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjB,IAAI,IAAI,IAAI,CAAA;CACb;AAED,UAAU,UAAU;IAClB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAWD,wBAAgB,gCAAgC,IAAI,kBAAkB,CA+BrE;AAED,wBAAgB,yBAAyB,CAAC,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CA6HjG"}
|
package/dist/ui/core/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { createRegistry } from './registry.js';
|
|
2
|
-
export type { Registry, ProcedureOptions,
|
|
2
|
+
export type { Registry, ProcedureOptions, StreamRegistryOptions, EventOptions } from './registry.js';
|
|
3
3
|
export { createRouter, RaffelError } from './router.js';
|
|
4
4
|
export type { Router, RouterOptions, RouterResult } from './router.js';
|
|
5
5
|
export { createEventDeliveryEngine, createInMemoryEventDeliveryStore, } from './event-delivery.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAGpG,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACvD,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAGtE,OAAO,EACL,yBAAyB,EACzB,gCAAgC,GACjC,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,qBAAqB,CAAA"}
|
|
@@ -28,9 +28,9 @@ export interface ProcedureOptions {
|
|
|
28
28
|
interceptors?: Interceptor[];
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
|
-
* Stream registration options
|
|
31
|
+
* Stream registration options (low-level registry API)
|
|
32
32
|
*/
|
|
33
|
-
export interface
|
|
33
|
+
export interface StreamRegistryOptions {
|
|
34
34
|
description?: string;
|
|
35
35
|
direction?: StreamDirection;
|
|
36
36
|
/** Content type shorthand */
|
|
@@ -66,7 +66,7 @@ export interface Registry {
|
|
|
66
66
|
/** Register a procedure handler */
|
|
67
67
|
procedure<TInput, TOutput>(name: string, handler: ProcedureHandler<TInput, TOutput>, options?: ProcedureOptions): void;
|
|
68
68
|
/** Register a stream handler */
|
|
69
|
-
stream<TInput, TOutput>(name: string, handler: StreamHandler<TInput, TOutput>, options?:
|
|
69
|
+
stream<TInput, TOutput>(name: string, handler: StreamHandler<TInput, TOutput>, options?: StreamRegistryOptions): void;
|
|
70
70
|
/** Register an event handler */
|
|
71
71
|
event<TPayload>(name: string, handler: EventHandler<TPayload>, options?: EventOptions): void;
|
|
72
72
|
/** Get a procedure handler by name */
|
|
@@ -1 +1 @@
|
|
|
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;;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,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/core/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,EAGb,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAA;
|
|
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,EAGb,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAA;AAO5B;;;;;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;AAwGD;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAoNpF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code Sample Generator for USD
|
|
3
|
+
*
|
|
4
|
+
* Generates realistic code samples in 7 languages from operation context.
|
|
5
|
+
* Compatible with Redoc x-codeSamples extension.
|
|
6
|
+
*/
|
|
7
|
+
import type { USDCodeSample, USDSchema, USDParameter } from '../../usd/index.js';
|
|
8
|
+
export interface CodeSampleContext {
|
|
9
|
+
/** HTTP method: 'GET', 'POST', 'PUT', 'PATCH', 'DELETE', etc. */
|
|
10
|
+
method: string;
|
|
11
|
+
/** OpenAPI path with {id} style params already substituted with example values */
|
|
12
|
+
path: string;
|
|
13
|
+
/** Base URL from servers[0].url */
|
|
14
|
+
baseUrl: string;
|
|
15
|
+
/** Request body schema (for POST/PUT/PATCH) */
|
|
16
|
+
requestBodySchema?: USDSchema;
|
|
17
|
+
/** Query parameters */
|
|
18
|
+
parameters?: USDParameter[];
|
|
19
|
+
/** Whether auth header should be included */
|
|
20
|
+
hasSecurity: boolean;
|
|
21
|
+
/** Content-Type override (default: 'application/json') */
|
|
22
|
+
contentType?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Generate a realistic example value from a JSON Schema
|
|
26
|
+
*/
|
|
27
|
+
export declare function generateExampleFromSchema(schema: USDSchema | undefined): unknown;
|
|
28
|
+
/**
|
|
29
|
+
* Generate code samples for all requested languages
|
|
30
|
+
*/
|
|
31
|
+
export declare function generateCodeSamples(ctx: CodeSampleContext, languages?: string[]): USDCodeSample[];
|
|
32
|
+
//# sourceMappingURL=code-samples.d.ts.map
|
|
@@ -0,0 +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;AAMhF,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;AAMD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CA0ChF;AAwSD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,iBAAiB,EACtB,SAAS,GAAE,MAAM,EAA2C,GAC3D,aAAa,EAAE,CAajB"}
|
|
@@ -244,14 +244,14 @@ export declare const STANDARD_ERROR_CODES: {
|
|
|
244
244
|
readonly retryable: true;
|
|
245
245
|
readonly mappings: {
|
|
246
246
|
readonly http: {
|
|
247
|
-
readonly status:
|
|
247
|
+
readonly status: 408;
|
|
248
248
|
};
|
|
249
249
|
readonly grpc: {
|
|
250
250
|
readonly code: GrpcStatusCode;
|
|
251
251
|
readonly codeName: GrpcStatusName;
|
|
252
252
|
};
|
|
253
253
|
readonly websocket: {
|
|
254
|
-
readonly close:
|
|
254
|
+
readonly close: 4408;
|
|
255
255
|
};
|
|
256
256
|
readonly jsonrpc: {
|
|
257
257
|
readonly code: -32008;
|
|
@@ -19,6 +19,16 @@ export interface HttpGeneratorOptions {
|
|
|
19
19
|
includeErrorResponses?: boolean;
|
|
20
20
|
/** Include security requirement */
|
|
21
21
|
defaultSecurity?: Array<Record<string, string[]>>;
|
|
22
|
+
/**
|
|
23
|
+
* Code sample generation.
|
|
24
|
+
* - `false` disables code samples entirely
|
|
25
|
+
* - `{ languages }` enables specific languages (default: ['curl', 'typescript', 'python', 'go'])
|
|
26
|
+
*/
|
|
27
|
+
codeSamples?: false | {
|
|
28
|
+
languages?: string[];
|
|
29
|
+
};
|
|
30
|
+
/** Base URL for code samples (default: first server URL or 'https://api.example.com') */
|
|
31
|
+
baseUrl?: string;
|
|
22
32
|
}
|
|
23
33
|
/**
|
|
24
34
|
* HTTP generation context
|