@authup/server-core 1.0.0-beta.63 → 1.0.0-beta.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/database/data-source/options/module.d.ts +1 -0
- package/dist/adapters/database/data-source/options/module.d.ts.map +1 -1
- package/dist/adapters/database/data-source/options/module.mjs +33 -4
- package/dist/adapters/database/data-source/options/module.mjs.map +1 -1
- package/dist/adapters/database/domains/client/entity.d.ts +1 -2
- package/dist/adapters/database/domains/client/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/client/entity.mjs +7 -14
- package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.d.ts +2 -1
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/session/entity.d.ts +8 -0
- package/dist/adapters/database/domains/session/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/session/entity.mjs +19 -0
- package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user/entity.d.ts +1 -0
- package/dist/adapters/database/domains/user/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/user/entity.mjs +6 -0
- package/dist/adapters/database/domains/user/entity.mjs.map +1 -1
- package/dist/adapters/database/extra-attribute-repository/repository.mjs +1 -1
- package/dist/adapters/database/extra-attribute-repository/repository.mjs.map +1 -1
- package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs +4 -2
- package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs.map +1 -1
- package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs +1 -1
- package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs.map +1 -1
- package/dist/adapters/database/index.mjs +3 -3
- package/dist/adapters/database/migrations/mysql/1787571998009-SessionUserAndClientColumns.d.ts +56 -0
- package/dist/adapters/database/migrations/mysql/1787571998009-SessionUserAndClientColumns.d.ts.map +1 -0
- package/dist/adapters/database/migrations/mysql/1787571998009-SessionUserAndClientColumns.mjs +105 -0
- package/dist/adapters/database/migrations/mysql/1787571998009-SessionUserAndClientColumns.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1787571998009-SessionUserAndClientColumns.d.ts +56 -0
- package/dist/adapters/database/migrations/postgres/1787571998009-SessionUserAndClientColumns.d.ts.map +1 -0
- package/dist/adapters/database/migrations/postgres/1787571998009-SessionUserAndClientColumns.mjs +104 -0
- package/dist/adapters/database/migrations/postgres/1787571998009-SessionUserAndClientColumns.mjs.map +1 -0
- package/dist/adapters/database/subscriber/module.d.ts +6 -2
- package/dist/adapters/database/subscriber/module.d.ts.map +1 -1
- package/dist/adapters/database/subscriber/module.mjs +9 -5
- package/dist/adapters/database/subscriber/module.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/authorization/module.mjs +1 -1
- package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
- package/dist/adapters/http/constants.d.ts +18 -0
- package/dist/adapters/http/constants.d.ts.map +1 -0
- package/dist/adapters/http/constants.mjs +23 -0
- package/dist/adapters/http/constants.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +3 -3
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/identity-provider/types.d.ts +6 -0
- package/dist/adapters/http/controllers/entities/identity-provider/types.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/realm/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/realm/module.mjs +2 -0
- package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/session/module.d.ts +33 -1
- package/dist/adapters/http/controllers/entities/session/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/session/module.mjs +74 -0
- package/dist/adapters/http/controllers/entities/session/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/index.mjs +3 -1
- package/dist/adapters/http/controllers/workflows/account/index.d.ts +1 -0
- package/dist/adapters/http/controllers/workflows/account/index.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/account/module.d.ts +25 -16
- package/dist/adapters/http/controllers/workflows/account/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/account/module.mjs +40 -17
- package/dist/adapters/http/controllers/workflows/account/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/account/types.d.ts +33 -0
- package/dist/adapters/http/controllers/workflows/account/types.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/activate/module.d.ts +8 -4
- package/dist/adapters/http/controllers/workflows/activate/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/activate/module.mjs +7 -9
- package/dist/adapters/http/controllers/workflows/activate/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/admin/index.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/admin/index.mjs +5 -0
- package/dist/adapters/http/controllers/workflows/admin/module.d.ts +30 -0
- package/dist/adapters/http/controllers/workflows/admin/module.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/admin/module.mjs +88 -0
- package/dist/adapters/http/controllers/workflows/admin/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/admin/types.d.ts +14 -0
- package/dist/adapters/http/controllers/workflows/admin/types.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/auth-console.d.ts +16 -0
- package/dist/adapters/http/controllers/workflows/auth-console.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/auth-console.mjs +32 -0
- package/dist/adapters/http/controllers/workflows/auth-console.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/authorize/module.d.ts +16 -1
- package/dist/adapters/http/controllers/workflows/authorize/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs +40 -22
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/authorize/types.d.ts +5 -0
- package/dist/adapters/http/controllers/workflows/authorize/types.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/console-login/index.d.ts +3 -0
- package/dist/adapters/http/controllers/workflows/console-login/index.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/console-login/index.mjs +5 -0
- package/dist/adapters/http/controllers/workflows/console-login/module.d.ts +83 -0
- package/dist/adapters/http/controllers/workflows/console-login/module.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/console-login/module.mjs +230 -0
- package/dist/adapters/http/controllers/workflows/console-login/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/console-login/types.d.ts +58 -0
- package/dist/adapters/http/controllers/workflows/console-login/types.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/index.d.ts +2 -0
- package/dist/adapters/http/controllers/workflows/index.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/index.mjs +5 -1
- package/dist/adapters/http/controllers/workflows/logout/module.d.ts +32 -3
- package/dist/adapters/http/controllers/workflows/logout/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/logout/module.mjs +48 -24
- package/dist/adapters/http/controllers/workflows/logout/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/logout/types.d.ts +1 -1
- package/dist/adapters/http/controllers/workflows/logout/types.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/password-forgot/module.d.ts +8 -4
- package/dist/adapters/http/controllers/workflows/password-forgot/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs +7 -9
- package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/password-reset/module.d.ts +8 -4
- package/dist/adapters/http/controllers/workflows/password-reset/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/password-reset/module.mjs +7 -10
- package/dist/adapters/http/controllers/workflows/password-reset/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/register/module.d.ts +8 -4
- package/dist/adapters/http/controllers/workflows/register/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/register/module.mjs +7 -9
- package/dist/adapters/http/controllers/workflows/register/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/status/module.mjs +1 -1
- package/dist/adapters/http/controllers/workflows/token/module.d.ts +45 -2
- package/dist/adapters/http/controllers/workflows/token/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/token/module.mjs +102 -24
- package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -1
- package/dist/adapters/http/cookie/index.d.ts +2 -0
- package/dist/adapters/http/cookie/index.d.ts.map +1 -0
- package/dist/adapters/http/cookie/index.mjs +5 -0
- package/dist/adapters/http/cookie/session.d.ts +35 -0
- package/dist/adapters/http/cookie/session.d.ts.map +1 -0
- package/dist/adapters/http/cookie/session.mjs +62 -0
- package/dist/adapters/http/cookie/session.mjs.map +1 -0
- package/dist/adapters/http/index.d.ts +2 -0
- package/dist/adapters/http/index.d.ts.map +1 -1
- package/dist/adapters/http/index.mjs +20 -16
- package/dist/adapters/http/internal-client/index.d.ts +3 -0
- package/dist/adapters/http/internal-client/index.d.ts.map +1 -0
- package/dist/adapters/http/internal-client/index.mjs +5 -0
- package/dist/adapters/http/internal-client/module.d.ts +21 -0
- package/dist/adapters/http/internal-client/module.d.ts.map +1 -0
- package/dist/adapters/http/{ui/auth-console/http-client.mjs → internal-client/module.mjs} +16 -15
- package/dist/adapters/http/internal-client/module.mjs.map +1 -0
- package/dist/adapters/http/internal-client/types.d.ts +13 -0
- package/dist/adapters/http/internal-client/types.d.ts.map +1 -0
- package/dist/adapters/http/middleware/built-in/authorization/index.d.ts +1 -0
- package/dist/adapters/http/middleware/built-in/authorization/index.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/index.mjs +2 -1
- package/dist/adapters/http/middleware/built-in/authorization/issuance.d.ts +45 -0
- package/dist/adapters/http/middleware/built-in/authorization/issuance.d.ts.map +1 -0
- package/dist/adapters/http/middleware/built-in/authorization/issuance.mjs +61 -0
- package/dist/adapters/http/middleware/built-in/authorization/issuance.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/authorization/module.d.ts +26 -2
- package/dist/adapters/http/middleware/built-in/authorization/module.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/module.mjs +67 -1
- package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/types.d.ts +21 -1
- package/dist/adapters/http/middleware/built-in/authorization/types.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/basic.d.ts +2 -2
- package/dist/adapters/http/middleware/built-in/basic.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/basic.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/cors.d.ts +8 -2
- package/dist/adapters/http/middleware/built-in/cors.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/cors.mjs +20 -3
- package/dist/adapters/http/middleware/built-in/cors.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/error.d.ts +2 -2
- package/dist/adapters/http/middleware/built-in/error.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/error.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/index.d.ts +1 -4
- package/dist/adapters/http/middleware/built-in/index.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/index.mjs +3 -4
- package/dist/adapters/http/middleware/built-in/internal-http-client.d.ts +17 -0
- package/dist/adapters/http/middleware/built-in/internal-http-client.d.ts.map +1 -0
- package/dist/adapters/http/middleware/built-in/internal-http-client.mjs +27 -0
- package/dist/adapters/http/middleware/built-in/internal-http-client.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/logger.mjs +1 -1
- package/dist/adapters/http/middleware/built-in/logger.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/prometheus.d.ts +6 -5
- package/dist/adapters/http/middleware/built-in/prometheus.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/prometheus.mjs +3 -2
- package/dist/adapters/http/middleware/built-in/prometheus.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/rate-limit.d.ts +2 -2
- package/dist/adapters/http/middleware/built-in/rate-limit.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/rate-limit.mjs +15 -0
- package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -1
- package/dist/adapters/http/middleware/index.mjs +3 -4
- package/dist/adapters/http/request/constants.d.ts +1 -1
- package/dist/adapters/http/request/constants.d.ts.map +1 -1
- package/dist/adapters/http/request/constants.mjs +1 -5
- package/dist/adapters/http/request/constants.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/index.d.ts +1 -1
- package/dist/adapters/http/request/helpers/index.d.ts.map +1 -1
- package/dist/adapters/http/request/helpers/index.mjs +2 -2
- package/dist/adapters/http/request/helpers/locale.d.ts +2 -1
- package/dist/adapters/http/request/helpers/locale.d.ts.map +1 -1
- package/dist/adapters/http/request/helpers/locale.mjs +1 -1
- package/dist/adapters/http/request/helpers/locale.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/same-origin.d.ts +38 -0
- package/dist/adapters/http/request/helpers/same-origin.d.ts.map +1 -0
- package/dist/adapters/http/request/helpers/same-origin.mjs +68 -0
- package/dist/adapters/http/request/helpers/same-origin.mjs.map +1 -0
- package/dist/adapters/http/request/index.mjs +2 -2
- package/dist/adapters/http/request/permission/module.mjs +1 -1
- package/dist/adapters/http/request/permission/module.mjs.map +1 -1
- package/dist/adapters/http/request/types.d.ts +1 -2
- package/dist/adapters/http/request/types.d.ts.map +1 -1
- package/dist/adapters/shared/ldap/module.d.ts.map +1 -1
- package/dist/adapters/shared/ldap/module.mjs +4 -1
- package/dist/adapters/shared/ldap/module.mjs.map +1 -1
- package/dist/app/builder.d.ts +4 -4
- package/dist/app/builder.d.ts.map +1 -1
- package/dist/app/builder.mjs +7 -4
- package/dist/app/builder.mjs.map +1 -1
- package/dist/app/factory.d.ts +10 -0
- package/dist/app/factory.d.ts.map +1 -1
- package/dist/app/factory.mjs +26 -2
- package/dist/app/factory.mjs.map +1 -1
- package/dist/app/index.mjs +17 -19
- package/dist/app/modules/authentication/module.d.ts.map +1 -1
- package/dist/app/modules/authentication/module.mjs +15 -2
- package/dist/app/modules/authentication/module.mjs.map +1 -1
- package/dist/app/modules/authentication/repositories/session.d.ts +4 -1
- package/dist/app/modules/authentication/repositories/session.d.ts.map +1 -1
- package/dist/app/modules/authentication/repositories/session.mjs +20 -3
- package/dist/app/modules/authentication/repositories/session.mjs.map +1 -1
- package/dist/app/modules/components/index.d.ts +1 -0
- package/dist/app/modules/components/index.d.ts.map +1 -1
- package/dist/app/modules/components/module.d.ts +3 -1
- package/dist/app/modules/components/module.d.ts.map +1 -1
- package/dist/app/modules/components/module.mjs +26 -7
- package/dist/app/modules/components/module.mjs.map +1 -1
- package/dist/app/modules/components/types.d.ts +11 -0
- package/dist/app/modules/components/types.d.ts.map +1 -0
- package/dist/app/modules/config/app-origins.d.ts +10 -0
- package/dist/app/modules/config/app-origins.d.ts.map +1 -0
- package/dist/app/modules/config/app-origins.mjs +21 -0
- package/dist/app/modules/config/app-origins.mjs.map +1 -0
- package/dist/app/modules/config/constants.d.ts +23 -50
- package/dist/app/modules/config/constants.d.ts.map +1 -1
- package/dist/app/modules/config/constants.mjs +34 -51
- package/dist/app/modules/config/constants.mjs.map +1 -1
- package/dist/app/modules/config/index.d.ts +2 -3
- package/dist/app/modules/config/index.d.ts.map +1 -1
- package/dist/app/modules/config/index.mjs +4 -8
- package/dist/app/modules/config/module.d.ts +2 -2
- package/dist/app/modules/config/module.d.ts.map +1 -1
- package/dist/app/modules/config/module.mjs +1 -1
- package/dist/app/modules/config/module.mjs.map +1 -1
- package/dist/app/modules/config/read.d.ts +29 -0
- package/dist/app/modules/config/read.d.ts.map +1 -0
- package/dist/app/modules/config/read.mjs +65 -0
- package/dist/app/modules/config/read.mjs.map +1 -0
- package/dist/app/modules/config/types.d.ts +30 -405
- package/dist/app/modules/config/types.d.ts.map +1 -1
- package/dist/app/modules/config/validator.d.ts.map +1 -1
- package/dist/app/modules/config/validator.mjs +3 -87
- package/dist/app/modules/config/validator.mjs.map +1 -1
- package/dist/app/modules/database/index.d.ts +1 -0
- package/dist/app/modules/database/index.d.ts.map +1 -1
- package/dist/app/modules/database/index.mjs +2 -1
- package/dist/app/modules/database/migration.d.ts +33 -0
- package/dist/app/modules/database/migration.d.ts.map +1 -0
- package/dist/app/modules/database/migration.mjs +52 -0
- package/dist/app/modules/database/migration.mjs.map +1 -0
- package/dist/app/modules/database/module.d.ts.map +1 -1
- package/dist/app/modules/database/module.mjs +12 -6
- package/dist/app/modules/database/module.mjs.map +1 -1
- package/dist/app/modules/database/repositories/client/repository.d.ts +6 -1
- package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/client/repository.mjs +21 -4
- package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/event/repository.d.ts +29 -2
- package/dist/app/modules/database/repositories/event/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/event/repository.mjs +42 -24
- package/dist/app/modules/database/repositories/event/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/helpers.d.ts +24 -1
- package/dist/app/modules/database/repositories/helpers.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/helpers.mjs +38 -1
- package/dist/app/modules/database/repositories/helpers.mjs.map +1 -1
- package/dist/app/modules/database/repositories/identity-provider/repository.mjs +1 -1
- package/dist/app/modules/database/repositories/identity-provider-account/repository.mjs +4 -2
- package/dist/app/modules/database/repositories/identity-provider-account/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/key/repository.mjs +1 -1
- package/dist/app/modules/database/repositories/permission/repository.mjs +1 -1
- package/dist/app/modules/database/repositories/policy/repository.mjs +1 -1
- package/dist/app/modules/database/repositories/role/repository.mjs +1 -1
- package/dist/app/modules/database/repositories/scope/repository.mjs +1 -1
- package/dist/app/modules/database/repositories/trust-anchor/repository.mjs +1 -1
- package/dist/app/modules/database/repositories/user/repository.d.ts +7 -2
- package/dist/app/modules/database/repositories/user/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/user/repository.mjs +21 -4
- package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
- package/dist/app/modules/http/constants.d.ts +3 -1
- package/dist/app/modules/http/constants.d.ts.map +1 -1
- package/dist/app/modules/http/constants.mjs +3 -2
- package/dist/app/modules/http/constants.mjs.map +1 -1
- package/dist/app/modules/http/module.d.ts +30 -9
- package/dist/app/modules/http/module.d.ts.map +1 -1
- package/dist/app/modules/http/module.mjs +31 -33
- package/dist/app/modules/http/module.mjs.map +1 -1
- package/dist/app/modules/http/modules/controller.d.ts +4 -3
- package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
- package/dist/app/modules/http/modules/controller.mjs +65 -36
- package/dist/app/modules/http/modules/controller.mjs.map +1 -1
- package/dist/app/modules/http/modules/middleware.d.ts +13 -22
- package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
- package/dist/app/modules/http/modules/middleware.mjs +20 -36
- package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
- package/dist/app/modules/identity/module.mjs +4 -4
- package/dist/app/modules/identity/repositories/client.mjs +4 -2
- package/dist/app/modules/identity/repositories/client.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/user.mjs +4 -2
- package/dist/app/modules/identity/repositories/user.mjs.map +1 -1
- package/dist/app/modules/index.mjs +21 -23
- package/dist/app/modules/logger/module.mjs +1 -1
- package/dist/app/modules/logger/module.mjs.map +1 -1
- package/dist/app/modules/mail/module.d.ts.map +1 -1
- package/dist/app/modules/mail/module.mjs.map +1 -1
- package/dist/app/modules/oauth2/constants.d.ts +2 -1
- package/dist/app/modules/oauth2/constants.d.ts.map +1 -1
- package/dist/app/modules/oauth2/constants.mjs +1 -0
- package/dist/app/modules/oauth2/constants.mjs.map +1 -1
- package/dist/app/modules/oauth2/module.d.ts.map +1 -1
- package/dist/app/modules/oauth2/module.mjs +9 -4
- package/dist/app/modules/oauth2/module.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/client/repository.mjs +4 -2
- package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/consent/repository.d.ts.map +1 -1
- package/dist/app/modules/oauth2/repositories/consent/repository.mjs +3 -2
- package/dist/app/modules/oauth2/repositories/consent/repository.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/console-login/index.d.ts +2 -0
- package/dist/app/modules/oauth2/repositories/console-login/index.d.ts.map +1 -0
- package/dist/app/modules/oauth2/repositories/console-login/index.mjs +5 -0
- package/dist/app/modules/oauth2/repositories/console-login/store.d.ts +19 -0
- package/dist/app/modules/oauth2/repositories/console-login/store.d.ts.map +1 -0
- package/dist/app/modules/oauth2/repositories/console-login/store.mjs +47 -0
- package/dist/app/modules/oauth2/repositories/console-login/store.mjs.map +1 -0
- package/dist/app/modules/oauth2/repositories/constants.d.ts +1 -0
- package/dist/app/modules/oauth2/repositories/constants.d.ts.map +1 -1
- package/dist/app/modules/oauth2/repositories/constants.mjs +1 -0
- package/dist/app/modules/oauth2/repositories/constants.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/index.d.ts +1 -0
- package/dist/app/modules/oauth2/repositories/index.d.ts.map +1 -1
- package/dist/app/modules/oauth2/repositories/index.mjs +3 -1
- package/dist/app/modules/oauth2/repositories/session-token/repository.d.ts +2 -2
- package/dist/app/modules/oauth2/repositories/session-token/repository.d.ts.map +1 -1
- package/dist/app/modules/oauth2/repositories/session-token/repository.mjs +5 -3
- package/dist/app/modules/oauth2/repositories/session-token/repository.mjs.map +1 -1
- package/dist/app/modules/provisioning/module.d.ts.map +1 -1
- package/dist/app/modules/provisioning/module.mjs +5 -6
- package/dist/app/modules/provisioning/module.mjs.map +1 -1
- package/dist/app/modules/provisioning/sources/composite/module.d.ts.map +1 -1
- package/dist/app/modules/provisioning/sources/composite/module.mjs +2 -1
- package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -1
- package/dist/app/modules/provisioning/sources/default/module.d.ts.map +1 -1
- package/dist/app/modules/provisioning/sources/default/module.mjs +2 -1
- package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -1
- package/dist/app/modules/runtime/module.d.ts.map +1 -1
- package/dist/app/modules/runtime/module.mjs +2 -1
- package/dist/app/modules/runtime/module.mjs.map +1 -1
- package/dist/app/types.d.ts +16 -0
- package/dist/app/types.d.ts.map +1 -1
- package/dist/cli/commands/config.d.ts +40 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.mjs +65 -0
- package/dist/cli/commands/config.mjs.map +1 -0
- package/dist/cli/commands/healthcheck.d.ts +3 -2
- package/dist/cli/commands/healthcheck.d.ts.map +1 -1
- package/dist/cli/commands/healthcheck.mjs +6 -3
- package/dist/cli/commands/healthcheck.mjs.map +1 -1
- package/dist/cli/commands/index.d.ts +3 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.mjs +3 -1
- package/dist/cli/commands/migration.d.ts +3 -10
- package/dist/cli/commands/migration.d.ts.map +1 -1
- package/dist/cli/commands/migration.mjs +17 -9
- package/dist/cli/commands/migration.mjs.map +1 -1
- package/dist/cli/commands/shutdown.d.ts +16 -0
- package/dist/cli/commands/shutdown.d.ts.map +1 -0
- package/dist/cli/commands/shutdown.mjs +41 -0
- package/dist/cli/commands/shutdown.mjs.map +1 -0
- package/dist/cli/commands/start.d.ts +3 -2
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.mjs +3 -21
- package/dist/cli/commands/start.mjs.map +1 -1
- package/dist/cli/commands/types.d.ts.map +1 -0
- package/dist/cli/index.d.ts +8 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.mjs.map +1 -1
- package/dist/cli/module.d.ts +0 -2
- package/dist/cli/module.d.ts.map +1 -1
- package/dist/cli/module.mjs +4 -3
- package/dist/cli/module.mjs.map +1 -1
- package/dist/components/oauth2-cleaner/module.d.ts +2 -2
- package/dist/components/oauth2-cleaner/module.d.ts.map +1 -1
- package/dist/components/oauth2-cleaner/module.mjs +10 -7
- package/dist/components/oauth2-cleaner/module.mjs.map +1 -1
- package/dist/core/authentication/index.mjs +2 -1
- package/dist/core/authentication/session/constants.d.ts +10 -0
- package/dist/core/authentication/session/constants.d.ts.map +1 -0
- package/dist/core/authentication/session/constants.mjs +16 -0
- package/dist/core/authentication/session/constants.mjs.map +1 -0
- package/dist/core/authentication/session/index.d.ts +1 -0
- package/dist/core/authentication/session/index.d.ts.map +1 -1
- package/dist/core/authentication/session/index.mjs +2 -1
- package/dist/core/authentication/session/module.d.ts +2 -1
- package/dist/core/authentication/session/module.d.ts.map +1 -1
- package/dist/core/authentication/session/module.mjs +7 -1
- package/dist/core/authentication/session/module.mjs.map +1 -1
- package/dist/core/authentication/session/types.d.ts +70 -1
- package/dist/core/authentication/session/types.d.ts.map +1 -1
- package/dist/core/authentication/session/types.mjs.map +1 -1
- package/dist/core/entities/client/schema.d.ts.map +1 -1
- package/dist/core/entities/client/schema.mjs +1 -2
- package/dist/core/entities/client/schema.mjs.map +1 -1
- package/dist/core/entities/client/service.d.ts.map +1 -1
- package/dist/core/entities/client/service.mjs +15 -1
- package/dist/core/entities/client/service.mjs.map +1 -1
- package/dist/core/entities/client/system-clients.d.ts +0 -5
- package/dist/core/entities/client/system-clients.d.ts.map +1 -1
- package/dist/core/entities/client/system-clients.mjs +0 -6
- package/dist/core/entities/client/system-clients.mjs.map +1 -1
- package/dist/core/entities/client/types.d.ts +12 -0
- package/dist/core/entities/client/types.d.ts.map +1 -1
- package/dist/core/entities/client-permission/service.mjs +1 -1
- package/dist/core/entities/client-permission/service.mjs.map +1 -1
- package/dist/core/entities/event/constants.d.ts +1 -6
- package/dist/core/entities/event/constants.d.ts.map +1 -1
- package/dist/core/entities/event/constants.mjs +1 -5
- package/dist/core/entities/event/constants.mjs.map +1 -1
- package/dist/core/entities/event/entity-event-handler.d.ts.map +1 -1
- package/dist/core/entities/event/entity-event-handler.mjs +3 -2
- package/dist/core/entities/event/entity-event-handler.mjs.map +1 -1
- package/dist/core/entities/event/service.d.ts.map +1 -1
- package/dist/core/entities/event/service.mjs +3 -3
- package/dist/core/entities/event/service.mjs.map +1 -1
- package/dist/core/entities/event/types.d.ts +15 -1
- package/dist/core/entities/event/types.d.ts.map +1 -1
- package/dist/core/entities/permission/service.mjs +1 -2
- package/dist/core/entities/permission/service.mjs.map +1 -1
- package/dist/core/entities/role-permission/service.mjs +1 -1
- package/dist/core/entities/role-permission/service.mjs.map +1 -1
- package/dist/core/entities/session/service.d.ts +13 -1
- package/dist/core/entities/session/service.d.ts.map +1 -1
- package/dist/core/entities/session/service.mjs +19 -16
- package/dist/core/entities/session/service.mjs.map +1 -1
- package/dist/core/entities/user/schema.d.ts.map +1 -1
- package/dist/core/entities/user/schema.mjs +1 -0
- package/dist/core/entities/user/schema.mjs.map +1 -1
- package/dist/core/entities/user/service.d.ts.map +1 -1
- package/dist/core/entities/user/service.mjs +21 -1
- package/dist/core/entities/user/service.mjs.map +1 -1
- package/dist/core/entities/user/types.d.ts +12 -0
- package/dist/core/entities/user/types.d.ts.map +1 -1
- package/dist/core/entities/user-permission/service.mjs +1 -1
- package/dist/core/entities/user-permission/service.mjs.map +1 -1
- package/dist/core/identity/permission/junction-grant.mjs +1 -1
- package/dist/core/identity/permission/junction-grant.mjs.map +1 -1
- package/dist/core/identity/provider/account/module.mjs +1 -1
- package/dist/core/identity/provider/account/module.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/protocols/oauth2/assurance.mjs +1 -1
- package/dist/core/identity/provider/authentication/protocols/oauth2/assurance.mjs.map +1 -1
- package/dist/core/identity/registration/service.d.ts.map +1 -1
- package/dist/core/identity/registration/service.mjs +2 -1
- package/dist/core/identity/registration/service.mjs.map +1 -1
- package/dist/core/index.mjs +11 -3
- package/dist/core/oauth2/authorization/helpers.d.ts +14 -0
- package/dist/core/oauth2/authorization/helpers.d.ts.map +1 -1
- package/dist/core/oauth2/authorization/helpers.mjs +9 -1
- package/dist/core/oauth2/authorization/helpers.mjs.map +1 -1
- package/dist/core/oauth2/authorization/index.mjs +2 -2
- package/dist/core/oauth2/authorization/module.mjs +1 -1
- package/dist/core/oauth2/authorization/module.mjs.map +1 -1
- package/dist/core/oauth2/backchannel-logout/constants.d.ts +16 -0
- package/dist/core/oauth2/backchannel-logout/constants.d.ts.map +1 -0
- package/dist/core/oauth2/backchannel-logout/constants.mjs +20 -0
- package/dist/core/oauth2/backchannel-logout/constants.mjs.map +1 -0
- package/dist/core/oauth2/backchannel-logout/index.d.ts +4 -0
- package/dist/core/oauth2/backchannel-logout/index.d.ts.map +1 -0
- package/dist/core/oauth2/backchannel-logout/index.mjs +6 -0
- package/dist/core/oauth2/backchannel-logout/module.d.ts +26 -0
- package/dist/core/oauth2/backchannel-logout/module.d.ts.map +1 -0
- package/dist/core/oauth2/backchannel-logout/module.mjs +78 -0
- package/dist/core/oauth2/backchannel-logout/module.mjs.map +1 -0
- package/dist/core/oauth2/backchannel-logout/types.d.ts +29 -0
- package/dist/core/oauth2/backchannel-logout/types.d.ts.map +1 -0
- package/dist/core/oauth2/console-login/constants.d.ts +19 -0
- package/dist/core/oauth2/console-login/constants.d.ts.map +1 -0
- package/dist/core/oauth2/console-login/constants.mjs +24 -0
- package/dist/core/oauth2/console-login/constants.mjs.map +1 -0
- package/dist/core/oauth2/console-login/index.d.ts +3 -0
- package/dist/core/oauth2/console-login/index.d.ts.map +1 -0
- package/dist/core/oauth2/console-login/index.mjs +5 -0
- package/dist/core/oauth2/console-login/types.d.ts +53 -0
- package/dist/core/oauth2/console-login/types.d.ts.map +1 -0
- package/dist/core/oauth2/end-session/service.mjs +1 -1
- package/dist/core/oauth2/end-session/service.mjs.map +1 -1
- package/dist/core/oauth2/federated-login/module.mjs +3 -3
- package/dist/core/oauth2/federated-login/module.mjs.map +1 -1
- package/dist/core/oauth2/index.d.ts +4 -0
- package/dist/core/oauth2/index.d.ts.map +1 -1
- package/dist/core/oauth2/index.mjs +13 -3
- package/dist/core/oauth2/introspection/index.d.ts +3 -0
- package/dist/core/oauth2/introspection/index.d.ts.map +1 -0
- package/dist/core/oauth2/introspection/index.mjs +5 -0
- package/dist/core/oauth2/introspection/module.d.ts +14 -0
- package/dist/core/oauth2/introspection/module.d.ts.map +1 -0
- package/dist/core/oauth2/introspection/module.mjs +49 -0
- package/dist/core/oauth2/introspection/module.mjs.map +1 -0
- package/dist/core/oauth2/introspection/types.d.ts +45 -0
- package/dist/core/oauth2/introspection/types.d.ts.map +1 -0
- package/dist/core/oauth2/introspection/types.mjs +4 -0
- package/dist/core/oauth2/openid/claims.d.ts +20 -2
- package/dist/core/oauth2/openid/claims.d.ts.map +1 -1
- package/dist/core/oauth2/openid/claims.mjs +18 -4
- package/dist/core/oauth2/openid/claims.mjs.map +1 -1
- package/dist/core/oauth2/session-credential/constants.d.ts +30 -0
- package/dist/core/oauth2/session-credential/constants.d.ts.map +1 -0
- package/dist/core/oauth2/session-credential/constants.mjs +34 -0
- package/dist/core/oauth2/session-credential/constants.mjs.map +1 -0
- package/dist/core/oauth2/session-credential/index.d.ts +3 -0
- package/dist/core/oauth2/session-credential/index.d.ts.map +1 -0
- package/dist/core/oauth2/session-credential/index.mjs +6 -0
- package/dist/core/oauth2/session-credential/module.d.ts +31 -0
- package/dist/core/oauth2/session-credential/module.d.ts.map +1 -0
- package/dist/core/oauth2/session-credential/module.mjs +43 -0
- package/dist/core/oauth2/session-credential/module.mjs.map +1 -0
- package/dist/core/oauth2/session-token/constants.d.ts +10 -0
- package/dist/core/oauth2/session-token/constants.d.ts.map +1 -0
- package/dist/core/oauth2/session-token/constants.mjs +16 -0
- package/dist/core/oauth2/session-token/constants.mjs.map +1 -0
- package/dist/core/oauth2/session-token/index.d.ts +1 -0
- package/dist/core/oauth2/session-token/index.d.ts.map +1 -1
- package/dist/core/oauth2/session-token/index.mjs +2 -1
- package/dist/core/oauth2/session-token/types.d.ts +13 -2
- package/dist/core/oauth2/session-token/types.d.ts.map +1 -1
- package/dist/core/provisioning/merge/module.mjs +5 -3
- package/dist/core/provisioning/merge/module.mjs.map +1 -1
- package/dist/core/query/module.mjs +1 -1
- package/dist/core/query/module.mjs.map +1 -1
- package/dist/core/security/policy/evaluator.mjs +1 -1
- package/dist/core/security/policy/evaluator.mjs.map +1 -1
- package/dist/index.mjs +62 -59
- package/dist/path.mjs +1 -1
- package/dist/swagger.json +466 -104
- package/dist/utils/error.d.ts +6 -0
- package/dist/utils/error.d.ts.map +1 -1
- package/dist/utils/error.mjs +6 -2
- package/dist/utils/error.mjs.map +1 -1
- package/dist/utils/index.mjs +2 -2
- package/package.json +31 -25
- package/dist/adapters/http/middleware/built-in/assets.d.ts +0 -11
- package/dist/adapters/http/middleware/built-in/assets.d.ts.map +0 -1
- package/dist/adapters/http/middleware/built-in/assets.mjs +0 -91
- package/dist/adapters/http/middleware/built-in/assets.mjs.map +0 -1
- package/dist/adapters/http/middleware/built-in/theme.d.ts +0 -15
- package/dist/adapters/http/middleware/built-in/theme.d.ts.map +0 -1
- package/dist/adapters/http/middleware/built-in/theme.mjs +0 -27
- package/dist/adapters/http/middleware/built-in/theme.mjs.map +0 -1
- package/dist/adapters/http/middleware/built-in/types.d.ts +0 -14
- package/dist/adapters/http/middleware/built-in/types.d.ts.map +0 -1
- package/dist/adapters/http/middleware/built-in/ui-http-client.d.ts +0 -15
- package/dist/adapters/http/middleware/built-in/ui-http-client.d.ts.map +0 -1
- package/dist/adapters/http/middleware/built-in/ui-http-client.mjs +0 -25
- package/dist/adapters/http/middleware/built-in/ui-http-client.mjs.map +0 -1
- package/dist/adapters/http/request/helpers/redirect.d.ts +0 -14
- package/dist/adapters/http/request/helpers/redirect.d.ts.map +0 -1
- package/dist/adapters/http/request/helpers/redirect.mjs +0 -36
- package/dist/adapters/http/request/helpers/redirect.mjs.map +0 -1
- package/dist/adapters/http/ui/account-console/index.d.ts +0 -4
- package/dist/adapters/http/ui/account-console/index.d.ts.map +0 -1
- package/dist/adapters/http/ui/account-console/index.mjs +0 -6
- package/dist/adapters/http/ui/account-console/module.d.ts +0 -28
- package/dist/adapters/http/ui/account-console/module.d.ts.map +0 -1
- package/dist/adapters/http/ui/account-console/module.mjs +0 -80
- package/dist/adapters/http/ui/account-console/module.mjs.map +0 -1
- package/dist/adapters/http/ui/account-console/ref.d.ts +0 -30
- package/dist/adapters/http/ui/account-console/ref.d.ts.map +0 -1
- package/dist/adapters/http/ui/account-console/ref.mjs +0 -50
- package/dist/adapters/http/ui/account-console/ref.mjs.map +0 -1
- package/dist/adapters/http/ui/account-console/types.d.ts +0 -11
- package/dist/adapters/http/ui/account-console/types.d.ts.map +0 -1
- package/dist/adapters/http/ui/auth-console/http-client.d.ts +0 -22
- package/dist/adapters/http/ui/auth-console/http-client.d.ts.map +0 -1
- package/dist/adapters/http/ui/auth-console/http-client.mjs.map +0 -1
- package/dist/adapters/http/ui/auth-console/index.d.ts +0 -6
- package/dist/adapters/http/ui/auth-console/index.d.ts.map +0 -1
- package/dist/adapters/http/ui/auth-console/index.mjs +0 -8
- package/dist/adapters/http/ui/auth-console/module.d.ts +0 -4
- package/dist/adapters/http/ui/auth-console/module.d.ts.map +0 -1
- package/dist/adapters/http/ui/auth-console/module.mjs +0 -73
- package/dist/adapters/http/ui/auth-console/module.mjs.map +0 -1
- package/dist/adapters/http/ui/auth-console/resolve.d.ts +0 -21
- package/dist/adapters/http/ui/auth-console/resolve.d.ts.map +0 -1
- package/dist/adapters/http/ui/auth-console/resolve.mjs +0 -53
- package/dist/adapters/http/ui/auth-console/resolve.mjs.map +0 -1
- package/dist/adapters/http/ui/auth-console/serve.d.ts +0 -9
- package/dist/adapters/http/ui/auth-console/serve.d.ts.map +0 -1
- package/dist/adapters/http/ui/auth-console/serve.mjs +0 -35
- package/dist/adapters/http/ui/auth-console/serve.mjs.map +0 -1
- package/dist/adapters/http/ui/auth-console/types.d.ts +0 -26
- package/dist/adapters/http/ui/auth-console/types.d.ts.map +0 -1
- package/dist/adapters/http/ui/console-packages/index.d.ts.map +0 -1
- package/dist/adapters/http/ui/console-packages/index.mjs +0 -5
- package/dist/adapters/http/ui/console-packages/module.d.ts +0 -33
- package/dist/adapters/http/ui/console-packages/module.d.ts.map +0 -1
- package/dist/adapters/http/ui/console-packages/module.mjs +0 -70
- package/dist/adapters/http/ui/console-packages/module.mjs.map +0 -1
- package/dist/adapters/http/ui/console-packages/types.d.ts +0 -12
- package/dist/adapters/http/ui/console-packages/types.d.ts.map +0 -1
- package/dist/adapters/http/ui/index.d.ts +0 -6
- package/dist/adapters/http/ui/index.d.ts.map +0 -1
- package/dist/adapters/http/ui/index.mjs +0 -25
- package/dist/adapters/http/ui/shared/html.d.ts +0 -76
- package/dist/adapters/http/ui/shared/html.d.ts.map +0 -1
- package/dist/adapters/http/ui/shared/html.mjs +0 -104
- package/dist/adapters/http/ui/shared/html.mjs.map +0 -1
- package/dist/adapters/http/ui/shared/index.d.ts +0 -2
- package/dist/adapters/http/ui/shared/index.d.ts.map +0 -1
- package/dist/adapters/http/ui/shared/index.mjs +0 -5
- package/dist/adapters/http/ui/theme/apply.d.ts +0 -12
- package/dist/adapters/http/ui/theme/apply.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/apply.mjs +0 -29
- package/dist/adapters/http/ui/theme/apply.mjs.map +0 -1
- package/dist/adapters/http/ui/theme/assets.d.ts +0 -20
- package/dist/adapters/http/ui/theme/assets.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/assets.mjs +0 -86
- package/dist/adapters/http/ui/theme/assets.mjs.map +0 -1
- package/dist/adapters/http/ui/theme/constants.d.ts +0 -16
- package/dist/adapters/http/ui/theme/constants.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/constants.mjs +0 -20
- package/dist/adapters/http/ui/theme/constants.mjs.map +0 -1
- package/dist/adapters/http/ui/theme/contract/constants.d.ts +0 -120
- package/dist/adapters/http/ui/theme/contract/constants.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/contract/constants.mjs +0 -136
- package/dist/adapters/http/ui/theme/contract/constants.mjs.map +0 -1
- package/dist/adapters/http/ui/theme/contract/head.d.ts +0 -12
- package/dist/adapters/http/ui/theme/contract/head.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/contract/head.mjs +0 -61
- package/dist/adapters/http/ui/theme/contract/head.mjs.map +0 -1
- package/dist/adapters/http/ui/theme/contract/index.d.ts +0 -6
- package/dist/adapters/http/ui/theme/contract/index.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/contract/index.mjs +0 -8
- package/dist/adapters/http/ui/theme/contract/manifest.d.ts +0 -25
- package/dist/adapters/http/ui/theme/contract/manifest.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/contract/manifest.mjs +0 -77
- package/dist/adapters/http/ui/theme/contract/manifest.mjs.map +0 -1
- package/dist/adapters/http/ui/theme/contract/types.d.ts +0 -26
- package/dist/adapters/http/ui/theme/contract/types.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/contract/utils.d.ts +0 -11
- package/dist/adapters/http/ui/theme/contract/utils.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/contract/utils.mjs +0 -22
- package/dist/adapters/http/ui/theme/contract/utils.mjs.map +0 -1
- package/dist/adapters/http/ui/theme/index.d.ts +0 -7
- package/dist/adapters/http/ui/theme/index.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/index.mjs +0 -13
- package/dist/adapters/http/ui/theme/module.d.ts +0 -79
- package/dist/adapters/http/ui/theme/module.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/module.mjs +0 -206
- package/dist/adapters/http/ui/theme/module.mjs.map +0 -1
- package/dist/adapters/http/ui/theme/types.d.ts +0 -42
- package/dist/adapters/http/ui/theme/types.d.ts.map +0 -1
- package/dist/app/modules/config/helpers.d.ts +0 -9
- package/dist/app/modules/config/helpers.d.ts.map +0 -1
- package/dist/app/modules/config/helpers.mjs +0 -22
- package/dist/app/modules/config/helpers.mjs.map +0 -1
- package/dist/app/modules/config/normalize.d.ts +0 -3
- package/dist/app/modules/config/normalize.d.ts.map +0 -1
- package/dist/app/modules/config/normalize.mjs +0 -117
- package/dist/app/modules/config/normalize.mjs.map +0 -1
- package/dist/app/modules/config/origins.d.ts +0 -25
- package/dist/app/modules/config/origins.d.ts.map +0 -1
- package/dist/app/modules/config/origins.mjs +0 -46
- package/dist/app/modules/config/origins.mjs.map +0 -1
- package/dist/app/modules/config/read/env.d.ts +0 -3
- package/dist/app/modules/config/read/env.d.ts.map +0 -1
- package/dist/app/modules/config/read/env.mjs +0 -139
- package/dist/app/modules/config/read/env.mjs.map +0 -1
- package/dist/app/modules/config/read/fs.d.ts +0 -3
- package/dist/app/modules/config/read/fs.d.ts.map +0 -1
- package/dist/app/modules/config/read/fs.mjs +0 -60
- package/dist/app/modules/config/read/fs.mjs.map +0 -1
- package/dist/app/modules/config/read/index.d.ts +0 -5
- package/dist/app/modules/config/read/index.d.ts.map +0 -1
- package/dist/app/modules/config/read/index.mjs +0 -7
- package/dist/app/modules/config/read/module.d.ts +0 -4
- package/dist/app/modules/config/read/module.d.ts.map +0 -1
- package/dist/app/modules/config/read/module.mjs +0 -29
- package/dist/app/modules/config/read/module.mjs.map +0 -1
- package/dist/app/modules/config/read/types.d.ts +0 -9
- package/dist/app/modules/config/read/types.d.ts.map +0 -1
- package/dist/app/modules/config/trust-proxy.d.ts +0 -28
- package/dist/app/modules/config/trust-proxy.d.ts.map +0 -1
- package/dist/app/modules/config/trust-proxy.mjs +0 -64
- package/dist/app/modules/config/trust-proxy.mjs.map +0 -1
- package/dist/cli/config.d.ts +0 -18
- package/dist/cli/config.d.ts.map +0 -1
- package/dist/cli/config.mjs +0 -34
- package/dist/cli/config.mjs.map +0 -1
- package/dist/cli/types.d.ts.map +0 -1
- package/dist/utils/host.d.ts +0 -2
- package/dist/utils/host.d.ts.map +0 -1
- package/dist/utils/host.mjs +0 -12
- package/dist/utils/host.mjs.map +0 -1
- /package/dist/adapters/http/{middleware/built-in → controllers/workflows/account}/types.mjs +0 -0
- /package/dist/adapters/http/{ui/console-packages → controllers/workflows/admin}/index.d.ts +0 -0
- /package/dist/adapters/http/{ui/account-console → controllers/workflows/admin}/types.mjs +0 -0
- /package/dist/adapters/http/{ui/auth-console → controllers/workflows/console-login}/types.mjs +0 -0
- /package/dist/adapters/http/{ui/console-packages → internal-client}/types.mjs +0 -0
- /package/dist/{adapters/http/ui/theme/contract → app/modules/components}/types.mjs +0 -0
- /package/dist/cli/{types.d.ts → commands/types.d.ts} +0 -0
- /package/dist/{adapters/http/ui/theme → cli/commands}/types.mjs +0 -0
- /package/dist/{app/modules/config/read → core/oauth2/backchannel-logout}/types.mjs +0 -0
- /package/dist/{cli → core/oauth2/console-login}/types.mjs +0 -0
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import "node:path";
|
|
2
|
-
import "node:url";
|
|
3
|
-
import.meta.url;
|
|
4
|
-
import { patternHasGlobstarInAuthority } from "@authup/kit";
|
|
5
|
-
import { URL } from "node:url";
|
|
6
|
-
//#region src/app/modules/config/origins.ts
|
|
7
|
-
const SCHEME_REGEX = /^[a-z][a-z0-9+.-]*:\/\//i;
|
|
8
|
-
const ALLOWED_PROTOCOLS = ["http:", "https:"];
|
|
9
|
-
/**
|
|
10
|
-
* Expand a configured trusted-origin value to its canonical origin(s).
|
|
11
|
-
*
|
|
12
|
-
* A value with an explicit scheme contributes exactly that origin —
|
|
13
|
-
* the way to restrict a host to https only. A bare host[:port]
|
|
14
|
-
* (e.g. `hub.local`) contributes both the http and https origin.
|
|
15
|
-
*
|
|
16
|
-
* Only http(s) is accepted: other schemes either have no usable web
|
|
17
|
-
* origin (`new URL('myapp://x').origin` is the literal string "null")
|
|
18
|
-
* or are meaningless as a redirect target for the web client — letting
|
|
19
|
-
* them through would put garbage into a security-sensitive allowlist.
|
|
20
|
-
*
|
|
21
|
-
* Throws on values that don't parse as a URL/host or use another scheme.
|
|
22
|
-
*/ function expandToOrigins(value) {
|
|
23
|
-
if (patternHasGlobstarInAuthority(value)) throw new Error(`A trusted origin must not use ** in the host, it would match every origin. Use a single * for a host wildcard, got: ${value}`);
|
|
24
|
-
if (SCHEME_REGEX.test(value)) {
|
|
25
|
-
const url = new URL(value);
|
|
26
|
-
if (!ALLOWED_PROTOCOLS.includes(url.protocol)) throw new Error(`A trusted origin must use the http or https protocol, got: ${url.protocol}`);
|
|
27
|
-
return [url.origin];
|
|
28
|
-
}
|
|
29
|
-
return [new URL(`http://${value}`).origin, new URL(`https://${value}`).origin];
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Derive the set of trusted application origins (scheme://host[:port]).
|
|
33
|
-
*
|
|
34
|
-
* publicUrl may carry a path, so its origin is extracted; trustedOrigins
|
|
35
|
-
* entries are canonical origins — normalizeConfig owns that invariant
|
|
36
|
-
* (expansion + dedupe via expandToOrigins) — and are merged verbatim.
|
|
37
|
-
*/ function getAppOrigins(config) {
|
|
38
|
-
const origins = /* @__PURE__ */ new Set();
|
|
39
|
-
origins.add(new URL(config.publicUrl).origin);
|
|
40
|
-
for (const origin of config.trustedOrigins ?? []) origins.add(origin);
|
|
41
|
-
return Array.from(origins);
|
|
42
|
-
}
|
|
43
|
-
//#endregion
|
|
44
|
-
export { expandToOrigins, getAppOrigins };
|
|
45
|
-
|
|
46
|
-
//# sourceMappingURL=origins.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"origins.mjs","names":["URL","patternHasGlobstarInAuthority","SCHEME_REGEX","ALLOWED_PROTOCOLS","expandToOrigins","value","Error","test","url","includes","protocol","origin","getAppOrigins","config","origins","Set","add","publicUrl","trustedOrigins","Array","from"],"sources":["../../../../src/app/modules/config/origins.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { URL } from 'node:url';\nimport { patternHasGlobstarInAuthority } from '@authup/kit';\nimport type { Config } from './types.ts';\n\nconst SCHEME_REGEX = /^[a-z][a-z0-9+.-]*:\\/\\//i;\n\nconst ALLOWED_PROTOCOLS = ['http:', 'https:'];\n\n/**\n * Expand a configured trusted-origin value to its canonical origin(s).\n *\n * A value with an explicit scheme contributes exactly that origin —\n * the way to restrict a host to https only. A bare host[:port]\n * (e.g. `hub.local`) contributes both the http and https origin.\n *\n * Only http(s) is accepted: other schemes either have no usable web\n * origin (`new URL('myapp://x').origin` is the literal string \"null\")\n * or are meaningless as a redirect target for the web client — letting\n * them through would put garbage into a security-sensitive allowlist.\n *\n * Throws on values that don't parse as a URL/host or use another scheme.\n */\nexport function expandToOrigins(value: string): string[] {\n // `new URL()` accepts `*` and `**` as a hostname, and every trusted origin\n // becomes an `<origin>/**` redirect pattern for the system clients. A `**`\n // there matches the rest of the value outright, so a single typo would\n // turn the redirect allowlist of every realm's console clients into\n // allow-any-origin. A single `*` is a supported host wildcard.\n if (patternHasGlobstarInAuthority(value)) {\n throw new Error(`A trusted origin must not use ** in the host, it would match every origin. Use a single * for a host wildcard, got: ${value}`);\n }\n\n if (SCHEME_REGEX.test(value)) {\n const url = new URL(value);\n if (!ALLOWED_PROTOCOLS.includes(url.protocol)) {\n throw new Error(`A trusted origin must use the http or https protocol, got: ${url.protocol}`);\n }\n\n return [url.origin];\n }\n\n return [\n new URL(`http://${value}`).origin,\n new URL(`https://${value}`).origin,\n ];\n}\n\n/**\n * Derive the set of trusted application origins (scheme://host[:port]).\n *\n * publicUrl may carry a path, so its origin is extracted; trustedOrigins\n * entries are canonical origins — normalizeConfig owns that invariant\n * (expansion + dedupe via expandToOrigins) — and are merged verbatim.\n */\nexport function getAppOrigins(config: Pick<Config, 'publicUrl' | 'trustedOrigins'>): string[] {\n const origins = new Set<string>();\n origins.add(new URL(config.publicUrl).origin);\n\n for (const origin of config.trustedOrigins ?? []) {\n origins.add(origin);\n }\n\n return Array.from(origins);\n}\n"],"mappings":";;;;;;AAWA,MAAME,eAAe;AAErB,MAAMC,oBAAoB,CAAC,SAAS,QAAS;;;;;;;;;;;;;;GAgB7C,SAAgBC,gBAAgBC,OAAa;CAMzC,IAAIJ,8BAA8BI,KAAAA,GAC9B,MAAM,IAAIC,MAAM,uHAAuHD,OAAO;CAGlJ,IAAIH,aAAaK,KAAKF,KAAAA,GAAQ;EAC1B,MAAMG,MAAM,IAAIR,IAAIK,KAAAA;EACpB,IAAI,CAACF,kBAAkBM,SAASD,IAAIE,QAAQ,GACxC,MAAM,IAAIJ,MAAM,8DAA8DE,IAAIE,UAAU;EAGhG,OAAO,CAACF,IAAIG,MAAO;CACvB;CAEA,OAAO,CACH,IAAIX,IAAI,UAAUK,OAAO,CAAA,CAAEM,QAC3B,IAAIX,IAAI,WAAWK,OAAO,CAAA,CAAEM,MAC/B;AACL;;;;;;;GASA,SAAgBC,cAAcC,QAAoD;CAC9E,MAAMC,0BAAU,IAAIC,IAAAA;CACpBD,QAAQE,IAAI,IAAIhB,IAAIa,OAAOI,SAAS,CAAA,CAAEN,MAAM;CAE5C,KAAK,MAAMA,UAAUE,OAAOK,kBAAkB,CAAA,GAC1CJ,QAAQE,IAAIL,MAAAA;CAGhB,OAAOQ,MAAMC,KAAKN,OAAAA;AACtB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/config/read/env.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA4B/C,wBAAgB,oBAAoB,IAAK,WAAW,CA4QnD"}
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import "node:path";
|
|
2
|
-
import "node:url";
|
|
3
|
-
import.meta.url;
|
|
4
|
-
import { ConfigEnvironmentVariableName } from "../constants.mjs";
|
|
5
|
-
import { hasEnvDataSourceOptions, readDataSourceOptionsFromEnv } from "typeorm-extension";
|
|
6
|
-
import { oneOf, read, readArray, readBool, readInt } from "envix";
|
|
7
|
-
//#region src/app/modules/config/read/env.ts
|
|
8
|
-
const BOOLEAN_TRUE_VALUES = /* @__PURE__ */ new Set([
|
|
9
|
-
"true",
|
|
10
|
-
"t",
|
|
11
|
-
"1",
|
|
12
|
-
"yes",
|
|
13
|
-
"y",
|
|
14
|
-
"on"
|
|
15
|
-
]);
|
|
16
|
-
const BOOLEAN_FALSE_VALUES = /* @__PURE__ */ new Set([
|
|
17
|
-
"false",
|
|
18
|
-
"f",
|
|
19
|
-
"0",
|
|
20
|
-
"no",
|
|
21
|
-
"n",
|
|
22
|
-
"off"
|
|
23
|
-
]);
|
|
24
|
-
/**
|
|
25
|
-
* Boolean env reader that FAILS LOUD on a set-but-unrecognized value instead
|
|
26
|
-
* of silently falling back to the default (envix's `readBool` swallows e.g.
|
|
27
|
-
* `MFA_REQUIRED=yes`). Reserved for security-relevant toggles where a silent
|
|
28
|
-
* default is a weakened posture. Returns `undefined` when the var is unset.
|
|
29
|
-
*/ function readBoolStrict(name) {
|
|
30
|
-
const raw = read(name);
|
|
31
|
-
if (typeof raw !== "string" || raw.trim().length === 0) return;
|
|
32
|
-
const normalized = raw.trim().toLowerCase();
|
|
33
|
-
if (BOOLEAN_TRUE_VALUES.has(normalized)) return true;
|
|
34
|
-
if (BOOLEAN_FALSE_VALUES.has(normalized)) return false;
|
|
35
|
-
throw new Error(`The environment variable ${name} must be a boolean value (received "${raw}").`);
|
|
36
|
-
}
|
|
37
|
-
function readConfigRawFromEnv() {
|
|
38
|
-
const options = {};
|
|
39
|
-
const env = read(ConfigEnvironmentVariableName.NODE_ENV);
|
|
40
|
-
if (env) options.env = env;
|
|
41
|
-
const writableDirectoryPath = read(ConfigEnvironmentVariableName.WRITABLE_DIRECTORY_PATH);
|
|
42
|
-
if (writableDirectoryPath) options.writableDirectoryPath = writableDirectoryPath;
|
|
43
|
-
const themeDirectoryPath = read(ConfigEnvironmentVariableName.THEME_DIRECTORY_PATH);
|
|
44
|
-
if (themeDirectoryPath) options.themeDirectoryPath = themeDirectoryPath;
|
|
45
|
-
const themeFragmentsEnabled = readBool(ConfigEnvironmentVariableName.THEME_FRAGMENTS_ENABLED);
|
|
46
|
-
if (typeof themeFragmentsEnabled !== "undefined") options.themeFragmentsEnabled = themeFragmentsEnabled;
|
|
47
|
-
const authConsolePath = read(ConfigEnvironmentVariableName.AUTH_CONSOLE_PATH);
|
|
48
|
-
if (authConsolePath) options.authConsolePath = authConsolePath;
|
|
49
|
-
const accountConsolePath = read(ConfigEnvironmentVariableName.ACCOUNT_CONSOLE_PATH);
|
|
50
|
-
if (accountConsolePath) options.accountConsolePath = accountConsolePath;
|
|
51
|
-
if (hasEnvDataSourceOptions()) options.db = readDataSourceOptionsFromEnv();
|
|
52
|
-
const redis = oneOf([readBool(ConfigEnvironmentVariableName.REDIS), read(ConfigEnvironmentVariableName.REDIS)]);
|
|
53
|
-
if (typeof redis !== "undefined") options.redis = redis;
|
|
54
|
-
const smtp = oneOf([readBool(ConfigEnvironmentVariableName.SMTP), read(ConfigEnvironmentVariableName.SMTP)]);
|
|
55
|
-
if (typeof smtp !== "undefined") options.smtp = smtp;
|
|
56
|
-
const host = read(ConfigEnvironmentVariableName.HOST);
|
|
57
|
-
if (host) options.host = host;
|
|
58
|
-
const port = readInt(ConfigEnvironmentVariableName.PORT);
|
|
59
|
-
if (typeof port !== "undefined") options.port = port;
|
|
60
|
-
const publicURL = read(ConfigEnvironmentVariableName.PUBLIC_URL);
|
|
61
|
-
if (publicURL) options.publicUrl = publicURL;
|
|
62
|
-
const mtlsPublicURL = read(ConfigEnvironmentVariableName.MTLS_PUBLIC_URL);
|
|
63
|
-
if (mtlsPublicURL) options.mtlsPublicUrl = mtlsPublicURL;
|
|
64
|
-
const certificateSource = read(ConfigEnvironmentVariableName.CERTIFICATE_SOURCE);
|
|
65
|
-
if (certificateSource) options.certificateSource = certificateSource;
|
|
66
|
-
const trustProxy = read(ConfigEnvironmentVariableName.TRUST_PROXY);
|
|
67
|
-
if (typeof trustProxy === "string" && trustProxy.trim().length > 0) options.trustProxy = trustProxy;
|
|
68
|
-
const trustedOrigins = readArray(ConfigEnvironmentVariableName.TRUSTED_ORIGINS);
|
|
69
|
-
if (trustedOrigins && trustedOrigins.length > 0) options.trustedOrigins = trustedOrigins;
|
|
70
|
-
const tokenAccessMaxAge = readInt(ConfigEnvironmentVariableName.TOKEN_ACCESS_MAX_AGE);
|
|
71
|
-
if (typeof tokenAccessMaxAge !== "undefined") options.tokenAccessMaxAge = tokenAccessMaxAge;
|
|
72
|
-
const tokenRefreshMaxAge = readInt(ConfigEnvironmentVariableName.TOKEN_REFRESH_MAX_AGE);
|
|
73
|
-
if (typeof tokenRefreshMaxAge !== "undefined") options.tokenRefreshMaxAge = tokenRefreshMaxAge;
|
|
74
|
-
const tokenRefreshGracePeriod = readInt(ConfigEnvironmentVariableName.TOKEN_REFRESH_GRACE_PERIOD);
|
|
75
|
-
if (typeof tokenRefreshGracePeriod !== "undefined") options.tokenRefreshGracePeriod = tokenRefreshGracePeriod;
|
|
76
|
-
const promptLoginMaxAge = readInt(ConfigEnvironmentVariableName.PROMPT_LOGIN_MAX_AGE);
|
|
77
|
-
if (typeof promptLoginMaxAge !== "undefined") options.promptLoginMaxAge = promptLoginMaxAge;
|
|
78
|
-
const endSessionHintGracePeriod = readInt(ConfigEnvironmentVariableName.END_SESSION_HINT_GRACE_PERIOD);
|
|
79
|
-
if (typeof endSessionHintGracePeriod !== "undefined") options.endSessionHintGracePeriod = endSessionHintGracePeriod;
|
|
80
|
-
const registrationEnabled = readBool(ConfigEnvironmentVariableName.REGISTRATION_ENABLED);
|
|
81
|
-
if (typeof registrationEnabled !== "undefined") options.registrationEnabled = registrationEnabled;
|
|
82
|
-
const emailVerificationEnabled = readBool(ConfigEnvironmentVariableName.EMAIL_VERIFICATION_ENABLED);
|
|
83
|
-
if (typeof emailVerificationEnabled !== "undefined") options.emailVerificationEnabled = emailVerificationEnabled;
|
|
84
|
-
const passwordRecoveryEnabled = readBool(ConfigEnvironmentVariableName.PASSWORD_RECOVERY_ENABLED);
|
|
85
|
-
if (typeof passwordRecoveryEnabled !== "undefined") options.passwordRecoveryEnabled = passwordRecoveryEnabled;
|
|
86
|
-
const passwordMinLength = readInt(ConfigEnvironmentVariableName.PASSWORD_MIN_LENGTH);
|
|
87
|
-
if (typeof passwordMinLength !== "undefined") options.passwordMinLength = passwordMinLength;
|
|
88
|
-
const accountConsoleEnabled = readBool(ConfigEnvironmentVariableName.ACCOUNT_CONSOLE_ENABLED);
|
|
89
|
-
if (typeof accountConsoleEnabled !== "undefined") options.accountConsoleEnabled = accountConsoleEnabled;
|
|
90
|
-
const eventLogEnabled = readBoolStrict(ConfigEnvironmentVariableName.EVENT_LOG_ENABLED);
|
|
91
|
-
if (typeof eventLogEnabled !== "undefined") options.eventLogEnabled = eventLogEnabled;
|
|
92
|
-
const eventLogRetentionDays = readInt(ConfigEnvironmentVariableName.EVENT_LOG_RETENTION_DAYS);
|
|
93
|
-
if (typeof eventLogRetentionDays !== "undefined") options.eventLogRetentionDays = eventLogRetentionDays;
|
|
94
|
-
const eventLogEntityEnabled = readBoolStrict(ConfigEnvironmentVariableName.EVENT_LOG_ENTITY_ENABLED);
|
|
95
|
-
if (typeof eventLogEntityEnabled !== "undefined") options.eventLogEntityEnabled = eventLogEntityEnabled;
|
|
96
|
-
const eventLogEntityRetentionDays = readInt(ConfigEnvironmentVariableName.EVENT_LOG_ENTITY_RETENTION_DAYS);
|
|
97
|
-
if (typeof eventLogEntityRetentionDays !== "undefined") options.eventLogEntityRetentionDays = eventLogEntityRetentionDays;
|
|
98
|
-
const loginAttemptThrottleEnabled = readBoolStrict(ConfigEnvironmentVariableName.LOGIN_ATTEMPT_THROTTLE_ENABLED);
|
|
99
|
-
if (typeof loginAttemptThrottleEnabled !== "undefined") options.loginAttemptThrottleEnabled = loginAttemptThrottleEnabled;
|
|
100
|
-
const loginAttemptThreshold = readInt(ConfigEnvironmentVariableName.LOGIN_ATTEMPT_THRESHOLD);
|
|
101
|
-
if (typeof loginAttemptThreshold !== "undefined") options.loginAttemptThreshold = loginAttemptThreshold;
|
|
102
|
-
const loginAttemptWindow = readInt(ConfigEnvironmentVariableName.LOGIN_ATTEMPT_WINDOW);
|
|
103
|
-
if (typeof loginAttemptWindow !== "undefined") options.loginAttemptWindow = loginAttemptWindow;
|
|
104
|
-
const mfaEnabled = readBoolStrict(ConfigEnvironmentVariableName.MFA_ENABLED);
|
|
105
|
-
if (typeof mfaEnabled !== "undefined") options.mfaEnabled = mfaEnabled;
|
|
106
|
-
const mfaRequired = readBoolStrict(ConfigEnvironmentVariableName.MFA_REQUIRED);
|
|
107
|
-
if (typeof mfaRequired !== "undefined") options.mfaRequired = mfaRequired;
|
|
108
|
-
const mfaFreshnessMaxAge = readInt(ConfigEnvironmentVariableName.MFA_FRESHNESS_MAX_AGE);
|
|
109
|
-
if (typeof mfaFreshnessMaxAge !== "undefined") options.mfaFreshnessMaxAge = mfaFreshnessMaxAge;
|
|
110
|
-
const mfaTicketMaxAge = readInt(ConfigEnvironmentVariableName.MFA_TICKET_MAX_AGE);
|
|
111
|
-
if (typeof mfaTicketMaxAge !== "undefined") options.mfaTicketMaxAge = mfaTicketMaxAge;
|
|
112
|
-
const secretsEncryptionKey = read(ConfigEnvironmentVariableName.SECRETS_ENCRYPTION_KEY);
|
|
113
|
-
if (secretsEncryptionKey) options.secretsEncryptionKey = secretsEncryptionKey;
|
|
114
|
-
const clientBasicAuth = readBool(ConfigEnvironmentVariableName.CLIENT_AUTH_BASIC);
|
|
115
|
-
if (typeof clientBasicAuth !== "undefined") options.clientAuthBasic = clientBasicAuth;
|
|
116
|
-
const clientSystemEnabled = readBool(ConfigEnvironmentVariableName.CLIENT_SYSTEM_ENABLED);
|
|
117
|
-
if (typeof clientSystemEnabled !== "undefined") options.clientSystemEnabled = clientSystemEnabled;
|
|
118
|
-
const clientAdminSecret = read(ConfigEnvironmentVariableName.CLIENT_SYSTEM_SECRET);
|
|
119
|
-
if (clientAdminSecret) options.clientSystemSecret = clientAdminSecret;
|
|
120
|
-
const clientAdminSecretReset = readBool(ConfigEnvironmentVariableName.CLIENT_SYSTEM_SECRET_RESET);
|
|
121
|
-
if (typeof clientAdminSecretReset !== "undefined") options.clientSystemSecretReset = clientAdminSecretReset;
|
|
122
|
-
const userBasicAuth = readBool(ConfigEnvironmentVariableName.USER_AUTH_BASIC);
|
|
123
|
-
if (typeof userBasicAuth !== "undefined") options.userAuthBasic = userBasicAuth;
|
|
124
|
-
const userAdminEnabled = readBool(ConfigEnvironmentVariableName.USER_ADMIN_ENABLED);
|
|
125
|
-
if (typeof userAdminEnabled !== "undefined") options.userAdminEnabled = userAdminEnabled;
|
|
126
|
-
const userAdminPassword = read(ConfigEnvironmentVariableName.USER_ADMIN_PASSWORD);
|
|
127
|
-
if (userAdminPassword) options.userAdminPassword = userAdminPassword;
|
|
128
|
-
const userAdminPasswordReset = readBool(ConfigEnvironmentVariableName.USER_ADMIN_PASSWORD_RESET);
|
|
129
|
-
if (typeof userAdminPasswordReset !== "undefined") options.userAdminPasswordReset = userAdminPasswordReset;
|
|
130
|
-
const permissions = readArray(ConfigEnvironmentVariableName.PERMISSIONS);
|
|
131
|
-
if (permissions && permissions.length > 0) options.permissions = permissions;
|
|
132
|
-
const permissionsDefaultPolicyAssignment = readBool(ConfigEnvironmentVariableName.PERMISSIONS_DEFAULT_POLICY_ASSIGNMENT);
|
|
133
|
-
if (typeof permissionsDefaultPolicyAssignment !== "undefined") options.permissionsDefaultPolicyAssignment = permissionsDefaultPolicyAssignment;
|
|
134
|
-
return options;
|
|
135
|
-
}
|
|
136
|
-
//#endregion
|
|
137
|
-
export { readConfigRawFromEnv };
|
|
138
|
-
|
|
139
|
-
//# sourceMappingURL=env.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env.mjs","names":["oneOf","read","readArray","readBool","readInt","hasEnvDataSourceOptions","readDataSourceOptionsFromEnv","ConfigEnvironmentVariableName","BOOLEAN_TRUE_VALUES","Set","BOOLEAN_FALSE_VALUES","readBoolStrict","name","raw","trim","length","undefined","normalized","toLowerCase","has","Error","readConfigRawFromEnv","options","env","NODE_ENV","writableDirectoryPath","WRITABLE_DIRECTORY_PATH","themeDirectoryPath","THEME_DIRECTORY_PATH","themeFragmentsEnabled","THEME_FRAGMENTS_ENABLED","authConsolePath","AUTH_CONSOLE_PATH","accountConsolePath","ACCOUNT_CONSOLE_PATH","db","redis","REDIS","smtp","SMTP","host","HOST","port","PORT","publicURL","PUBLIC_URL","publicUrl","mtlsPublicURL","MTLS_PUBLIC_URL","mtlsPublicUrl","certificateSource","CERTIFICATE_SOURCE","trustProxy","TRUST_PROXY","trustedOrigins","TRUSTED_ORIGINS","tokenAccessMaxAge","TOKEN_ACCESS_MAX_AGE","tokenRefreshMaxAge","TOKEN_REFRESH_MAX_AGE","tokenRefreshGracePeriod","TOKEN_REFRESH_GRACE_PERIOD","promptLoginMaxAge","PROMPT_LOGIN_MAX_AGE","endSessionHintGracePeriod","END_SESSION_HINT_GRACE_PERIOD","registrationEnabled","REGISTRATION_ENABLED","emailVerificationEnabled","EMAIL_VERIFICATION_ENABLED","passwordRecoveryEnabled","PASSWORD_RECOVERY_ENABLED","passwordMinLength","PASSWORD_MIN_LENGTH","accountConsoleEnabled","ACCOUNT_CONSOLE_ENABLED","eventLogEnabled","EVENT_LOG_ENABLED","eventLogRetentionDays","EVENT_LOG_RETENTION_DAYS","eventLogEntityEnabled","EVENT_LOG_ENTITY_ENABLED","eventLogEntityRetentionDays","EVENT_LOG_ENTITY_RETENTION_DAYS","loginAttemptThrottleEnabled","LOGIN_ATTEMPT_THROTTLE_ENABLED","loginAttemptThreshold","LOGIN_ATTEMPT_THRESHOLD","loginAttemptWindow","LOGIN_ATTEMPT_WINDOW","mfaEnabled","MFA_ENABLED","mfaRequired","MFA_REQUIRED","mfaFreshnessMaxAge","MFA_FRESHNESS_MAX_AGE","mfaTicketMaxAge","MFA_TICKET_MAX_AGE","secretsEncryptionKey","SECRETS_ENCRYPTION_KEY","clientBasicAuth","CLIENT_AUTH_BASIC","clientAuthBasic","clientSystemEnabled","CLIENT_SYSTEM_ENABLED","clientAdminSecret","CLIENT_SYSTEM_SECRET","clientSystemSecret","clientAdminSecretReset","CLIENT_SYSTEM_SECRET_RESET","clientSystemSecretReset","userBasicAuth","USER_AUTH_BASIC","userAuthBasic","userAdminEnabled","USER_ADMIN_ENABLED","userAdminPassword","USER_ADMIN_PASSWORD","userAdminPasswordReset","USER_ADMIN_PASSWORD_RESET","permissions","PERMISSIONS","permissionsDefaultPolicyAssignment","PERMISSIONS_DEFAULT_POLICY_ASSIGNMENT"],"sources":["../../../../../src/app/modules/config/read/env.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n oneOf,\n read,\n readArray,\n readBool,\n readInt,\n} from 'envix';\nimport { hasEnvDataSourceOptions, readDataSourceOptionsFromEnv } from 'typeorm-extension';\nimport type { BetterSqlite3DataSourceOptions } from 'typeorm/driver/better-sqlite3/BetterSqlite3DataSourceOptions.js';\nimport type { MysqlDataSourceOptions } from 'typeorm/driver/mysql/MysqlDataSourceOptions.js';\nimport type { PostgresDataSourceOptions } from 'typeorm/driver/postgres/PostgresDataSourceOptions.js';\n\nimport { ConfigEnvironmentVariableName } from '../constants.ts';\nimport type { ConfigInput } from '../types.ts';\n\nconst BOOLEAN_TRUE_VALUES = new Set(['true', 't', '1', 'yes', 'y', 'on']);\nconst BOOLEAN_FALSE_VALUES = new Set(['false', 'f', '0', 'no', 'n', 'off']);\n\n/**\n * Boolean env reader that FAILS LOUD on a set-but-unrecognized value instead\n * of silently falling back to the default (envix's `readBool` swallows e.g.\n * `MFA_REQUIRED=yes`). Reserved for security-relevant toggles where a silent\n * default is a weakened posture. Returns `undefined` when the var is unset.\n */\nfunction readBoolStrict(name: ConfigEnvironmentVariableName) : boolean | undefined {\n const raw = read(name);\n if (typeof raw !== 'string' || raw.trim().length === 0) {\n return undefined;\n }\n\n const normalized = raw.trim().toLowerCase();\n if (BOOLEAN_TRUE_VALUES.has(normalized)) {\n return true;\n }\n if (BOOLEAN_FALSE_VALUES.has(normalized)) {\n return false;\n }\n\n throw new Error(`The environment variable ${name} must be a boolean value (received \"${raw}\").`);\n}\n\nexport function readConfigRawFromEnv() : ConfigInput {\n const options : ConfigInput = {};\n\n const env = read(ConfigEnvironmentVariableName.NODE_ENV);\n if (env) {\n options.env = env;\n }\n\n const writableDirectoryPath = read(ConfigEnvironmentVariableName.WRITABLE_DIRECTORY_PATH);\n if (writableDirectoryPath) {\n options.writableDirectoryPath = writableDirectoryPath;\n }\n\n const themeDirectoryPath = read(ConfigEnvironmentVariableName.THEME_DIRECTORY_PATH);\n if (themeDirectoryPath) {\n options.themeDirectoryPath = themeDirectoryPath;\n }\n\n const themeFragmentsEnabled = readBool(ConfigEnvironmentVariableName.THEME_FRAGMENTS_ENABLED);\n if (typeof themeFragmentsEnabled !== 'undefined') {\n options.themeFragmentsEnabled = themeFragmentsEnabled;\n }\n\n const authConsolePath = read(ConfigEnvironmentVariableName.AUTH_CONSOLE_PATH);\n if (authConsolePath) {\n options.authConsolePath = authConsolePath;\n }\n\n const accountConsolePath = read(ConfigEnvironmentVariableName.ACCOUNT_CONSOLE_PATH);\n if (accountConsolePath) {\n options.accountConsolePath = accountConsolePath;\n }\n\n // -------------------------------------------------------------\n\n if (hasEnvDataSourceOptions()) {\n // todo: type casting should be avoided\n options.db = readDataSourceOptionsFromEnv() as MysqlDataSourceOptions |\n PostgresDataSourceOptions |\n BetterSqlite3DataSourceOptions;\n }\n\n const redis = oneOf([\n readBool(ConfigEnvironmentVariableName.REDIS),\n read(ConfigEnvironmentVariableName.REDIS),\n ]);\n if (typeof redis !== 'undefined') {\n options.redis = redis;\n }\n\n const smtp = oneOf([\n readBool(ConfigEnvironmentVariableName.SMTP),\n read(ConfigEnvironmentVariableName.SMTP),\n ]);\n if (typeof smtp !== 'undefined') {\n options.smtp = smtp;\n }\n\n // -------------------------------------------------------------\n\n const host = read(ConfigEnvironmentVariableName.HOST);\n if (host) {\n options.host = host;\n }\n\n const port = readInt(ConfigEnvironmentVariableName.PORT);\n if (typeof port !== 'undefined') {\n options.port = port;\n }\n\n const publicURL = read(ConfigEnvironmentVariableName.PUBLIC_URL);\n if (publicURL) {\n options.publicUrl = publicURL;\n }\n\n const mtlsPublicURL = read(ConfigEnvironmentVariableName.MTLS_PUBLIC_URL);\n if (mtlsPublicURL) {\n options.mtlsPublicUrl = mtlsPublicURL;\n }\n\n const certificateSource = read(ConfigEnvironmentVariableName.CERTIFICATE_SOURCE);\n if (certificateSource) {\n options.certificateSource = certificateSource as ConfigInput['certificateSource'];\n }\n\n // canonicalized again in normalizeConfig for every config surface; the\n // env read keeps the raw string, the shared canonicalizer decides.\n const trustProxy = read(ConfigEnvironmentVariableName.TRUST_PROXY);\n if (typeof trustProxy === 'string' && trustProxy.trim().length > 0) {\n options.trustProxy = trustProxy;\n }\n\n const trustedOrigins = readArray(ConfigEnvironmentVariableName.TRUSTED_ORIGINS);\n if (trustedOrigins && trustedOrigins.length > 0) {\n options.trustedOrigins = trustedOrigins;\n }\n\n const tokenAccessMaxAge = readInt(ConfigEnvironmentVariableName.TOKEN_ACCESS_MAX_AGE);\n if (typeof tokenAccessMaxAge !== 'undefined') {\n options.tokenAccessMaxAge = tokenAccessMaxAge;\n }\n\n const tokenRefreshMaxAge = readInt(ConfigEnvironmentVariableName.TOKEN_REFRESH_MAX_AGE);\n if (typeof tokenRefreshMaxAge !== 'undefined') {\n options.tokenRefreshMaxAge = tokenRefreshMaxAge;\n }\n\n const tokenRefreshGracePeriod = readInt(ConfigEnvironmentVariableName.TOKEN_REFRESH_GRACE_PERIOD);\n if (typeof tokenRefreshGracePeriod !== 'undefined') {\n options.tokenRefreshGracePeriod = tokenRefreshGracePeriod;\n }\n\n const promptLoginMaxAge = readInt(ConfigEnvironmentVariableName.PROMPT_LOGIN_MAX_AGE);\n if (typeof promptLoginMaxAge !== 'undefined') {\n options.promptLoginMaxAge = promptLoginMaxAge;\n }\n\n const endSessionHintGracePeriod = readInt(ConfigEnvironmentVariableName.END_SESSION_HINT_GRACE_PERIOD);\n if (typeof endSessionHintGracePeriod !== 'undefined') {\n options.endSessionHintGracePeriod = endSessionHintGracePeriod;\n }\n\n const registrationEnabled = readBool(ConfigEnvironmentVariableName.REGISTRATION_ENABLED);\n if (typeof registrationEnabled !== 'undefined') {\n options.registrationEnabled = registrationEnabled;\n }\n\n const emailVerificationEnabled = readBool(ConfigEnvironmentVariableName.EMAIL_VERIFICATION_ENABLED);\n if (typeof emailVerificationEnabled !== 'undefined') {\n options.emailVerificationEnabled = emailVerificationEnabled;\n }\n\n const passwordRecoveryEnabled = readBool(ConfigEnvironmentVariableName.PASSWORD_RECOVERY_ENABLED);\n if (typeof passwordRecoveryEnabled !== 'undefined') {\n options.passwordRecoveryEnabled = passwordRecoveryEnabled;\n }\n\n const passwordMinLength = readInt(ConfigEnvironmentVariableName.PASSWORD_MIN_LENGTH);\n if (typeof passwordMinLength !== 'undefined') {\n options.passwordMinLength = passwordMinLength;\n }\n\n const accountConsoleEnabled = readBool(ConfigEnvironmentVariableName.ACCOUNT_CONSOLE_ENABLED);\n if (typeof accountConsoleEnabled !== 'undefined') {\n options.accountConsoleEnabled = accountConsoleEnabled;\n }\n\n // ---------------------------------------------------------------\n\n const eventLogEnabled = readBoolStrict(ConfigEnvironmentVariableName.EVENT_LOG_ENABLED);\n if (typeof eventLogEnabled !== 'undefined') {\n options.eventLogEnabled = eventLogEnabled;\n }\n\n const eventLogRetentionDays = readInt(ConfigEnvironmentVariableName.EVENT_LOG_RETENTION_DAYS);\n if (typeof eventLogRetentionDays !== 'undefined') {\n options.eventLogRetentionDays = eventLogRetentionDays;\n }\n\n const eventLogEntityEnabled = readBoolStrict(ConfigEnvironmentVariableName.EVENT_LOG_ENTITY_ENABLED);\n if (typeof eventLogEntityEnabled !== 'undefined') {\n options.eventLogEntityEnabled = eventLogEntityEnabled;\n }\n\n const eventLogEntityRetentionDays = readInt(ConfigEnvironmentVariableName.EVENT_LOG_ENTITY_RETENTION_DAYS);\n if (typeof eventLogEntityRetentionDays !== 'undefined') {\n options.eventLogEntityRetentionDays = eventLogEntityRetentionDays;\n }\n\n const loginAttemptThrottleEnabled = readBoolStrict(ConfigEnvironmentVariableName.LOGIN_ATTEMPT_THROTTLE_ENABLED);\n if (typeof loginAttemptThrottleEnabled !== 'undefined') {\n options.loginAttemptThrottleEnabled = loginAttemptThrottleEnabled;\n }\n\n const loginAttemptThreshold = readInt(ConfigEnvironmentVariableName.LOGIN_ATTEMPT_THRESHOLD);\n if (typeof loginAttemptThreshold !== 'undefined') {\n options.loginAttemptThreshold = loginAttemptThreshold;\n }\n\n const loginAttemptWindow = readInt(ConfigEnvironmentVariableName.LOGIN_ATTEMPT_WINDOW);\n if (typeof loginAttemptWindow !== 'undefined') {\n options.loginAttemptWindow = loginAttemptWindow;\n }\n\n // ---------------------------------------------------------------\n\n const mfaEnabled = readBoolStrict(ConfigEnvironmentVariableName.MFA_ENABLED);\n if (typeof mfaEnabled !== 'undefined') {\n options.mfaEnabled = mfaEnabled;\n }\n\n const mfaRequired = readBoolStrict(ConfigEnvironmentVariableName.MFA_REQUIRED);\n if (typeof mfaRequired !== 'undefined') {\n options.mfaRequired = mfaRequired;\n }\n\n const mfaFreshnessMaxAge = readInt(ConfigEnvironmentVariableName.MFA_FRESHNESS_MAX_AGE);\n if (typeof mfaFreshnessMaxAge !== 'undefined') {\n options.mfaFreshnessMaxAge = mfaFreshnessMaxAge;\n }\n\n const mfaTicketMaxAge = readInt(ConfigEnvironmentVariableName.MFA_TICKET_MAX_AGE);\n if (typeof mfaTicketMaxAge !== 'undefined') {\n options.mfaTicketMaxAge = mfaTicketMaxAge;\n }\n\n const secretsEncryptionKey = read(ConfigEnvironmentVariableName.SECRETS_ENCRYPTION_KEY);\n if (secretsEncryptionKey) {\n options.secretsEncryptionKey = secretsEncryptionKey;\n }\n\n // ---------------------------------------------------------------\n\n const clientBasicAuth = readBool(ConfigEnvironmentVariableName.CLIENT_AUTH_BASIC);\n if (typeof clientBasicAuth !== 'undefined') {\n options.clientAuthBasic = clientBasicAuth;\n }\n\n const clientSystemEnabled = readBool(ConfigEnvironmentVariableName.CLIENT_SYSTEM_ENABLED);\n if (typeof clientSystemEnabled !== 'undefined') {\n options.clientSystemEnabled = clientSystemEnabled;\n }\n\n const clientAdminSecret = read(ConfigEnvironmentVariableName.CLIENT_SYSTEM_SECRET);\n if (clientAdminSecret) {\n options.clientSystemSecret = clientAdminSecret;\n }\n\n const clientAdminSecretReset = readBool(ConfigEnvironmentVariableName.CLIENT_SYSTEM_SECRET_RESET);\n if (typeof clientAdminSecretReset !== 'undefined') {\n options.clientSystemSecretReset = clientAdminSecretReset;\n }\n\n // ---------------------------------------------------------------\n\n const userBasicAuth = readBool(ConfigEnvironmentVariableName.USER_AUTH_BASIC);\n if (typeof userBasicAuth !== 'undefined') {\n options.userAuthBasic = userBasicAuth;\n }\n\n const userAdminEnabled = readBool(ConfigEnvironmentVariableName.USER_ADMIN_ENABLED);\n if (typeof userAdminEnabled !== 'undefined') {\n options.userAdminEnabled = userAdminEnabled;\n }\n\n const userAdminPassword = read(ConfigEnvironmentVariableName.USER_ADMIN_PASSWORD);\n if (userAdminPassword) {\n options.userAdminPassword = userAdminPassword;\n }\n\n const userAdminPasswordReset = readBool(ConfigEnvironmentVariableName.USER_ADMIN_PASSWORD_RESET);\n if (typeof userAdminPasswordReset !== 'undefined') {\n options.userAdminPasswordReset = userAdminPasswordReset;\n }\n\n // ---------------------------------------------------------------\n\n const permissions = readArray(ConfigEnvironmentVariableName.PERMISSIONS);\n if (permissions && permissions.length > 0) {\n options.permissions = permissions;\n }\n\n const permissionsDefaultPolicyAssignment = readBool(ConfigEnvironmentVariableName.PERMISSIONS_DEFAULT_POLICY_ASSIGNMENT);\n if (typeof permissionsDefaultPolicyAssignment !== 'undefined') {\n options.permissionsDefaultPolicyAssignment = permissionsDefaultPolicyAssignment;\n }\n\n return options;\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/config/read/fs.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAiCtD,wBAAsB,mBAAmB,CAAC,OAAO,GAAE,mBAAwB,kDA6C1E"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import "node:path";
|
|
2
|
-
import "node:url";
|
|
3
|
-
import.meta.url;
|
|
4
|
-
import { isObject, merge } from "smob";
|
|
5
|
-
import { FSStore } from "confinity";
|
|
6
|
-
//#region src/app/modules/config/read/fs.ts
|
|
7
|
-
/**
|
|
8
|
-
* Resolve one infrastructure section (`db`, `redis`, `smtp`), which may be
|
|
9
|
-
* declared at the top level (shared), under `server.*` or under `server.core.*`.
|
|
10
|
-
*
|
|
11
|
-
* Keys are ordered **least specific first**. Two objects are merged, so a
|
|
12
|
-
* shared base survives while the more specific declaration wins per key; a
|
|
13
|
-
* scalar (a `redis://…` connection string, say) replaces whatever preceded it.
|
|
14
|
-
* That is what "the most specific declaration wins" means for a section the
|
|
15
|
-
* documentation explicitly describes as shared — `db.type` set once at the top
|
|
16
|
-
* level still applies when only `db.database` is overridden per component.
|
|
17
|
-
*
|
|
18
|
-
* confinity v1 applied exactly this precedence inside `get([...keys])`; v2
|
|
19
|
-
* removed the array form, so it is spelled out here instead.
|
|
20
|
-
*/ function readSection(store, keys) {
|
|
21
|
-
let output;
|
|
22
|
-
for (const key of keys) {
|
|
23
|
-
const value = store.getSync(key);
|
|
24
|
-
if (typeof value === "undefined") continue;
|
|
25
|
-
output = isObject(value) && isObject(output) ? merge(value, output) : value;
|
|
26
|
-
}
|
|
27
|
-
return output;
|
|
28
|
-
}
|
|
29
|
-
async function readConfigRawFromFS(options = {}) {
|
|
30
|
-
const store = new FSStore({
|
|
31
|
-
prefix: "authup",
|
|
32
|
-
cwd: options.cwd
|
|
33
|
-
});
|
|
34
|
-
if (options.file) await store.loadFile(options.file);
|
|
35
|
-
else await store.load();
|
|
36
|
-
const raw = store.getSync("server.core") || {};
|
|
37
|
-
const db = readSection(store, [
|
|
38
|
-
"db",
|
|
39
|
-
"server.db",
|
|
40
|
-
"server.core.db"
|
|
41
|
-
]);
|
|
42
|
-
if (db) raw.db = db;
|
|
43
|
-
const redis = readSection(store, [
|
|
44
|
-
"redis",
|
|
45
|
-
"server.redis",
|
|
46
|
-
"server.core.redis"
|
|
47
|
-
]);
|
|
48
|
-
if (redis) raw.redis = redis;
|
|
49
|
-
const smtp = readSection(store, [
|
|
50
|
-
"smtp",
|
|
51
|
-
"server.smtp",
|
|
52
|
-
"server.core.smtp"
|
|
53
|
-
]);
|
|
54
|
-
if (smtp) raw.smtp = smtp;
|
|
55
|
-
return raw;
|
|
56
|
-
}
|
|
57
|
-
//#endregion
|
|
58
|
-
export { readConfigRawFromFS };
|
|
59
|
-
|
|
60
|
-
//# sourceMappingURL=fs.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fs.mjs","names":["FSStore","isObject","merge","readSection","store","keys","output","key","value","getSync","readConfigRawFromFS","options","prefix","cwd","file","loadFile","load","raw","db","redis","smtp"],"sources":["../../../../../src/app/modules/config/read/fs.ts"],"sourcesContent":["/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { FSStore } from 'confinity';\nimport { isObject, merge } from 'smob';\nimport type { ConfigInput } from '../types.ts';\nimport type { ConfigReadFsOptions } from './types.ts';\n\n/**\n * Resolve one infrastructure section (`db`, `redis`, `smtp`), which may be\n * declared at the top level (shared), under `server.*` or under `server.core.*`.\n *\n * Keys are ordered **least specific first**. Two objects are merged, so a\n * shared base survives while the more specific declaration wins per key; a\n * scalar (a `redis://…` connection string, say) replaces whatever preceded it.\n * That is what \"the most specific declaration wins\" means for a section the\n * documentation explicitly describes as shared — `db.type` set once at the top\n * level still applies when only `db.database` is overridden per component.\n *\n * confinity v1 applied exactly this precedence inside `get([...keys])`; v2\n * removed the array form, so it is spelled out here instead.\n */\nfunction readSection<T>(store: FSStore, keys: string[]) : T | undefined {\n let output : unknown;\n\n for (const key of keys) {\n const value = store.getSync(key);\n if (typeof value === 'undefined') {\n continue;\n }\n\n output = isObject(value) && isObject(output) ?\n merge(value, output) :\n value;\n }\n\n return output as T | undefined;\n}\n\nexport async function readConfigRawFromFS(options: ConfigReadFsOptions = {}) {\n const store = new FSStore({\n prefix: 'authup',\n cwd: options.cwd,\n });\n\n if (options.file) {\n await store.loadFile(options.file);\n } else {\n await store.load();\n }\n\n // Read synchronously after the explicit load. `get` is asynchronous in\n // confinity v2, and a missing `await` would hand a Promise to code that\n // only checks whether it received an object.\n const raw : ConfigInput = store.getSync<ConfigInput>('server.core') || {};\n\n const db = readSection<ConfigInput['db']>(store, [\n 'db',\n 'server.db',\n 'server.core.db',\n ]);\n if (db) {\n raw.db = db;\n }\n\n const redis = readSection<ConfigInput['redis']>(store, [\n 'redis',\n 'server.redis',\n 'server.core.redis',\n ]);\n if (redis) {\n raw.redis = redis;\n }\n\n const smtp = readSection<ConfigInput['smtp']>(store, [\n 'smtp',\n 'server.smtp',\n 'server.core.smtp',\n ]);\n if (smtp) {\n raw.smtp = smtp;\n }\n\n return raw;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;GA0BA,SAASG,YAAeC,OAAgBC,MAAc;CAClD,IAAIC;CAEJ,KAAK,MAAMC,OAAOF,MAAM;EACpB,MAAMG,QAAQJ,MAAMK,QAAQF,GAAAA;EAC5B,IAAI,OAAOC,UAAU,aACjB;EAGJF,SAASL,SAASO,KAAAA,KAAUP,SAASK,MAAAA,IACjCJ,MAAMM,OAAOF,MAAAA,IACbE;CACR;CAEA,OAAOF;AACX;AAEA,eAAsBI,oBAAoBC,UAA+B,CAAC,GAAC;CACvE,MAAMP,QAAQ,IAAIJ,QAAQ;EACtBY,QAAQ;EACRC,KAAKF,QAAQE;CACjB,CAAA;CAEA,IAAIF,QAAQG,MACR,MAAMV,MAAMW,SAASJ,QAAQG,IAAI;MAEjC,MAAMV,MAAMY,KAAI;CAMpB,MAAMC,MAAoBb,MAAMK,QAAqB,aAAA,KAAkB,CAAC;CAExE,MAAMS,KAAKf,YAA+BC,OAAO;EAC7C;EACA;EACA;CACH,CAAA;CACD,IAAIc,IACAD,IAAIC,KAAKA;CAGb,MAAMC,QAAQhB,YAAkCC,OAAO;EACnD;EACA;EACA;CACH,CAAA;CACD,IAAIe,OACAF,IAAIE,QAAQA;CAGhB,MAAMC,OAAOjB,YAAiCC,OAAO;EACjD;EACA;EACA;CACH,CAAA;CACD,IAAIgB,MACAH,IAAIG,OAAOA;CAGf,OAAOH;AACX"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/config/read/index.ts"],"names":[],"mappings":"AAOA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import "node:path";
|
|
2
|
-
import "node:url";
|
|
3
|
-
import.meta.url;
|
|
4
|
-
import { readConfigRawFromEnv } from "./env.mjs";
|
|
5
|
-
import { readConfigRawFromFS } from "./fs.mjs";
|
|
6
|
-
import { readConfigRaw } from "./module.mjs";
|
|
7
|
-
export { readConfigRaw, readConfigRawFromEnv, readConfigRawFromFS };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/config/read/module.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,wBAAsB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAI,OAAO,CAAC,WAAW,CAAC,CAmB7F"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import "node:path";
|
|
2
|
-
import "node:url";
|
|
3
|
-
import.meta.url;
|
|
4
|
-
import { readConfigRawFromEnv } from "./env.mjs";
|
|
5
|
-
import { readConfigRawFromFS } from "./fs.mjs";
|
|
6
|
-
import { merge } from "smob";
|
|
7
|
-
//#region src/app/modules/config/read/module.ts
|
|
8
|
-
async function readConfigRaw(options = {}) {
|
|
9
|
-
if (options.fs && options.env) {
|
|
10
|
-
const fsOptions = boolableToObject(options.fs);
|
|
11
|
-
const fs = await readConfigRawFromFS(fsOptions);
|
|
12
|
-
const env = readConfigRawFromEnv();
|
|
13
|
-
return merge(env, fs);
|
|
14
|
-
}
|
|
15
|
-
if (options.fs) {
|
|
16
|
-
const fsOptions = boolableToObject(options.fs);
|
|
17
|
-
return readConfigRawFromFS(fsOptions);
|
|
18
|
-
}
|
|
19
|
-
if (options.env) return readConfigRawFromEnv();
|
|
20
|
-
return {};
|
|
21
|
-
}
|
|
22
|
-
function boolableToObject(input) {
|
|
23
|
-
if (typeof input === "boolean") return {};
|
|
24
|
-
return input;
|
|
25
|
-
}
|
|
26
|
-
//#endregion
|
|
27
|
-
export { readConfigRaw };
|
|
28
|
-
|
|
29
|
-
//# sourceMappingURL=module.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"module.mjs","names":["merge","readConfigRawFromEnv","readConfigRawFromFS","readConfigRaw","options","fs","env","fsOptions","boolableToObject","input"],"sources":["../../../../../src/app/modules/config/read/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2024-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { merge } from 'smob';\nimport type { ConfigInput } from '../types.ts';\nimport { readConfigRawFromEnv } from './env.ts';\nimport { readConfigRawFromFS } from './fs.ts';\nimport type { ConfigRawReadOptions } from './types.ts';\n\nexport async function readConfigRaw(options: ConfigRawReadOptions = {}) : Promise<ConfigInput> {\n if (options.fs && options.env) {\n const fsOptions = boolableToObject(options.fs);\n const fs = await readConfigRawFromFS(fsOptions);\n const env = readConfigRawFromEnv();\n\n return merge(env, fs);\n }\n\n if (options.fs) {\n const fsOptions = boolableToObject(options.fs);\n return readConfigRawFromFS(fsOptions);\n }\n\n if (options.env) {\n return readConfigRawFromEnv();\n }\n\n return {};\n}\n\nfunction boolableToObject<T>(input: T | boolean) : T {\n if (typeof input === 'boolean') {\n return {} as T;\n }\n\n return input;\n}\n"],"mappings":";;;;;;;AAaA,eAAsBG,cAAcC,UAAgC,CAAC,GAAC;CAClE,IAAIA,QAAQC,MAAMD,QAAQE,KAAK;EAC3B,MAAMC,YAAYC,iBAAiBJ,QAAQC,EAAE;EAC7C,MAAMA,KAAK,MAAMH,oBAAoBK,SAAAA;EACrC,MAAMD,MAAML,qBAAAA;EAEZ,OAAOD,MAAMM,KAAKD,EAAAA;CACtB;CAEA,IAAID,QAAQC,IAAI;EACZ,MAAME,YAAYC,iBAAiBJ,QAAQC,EAAE;EAC7C,OAAOH,oBAAoBK,SAAAA;CAC/B;CAEA,IAAIH,QAAQE,KACR,OAAOL,qBAAAA;CAGX,OAAO,CAAC;AACZ;AAEA,SAASO,iBAAoBC,OAAkB;CAC3C,IAAI,OAAOA,UAAU,WACjB,OAAO,CAAC;CAGZ,OAAOA;AACX"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/config/read/types.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,mBAAmB,GAAG;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC3B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,EAAE,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;IACnC,GAAG,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Canonicalize a string-form trustProxy value into its semantic type. This
|
|
3
|
-
* MUST run for every config surface (env, .conf, file, programmatic input) —
|
|
4
|
-
* not just env: proxy-addr accepts single-integer "long value" IPv4 notation,
|
|
5
|
-
* so an un-canonicalized `trustProxy: "1"` (e.g. a stringifying configmap)
|
|
6
|
-
* would silently compile to an allowlist of `0.0.0.1` instead of one trusted
|
|
7
|
-
* hop. The integer form wins over the boolean words (`'1'` means ONE hop,
|
|
8
|
-
* never trust-all); anything else lowercases (IPs, CIDRs, and the proxy-addr
|
|
9
|
-
* presets are all case-insensitive semantically, but proxy-addr matches the
|
|
10
|
-
* presets case-sensitively) and passes through as the allowlist form.
|
|
11
|
-
*/
|
|
12
|
-
export declare function canonicalizeTrustProxy(raw: string): boolean | number | string;
|
|
13
|
-
/**
|
|
14
|
-
* An entry of the explicit array (allowlist) form must be an address, CIDR,
|
|
15
|
-
* or preset — an integer-string or boolean word there is a mis-typed scalar
|
|
16
|
-
* form and must fail loud instead of compiling to a bogus `0.0.0.1`-style
|
|
17
|
-
* allowlist entry.
|
|
18
|
-
*/
|
|
19
|
-
export declare function isValidTrustProxyListEntry(value: string): boolean;
|
|
20
|
-
/**
|
|
21
|
-
* The allowlist form needs the same trim + lowercase the scalar form gets:
|
|
22
|
-
* proxy-addr trims a comma-separated scalar string itself and matches its
|
|
23
|
-
* presets case-sensitively, so without this an array entry that PASSES
|
|
24
|
-
* validation (which compares the canonicalized value) — ` 10.0.0.0/8 ` or
|
|
25
|
-
* `LOOPBACK` — would still throw `invalid IP address` inside `new App`.
|
|
26
|
-
*/
|
|
27
|
-
export declare function canonicalizeTrustProxyListEntry(value: string): string;
|
|
28
|
-
//# sourceMappingURL=trust-proxy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trust-proxy.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/config/trust-proxy.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAyB7E;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMjE;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErE"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import "node:path";
|
|
2
|
-
import "node:url";
|
|
3
|
-
import.meta.url;
|
|
4
|
-
import { AuthupError } from "@authup/errors";
|
|
5
|
-
//#region src/app/modules/config/trust-proxy.ts
|
|
6
|
-
const BOOLEAN_TRUE_WORDS = /* @__PURE__ */ new Set([
|
|
7
|
-
"true",
|
|
8
|
-
"t",
|
|
9
|
-
"yes",
|
|
10
|
-
"y",
|
|
11
|
-
"on"
|
|
12
|
-
]);
|
|
13
|
-
const BOOLEAN_FALSE_WORDS = /* @__PURE__ */ new Set([
|
|
14
|
-
"false",
|
|
15
|
-
"f",
|
|
16
|
-
"no",
|
|
17
|
-
"n",
|
|
18
|
-
"off"
|
|
19
|
-
]);
|
|
20
|
-
const INTEGER = /^\d+$/;
|
|
21
|
-
/**
|
|
22
|
-
* Canonicalize a string-form trustProxy value into its semantic type. This
|
|
23
|
-
* MUST run for every config surface (env, .conf, file, programmatic input) —
|
|
24
|
-
* not just env: proxy-addr accepts single-integer "long value" IPv4 notation,
|
|
25
|
-
* so an un-canonicalized `trustProxy: "1"` (e.g. a stringifying configmap)
|
|
26
|
-
* would silently compile to an allowlist of `0.0.0.1` instead of one trusted
|
|
27
|
-
* hop. The integer form wins over the boolean words (`'1'` means ONE hop,
|
|
28
|
-
* never trust-all); anything else lowercases (IPs, CIDRs, and the proxy-addr
|
|
29
|
-
* presets are all case-insensitive semantically, but proxy-addr matches the
|
|
30
|
-
* presets case-sensitively) and passes through as the allowlist form.
|
|
31
|
-
*/ function canonicalizeTrustProxy(raw) {
|
|
32
|
-
const normalized = raw.trim();
|
|
33
|
-
if (INTEGER.test(normalized)) {
|
|
34
|
-
const hops = Number.parseInt(normalized, 10);
|
|
35
|
-
if (!Number.isSafeInteger(hops)) throw new AuthupError(`The trustProxy hop count "${normalized}" exceeds the safe integer range.`);
|
|
36
|
-
return hops;
|
|
37
|
-
}
|
|
38
|
-
const lowered = normalized.toLowerCase();
|
|
39
|
-
if (BOOLEAN_TRUE_WORDS.has(lowered)) return true;
|
|
40
|
-
if (BOOLEAN_FALSE_WORDS.has(lowered)) return false;
|
|
41
|
-
return lowered;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* An entry of the explicit array (allowlist) form must be an address, CIDR,
|
|
45
|
-
* or preset — an integer-string or boolean word there is a mis-typed scalar
|
|
46
|
-
* form and must fail loud instead of compiling to a bogus `0.0.0.1`-style
|
|
47
|
-
* allowlist entry.
|
|
48
|
-
*/ function isValidTrustProxyListEntry(value) {
|
|
49
|
-
const normalized = canonicalizeTrustProxyListEntry(value);
|
|
50
|
-
return normalized.length > 0 && !INTEGER.test(normalized) && !BOOLEAN_TRUE_WORDS.has(normalized) && !BOOLEAN_FALSE_WORDS.has(normalized);
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* The allowlist form needs the same trim + lowercase the scalar form gets:
|
|
54
|
-
* proxy-addr trims a comma-separated scalar string itself and matches its
|
|
55
|
-
* presets case-sensitively, so without this an array entry that PASSES
|
|
56
|
-
* validation (which compares the canonicalized value) — ` 10.0.0.0/8 ` or
|
|
57
|
-
* `LOOPBACK` — would still throw `invalid IP address` inside `new App`.
|
|
58
|
-
*/ function canonicalizeTrustProxyListEntry(value) {
|
|
59
|
-
return value.trim().toLowerCase();
|
|
60
|
-
}
|
|
61
|
-
//#endregion
|
|
62
|
-
export { canonicalizeTrustProxy, canonicalizeTrustProxyListEntry, isValidTrustProxyListEntry };
|
|
63
|
-
|
|
64
|
-
//# sourceMappingURL=trust-proxy.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trust-proxy.mjs","names":["AuthupError","BOOLEAN_TRUE_WORDS","Set","BOOLEAN_FALSE_WORDS","INTEGER","canonicalizeTrustProxy","raw","normalized","trim","test","hops","Number","parseInt","isSafeInteger","lowered","toLowerCase","has","isValidTrustProxyListEntry","value","canonicalizeTrustProxyListEntry","length"],"sources":["../../../../src/app/modules/config/trust-proxy.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { AuthupError } from '@authup/errors';\n\nconst BOOLEAN_TRUE_WORDS = new Set(['true', 't', 'yes', 'y', 'on']);\nconst BOOLEAN_FALSE_WORDS = new Set(['false', 'f', 'no', 'n', 'off']);\n\nconst INTEGER = /^\\d+$/;\n\n/**\n * Canonicalize a string-form trustProxy value into its semantic type. This\n * MUST run for every config surface (env, .conf, file, programmatic input) —\n * not just env: proxy-addr accepts single-integer \"long value\" IPv4 notation,\n * so an un-canonicalized `trustProxy: \"1\"` (e.g. a stringifying configmap)\n * would silently compile to an allowlist of `0.0.0.1` instead of one trusted\n * hop. The integer form wins over the boolean words (`'1'` means ONE hop,\n * never trust-all); anything else lowercases (IPs, CIDRs, and the proxy-addr\n * presets are all case-insensitive semantically, but proxy-addr matches the\n * presets case-sensitively) and passes through as the allowlist form.\n */\nexport function canonicalizeTrustProxy(raw: string): boolean | number | string {\n const normalized = raw.trim();\n if (INTEGER.test(normalized)) {\n const hops = Number.parseInt(normalized, 10);\n // The typed surface rejects an out-of-range hop count (zod's int() is\n // safe-integer bounded), so the string surface must not smuggle one\n // past it — canonicalization runs AFTER validation, and parseInt\n // saturates a huge digit string into an unsafe integer / Infinity,\n // which routup reads as \"trust every hop\".\n if (!Number.isSafeInteger(hops)) {\n throw new AuthupError(`The trustProxy hop count \"${normalized}\" exceeds the safe integer range.`);\n }\n\n return hops;\n }\n\n const lowered = normalized.toLowerCase();\n if (BOOLEAN_TRUE_WORDS.has(lowered)) {\n return true;\n }\n if (BOOLEAN_FALSE_WORDS.has(lowered)) {\n return false;\n }\n\n return lowered;\n}\n\n/**\n * An entry of the explicit array (allowlist) form must be an address, CIDR,\n * or preset — an integer-string or boolean word there is a mis-typed scalar\n * form and must fail loud instead of compiling to a bogus `0.0.0.1`-style\n * allowlist entry.\n */\nexport function isValidTrustProxyListEntry(value: string): boolean {\n const normalized = canonicalizeTrustProxyListEntry(value);\n return normalized.length > 0 &&\n !INTEGER.test(normalized) &&\n !BOOLEAN_TRUE_WORDS.has(normalized) &&\n !BOOLEAN_FALSE_WORDS.has(normalized);\n}\n\n/**\n * The allowlist form needs the same trim + lowercase the scalar form gets:\n * proxy-addr trims a comma-separated scalar string itself and matches its\n * presets case-sensitively, so without this an array entry that PASSES\n * validation (which compares the canonicalized value) — ` 10.0.0.0/8 ` or\n * `LOOPBACK` — would still throw `invalid IP address` inside `new App`.\n */\nexport function canonicalizeTrustProxyListEntry(value: string): string {\n return value.trim().toLowerCase();\n}\n"],"mappings":";;;;;AASA,MAAMC,qCAAqB,IAAIC,IAAI;CAAC;CAAQ;CAAK;CAAO;CAAK;AAAK,CAAA;AAClE,MAAMC,sCAAsB,IAAID,IAAI;CAAC;CAAS;CAAK;CAAM;CAAK;AAAM,CAAA;AAEpE,MAAME,UAAU;;;;;;;;;;;GAahB,SAAgBC,uBAAuBC,KAAW;CAC9C,MAAMC,aAAaD,IAAIE,KAAI;CAC3B,IAAIJ,QAAQK,KAAKF,UAAAA,GAAa;EAC1B,MAAMG,OAAOC,OAAOC,SAASL,YAAY,EAAA;EAMzC,IAAI,CAACI,OAAOE,cAAcH,IAAAA,GACtB,MAAM,IAAIV,YAAY,6BAA6BO,WAAW,kCAAkC;EAGpG,OAAOG;CACX;CAEA,MAAMI,UAAUP,WAAWQ,YAAW;CACtC,IAAId,mBAAmBe,IAAIF,OAAAA,GACvB,OAAO;CAEX,IAAIX,oBAAoBa,IAAIF,OAAAA,GACxB,OAAO;CAGX,OAAOA;AACX;;;;;;GAQA,SAAgBG,2BAA2BC,OAAa;CACpD,MAAMX,aAAaY,gCAAgCD,KAAAA;CACnD,OAAOX,WAAWa,SAAS,KACvB,CAAChB,QAAQK,KAAKF,UAAAA,KACd,CAACN,mBAAmBe,IAAIT,UAAAA,KACxB,CAACJ,oBAAoBa,IAAIT,UAAAA;AACjC;;;;;;;GASA,SAAgBY,gCAAgCD,OAAa;CACzD,OAAOA,MAAMV,KAAI,CAAA,CAAGO,YAAW;AACnC"}
|
package/dist/cli/config.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { ConfigReadFsOptions } from '../app/index.ts';
|
|
2
|
-
import { ConfigModule } from '../app/index.ts';
|
|
3
|
-
import type { CLIConfigArgs } from './types.ts';
|
|
4
|
-
export declare const CLI_CONFIG_ARGS: {
|
|
5
|
-
configDirectory: {
|
|
6
|
-
type: "string";
|
|
7
|
-
description: string;
|
|
8
|
-
alias: string;
|
|
9
|
-
};
|
|
10
|
-
configFile: {
|
|
11
|
-
type: "string";
|
|
12
|
-
description: string;
|
|
13
|
-
alias: string;
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
export declare function applyCLIConfigArgs(options: ConfigReadFsOptions, args: CLIConfigArgs): ConfigReadFsOptions;
|
|
17
|
-
export declare function createCLIConfigModule(options?: ConfigReadFsOptions): ConfigModule;
|
|
18
|
-
//# sourceMappingURL=config.d.ts.map
|
package/dist/cli/config.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAc,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,eAAe;;;;;;;;;;;CAWT,CAAC;AAEpB,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAE,aAAa,GACnB,mBAAmB,CAUtB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,mBAAwB,GAAI,YAAY,CAKtF"}
|
package/dist/cli/config.mjs
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import "node:path";
|
|
2
|
-
import "node:url";
|
|
3
|
-
import.meta.url;
|
|
4
|
-
import { readConfig } from "../app/modules/config/helpers.mjs";
|
|
5
|
-
import { ConfigModule } from "../app/modules/config/module.mjs";
|
|
6
|
-
import "../app/index.mjs";
|
|
7
|
-
//#region src/cli/config.ts
|
|
8
|
-
const CLI_CONFIG_ARGS = {
|
|
9
|
-
configDirectory: {
|
|
10
|
-
type: "string",
|
|
11
|
-
description: "Config directory path",
|
|
12
|
-
alias: "cD"
|
|
13
|
-
},
|
|
14
|
-
configFile: {
|
|
15
|
-
type: "string",
|
|
16
|
-
description: "Name of one or more configuration files.",
|
|
17
|
-
alias: "cF"
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
function applyCLIConfigArgs(options, args) {
|
|
21
|
-
if (args.configDirectory) options.cwd = args.configDirectory;
|
|
22
|
-
if (args.configFile) options.file = args.configFile;
|
|
23
|
-
return options;
|
|
24
|
-
}
|
|
25
|
-
function createCLIConfigModule(options = {}) {
|
|
26
|
-
return new ConfigModule(() => readConfig({
|
|
27
|
-
env: true,
|
|
28
|
-
fs: options
|
|
29
|
-
}));
|
|
30
|
-
}
|
|
31
|
-
//#endregion
|
|
32
|
-
export { CLI_CONFIG_ARGS, applyCLIConfigArgs, createCLIConfigModule };
|
|
33
|
-
|
|
34
|
-
//# sourceMappingURL=config.mjs.map
|
package/dist/cli/config.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.mjs","names":["ConfigModule","readConfig","CLI_CONFIG_ARGS","configDirectory","type","description","alias","configFile","applyCLIConfigArgs","options","args","cwd","file","createCLIConfigModule","env","fs"],"sources":["../../src/cli/config.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { ArgsDef } from 'citty';\nimport type { ConfigReadFsOptions } from '../app/index.ts';\nimport { ConfigModule, readConfig } from '../app/index.ts';\nimport type { CLIConfigArgs } from './types.ts';\n\nexport const CLI_CONFIG_ARGS = {\n configDirectory: {\n type: 'string',\n description: 'Config directory path',\n alias: 'cD',\n },\n configFile: {\n type: 'string',\n description: 'Name of one or more configuration files.',\n alias: 'cF',\n },\n} satisfies ArgsDef;\n\nexport function applyCLIConfigArgs(\n options: ConfigReadFsOptions,\n args: CLIConfigArgs,\n) : ConfigReadFsOptions {\n if (args.configDirectory) {\n options.cwd = args.configDirectory;\n }\n\n if (args.configFile) {\n options.file = args.configFile;\n }\n\n return options;\n}\n\nexport function createCLIConfigModule(options: ConfigReadFsOptions = {}) : ConfigModule {\n return new ConfigModule(() => readConfig({\n env: true,\n fs: options,\n }));\n}\n"],"mappings":";;;;;;;AAYA,MAAaE,kBAAkB;CAC3BC,iBAAiB;EACbC,MAAM;EACNC,aAAa;EACbC,OAAO;CACX;CACAC,YAAY;EACRH,MAAM;EACNC,aAAa;EACbC,OAAO;CACX;AACJ;AAEA,SAAgBE,mBACZC,SACAC,MAAmB;CAEnB,IAAIA,KAAKP,iBACLM,QAAQE,MAAMD,KAAKP;CAGvB,IAAIO,KAAKH,YACLE,QAAQG,OAAOF,KAAKH;CAGxB,OAAOE;AACX;AAEA,SAAgBI,sBAAsBJ,UAA+B,CAAC,GAAC;CACnE,OAAO,IAAIT,mBAAmBC,WAAW;EACrCa,KAAK;EACLC,IAAIN;CACR,CAAA,CAAA;AACJ"}
|
package/dist/cli/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,aAAa,GAAG;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC"}
|
package/dist/utils/host.d.ts
DELETED
package/dist/utils/host.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/utils/host.ts"],"names":[],"mappings":"AAOA,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,UAMzC"}
|
package/dist/utils/host.mjs
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import "node:path";
|
|
2
|
-
import "node:url";
|
|
3
|
-
import.meta.url;
|
|
4
|
-
//#region src/utils/host.ts
|
|
5
|
-
function toPublicHost(input) {
|
|
6
|
-
if (input === "0.0.0.0" || input === "::") return "localhost";
|
|
7
|
-
return input;
|
|
8
|
-
}
|
|
9
|
-
//#endregion
|
|
10
|
-
export { toPublicHost };
|
|
11
|
-
|
|
12
|
-
//# sourceMappingURL=host.mjs.map
|