@warlock.js/core 4.1.15 → 4.2.0
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/CHANGELOG.md +24 -0
- package/LICENSE +21 -0
- package/esm/application/app.d.mts +1 -1
- package/esm/application/app.d.mts.map +1 -1
- package/esm/application/app.mjs +1 -1
- package/esm/application/app.mjs.map +1 -1
- package/esm/application/application-config-types.d.mts +1 -1
- package/esm/application/application-config-types.d.mts.map +1 -1
- package/esm/application/application.d.mts +1 -1
- package/esm/application/application.d.mts.map +1 -1
- package/esm/application/application.mjs +1 -1
- package/esm/application/application.mjs.map +1 -1
- package/esm/benchmark/benchmark-snapshots.d.mts +1 -1
- package/esm/benchmark/benchmark-snapshots.d.mts.map +1 -1
- package/esm/benchmark/benchmark-snapshots.mjs +1 -1
- package/esm/benchmark/benchmark-snapshots.mjs.map +1 -1
- package/esm/benchmark/benchmark.d.mts +1 -1
- package/esm/benchmark/benchmark.d.mts.map +1 -1
- package/esm/benchmark/benchmark.mjs +1 -1
- package/esm/benchmark/benchmark.mjs.map +1 -1
- package/esm/benchmark/channels/console.channel.d.mts +1 -1
- package/esm/benchmark/channels/console.channel.d.mts.map +1 -1
- package/esm/benchmark/channels/console.channel.mjs +1 -1
- package/esm/benchmark/channels/console.channel.mjs.map +1 -1
- package/esm/benchmark/channels/noop.channel.d.mts +1 -1
- package/esm/benchmark/channels/noop.channel.d.mts.map +1 -1
- package/esm/benchmark/channels/noop.channel.mjs +1 -1
- package/esm/benchmark/channels/noop.channel.mjs.map +1 -1
- package/esm/benchmark/profiler.d.mts +1 -1
- package/esm/benchmark/profiler.d.mts.map +1 -1
- package/esm/benchmark/profiler.mjs +1 -1
- package/esm/benchmark/profiler.mjs.map +1 -1
- package/esm/benchmark/types.d.mts +1 -1
- package/esm/benchmark/types.d.mts.map +1 -1
- package/esm/bootstrap/setup.d.mts +1 -1
- package/esm/bootstrap/setup.d.mts.map +1 -1
- package/esm/bootstrap/setup.mjs +1 -1
- package/esm/bootstrap/setup.mjs.map +1 -1
- package/esm/bootstrap.d.mts +1 -1
- package/esm/bootstrap.d.mts.map +1 -1
- package/esm/bootstrap.mjs +1 -1
- package/esm/bootstrap.mjs.map +1 -1
- package/esm/cache/database-cache-driver.d.mts +1 -1
- package/esm/cache/database-cache-driver.d.mts.map +1 -1
- package/esm/cache/database-cache-driver.mjs +1 -1
- package/esm/cache/database-cache-driver.mjs.map +1 -1
- package/esm/cache/index.mjs +1 -1
- package/esm/cache/index.mjs.map +1 -1
- package/esm/cli/cli-command.d.mts +1 -1
- package/esm/cli/cli-command.d.mts.map +1 -1
- package/esm/cli/cli-command.mjs +1 -1
- package/esm/cli/cli-command.mjs.map +1 -1
- package/esm/cli/types.d.mts +1 -1
- package/esm/cli/types.d.mts.map +1 -1
- package/esm/config/config-getter.d.mts +1 -1
- package/esm/config/config-getter.d.mts.map +1 -1
- package/esm/config/config-getter.mjs +6 -6
- package/esm/config/config-getter.mjs.map +1 -1
- package/esm/config/config-handlers.d.mts +1 -1
- package/esm/config/config-handlers.d.mts.map +1 -1
- package/esm/config/config-handlers.mjs +1 -1
- package/esm/config/config-handlers.mjs.map +1 -1
- package/esm/config/config-loader.d.mts +1 -1
- package/esm/config/config-loader.d.mts.map +1 -1
- package/esm/config/config-loader.mjs +3 -3
- package/esm/config/config-loader.mjs.map +1 -1
- package/esm/config/config-manager.mjs +1 -1
- package/esm/config/config-manager.mjs.map +1 -1
- package/esm/config/config-special-handlers.d.mts +1 -1
- package/esm/config/config-special-handlers.d.mts.map +1 -1
- package/esm/config/config-special-handlers.mjs +1 -1
- package/esm/config/config-special-handlers.mjs.map +1 -1
- package/esm/config/load-config-files.mjs +1 -1
- package/esm/config/load-config-files.mjs.map +1 -1
- package/esm/config/types.d.mts +1 -1
- package/esm/config/types.d.mts.map +1 -1
- package/esm/connectors/access-connector.d.mts +39 -0
- package/esm/connectors/access-connector.d.mts.map +1 -0
- package/esm/connectors/access-connector.mjs +54 -0
- package/esm/connectors/access-connector.mjs.map +1 -0
- package/esm/connectors/base-connector.d.mts +1 -1
- package/esm/connectors/base-connector.d.mts.map +1 -1
- package/esm/connectors/base-connector.mjs +1 -1
- package/esm/connectors/base-connector.mjs.map +1 -1
- package/esm/connectors/cache-connector.d.mts +1 -1
- package/esm/connectors/cache-connector.d.mts.map +1 -1
- package/esm/connectors/cache-connector.mjs +3 -3
- package/esm/connectors/cache-connector.mjs.map +1 -1
- package/esm/connectors/connectors-manager.d.mts +1 -1
- package/esm/connectors/connectors-manager.d.mts.map +1 -1
- package/esm/connectors/connectors-manager.mjs +5 -1
- package/esm/connectors/connectors-manager.mjs.map +1 -1
- package/esm/connectors/database-connector.d.mts +1 -1
- package/esm/connectors/database-connector.d.mts.map +1 -1
- package/esm/connectors/database-connector.mjs +3 -3
- package/esm/connectors/database-connector.mjs.map +1 -1
- package/esm/connectors/herald-connector.d.mts +1 -1
- package/esm/connectors/herald-connector.d.mts.map +1 -1
- package/esm/connectors/herald-connector.mjs +4 -4
- package/esm/connectors/herald-connector.mjs.map +1 -1
- package/esm/connectors/http-connector.d.mts +1 -1
- package/esm/connectors/http-connector.d.mts.map +1 -1
- package/esm/connectors/http-connector.mjs +8 -6
- package/esm/connectors/http-connector.mjs.map +1 -1
- package/esm/connectors/index.d.mts +2 -0
- package/esm/connectors/index.mjs +2 -0
- package/esm/connectors/logger-connector.d.mts +1 -1
- package/esm/connectors/logger-connector.d.mts.map +1 -1
- package/esm/connectors/logger-connector.mjs +3 -3
- package/esm/connectors/logger-connector.mjs.map +1 -1
- package/esm/connectors/mail-connector.d.mts +1 -1
- package/esm/connectors/mail-connector.d.mts.map +1 -1
- package/esm/connectors/mail-connector.mjs +3 -3
- package/esm/connectors/mail-connector.mjs.map +1 -1
- package/esm/connectors/notifications-connector.d.mts +38 -0
- package/esm/connectors/notifications-connector.d.mts.map +1 -0
- package/esm/connectors/notifications-connector.mjs +51 -0
- package/esm/connectors/notifications-connector.mjs.map +1 -0
- package/esm/connectors/socket-connector.d.mts +1 -1
- package/esm/connectors/socket-connector.d.mts.map +1 -1
- package/esm/connectors/socket-connector.mjs +4 -4
- package/esm/connectors/socket-connector.mjs.map +1 -1
- package/esm/connectors/storage.connector.d.mts +1 -1
- package/esm/connectors/storage.connector.d.mts.map +1 -1
- package/esm/connectors/storage.connector.mjs +1 -1
- package/esm/connectors/storage.connector.mjs.map +1 -1
- package/esm/connectors/types.d.mts +5 -3
- package/esm/connectors/types.d.mts.map +1 -1
- package/esm/connectors/types.mjs +3 -1
- package/esm/connectors/types.mjs.map +1 -1
- package/esm/container/index.d.mts +1 -1
- package/esm/container/index.d.mts.map +1 -1
- package/esm/container/index.mjs +1 -1
- package/esm/container/index.mjs.map +1 -1
- package/esm/database/models/database-log/database-log.d.mts +1 -1
- package/esm/database/models/database-log/database-log.d.mts.map +1 -1
- package/esm/database/models/database-log/database-log.mjs +1 -1
- package/esm/database/models/database-log/database-log.mjs.map +1 -1
- package/esm/database/seeds/seeder.d.mts +1 -1
- package/esm/database/seeds/seeder.d.mts.map +1 -1
- package/esm/database/seeds/seeder.mjs +1 -1
- package/esm/database/seeds/seeder.mjs.map +1 -1
- package/esm/database/seeds/types.d.mts +1 -1
- package/esm/database/seeds/types.d.mts.map +1 -1
- package/esm/database/utils.d.mts +1 -1
- package/esm/database/utils.d.mts.map +1 -1
- package/esm/database/utils.mjs +1 -1
- package/esm/database/utils.mjs.map +1 -1
- package/esm/dev-server/create-worker.mjs +1 -1
- package/esm/dev-server/create-worker.mjs.map +1 -1
- package/esm/dev-server/dependency-graph.d.mts +1 -1
- package/esm/dev-server/dependency-graph.d.mts.map +1 -1
- package/esm/dev-server/dependency-graph.mjs +1 -1
- package/esm/dev-server/dependency-graph.mjs.map +1 -1
- package/esm/dev-server/dev-logger.mjs +2 -13
- package/esm/dev-server/dev-logger.mjs.map +1 -1
- package/esm/dev-server/events.mjs +1 -1
- package/esm/dev-server/events.mjs.map +1 -1
- package/esm/dev-server/file-event-handler.mjs +1 -1
- package/esm/dev-server/file-event-handler.mjs.map +1 -1
- package/esm/dev-server/file-manager.d.mts +1 -1
- package/esm/dev-server/file-manager.d.mts.map +1 -1
- package/esm/dev-server/file-manager.mjs +1 -1
- package/esm/dev-server/file-manager.mjs.map +1 -1
- package/esm/dev-server/file-operations.d.mts +1 -1
- package/esm/dev-server/file-operations.d.mts.map +1 -1
- package/esm/dev-server/file-operations.mjs +1 -1
- package/esm/dev-server/file-operations.mjs.map +1 -1
- package/esm/dev-server/files-orchestrator.d.mts +1 -1
- package/esm/dev-server/files-orchestrator.d.mts.map +1 -1
- package/esm/dev-server/files-orchestrator.mjs +1 -1
- package/esm/dev-server/files-orchestrator.mjs.map +1 -1
- package/esm/dev-server/files-watcher.d.mts +1 -1
- package/esm/dev-server/files-watcher.d.mts.map +1 -1
- package/esm/dev-server/files-watcher.mjs +1 -1
- package/esm/dev-server/files-watcher.mjs.map +1 -1
- package/esm/dev-server/flags.mjs +1 -1
- package/esm/dev-server/flags.mjs.map +1 -1
- package/esm/dev-server/health-checker/checkers/base-health-checker.d.mts +1 -1
- package/esm/dev-server/health-checker/checkers/base-health-checker.d.mts.map +1 -1
- package/esm/dev-server/health-checker/checkers/base-health-checker.mjs +1 -1
- package/esm/dev-server/health-checker/checkers/base-health-checker.mjs.map +1 -1
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.d.mts +1 -1
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.d.mts.map +1 -1
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.mjs +1 -1
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.mjs.map +1 -1
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.d.mts +1 -1
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.d.mts.map +1 -1
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.mjs +1 -1
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.mjs.map +1 -1
- package/esm/dev-server/health-checker/file-health-checker.contract.d.mts +1 -1
- package/esm/dev-server/health-checker/file-health-checker.contract.d.mts.map +1 -1
- package/esm/dev-server/health-checker/file-health-result.d.mts +1 -1
- package/esm/dev-server/health-checker/file-health-result.d.mts.map +1 -1
- package/esm/dev-server/health-checker/file-health-result.mjs +1 -1
- package/esm/dev-server/health-checker/file-health-result.mjs.map +1 -1
- package/esm/dev-server/health-checker/files-healthcare.manager.d.mts +1 -1
- package/esm/dev-server/health-checker/files-healthcare.manager.d.mts.map +1 -1
- package/esm/dev-server/health-checker/files-healthcare.manager.mjs +1 -1
- package/esm/dev-server/health-checker/files-healthcare.manager.mjs.map +1 -1
- package/esm/dev-server/health-checker/workers/eslint-health.worker.mjs +1 -1
- package/esm/dev-server/health-checker/workers/eslint-health.worker.mjs.map +1 -1
- package/esm/dev-server/health-checker/workers/ts-health.worker.mjs +1 -1
- package/esm/dev-server/health-checker/workers/ts-health.worker.mjs.map +1 -1
- package/esm/dev-server/loader/build-transpile-init.mjs +1 -1
- package/esm/dev-server/loader/build-transpile-init.mjs.map +1 -1
- package/esm/dev-server/loader/register-loader.mjs +1 -1
- package/esm/dev-server/loader/register-loader.mjs.map +1 -1
- package/esm/dev-server/loader/transpile-cache.mjs +2 -164
- package/esm/dev-server/loader/transpile-cache.mjs.map +1 -1
- package/esm/dev-server/manifest-manager.d.mts +1 -1
- package/esm/dev-server/manifest-manager.d.mts.map +1 -1
- package/esm/dev-server/manifest-manager.mjs +1 -1
- package/esm/dev-server/manifest-manager.mjs.map +1 -1
- package/esm/dev-server/module-loader.d.mts +1 -1
- package/esm/dev-server/module-loader.d.mts.map +1 -1
- package/esm/dev-server/module-loader.mjs +1 -1
- package/esm/dev-server/module-loader.mjs.map +1 -1
- package/esm/dev-server/package-json-manager.mjs +1 -1
- package/esm/dev-server/package-json-manager.mjs.map +1 -1
- package/esm/dev-server/parse-imports.mjs +1 -1
- package/esm/dev-server/parse-imports.mjs.map +1 -1
- package/esm/dev-server/path.mjs +1 -1
- package/esm/dev-server/path.mjs.map +1 -1
- package/esm/dev-server/special-files-collector.d.mts +1 -1
- package/esm/dev-server/special-files-collector.d.mts.map +1 -1
- package/esm/dev-server/special-files-collector.mjs +1 -1
- package/esm/dev-server/special-files-collector.mjs.map +1 -1
- package/esm/dev-server/tsconfig-manager.mjs +1 -1
- package/esm/dev-server/tsconfig-manager.mjs.map +1 -1
- package/esm/dev-server/types.d.mts +1 -1
- package/esm/dev-server/types.d.mts.map +1 -1
- package/esm/dev-server/utils.mjs +1 -1
- package/esm/dev-server/utils.mjs.map +1 -1
- package/esm/encryption/encrypt.d.mts +1 -1
- package/esm/encryption/encrypt.d.mts.map +1 -1
- package/esm/encryption/encrypt.mjs +1 -1
- package/esm/encryption/encrypt.mjs.map +1 -1
- package/esm/encryption/hash.d.mts +1 -1
- package/esm/encryption/hash.d.mts.map +1 -1
- package/esm/encryption/hash.mjs +1 -1
- package/esm/encryption/hash.mjs.map +1 -1
- package/esm/encryption/password.d.mts +1 -1
- package/esm/encryption/password.d.mts.map +1 -1
- package/esm/encryption/password.mjs +1 -1
- package/esm/encryption/password.mjs.map +1 -1
- package/esm/encryption/types.d.mts +1 -1
- package/esm/encryption/types.d.mts.map +1 -1
- package/esm/http/config.d.mts +1 -1
- package/esm/http/config.d.mts.map +1 -1
- package/esm/http/config.mjs +3 -3
- package/esm/http/config.mjs.map +1 -1
- package/esm/http/context/request-context.d.mts +1 -1
- package/esm/http/context/request-context.d.mts.map +1 -1
- package/esm/http/context/request-context.mjs +1 -1
- package/esm/http/context/request-context.mjs.map +1 -1
- package/esm/http/createHttpApplication.d.mts +1 -1
- package/esm/http/createHttpApplication.d.mts.map +1 -1
- package/esm/http/createHttpApplication.mjs +3 -3
- package/esm/http/createHttpApplication.mjs.map +1 -1
- package/esm/http/database/RequestLog.d.mts +1 -1
- package/esm/http/database/RequestLog.d.mts.map +1 -1
- package/esm/http/database/RequestLog.mjs +1 -1
- package/esm/http/database/RequestLog.mjs.map +1 -1
- package/esm/http/error-codes.d.mts +1 -1
- package/esm/http/error-codes.d.mts.map +1 -1
- package/esm/http/error-codes.mjs +1 -1
- package/esm/http/error-codes.mjs.map +1 -1
- package/esm/http/errors/errors.d.mts +1 -1
- package/esm/http/errors/errors.d.mts.map +1 -1
- package/esm/http/errors/errors.mjs +1 -1
- package/esm/http/errors/errors.mjs.map +1 -1
- package/esm/http/events.d.mts +1 -1
- package/esm/http/events.d.mts.map +1 -1
- package/esm/http/events.mjs +1 -1
- package/esm/http/events.mjs.map +1 -1
- package/esm/http/middleware/cache-response-middleware.d.mts +1 -1
- package/esm/http/middleware/cache-response-middleware.d.mts.map +1 -1
- package/esm/http/middleware/cache-response-middleware.mjs +1 -1
- package/esm/http/middleware/cache-response-middleware.mjs.map +1 -1
- package/esm/http/middleware/concurrency-limit.middleware.d.mts +1 -1
- package/esm/http/middleware/concurrency-limit.middleware.d.mts.map +1 -1
- package/esm/http/middleware/concurrency-limit.middleware.mjs +1 -1
- package/esm/http/middleware/concurrency-limit.middleware.mjs.map +1 -1
- package/esm/http/middleware/idempotency.middleware.d.mts +1 -1
- package/esm/http/middleware/idempotency.middleware.d.mts.map +1 -1
- package/esm/http/middleware/idempotency.middleware.mjs +6 -6
- package/esm/http/middleware/idempotency.middleware.mjs.map +1 -1
- package/esm/http/middleware/inject-request-context.d.mts +1 -1
- package/esm/http/middleware/inject-request-context.d.mts.map +1 -1
- package/esm/http/middleware/inject-request-context.mjs +3 -3
- package/esm/http/middleware/inject-request-context.mjs.map +1 -1
- package/esm/http/middleware/ip-filter.middleware.d.mts +1 -1
- package/esm/http/middleware/ip-filter.middleware.d.mts.map +1 -1
- package/esm/http/middleware/ip-filter.middleware.mjs +1 -1
- package/esm/http/middleware/ip-filter.middleware.mjs.map +1 -1
- package/esm/http/middleware/maintenance.middleware.d.mts +1 -1
- package/esm/http/middleware/maintenance.middleware.d.mts.map +1 -1
- package/esm/http/middleware/maintenance.middleware.mjs +5 -5
- package/esm/http/middleware/maintenance.middleware.mjs.map +1 -1
- package/esm/http/middleware/max-body-size.middleware.d.mts +1 -1
- package/esm/http/middleware/max-body-size.middleware.d.mts.map +1 -1
- package/esm/http/middleware/max-body-size.middleware.mjs +1 -1
- package/esm/http/middleware/max-body-size.middleware.mjs.map +1 -1
- package/esm/http/middleware/middleware-list.d.mts +1 -1
- package/esm/http/middleware/middleware-list.d.mts.map +1 -1
- package/esm/http/middleware/middleware-list.mjs +1 -1
- package/esm/http/middleware/middleware-list.mjs.map +1 -1
- package/esm/http/middleware/rate-limit.middleware.d.mts +1 -1
- package/esm/http/middleware/rate-limit.middleware.d.mts.map +1 -1
- package/esm/http/middleware/rate-limit.middleware.mjs +1 -1
- package/esm/http/middleware/rate-limit.middleware.mjs.map +1 -1
- package/esm/http/middleware/utils/cidr-match.d.mts +1 -1
- package/esm/http/middleware/utils/cidr-match.d.mts.map +1 -1
- package/esm/http/middleware/utils/cidr-match.mjs +1 -1
- package/esm/http/middleware/utils/cidr-match.mjs.map +1 -1
- package/esm/http/middleware/utils/idempotency-key.d.mts +1 -1
- package/esm/http/middleware/utils/idempotency-key.d.mts.map +1 -1
- package/esm/http/middleware/utils/idempotency-key.mjs +1 -1
- package/esm/http/middleware/utils/idempotency-key.mjs.map +1 -1
- package/esm/http/middleware/utils/parse-size.d.mts +1 -1
- package/esm/http/middleware/utils/parse-size.d.mts.map +1 -1
- package/esm/http/middleware/utils/parse-size.mjs +1 -1
- package/esm/http/middleware/utils/parse-size.mjs.map +1 -1
- package/esm/http/plugins.d.mts +1 -1
- package/esm/http/plugins.d.mts.map +1 -1
- package/esm/http/plugins.mjs +10 -10
- package/esm/http/plugins.mjs.map +1 -1
- package/esm/http/request-controller.d.mts +1 -1
- package/esm/http/request-controller.d.mts.map +1 -1
- package/esm/http/request-controller.mjs +1 -1
- package/esm/http/request-controller.mjs.map +1 -1
- package/esm/http/request.d.mts +1 -1
- package/esm/http/request.d.mts.map +1 -1
- package/esm/http/request.mjs +1 -1
- package/esm/http/request.mjs.map +1 -1
- package/esm/http/response.d.mts +4 -4
- package/esm/http/response.d.mts.map +1 -1
- package/esm/http/response.mjs +6 -6
- package/esm/http/response.mjs.map +1 -1
- package/esm/http/server.d.mts +1 -1
- package/esm/http/server.d.mts.map +1 -1
- package/esm/http/server.mjs +3 -3
- package/esm/http/server.mjs.map +1 -1
- package/esm/http/types.d.mts +1 -1
- package/esm/http/types.d.mts.map +1 -1
- package/esm/http/uploaded-file.d.mts +1 -1
- package/esm/http/uploaded-file.d.mts.map +1 -1
- package/esm/http/uploaded-file.mjs +1 -1
- package/esm/http/uploaded-file.mjs.map +1 -1
- package/esm/http/uploads-config.d.mts +1 -1
- package/esm/http/uploads-config.d.mts.map +1 -1
- package/esm/http/uploads-config.mjs +1 -1
- package/esm/http/uploads-config.mjs.map +1 -1
- package/esm/http/uploads-types.d.mts +1 -1
- package/esm/http/uploads-types.d.mts.map +1 -1
- package/esm/image/image.d.mts +1 -1
- package/esm/image/image.d.mts.map +1 -1
- package/esm/image/image.mjs +1 -1
- package/esm/image/image.mjs.map +1 -1
- package/esm/index.d.mts +4 -1
- package/esm/index.mjs +5 -1
- package/esm/logger/logger.d.mts +1 -1
- package/esm/logger/logger.d.mts.map +1 -1
- package/esm/logger/logger.mjs +1 -1
- package/esm/logger/logger.mjs.map +1 -1
- package/esm/logger/types.d.mts +1 -1
- package/esm/logger/types.d.mts.map +1 -1
- package/esm/mail/config.d.mts +1 -1
- package/esm/mail/config.d.mts.map +1 -1
- package/esm/mail/config.mjs +1 -1
- package/esm/mail/config.mjs.map +1 -1
- package/esm/mail/events.d.mts +1 -1
- package/esm/mail/events.d.mts.map +1 -1
- package/esm/mail/events.mjs +1 -1
- package/esm/mail/events.mjs.map +1 -1
- package/esm/mail/mail.d.mts +1 -1
- package/esm/mail/mail.d.mts.map +1 -1
- package/esm/mail/mail.mjs +1 -1
- package/esm/mail/mail.mjs.map +1 -1
- package/esm/mail/mailer-pool.d.mts +1 -1
- package/esm/mail/mailer-pool.d.mts.map +1 -1
- package/esm/mail/mailer-pool.mjs +1 -1
- package/esm/mail/mailer-pool.mjs.map +1 -1
- package/esm/mail/react-mail.d.mts +1 -1
- package/esm/mail/react-mail.d.mts.map +1 -1
- package/esm/mail/react-mail.mjs +1 -1
- package/esm/mail/react-mail.mjs.map +1 -1
- package/esm/mail/send-mail.d.mts +1 -1
- package/esm/mail/send-mail.d.mts.map +1 -1
- package/esm/mail/send-mail.mjs +1 -1
- package/esm/mail/send-mail.mjs.map +1 -1
- package/esm/mail/test-mailbox.d.mts +1 -1
- package/esm/mail/test-mailbox.d.mts.map +1 -1
- package/esm/mail/test-mailbox.mjs +1 -1
- package/esm/mail/test-mailbox.mjs.map +1 -1
- package/esm/mail/types.d.mts +1 -1
- package/esm/mail/types.d.mts.map +1 -1
- package/esm/mail/types.mjs +1 -1
- package/esm/mail/types.mjs.map +1 -1
- package/esm/react/index.d.mts +1 -1
- package/esm/react/index.d.mts.map +1 -1
- package/esm/react/index.mjs +1 -1
- package/esm/react/index.mjs.map +1 -1
- package/esm/repositories/adapters/cascade/cascade-adapter.d.mts +1 -1
- package/esm/repositories/adapters/cascade/cascade-adapter.d.mts.map +1 -1
- package/esm/repositories/adapters/cascade/cascade-adapter.mjs +1 -1
- package/esm/repositories/adapters/cascade/cascade-adapter.mjs.map +1 -1
- package/esm/repositories/adapters/cascade/cascade-query-builder.d.mts +1 -1
- package/esm/repositories/adapters/cascade/cascade-query-builder.d.mts.map +1 -1
- package/esm/repositories/adapters/cascade/cascade-query-builder.mjs +1 -1
- package/esm/repositories/adapters/cascade/cascade-query-builder.mjs.map +1 -1
- package/esm/repositories/adapters/cascade/filter-applicator.mjs +1 -1
- package/esm/repositories/adapters/cascade/filter-applicator.mjs.map +1 -1
- package/esm/repositories/contracts/query-builder.contract.d.mts +1 -1
- package/esm/repositories/contracts/query-builder.contract.d.mts.map +1 -1
- package/esm/repositories/contracts/repository-adapter.contract.d.mts +1 -1
- package/esm/repositories/contracts/repository-adapter.contract.d.mts.map +1 -1
- package/esm/repositories/contracts/types.d.mts +1 -1
- package/esm/repositories/contracts/types.d.mts.map +1 -1
- package/esm/repositories/repository.manager.d.mts +1 -1
- package/esm/repositories/repository.manager.d.mts.map +1 -1
- package/esm/repositories/repository.manager.mjs +1 -1
- package/esm/repositories/repository.manager.mjs.map +1 -1
- package/esm/resource/define-resource.d.mts +1 -1
- package/esm/resource/define-resource.d.mts.map +1 -1
- package/esm/resource/define-resource.mjs +1 -1
- package/esm/resource/define-resource.mjs.map +1 -1
- package/esm/resource/register-resource.d.mts +1 -1
- package/esm/resource/register-resource.d.mts.map +1 -1
- package/esm/resource/register-resource.mjs +1 -1
- package/esm/resource/register-resource.mjs.map +1 -1
- package/esm/resource/resource-field-builder.d.mts +1 -1
- package/esm/resource/resource-field-builder.d.mts.map +1 -1
- package/esm/resource/resource-field-builder.mjs +1 -1
- package/esm/resource/resource-field-builder.mjs.map +1 -1
- package/esm/resource/resource.d.mts +1 -1
- package/esm/resource/resource.d.mts.map +1 -1
- package/esm/resource/resource.mjs +1 -1
- package/esm/resource/resource.mjs.map +1 -1
- package/esm/resource/types.d.mts +1 -1
- package/esm/resource/types.d.mts.map +1 -1
- package/esm/restful/restful.d.mts +1 -1
- package/esm/restful/restful.d.mts.map +1 -1
- package/esm/restful/restful.mjs +1 -1
- package/esm/restful/restful.mjs.map +1 -1
- package/esm/router/route-builder.d.mts +1 -1
- package/esm/router/route-builder.d.mts.map +1 -1
- package/esm/router/route-builder.mjs +1 -1
- package/esm/router/route-builder.mjs.map +1 -1
- package/esm/router/route-registry.mjs +1 -1
- package/esm/router/route-registry.mjs.map +1 -1
- package/esm/router/router.d.mts +1 -1
- package/esm/router/router.d.mts.map +1 -1
- package/esm/router/router.mjs +1 -1
- package/esm/router/router.mjs.map +1 -1
- package/esm/router/types.d.mts +1 -1
- package/esm/router/types.d.mts.map +1 -1
- package/esm/socket/types.d.mts +1 -1
- package/esm/socket/types.d.mts.map +1 -1
- package/esm/socket/utils.d.mts +1 -1
- package/esm/socket/utils.d.mts.map +1 -1
- package/esm/socket/utils.mjs +1 -1
- package/esm/socket/utils.mjs.map +1 -1
- package/esm/storage/config.d.mts +1 -1
- package/esm/storage/config.d.mts.map +1 -1
- package/esm/storage/config.mjs +1 -1
- package/esm/storage/config.mjs.map +1 -1
- package/esm/storage/context/storage-driver-context.d.mts +1 -1
- package/esm/storage/context/storage-driver-context.d.mts.map +1 -1
- package/esm/storage/context/storage-driver-context.mjs +1 -1
- package/esm/storage/context/storage-driver-context.mjs.map +1 -1
- package/esm/storage/drivers/cloud-driver.d.mts +1 -1
- package/esm/storage/drivers/cloud-driver.d.mts.map +1 -1
- package/esm/storage/drivers/cloud-driver.mjs +1 -1
- package/esm/storage/drivers/cloud-driver.mjs.map +1 -1
- package/esm/storage/drivers/do-spaces-driver.d.mts +1 -1
- package/esm/storage/drivers/do-spaces-driver.d.mts.map +1 -1
- package/esm/storage/drivers/do-spaces-driver.mjs +1 -1
- package/esm/storage/drivers/do-spaces-driver.mjs.map +1 -1
- package/esm/storage/drivers/local-driver.d.mts +1 -1
- package/esm/storage/drivers/local-driver.d.mts.map +1 -1
- package/esm/storage/drivers/local-driver.mjs +1 -1
- package/esm/storage/drivers/local-driver.mjs.map +1 -1
- package/esm/storage/drivers/r2-driver.d.mts +1 -1
- package/esm/storage/drivers/r2-driver.d.mts.map +1 -1
- package/esm/storage/drivers/r2-driver.mjs +1 -1
- package/esm/storage/drivers/r2-driver.mjs.map +1 -1
- package/esm/storage/drivers/s3-driver.d.mts +1 -1
- package/esm/storage/drivers/s3-driver.d.mts.map +1 -1
- package/esm/storage/drivers/s3-driver.mjs +1 -1
- package/esm/storage/drivers/s3-driver.mjs.map +1 -1
- package/esm/storage/scoped-storage.d.mts +1 -1
- package/esm/storage/scoped-storage.d.mts.map +1 -1
- package/esm/storage/scoped-storage.mjs +1 -1
- package/esm/storage/scoped-storage.mjs.map +1 -1
- package/esm/storage/storage-file.d.mts +1 -1
- package/esm/storage/storage-file.d.mts.map +1 -1
- package/esm/storage/storage-file.mjs +1 -1
- package/esm/storage/storage-file.mjs.map +1 -1
- package/esm/storage/storage.d.mts +1 -1
- package/esm/storage/storage.d.mts.map +1 -1
- package/esm/storage/storage.mjs +1 -1
- package/esm/storage/storage.mjs.map +1 -1
- package/esm/storage/types.d.mts +1 -1
- package/esm/storage/types.d.mts.map +1 -1
- package/esm/storage/utils/mime.d.mts +1 -1
- package/esm/storage/utils/mime.d.mts.map +1 -1
- package/esm/storage/utils/mime.mjs +1 -1
- package/esm/storage/utils/mime.mjs.map +1 -1
- package/esm/tests/start-http-development-server.d.mts +1 -1
- package/esm/tests/start-http-development-server.d.mts.map +1 -1
- package/esm/tests/start-http-development-server.mjs +4 -2
- package/esm/tests/start-http-development-server.mjs.map +1 -1
- package/esm/tests/test-helpers.d.mts +1 -1
- package/esm/tests/test-helpers.d.mts.map +1 -1
- package/esm/tests/test-helpers.mjs +1 -1
- package/esm/tests/test-helpers.mjs.map +1 -1
- package/esm/tests/vitest-setup.d.mts +1 -1
- package/esm/tests/vitest-setup.d.mts.map +1 -1
- package/esm/tests/vitest-setup.mjs +1 -1
- package/esm/tests/vitest-setup.mjs.map +1 -1
- package/esm/use-cases/types.d.mts +1 -1
- package/esm/use-cases/types.d.mts.map +1 -1
- package/esm/use-cases/use-case-broadcast.d.mts +1 -1
- package/esm/use-cases/use-case-broadcast.d.mts.map +1 -1
- package/esm/use-cases/use-case-broadcast.mjs +1 -1
- package/esm/use-cases/use-case-broadcast.mjs.map +1 -1
- package/esm/use-cases/use-case-events.d.mts +1 -1
- package/esm/use-cases/use-case-events.d.mts.map +1 -1
- package/esm/use-cases/use-case-events.mjs +1 -1
- package/esm/use-cases/use-case-events.mjs.map +1 -1
- package/esm/use-cases/use-case-pipeline.d.mts +1 -1
- package/esm/use-cases/use-case-pipeline.d.mts.map +1 -1
- package/esm/use-cases/use-case-pipeline.mjs +1 -1
- package/esm/use-cases/use-case-pipeline.mjs.map +1 -1
- package/esm/use-cases/use-case.d.mts +1 -1
- package/esm/use-cases/use-case.d.mts.map +1 -1
- package/esm/use-cases/use-case.errors.d.mts +1 -1
- package/esm/use-cases/use-case.errors.d.mts.map +1 -1
- package/esm/use-cases/use-case.errors.mjs +1 -1
- package/esm/use-cases/use-case.errors.mjs.map +1 -1
- package/esm/use-cases/use-case.mjs +1 -1
- package/esm/use-cases/use-case.mjs.map +1 -1
- package/esm/use-cases/use-cases-registry.d.mts +1 -1
- package/esm/use-cases/use-cases-registry.d.mts.map +1 -1
- package/esm/use-cases/use-cases-registry.mjs +1 -1
- package/esm/use-cases/use-cases-registry.mjs.map +1 -1
- package/esm/utils/app-log.d.mts +1 -1
- package/esm/utils/app-log.d.mts.map +1 -1
- package/esm/utils/app-log.mjs +1 -1
- package/esm/utils/app-log.mjs.map +1 -1
- package/esm/utils/database-log.d.mts +1 -1
- package/esm/utils/database-log.d.mts.map +1 -1
- package/esm/utils/database-log.mjs +1 -1
- package/esm/utils/database-log.mjs.map +1 -1
- package/esm/utils/environment.d.mts +1 -1
- package/esm/utils/environment.d.mts.map +1 -1
- package/esm/utils/environment.mjs +1 -1
- package/esm/utils/environment.mjs.map +1 -1
- package/esm/utils/framework-vesion.mjs +2 -11
- package/esm/utils/framework-vesion.mjs.map +1 -1
- package/esm/utils/get-localized.d.mts +1 -1
- package/esm/utils/get-localized.d.mts.map +1 -1
- package/esm/utils/get-localized.mjs +1 -1
- package/esm/utils/get-localized.mjs.map +1 -1
- package/esm/utils/paths.d.mts +1 -1
- package/esm/utils/paths.d.mts.map +1 -1
- package/esm/utils/paths.mjs +3 -3
- package/esm/utils/paths.mjs.map +1 -1
- package/esm/utils/promise-all-object.d.mts +1 -1
- package/esm/utils/promise-all-object.d.mts.map +1 -1
- package/esm/utils/promise-all-object.mjs +1 -1
- package/esm/utils/promise-all-object.mjs.map +1 -1
- package/esm/utils/queue.d.mts +1 -1
- package/esm/utils/queue.d.mts.map +1 -1
- package/esm/utils/queue.mjs +1 -1
- package/esm/utils/queue.mjs.map +1 -1
- package/esm/utils/sleep.d.mts +1 -1
- package/esm/utils/sleep.d.mts.map +1 -1
- package/esm/utils/sleep.mjs +1 -1
- package/esm/utils/sleep.mjs.map +1 -1
- package/esm/utils/sluggable.d.mts +1 -1
- package/esm/utils/sluggable.d.mts.map +1 -1
- package/esm/utils/sluggable.mjs +1 -1
- package/esm/utils/sluggable.mjs.map +1 -1
- package/esm/utils/to-json.d.mts +1 -1
- package/esm/utils/to-json.d.mts.map +1 -1
- package/esm/utils/to-json.mjs +1 -1
- package/esm/utils/to-json.mjs.map +1 -1
- package/esm/utils/types.d.mts +1 -1
- package/esm/utils/types.d.mts.map +1 -1
- package/esm/utils/urls.d.mts +1 -1
- package/esm/utils/urls.d.mts.map +1 -1
- package/esm/utils/urls.mjs +1 -1
- package/esm/utils/urls.mjs.map +1 -1
- package/esm/validation/database/exists-except-current-id.d.mts +1 -1
- package/esm/validation/database/exists-except-current-id.d.mts.map +1 -1
- package/esm/validation/database/exists-except-current-id.mjs +1 -1
- package/esm/validation/database/exists-except-current-id.mjs.map +1 -1
- package/esm/validation/database/exists-except-current-user.d.mts +1 -1
- package/esm/validation/database/exists-except-current-user.d.mts.map +1 -1
- package/esm/validation/database/exists-except-current-user.mjs +1 -1
- package/esm/validation/database/exists-except-current-user.mjs.map +1 -1
- package/esm/validation/database/types.d.mts +1 -1
- package/esm/validation/database/types.d.mts.map +1 -1
- package/esm/validation/database/unique-except-current-id.d.mts +1 -1
- package/esm/validation/database/unique-except-current-id.d.mts.map +1 -1
- package/esm/validation/database/unique-except-current-id.mjs +1 -1
- package/esm/validation/database/unique-except-current-id.mjs.map +1 -1
- package/esm/validation/database/unique-except-current-user.d.mts +1 -1
- package/esm/validation/database/unique-except-current-user.d.mts.map +1 -1
- package/esm/validation/database/unique-except-current-user.mjs +1 -1
- package/esm/validation/database/unique-except-current-user.mjs.map +1 -1
- package/esm/validation/file/file.d.mts +1 -1
- package/esm/validation/file/file.d.mts.map +1 -1
- package/esm/validation/file/file.mjs +1 -1
- package/esm/validation/file/file.mjs.map +1 -1
- package/esm/validation/init.mjs +1 -1
- package/esm/validation/init.mjs.map +1 -1
- package/esm/validation/plugins/database-plugin.mjs +1 -1
- package/esm/validation/plugins/database-plugin.mjs.map +1 -1
- package/esm/validation/plugins/file-plugin.mjs +1 -1
- package/esm/validation/plugins/file-plugin.mjs.map +1 -1
- package/esm/validation/plugins/localized-plugin.mjs +1 -1
- package/esm/validation/plugins/localized-plugin.mjs.map +1 -1
- package/esm/validation/types.d.mts +1 -1
- package/esm/validation/types.d.mts.map +1 -1
- package/esm/validation/validateAll.mjs +3 -3
- package/esm/validation/validateAll.mjs.map +1 -1
- package/esm/validation/validators/file-validator.d.mts +1 -1
- package/esm/validation/validators/file-validator.d.mts.map +1 -1
- package/esm/validation/validators/file-validator.mjs +1 -1
- package/esm/validation/validators/file-validator.mjs.map +1 -1
- package/esm/vite/index.mjs +3 -0
- package/esm/vite/lower-stage3-decorators.d.mts +53 -0
- package/esm/vite/lower-stage3-decorators.d.mts.map +1 -0
- package/esm/vite/lower-stage3-decorators.mjs +63 -0
- package/esm/vite/lower-stage3-decorators.mjs.map +1 -0
- package/esm/warlock-config/default-configurations.mjs +1 -1
- package/esm/warlock-config/default-configurations.mjs.map +1 -1
- package/esm/warlock-config/define-config.d.mts +1 -1
- package/esm/warlock-config/define-config.d.mts.map +1 -1
- package/esm/warlock-config/define-config.mjs +1 -1
- package/esm/warlock-config/define-config.mjs.map +1 -1
- package/esm/warlock-config/types.d.mts +1 -1
- package/esm/warlock-config/types.d.mts.map +1 -1
- package/esm/warlock-config/warlock-config.manager.d.mts +1 -1
- package/esm/warlock-config/warlock-config.manager.d.mts.map +1 -1
- package/esm/warlock-config/warlock-config.manager.mjs +1 -1
- package/esm/warlock-config/warlock-config.manager.mjs.map +1 -1
- package/llms-full.txt +64 -4
- package/llms.txt +1 -0
- package/package.json +9 -33
- package/skills/lower-stage3-decorators/SKILL.md +54 -0
- package/skills/test-http/SKILL.md +3 -2
- package/skills/test-service/SKILL.md +3 -2
- package/bin/warlock.js +0 -3
- package/esm/_virtual/_rolldown/runtime.mjs +0 -7
- package/esm/cli/cli-commands.manager.mjs +0 -290
- package/esm/cli/cli-commands.manager.mjs.map +0 -1
- package/esm/cli/cli-commands.utils.mjs +0 -217
- package/esm/cli/cli-commands.utils.mjs.map +0 -1
- package/esm/cli/commands/add.command.mjs +0 -27
- package/esm/cli/commands/add.command.mjs.map +0 -1
- package/esm/cli/commands/build.command.mjs +0 -14
- package/esm/cli/commands/build.command.mjs.map +0 -1
- package/esm/cli/commands/create-database.command.mjs +0 -24
- package/esm/cli/commands/create-database.command.mjs.map +0 -1
- package/esm/cli/commands/dev-server.command.mjs +0 -48
- package/esm/cli/commands/dev-server.command.mjs.map +0 -1
- package/esm/cli/commands/drop-tables.command.mjs +0 -23
- package/esm/cli/commands/drop-tables.command.mjs.map +0 -1
- package/esm/cli/commands/generate/generate.command.mjs +0 -201
- package/esm/cli/commands/generate/generate.command.mjs.map +0 -1
- package/esm/cli/commands/generate/generators/column-dsl-parser.mjs +0 -49
- package/esm/cli/commands/generate/generators/column-dsl-parser.mjs.map +0 -1
- package/esm/cli/commands/generate/generators/controller.generator.mjs +0 -48
- package/esm/cli/commands/generate/generators/controller.generator.mjs.map +0 -1
- package/esm/cli/commands/generate/generators/migration.generator.mjs +0 -81
- package/esm/cli/commands/generate/generators/migration.generator.mjs.map +0 -1
- package/esm/cli/commands/generate/generators/model.generator.mjs +0 -60
- package/esm/cli/commands/generate/generators/model.generator.mjs.map +0 -1
- package/esm/cli/commands/generate/generators/module.generator.mjs +0 -113
- package/esm/cli/commands/generate/generators/module.generator.mjs.map +0 -1
- package/esm/cli/commands/generate/generators/repository.generator.mjs +0 -42
- package/esm/cli/commands/generate/generators/repository.generator.mjs.map +0 -1
- package/esm/cli/commands/generate/generators/resource.generator.mjs +0 -42
- package/esm/cli/commands/generate/generators/resource.generator.mjs.map +0 -1
- package/esm/cli/commands/generate/generators/service.generator.mjs +0 -42
- package/esm/cli/commands/generate/generators/service.generator.mjs.map +0 -1
- package/esm/cli/commands/generate/templates/stubs.mjs +0 -514
- package/esm/cli/commands/generate/templates/stubs.mjs.map +0 -1
- package/esm/cli/commands/generate/utils/name-parser.mjs +0 -69
- package/esm/cli/commands/generate/utils/name-parser.mjs.map +0 -1
- package/esm/cli/commands/generate/utils/path-resolver.mjs +0 -56
- package/esm/cli/commands/generate/utils/path-resolver.mjs.map +0 -1
- package/esm/cli/commands/generate/utils/prompt.mjs +0 -28
- package/esm/cli/commands/generate/utils/prompt.mjs.map +0 -1
- package/esm/cli/commands/generate/utils/writer.mjs +0 -60
- package/esm/cli/commands/generate/utils/writer.mjs.map +0 -1
- package/esm/cli/commands/migrate.command.mjs +0 -60
- package/esm/cli/commands/migrate.command.mjs.map +0 -1
- package/esm/cli/commands/seed.command.mjs +0 -41
- package/esm/cli/commands/seed.command.mjs.map +0 -1
- package/esm/cli/commands/start-production.command.mjs +0 -50
- package/esm/cli/commands/start-production.command.mjs.map +0 -1
- package/esm/cli/commands/storage-put.action.mjs +0 -75
- package/esm/cli/commands/storage-put.action.mjs.map +0 -1
- package/esm/cli/commands/storage-put.command.mjs +0 -46
- package/esm/cli/commands/storage-put.command.mjs.map +0 -1
- package/esm/cli/commands/typings-generator.command.mjs +0 -38
- package/esm/cli/commands/typings-generator.command.mjs.map +0 -1
- package/esm/cli/commands-loader.mjs +0 -50
- package/esm/cli/commands-loader.mjs.map +0 -1
- package/esm/cli/framework-cli-commands.mjs +0 -37
- package/esm/cli/framework-cli-commands.mjs.map +0 -1
- package/esm/cli/parse-cli-args.mjs +0 -62
- package/esm/cli/parse-cli-args.mjs.map +0 -1
- package/esm/cli/start.d.mts +0 -1
- package/esm/cli/start.mjs +0 -8
- package/esm/cli/start.mjs.map +0 -1
- package/esm/cli/string-similarity.mjs +0 -56
- package/esm/cli/string-similarity.mjs.map +0 -1
- package/esm/database/create-database-action.mjs +0 -32
- package/esm/database/create-database-action.mjs.map +0 -1
- package/esm/database/drop-tables-action.mjs +0 -35
- package/esm/database/drop-tables-action.mjs.map +0 -1
- package/esm/database/migrate-action.mjs +0 -99
- package/esm/database/migrate-action.mjs.map +0 -1
- package/esm/database/seed-command-action.mjs +0 -74
- package/esm/database/seed-command-action.mjs.map +0 -1
- package/esm/database/seeds/seeders.manager.mjs +0 -129
- package/esm/database/seeds/seeders.manager.mjs.map +0 -1
- package/esm/database/seeds/seeds-table-migration.mjs +0 -31
- package/esm/database/seeds/seeds-table-migration.mjs.map +0 -1
- package/esm/database/seeds/utils.mjs +0 -6
- package/esm/database/seeds/utils.mjs.map +0 -1
- package/esm/dev-server/development-server.mjs +0 -115
- package/esm/dev-server/development-server.mjs.map +0 -1
- package/esm/dev-server/health-checker/workers/eslint-health.worker.d.mts +0 -1
- package/esm/dev-server/health-checker/workers/ts-health.worker.d.mts +0 -1
- package/esm/dev-server/layer-executor.mjs +0 -114
- package/esm/dev-server/layer-executor.mjs.map +0 -1
- package/esm/dev-server/loader/hook-thread.d.mts +0 -48
- package/esm/dev-server/loader/hook-thread.d.mts.map +0 -1
- package/esm/dev-server/loader/hook-thread.mjs +0 -47
- package/esm/dev-server/loader/hook-thread.mjs.map +0 -1
- package/esm/dev-server/loader/load-hook.d.mts +0 -58
- package/esm/dev-server/loader/load-hook.d.mts.map +0 -1
- package/esm/dev-server/loader/load-hook.mjs +0 -86
- package/esm/dev-server/loader/load-hook.mjs.map +0 -1
- package/esm/dev-server/loader/own-resolver.mjs +0 -69
- package/esm/dev-server/loader/own-resolver.mjs.map +0 -1
- package/esm/dev-server/loader/resolve-capture.mjs +0 -43
- package/esm/dev-server/loader/resolve-capture.mjs.map +0 -1
- package/esm/dev-server/loader/resolve-hook.d.mts +0 -41
- package/esm/dev-server/loader/resolve-hook.d.mts.map +0 -1
- package/esm/dev-server/loader/resolve-hook.mjs +0 -87
- package/esm/dev-server/loader/resolve-hook.mjs.map +0 -1
- package/esm/dev-server/loader/source-slug.mjs +0 -22
- package/esm/dev-server/loader/source-slug.mjs.map +0 -1
- package/esm/dev-server/loader/version-registry.mjs +0 -45
- package/esm/dev-server/loader/version-registry.mjs.map +0 -1
- package/esm/dev-server/start-development-server.mjs +0 -63
- package/esm/dev-server/start-development-server.mjs.map +0 -1
- package/esm/dev-server/type-generator.mjs +0 -453
- package/esm/dev-server/type-generator.mjs.map +0 -1
- package/esm/generations/add-command.action.mjs +0 -376
- package/esm/generations/add-command.action.mjs.map +0 -1
- package/esm/generations/stubs.mjs +0 -103
- package/esm/generations/stubs.mjs.map +0 -1
- package/esm/manifest/manifest-manager.mjs +0 -79
- package/esm/manifest/manifest-manager.mjs.map +0 -1
- package/esm/production/build-app-production.mjs +0 -14
- package/esm/production/build-app-production.mjs.map +0 -1
- package/esm/production/esbuild-plugins.mjs +0 -37
- package/esm/production/esbuild-plugins.mjs.map +0 -1
- package/esm/production/production-builder.mjs +0 -264
- package/esm/production/production-builder.mjs.map +0 -1
- package/esm/production/resolve-build-config.mjs +0 -28
- package/esm/production/resolve-build-config.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mime.mjs","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"mime.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/storage/utils/mime.ts"],"sourcesContent":["/**\n * MIME type utilities\n *\n * This module wraps the mime package to avoid type conflicts\n * with @types/send which has its own @types/mime dependency.\n */\nimport mime from \"mime\";\n\n/**\n * Get MIME type from file path or extension\n *\n * @param path - File path or extension\n * @returns MIME type or \"application/octet-stream\" if unknown\n */\nexport function getMimeType(path: string): string {\n return mime.getType(path) || \"application/octet-stream\";\n}\n\n/**\n * Common MIME type constants\n */\nexport const MimeTypes = {\n // Images\n jpeg: \"image/jpeg\",\n png: \"image/png\",\n gif: \"image/gif\",\n webp: \"image/webp\",\n svg: \"image/svg+xml\",\n ico: \"image/x-icon\",\n\n // Documents\n pdf: \"application/pdf\",\n txt: \"text/plain\",\n html: \"text/html\",\n css: \"text/css\",\n js: \"application/javascript\",\n json: \"application/json\",\n xml: \"application/xml\",\n\n // Archives\n zip: \"application/zip\",\n gzip: \"application/gzip\",\n\n // Media\n mp3: \"audio/mpeg\",\n mp4: \"video/mp4\",\n webm: \"video/webm\",\n ogg: \"audio/ogg\",\n\n // Binary\n binary: \"application/octet-stream\",\n} as const;\n"],"mappings":";;;;;;;;;;;;;;;AAcA,SAAgB,YAAY,MAAsB;CAChD,OAAO,KAAK,QAAQ,IAAI,KAAK;AAC/B;;;;AAKA,MAAa,YAAY;CAEvB,MAAM;CACN,KAAK;CACL,KAAK;CACL,MAAM;CACN,KAAK;CACL,KAAK;CAGL,KAAK;CACL,KAAK;CACL,MAAM;CACN,KAAK;CACL,IAAI;CACJ,MAAM;CACN,KAAK;CAGL,KAAK;CACL,MAAM;CAGN,KAAK;CACL,KAAK;CACL,MAAM;CACN,KAAK;CAGL,QAAQ;AACV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-http-development-server.d.mts","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"start-http-development-server.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/tests/start-http-development-server.ts"],"mappings":";;AAyBA;;;iBAAsB,mBAAA,IAAuB,OAAO;AAAA;AAgDpD;;;AAhDoD,iBAgD9B,kBAAA,IAAsB,OAAO;AAAA;AAmBnD;;AAnBmD,iBAmBnC,mBAAA"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { Application } from "../application/application.mjs";
|
|
2
2
|
import "../application/index.mjs";
|
|
3
3
|
import { bootstrap } from "../bootstrap.mjs";
|
|
4
|
+
import { ConnectorLifecyclePhase } from "../connectors/types.mjs";
|
|
4
5
|
import { connectorsManager } from "../connectors/connectors-manager.mjs";
|
|
5
6
|
import { warlockConfigManager } from "../warlock-config/warlock-config.manager.mjs";
|
|
6
7
|
import { filesOrchestrator } from "../dev-server/files-orchestrator.mjs";
|
|
7
8
|
import { loadConfigFiles } from "../config/load-config-files.mjs";
|
|
8
9
|
|
|
9
|
-
//#region
|
|
10
|
+
//#region ../@warlock.js/core/src/tests/start-http-development-server.ts
|
|
10
11
|
/**
|
|
11
12
|
* HTTP Test Server
|
|
12
13
|
*
|
|
@@ -37,8 +38,9 @@ async function startHttpTestServer() {
|
|
|
37
38
|
await filesOrchestrator.init();
|
|
38
39
|
await filesOrchestrator.initializeAll();
|
|
39
40
|
await loadConfigFiles(true);
|
|
41
|
+
await connectorsManager.startPhase("early");
|
|
40
42
|
await filesOrchestrator.moduleLoader.loadAll();
|
|
41
|
-
await connectorsManager.
|
|
43
|
+
await connectorsManager.startPhase("late");
|
|
42
44
|
isServerRunning = true;
|
|
43
45
|
} catch (error) {
|
|
44
46
|
throw error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-http-development-server.mjs","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"start-http-development-server.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/tests/start-http-development-server.ts"],"sourcesContent":["/**\r\n * HTTP Test Server\r\n *\r\n * Starts a minimal HTTP server for testing.\r\n * Unlike the full DevelopmentServer, this:\r\n * - Does NOT watch files\r\n * - Does NOT do HMR\r\n * - Only starts connectors needed for HTTP requests\r\n *\r\n * Used in Vitest's globalSetup to start server once for all test workers.\r\n */\r\nimport { Application } from \"../application\";\r\nimport { bootstrap } from \"../bootstrap\";\r\nimport { loadConfigFiles } from \"../config/load-config-files\";\r\nimport { connectorsManager } from \"../connectors/connectors-manager\";\r\nimport { ConnectorLifecyclePhase } from \"../connectors/types\";\r\nimport { filesOrchestrator } from \"../dev-server/files-orchestrator\";\r\nimport { warlockConfigManager } from \"../warlock-config/warlock-config.manager\";\r\n\r\nlet isServerRunning = false;\r\n\r\n/**\r\n * Start the HTTP test server (minimal - no file watching)\r\n * Call this in Vitest's globalSetup\r\n */\r\nexport async function startHttpTestServer(): Promise<void> {\r\n if (isServerRunning) {\r\n console.log(\"[test-server] Server already running, skipping start\");\r\n return;\r\n }\r\n\r\n console.log(\"[test-server] Starting HTTP test server...\");\r\n\r\n try {\r\n // Set environment\r\n Application.setRuntimeStrategy(\"development\");\r\n Application.setEnvironment(\"test\");\r\n\r\n // Bootstrap (env, etc.)\r\n await warlockConfigManager.load();\r\n await bootstrap();\r\n\r\n // Initialize file orchestrator (but don't watch)\r\n await filesOrchestrator.init();\r\n await filesOrchestrator.initializeAll();\r\n\r\n // Load config files\r\n await loadConfigFiles(true);\r\n\r\n // Early-phase connectors (database, cache, logger, storage, mailer,\r\n // herald) must start BEFORE app modules load: a module's `main.ts` boot\r\n // side-effect can query the DB at import time, so the data source has to\r\n // be registered first. This mirrors the dev/prod boot order (see\r\n // `cli-commands.manager`, `production-builder`, and `DevelopmentServer`).\r\n await connectorsManager.startPhase(ConnectorLifecyclePhase.Early);\r\n\r\n // Load application modules (their boot side-effects now see a live DB).\r\n await filesOrchestrator.moduleLoader.loadAll();\r\n\r\n // Late-phase connectors (http, socket) bind after app code has\r\n // registered its routes and listeners.\r\n await connectorsManager.startPhase(ConnectorLifecyclePhase.Late);\r\n\r\n isServerRunning = true;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * Stop the HTTP test server\r\n * Call this in Vitest's globalTeardown\r\n */\r\nexport async function stopHttpTestServer(): Promise<void> {\r\n if (!isServerRunning) {\r\n console.log(\"[test-server] No server to stop\");\r\n return;\r\n }\r\n\r\n try {\r\n await connectorsManager.shutdown();\r\n isServerRunning = false;\r\n console.log(\"[test-server] HTTP test server stopped\");\r\n } catch (error) {\r\n console.error(\"[test-server] Error stopping HTTP server:\", error);\r\n throw error;\r\n }\r\n}\r\n\r\n/**\r\n * Check if test server is running\r\n */\r\nexport function isTestServerRunning(): boolean {\r\n return isServerRunning;\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAmBA,IAAI,kBAAkB;;;;;AAMtB,eAAsB,sBAAqC;CACzD,IAAI,iBAAiB;EACnB,QAAQ,IAAI,sDAAsD;EAClE;CACF;CAEA,QAAQ,IAAI,4CAA4C;CAExD,IAAI;EAEF,YAAY,mBAAmB,aAAa;EAC5C,YAAY,eAAe,MAAM;EAGjC,MAAM,qBAAqB,KAAK;EAChC,MAAM,UAAU;EAGhB,MAAM,kBAAkB,KAAK;EAC7B,MAAM,kBAAkB,cAAc;EAGtC,MAAM,gBAAgB,IAAI;EAO1B,MAAM,kBAAkB,kBAAwC;EAGhE,MAAM,kBAAkB,aAAa,QAAQ;EAI7C,MAAM,kBAAkB,iBAAuC;EAE/D,kBAAkB;CACpB,SAAS,OAAO;EACd,MAAM;CACR;AACF;;;;;AAMA,eAAsB,qBAAoC;CACxD,IAAI,CAAC,iBAAiB;EACpB,QAAQ,IAAI,iCAAiC;EAC7C;CACF;CAEA,IAAI;EACF,MAAM,kBAAkB,SAAS;EACjC,kBAAkB;EAClB,QAAQ,IAAI,wCAAwC;CACtD,SAAS,OAAO;EACd,QAAQ,MAAM,6CAA6C,KAAK;EAChE,MAAM;CACR;AACF;;;;AAKA,SAAgB,sBAA+B;CAC7C,OAAO;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-helpers.d.mts","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"test-helpers.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/tests/test-helpers.ts"],"mappings":";;AAWA;;;;AAAgC;AAUhC;;AAVgC,iBAAhB,gBAAA;;;;;iBAUM,WAAA,CAAY,IAAA,UAAc,OAAA,GAAS,WAAA,GAAmB,OAAA,CAAQ,QAAA;;;;iBAgB9D,OAAA,CAAQ,IAAA,UAAc,OAAA,GAAS,WAAA,GAAmB,OAAA,CAAQ,QAAA;;;AAhBY;iBAuBtE,QAAA,CACpB,IAAA,UACA,IAAA,YACA,OAAA,GAAS,WAAA,GACR,OAAA,CAAQ,QAAA;;;;iBAWW,OAAA,CACpB,IAAA,UACA,IAAA,YACA,OAAA,GAAS,WAAA,GACR,OAAA,CAAQ,QAAA;;;;iBAWW,UAAA,CAAW,IAAA,UAAc,OAAA,GAAS,WAAA,GAAmB,OAAA,CAAQ,QAAA;;;;iBAO7D,SAAA,CACpB,IAAA,UACA,IAAA,YACA,OAAA,GAAS,WAAA,GACR,OAAA,CAAQ,QAAA;;AAhD6E;AAOxF;iBAoDsB,iBAAA,IAAqB,QAAA,EAAU,QAAA,GAAW,OAAA,CAAQ,CAAA;;;;iBAOlD,UAAA,IAAc,QAAA,EAAU,QAAA,EAAU,cAAA,YAAuB,OAAA,CAAQ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-helpers.mjs","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"test-helpers.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/tests/test-helpers.ts"],"sourcesContent":["/**\n * Warlock.js Test Helpers\n *\n * Utilities for testing Warlock.js applications.\n */\n\nimport { config } from \"../config\";\n\n/**\n * Get the test server base URL\n */\nexport function getTestServerUrl(): string {\n const port = config.key(\"http.port\", 2031);\n const host = config.key(\"http.host\", \"localhost\");\n return `http://${host}:${port}`;\n}\n\n/**\n * Simple HTTP request helper for test server\n * Uses native fetch - lightweight, no extra dependencies\n */\nexport async function testRequest(path: string, options: RequestInit = {}): Promise<Response> {\n const baseUrl = getTestServerUrl();\n const url = path.startsWith(\"/\") ? `${baseUrl}${path}` : `${baseUrl}/${path}`;\n\n return fetch(url, {\n ...options,\n headers: {\n \"Content-Type\": \"application/json\",\n ...options.headers,\n },\n });\n}\n\n/**\n * GET request helper\n */\nexport async function testGet(path: string, options: RequestInit = {}): Promise<Response> {\n return testRequest(path, { ...options, method: \"GET\" });\n}\n\n/**\n * POST request helper\n */\nexport async function testPost(\n path: string,\n body?: unknown,\n options: RequestInit = {},\n): Promise<Response> {\n return testRequest(path, {\n ...options,\n method: \"POST\",\n body: body ? JSON.stringify(body) : undefined,\n });\n}\n\n/**\n * PUT request helper\n */\nexport async function testPut(\n path: string,\n body?: unknown,\n options: RequestInit = {},\n): Promise<Response> {\n return testRequest(path, {\n ...options,\n method: \"PUT\",\n body: body ? JSON.stringify(body) : undefined,\n });\n}\n\n/**\n * DELETE request helper\n */\nexport async function testDelete(path: string, options: RequestInit = {}): Promise<Response> {\n return testRequest(path, { ...options, method: \"DELETE\" });\n}\n\n/**\n * PATCH request helper\n */\nexport async function testPatch(\n path: string,\n body?: unknown,\n options: RequestInit = {},\n): Promise<Response> {\n return testRequest(path, {\n ...options,\n method: \"PATCH\",\n body: body ? JSON.stringify(body) : undefined,\n });\n}\n\n/**\n * Parse JSON response with type safety\n */\nexport async function parseJsonResponse<T>(response: Response): Promise<T> {\n return response.json() as Promise<T>;\n}\n\n/**\n * Assert response status and return parsed JSON\n */\nexport async function expectJson<T>(response: Response, expectedStatus = 200): Promise<T> {\n if (response.status !== expectedStatus) {\n const text = await response.text();\n throw new Error(`Expected status ${expectedStatus}, got ${response.status}. Body: ${text}`);\n }\n return parseJsonResponse<T>(response);\n}\n"],"mappings":";;;;;;;;;;;;AAWA,SAAgB,mBAA2B;CACzC,MAAM,OAAO,OAAO,IAAI,aAAa,IAAI;CAEzC,OAAO,UADM,OAAO,IAAI,aAAa,WACjB,EAAE,GAAG;AAC3B;;;;;AAMA,eAAsB,YAAY,MAAc,UAAuB,CAAC,GAAsB;CAC5F,MAAM,UAAU,iBAAiB;CACjC,MAAM,MAAM,KAAK,WAAW,GAAG,IAAI,GAAG,UAAU,SAAS,GAAG,QAAQ,GAAG;CAEvE,OAAO,MAAM,KAAK;EAChB,GAAG;EACH,SAAS;GACP,gBAAgB;GAChB,GAAG,QAAQ;EACb;CACF,CAAC;AACH;;;;AAKA,eAAsB,QAAQ,MAAc,UAAuB,CAAC,GAAsB;CACxF,OAAO,YAAY,MAAM;EAAE,GAAG;EAAS,QAAQ;CAAM,CAAC;AACxD;;;;AAKA,eAAsB,SACpB,MACA,MACA,UAAuB,CAAC,GACL;CACnB,OAAO,YAAY,MAAM;EACvB,GAAG;EACH,QAAQ;EACR,MAAM,OAAO,KAAK,UAAU,IAAI,IAAI;CACtC,CAAC;AACH;;;;AAKA,eAAsB,QACpB,MACA,MACA,UAAuB,CAAC,GACL;CACnB,OAAO,YAAY,MAAM;EACvB,GAAG;EACH,QAAQ;EACR,MAAM,OAAO,KAAK,UAAU,IAAI,IAAI;CACtC,CAAC;AACH;;;;AAKA,eAAsB,WAAW,MAAc,UAAuB,CAAC,GAAsB;CAC3F,OAAO,YAAY,MAAM;EAAE,GAAG;EAAS,QAAQ;CAAS,CAAC;AAC3D;;;;AAKA,eAAsB,UACpB,MACA,MACA,UAAuB,CAAC,GACL;CACnB,OAAO,YAAY,MAAM;EACvB,GAAG;EACH,QAAQ;EACR,MAAM,OAAO,KAAK,UAAU,IAAI,IAAI;CACtC,CAAC;AACH;;;;AAKA,eAAsB,kBAAqB,UAAgC;CACzE,OAAO,SAAS,KAAK;AACvB;;;;AAKA,eAAsB,WAAc,UAAoB,iBAAiB,KAAiB;CACxF,IAAI,SAAS,WAAW,gBAAgB;EACtC,MAAM,OAAO,MAAM,SAAS,KAAK;EACjC,MAAM,IAAI,MAAM,mBAAmB,eAAe,QAAQ,SAAS,OAAO,UAAU,MAAM;CAC5F;CACA,OAAO,kBAAqB,QAAQ;AACtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest-setup.d.mts","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"vitest-setup.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/tests/vitest-setup.ts"],"mappings":";;KAmBK,SAAA;EACH,UAAA,aAAuB,aAAa;AAAA;AAR2B;;;AAAA,iBAc3C,SAAA;EAAY;AAAA,GAAqB,SAAA,GAAS,OAAA"}
|
|
@@ -8,7 +8,7 @@ import { warlockConfigManager } from "../warlock-config/warlock-config.manager.m
|
|
|
8
8
|
import { filesOrchestrator } from "../dev-server/files-orchestrator.mjs";
|
|
9
9
|
import { loadConfigFiles } from "../config/load-config-files.mjs";
|
|
10
10
|
|
|
11
|
-
//#region
|
|
11
|
+
//#region ../@warlock.js/core/src/tests/vitest-setup.ts
|
|
12
12
|
let isSetupComplete = false;
|
|
13
13
|
/**
|
|
14
14
|
* Setup function that runs once per worker thread
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest-setup.mjs","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"vitest-setup.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/tests/vitest-setup.ts"],"sourcesContent":["/**\n * Vitest Setup File\n *\n * This file runs in each Vitest worker thread before tests execute.\n * It bootstraps the framework and starts necessary connectors so tests\n * have access to database connections and other shared resources.\n */\nimport { GenericObject } from \"@mongez/reinforcements\";\nimport { Application } from \"../application/application\";\nimport { bootstrap } from \"../bootstrap\";\nimport { config } from \"../config\";\nimport { loadConfigFiles } from \"../config/load-config-files\";\nimport { ConnectorName, connectorsManager } from \"../connectors\";\nimport { filesOrchestrator } from \"../dev-server/files-orchestrator\";\nimport { warlockConfigManager } from \"../warlock-config/warlock-config.manager\";\n\n// Global flag to prevent duplicate setup within the same worker\nlet isSetupComplete = false;\n\ntype TestSetup = {\n connectors?: boolean | ConnectorName[];\n};\n\n/**\n * Setup function that runs once per worker thread\n */\nexport async function setupTest({ connectors = true }: TestSetup) {\n // Skip if already set up in this worker\n if (isSetupComplete) {\n return;\n }\n\n try {\n // 1. Set environment to test\n Application.setEnvironment(\"test\");\n\n await warlockConfigManager.load();\n await bootstrap();\n\n await filesOrchestrator.init();\n await loadConfigFiles(true);\n\n // 2. Load test configuration\n const testConfig = config.get<GenericObject>(\"tests\");\n\n // 3. Start connectors (database, cache, etc.)\n const connectorsToStart = testConfig.connectors || connectors;\n\n // force not starting http since it will be used globally over all\n // tests files\n if (Array.isArray(connectorsToStart)) {\n await connectorsManager.start(connectorsToStart);\n } else {\n await connectorsManager.startWithout([\"http\"]);\n }\n\n isSetupComplete = true;\n } catch (error) {\n console.error(\"[vitest-setup] Failed to setup test environment:\", error);\n throw error;\n }\n}\n"],"mappings":";;;;;;;;;;;AAiBA,IAAI,kBAAkB;;;;AAStB,eAAsB,UAAU,EAAE,aAAa,QAAmB;CAEhE,IAAI,iBACF;CAGF,IAAI;EAEF,YAAY,eAAe,MAAM;EAEjC,MAAM,qBAAqB,KAAK;EAChC,MAAM,UAAU;EAEhB,MAAM,kBAAkB,KAAK;EAC7B,MAAM,gBAAgB,IAAI;EAM1B,MAAM,oBAHa,OAAO,IAAmB,OAGV,CAAC,CAAC,cAAc;EAInD,IAAI,MAAM,QAAQ,iBAAiB,GACjC,MAAM,kBAAkB,MAAM,iBAAiB;OAE/C,MAAM,kBAAkB,aAAa,CAAC,MAAM,CAAC;EAG/C,kBAAkB;CACpB,SAAS,OAAO;EACd,QAAQ,MAAM,oDAAoD,KAAK;EACvE,MAAM;CACR;AACF"}
|
|
@@ -2,7 +2,7 @@ import { BenchmarkOptions } from "../benchmark/types.mjs";
|
|
|
2
2
|
import { Infer, ObjectValidator } from "@warlock.js/seal";
|
|
3
3
|
import { RetryOptions } from "@mongez/reinforcements";
|
|
4
4
|
|
|
5
|
-
//#region
|
|
5
|
+
//#region ../@warlock.js/core/src/use-cases/types.d.ts
|
|
6
6
|
/**
|
|
7
7
|
* Shared context object passed through the entire use case pipeline.
|
|
8
8
|
* Contains the optional schema and can be enriched by guards/middleware
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/use-cases/types.ts"],"mappings":";;;;;;;AASA;;;KAAY,cAAA;EACV,MAAA,GAAS,eAAA;AAAA,IACP,MAAM;;;AAAA;AAqBV;;;;;;;;;;;;;;;;KAAY,YAAA,oBAAgC,cAAA,GAAiB,cAAA,KAC3D,IAAA,EAAM,QAAA,CAAS,KAAA,GACf,GAAA,EAAK,GAAA,YACK,OAAA;;;;;;AAAO;AAkBnB;;;;;;;;;;KAAY,uBAAA,oBAA2C,cAAA,GAAiB,cAAA,KACtE,IAAA,EAAM,KAAA,EACN,GAAA,EAAK,GAAA,KACF,KAAA,GAAQ,OAAA,CAAQ,KAAA;;;;;;;;;;;;;;AAAK;AAmB1B;;;KAAY,sBAAA,qBAA2C,cAAA,GAAiB,cAAA,KACtE,MAAA,EAAQ,MAAA,EACR,GAAA,EAAK,GAAA,YACK,OAAA;;;;;KAMA,yBAAA;EANO,kCAQjB,GAAA,EAAK,cAAA,EAXoC;EAazC,EAAA,UAbsE;EAetE,IAAA,UAdA;EAgBA,IAAA,OAfA;EAiBA,MAAA,GAAS,eAAA,EAhBQ;EAkBjB,SAAA,EAAW,IAAA;AAAA;;;;;;;KASD,qBAAA;EAnBV,oBAqBA,OAAA,UAnBA;EAqBA,KAAA,UAjBA;EAmBA,EAAA,UAjBS;EAmBT,EAAA,EAAI,IAAI,EAjBG;EAmBX,OAAA;AAAA;AAVF;;;;;;;;;;;AAUS;AAgBT;AA1BA,UA0BiB,uBAAA;EACf,SAAA,CAAU,KAAA,EAAO,qBAAA,UAA+B,OAAO;AAAA;;;;;;AAAA;KAS7C,sBAAA;EAAsB,wDAI5B,KAAA,WAEkB;EAAlB,MAAA,IAAU,MAAA,EAAQ,MAAA,EAAQ,MAAA,EAAQ,aAAA,CAAc,MAAA;AAAA;;;;;;;;;;;;AAAO;AA6B7D;;;;;;;;;;;;;;KAAY,OAAA,wCAA+C,cAAA,GAAiB,cAAA;EAYjE,iFAVT,IAAA,UAYuC;EAVvC,WAAA,WAYoB;EAVpB,OAAA,GAAU,IAAA,EAAM,KAAA,EAAO,GAAA,EAAK,GAAA,KAAQ,OAAA,CAAQ,MAAA,GAYrB;EAVvB,MAAA,GAAS,eAAA,EAiBD;EAfR,MAAA,GAAS,YAAA,CAAa,KAAA,EAAO,GAAA,KAyBM;EAvBnC,MAAA,GAAS,uBAAA,CAAwB,KAAA,EAAO,GAAA,KAuBN;EArBlC,KAAA,GAAQ,sBAAA,CAAuB,MAAA,EAAQ,GAAA,KAdrB;EAgBlB,WAAA,IAAe,GAAA,EAAK,yBAAA,WAhByB;EAkB7C,WAAA,IAAe,MAAA,EAAQ,aAAA,CAAc,MAAA,YAlBqC;EAoB1E,OAAA,IAAW,GAAA,EAAK,kBAAA;EAhBhB;;;;EAqBA,KAAA,GAAQ,YAAA;EAnBe;;;;EAwBvB,SAAA,aAAsB,gBAAA;EApBtB;;;;EAyBA,SAAA,GAAY,sBAAA,CAAuB,MAAA;AAAA;;;;;;;;;KAWzB,iBAAA,wBAEK,eAAA,cACH,cAAA,GAAiB,cAAA,IAC3B,IAAA,CAAK,OAAA,CAAQ,MAAA,EAAQ,KAAA,CAAM,MAAA,GAAS,GAAA;EACtC,MAAA,EAAQ,MAAA;AAAA;;;;;;;;KAUE,cAAA,oBACV,IAAA,EAAM,KAAA,EACN,OAAA,GAAU,qBAAA,CAAsB,MAAA,MAC7B,OAAA,CAAQ,MAAA;EACX,QAAA;AAAA;;;;AA9ByC;KAqC/B,iBAAA,8BAA+C,OAAA,CAAQ,MAAA,EAAQ,KAAA;EA1B9C,8BA4B3B,KAAA;IA1Be,sCA4Bb,OAAA,UA3B2B;IA6B3B,MAAA,UA5B2B;IA8B3B,KAAA;EAAA;AAAA;;;;;;;;;;;;;;;;KAmBQ,qBAAA;EAhDV,+CAkDA,EAAA,WAlDc;EAoDd,GAAA,GAAM,cAAA,EA1CI;EA4CV,WAAA,IAAe,GAAA,EAAK,yBAAA,WA5CI;EA8CxB,WAAA,IAAe,MAAA,EAAQ,aAAA,CAAc,MAAA,YA5CL;EA8ChC,OAAA,IAAW,GAAA,EAAK,kBAAA;AAAA;;;;;KAON,kBAAA,GAAqB,IAAA,CAAK,aAAA;EAtD9B,wCAwDN,KAAA,EAAO,KAAA;AAAA;;;;;;;KASG,aAAA;EAvDA,2DAyDV,MAAA,GAAS,MAAA,EAzDkB;EA2D3B,GAAA,EAAK,cAAA,EA3DoE;EA6DzE,SAAA,EAAW,IAAA,EA7DqD;EA+DhE,OAAA,EAAS,IAAA,EA/DmB;EAiE5B,EAAA,UAjEyD;EAmEzD,IAAA,UAnEyE;EAqEzE,KAAA,UAjEE;EAmEF,OAAA;IA/DE,qDAiEA,QAAA,UAjEK;IAmEL,KAAA,WAhD6B;IAkD7B,YAAA;EAAA,GA5CkB;EA+CpB,eAAA;IA7CuB,qCA+CrB,OAAA,UA7CgC;IA+ChC,KAAA;EAAA;AAAA;;;;;KAQQ,yBAAA;EACV,WAAA,IAAe,GAAA,EAAK,yBAAA;EACpB,WAAA,IAAe,MAAA,EAAQ,aAAA;EACvB,OAAA,IAAW,GAAA,EAAK,kBAAA;AAAA;;;;;AA1DkB;AAOpC;;;;;;;;;;KAqEY,qBAAA;EAnEH;;AAAK;AASd;EA+DE,KAAA,GAAQ,YAAA;EA/De;;;;EAoEvB,SAAA,aAAsB,gBAAA,EA5DT;EA8Db,SAAA;IAtEwB,uEAwEtB,OAAA,YAtEO;IAwEP,QAAA,GAAW,uBAAA;EAAA,GApEb;EAuEA,GAAA,YArEA;EAuEA,OAAA;IArEA,qDAuEE,OAAA,YAnEF;IAqEE,GAAA,mBAjEA;IAmEA,UAAA;EAAA;AAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UseCaseBroadcastOption, UseCaseConfigurations, UseCaseResult } from "./types.mjs";
|
|
2
2
|
|
|
3
|
-
//#region
|
|
3
|
+
//#region ../@warlock.js/core/src/use-cases/use-case-broadcast.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Broadcast a successful use-case result through the globally-configured channels.
|
|
6
6
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-case-broadcast.d.mts","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"use-case-broadcast.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/use-cases/use-case-broadcast.ts"],"mappings":";;;;;AAkBA;;;;;;;;iBAAsB,sBAAA,SAA+B,MAAA;EACnD,IAAA;EACA,EAAA;EACA,MAAA,EAAQ,MAAA;EACR,MAAA,EAAQ,aAAA,CAAc,MAAA;EACtB,SAAA,GAAY,sBAAA,CAAuB,MAAA;EACnC,MAAA,GAAS,qBAAA;AAAA,IACP,OAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { log } from "@warlock.js/logger";
|
|
2
2
|
|
|
3
|
-
//#region
|
|
3
|
+
//#region ../@warlock.js/core/src/use-cases/use-case-broadcast.ts
|
|
4
4
|
/**
|
|
5
5
|
* Broadcast a successful use-case result through the globally-configured channels.
|
|
6
6
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-case-broadcast.mjs","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"use-case-broadcast.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/use-cases/use-case-broadcast.ts"],"sourcesContent":["import { log } from \"@warlock.js/logger\";\nimport type {\n UseCaseBroadcastEvent,\n UseCaseBroadcastOption,\n UseCaseConfigurations,\n UseCaseResult,\n} from \"./types\";\n\n/**\n * Broadcast a successful use-case result through the globally-configured channels.\n *\n * Fires only when the use case opted in (`broadcast`) and the global transport is\n * enabled with at least one channel. Fan-out is isolated via `Promise.allSettled` —\n * a failing channel is logged and never affects the use case or sibling channels.\n *\n * @example\n * await broadcastUseCaseResult({ name, id, output, result, broadcast, config });\n */\nexport async function broadcastUseCaseResult<Output>(params: {\n name: string;\n id: string;\n output: Output;\n result: UseCaseResult<Output>;\n broadcast?: UseCaseBroadcastOption<Output>;\n config?: UseCaseConfigurations[\"broadcast\"];\n}): Promise<void> {\n const { name, id, output, result, broadcast, config } = params;\n\n if (!broadcast) {\n return;\n }\n\n if (config?.enabled === false) {\n return;\n }\n\n const channels = config?.channels;\n\n if (!channels || channels.length === 0) {\n return;\n }\n\n const projector = typeof broadcast === \"object\" ? broadcast.output : undefined;\n const event = typeof broadcast === \"object\" && broadcast.event ? broadcast.event : name;\n const payload = projector ? projector(output, result) : output;\n\n const broadcastEvent: UseCaseBroadcastEvent = {\n useCase: name,\n event,\n id,\n at: new Date(),\n payload,\n };\n\n const outcomes = await Promise.allSettled(\n channels.map((channel) => channel.broadcast(broadcastEvent)),\n );\n\n for (const outcome of outcomes) {\n if (outcome.status === \"rejected\") {\n log.error(\"use-cases\", name, \"broadcast channel failed\", { error: outcome.reason });\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAkBA,eAAsB,uBAA+B,QAOnC;CAChB,MAAM,EAAE,MAAM,IAAI,QAAQ,QAAQ,WAAW,WAAW;CAExD,IAAI,CAAC,WACH;CAGF,IAAI,QAAQ,YAAY,OACtB;CAGF,MAAM,WAAW,QAAQ;CAEzB,IAAI,CAAC,YAAY,SAAS,WAAW,GACnC;CAGF,MAAM,YAAY,OAAO,cAAc,WAAW,UAAU,SAAS;CACrE,MAAM,QAAQ,OAAO,cAAc,YAAY,UAAU,QAAQ,UAAU,QAAQ;CACnF,MAAM,UAAU,YAAY,UAAU,QAAQ,MAAM,IAAI;CAExD,MAAM,iBAAwC;EAC5C,SAAS;EACT;EACA;EACA,oBAAI,IAAI,KAAK;EACb;CACF;CAEA,MAAM,WAAW,MAAM,QAAQ,WAC7B,SAAS,KAAK,YAAY,QAAQ,UAAU,cAAc,CAAC,CAC7D;CAEA,KAAK,MAAM,WAAW,UACpB,IAAI,QAAQ,WAAW,YACrB,IAAI,MAAM,aAAa,MAAM,4BAA4B,EAAE,OAAO,QAAQ,OAAO,CAAC;AAGxF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UseCaseErrorResult, UseCaseEventsCallbacksMap, UseCaseOnExecutingContext, UseCaseResult } from "./types.mjs";
|
|
2
2
|
|
|
3
|
-
//#region
|
|
3
|
+
//#region ../@warlock.js/core/src/use-cases/use-case-events.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Global event callbacks — shared across all use case instances.
|
|
6
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-case-events.d.mts","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"use-case-events.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/use-cases/use-case-events.ts"],"mappings":";;;;;AAWA;cAAa,wBAAA,EAA0B,yBAItC;;;AAAA;AASD;;;;cAAa,oBAAA;yBACY,GAAA,EAAK,yBAAA;;;sBASV,QAAA,GAAa,MAAA,EAAQ,aAAA,CAAc,MAAA;;;qBASlC,GAAA,EAAK,kBAAA;;;;;;;;;;;iBAkBJ,kBAAA,WACpB,GAAA,EAAK,QAAA,EACL,SAAA;EACE,UAAA,KAAe,GAAA,EAAK,QAAA,YAAoB,OAAA;EACxC,OAAA,KAAY,GAAA,EAAK,QAAA,YAAoB,OAAA;EACrC,MAAA,KAAW,GAAA,EAAK,QAAA,YAAoB,OAAA;AAAA,IACrC,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-case-events.mjs","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"use-case-events.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/use-cases/use-case-events.ts"],"sourcesContent":["import { log } from \"@warlock.js/logger\";\r\nimport type {\r\n UseCaseErrorResult,\r\n UseCaseEventsCallbacksMap,\r\n UseCaseOnExecutingContext,\r\n UseCaseResult,\r\n} from \"./types\";\r\n\r\n/**\r\n * Global event callbacks — shared across all use case instances.\r\n */\r\nexport const globalEventsCallbacksMap: UseCaseEventsCallbacksMap = {\r\n onExecuting: [],\r\n onCompleted: [],\r\n onError: [],\r\n};\r\n\r\n/**\r\n * Subscribe to lifecycle events fired by any use case.\r\n *\r\n * @example\r\n * globalUseCasesEvents.onCompleted((result) => metrics.track(result.name, result.benchmarkResult));\r\n * globalUseCasesEvents.onError((ctx) => logger.error(ctx.name, ctx.error));\r\n */\r\nexport const globalUseCasesEvents = {\r\n onExecuting(callback: (ctx: UseCaseOnExecutingContext) => void) {\r\n globalEventsCallbacksMap.onExecuting.push(callback);\r\n return {\r\n unsubscribe: () => {\r\n const idx = globalEventsCallbacksMap.onExecuting.indexOf(callback);\r\n if (idx !== -1) globalEventsCallbacksMap.onExecuting.splice(idx, 1);\r\n },\r\n };\r\n },\r\n onCompleted<Output>(callback: (result: UseCaseResult<Output>) => void) {\r\n globalEventsCallbacksMap.onCompleted.push(callback);\r\n return {\r\n unsubscribe: () => {\r\n const idx = globalEventsCallbacksMap.onCompleted.indexOf(callback);\r\n if (idx !== -1) globalEventsCallbacksMap.onCompleted.splice(idx, 1);\r\n },\r\n };\r\n },\r\n onError(callback: (ctx: UseCaseErrorResult) => void) {\r\n globalEventsCallbacksMap.onError.push(callback);\r\n return {\r\n unsubscribe: () => {\r\n const idx = globalEventsCallbacksMap.onError.indexOf(callback);\r\n if (idx !== -1) globalEventsCallbacksMap.onError.splice(idx, 1);\r\n },\r\n };\r\n },\r\n};\r\n\r\n/**\r\n * Dispatches a lifecycle event to invocation → use-case → global observers, in that order.\r\n *\r\n * Each observer is awaited sequentially and isolated in its own try/catch — a slow\r\n * observer can't stall the others, and a throwing one can't break the pipeline (e.g.\r\n * a successful use case must not fail because a metrics/broadcast observer threw).\r\n */\r\nexport async function fireLifecycleEvent<EventCtx>(\r\n ctx: EventCtx,\r\n observers: {\r\n invocation?: ((ctx: EventCtx) => void | Promise<void>)[];\r\n useCase?: ((ctx: EventCtx) => void | Promise<void>)[];\r\n global?: ((ctx: EventCtx) => void | Promise<void>)[];\r\n },\r\n) {\r\n const tiers = [observers.invocation, observers.useCase, observers.global];\r\n\r\n for (const tier of tiers) {\r\n if (!tier) {\r\n continue;\r\n }\r\n\r\n for (const observer of tier) {\r\n try {\r\n await observer(ctx);\r\n } catch (observerError) {\r\n log.error(\"use-cases\", \"lifecycle\", \"observer failed\", { error: observerError });\r\n }\r\n }\r\n }\r\n}\r\n"],"mappings":";;;;;;AAWA,MAAa,2BAAsD;CACjE,aAAa,CAAC;CACd,aAAa,CAAC;CACd,SAAS,CAAC;AACZ;;;;;;;;AASA,MAAa,uBAAuB;CAClC,YAAY,UAAoD;EAC9D,yBAAyB,YAAY,KAAK,QAAQ;EAClD,OAAO,EACL,mBAAmB;GACjB,MAAM,MAAM,yBAAyB,YAAY,QAAQ,QAAQ;GACjE,IAAI,QAAQ,IAAI,yBAAyB,YAAY,OAAO,KAAK,CAAC;EACpE,EACF;CACF;CACA,YAAoB,UAAmD;EACrE,yBAAyB,YAAY,KAAK,QAAQ;EAClD,OAAO,EACL,mBAAmB;GACjB,MAAM,MAAM,yBAAyB,YAAY,QAAQ,QAAQ;GACjE,IAAI,QAAQ,IAAI,yBAAyB,YAAY,OAAO,KAAK,CAAC;EACpE,EACF;CACF;CACA,QAAQ,UAA6C;EACnD,yBAAyB,QAAQ,KAAK,QAAQ;EAC9C,OAAO,EACL,mBAAmB;GACjB,MAAM,MAAM,yBAAyB,QAAQ,QAAQ,QAAQ;GAC7D,IAAI,QAAQ,IAAI,yBAAyB,QAAQ,OAAO,KAAK,CAAC;EAChE,EACF;CACF;AACF;;;;;;;;AASA,eAAsB,mBACpB,KACA,WAKA;CACA,MAAM,QAAQ;EAAC,UAAU;EAAY,UAAU;EAAS,UAAU;CAAM;CAExE,KAAK,MAAM,QAAQ,OAAO;EACxB,IAAI,CAAC,MACH;EAGF,KAAK,MAAM,YAAY,MACrB,IAAI;GACF,MAAM,SAAS,GAAG;EACpB,SAAS,eAAe;GACtB,IAAI,MAAM,aAAa,aAAa,mBAAmB,EAAE,OAAO,cAAc,CAAC;EACjF;CAEJ;AACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UseCaseBeforeMiddleware, UseCaseContext, UseCaseGuard, UseCaseOnExecutingContext } from "./types.mjs";
|
|
2
2
|
import { ObjectValidator } from "@warlock.js/seal";
|
|
3
3
|
|
|
4
|
-
//#region
|
|
4
|
+
//#region ../@warlock.js/core/src/use-cases/use-case-pipeline.d.ts
|
|
5
5
|
type PipelineOptions<Input> = {
|
|
6
6
|
name: string;
|
|
7
7
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-case-pipeline.d.mts","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"use-case-pipeline.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/use-cases/use-case-pipeline.ts"],"mappings":";;;;KAWY,eAAA;EACV,IAAA;EACA,EAAA;EACA,IAAA,EAAM,KAAA;EACN,GAAA,EAAK,cAAA;EACL,SAAA,EAAW,IAAA;EACX,MAAA,GAAS,eAAA;EACT,MAAA,GAAS,YAAA,CAAa,KAAA;EACtB,MAAA,GAAS,uBAAA,CAAwB,KAAA,KADX;EAGtB,WAAA,IAAe,GAAA,EAAK,yBAAA,WAFa;EAIjC,aAAA,IAAiB,GAAA,EAAK,yBAAA;AAAA;;;;;;;;;;;;;;iBAgBF,WAAA,QAAmB,IAAA,EAAM,eAAA,CAAgB,KAAA,IAAS,OAAA,CAAQ,KAAA"}
|
|
@@ -2,7 +2,7 @@ import { fireLifecycleEvent, globalEventsCallbacksMap } from "./use-case-events.
|
|
|
2
2
|
import { BadSchemaUseCaseError } from "./use-case.errors.mjs";
|
|
3
3
|
import { v } from "@warlock.js/seal";
|
|
4
4
|
|
|
5
|
-
//#region
|
|
5
|
+
//#region ../@warlock.js/core/src/use-cases/use-case-pipeline.ts
|
|
6
6
|
/**
|
|
7
7
|
* Runs the pre-handler pipeline in order:
|
|
8
8
|
* onExecuting event → guards → validation → before middleware.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-case-pipeline.mjs","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"use-case-pipeline.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/use-cases/use-case-pipeline.ts"],"sourcesContent":["import type { ObjectValidator } from \"@warlock.js/seal\";\r\nimport { v } from \"@warlock.js/seal\";\r\nimport type {\r\n UseCaseBeforeMiddleware,\r\n UseCaseContext,\r\n UseCaseGuard,\r\n UseCaseOnExecutingContext,\r\n} from \"./types\";\r\nimport { fireLifecycleEvent, globalEventsCallbacksMap } from \"./use-case-events\";\r\nimport { BadSchemaUseCaseError } from \"./use-case.errors\";\r\n\r\nexport type PipelineOptions<Input> = {\r\n name: string;\r\n id: string;\r\n data: Input;\r\n ctx: UseCaseContext;\r\n startedAt: Date;\r\n schema?: ObjectValidator;\r\n guards?: UseCaseGuard<Input>[];\r\n before?: UseCaseBeforeMiddleware<Input>[];\r\n /** Invocation-level onExecuting override */\r\n onExecuting?: (ctx: UseCaseOnExecutingContext) => void;\r\n /** Use-case-level onExecuting */\r\n ucOnExecuting?: (ctx: UseCaseOnExecutingContext) => void;\r\n};\r\n\r\n/**\r\n * Runs the pre-handler pipeline in order:\r\n * onExecuting event → guards → validation → before middleware.\r\n *\r\n * Returns the validated, transformed data ready for the handler. The handler is\r\n * invoked by the caller so retry/benchmark can wrap it in isolation — keeping\r\n * guards, validation, and onExecuting from re-running on each retry attempt.\r\n *\r\n * Throws on guard failure or validation failure.\r\n *\r\n * @example\r\n * const data = await runPipeline({ name, id, data, ctx, startedAt, schema, guards, before });\r\n */\r\nexport async function runPipeline<Input>(opts: PipelineOptions<Input>): Promise<Input> {\r\n const { name, id, ctx, startedAt, schema, guards, before, onExecuting, ucOnExecuting } = opts;\r\n let data = opts.data;\r\n\r\n await fireLifecycleEvent<UseCaseOnExecutingContext>(\r\n { name, id, data, schema, ctx, startedAt },\r\n {\r\n invocation: onExecuting ? [onExecuting] : undefined,\r\n useCase: ucOnExecuting ? [ucOnExecuting] : undefined,\r\n global: globalEventsCallbacksMap.onExecuting.length\r\n ? globalEventsCallbacksMap.onExecuting\r\n : undefined,\r\n },\r\n );\r\n\r\n if (guards) {\r\n for (const guard of guards) {\r\n await guard(Object.freeze(data) as Readonly<Input>, ctx);\r\n }\r\n }\r\n\r\n if (schema) {\r\n const result = await v.validate(schema, data);\r\n\r\n if (!result.isValid) {\r\n throw new BadSchemaUseCaseError(result);\r\n }\r\n\r\n data = result.data;\r\n }\r\n\r\n let transformed = data;\r\n\r\n if (before) {\r\n for (const middleware of before) {\r\n transformed = await middleware(transformed, ctx);\r\n }\r\n }\r\n\r\n return transformed;\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;AAuCA,eAAsB,YAAmB,MAA8C;CACrF,MAAM,EAAE,MAAM,IAAI,KAAK,WAAW,QAAQ,QAAQ,QAAQ,aAAa,kBAAkB;CACzF,IAAI,OAAO,KAAK;CAEhB,MAAM,mBACJ;EAAE;EAAM;EAAI;EAAM;EAAQ;EAAK;CAAU,GACzC;EACE,YAAY,cAAc,CAAC,WAAW,IAAI;EAC1C,SAAS,gBAAgB,CAAC,aAAa,IAAI;EAC3C,QAAQ,yBAAyB,YAAY,SACzC,yBAAyB,cACzB;CACN,CACF;CAEA,IAAI,QACF,KAAK,MAAM,SAAS,QAClB,MAAM,MAAM,OAAO,OAAO,IAAI,GAAsB,GAAG;CAI3D,IAAI,QAAQ;EACV,MAAM,SAAS,MAAM,EAAE,SAAS,QAAQ,IAAI;EAE5C,IAAI,CAAC,OAAO,SACV,MAAM,IAAI,sBAAsB,MAAM;EAGxC,OAAO,OAAO;CAChB;CAEA,IAAI,cAAc;CAElB,IAAI,QACF,KAAK,MAAM,cAAc,QACvB,cAAc,MAAM,WAAW,aAAa,GAAG;CAInD,OAAO;AACT"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UseCase, UseCaseContext, UseCaseHandler, UseCaseWithSchema } from "./types.mjs";
|
|
2
2
|
import { Infer, ObjectValidator } from "@warlock.js/seal";
|
|
3
3
|
|
|
4
|
-
//#region
|
|
4
|
+
//#region ../@warlock.js/core/src/use-cases/use-case.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* Defines and registers a use case.
|
|
7
7
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-case.d.mts","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"use-case.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/use-cases/use-case.ts"],"mappings":";;;;;;AAwDA;;;;;;;;;;;;;;;;;;;;;;;;iBAAgB,OAAA,wBAEC,eAAA,cACH,cAAA,GAAiB,cAAA,EAC7B,OAAA,EAAS,iBAAA,CAAkB,MAAA,EAAQ,MAAA,EAAQ,GAAA,IAAO,cAAA,CAAe,MAAA,EAAQ,KAAA,CAAM,MAAA;AAAA,iBACjE,OAAA,wCAA+C,cAAA,GAAiB,cAAA,EAC9E,OAAA,EAAS,OAAA,CAAQ,MAAA,EAAQ,KAAA,EAAO,GAAA,IAC/B,cAAA,CAAe,MAAA,EAAQ,KAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HttpError } from "../http/errors/errors.mjs";
|
|
2
2
|
import { ValidationResult } from "@warlock.js/seal";
|
|
3
3
|
|
|
4
|
-
//#region
|
|
4
|
+
//#region ../@warlock.js/core/src/use-cases/use-case.errors.d.ts
|
|
5
5
|
declare class BadSchemaUseCaseError extends HttpError {
|
|
6
6
|
constructor(result: ValidationResult);
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-case.errors.d.mts","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"use-case.errors.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/use-cases/use-case.errors.ts"],"mappings":";;;;cAGa,qBAAA,SAA8B,SAAS;cAC/B,MAAA,EAAQ,gBAAA;AAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HttpError } from "../http/errors/errors.mjs";
|
|
2
2
|
|
|
3
|
-
//#region
|
|
3
|
+
//#region ../@warlock.js/core/src/use-cases/use-case.errors.ts
|
|
4
4
|
var BadSchemaUseCaseError = class extends HttpError {
|
|
5
5
|
constructor(result) {
|
|
6
6
|
super(400, `Invalid input data`, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-case.errors.mjs","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"use-case.errors.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/use-cases/use-case.errors.ts"],"sourcesContent":["import type { ValidationResult } from \"@warlock.js/seal\";\nimport { HttpError } from \"../http/errors/errors\";\n\nexport class BadSchemaUseCaseError extends HttpError {\n public constructor(result: ValidationResult) {\n super(400, `Invalid input data`, {\n code: \"BAD_SCHEMA_USE_CASE\",\n errors: result.errors,\n });\n }\n}\n"],"mappings":";;;AAGA,IAAa,wBAAb,cAA2C,UAAU;CACnD,AAAO,YAAY,QAA0B;EAC3C,MAAM,KAAK,sBAAsB;GAC/B,MAAM;GACN,QAAQ,OAAO;EACjB,CAAC;CACH;AACF"}
|
|
@@ -9,7 +9,7 @@ import { $registerUseCase, $unregisterUseCase, addUseCaseHistory, increaseUseCas
|
|
|
9
9
|
import { log } from "@warlock.js/logger";
|
|
10
10
|
import { Random, except, retry } from "@mongez/reinforcements";
|
|
11
11
|
|
|
12
|
-
//#region
|
|
12
|
+
//#region ../@warlock.js/core/src/use-cases/use-case.ts
|
|
13
13
|
const defaultUseCaseOptions = { benchmark: true };
|
|
14
14
|
function useCase(options) {
|
|
15
15
|
const { name, handler, schema, guards, before, after, onExecuting, onCompleted, onError } = options;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-case.mjs","names":["runWithRetry"],"sources":["../../../../../../@warlock.js/core/src/use-cases/use-case.ts"],"sourcesContent":["import { except, Random, retry as runWithRetry } from \"@mongez/reinforcements\";\r\nimport { log } from \"@warlock.js/logger\";\r\nimport type { Infer, ObjectValidator } from \"@warlock.js/seal\";\r\nimport { measure } from \"../benchmark\";\r\nimport { config } from \"../config\";\r\nimport type {\r\n UseCase,\r\n UseCaseConfigurations,\r\n UseCaseContext,\r\n UseCaseErrorResult,\r\n UseCaseHandler,\r\n UseCaseResult,\r\n UseCaseRuntimeOptions,\r\n UseCaseWithSchema,\r\n} from \"./types\";\r\nimport { broadcastUseCaseResult } from \"./use-case-broadcast\";\r\nimport { fireLifecycleEvent, globalEventsCallbacksMap } from \"./use-case-events\";\r\nimport { runPipeline } from \"./use-case-pipeline\";\r\nimport {\r\n $registerUseCase,\r\n $unregisterUseCase,\r\n addUseCaseHistory,\r\n increaseUseCaseFailedCalls,\r\n increaseUseCaseSuccessCalls,\r\n} from \"./use-cases-registry\";\r\n\r\nconst defaultUseCaseOptions: UseCaseConfigurations = {\r\n benchmark: true,\r\n};\r\n\r\n/**\r\n * Defines and registers a use case.\r\n *\r\n * A use case is a named, observable, optionally benchmarked unit of business logic.\r\n * The returned handler is a typed async function you call with the input data.\r\n *\r\n * Execution order: onExecuting → guards → validation → before → handler → after →\r\n * onCompleted → broadcast. Retry and benchmark wrap the **handler** only.\r\n *\r\n * When a `schema` is provided, the handler's input is inferred from it — no manual\r\n * `Input` generic needed.\r\n *\r\n * @example\r\n * export const createOrderUseCase = useCase({\r\n * name: \"create_order\",\r\n * schema: createOrderSchema, // handler `data` is inferred from this\r\n * guards: [authGuard],\r\n * handler: async (data, ctx) => orderService.create(data),\r\n * after: [sendConfirmationEmail],\r\n * retry: { attempts: 3, delay: 500, backoff: \"exponential\" },\r\n * broadcast: true,\r\n * });\r\n *\r\n * // In a controller:\r\n * const output = await createOrderUseCase({ ...validated, user_id: req.user.id });\r\n */\r\nexport function useCase<\r\n Output,\r\n Schema extends ObjectValidator,\r\n Ctx extends UseCaseContext = UseCaseContext,\r\n>(options: UseCaseWithSchema<Output, Schema, Ctx>): UseCaseHandler<Output, Infer<Schema>>;\r\nexport function useCase<Output = any, Input = any, Ctx extends UseCaseContext = UseCaseContext>(\r\n options: UseCase<Output, Input, Ctx>,\r\n): UseCaseHandler<Output, Input>;\r\nexport function useCase<Output = any, Input = any>(\r\n options: UseCase<Output, Input>,\r\n): UseCaseHandler<Output, Input> {\r\n const { name, handler, schema, guards, before, after, onExecuting, onCompleted, onError } =\r\n options;\r\n\r\n // Merge per-use-case options with global config defaults\r\n const useCaseConfig = config.get<UseCaseConfigurations>(\"use-cases\", defaultUseCaseOptions);\r\n const benchmark = options.benchmark ?? useCaseConfig?.benchmark ?? true;\r\n const retryConfig = options.retry ?? useCaseConfig?.retry;\r\n const broadcast = options.broadcast;\r\n const broadcastConfig = useCaseConfig?.broadcast;\r\n const logEnabled = useCaseConfig?.log === true;\r\n\r\n $registerUseCase(name, {\r\n ...options,\r\n calls: { success: 0, failed: 0, total: 0 },\r\n });\r\n\r\n const useCaseHandler = async (\r\n data: Input,\r\n {\r\n ctx = {},\r\n id = `uc-${name}-` + Random.string(),\r\n onExecuting: invocationOnExecuting,\r\n onCompleted: invocationOnCompleted,\r\n onError: invocationOnError,\r\n }: UseCaseRuntimeOptions = {},\r\n ): Promise<Output> => {\r\n ctx.schema = schema;\r\n ctx.id = id;\r\n\r\n const startedAt = new Date();\r\n let output: Output | undefined;\r\n let error: Error | undefined;\r\n let benchmarkResult: { latency: number; state: \"excellent\" | \"good\" | \"poor\" } | undefined;\r\n let currentRetry = 0;\r\n\r\n if (logEnabled) {\r\n log.debug(\"use-cases\", name, \"executing\", { id });\r\n }\r\n\r\n try {\r\n const transformed = await runPipeline<Input>({\r\n name,\r\n id,\r\n data,\r\n ctx,\r\n startedAt,\r\n schema,\r\n guards,\r\n before,\r\n onExecuting: invocationOnExecuting,\r\n ucOnExecuting: onExecuting,\r\n });\r\n\r\n // Benchmark wraps ONLY the handler (per attempt) so latency reflects business\r\n // logic — not the guard/validation prelude, and not the retry backoff delays.\r\n const runHandler = async (): Promise<Output> => {\r\n if (!benchmark) {\r\n return handler(transformed, ctx);\r\n }\r\n\r\n const measured = await measure(\r\n name,\r\n () => handler(transformed, ctx),\r\n benchmark === true ? undefined : benchmark,\r\n );\r\n\r\n benchmarkResult = { latency: measured.latency, state: measured.state };\r\n\r\n // measure() never throws — it returns an error result. Re-throw so retry\r\n // and the outer catch handle failures uniformly.\r\n if (!measured.success) {\r\n throw measured.error;\r\n }\r\n\r\n return measured.value;\r\n };\r\n\r\n output = retryConfig\r\n ? await runWithRetry(runHandler, {\r\n ...retryConfig,\r\n onError: (retryError, attempt) => {\r\n currentRetry = attempt;\r\n retryConfig.onError?.(retryError, attempt);\r\n },\r\n })\r\n : await runHandler();\r\n } catch (err) {\r\n error = err as Error;\r\n }\r\n\r\n const endedAt = new Date();\r\n\r\n // After middleware — fire-and-forget side effects, only on success\r\n if (!error && after && output !== undefined) {\r\n for (const middleware of after) {\r\n try {\r\n await middleware(output, ctx);\r\n } catch (afterError) {\r\n log.error(\"use-cases\", name, \"after middleware failed\", { error: afterError });\r\n }\r\n }\r\n }\r\n\r\n const snapshot: UseCaseResult<Output> = {\r\n output,\r\n ctx,\r\n startedAt,\r\n endedAt,\r\n id,\r\n name,\r\n retries: retryConfig\r\n ? { attempts: retryConfig.attempts ?? 3, delay: retryConfig.delay, currentRetry }\r\n : undefined,\r\n benchmarkResult,\r\n // Set per-branch below so the counter reflects the actual outcome —\r\n // a failure must never increment the success tally.\r\n calls: 0,\r\n };\r\n\r\n if (error) {\r\n snapshot.calls = increaseUseCaseFailedCalls(name);\r\n\r\n if (logEnabled) {\r\n log.error(\"use-cases\", name, \"failed\", { id, error });\r\n }\r\n\r\n await fireLifecycleEvent<UseCaseErrorResult>(\r\n { ...except(snapshot, [\"output\"]), error },\r\n {\r\n invocation: invocationOnError ? [invocationOnError] : undefined,\r\n useCase: onError ? [onError] : undefined,\r\n global: globalEventsCallbacksMap.onError.length\r\n ? globalEventsCallbacksMap.onError\r\n : undefined,\r\n },\r\n );\r\n\r\n throw error;\r\n }\r\n\r\n snapshot.calls = increaseUseCaseSuccessCalls(name);\r\n\r\n if (logEnabled) {\r\n log.debug(\"use-cases\", name, \"completed\", { id, latency: benchmarkResult?.latency });\r\n }\r\n\r\n await addUseCaseHistory(name, snapshot);\r\n\r\n await fireLifecycleEvent<UseCaseResult<Output>>(snapshot, {\r\n invocation: invocationOnCompleted ? [invocationOnCompleted] : undefined,\r\n useCase: onCompleted ? [onCompleted] : undefined,\r\n global: globalEventsCallbacksMap.onCompleted.length\r\n ? globalEventsCallbacksMap.onCompleted\r\n : undefined,\r\n });\r\n\r\n await broadcastUseCaseResult({\r\n name,\r\n id,\r\n output: output!,\r\n result: snapshot,\r\n broadcast,\r\n config: broadcastConfig,\r\n });\r\n\r\n return output!;\r\n };\r\n\r\n useCaseHandler.$cleanup = () => {\r\n $unregisterUseCase(name);\r\n };\r\n\r\n return useCaseHandler;\r\n}\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-case.mjs","names":["runWithRetry"],"sources":["../../../../../../../@warlock.js/core/src/use-cases/use-case.ts"],"sourcesContent":["import { except, Random, retry as runWithRetry } from \"@mongez/reinforcements\";\r\nimport { log } from \"@warlock.js/logger\";\r\nimport type { Infer, ObjectValidator } from \"@warlock.js/seal\";\r\nimport { measure } from \"../benchmark\";\r\nimport { config } from \"../config\";\r\nimport type {\r\n UseCase,\r\n UseCaseConfigurations,\r\n UseCaseContext,\r\n UseCaseErrorResult,\r\n UseCaseHandler,\r\n UseCaseResult,\r\n UseCaseRuntimeOptions,\r\n UseCaseWithSchema,\r\n} from \"./types\";\r\nimport { broadcastUseCaseResult } from \"./use-case-broadcast\";\r\nimport { fireLifecycleEvent, globalEventsCallbacksMap } from \"./use-case-events\";\r\nimport { runPipeline } from \"./use-case-pipeline\";\r\nimport {\r\n $registerUseCase,\r\n $unregisterUseCase,\r\n addUseCaseHistory,\r\n increaseUseCaseFailedCalls,\r\n increaseUseCaseSuccessCalls,\r\n} from \"./use-cases-registry\";\r\n\r\nconst defaultUseCaseOptions: UseCaseConfigurations = {\r\n benchmark: true,\r\n};\r\n\r\n/**\r\n * Defines and registers a use case.\r\n *\r\n * A use case is a named, observable, optionally benchmarked unit of business logic.\r\n * The returned handler is a typed async function you call with the input data.\r\n *\r\n * Execution order: onExecuting → guards → validation → before → handler → after →\r\n * onCompleted → broadcast. Retry and benchmark wrap the **handler** only.\r\n *\r\n * When a `schema` is provided, the handler's input is inferred from it — no manual\r\n * `Input` generic needed.\r\n *\r\n * @example\r\n * export const createOrderUseCase = useCase({\r\n * name: \"create_order\",\r\n * schema: createOrderSchema, // handler `data` is inferred from this\r\n * guards: [authGuard],\r\n * handler: async (data, ctx) => orderService.create(data),\r\n * after: [sendConfirmationEmail],\r\n * retry: { attempts: 3, delay: 500, backoff: \"exponential\" },\r\n * broadcast: true,\r\n * });\r\n *\r\n * // In a controller:\r\n * const output = await createOrderUseCase({ ...validated, user_id: req.user.id });\r\n */\r\nexport function useCase<\r\n Output,\r\n Schema extends ObjectValidator,\r\n Ctx extends UseCaseContext = UseCaseContext,\r\n>(options: UseCaseWithSchema<Output, Schema, Ctx>): UseCaseHandler<Output, Infer<Schema>>;\r\nexport function useCase<Output = any, Input = any, Ctx extends UseCaseContext = UseCaseContext>(\r\n options: UseCase<Output, Input, Ctx>,\r\n): UseCaseHandler<Output, Input>;\r\nexport function useCase<Output = any, Input = any>(\r\n options: UseCase<Output, Input>,\r\n): UseCaseHandler<Output, Input> {\r\n const { name, handler, schema, guards, before, after, onExecuting, onCompleted, onError } =\r\n options;\r\n\r\n // Merge per-use-case options with global config defaults\r\n const useCaseConfig = config.get<UseCaseConfigurations>(\"use-cases\", defaultUseCaseOptions);\r\n const benchmark = options.benchmark ?? useCaseConfig?.benchmark ?? true;\r\n const retryConfig = options.retry ?? useCaseConfig?.retry;\r\n const broadcast = options.broadcast;\r\n const broadcastConfig = useCaseConfig?.broadcast;\r\n const logEnabled = useCaseConfig?.log === true;\r\n\r\n $registerUseCase(name, {\r\n ...options,\r\n calls: { success: 0, failed: 0, total: 0 },\r\n });\r\n\r\n const useCaseHandler = async (\r\n data: Input,\r\n {\r\n ctx = {},\r\n id = `uc-${name}-` + Random.string(),\r\n onExecuting: invocationOnExecuting,\r\n onCompleted: invocationOnCompleted,\r\n onError: invocationOnError,\r\n }: UseCaseRuntimeOptions = {},\r\n ): Promise<Output> => {\r\n ctx.schema = schema;\r\n ctx.id = id;\r\n\r\n const startedAt = new Date();\r\n let output: Output | undefined;\r\n let error: Error | undefined;\r\n let benchmarkResult: { latency: number; state: \"excellent\" | \"good\" | \"poor\" } | undefined;\r\n let currentRetry = 0;\r\n\r\n if (logEnabled) {\r\n log.debug(\"use-cases\", name, \"executing\", { id });\r\n }\r\n\r\n try {\r\n const transformed = await runPipeline<Input>({\r\n name,\r\n id,\r\n data,\r\n ctx,\r\n startedAt,\r\n schema,\r\n guards,\r\n before,\r\n onExecuting: invocationOnExecuting,\r\n ucOnExecuting: onExecuting,\r\n });\r\n\r\n // Benchmark wraps ONLY the handler (per attempt) so latency reflects business\r\n // logic — not the guard/validation prelude, and not the retry backoff delays.\r\n const runHandler = async (): Promise<Output> => {\r\n if (!benchmark) {\r\n return handler(transformed, ctx);\r\n }\r\n\r\n const measured = await measure(\r\n name,\r\n () => handler(transformed, ctx),\r\n benchmark === true ? undefined : benchmark,\r\n );\r\n\r\n benchmarkResult = { latency: measured.latency, state: measured.state };\r\n\r\n // measure() never throws — it returns an error result. Re-throw so retry\r\n // and the outer catch handle failures uniformly.\r\n if (!measured.success) {\r\n throw measured.error;\r\n }\r\n\r\n return measured.value;\r\n };\r\n\r\n output = retryConfig\r\n ? await runWithRetry(runHandler, {\r\n ...retryConfig,\r\n onError: (retryError, attempt) => {\r\n currentRetry = attempt;\r\n retryConfig.onError?.(retryError, attempt);\r\n },\r\n })\r\n : await runHandler();\r\n } catch (err) {\r\n error = err as Error;\r\n }\r\n\r\n const endedAt = new Date();\r\n\r\n // After middleware — fire-and-forget side effects, only on success\r\n if (!error && after && output !== undefined) {\r\n for (const middleware of after) {\r\n try {\r\n await middleware(output, ctx);\r\n } catch (afterError) {\r\n log.error(\"use-cases\", name, \"after middleware failed\", { error: afterError });\r\n }\r\n }\r\n }\r\n\r\n const snapshot: UseCaseResult<Output> = {\r\n output,\r\n ctx,\r\n startedAt,\r\n endedAt,\r\n id,\r\n name,\r\n retries: retryConfig\r\n ? { attempts: retryConfig.attempts ?? 3, delay: retryConfig.delay, currentRetry }\r\n : undefined,\r\n benchmarkResult,\r\n // Set per-branch below so the counter reflects the actual outcome —\r\n // a failure must never increment the success tally.\r\n calls: 0,\r\n };\r\n\r\n if (error) {\r\n snapshot.calls = increaseUseCaseFailedCalls(name);\r\n\r\n if (logEnabled) {\r\n log.error(\"use-cases\", name, \"failed\", { id, error });\r\n }\r\n\r\n await fireLifecycleEvent<UseCaseErrorResult>(\r\n { ...except(snapshot, [\"output\"]), error },\r\n {\r\n invocation: invocationOnError ? [invocationOnError] : undefined,\r\n useCase: onError ? [onError] : undefined,\r\n global: globalEventsCallbacksMap.onError.length\r\n ? globalEventsCallbacksMap.onError\r\n : undefined,\r\n },\r\n );\r\n\r\n throw error;\r\n }\r\n\r\n snapshot.calls = increaseUseCaseSuccessCalls(name);\r\n\r\n if (logEnabled) {\r\n log.debug(\"use-cases\", name, \"completed\", { id, latency: benchmarkResult?.latency });\r\n }\r\n\r\n await addUseCaseHistory(name, snapshot);\r\n\r\n await fireLifecycleEvent<UseCaseResult<Output>>(snapshot, {\r\n invocation: invocationOnCompleted ? [invocationOnCompleted] : undefined,\r\n useCase: onCompleted ? [onCompleted] : undefined,\r\n global: globalEventsCallbacksMap.onCompleted.length\r\n ? globalEventsCallbacksMap.onCompleted\r\n : undefined,\r\n });\r\n\r\n await broadcastUseCaseResult({\r\n name,\r\n id,\r\n output: output!,\r\n result: snapshot,\r\n broadcast,\r\n config: broadcastConfig,\r\n });\r\n\r\n return output!;\r\n };\r\n\r\n useCaseHandler.$cleanup = () => {\r\n $unregisterUseCase(name);\r\n };\r\n\r\n return useCaseHandler;\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-cases-registry.d.mts","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"use-cases-registry.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/use-cases/use-cases-registry.ts"],"mappings":";;;;;AAaA;iBAAgB,gBAAA,gBACd,IAAA,UACA,OAAA,EAAS,iBAAA,CAAkB,MAAA,EAAQ,KAAA;;;;iBAgBrB,kBAAA,CAAmB,IAAY;;;;iBAS/B,UAAA,gBAA0B,IAAA,WACJ,OAAA,CAAQ,MAAA,EAAQ,KAAA;;;;iBAMtC,WAAA,IAAW,GAAA,SAAA,iBAAA;;;AAhCgB;iBAuC3B,2BAAA,CAA4B,IAAY;;;;iBAexC,0BAAA,CAA2B,IAAY;AA7BvD;;;;;AAAA,iBAwDsB,iBAAA,CAAkB,IAAA,WAAe,OAAO,CAAC,aAAA;;;;;iBA8BzC,iBAAA,CAAkB,IAAA,UAAc,MAAA,EAAQ,aAAA,QAAkB,OAAA"}
|
|
@@ -3,7 +3,7 @@ import "../config/index.mjs";
|
|
|
3
3
|
import { log } from "@warlock.js/logger";
|
|
4
4
|
import { cache } from "@warlock.js/cache";
|
|
5
5
|
|
|
6
|
-
//#region
|
|
6
|
+
//#region ../@warlock.js/core/src/use-cases/use-cases-registry.ts
|
|
7
7
|
/**
|
|
8
8
|
* Store registered use cases
|
|
9
9
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-cases-registry.mjs","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"use-cases-registry.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/use-cases/use-cases-registry.ts"],"sourcesContent":["import { cache } from \"@warlock.js/cache\";\r\nimport { log } from \"@warlock.js/logger\";\r\nimport { config } from \"../config\";\r\nimport { RegisteredUseCase, UseCase, UseCaseConfigurations, UseCaseResult } from \"./types\";\r\n\r\n/**\r\n * Store registered use cases\r\n */\r\nconst useCaseRegister = new Map<string, RegisteredUseCase>();\r\n\r\n/**\r\n * Register a use case\r\n */\r\nexport function $registerUseCase<Output, Input>(\r\n name: string,\r\n useCase: RegisteredUseCase<Output, Input>,\r\n) {\r\n if (useCaseRegister.has(name) && process.env.NODE_ENV !== \"production\") {\r\n log.warn(\r\n \"use-cases\",\r\n \"registering\",\r\n `Use case \"${name}\" is already registered. Overwriting.`,\r\n );\r\n }\r\n\r\n useCaseRegister.set(name, useCase);\r\n}\r\n\r\n/**\r\n * Unregister a use case\r\n */\r\nexport function $unregisterUseCase(name: string) {\r\n useCaseRegister.delete(name);\r\n\r\n cache.removeNamespace(`use-case:history:${name}`);\r\n}\r\n\r\n/**\r\n * Get a use case\r\n */\r\nexport function getUseCase<Output, Input>(name: string) {\r\n return useCaseRegister.get(name) as UseCase<Output, Input> | undefined;\r\n}\r\n\r\n/**\r\n * Get all use cases\r\n */\r\nexport function getUseCases() {\r\n return useCaseRegister;\r\n}\r\n\r\n/**\r\n * Increase use case success calls\r\n */\r\nexport function increaseUseCaseSuccessCalls(name: string): number {\r\n const useCase = useCaseRegister.get(name);\r\n if (useCase) {\r\n useCase.calls.success++;\r\n useCase.calls.total++;\r\n\r\n return useCase.calls.success;\r\n }\r\n\r\n return 0;\r\n}\r\n\r\n/**\r\n * Increase use case failed calls\r\n */\r\nexport function increaseUseCaseFailedCalls(name: string): number {\r\n const useCase = useCaseRegister.get(name);\r\n if (useCase) {\r\n useCase.calls.failed++;\r\n useCase.calls.total++;\r\n\r\n return useCase.calls.failed;\r\n }\r\n\r\n return 0;\r\n}\r\n\r\n/**\r\n * Resolve the history cache TTL (seconds) from config.\r\n * `false` means \"use the cache driver's default\", represented as `undefined`.\r\n */\r\nfunction resolveHistoryTtl(useCaseConfig?: UseCaseConfigurations): number | undefined {\r\n const ttlConfig = useCaseConfig?.history?.ttl ?? 3600; // 1 hour default\r\n\r\n return ttlConfig === false ? undefined : ttlConfig;\r\n}\r\n\r\n/**\r\n * Get use case history from cache.\r\n *\r\n * Prunes ids whose entries have expired so the list can't accumulate dead refs.\r\n */\r\nexport async function getUseCaseHistory(name: string): Promise<UseCaseResult<any>[]> {\r\n const listKey = `use-case:history:${name}:list`;\r\n const ids = (await cache.get<string[]>(listKey)) || [];\r\n\r\n const entries = await Promise.all(\r\n ids.map(async (id: string) => ({\r\n id,\r\n result: await cache.get<UseCaseResult<any>>(`use-case:history:${name}:${id}`),\r\n })),\r\n );\r\n\r\n const liveEntries = entries.filter((entry) => Boolean(entry.result));\r\n\r\n if (liveEntries.length !== ids.length) {\r\n const useCaseConfig = config.get<UseCaseConfigurations>(\"use-cases\");\r\n\r\n await cache.set(\r\n listKey,\r\n liveEntries.map((entry) => entry.id),\r\n resolveHistoryTtl(useCaseConfig),\r\n );\r\n }\r\n\r\n return liveEntries.map((entry) => entry.result) as UseCaseResult<any>[];\r\n}\r\n\r\n/**\r\n * Add use case history to cache, capping the per-use-case list so it can't grow\r\n * unbounded — oldest entries (and their ids) are evicted past MAX_HISTORY_ENTRIES.\r\n */\r\nexport async function addUseCaseHistory(name: string, result: UseCaseResult<any>) {\r\n const useCaseConfig = config.get<UseCaseConfigurations>(\"use-cases\");\r\n\r\n if (useCaseConfig?.history?.enabled === false) return;\r\n\r\n const ttl = resolveHistoryTtl(useCaseConfig);\r\n const maxEntries = useCaseConfig?.history?.maxEntries ?? 100;\r\n const key = `use-case:history:${name}:${result.id}`;\r\n const listKey = `use-case:history:${name}:list`;\r\n\r\n await cache.set(key, result, ttl);\r\n\r\n const list = (await cache.get<string[]>(listKey)) || [];\r\n\r\n list.push(result.id);\r\n\r\n while (list.length > maxEntries) {\r\n const evictedId = list.shift();\r\n\r\n if (evictedId) {\r\n await cache.remove(`use-case:history:${name}:${evictedId}`);\r\n }\r\n }\r\n\r\n await cache.set(listKey, list, ttl);\r\n}\r\n"],"mappings":";;;;;;;;;AAQA,MAAM,kCAAkB,IAAI,IAA+B;;;;AAK3D,SAAgB,iBACd,MACA,SACA;CACA,IAAI,gBAAgB,IAAI,IAAI,KAAK,QAAQ,IAAI,aAAa,cACxD,IAAI,KACF,aACA,eACA,aAAa,KAAK,sCACpB;CAGF,gBAAgB,IAAI,MAAM,OAAO;AACnC;;;;AAKA,SAAgB,mBAAmB,MAAc;CAC/C,gBAAgB,OAAO,IAAI;CAE3B,MAAM,gBAAgB,oBAAoB,MAAM;AAClD;;;;AAKA,SAAgB,WAA0B,MAAc;CACtD,OAAO,gBAAgB,IAAI,IAAI;AACjC;;;;AAKA,SAAgB,cAAc;CAC5B,OAAO;AACT;;;;AAKA,SAAgB,4BAA4B,MAAsB;CAChE,MAAM,UAAU,gBAAgB,IAAI,IAAI;CACxC,IAAI,SAAS;EACX,QAAQ,MAAM;EACd,QAAQ,MAAM;EAEd,OAAO,QAAQ,MAAM;CACvB;CAEA,OAAO;AACT;;;;AAKA,SAAgB,2BAA2B,MAAsB;CAC/D,MAAM,UAAU,gBAAgB,IAAI,IAAI;CACxC,IAAI,SAAS;EACX,QAAQ,MAAM;EACd,QAAQ,MAAM;EAEd,OAAO,QAAQ,MAAM;CACvB;CAEA,OAAO;AACT;;;;;AAMA,SAAS,kBAAkB,eAA2D;CACpF,MAAM,YAAY,eAAe,SAAS,OAAO;CAEjD,OAAO,cAAc,QAAQ,SAAY;AAC3C;;;;;;AAOA,eAAsB,kBAAkB,MAA6C;CACnF,MAAM,UAAU,oBAAoB,KAAK;CACzC,MAAM,MAAO,MAAM,MAAM,IAAc,OAAO,KAAM,CAAC;CASrD,MAAM,eAAc,MAPE,QAAQ,IAC5B,IAAI,IAAI,OAAO,QAAgB;EAC7B;EACA,QAAQ,MAAM,MAAM,IAAwB,oBAAoB,KAAK,GAAG,IAAI;CAC9E,EAAE,CACJ,EAE2B,CAAC,QAAQ,UAAU,QAAQ,MAAM,MAAM,CAAC;CAEnE,IAAI,YAAY,WAAW,IAAI,QAAQ;EACrC,MAAM,gBAAgB,OAAO,IAA2B,WAAW;EAEnE,MAAM,MAAM,IACV,SACA,YAAY,KAAK,UAAU,MAAM,EAAE,GACnC,kBAAkB,aAAa,CACjC;CACF;CAEA,OAAO,YAAY,KAAK,UAAU,MAAM,MAAM;AAChD;;;;;AAMA,eAAsB,kBAAkB,MAAc,QAA4B;CAChF,MAAM,gBAAgB,OAAO,IAA2B,WAAW;CAEnE,IAAI,eAAe,SAAS,YAAY,OAAO;CAE/C,MAAM,MAAM,kBAAkB,aAAa;CAC3C,MAAM,aAAa,eAAe,SAAS,cAAc;CACzD,MAAM,MAAM,oBAAoB,KAAK,GAAG,OAAO;CAC/C,MAAM,UAAU,oBAAoB,KAAK;CAEzC,MAAM,MAAM,IAAI,KAAK,QAAQ,GAAG;CAEhC,MAAM,OAAQ,MAAM,MAAM,IAAc,OAAO,KAAM,CAAC;CAEtD,KAAK,KAAK,OAAO,EAAE;CAEnB,OAAO,KAAK,SAAS,YAAY;EAC/B,MAAM,YAAY,KAAK,MAAM;EAE7B,IAAI,WACF,MAAM,MAAM,OAAO,oBAAoB,KAAK,GAAG,WAAW;CAE9D;CAEA,MAAM,MAAM,IAAI,SAAS,MAAM,GAAG;AACpC"}
|
package/esm/utils/app-log.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region
|
|
1
|
+
//#region ../@warlock.js/core/src/utils/app-log.d.ts
|
|
2
2
|
declare const appLog: {
|
|
3
3
|
info: (module: string, message: string) => Promise<import("@warlock.js/logger").Logger>;
|
|
4
4
|
error: (module: string, message: string) => Promise<import("@warlock.js/logger").Logger>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-log.d.mts","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"app-log.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/utils/app-log.ts"],"mappings":";cAEa,MAAA;yBACU,OAAA,aAAiB,OAAA,8BAAA,MAAA;0BAChB,OAAA,aAAiB,OAAA,8BAAA,MAAA;yBAClB,OAAA,aAAiB,OAAA,8BAAA,MAAA;0BAChB,OAAA,aAAiB,OAAA,8BAAA,MAAA;4BACf,OAAA,aAAiB,OAAA,8BAAA,MAAA;AAAA"}
|
package/esm/utils/app-log.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { log } from "@warlock.js/logger";
|
|
2
2
|
|
|
3
|
-
//#region
|
|
3
|
+
//#region ../@warlock.js/core/src/utils/app-log.ts
|
|
4
4
|
const appLog = {
|
|
5
5
|
info: (module, message) => log.info("app", module, message),
|
|
6
6
|
error: (module, message) => log.error("app", module, message),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-log.mjs","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"app-log.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/utils/app-log.ts"],"sourcesContent":["import { log } from \"@warlock.js/logger\";\n\nexport const appLog = {\n info: (module: string, message: string) => log.info(\"app\", module, message),\n error: (module: string, message: string) => log.error(\"app\", module, message),\n warn: (module: string, message: string) => log.warn(\"app\", module, message),\n debug: (module: string, message: string) => log.debug(\"app\", module, message),\n success: (module: string, message: string) =>\n log.success(\"app\", module, message),\n};\n"],"mappings":";;;AAEA,MAAa,SAAS;CACpB,OAAO,QAAgB,YAAoB,IAAI,KAAK,OAAO,QAAQ,OAAO;CAC1E,QAAQ,QAAgB,YAAoB,IAAI,MAAM,OAAO,QAAQ,OAAO;CAC5E,OAAO,QAAgB,YAAoB,IAAI,KAAK,OAAO,QAAQ,OAAO;CAC1E,QAAQ,QAAgB,YAAoB,IAAI,MAAM,OAAO,QAAQ,OAAO;CAC5E,UAAU,QAAgB,YACxB,IAAI,QAAQ,OAAO,QAAQ,OAAO;AACtC"}
|
|
@@ -2,7 +2,7 @@ import { DatabaseLogModel } from "../database/models/database-log/database-log.m
|
|
|
2
2
|
import { ChildModel, Model } from "@warlock.js/cascade";
|
|
3
3
|
import { BasicLogConfigurations, LogChannel, LogContract, LoggingData } from "@warlock.js/logger";
|
|
4
4
|
|
|
5
|
-
//#region
|
|
5
|
+
//#region ../@warlock.js/core/src/utils/database-log.d.ts
|
|
6
6
|
type DatabaseLogOptions = BasicLogConfigurations & {
|
|
7
7
|
/**
|
|
8
8
|
* Model to use for logging
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-log.d.mts","names":[],"sources":["
|
|
1
|
+
{"version":3,"file":"database-log.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/utils/database-log.ts"],"mappings":";;;;;KAKY,kBAAA,GAAqB,sBAAA;;AAAjC;;EAIE,KAAA,UAAe,gBAAgB;AAAA;AAAA,cAGpB,WAAA,SAAoB,UAAA,CAAW,kBAAA,aAA+B,WAAA;EAHzE;;;EAOO,IAAA;EAJI;;;EAAA,IASA,KAAA,IAAS,UAAA,CAAW,KAAA;EAAA;;;EAOlB,GAAA,CAAI,GAAA,EAAK,WAAA,GAAW,OAAA;AAAA"}
|
|
@@ -2,7 +2,7 @@ import { DatabaseLogModel } from "../database/models/database-log/database-log.m
|
|
|
2
2
|
import "../database/models/database-log/index.mjs";
|
|
3
3
|
import { LogChannel } from "@warlock.js/logger";
|
|
4
4
|
|
|
5
|
-
//#region
|
|
5
|
+
//#region ../@warlock.js/core/src/utils/database-log.ts
|
|
6
6
|
var DatabaseLog = class extends LogChannel {
|
|
7
7
|
constructor(..._args) {
|
|
8
8
|
super(..._args);
|