alepha 0.15.1 → 0.15.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +68 -80
- package/dist/api/audits/index.d.ts +10 -33
- package/dist/api/audits/index.d.ts.map +1 -1
- package/dist/api/audits/index.js +10 -33
- package/dist/api/audits/index.js.map +1 -1
- package/dist/api/files/index.d.ts +10 -3
- package/dist/api/files/index.d.ts.map +1 -1
- package/dist/api/files/index.js +10 -3
- package/dist/api/files/index.js.map +1 -1
- package/dist/api/jobs/index.d.ts +162 -155
- package/dist/api/jobs/index.d.ts.map +1 -1
- package/dist/api/jobs/index.js +10 -3
- package/dist/api/jobs/index.js.map +1 -1
- package/dist/api/keys/index.d.ts +413 -0
- package/dist/api/keys/index.d.ts.map +1 -0
- package/dist/api/keys/index.js +476 -0
- package/dist/api/keys/index.js.map +1 -0
- package/dist/api/notifications/index.d.ts +10 -4
- package/dist/api/notifications/index.d.ts.map +1 -1
- package/dist/api/notifications/index.js +10 -4
- package/dist/api/notifications/index.js.map +1 -1
- package/dist/api/parameters/index.d.ts +43 -50
- package/dist/api/parameters/index.d.ts.map +1 -1
- package/dist/api/parameters/index.js +30 -37
- package/dist/api/parameters/index.js.map +1 -1
- package/dist/api/users/index.d.ts +1081 -760
- package/dist/api/users/index.d.ts.map +1 -1
- package/dist/api/users/index.js +2539 -218
- package/dist/api/users/index.js.map +1 -1
- package/dist/api/verifications/index.d.ts +138 -132
- package/dist/api/verifications/index.d.ts.map +1 -1
- package/dist/api/verifications/index.js +12 -4
- package/dist/api/verifications/index.js.map +1 -1
- package/dist/batch/index.d.ts +20 -40
- package/dist/batch/index.d.ts.map +1 -1
- package/dist/batch/index.js +31 -44
- package/dist/batch/index.js.map +1 -1
- package/dist/bucket/index.d.ts +440 -8
- package/dist/bucket/index.d.ts.map +1 -1
- package/dist/bucket/index.js +1861 -12
- package/dist/bucket/index.js.map +1 -1
- package/dist/cache/core/index.d.ts +179 -7
- package/dist/cache/core/index.d.ts.map +1 -1
- package/dist/cache/core/index.js +213 -7
- package/dist/cache/core/index.js.map +1 -1
- package/dist/cache/redis/index.d.ts +1 -0
- package/dist/cache/redis/index.d.ts.map +1 -1
- package/dist/cache/redis/index.js +4 -0
- package/dist/cache/redis/index.js.map +1 -1
- package/dist/cli/index.d.ts +638 -5645
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2550 -368
- package/dist/cli/index.js.map +1 -1
- package/dist/command/index.d.ts +203 -45
- package/dist/command/index.d.ts.map +1 -1
- package/dist/command/index.js +2060 -71
- package/dist/command/index.js.map +1 -1
- package/dist/core/index.browser.js +70 -40
- package/dist/core/index.browser.js.map +1 -1
- package/dist/core/index.d.ts +34 -13
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +90 -40
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.native.js +70 -40
- package/dist/core/index.native.js.map +1 -1
- package/dist/datetime/index.d.ts +15 -0
- package/dist/datetime/index.d.ts.map +1 -1
- package/dist/datetime/index.js +15 -0
- package/dist/datetime/index.js.map +1 -1
- package/dist/email/index.d.ts +323 -20
- package/dist/email/index.d.ts.map +1 -1
- package/dist/email/index.js +1857 -7
- package/dist/email/index.js.map +1 -1
- package/dist/fake/index.d.ts +90 -8
- package/dist/fake/index.d.ts.map +1 -1
- package/dist/fake/index.js +91 -20
- package/dist/fake/index.js.map +1 -1
- package/dist/lock/core/index.d.ts +11 -4
- package/dist/lock/core/index.d.ts.map +1 -1
- package/dist/lock/core/index.js +11 -4
- package/dist/lock/core/index.js.map +1 -1
- package/dist/logger/index.d.ts +17 -66
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +14 -63
- package/dist/logger/index.js.map +1 -1
- package/dist/mcp/index.d.ts +10 -30
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +12 -35
- package/dist/mcp/index.js.map +1 -1
- package/dist/orm/index.browser.js +3 -3
- package/dist/orm/index.browser.js.map +1 -1
- package/dist/orm/index.bun.js +39 -20
- package/dist/orm/index.bun.js.map +1 -1
- package/dist/orm/index.d.ts +517 -540
- package/dist/orm/index.d.ts.map +1 -1
- package/dist/orm/index.js +58 -71
- package/dist/orm/index.js.map +1 -1
- package/dist/queue/core/index.d.ts +18 -10
- package/dist/queue/core/index.d.ts.map +1 -1
- package/dist/queue/core/index.js +14 -6
- package/dist/queue/core/index.js.map +1 -1
- package/dist/react/auth/index.browser.js +108 -0
- package/dist/react/auth/index.browser.js.map +1 -0
- package/dist/react/auth/index.d.ts +100 -0
- package/dist/react/auth/index.d.ts.map +1 -0
- package/dist/react/auth/index.js +145 -0
- package/dist/react/auth/index.js.map +1 -0
- package/dist/react/core/index.d.ts +469 -0
- package/dist/react/core/index.d.ts.map +1 -0
- package/dist/react/core/index.js +464 -0
- package/dist/react/core/index.js.map +1 -0
- package/dist/react/form/index.d.ts +232 -0
- package/dist/react/form/index.d.ts.map +1 -0
- package/dist/react/form/index.js +432 -0
- package/dist/react/form/index.js.map +1 -0
- package/dist/react/head/index.browser.js +423 -0
- package/dist/react/head/index.browser.js.map +1 -0
- package/dist/react/head/index.d.ts +288 -0
- package/dist/react/head/index.d.ts.map +1 -0
- package/dist/react/head/index.js +465 -0
- package/dist/react/head/index.js.map +1 -0
- package/dist/react/i18n/index.d.ts +175 -0
- package/dist/react/i18n/index.d.ts.map +1 -0
- package/dist/react/i18n/index.js +224 -0
- package/dist/react/i18n/index.js.map +1 -0
- package/dist/react/router/index.browser.js +1974 -0
- package/dist/react/router/index.browser.js.map +1 -0
- package/dist/react/router/index.d.ts +1956 -0
- package/dist/react/router/index.d.ts.map +1 -0
- package/dist/react/router/index.js +4722 -0
- package/dist/react/router/index.js.map +1 -0
- package/dist/react/websocket/index.d.ts +117 -0
- package/dist/react/websocket/index.d.ts.map +1 -0
- package/dist/react/websocket/index.js +107 -0
- package/dist/react/websocket/index.js.map +1 -0
- package/dist/redis/index.bun.js +4 -0
- package/dist/redis/index.bun.js.map +1 -1
- package/dist/redis/index.d.ts +41 -44
- package/dist/redis/index.d.ts.map +1 -1
- package/dist/redis/index.js +16 -25
- package/dist/redis/index.js.map +1 -1
- package/dist/retry/index.d.ts +11 -2
- package/dist/retry/index.d.ts.map +1 -1
- package/dist/retry/index.js +11 -2
- package/dist/retry/index.js.map +1 -1
- package/dist/scheduler/index.d.ts +11 -2
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/scheduler/index.js +11 -2
- package/dist/scheduler/index.js.map +1 -1
- package/dist/security/index.d.ts +140 -49
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +164 -32
- package/dist/security/index.js.map +1 -1
- package/dist/server/auth/index.d.ts +12 -7
- package/dist/server/auth/index.d.ts.map +1 -1
- package/dist/server/auth/index.js +12 -7
- package/dist/server/auth/index.js.map +1 -1
- package/dist/server/cache/index.d.ts +7 -22
- package/dist/server/cache/index.d.ts.map +1 -1
- package/dist/server/cache/index.js +7 -22
- package/dist/server/cache/index.js.map +1 -1
- package/dist/server/compress/index.d.ts +10 -2
- package/dist/server/compress/index.d.ts.map +1 -1
- package/dist/server/compress/index.js +10 -2
- package/dist/server/compress/index.js.map +1 -1
- package/dist/server/cookies/index.d.ts +40 -16
- package/dist/server/cookies/index.d.ts.map +1 -1
- package/dist/server/cookies/index.js +7 -5
- package/dist/server/cookies/index.js.map +1 -1
- package/dist/server/core/index.d.ts +124 -23
- package/dist/server/core/index.d.ts.map +1 -1
- package/dist/server/core/index.js +231 -14
- package/dist/server/core/index.js.map +1 -1
- package/dist/server/cors/index.d.ts +13 -23
- package/dist/server/cors/index.d.ts.map +1 -1
- package/dist/server/cors/index.js +7 -21
- package/dist/server/cors/index.js.map +1 -1
- package/dist/server/health/index.d.ts +8 -2
- package/dist/server/health/index.d.ts.map +1 -1
- package/dist/server/health/index.js +8 -2
- package/dist/server/health/index.js.map +1 -1
- package/dist/server/helmet/index.d.ts +11 -3
- package/dist/server/helmet/index.d.ts.map +1 -1
- package/dist/server/helmet/index.js +11 -3
- package/dist/server/helmet/index.js.map +1 -1
- package/dist/server/links/index.d.ts +11 -6
- package/dist/server/links/index.d.ts.map +1 -1
- package/dist/server/links/index.js +11 -6
- package/dist/server/links/index.js.map +1 -1
- package/dist/server/metrics/index.d.ts +10 -3
- package/dist/server/metrics/index.d.ts.map +1 -1
- package/dist/server/metrics/index.js +10 -3
- package/dist/server/metrics/index.js.map +1 -1
- package/dist/server/multipart/index.d.ts +9 -3
- package/dist/server/multipart/index.d.ts.map +1 -1
- package/dist/server/multipart/index.js +9 -3
- package/dist/server/multipart/index.js.map +1 -1
- package/dist/server/proxy/index.d.ts +8 -2
- package/dist/server/proxy/index.d.ts.map +1 -1
- package/dist/server/proxy/index.js +8 -2
- package/dist/server/proxy/index.js.map +1 -1
- package/dist/server/rate-limit/index.d.ts +30 -35
- package/dist/server/rate-limit/index.d.ts.map +1 -1
- package/dist/server/rate-limit/index.js +18 -55
- package/dist/server/rate-limit/index.js.map +1 -1
- package/dist/server/static/index.d.ts +137 -4
- package/dist/server/static/index.d.ts.map +1 -1
- package/dist/server/static/index.js +1853 -5
- package/dist/server/static/index.js.map +1 -1
- package/dist/server/swagger/index.d.ts +309 -6
- package/dist/server/swagger/index.d.ts.map +1 -1
- package/dist/server/swagger/index.js +1854 -6
- package/dist/server/swagger/index.js.map +1 -1
- package/dist/sms/index.d.ts +309 -7
- package/dist/sms/index.d.ts.map +1 -1
- package/dist/sms/index.js +1856 -7
- package/dist/sms/index.js.map +1 -1
- package/dist/system/index.browser.js +1218 -0
- package/dist/system/index.browser.js.map +1 -0
- package/dist/{file → system}/index.d.ts +343 -16
- package/dist/system/index.d.ts.map +1 -0
- package/dist/{file → system}/index.js +419 -22
- package/dist/system/index.js.map +1 -0
- package/dist/thread/index.d.ts +11 -2
- package/dist/thread/index.d.ts.map +1 -1
- package/dist/thread/index.js +11 -2
- package/dist/thread/index.js.map +1 -1
- package/dist/topic/core/index.d.ts +12 -5
- package/dist/topic/core/index.d.ts.map +1 -1
- package/dist/topic/core/index.js +12 -5
- package/dist/topic/core/index.js.map +1 -1
- package/dist/vite/index.d.ts +5 -6272
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +23 -10
- package/dist/vite/index.js.map +1 -1
- package/dist/websocket/index.d.ts +12 -8
- package/dist/websocket/index.d.ts.map +1 -1
- package/dist/websocket/index.js +12 -8
- package/dist/websocket/index.js.map +1 -1
- package/package.json +82 -11
- package/src/api/audits/index.ts +10 -33
- package/src/api/files/__tests__/$bucket.spec.ts +1 -1
- package/src/api/files/controllers/AdminFileStatsController.spec.ts +1 -1
- package/src/api/files/controllers/FileController.spec.ts +1 -1
- package/src/api/files/index.ts +10 -3
- package/src/api/files/jobs/FileJobs.spec.ts +1 -1
- package/src/api/files/services/FileService.spec.ts +1 -1
- package/src/api/jobs/index.ts +10 -3
- package/src/api/keys/controllers/AdminApiKeyController.ts +75 -0
- package/src/api/keys/controllers/ApiKeyController.ts +103 -0
- package/src/api/keys/entities/apiKeyEntity.ts +41 -0
- package/src/api/keys/index.ts +49 -0
- package/src/api/keys/schemas/adminApiKeyQuerySchema.ts +7 -0
- package/src/api/keys/schemas/adminApiKeyResourceSchema.ts +17 -0
- package/src/api/keys/schemas/createApiKeyBodySchema.ts +7 -0
- package/src/api/keys/schemas/createApiKeyResponseSchema.ts +11 -0
- package/src/api/keys/schemas/listApiKeyResponseSchema.ts +15 -0
- package/src/api/keys/schemas/revokeApiKeyParamsSchema.ts +5 -0
- package/src/api/keys/schemas/revokeApiKeyResponseSchema.ts +5 -0
- package/src/api/keys/services/ApiKeyService.spec.ts +553 -0
- package/src/api/keys/services/ApiKeyService.ts +306 -0
- package/src/api/logs/TODO.md +55 -0
- package/src/api/notifications/index.ts +10 -4
- package/src/api/parameters/index.ts +9 -30
- package/src/api/parameters/primitives/$config.ts +12 -4
- package/src/api/parameters/services/ConfigStore.ts +9 -3
- package/src/api/users/__tests__/ApiKeys-integration.spec.ts +1035 -0
- package/src/api/users/__tests__/ApiKeys.spec.ts +401 -0
- package/src/api/users/index.ts +14 -3
- package/src/api/users/primitives/$realm.ts +33 -5
- package/src/api/users/providers/RealmProvider.ts +1 -12
- package/src/api/users/services/SessionService.ts +1 -1
- package/src/api/verifications/controllers/VerificationController.ts +2 -0
- package/src/api/verifications/index.ts +10 -4
- package/src/batch/index.ts +9 -36
- package/src/batch/primitives/$batch.ts +0 -8
- package/src/batch/providers/BatchProvider.ts +29 -2
- package/src/bucket/__tests__/shared.ts +1 -1
- package/src/bucket/index.ts +13 -6
- package/src/bucket/primitives/$bucket.ts +1 -1
- package/src/bucket/providers/LocalFileStorageProvider.ts +1 -1
- package/src/bucket/providers/MemoryFileStorageProvider.ts +1 -1
- package/src/cache/core/__tests__/shared.ts +30 -0
- package/src/cache/core/index.ts +11 -6
- package/src/cache/core/primitives/$cache.spec.ts +5 -0
- package/src/cache/core/providers/CacheProvider.ts +17 -0
- package/src/cache/core/providers/MemoryCacheProvider.ts +300 -1
- package/src/cache/redis/__tests__/cache-redis.spec.ts +5 -0
- package/src/cache/redis/providers/RedisCacheProvider.ts +9 -0
- package/src/cli/apps/AlephaCli.ts +1 -14
- package/src/cli/apps/AlephaPackageBuilderCli.ts +10 -1
- package/src/cli/atoms/buildOptions.ts +99 -9
- package/src/cli/commands/build.ts +150 -37
- package/src/cli/commands/db.ts +22 -18
- package/src/cli/commands/deploy.ts +1 -1
- package/src/cli/commands/dev.ts +1 -20
- package/src/cli/commands/gen/env.ts +5 -2
- package/src/cli/commands/gen/openapi.ts +5 -2
- package/src/cli/commands/init.spec.ts +588 -0
- package/src/cli/commands/init.ts +115 -58
- package/src/cli/commands/lint.ts +7 -1
- package/src/cli/commands/typecheck.ts +11 -0
- package/src/cli/providers/AppEntryProvider.ts +1 -1
- package/src/cli/providers/ViteBuildProvider.ts +8 -50
- package/src/cli/providers/ViteDevServerProvider.ts +35 -16
- package/src/cli/services/AlephaCliUtils.ts +52 -121
- package/src/cli/services/PackageManagerUtils.ts +129 -11
- package/src/cli/services/ProjectScaffolder.spec.ts +97 -0
- package/src/cli/services/ProjectScaffolder.ts +148 -81
- package/src/cli/services/ViteUtils.ts +82 -0
- package/src/cli/{assets/claudeMd.ts → templates/agentMd.ts} +37 -24
- package/src/cli/templates/apiAppSecurityTs.ts +11 -0
- package/src/cli/templates/apiIndexTs.ts +30 -0
- package/src/cli/templates/gitignore.ts +39 -0
- package/src/cli/{assets → templates}/mainCss.ts +11 -2
- package/src/cli/templates/mainServerTs.ts +33 -0
- package/src/cli/templates/webAppRouterTs.ts +74 -0
- package/src/cli/templates/webHelloComponentTsx.ts +30 -0
- package/src/command/helpers/Runner.spec.ts +139 -0
- package/src/command/helpers/Runner.ts +7 -22
- package/src/command/index.ts +12 -4
- package/src/command/providers/CliProvider.spec.ts +1392 -0
- package/src/command/providers/CliProvider.ts +320 -47
- package/src/core/Alepha.ts +34 -27
- package/src/core/__tests__/Alepha-start.spec.ts +4 -4
- package/src/core/helpers/jsonSchemaToTypeBox.spec.ts +771 -0
- package/src/core/helpers/jsonSchemaToTypeBox.ts +62 -10
- package/src/core/index.shared.ts +1 -0
- package/src/core/index.ts +20 -0
- package/src/core/providers/EventManager.spec.ts +0 -71
- package/src/core/providers/EventManager.ts +3 -15
- package/src/core/providers/Json.ts +2 -14
- package/src/datetime/index.ts +15 -0
- package/src/email/index.ts +10 -5
- package/src/email/providers/LocalEmailProvider.spec.ts +1 -1
- package/src/email/providers/LocalEmailProvider.ts +1 -1
- package/src/fake/__tests__/keyName.example.ts +1 -1
- package/src/fake/__tests__/keyName.spec.ts +5 -5
- package/src/fake/index.ts +9 -6
- package/src/fake/providers/FakeProvider.spec.ts +258 -40
- package/src/fake/providers/FakeProvider.ts +133 -19
- package/src/lock/core/index.ts +11 -4
- package/src/logger/index.ts +17 -66
- package/src/mcp/index.ts +10 -27
- package/src/mcp/transports/SseMcpTransport.ts +0 -11
- package/src/orm/__tests__/PostgresProvider.spec.ts +2 -2
- package/src/orm/index.browser.ts +2 -2
- package/src/orm/index.bun.ts +5 -3
- package/src/orm/index.ts +23 -53
- package/src/orm/providers/drivers/BunSqliteProvider.ts +5 -1
- package/src/orm/providers/drivers/CloudflareD1Provider.ts +57 -30
- package/src/orm/providers/drivers/DatabaseProvider.ts +9 -1
- package/src/orm/providers/drivers/NodeSqliteProvider.ts +4 -1
- package/src/orm/services/Repository.ts +7 -3
- package/src/queue/core/index.ts +14 -6
- package/src/react/auth/__tests__/$auth.spec.ts +202 -0
- package/src/react/auth/hooks/useAuth.ts +32 -0
- package/src/react/auth/index.browser.ts +13 -0
- package/src/react/auth/index.shared.ts +2 -0
- package/src/react/auth/index.ts +48 -0
- package/src/react/auth/providers/ReactAuthProvider.ts +16 -0
- package/src/react/auth/services/ReactAuth.ts +135 -0
- package/src/react/core/__tests__/Router.spec.tsx +169 -0
- package/src/react/core/components/ClientOnly.tsx +49 -0
- package/src/react/core/components/ErrorBoundary.tsx +73 -0
- package/src/react/core/contexts/AlephaContext.ts +7 -0
- package/src/react/core/contexts/AlephaProvider.tsx +42 -0
- package/src/react/core/hooks/useAction.browser.spec.tsx +569 -0
- package/src/react/core/hooks/useAction.ts +480 -0
- package/src/react/core/hooks/useAlepha.ts +26 -0
- package/src/react/core/hooks/useClient.ts +17 -0
- package/src/react/core/hooks/useEvents.ts +51 -0
- package/src/react/core/hooks/useInject.ts +12 -0
- package/src/react/core/hooks/useStore.ts +52 -0
- package/src/react/core/index.ts +90 -0
- package/src/react/form/components/FormState.tsx +17 -0
- package/src/react/form/errors/FormValidationError.ts +18 -0
- package/src/react/form/hooks/useForm.browser.spec.tsx +366 -0
- package/src/react/form/hooks/useForm.ts +47 -0
- package/src/react/form/hooks/useFormState.ts +130 -0
- package/src/react/form/index.ts +44 -0
- package/src/react/form/services/FormModel.ts +614 -0
- package/src/react/head/helpers/SeoExpander.spec.ts +203 -0
- package/src/react/head/helpers/SeoExpander.ts +142 -0
- package/src/react/head/hooks/useHead.spec.tsx +288 -0
- package/src/react/head/hooks/useHead.ts +62 -0
- package/src/react/head/index.browser.ts +26 -0
- package/src/react/head/index.ts +44 -0
- package/src/react/head/interfaces/Head.ts +105 -0
- package/src/react/head/primitives/$head.ts +25 -0
- package/src/react/head/providers/BrowserHeadProvider.browser.spec.ts +196 -0
- package/src/react/head/providers/BrowserHeadProvider.ts +212 -0
- package/src/react/head/providers/HeadProvider.ts +168 -0
- package/src/react/head/providers/ServerHeadProvider.ts +31 -0
- package/src/react/i18n/__tests__/integration.spec.tsx +239 -0
- package/src/react/i18n/components/Localize.spec.tsx +357 -0
- package/src/react/i18n/components/Localize.tsx +35 -0
- package/src/react/i18n/hooks/useI18n.browser.spec.tsx +438 -0
- package/src/react/i18n/hooks/useI18n.ts +18 -0
- package/src/react/i18n/index.ts +41 -0
- package/src/react/i18n/primitives/$dictionary.ts +69 -0
- package/src/react/i18n/providers/I18nProvider.spec.ts +389 -0
- package/src/react/i18n/providers/I18nProvider.ts +278 -0
- package/src/react/router/__tests__/page-head-browser.browser.spec.ts +95 -0
- package/src/react/router/__tests__/page-head.spec.ts +48 -0
- package/src/react/router/__tests__/seo-head.spec.ts +125 -0
- package/src/react/router/atoms/ssrManifestAtom.ts +58 -0
- package/src/react/router/components/ErrorViewer.tsx +872 -0
- package/src/react/router/components/Link.tsx +23 -0
- package/src/react/router/components/NestedView.tsx +223 -0
- package/src/react/router/components/NotFound.tsx +30 -0
- package/src/react/router/constants/PAGE_PRELOAD_KEY.ts +6 -0
- package/src/react/router/contexts/RouterLayerContext.ts +12 -0
- package/src/react/router/errors/Redirection.ts +28 -0
- package/src/react/router/hooks/useActive.ts +52 -0
- package/src/react/router/hooks/useQueryParams.ts +63 -0
- package/src/react/router/hooks/useRouter.ts +20 -0
- package/src/react/router/hooks/useRouterState.ts +11 -0
- package/src/react/router/index.browser.ts +45 -0
- package/src/react/router/index.shared.ts +19 -0
- package/src/react/router/index.ts +146 -0
- package/src/react/router/primitives/$page.browser.spec.tsx +851 -0
- package/src/react/router/primitives/$page.spec.tsx +676 -0
- package/src/react/router/primitives/$page.ts +489 -0
- package/src/react/router/providers/ReactBrowserProvider.ts +312 -0
- package/src/react/router/providers/ReactBrowserRendererProvider.ts +25 -0
- package/src/react/router/providers/ReactBrowserRouterProvider.ts +168 -0
- package/src/react/router/providers/ReactPageProvider.ts +726 -0
- package/src/react/router/providers/ReactPreloadProvider.spec.ts +142 -0
- package/src/react/router/providers/ReactPreloadProvider.ts +85 -0
- package/src/react/router/providers/ReactServerProvider.spec.tsx +316 -0
- package/src/react/router/providers/ReactServerProvider.ts +487 -0
- package/src/react/router/providers/ReactServerTemplateProvider.spec.ts +210 -0
- package/src/react/router/providers/ReactServerTemplateProvider.ts +542 -0
- package/src/react/router/providers/SSRManifestProvider.ts +334 -0
- package/src/react/router/services/ReactPageServerService.ts +48 -0
- package/src/react/router/services/ReactPageService.ts +27 -0
- package/src/react/router/services/ReactRouter.ts +262 -0
- package/src/react/websocket/hooks/useRoom.tsx +242 -0
- package/src/react/websocket/index.ts +7 -0
- package/src/redis/__tests__/redis.spec.ts +13 -0
- package/src/redis/index.ts +9 -25
- package/src/redis/providers/BunRedisProvider.ts +9 -0
- package/src/redis/providers/NodeRedisProvider.ts +8 -0
- package/src/redis/providers/RedisProvider.ts +16 -0
- package/src/retry/index.ts +11 -2
- package/src/router/index.ts +15 -0
- package/src/scheduler/index.ts +11 -2
- package/src/security/__tests__/BasicAuth.spec.ts +2 -0
- package/src/security/__tests__/ServerSecurityProvider.spec.ts +90 -5
- package/src/security/index.ts +15 -10
- package/src/security/interfaces/IssuerResolver.ts +27 -0
- package/src/security/primitives/$issuer.ts +55 -0
- package/src/security/providers/SecurityProvider.ts +179 -0
- package/src/security/providers/ServerBasicAuthProvider.ts +6 -2
- package/src/security/providers/ServerSecurityProvider.ts +63 -41
- package/src/server/auth/index.ts +12 -7
- package/src/server/cache/index.ts +7 -22
- package/src/server/compress/index.ts +10 -2
- package/src/server/cookies/index.ts +7 -5
- package/src/server/cookies/primitives/$cookie.ts +33 -11
- package/src/server/core/index.ts +16 -6
- package/src/server/core/interfaces/ServerRequest.ts +83 -1
- package/src/server/core/primitives/$action.spec.ts +1 -1
- package/src/server/core/primitives/$action.ts +8 -3
- package/src/server/core/providers/NodeHttpServerProvider.spec.ts +9 -3
- package/src/server/core/providers/NodeHttpServerProvider.ts +9 -3
- package/src/server/core/services/ServerRequestParser.spec.ts +520 -0
- package/src/server/core/services/ServerRequestParser.ts +306 -13
- package/src/server/cors/index.ts +7 -21
- package/src/server/cors/primitives/$cors.ts +6 -2
- package/src/server/health/index.ts +8 -2
- package/src/server/helmet/index.ts +11 -3
- package/src/server/links/index.ts +11 -6
- package/src/server/metrics/index.ts +10 -3
- package/src/server/multipart/index.ts +9 -3
- package/src/server/proxy/index.ts +8 -2
- package/src/server/rate-limit/index.ts +21 -25
- package/src/server/rate-limit/primitives/$rateLimit.ts +6 -2
- package/src/server/rate-limit/providers/ServerRateLimitProvider.spec.ts +38 -14
- package/src/server/rate-limit/providers/ServerRateLimitProvider.ts +22 -56
- package/src/server/static/index.ts +8 -2
- package/src/server/static/providers/ServerStaticProvider.ts +1 -1
- package/src/server/swagger/index.ts +9 -4
- package/src/server/swagger/providers/ServerSwaggerProvider.ts +1 -1
- package/src/sms/index.ts +9 -5
- package/src/sms/providers/LocalSmsProvider.spec.ts +1 -1
- package/src/sms/providers/LocalSmsProvider.ts +1 -1
- package/src/system/index.browser.ts +36 -0
- package/src/system/index.ts +62 -0
- package/src/system/index.workerd.ts +1 -0
- package/src/{file → system}/providers/FileSystemProvider.ts +24 -0
- package/src/{file → system}/providers/MemoryFileSystemProvider.ts +116 -3
- package/src/system/providers/MemoryShellProvider.ts +164 -0
- package/src/{file → system}/providers/NodeFileSystemProvider.spec.ts +2 -2
- package/src/{file → system}/providers/NodeFileSystemProvider.ts +47 -2
- package/src/system/providers/NodeShellProvider.ts +184 -0
- package/src/system/providers/ShellProvider.ts +74 -0
- package/src/{file → system}/services/FileDetector.spec.ts +2 -2
- package/src/thread/index.ts +11 -2
- package/src/topic/core/index.ts +12 -5
- package/src/vite/tasks/buildClient.ts +2 -7
- package/src/vite/tasks/buildServer.ts +19 -13
- package/src/vite/tasks/generateCloudflare.ts +10 -7
- package/src/vite/tasks/generateDocker.ts +4 -0
- package/src/websocket/index.ts +12 -8
- package/dist/file/index.d.ts.map +0 -1
- package/dist/file/index.js.map +0 -1
- package/src/cli/assets/apiIndexTs.ts +0 -16
- package/src/cli/assets/mainServerTs.ts +0 -24
- package/src/cli/assets/webAppRouterTs.ts +0 -16
- package/src/cli/assets/webHelloComponentTsx.ts +0 -20
- package/src/cli/providers/ViteTemplateProvider.ts +0 -27
- package/src/file/index.ts +0 -43
- /package/src/cli/{assets → templates}/apiHelloControllerTs.ts +0 -0
- /package/src/cli/{assets → templates}/biomeJson.ts +0 -0
- /package/src/cli/{assets → templates}/dummySpecTs.ts +0 -0
- /package/src/cli/{assets → templates}/editorconfig.ts +0 -0
- /package/src/cli/{assets → templates}/mainBrowserTs.ts +0 -0
- /package/src/cli/{assets → templates}/tsconfigJson.ts +0 -0
- /package/src/cli/{assets → templates}/webIndexTs.ts +0 -0
- /package/src/{file → system}/errors/FileError.ts +0 -0
- /package/src/{file → system}/services/FileDetector.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["JWKParameters","kty","alg","key_ops","ext","use","x5c","x5t","x5u","kid","JWK_OKP_Public","crv","x","JWK_OKP_Private","d","JWK_AKP_Public","pub","JWK_AKP_Private","priv","JWK_EC_Public","y","JWK_EC_Private","JWK_RSA_Public","e","n","JWK_RSA_Private","dp","dq","p","q","qi","JWK_oct","k","JWK","GenericGetKeyFunction","IProtectedHeader","IToken","ReturnKeyTypes","Promise","protectedHeader","token","GetKeyFunction","CryptoKey","KeyObject","Uint8Array","FlattenedJWSInput","JWSHeaderParameters","header","payload","protected","signature","GeneralJWSInput","Omit","signatures","FlattenedJWS","Partial","GeneralJWS","JoseHeaderParameters","Pick","jku","jwk","typ","cty","b64","crit","propName","JWEKeyManagementHeaderParameters","apu","apv","p2c","p2s","iv","epk","FlattenedJWE","JWEHeaderParameters","aad","ciphertext","encrypted_key","tag","unprotected","GeneralJWE","recipients","enc","zip","CritOption","DecryptOptions","keyManagementAlgorithms","contentEncryptionAlgorithms","maxPBES2Count","EncryptOptions","JWTClaimVerificationOptions","Date","audience","clockTolerance","issuer","maxTokenAge","subject","currentDate","requiredClaims","VerifyOptions","algorithms","SignOptions","JWTPayload","iss","sub","aud","jti","nbf","exp","iat","FlattenedDecryptResult","additionalAuthenticatedData","plaintext","sharedUnprotectedHeader","unprotectedHeader","GeneralDecryptResult","CompactDecryptResult","CompactJWEHeaderParameters","FlattenedVerifyResult","GeneralVerifyResult","CompactVerifyResult","CompactJWSHeaderParameters","JWTVerifyResult","PayloadType","JWTHeaderParameters","JWTDecryptResult","ResolvedKey","key","JSONWebKeySet","keys","type","crypto","subtle","generateKey","ReturnType","Awaited","Extract","ProduceJWT","setIssuer","setSubject","setAudience","setJti","jwtId","setNotBefore","input","setExpirationTime","setIssuedAt","types","JWTVerifyOptions","VerifyOptions","JWTClaimVerificationOptions","JWTVerifyGetKey","JWTHeaderParameters","FlattenedJWSInput","CryptoKey","KeyObject","JWK","Uint8Array","GenericGetKeyFunction","jwtVerify","PayloadType","JWTPayload","JWTVerifyResult","Promise","jwt","key","options","ResolvedKey","getKey"],"sources":["../../src/security/schemas/userAccountInfoSchema.ts","../../src/security/interfaces/UserAccountToken.ts","../../src/security/errors/InvalidCredentialsError.ts","../../src/security/errors/InvalidPermissionError.ts","../../src/security/errors/SecurityError.ts","../../src/security/providers/ServerBasicAuthProvider.ts","../../src/security/primitives/$basicAuth.ts","../../../../node_modules/jose/dist/types/types.d.ts","../../../../node_modules/jose/dist/types/jwt/verify.d.ts","../../src/security/providers/JwtProvider.ts","../../src/security/schemas/permissionSchema.ts","../../src/security/schemas/roleSchema.ts","../../src/security/providers/SecurityProvider.ts","../../src/security/primitives/$issuer.ts","../../src/security/primitives/$permission.ts","../../src/security/primitives/$role.ts","../../src/security/primitives/$serviceAccount.ts","../../src/security/providers/CryptoProvider.ts","../../src/security/providers/ServerSecurityProvider.ts","../../src/security/index.ts"],"x_google_ignoreList":[7,8],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["JWKParameters","kty","alg","key_ops","ext","use","x5c","x5t","x5u","kid","JWK_OKP_Public","crv","x","JWK_OKP_Private","d","JWK_AKP_Public","pub","JWK_AKP_Private","priv","JWK_EC_Public","y","JWK_EC_Private","JWK_RSA_Public","e","n","JWK_RSA_Private","dp","dq","p","q","qi","JWK_oct","k","JWK","GenericGetKeyFunction","IProtectedHeader","IToken","ReturnKeyTypes","Promise","protectedHeader","token","GetKeyFunction","CryptoKey","KeyObject","Uint8Array","FlattenedJWSInput","JWSHeaderParameters","header","payload","protected","signature","GeneralJWSInput","Omit","signatures","FlattenedJWS","Partial","GeneralJWS","JoseHeaderParameters","Pick","jku","jwk","typ","cty","b64","crit","propName","JWEKeyManagementHeaderParameters","apu","apv","p2c","p2s","iv","epk","FlattenedJWE","JWEHeaderParameters","aad","ciphertext","encrypted_key","tag","unprotected","GeneralJWE","recipients","enc","zip","CritOption","DecryptOptions","keyManagementAlgorithms","contentEncryptionAlgorithms","maxPBES2Count","EncryptOptions","JWTClaimVerificationOptions","Date","audience","clockTolerance","issuer","maxTokenAge","subject","currentDate","requiredClaims","VerifyOptions","algorithms","SignOptions","JWTPayload","iss","sub","aud","jti","nbf","exp","iat","FlattenedDecryptResult","additionalAuthenticatedData","plaintext","sharedUnprotectedHeader","unprotectedHeader","GeneralDecryptResult","CompactDecryptResult","CompactJWEHeaderParameters","FlattenedVerifyResult","GeneralVerifyResult","CompactVerifyResult","CompactJWSHeaderParameters","JWTVerifyResult","PayloadType","JWTHeaderParameters","JWTDecryptResult","ResolvedKey","key","JSONWebKeySet","keys","type","crypto","subtle","generateKey","ReturnType","Awaited","Extract","ProduceJWT","setIssuer","setSubject","setAudience","setJti","jwtId","setNotBefore","input","setExpirationTime","setIssuedAt","types","JWTVerifyOptions","VerifyOptions","JWTClaimVerificationOptions","JWTVerifyGetKey","JWTHeaderParameters","FlattenedJWSInput","CryptoKey","KeyObject","JWK","Uint8Array","GenericGetKeyFunction","jwtVerify","PayloadType","JWTPayload","JWTVerifyResult","Promise","jwt","key","options","ResolvedKey","getKey"],"sources":["../../src/security/schemas/userAccountInfoSchema.ts","../../src/security/interfaces/UserAccountToken.ts","../../src/security/errors/InvalidCredentialsError.ts","../../src/security/errors/InvalidPermissionError.ts","../../src/security/errors/SecurityError.ts","../../src/security/interfaces/IssuerResolver.ts","../../src/security/providers/ServerBasicAuthProvider.ts","../../src/security/primitives/$basicAuth.ts","../../../../node_modules/jose/dist/types/types.d.ts","../../../../node_modules/jose/dist/types/jwt/verify.d.ts","../../src/security/providers/JwtProvider.ts","../../src/security/schemas/permissionSchema.ts","../../src/security/schemas/roleSchema.ts","../../src/security/providers/SecurityProvider.ts","../../src/security/primitives/$issuer.ts","../../src/security/primitives/$permission.ts","../../src/security/primitives/$role.ts","../../src/security/primitives/$serviceAccount.ts","../../src/security/providers/CryptoProvider.ts","../../src/security/providers/ServerSecurityProvider.ts","../../src/security/index.ts"],"x_google_ignoreList":[8,9],"mappings":"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"}
|
package/dist/security/index.js
CHANGED
|
@@ -1721,13 +1721,32 @@ var SecurityProvider = class {
|
|
|
1721
1721
|
on: "start",
|
|
1722
1722
|
handler: async () => {
|
|
1723
1723
|
if (this.alepha.isProduction() && this.secretKey === DEFAULT_APP_SECRET) this.log.warn("Using default APP_SECRET in production is not recommended. Please set a strong APP_SECRET value.");
|
|
1724
|
-
for (const realm of this.realms)
|
|
1725
|
-
|
|
1726
|
-
|
|
1724
|
+
for (const realm of this.realms) {
|
|
1725
|
+
if (realm.secret) {
|
|
1726
|
+
const secret = typeof realm.secret === "function" ? realm.secret() : realm.secret;
|
|
1727
|
+
this.jwt.setKeyLoader(realm.name, secret);
|
|
1728
|
+
}
|
|
1729
|
+
if (!realm.resolvers || realm.resolvers.length === 0) this.registerResolver(this.createDefaultJwtResolver(realm.name), realm.name);
|
|
1727
1730
|
}
|
|
1728
1731
|
}
|
|
1729
1732
|
});
|
|
1730
1733
|
/**
|
|
1734
|
+
* Creates a default JWT resolver for a realm.
|
|
1735
|
+
*/
|
|
1736
|
+
createDefaultJwtResolver(realmName) {
|
|
1737
|
+
return {
|
|
1738
|
+
priority: 100,
|
|
1739
|
+
onRequest: async (req) => {
|
|
1740
|
+
const auth = req.headers.authorization;
|
|
1741
|
+
if (!auth?.startsWith("Bearer ")) return null;
|
|
1742
|
+
const token = auth.slice(7);
|
|
1743
|
+
if (!token.includes(".")) return null;
|
|
1744
|
+
const { result } = await this.jwt.parse(token, realmName);
|
|
1745
|
+
return this.createUserFromPayload(result.payload, realmName);
|
|
1746
|
+
}
|
|
1747
|
+
};
|
|
1748
|
+
}
|
|
1749
|
+
/**
|
|
1731
1750
|
* Adds a role to one or more realms.
|
|
1732
1751
|
*
|
|
1733
1752
|
* @param role
|
|
@@ -1846,6 +1865,82 @@ var SecurityProvider = class {
|
|
|
1846
1865
|
};
|
|
1847
1866
|
}
|
|
1848
1867
|
/**
|
|
1868
|
+
* Generic user creation from any source (JWT, API key, etc.).
|
|
1869
|
+
* Handles permission checking, ownership, default roles.
|
|
1870
|
+
*/
|
|
1871
|
+
createUser(userInfo, options = {}) {
|
|
1872
|
+
const realmRoles = this.getRoles(options.realm).filter((it) => it.default);
|
|
1873
|
+
const roles = [...userInfo.roles ?? []];
|
|
1874
|
+
for (const role of realmRoles) if (!roles.includes(role.name)) roles.push(role.name);
|
|
1875
|
+
let ownership;
|
|
1876
|
+
if (options.permission) {
|
|
1877
|
+
const check = this.checkPermission(options.permission, ...roles);
|
|
1878
|
+
if (!check.isAuthorized) throw new SecurityError(`User is not allowed to access '${this.permissionToString(options.permission)}'`);
|
|
1879
|
+
ownership = check.ownership;
|
|
1880
|
+
}
|
|
1881
|
+
return {
|
|
1882
|
+
...userInfo,
|
|
1883
|
+
roles,
|
|
1884
|
+
ownership,
|
|
1885
|
+
realm: options.realm
|
|
1886
|
+
};
|
|
1887
|
+
}
|
|
1888
|
+
/**
|
|
1889
|
+
* Register a resolver to a realm.
|
|
1890
|
+
* Resolvers are sorted by priority (lower = first).
|
|
1891
|
+
*/
|
|
1892
|
+
registerResolver(resolver, realmName) {
|
|
1893
|
+
const realm = this.getRealm(realmName);
|
|
1894
|
+
if (!realm.resolvers) realm.resolvers = [];
|
|
1895
|
+
realm.resolvers.push(resolver);
|
|
1896
|
+
realm.resolvers.sort((a, b) => (a.priority ?? 100) - (b.priority ?? 100));
|
|
1897
|
+
}
|
|
1898
|
+
/**
|
|
1899
|
+
* Get a realm by name.
|
|
1900
|
+
* Throws if realm not found.
|
|
1901
|
+
*/
|
|
1902
|
+
getRealm(realmName) {
|
|
1903
|
+
const realm = realmName ? this.realms.find((it) => it.name === realmName) : this.realms[0];
|
|
1904
|
+
if (!realm) throw new RealmNotFoundError(realmName ?? "default");
|
|
1905
|
+
return realm;
|
|
1906
|
+
}
|
|
1907
|
+
/**
|
|
1908
|
+
* Resolve user from request using registered resolvers.
|
|
1909
|
+
* Returns undefined if no resolver could authenticate (no auth provided).
|
|
1910
|
+
* Throws UnauthorizedError if auth was provided but invalid.
|
|
1911
|
+
*
|
|
1912
|
+
* Note: This method tries resolvers from ALL realms to find a match,
|
|
1913
|
+
* regardless of the `realm` option. The `realm` option is only used for
|
|
1914
|
+
* permission checking after the user is resolved.
|
|
1915
|
+
*/
|
|
1916
|
+
async resolveUserFromServerRequest(req, options = {}) {
|
|
1917
|
+
const allResolvers = [];
|
|
1918
|
+
for (const realm of this.realms) for (const resolver of realm.resolvers ?? []) allResolvers.push({
|
|
1919
|
+
resolver,
|
|
1920
|
+
realmName: realm.name
|
|
1921
|
+
});
|
|
1922
|
+
allResolvers.sort((a, b) => (a.resolver.priority ?? 100) - (b.resolver.priority ?? 100));
|
|
1923
|
+
for (const { resolver, realmName } of allResolvers) {
|
|
1924
|
+
let userInfo;
|
|
1925
|
+
try {
|
|
1926
|
+
userInfo = await resolver.onRequest(req);
|
|
1927
|
+
} catch {
|
|
1928
|
+
continue;
|
|
1929
|
+
}
|
|
1930
|
+
if (userInfo) {
|
|
1931
|
+
const user = this.createUser(userInfo, {
|
|
1932
|
+
realm: realmName,
|
|
1933
|
+
permission: options.permission
|
|
1934
|
+
});
|
|
1935
|
+
await this.alepha.events.emit("security:user:created", {
|
|
1936
|
+
realm: realmName,
|
|
1937
|
+
user
|
|
1938
|
+
});
|
|
1939
|
+
return user;
|
|
1940
|
+
}
|
|
1941
|
+
}
|
|
1942
|
+
}
|
|
1943
|
+
/**
|
|
1849
1944
|
* Checks if the user has the specified permission.
|
|
1850
1945
|
*
|
|
1851
1946
|
* Bonus: we check also if the user has "ownership" flag.
|
|
@@ -2117,8 +2212,34 @@ var IssuerPrimitive = class extends Primitive {
|
|
|
2117
2212
|
name: this.name,
|
|
2118
2213
|
profile: this.options.profile,
|
|
2119
2214
|
secret: "jwks" in this.options ? this.options.jwks : this.options.secret,
|
|
2120
|
-
roles
|
|
2215
|
+
roles,
|
|
2216
|
+
resolvers: []
|
|
2121
2217
|
});
|
|
2218
|
+
for (const resolver of this.options.resolvers ?? []) this.registerResolver(resolver);
|
|
2219
|
+
this.registerResolver(this.createJwtResolver());
|
|
2220
|
+
}
|
|
2221
|
+
/**
|
|
2222
|
+
* Creates the default JWT resolver.
|
|
2223
|
+
*/
|
|
2224
|
+
createJwtResolver() {
|
|
2225
|
+
return {
|
|
2226
|
+
priority: 100,
|
|
2227
|
+
onRequest: async (req) => {
|
|
2228
|
+
const auth = req.headers.authorization;
|
|
2229
|
+
if (!auth?.startsWith("Bearer ")) return null;
|
|
2230
|
+
const token = auth.slice(7);
|
|
2231
|
+
if (!token.includes(".")) return null;
|
|
2232
|
+
const { result } = await this.jwt.parse(token, this.name);
|
|
2233
|
+
return this.securityProvider.createUserFromPayload(result.payload, this.name);
|
|
2234
|
+
}
|
|
2235
|
+
};
|
|
2236
|
+
}
|
|
2237
|
+
/**
|
|
2238
|
+
* Register a resolver to this issuer.
|
|
2239
|
+
* Resolvers are sorted by priority (lower = first).
|
|
2240
|
+
*/
|
|
2241
|
+
registerResolver(resolver) {
|
|
2242
|
+
this.securityProvider.registerResolver(resolver, this.name);
|
|
2122
2243
|
}
|
|
2123
2244
|
/**
|
|
2124
2245
|
* Get all roles in the issuer.
|
|
@@ -2363,12 +2484,13 @@ var ServerSecurityProvider = class {
|
|
|
2363
2484
|
securityProvider = $inject(SecurityProvider);
|
|
2364
2485
|
jwtProvider = $inject(JwtProvider);
|
|
2365
2486
|
alepha = $inject(Alepha);
|
|
2487
|
+
resolvers = [];
|
|
2366
2488
|
onConfigure = $hook({
|
|
2367
2489
|
on: "configure",
|
|
2368
2490
|
handler: async () => {
|
|
2369
2491
|
for (const action of this.alepha.primitives($action)) {
|
|
2370
|
-
if (action.options.disabled || action.options.secure
|
|
2371
|
-
|
|
2492
|
+
if (action.options.disabled || action.options.secure !== true || this.securityProvider.getRealms().length === 0) continue;
|
|
2493
|
+
this.securityProvider.createPermission({
|
|
2372
2494
|
name: action.name,
|
|
2373
2495
|
group: action.group,
|
|
2374
2496
|
method: action.route.method,
|
|
@@ -2380,8 +2502,9 @@ var ServerSecurityProvider = class {
|
|
|
2380
2502
|
onActionRequest = $hook({
|
|
2381
2503
|
on: "action:onRequest",
|
|
2382
2504
|
handler: async ({ action, request, options }) => {
|
|
2383
|
-
|
|
2384
|
-
|
|
2505
|
+
const secure = action.options.secure;
|
|
2506
|
+
if (secure !== true && typeof secure !== "object" && !options.user) {
|
|
2507
|
+
this.log.trace("Skipping security check for action - not secured");
|
|
2385
2508
|
return;
|
|
2386
2509
|
}
|
|
2387
2510
|
if (isBasicAuth(action.route.secure)) return;
|
|
@@ -2392,7 +2515,7 @@ var ServerSecurityProvider = class {
|
|
|
2392
2515
|
if (typeof route.secure === "object") this.check(request.user, route.secure);
|
|
2393
2516
|
this.alepha.store.set("alepha.server.request.user", this.alepha.codec.decode(userAccountInfoSchema, request.user));
|
|
2394
2517
|
} catch (error) {
|
|
2395
|
-
if (
|
|
2518
|
+
if (secure === true || typeof secure === "object" || permission) throw error;
|
|
2396
2519
|
this.log.trace("Skipping security check for action");
|
|
2397
2520
|
}
|
|
2398
2521
|
}
|
|
@@ -2407,20 +2530,28 @@ var ServerSecurityProvider = class {
|
|
|
2407
2530
|
}
|
|
2408
2531
|
if (isBasicAuth(route.secure)) return;
|
|
2409
2532
|
const permission = this.securityProvider.getPermissions().find((it) => it.path === route.path && it.method === route.method);
|
|
2410
|
-
|
|
2411
|
-
this.log.trace("Skipping security check for route - no authorization header and not secure");
|
|
2412
|
-
return;
|
|
2413
|
-
}
|
|
2533
|
+
const realm = typeof route.secure === "object" ? route.secure.realm : void 0;
|
|
2414
2534
|
try {
|
|
2415
|
-
request.user = await this.securityProvider.
|
|
2535
|
+
request.user = await this.securityProvider.resolveUserFromServerRequest(request, {
|
|
2536
|
+
permission,
|
|
2537
|
+
realm
|
|
2538
|
+
});
|
|
2539
|
+
if (!request.user) {
|
|
2540
|
+
if (route.secure === true || typeof route.secure === "object" || permission) {
|
|
2541
|
+
if (!request.headers.authorization) throw new InvalidTokenError("Invalid authorization header, maybe token is missing ?");
|
|
2542
|
+
throw new UnauthorizedError("Authentication required");
|
|
2543
|
+
}
|
|
2544
|
+
this.log.trace("Skipping security check for route - no auth provided and not required");
|
|
2545
|
+
return;
|
|
2546
|
+
}
|
|
2416
2547
|
if (typeof route.secure === "object") this.check(request.user, route.secure);
|
|
2417
2548
|
this.alepha.store.set("alepha.server.request.user", this.alepha.codec.decode(userAccountInfoSchema, request.user));
|
|
2418
|
-
this.log.trace("User set from request
|
|
2549
|
+
this.log.trace("User set from request", {
|
|
2419
2550
|
user: request.user,
|
|
2420
2551
|
permission
|
|
2421
2552
|
});
|
|
2422
2553
|
} catch (error) {
|
|
2423
|
-
if (route.secure || permission) throw error;
|
|
2554
|
+
if (route.secure === true || typeof route.secure === "object" || permission) throw error;
|
|
2424
2555
|
this.log.trace("Skipping security check for route - error occurred", error);
|
|
2425
2556
|
}
|
|
2426
2557
|
}
|
|
@@ -2450,11 +2581,8 @@ var ServerSecurityProvider = class {
|
|
|
2450
2581
|
if (type === "system") user = fromSystem;
|
|
2451
2582
|
else if (type === "context") user = fromContext;
|
|
2452
2583
|
else user = fromOptions ?? fromContext ?? fromSystem;
|
|
2453
|
-
if (!user)
|
|
2454
|
-
|
|
2455
|
-
throw new UnauthorizedError("User is required for calling this action");
|
|
2456
|
-
}
|
|
2457
|
-
const roles = user.roles ?? (this.alepha.isTest() ? this.securityProvider.getRoles().map((role) => role.name) : []);
|
|
2584
|
+
if (!user) throw new UnauthorizedError("User is required for calling this action");
|
|
2585
|
+
const roles = user.roles ?? [];
|
|
2458
2586
|
let ownership;
|
|
2459
2587
|
if (permission) {
|
|
2460
2588
|
const result = this.securityProvider.checkPermission(permission, ...roles);
|
|
@@ -2477,7 +2605,7 @@ var ServerSecurityProvider = class {
|
|
|
2477
2605
|
on: "client:onRequest",
|
|
2478
2606
|
handler: async ({ request, options }) => {
|
|
2479
2607
|
if (!this.alepha.isTest()) return;
|
|
2480
|
-
if (
|
|
2608
|
+
if (!options.user) return;
|
|
2481
2609
|
request.headers = new Headers(request.headers);
|
|
2482
2610
|
if (!request.headers.has("authorization")) {
|
|
2483
2611
|
const test = this.createTestUser();
|
|
@@ -2635,19 +2763,23 @@ const roleSchema = t.object({
|
|
|
2635
2763
|
//#endregion
|
|
2636
2764
|
//#region ../../src/security/index.ts
|
|
2637
2765
|
/**
|
|
2638
|
-
*
|
|
2766
|
+
* | type | quality | stability |
|
|
2767
|
+
* |------|---------|-----------|
|
|
2768
|
+
* | backend | epic | stable |
|
|
2639
2769
|
*
|
|
2640
|
-
*
|
|
2641
|
-
* on class properties. It offers JWT-based authentication, fine-grained permissions, service accounts, and seamless
|
|
2642
|
-
* integration with various authentication providers and user management systems.
|
|
2770
|
+
* Complete authentication and authorization system with JWT, RBAC, and multi-issuer support.
|
|
2643
2771
|
*
|
|
2644
|
-
*
|
|
2645
|
-
*
|
|
2772
|
+
* **Features:**
|
|
2773
|
+
* - JWT token issuer with role definitions
|
|
2774
|
+
* - Role-based access control (RBAC)
|
|
2775
|
+
* - Fine-grained permissions
|
|
2776
|
+
* - HTTP Basic Authentication
|
|
2777
|
+
* - Service-to-service authentication
|
|
2778
|
+
* - Multi-issuer support for federated auth
|
|
2779
|
+
* - JWKS (JSON Web Key Set) for external issuers
|
|
2780
|
+
* - Token refresh logic
|
|
2781
|
+
* - User profile extraction from JWT
|
|
2646
2782
|
*
|
|
2647
|
-
* @see {@link $issuer}
|
|
2648
|
-
* @see {@link $role}
|
|
2649
|
-
* @see {@link $permission}
|
|
2650
|
-
* @see {@link $basicAuth}
|
|
2651
2783
|
* @module alepha.security
|
|
2652
2784
|
*/
|
|
2653
2785
|
const AlephaSecurity = $module({
|