@morojs/moro 1.8.0 → 1.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -38
- package/dist/core/auth/morojs-adapter.js +95 -45
- package/dist/core/auth/morojs-adapter.js.map +1 -1
- package/dist/core/config/config-manager.js.map +1 -1
- package/dist/core/config/config-sources.js +8 -49
- package/dist/core/config/config-sources.js.map +1 -1
- package/dist/core/config/config-validator.js +2 -3
- package/dist/core/config/config-validator.js.map +1 -1
- package/dist/core/config/file-loader.js.map +1 -1
- package/dist/core/config/index.js.map +1 -1
- package/dist/core/config/schema.js +4 -1
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/config/utils.js.map +1 -1
- package/dist/core/database/adapters/drizzle.js +2 -2
- package/dist/core/database/adapters/drizzle.js.map +1 -1
- package/dist/core/database/adapters/index.js.map +1 -1
- package/dist/core/database/adapters/mongodb.d.ts +1 -0
- package/dist/core/database/adapters/mongodb.js +16 -0
- package/dist/core/database/adapters/mongodb.js.map +1 -1
- package/dist/core/database/adapters/mysql.d.ts +1 -0
- package/dist/core/database/adapters/mysql.js +13 -2
- package/dist/core/database/adapters/mysql.js.map +1 -1
- package/dist/core/database/adapters/postgresql.js +2 -2
- package/dist/core/database/adapters/postgresql.js.map +1 -1
- package/dist/core/database/adapters/redis.js.map +1 -1
- package/dist/core/database/adapters/sql-safety.js +5 -4
- package/dist/core/database/adapters/sql-safety.js.map +1 -1
- package/dist/core/database/adapters/sqlite.js.map +1 -1
- package/dist/core/database/index.js.map +1 -1
- package/dist/core/docs/index.js +11 -7
- package/dist/core/docs/index.js.map +1 -1
- package/dist/core/docs/openapi-generator.js +8 -6
- package/dist/core/docs/openapi-generator.js.map +1 -1
- package/dist/core/docs/schema-to-openapi.js +3 -3
- package/dist/core/docs/schema-to-openapi.js.map +1 -1
- package/dist/core/docs/simple-docs.js.map +1 -1
- package/dist/core/docs/swagger-ui.js.map +1 -1
- package/dist/core/docs/zod-to-openapi.js +2 -2
- package/dist/core/docs/zod-to-openapi.js.map +1 -1
- package/dist/core/events/event-bus.js +14 -5
- package/dist/core/events/event-bus.js.map +1 -1
- package/dist/core/events/index.js.map +1 -1
- package/dist/core/framework.d.ts +2 -2
- package/dist/core/framework.js +21 -14
- package/dist/core/framework.js.map +1 -1
- package/dist/core/graphql/adapter.js.map +1 -1
- package/dist/core/graphql/adapters/graphql-js-adapter.js.map +1 -1
- package/dist/core/graphql/core.js.map +1 -1
- package/dist/core/graphql/index.js.map +1 -1
- package/dist/core/graphql/loader.js.map +1 -1
- package/dist/core/graphql/types.js.map +1 -1
- package/dist/core/grpc/adapters/grpc-js-adapter.js +4 -0
- package/dist/core/grpc/adapters/grpc-js-adapter.js.map +1 -1
- package/dist/core/grpc/adapters/index.js.map +1 -1
- package/dist/core/grpc/grpc-adapter.js.map +1 -1
- package/dist/core/grpc/grpc-manager.js.map +1 -1
- package/dist/core/grpc/index.js.map +1 -1
- package/dist/core/grpc/middleware/auth.js +1 -1
- package/dist/core/grpc/middleware/auth.js.map +1 -1
- package/dist/core/grpc/middleware/logging.js.map +1 -1
- package/dist/core/grpc/middleware/validation.js +1 -1
- package/dist/core/grpc/middleware/validation.js.map +1 -1
- package/dist/core/grpc/types.d.ts +7 -7
- package/dist/core/grpc/types.js.map +1 -1
- package/dist/core/http/http-server.d.ts +0 -13
- package/dist/core/http/http-server.js +34 -141
- package/dist/core/http/http-server.js.map +1 -1
- package/dist/core/http/http2-server.js +27 -5
- package/dist/core/http/http2-server.js.map +1 -1
- package/dist/core/http/index.js.map +1 -1
- package/dist/core/http/moro-engine-server.d.ts +2 -2
- package/dist/core/http/moro-engine-server.js +44 -21
- package/dist/core/http/moro-engine-server.js.map +1 -1
- package/dist/core/http/utils/compression.js +3 -3
- package/dist/core/http/utils/compression.js.map +1 -1
- package/dist/core/http/utils/lazy-event-emitter.js.map +1 -1
- package/dist/core/http/utils/multipart-parser.js +7 -3
- package/dist/core/http/utils/multipart-parser.js.map +1 -1
- package/dist/core/http/utils/query-parser.js.map +1 -1
- package/dist/core/http/utils/size.js +2 -2
- package/dist/core/http/utils/size.js.map +1 -1
- package/dist/core/http/utils/ssl-config.d.ts +10 -10
- package/dist/core/http/utils/ssl-config.js.map +1 -1
- package/dist/core/http/utils/uws-worker-clustering.js +37 -30
- package/dist/core/http/utils/uws-worker-clustering.js.map +1 -1
- package/dist/core/http/uws-http-server.d.ts +1 -0
- package/dist/core/http/uws-http-server.js +80 -22
- package/dist/core/http/uws-http-server.js.map +1 -1
- package/dist/core/jobs/cron-parser.js +7 -5
- package/dist/core/jobs/cron-parser.js.map +1 -1
- package/dist/core/jobs/index.js.map +1 -1
- package/dist/core/jobs/job-executor.d.ts +1 -1
- package/dist/core/jobs/job-executor.js.map +1 -1
- package/dist/core/jobs/job-scheduler.d.ts +3 -3
- package/dist/core/jobs/job-scheduler.js.map +1 -1
- package/dist/core/jobs/job-state-manager.d.ts +3 -3
- package/dist/core/jobs/job-state-manager.js +25 -4
- package/dist/core/jobs/job-state-manager.js.map +1 -1
- package/dist/core/jobs/leader-election.d.ts +15 -0
- package/dist/core/jobs/leader-election.js +158 -69
- package/dist/core/jobs/leader-election.js.map +1 -1
- package/dist/core/jobs/types.d.ts +4 -4
- package/dist/core/jobs/types.js.map +1 -1
- package/dist/core/jobs/utils.d.ts +1 -1
- package/dist/core/jobs/utils.js +7 -3
- package/dist/core/jobs/utils.js.map +1 -1
- package/dist/core/logger/filters.js +3 -2
- package/dist/core/logger/filters.js.map +1 -1
- package/dist/core/logger/index.js.map +1 -1
- package/dist/core/logger/logger.js +56 -25
- package/dist/core/logger/logger.js.map +1 -1
- package/dist/core/logger/outputs.js.map +1 -1
- package/dist/core/mail/adapters/console-adapter.js.map +1 -1
- package/dist/core/mail/adapters/index.js.map +1 -1
- package/dist/core/mail/adapters/nodemailer-adapter.js.map +1 -1
- package/dist/core/mail/adapters/resend-adapter.js.map +1 -1
- package/dist/core/mail/adapters/sendgrid-adapter.js.map +1 -1
- package/dist/core/mail/adapters/ses-adapter.js.map +1 -1
- package/dist/core/mail/index.js.map +1 -1
- package/dist/core/mail/mail-adapter.js.map +1 -1
- package/dist/core/mail/mail-manager.d.ts +10 -0
- package/dist/core/mail/mail-manager.js +21 -5
- package/dist/core/mail/mail-manager.js.map +1 -1
- package/dist/core/mail/template-engine.js.map +1 -1
- package/dist/core/mail/types.js.map +1 -1
- package/dist/core/middleware/built-in/auth/core.js +3 -3
- package/dist/core/middleware/built-in/auth/core.js.map +1 -1
- package/dist/core/middleware/built-in/auth/helpers.js +4 -4
- package/dist/core/middleware/built-in/auth/helpers.js.map +1 -1
- package/dist/core/middleware/built-in/auth/hook.js.map +1 -1
- package/dist/core/middleware/built-in/auth/index.js.map +1 -1
- package/dist/core/middleware/built-in/auth/jwt-helpers.d.ts +4 -4
- package/dist/core/middleware/built-in/auth/jwt-helpers.js.map +1 -1
- package/dist/core/middleware/built-in/auth/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/auth/providers.js.map +1 -1
- package/dist/core/middleware/built-in/body-parsers/index.js.map +1 -1
- package/dist/core/middleware/built-in/body-size/core.js +2 -2
- package/dist/core/middleware/built-in/body-size/core.js.map +1 -1
- package/dist/core/middleware/built-in/body-size/hook.js.map +1 -1
- package/dist/core/middleware/built-in/body-size/index.js.map +1 -1
- package/dist/core/middleware/built-in/body-size/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/cache/adapters/cache/file.js +3 -1
- package/dist/core/middleware/built-in/cache/adapters/cache/file.js.map +1 -1
- package/dist/core/middleware/built-in/cache/adapters/cache/index.js.map +1 -1
- package/dist/core/middleware/built-in/cache/adapters/cache/memory.js.map +1 -1
- package/dist/core/middleware/built-in/cache/adapters/cache/redis.js.map +1 -1
- package/dist/core/middleware/built-in/cache/adapters/index.js.map +1 -1
- package/dist/core/middleware/built-in/cache/core.js.map +1 -1
- package/dist/core/middleware/built-in/cache/hook.js +3 -3
- package/dist/core/middleware/built-in/cache/hook.js.map +1 -1
- package/dist/core/middleware/built-in/cache/index.js.map +1 -1
- package/dist/core/middleware/built-in/cache/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/cdn/adapters/cdn/azure.js.map +1 -1
- package/dist/core/middleware/built-in/cdn/adapters/cdn/cloudflare.js.map +1 -1
- package/dist/core/middleware/built-in/cdn/adapters/cdn/cloudfront.js.map +1 -1
- package/dist/core/middleware/built-in/cdn/adapters/cdn/index.js.map +1 -1
- package/dist/core/middleware/built-in/cdn/adapters/index.js.map +1 -1
- package/dist/core/middleware/built-in/cdn/core.js.map +1 -1
- package/dist/core/middleware/built-in/cdn/hook.js.map +1 -1
- package/dist/core/middleware/built-in/cdn/index.js.map +1 -1
- package/dist/core/middleware/built-in/cdn/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/compression/core.js.map +1 -1
- package/dist/core/middleware/built-in/compression/hook.js.map +1 -1
- package/dist/core/middleware/built-in/compression/index.js.map +1 -1
- package/dist/core/middleware/built-in/compression/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/cookie/core.js.map +1 -1
- package/dist/core/middleware/built-in/cookie/hook.js.map +1 -1
- package/dist/core/middleware/built-in/cookie/index.js.map +1 -1
- package/dist/core/middleware/built-in/cookie/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/cors/core.js.map +1 -1
- package/dist/core/middleware/built-in/cors/hook.js.map +1 -1
- package/dist/core/middleware/built-in/cors/index.js.map +1 -1
- package/dist/core/middleware/built-in/cors/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/csp/core.js.map +1 -1
- package/dist/core/middleware/built-in/csp/hook.js.map +1 -1
- package/dist/core/middleware/built-in/csp/index.js.map +1 -1
- package/dist/core/middleware/built-in/csp/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/csrf/core.js +1 -1
- package/dist/core/middleware/built-in/csrf/core.js.map +1 -1
- package/dist/core/middleware/built-in/csrf/hook.js.map +1 -1
- package/dist/core/middleware/built-in/csrf/index.js.map +1 -1
- package/dist/core/middleware/built-in/csrf/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/error-tracker/index.js.map +1 -1
- package/dist/core/middleware/built-in/error-tracker/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/graphql/core.js.map +1 -1
- package/dist/core/middleware/built-in/graphql/helpers.js.map +1 -1
- package/dist/core/middleware/built-in/graphql/hook.js.map +1 -1
- package/dist/core/middleware/built-in/graphql/index.js.map +1 -1
- package/dist/core/middleware/built-in/graphql/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/graphql/subscriptions.js.map +1 -1
- package/dist/core/middleware/built-in/helmet/core.js.map +1 -1
- package/dist/core/middleware/built-in/helmet/hook.js.map +1 -1
- package/dist/core/middleware/built-in/helmet/index.js.map +1 -1
- package/dist/core/middleware/built-in/helmet/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/http2/core.js.map +1 -1
- package/dist/core/middleware/built-in/http2/hook.js.map +1 -1
- package/dist/core/middleware/built-in/http2/index.js.map +1 -1
- package/dist/core/middleware/built-in/http2/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/index.js.map +1 -1
- package/dist/core/middleware/built-in/performance-monitor/index.js.map +1 -1
- package/dist/core/middleware/built-in/performance-monitor/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/range/core.js +4 -1
- package/dist/core/middleware/built-in/range/core.js.map +1 -1
- package/dist/core/middleware/built-in/range/hook.js.map +1 -1
- package/dist/core/middleware/built-in/range/index.js.map +1 -1
- package/dist/core/middleware/built-in/range/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/rate-limit/core.js.map +1 -1
- package/dist/core/middleware/built-in/rate-limit/hook.js.map +1 -1
- package/dist/core/middleware/built-in/rate-limit/index.js.map +1 -1
- package/dist/core/middleware/built-in/rate-limit/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/request-logger/index.js.map +1 -1
- package/dist/core/middleware/built-in/request-logger/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/session/core.js +4 -4
- package/dist/core/middleware/built-in/session/core.js.map +1 -1
- package/dist/core/middleware/built-in/session/hook.js.map +1 -1
- package/dist/core/middleware/built-in/session/index.js.map +1 -1
- package/dist/core/middleware/built-in/session/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/sse/core.js.map +1 -1
- package/dist/core/middleware/built-in/sse/hook.js.map +1 -1
- package/dist/core/middleware/built-in/sse/index.js.map +1 -1
- package/dist/core/middleware/built-in/sse/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/static/core.js.map +1 -1
- package/dist/core/middleware/built-in/static/hook.js.map +1 -1
- package/dist/core/middleware/built-in/static/index.js.map +1 -1
- package/dist/core/middleware/built-in/static/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/template/core.js +1 -1
- package/dist/core/middleware/built-in/template/core.js.map +1 -1
- package/dist/core/middleware/built-in/template/hook.js.map +1 -1
- package/dist/core/middleware/built-in/template/index.js.map +1 -1
- package/dist/core/middleware/built-in/template/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/upload/core.js.map +1 -1
- package/dist/core/middleware/built-in/upload/hook.js.map +1 -1
- package/dist/core/middleware/built-in/upload/index.js.map +1 -1
- package/dist/core/middleware/built-in/upload/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/validation/core.js.map +1 -1
- package/dist/core/middleware/built-in/validation/hook.js.map +1 -1
- package/dist/core/middleware/built-in/validation/index.js.map +1 -1
- package/dist/core/middleware/built-in/validation/middleware.js.map +1 -1
- package/dist/core/middleware/index.js +2 -2
- package/dist/core/middleware/index.js.map +1 -1
- package/dist/core/modules/auto-discovery.js +11 -7
- package/dist/core/modules/auto-discovery.js.map +1 -1
- package/dist/core/modules/index.js.map +1 -1
- package/dist/core/modules/modules.js +18 -13
- package/dist/core/modules/modules.js.map +1 -1
- package/dist/core/networking/adapters/engine-adapter.js +1 -1
- package/dist/core/networking/adapters/engine-adapter.js.map +1 -1
- package/dist/core/networking/adapters/index.js.map +1 -1
- package/dist/core/networking/adapters/socketio-adapter.d.ts +1 -0
- package/dist/core/networking/adapters/socketio-adapter.js +12 -1
- package/dist/core/networking/adapters/socketio-adapter.js.map +1 -1
- package/dist/core/networking/adapters/uws-adapter.js +1 -1
- package/dist/core/networking/adapters/uws-adapter.js.map +1 -1
- package/dist/core/networking/adapters/ws-adapter.d.ts +15 -0
- package/dist/core/networking/adapters/ws-adapter.js +120 -6
- package/dist/core/networking/adapters/ws-adapter.js.map +1 -1
- package/dist/core/networking/index.js.map +1 -1
- package/dist/core/networking/service-discovery.js +7 -5
- package/dist/core/networking/service-discovery.js.map +1 -1
- package/dist/core/networking/websocket-adapter.d.ts +22 -3
- package/dist/core/networking/websocket-adapter.js.map +1 -1
- package/dist/core/networking/websocket-manager.js +70 -67
- package/dist/core/networking/websocket-manager.js.map +1 -1
- package/dist/core/pooling/object-pool-manager.js +6 -0
- package/dist/core/pooling/object-pool-manager.js.map +1 -1
- package/dist/core/queue/adapters/bull-adapter.js.map +1 -1
- package/dist/core/queue/adapters/index.js.map +1 -1
- package/dist/core/queue/adapters/kafka-adapter.js +2 -2
- package/dist/core/queue/adapters/kafka-adapter.js.map +1 -1
- package/dist/core/queue/adapters/memory-adapter.js +6 -6
- package/dist/core/queue/adapters/memory-adapter.js.map +1 -1
- package/dist/core/queue/adapters/rabbitmq-adapter.d.ts +50 -0
- package/dist/core/queue/adapters/rabbitmq-adapter.js +176 -20
- package/dist/core/queue/adapters/rabbitmq-adapter.js.map +1 -1
- package/dist/core/queue/adapters/sqs-adapter.d.ts +12 -2
- package/dist/core/queue/adapters/sqs-adapter.js +75 -24
- package/dist/core/queue/adapters/sqs-adapter.js.map +1 -1
- package/dist/core/queue/index.js.map +1 -1
- package/dist/core/queue/middleware/index.js.map +1 -1
- package/dist/core/queue/middleware/monitoring.d.ts +1 -1
- package/dist/core/queue/middleware/monitoring.js.map +1 -1
- package/dist/core/queue/middleware/priority.js +2 -1
- package/dist/core/queue/middleware/priority.js.map +1 -1
- package/dist/core/queue/middleware/rate-limit.js.map +1 -1
- package/dist/core/queue/queue-adapter.js.map +1 -1
- package/dist/core/queue/queue-manager.js.map +1 -1
- package/dist/core/queue/types.d.ts +8 -8
- package/dist/core/queue/types.js.map +1 -1
- package/dist/core/routing/app-integration.js.map +1 -1
- package/dist/core/routing/create-router.js.map +1 -1
- package/dist/core/routing/index.js.map +1 -1
- package/dist/core/routing/path-matcher.js.map +1 -1
- package/dist/core/routing/radix-tree.js.map +1 -1
- package/dist/core/routing/router.js.map +1 -1
- package/dist/core/routing/unified-router.js +12 -4
- package/dist/core/routing/unified-router.js.map +1 -1
- package/dist/core/runtime/aws-lambda-adapter.js.map +1 -1
- package/dist/core/runtime/base-adapter.js +2 -2
- package/dist/core/runtime/base-adapter.js.map +1 -1
- package/dist/core/runtime/cloudflare-workers-adapter.js +2 -0
- package/dist/core/runtime/cloudflare-workers-adapter.js.map +1 -1
- package/dist/core/runtime/index.js.map +1 -1
- package/dist/core/runtime/node-adapter.js +19 -17
- package/dist/core/runtime/node-adapter.js.map +1 -1
- package/dist/core/runtime/vercel-edge-adapter.js +2 -0
- package/dist/core/runtime/vercel-edge-adapter.js.map +1 -1
- package/dist/core/utilities/circuit-breaker.d.ts +1 -0
- package/dist/core/utilities/circuit-breaker.js +25 -2
- package/dist/core/utilities/circuit-breaker.js.map +1 -1
- package/dist/core/utilities/container.js +9 -9
- package/dist/core/utilities/container.js.map +1 -1
- package/dist/core/utilities/hooks.js +28 -6
- package/dist/core/utilities/hooks.js.map +1 -1
- package/dist/core/utilities/index.js.map +1 -1
- package/dist/core/utilities/module-path.js.map +1 -1
- package/dist/core/utilities/package-utils.js +1 -1
- package/dist/core/utilities/package-utils.js.map +1 -1
- package/dist/core/utilities/response-helpers.js +1 -1
- package/dist/core/utilities/response-helpers.js.map +1 -1
- package/dist/core/validation/adapters.js.map +1 -1
- package/dist/core/validation/error-handler.js.map +1 -1
- package/dist/core/validation/index.js.map +1 -1
- package/dist/core/validation/schema-interface.js.map +1 -1
- package/dist/core/workers/facade.js.map +1 -1
- package/dist/core/workers/index.js.map +1 -1
- package/dist/core/workers/worker-entry.d.ts +1 -0
- package/dist/core/workers/worker-entry.js +12 -0
- package/dist/core/workers/worker-entry.js.map +1 -0
- package/dist/core/workers/worker-manager.d.ts +23 -2
- package/dist/core/workers/worker-manager.js +117 -17
- package/dist/core/workers/worker-manager.js.map +1 -1
- package/dist/core/workers/worker.js +8 -6
- package/dist/core/workers/worker.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/moro.d.ts +18 -1
- package/dist/moro.js +168 -50
- package/dist/moro.js.map +1 -1
- package/dist/types/auth.d.ts +4 -4
- package/dist/types/auth.js.map +1 -1
- package/dist/types/cache.js.map +1 -1
- package/dist/types/cdn.js.map +1 -1
- package/dist/types/config.d.ts +10 -10
- package/dist/types/config.js.map +1 -1
- package/dist/types/core.js.map +1 -1
- package/dist/types/database.js.map +1 -1
- package/dist/types/discovery.js.map +1 -1
- package/dist/types/events.js.map +1 -1
- package/dist/types/hooks.js.map +1 -1
- package/dist/types/http.js.map +1 -1
- package/dist/types/logger.js.map +1 -1
- package/dist/types/module.js.map +1 -1
- package/dist/types/runtime.js.map +1 -1
- package/dist/types/session.js.map +1 -1
- package/package.json +29 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-to-openapi.js","sourceRoot":"","sources":["../../../src/core/docs/zod-to-openapi.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,6DAA6D;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEtF,MAAM,MAAM,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;AAErD,4CAA4C;AAC5C,IAAI,SAAS,GAAQ,IAAI,CAAC;AAC1B,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAE7B,0CAA0C;AAC1C,SAAS,WAAW;IAClB,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,gBAAgB,GAAG,IAAI,CAAC;IAExB,IAAI,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,SAAS,GAAG,IAAI,CAAC;YACjB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,qDAAqD;QACrD,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;QACxC,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,mCAAmC;QACnC,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAkCD,2BAA2B;AAC3B,MAAM,UAAU,YAAY,CAAC,MAAW,EAAE,UAA6B,EAAE;IACvE,4BAA4B;IAC5B,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,IAAI,GAAG;QACX,eAAe,EAAE,IAAI;QACrB,mBAAmB,EAAE,IAAI;QACzB,MAAM,EAAE,KAAK;QACb,GAAG,OAAO;KACX,CAAC;IAEF,IAAI,CAAC;QACH,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,YAAY,EAAE;YACpE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QAEH,oCAAoC;QACpC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0BAA0B;YACvC,oBAAoB,EAAE,IAAI;SAC3B,CAAC;IACJ,CAAC;AACH,CAAC;AAED,gDAAgD;AAChD,SAAS,cAAc,CAAC,GAAQ,EAAE,OAA0B;IAC1D,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACtE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IACxD,CAAC;IAED,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC;IAE1C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE,YAAY,EAAE;YACnE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;SAC3C,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IACxD,CAAC;IAED,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAExC,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAExC,KAAK,YAAY,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEzC,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAExC,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEvC,KAAK,SAAS,CAAC;QACf,KAAK,MAAM;YACT,OAAO,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEtC,KAAK,aAAa,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE1C,KAAK,YAAY,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEzC,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEvC,KAAK,YAAY,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEzC,KAAK,SAAS;YACZ,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,WAAW;gBACnB,WAAW,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,SAAS;aACnF,CAAC;QAEJ,KAAK,SAAS;YACZ,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,gEAAgE;gBACzE,WAAW,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;aACrE,CAAC;QAEJ;YACE,MAAM,CAAC,IAAI,CAAC,yBAAyB,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAC;YAC/D,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qBAAqB,QAAQ,EAAE;gBAC5C,oBAAoB,EAAE,IAAI;aAC3B,CAAC;IACN,CAAC;AACH,CAAC;AAED,oBAAoB;AACpB,SAAS,gBAAgB,CAAC,GAAQ,EAAE,OAA0B;IAC5D,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAEjD,8BAA8B;IAC9B,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC/B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,KAAK;oBACR,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;oBAC/B,MAAM;gBACR,KAAK,KAAK;oBACR,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;oBAC/B,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;oBACxB,MAAM;gBACR,KAAK,KAAK;oBACR,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;oBACtB,MAAM;gBACR,KAAK,MAAM;oBACT,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;oBACvB,MAAM,CAAC,OAAO,GAAG,gEAAgE,CAAC;oBAClF,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;oBACpC,MAAM;gBACR,KAAK,UAAU;oBACb,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC;oBAC5B,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,GAAG,kBAAkB,CAAC;QACtC,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACpC,MAAM,CAAC,OAAO,GAAG,sCAAsC,CAAC;QAC1D,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACzC,MAAM,CAAC,OAAO,GAAG,sBAAsB,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,oBAAoB;AACpB,SAAS,gBAAgB,CAAC,GAAQ,EAAE,OAA0B;IAC5D,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAEjD,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC/B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,KAAK;oBACR,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;oBAC7B,MAAM;gBACR,KAAK,KAAK;oBACR,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;oBAC7B,MAAM;gBACR,KAAK,KAAK;oBACR,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;oBACxB,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,qBAAqB;AACrB,SAAS,iBAAiB,CAAC,GAAQ,EAAE,OAA0B;IAC7D,MAAM,MAAM,GAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAElD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,oBAAoB;AACpB,SAAS,gBAAgB,CAAC,GAAQ,EAAE,OAA0B;IAC5D,MAAM,MAAM,GAAkB;QAC5B,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,gDAAgD;IAChD,IAAI,KAAK,CAAC;IACV,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACpC,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;SAAM,IAAI,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACtD,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE,YAAY,CAAC,CAAC;QACrE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IACxD,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,KAAY,CAAC;QAE7B,uCAAuC;QACvC,IAAI,OAAO,CAAC;QACZ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACvB,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,OAAO,CAAC;QACpB,CAAC;QAED,oEAAoE;QACpE,MAAM,CAAC,UAAW,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE3D,2DAA2D;QAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;QACjD,IACE,OAAO,KAAK,UAAU;YACtB,OAAO,KAAK,aAAa;YACzB,OAAO,KAAK,SAAS;YACrB,OAAO,KAAK,YAAY,EACxB,CAAC;YACD,oEAAoE;YACpE,MAAM,CAAC,QAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,oEAAoE;IACpE,IAAI,MAAM,CAAC,QAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,mBAAmB;AACnB,SAAS,eAAe,CAAC,GAAQ,EAAE,OAA0B;IAC3D,MAAM,MAAM,GAAkB;QAC5B,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC/F,CAAC;IAEF,kCAAkC;IAClC,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC1D,MAAM,CAAC,SAAS,GAAG,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;IAC7F,CAAC;IACD,IAAI,GAAG,CAAC,SAAS,KAAK,IAAI,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC1D,MAAM,CAAC,SAAS,GAAG,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;IAC7F,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC5C,MAAM,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kBAAkB;AAClB,SAAS,cAAc,CAAC,GAAQ,EAAE,OAA0B;IAC1D,MAAM,MAAM,GAAkB;QAC5B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE;KACvB,CAAC;IAEF,IAAI,OAAO,CAAC,eAAe,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChG,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,sBAAsB;AACtB,SAAS,kBAAkB,CAAC,GAAQ,EAAE,OAA0B;IAC9D,OAAO,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAED,qBAAqB;AACrB,SAAS,iBAAiB,CAAC,GAAQ,EAAE,OAA0B;IAC7D,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE3D,0DAA0D;IAC1D,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE,YAAY,EAAE;gBACrE,KAAK;aACN,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;QAC7B,CAAC;IACH,CAAC;SAAM,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE,YAAY,CAAC,CAAC;QAClE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,mBAAmB;AACnB,SAAS,eAAe,CAAC,GAAQ,EAAE,OAA0B;IAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAEvF,OAAO;QACL,KAAK,EAAE,OAAO;KACf,CAAC;AACJ,CAAC;AAED,qBAAqB;AACrB,SAAS,iBAAiB,CAAC,GAAQ,EAAE,OAA0B;IAC7D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IAExB,OAAO;QACL,IAAI,EAAE,OAAO,KAAY;QACzB,IAAI,EAAE,CAAC,KAAK,CAAC;QACb,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;KACrD,CAAC;AACJ,CAAC;AAED,mBAAmB;AACnB,SAAS,cAAc,CAAC,IAAS;IAC/B,OAAQ,IAAI,CAAC,IAAY,CAAC,QAAQ,KAAK,aAAa,CAAC;AACvD,CAAC;AAED,6DAA6D;AAC7D,SAAS,UAAU,CAAC,IAAS;IAC3B,OAAQ,IAAI,CAAC,IAAY,CAAC,QAAQ,KAAK,YAAY,CAAC;AACtD,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,yBAAyB,CAAC,MAAW;IACnD,4BAA4B;IAC5B,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE,mBAAmB,EAAE;YACzE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,GAAQ;IAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAE9B,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,WAAW;YACd,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;wBAAE,OAAO,kBAAkB,CAAC;oBACtD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;wBAAE,OAAO,sCAAsC,CAAC;oBACzE,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK;wBAAE,OAAO,qBAAqB,CAAC;oBACvD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;wBAAE,OAAO,sBAAsB,CAAC;gBAC/D,CAAC;YACH,CAAC;YACD,OAAO,QAAQ,CAAC;QAElB,KAAK,WAAW;YACd,OAAO,EAAE,CAAC;QAEZ,KAAK,YAAY;YACf,OAAO,IAAI,CAAC;QAEd,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,OAAO,GAAQ,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC;YAEV,IAAI,CAAC;gBACH,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBACpC,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;gBACtB,CAAC;qBAAM,IAAI,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACtD,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACN,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjD,MAAM,OAAO,GAAG,KAAY,CAAC;oBAC7B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC/C,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE,mBAAmB,EAAE;oBACpE,KAAK;iBACN,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,KAAK,UAAU;YACb,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnD,OAAO,CAAC,WAAW,CAAC,CAAC;YACvB,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,CAAC;QAElB,KAAK,SAAS;YACZ,OAAO,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBACrE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;gBACf,CAAC,CAAC,YAAY,CAAC;QAEnB,KAAK,aAAa;YAChB,OAAO,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE7C,KAAK,YAAY;YACf,0DAA0D;YAC1D,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;gBAC3C,IAAI,CAAC;oBACH,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC;gBAC5B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CACT,iEAAiE,EACjE,mBAAmB,EACnB,EAAE,KAAK,EAAE,CACV,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC1C,OAAO,GAAG,CAAC,YAAY,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC;YACd,CAAC;QAEH,KAAK,UAAU;YACb,OAAO,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE9C,KAAK,YAAY;YACf,OAAO,GAAG,CAAC,KAAK,CAAC;QAEnB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"zod-to-openapi.js","sourceRoot":"","sources":["../../../src/core/docs/zod-to-openapi.ts"],"names":[],"mappings":"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","sourcesContent":["// Zod to OpenAPI Schema Converter\n// Transforms Zod schemas into OpenAPI 3.0 schema definitions\n\nimport { createFrameworkLogger } from '../logger/index.js';\nimport { createUserRequire, isPackageAvailable } from '../utilities/package-utils.js';\n\nconst logger = createFrameworkLogger('ZodToOpenAPI');\n\n// Dynamic Zod imports (optional dependency)\nlet zodModule: any = null;\nlet zodLoadAttempted = false;\n\n// Lazy synchronous initialization for Zod\nfunction loadZodSync() {\n if (zodLoadAttempted) {\n return zodModule;\n }\n\n zodLoadAttempted = true;\n\n try {\n if (!isPackageAvailable('zod')) {\n zodModule = null;\n return zodModule;\n }\n\n // Use synchronous require for immediate availability\n const userRequire = createUserRequire();\n zodModule = userRequire('zod');\n } catch {\n // Zod not available - that's fine!\n zodModule = null;\n }\n\n return zodModule;\n}\n\n// OpenAPI schema types\nexport interface OpenAPISchema {\n type?: string;\n format?: string;\n description?: string;\n example?: any;\n enum?: any[];\n items?: OpenAPISchema;\n properties?: Record<string, OpenAPISchema>;\n required?: string[];\n minimum?: number;\n maximum?: number;\n minLength?: number;\n maxLength?: number;\n minItems?: number;\n maxItems?: number;\n pattern?: string;\n default?: any;\n oneOf?: OpenAPISchema[];\n anyOf?: OpenAPISchema[];\n allOf?: OpenAPISchema[];\n nullable?: boolean;\n additionalProperties?: boolean | OpenAPISchema;\n}\n\n// Conversion options\nexport interface ConversionOptions {\n includeExamples?: boolean;\n includeDescriptions?: boolean;\n strict?: boolean;\n}\n\n// Main conversion function\nexport function zodToOpenAPI(schema: any, options: ConversionOptions = {}): OpenAPISchema {\n // Check if Zod is available\n const zod = loadZodSync();\n if (!zod) {\n throw new Error('Zod is not installed. Please install zod to use zodToOpenAPI function.');\n }\n\n const opts = {\n includeExamples: true,\n includeDescriptions: true,\n strict: false,\n ...options,\n };\n\n try {\n return convertZodType(schema._def, opts);\n } catch (error) {\n logger.error('Failed to convert Zod schema to OpenAPI', 'Conversion', {\n error: error instanceof Error ? error.message : String(error),\n });\n\n // Return a basic schema as fallback\n return {\n type: 'object',\n description: 'Schema conversion failed',\n additionalProperties: true,\n };\n }\n}\n\n// Convert Zod type definition to OpenAPI schema\nfunction convertZodType(def: any, options: ConversionOptions): OpenAPISchema {\n if (!def || typeof def !== 'object') {\n logger.warn('Invalid Zod definition received', 'Conversion', { def });\n return { type: 'object', additionalProperties: true };\n }\n\n // Handle newer Zod structure - check for 'type' field first, then 'typeName'\n const typeName = def.typeName || def.type;\n\n if (!typeName) {\n logger.warn('Missing typeName/type in Zod definition', 'Conversion', {\n def: JSON.stringify(def).substring(0, 200),\n });\n return { type: 'object', additionalProperties: true };\n }\n\n switch (typeName) {\n case 'ZodString':\n case 'string':\n return convertZodString(def, options);\n\n case 'ZodNumber':\n case 'number':\n return convertZodNumber(def, options);\n\n case 'ZodBoolean':\n case 'boolean':\n return convertZodBoolean(def, options);\n\n case 'ZodObject':\n case 'object':\n return convertZodObject(def, options);\n\n case 'ZodArray':\n case 'array':\n return convertZodArray(def, options);\n\n case 'ZodEnum':\n case 'enum':\n return convertZodEnum(def, options);\n\n case 'ZodOptional':\n case 'optional':\n return convertZodOptional(def, options);\n\n case 'ZodDefault':\n case 'default':\n return convertZodDefault(def, options);\n\n case 'ZodUnion':\n case 'union':\n return convertZodUnion(def, options);\n\n case 'ZodLiteral':\n case 'literal':\n return convertZodLiteral(def, options);\n\n case 'ZodDate':\n return {\n type: 'string',\n format: 'date-time',\n ...(options.includeDescriptions ? { description: 'ISO 8601 date-time string' } : {}),\n };\n\n case 'ZodUUID':\n return {\n type: 'string',\n format: 'uuid',\n pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$',\n ...(options.includeDescriptions ? { description: 'UUID string' } : {}),\n };\n\n default:\n logger.warn(`Unsupported Zod type: ${typeName}`, 'Conversion');\n return {\n type: 'object',\n description: `Unsupported type: ${typeName}`,\n additionalProperties: true,\n };\n }\n}\n\n// Convert ZodString\nfunction convertZodString(def: any, options: ConversionOptions): OpenAPISchema {\n const schema: OpenAPISchema = { type: 'string' };\n\n // Handle checks (validations)\n if (def.checks) {\n for (const check of def.checks) {\n switch (check.kind) {\n case 'min':\n schema.minLength = check.value;\n break;\n case 'max':\n schema.maxLength = check.value;\n break;\n case 'email':\n schema.format = 'email';\n break;\n case 'url':\n schema.format = 'uri';\n break;\n case 'uuid':\n schema.format = 'uuid';\n schema.pattern = '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$';\n break;\n case 'regex':\n schema.pattern = check.regex.source;\n break;\n case 'datetime':\n schema.format = 'date-time';\n break;\n }\n }\n }\n\n if (options.includeExamples) {\n if (schema.format === 'email') {\n schema.example = 'user@example.com';\n } else if (schema.format === 'uuid') {\n schema.example = '123e4567-e89b-12d3-a456-426614174000';\n } else if (schema.format === 'date-time') {\n schema.example = '2023-12-01T10:00:00Z';\n } else {\n schema.example = 'string';\n }\n }\n\n return schema;\n}\n\n// Convert ZodNumber\nfunction convertZodNumber(def: any, options: ConversionOptions): OpenAPISchema {\n const schema: OpenAPISchema = { type: 'number' };\n\n if (def.checks) {\n for (const check of def.checks) {\n switch (check.kind) {\n case 'min':\n schema.minimum = check.value;\n break;\n case 'max':\n schema.maximum = check.value;\n break;\n case 'int':\n schema.type = 'integer';\n break;\n }\n }\n }\n\n if (options.includeExamples) {\n schema.example = schema.type === 'integer' ? 42 : 3.14;\n }\n\n return schema;\n}\n\n// Convert ZodBoolean\nfunction convertZodBoolean(def: any, options: ConversionOptions): OpenAPISchema {\n const schema: OpenAPISchema = { type: 'boolean' };\n\n if (options.includeExamples) {\n schema.example = true;\n }\n\n return schema;\n}\n\n// Convert ZodObject\nfunction convertZodObject(def: any, options: ConversionOptions): OpenAPISchema {\n const schema: OpenAPISchema = {\n type: 'object',\n properties: {},\n required: [],\n };\n\n // Handle both old and new Zod object structures\n let shape;\n if (typeof def.shape === 'function') {\n shape = def.shape();\n } else if (def.shape && typeof def.shape === 'object') {\n shape = def.shape;\n } else {\n logger.warn('Could not extract shape from Zod object', 'Conversion');\n return { type: 'object', additionalProperties: true };\n }\n\n for (const [key, value] of Object.entries(shape)) {\n const zodType = value as any;\n\n // Handle the nested structure properly\n let typeDef;\n if (zodType._def) {\n typeDef = zodType._def;\n } else if (zodType.def) {\n typeDef = zodType.def;\n } else {\n typeDef = zodType;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n schema.properties![key] = convertZodType(typeDef, options);\n\n // Check if field is required (not optional and no default)\n const typeStr = typeDef.typeName || typeDef.type;\n if (\n typeStr !== 'optional' &&\n typeStr !== 'ZodOptional' &&\n typeStr !== 'default' &&\n typeStr !== 'ZodDefault'\n ) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n schema.required!.push(key);\n }\n }\n\n // Remove required array if empty\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n if (schema.required!.length === 0) {\n delete schema.required;\n }\n\n return schema;\n}\n\n// Convert ZodArray\nfunction convertZodArray(def: any, options: ConversionOptions): OpenAPISchema {\n const schema: OpenAPISchema = {\n type: 'array',\n items: def.type && def.type._def ? convertZodType(def.type._def, options) : { type: 'string' },\n };\n\n // Handle array length constraints\n if (def.minLength !== null && def.minLength !== undefined) {\n schema.minLength = typeof def.minLength === 'object' ? def.minLength.value : def.minLength;\n }\n if (def.maxLength !== null && def.maxLength !== undefined) {\n schema.maxLength = typeof def.maxLength === 'object' ? def.maxLength.value : def.maxLength;\n }\n\n if (options.includeExamples && schema.items) {\n schema.example = [schema.items.example || 'item'];\n }\n\n return schema;\n}\n\n// Convert ZodEnum\nfunction convertZodEnum(def: any, options: ConversionOptions): OpenAPISchema {\n const schema: OpenAPISchema = {\n type: 'string',\n enum: def.values || [],\n };\n\n if (options.includeExamples && def.values && Array.isArray(def.values) && def.values.length > 0) {\n schema.example = def.values[0];\n }\n\n return schema;\n}\n\n// Convert ZodOptional\nfunction convertZodOptional(def: any, options: ConversionOptions): OpenAPISchema {\n return convertZodType(def.innerType._def, options);\n}\n\n// Convert ZodDefault\nfunction convertZodDefault(def: any, options: ConversionOptions): OpenAPISchema {\n const schema = convertZodType(def.innerType._def, options);\n\n // Handle both function and property forms of defaultValue\n if (typeof def.defaultValue === 'function') {\n try {\n schema.default = def.defaultValue();\n } catch (error) {\n logger.warn('Failed to get default value from function', 'Conversion', {\n error,\n });\n schema.default = undefined;\n }\n } else if (def.defaultValue !== undefined) {\n schema.default = def.defaultValue;\n } else {\n logger.warn('No default value found in ZodDefault', 'Conversion');\n schema.default = undefined;\n }\n\n return schema;\n}\n\n// Convert ZodUnion\nfunction convertZodUnion(def: any, options: ConversionOptions): OpenAPISchema {\n const schemas = def.options.map((option: any) => convertZodType(option._def, options));\n\n return {\n oneOf: schemas,\n };\n}\n\n// Convert ZodLiteral\nfunction convertZodLiteral(def: any, options: ConversionOptions): OpenAPISchema {\n const value = def.value;\n\n return {\n type: typeof value as any,\n enum: [value],\n example: options.includeExamples ? value : undefined,\n };\n}\n\n// Helper functions\nfunction isOptionalType(type: any): boolean {\n return (type._def as any).typeName === 'ZodOptional';\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction hasDefault(type: any): boolean {\n return (type._def as any).typeName === 'ZodDefault';\n}\n\n// Generate example data from Zod schema\nexport function generateExampleFromSchema(schema: any): any {\n // Check if Zod is available\n const zod = loadZodSync();\n if (!zod) {\n throw new Error(\n 'Zod is not installed. Please install zod to use generateExampleFromSchema function.'\n );\n }\n\n try {\n return generateExample(schema._def);\n } catch (error) {\n logger.warn('Failed to generate example from schema', 'ExampleGeneration', {\n error: error instanceof Error ? error.message : String(error),\n });\n return {};\n }\n}\n\nfunction generateExample(def: any): any {\n const typeName = def.typeName;\n\n switch (typeName) {\n case 'ZodString':\n if (def.checks) {\n for (const check of def.checks) {\n if (check.kind === 'email') return 'user@example.com';\n if (check.kind === 'uuid') return '123e4567-e89b-12d3-a456-426614174000';\n if (check.kind === 'url') return 'https://example.com';\n if (check.kind === 'datetime') return '2023-12-01T10:00:00Z';\n }\n }\n return 'string';\n\n case 'ZodNumber':\n return 42;\n\n case 'ZodBoolean':\n return true;\n\n case 'ZodObject': {\n const example: any = {};\n let shape;\n\n try {\n if (typeof def.shape === 'function') {\n shape = def.shape();\n } else if (def.shape && typeof def.shape === 'object') {\n shape = def.shape;\n } else {\n return {};\n }\n\n for (const [key, value] of Object.entries(shape)) {\n const zodType = value as any;\n if (!isOptionalType(zodType)) {\n example[key] = generateExample(zodType._def);\n }\n }\n } catch (error) {\n logger.warn('Failed to generate object example', 'ExampleGeneration', {\n error,\n });\n return {};\n }\n\n return example;\n }\n\n case 'ZodArray':\n if (def.type && def.type._def) {\n const itemExample = generateExample(def.type._def);\n return [itemExample];\n }\n return ['item'];\n\n case 'ZodEnum':\n return def.values && Array.isArray(def.values) && def.values.length > 0\n ? def.values[0]\n : 'enum-value';\n\n case 'ZodOptional':\n return generateExample(def.innerType._def);\n\n case 'ZodDefault':\n // Handle both function and property forms of defaultValue\n if (typeof def.defaultValue === 'function') {\n try {\n return def.defaultValue();\n } catch (error) {\n logger.warn(\n 'Failed to get default value from function in example generation',\n 'ExampleGeneration',\n { error }\n );\n return null;\n }\n } else if (def.defaultValue !== undefined) {\n return def.defaultValue;\n } else {\n return null;\n }\n\n case 'ZodUnion':\n return generateExample(def.options[0]._def);\n\n case 'ZodLiteral':\n return def.value;\n\n default:\n return null;\n }\n}\n"]}
|
|
@@ -70,12 +70,18 @@ export class MoroEventBus {
|
|
|
70
70
|
return false;
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
// Type-safe event listeners with automatic payload unwrapping
|
|
73
|
+
// Type-safe event listeners with automatic payload unwrapping.
|
|
74
|
+
// Listeners may be async (EventHandler returns void | Promise<void>); Node's
|
|
75
|
+
// EventEmitter invokes them without awaiting. We intentionally register the
|
|
76
|
+
// listener by reference rather than wrapping it, so removeListener/off keep
|
|
77
|
+
// working - an async listener owns handling its own rejections.
|
|
74
78
|
on(event, listener) {
|
|
79
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
75
80
|
this.emitter.on(event, listener);
|
|
76
81
|
return this;
|
|
77
82
|
}
|
|
78
83
|
once(event, listener) {
|
|
84
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
79
85
|
this.emitter.once(event, listener);
|
|
80
86
|
return this;
|
|
81
87
|
}
|
|
@@ -196,10 +202,13 @@ class ModuleEventBusImpl {
|
|
|
196
202
|
this.globalBus.removeAllListeners(this.namespaced(event));
|
|
197
203
|
}
|
|
198
204
|
else {
|
|
199
|
-
// Remove
|
|
200
|
-
//
|
|
201
|
-
|
|
202
|
-
|
|
205
|
+
// Remove every namespaced event this module registered on the global emitter.
|
|
206
|
+
// nameCache holds the namespaced name of every event the module ever touched,
|
|
207
|
+
// so iterating it clears all of the module's listeners (no leak).
|
|
208
|
+
for (const namespacedEvent of this.nameCache.values()) {
|
|
209
|
+
this.globalBus.removeAllListeners(namespacedEvent);
|
|
210
|
+
}
|
|
211
|
+
this.nameCache.clear();
|
|
203
212
|
}
|
|
204
213
|
return this;
|
|
205
214
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../src/core/events/event-bus.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../src/core/events/event-bus.ts"],"names":[],"mappings":"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","sourcesContent":["// Enterprise Event Bus - Secure, Scalable, Observable\nimport { EventEmitter } from 'events';\nimport crypto from 'crypto';\nimport {\n EventContext,\n EventPayload,\n EventBusOptions,\n ModuleEventBus,\n GlobalEventBus,\n EventMetrics,\n EventHandler,\n} from '../../types/events.js';\nimport { createFrameworkLogger } from '../logger/index.js';\n\nexport class MoroEventBus implements GlobalEventBus {\n private emitter = new EventEmitter();\n private moduleBuses = new Map<string, ModuleEventBus>();\n private metrics: EventMetrics = {\n totalEvents: 0,\n eventsByType: {},\n eventsByModule: {},\n averageLatency: 0,\n errorRate: 0,\n };\n private auditEnabled = false;\n private auditBuffer: EventPayload[] = new Array(1000);\n private auditHead = 0;\n private auditCount = 0;\n private latencySum = 0;\n private errorCount = 0;\n private logger = createFrameworkLogger('EventBus');\n\n constructor(private options: EventBusOptions = {}) {\n this.emitter.setMaxListeners(options.maxListeners || 100);\n }\n\n // Global event emission with full context and metrics\n async emit<T = any>(event: string, data: T, context?: Partial<EventContext>): Promise<boolean> {\n // Check listeners FIRST - most events have zero listeners\n // This early exit avoids ALL work below (timestamp, ID generation, metrics, etc.)\n const listenerCount = this.emitter.listenerCount(event);\n if (listenerCount === 0) {\n return false; // Zero overhead when no listeners - instant return\n }\n\n // Only do expensive work if there ARE listeners\n const startTime = Date.now();\n\n const fullContext: EventContext = {\n timestamp: new Date(),\n source: 'framework',\n requestId: this.generateRequestId(),\n ...context,\n };\n\n const payload: EventPayload<T> = {\n context: fullContext,\n data,\n };\n\n try {\n // Update metrics\n this.updateMetrics(event, fullContext.moduleId);\n\n // Audit logging - early exit if disabled\n if (this.auditEnabled) {\n this.auditBuffer[this.auditHead] = payload;\n this.auditHead = (this.auditHead + 1) % 1000;\n if (this.auditCount < 1000) this.auditCount++;\n }\n\n // Emit to global listeners\n const result = this.emitter.emit(event, payload);\n\n // Calculate latency\n const latency = Date.now() - startTime;\n this.latencySum += latency;\n\n return result;\n } catch (error) {\n this.errorCount++;\n this.logger.error(`Event emission error for ${event}`, 'Emission', {\n event,\n error: error instanceof Error ? error.message : String(error),\n });\n return false;\n }\n }\n\n // Type-safe event listeners with automatic payload unwrapping.\n // Listeners may be async (EventHandler returns void | Promise<void>); Node's\n // EventEmitter invokes them without awaiting. We intentionally register the\n // listener by reference rather than wrapping it, so removeListener/off keep\n // working - an async listener owns handling its own rejections.\n on<T = any>(event: string, listener: EventHandler<T>): this {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n this.emitter.on(event, listener);\n return this;\n }\n\n once<T = any>(event: string, listener: EventHandler<T>): this {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n this.emitter.once(event, listener);\n return this;\n }\n\n off(event: string, listener: CallableFunction): this {\n this.emitter.off(event, listener as (...args: any[]) => void);\n return this;\n }\n\n removeAllListeners(event?: string): this {\n this.emitter.removeAllListeners(event);\n return this;\n }\n\n listenerCount(event: string): number {\n return this.emitter.listenerCount(event);\n }\n\n // Create isolated module event bus with namespace protection\n createModuleBus(moduleId: string): ModuleEventBus {\n // Return existing bus if it already exists\n if (this.moduleBuses.has(moduleId)) {\n this.logger.debug(`Reusing existing event bus for module: ${moduleId}`, 'ModuleBus');\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return this.moduleBuses.get(moduleId)!;\n }\n\n const moduleBus = new ModuleEventBusImpl(moduleId, this);\n this.moduleBuses.set(moduleId, moduleBus);\n\n this.logger.debug(`Created event bus for module: ${moduleId}`, 'ModuleBus');\n return moduleBus;\n }\n\n // Clean up module resources\n destroyModuleBus(moduleId: string): void {\n const moduleBus = this.moduleBuses.get(moduleId);\n if (moduleBus) {\n moduleBus.removeAllListeners();\n this.moduleBuses.delete(moduleId);\n this.logger.debug(`Destroyed event bus for module: ${moduleId}`, 'ModuleBus');\n }\n }\n\n // Comprehensive event metrics\n getMetrics(): EventMetrics {\n return {\n ...this.metrics,\n averageLatency: this.metrics.totalEvents > 0 ? this.latencySum / this.metrics.totalEvents : 0,\n errorRate:\n this.metrics.totalEvents > 0 ? (this.errorCount / this.metrics.totalEvents) * 100 : 0,\n };\n }\n\n // Enable audit logging for compliance\n enableAuditLog(): void {\n this.auditEnabled = true;\n this.logger.info('Event audit logging enabled', 'Audit');\n }\n\n disableAuditLog(): void {\n this.auditEnabled = false;\n this.auditBuffer = new Array(1000);\n this.auditHead = 0;\n this.auditCount = 0;\n this.logger.info('Event audit logging disabled', 'Audit');\n }\n\n // Get audit log for compliance reporting\n getAuditLog(): EventPayload[] {\n if (this.auditCount === 0) return [];\n if (this.auditCount < 1000) {\n return this.auditBuffer.slice(0, this.auditCount);\n }\n // Ring buffer is full — return in chronological order\n return [\n ...this.auditBuffer.slice(this.auditHead),\n ...this.auditBuffer.slice(0, this.auditHead),\n ];\n }\n\n private updateMetrics(event: string, moduleId?: string): void {\n this.metrics.totalEvents++;\n this.metrics.eventsByType[event] = (this.metrics.eventsByType[event] || 0) + 1;\n\n if (moduleId) {\n this.metrics.eventsByModule[moduleId] = (this.metrics.eventsByModule[moduleId] || 0) + 1;\n }\n }\n\n private generateRequestId(): string {\n return `req_${Date.now()}_${crypto.randomBytes(6).toString('hex')}`;\n }\n}\n\n// Module-isolated event bus implementation\nclass ModuleEventBusImpl implements ModuleEventBus {\n private nameCache = new Map<string, string>();\n\n constructor(\n private moduleId: string,\n private globalBus: MoroEventBus\n ) {}\n\n private namespaced(event: string): string {\n let cached = this.nameCache.get(event);\n if (!cached) {\n cached = `module:${this.moduleId}:${event}`;\n this.nameCache.set(event, cached);\n }\n return cached;\n }\n\n async emit<T = any>(event: string, data: T): Promise<boolean> {\n return this.globalBus.emit(this.namespaced(event), data, {\n source: 'module',\n moduleId: this.moduleId,\n });\n }\n\n on<T = any>(event: string, listener: (payload: EventPayload<T>) => void | Promise<void>): this {\n this.globalBus.on(this.namespaced(event), listener);\n return this;\n }\n\n once<T = any>(event: string, listener: (payload: EventPayload<T>) => void | Promise<void>): this {\n this.globalBus.once(this.namespaced(event), listener);\n return this;\n }\n\n off(event: string, listener: CallableFunction): this {\n this.globalBus.off(this.namespaced(event), listener);\n return this;\n }\n\n removeAllListeners(event?: string): this {\n if (event) {\n this.globalBus.removeAllListeners(this.namespaced(event));\n } else {\n // Remove every namespaced event this module registered on the global emitter.\n // nameCache holds the namespaced name of every event the module ever touched,\n // so iterating it clears all of the module's listeners (no leak).\n for (const namespacedEvent of this.nameCache.values()) {\n this.globalBus.removeAllListeners(namespacedEvent);\n }\n this.nameCache.clear();\n }\n return this;\n }\n\n listenerCount(event: string): number {\n return this.globalBus.listenerCount(this.namespaced(event));\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/events/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/events/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC","sourcesContent":["// Event System - Centralized Exports\nexport { MoroEventBus } from './event-bus.js';\nexport type {\n EventContext,\n EventPayload,\n EventBusOptions,\n ModuleEventBus,\n GlobalEventBus,\n EventMetrics,\n SystemEvents,\n EventHandler,\n} from '../../types/events.js';\n"]}
|
package/dist/core/framework.d.ts
CHANGED
|
@@ -17,9 +17,9 @@ export interface ServerKind {
|
|
|
17
17
|
server: 'engine' | 'node' | 'http2';
|
|
18
18
|
/** Package backing the native engine ('@morojs/engine' or 'uWebSockets.js') */
|
|
19
19
|
enginePackage?: string;
|
|
20
|
-
engineVersion?: string;
|
|
20
|
+
engineVersion?: string | undefined;
|
|
21
21
|
/** Present when the native engine was requested but the Node server booted */
|
|
22
|
-
fallbackReason?: string;
|
|
22
|
+
fallbackReason?: string | undefined;
|
|
23
23
|
/** Protocols the booted server can speak (observability for app.engine). */
|
|
24
24
|
protocols?: Array<'http/1.1' | 'h2'>;
|
|
25
25
|
}
|
package/dist/core/framework.js
CHANGED
|
@@ -85,27 +85,27 @@ export class Moro extends EventEmitter {
|
|
|
85
85
|
typeof engineSurface?.respond === 'function') {
|
|
86
86
|
this.httpServer = new MoroEngineServer({
|
|
87
87
|
ssl,
|
|
88
|
-
capabilities: caps,
|
|
89
88
|
limits: rt,
|
|
90
|
-
http2Settings: engineChoice.h2 ? this.resolveH2Settings(options) : undefined,
|
|
91
89
|
maxBodySize: rt.maxBodySize,
|
|
92
90
|
maxUploadSize: rt.maxUploadSize,
|
|
93
91
|
engineModule: engineChoice.engine.module,
|
|
94
92
|
// Cluster workers each bind the port; SO_REUSEPORT lets the kernel
|
|
95
93
|
// balance accepts across them (Windows is gated to Node earlier).
|
|
96
94
|
reusePort: this.config.performance?.clustering?.enabled === true,
|
|
95
|
+
...(caps ? { capabilities: caps } : {}),
|
|
96
|
+
...(engineChoice.h2 ? { http2Settings: this.resolveH2Settings(options) } : {}),
|
|
97
97
|
});
|
|
98
98
|
this.server = this.httpServer.getServer();
|
|
99
99
|
this.usingEngine = true;
|
|
100
100
|
}
|
|
101
101
|
else {
|
|
102
102
|
this.httpServer = new UWebSocketsHttpServer({
|
|
103
|
-
ssl: ssl ? sslForUws(ssl) : undefined,
|
|
104
103
|
sslInlineOnly: ssl ? !sslForUws(ssl) : false,
|
|
105
104
|
limits: rt,
|
|
106
105
|
maxBodySize: rt.maxBodySize,
|
|
107
106
|
maxUploadSize: rt.maxUploadSize,
|
|
108
107
|
engineModule: engineChoice.engine.module,
|
|
108
|
+
...(ssl ? { ssl: sslForUws(ssl) } : {}),
|
|
109
109
|
});
|
|
110
110
|
this.server = this.httpServer.getApp();
|
|
111
111
|
this.usingUWebSockets = true;
|
|
@@ -129,10 +129,10 @@ export class Moro extends EventEmitter {
|
|
|
129
129
|
this.usingEngine = false;
|
|
130
130
|
this.engineInfo = { server: 'node', fallbackReason: reason };
|
|
131
131
|
this.httpServer = new MoroHttpServer({
|
|
132
|
-
ssl: ssl && sslIsComplete(ssl) ? sslForNode(ssl) : undefined,
|
|
133
132
|
limits: rt,
|
|
134
133
|
maxBodySize: rt.maxBodySize,
|
|
135
134
|
maxUploadSize: rt.maxUploadSize,
|
|
135
|
+
...(ssl && sslIsComplete(ssl) ? { ssl: sslForNode(ssl) } : {}),
|
|
136
136
|
});
|
|
137
137
|
this.server = this.httpServer.getServer();
|
|
138
138
|
}
|
|
@@ -163,12 +163,10 @@ export class Moro extends EventEmitter {
|
|
|
163
163
|
else {
|
|
164
164
|
// Use standard HTTP/1.1 (Node), now with optional in-process HTTPS.
|
|
165
165
|
this.httpServer = new MoroHttpServer({
|
|
166
|
-
ssl: ssl && require('./http/utils/ssl-config.js').sslIsComplete(ssl)
|
|
167
|
-
? sslForNode(ssl)
|
|
168
|
-
: undefined,
|
|
169
166
|
limits: rt,
|
|
170
167
|
maxBodySize: rt.maxBodySize,
|
|
171
168
|
maxUploadSize: rt.maxUploadSize,
|
|
169
|
+
...(ssl && sslIsComplete(ssl) ? { ssl: sslForNode(ssl) } : {}),
|
|
172
170
|
});
|
|
173
171
|
this.server = this.httpServer.getServer();
|
|
174
172
|
this.engineInfo = { server: 'node', fallbackReason: engineChoice.fallbackReason };
|
|
@@ -1099,6 +1097,15 @@ export class Moro extends EventEmitter {
|
|
|
1099
1097
|
const timeouts = s.timeouts ?? {};
|
|
1100
1098
|
const size = (v) => v === undefined ? undefined : parseSizeToBytes(v);
|
|
1101
1099
|
const multipart = limits.multipart ?? {};
|
|
1100
|
+
const maxPartHeaderBytes = size(multipart.maxPartHeaderBytes);
|
|
1101
|
+
const maxFileSize = size(multipart.maxFileSize);
|
|
1102
|
+
// undefined = use that server's own documented default, so omit the key
|
|
1103
|
+
// entirely rather than pass an explicit undefined (exactOptionalPropertyTypes).
|
|
1104
|
+
const maxHeaderSize = size(limits.maxHeaderSize);
|
|
1105
|
+
const wsMaxMessageSize = size(limits.wsMaxMessageSize ?? this.config.websocket?.options?.maxPayloadLength);
|
|
1106
|
+
const wsBackpressureLimit = size(limits.wsBackpressureLimit);
|
|
1107
|
+
const writeHighWaterMark = size(limits.writeHighWaterMark);
|
|
1108
|
+
const maxPendingBytes = size(limits.maxPendingBytes);
|
|
1102
1109
|
return {
|
|
1103
1110
|
maxBodySize: parseSizeToBytes(s.bodySizeLimit ?? '10mb'),
|
|
1104
1111
|
maxUploadSize: parseSizeToBytes(s.maxUploadSize ?? '100mb'),
|
|
@@ -1110,17 +1117,17 @@ export class Moro extends EventEmitter {
|
|
|
1110
1117
|
keepAlive: timeouts.keepAlive,
|
|
1111
1118
|
headers: timeouts.headers,
|
|
1112
1119
|
},
|
|
1113
|
-
maxHeaderSize: size(limits.maxHeaderSize),
|
|
1114
1120
|
maxHeaders: limits.maxHeaders,
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1121
|
+
...(maxHeaderSize !== undefined ? { maxHeaderSize } : {}),
|
|
1122
|
+
...(wsMaxMessageSize !== undefined ? { wsMaxMessageSize } : {}),
|
|
1123
|
+
...(wsBackpressureLimit !== undefined ? { wsBackpressureLimit } : {}),
|
|
1124
|
+
...(writeHighWaterMark !== undefined ? { writeHighWaterMark } : {}),
|
|
1125
|
+
...(maxPendingBytes !== undefined ? { maxPendingBytes } : {}),
|
|
1119
1126
|
multipart: {
|
|
1120
1127
|
maxParts: multipart.maxParts,
|
|
1121
|
-
maxPartHeaderBytes: size(multipart.maxPartHeaderBytes),
|
|
1122
1128
|
maxFiles: multipart.maxFiles,
|
|
1123
|
-
|
|
1129
|
+
...(maxPartHeaderBytes !== undefined ? { maxPartHeaderBytes } : {}),
|
|
1130
|
+
...(maxFileSize !== undefined ? { maxFileSize } : {}),
|
|
1124
1131
|
},
|
|
1125
1132
|
};
|
|
1126
1133
|
}
|