alepha 0.18.2 → 0.18.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/assets/devtools-ui/200.html +2 -2
- package/assets/devtools-ui/200.html.br +0 -0
- package/assets/devtools-ui/404.html +2 -2
- package/assets/devtools-ui/404.html.br +0 -0
- package/assets/devtools-ui/{asset.BfSBZ5Dd.css → asset.hG_f8HuK.css} +1 -1
- package/assets/devtools-ui/asset.hG_f8HuK.css.br +0 -0
- package/assets/devtools-ui/chunk.B3au4Lhg.js +1 -0
- package/assets/devtools-ui/chunk.B3au4Lhg.js.br +0 -0
- package/assets/devtools-ui/chunk.BLOrlnMB.js +1 -0
- package/assets/devtools-ui/chunk.BLOrlnMB.js.br +0 -0
- package/assets/devtools-ui/chunk.BLR01ljW.js +1 -0
- package/assets/devtools-ui/chunk.BLR01ljW.js.br +0 -0
- package/assets/devtools-ui/chunk.BTXaIUlA.js +1 -0
- package/assets/devtools-ui/chunk.BTXaIUlA.js.br +0 -0
- package/assets/devtools-ui/{chunk.lJL-lgnW.js → chunk.BhJaxmm8.js} +1 -1
- package/assets/devtools-ui/chunk.BhJaxmm8.js.br +0 -0
- package/assets/devtools-ui/chunk.BtoNxFuL.js +1 -0
- package/assets/devtools-ui/chunk.BtoNxFuL.js.br +0 -0
- package/assets/devtools-ui/chunk.C8YUV2Wd.js +1 -0
- package/assets/devtools-ui/chunk.C8YUV2Wd.js.br +0 -0
- package/assets/devtools-ui/{chunk.M6wyKO_3.js → chunk.CBbIgDzE.js} +2 -2
- package/assets/devtools-ui/chunk.CBbIgDzE.js.br +0 -0
- package/assets/devtools-ui/chunk.CFqIniwA.js +1 -0
- package/assets/devtools-ui/chunk.CFqIniwA.js.br +0 -0
- package/assets/devtools-ui/chunk.CLFF7f7-.js +1 -0
- package/assets/devtools-ui/chunk.CLFF7f7-.js.br +0 -0
- package/assets/devtools-ui/chunk.CRsBbA10.js +1 -0
- package/assets/devtools-ui/chunk.CRsBbA10.js.br +0 -0
- package/assets/devtools-ui/{chunk.DbEH1oOB.js → chunk.CZPo6v95.js} +1 -1
- package/assets/devtools-ui/chunk.CZPo6v95.js.br +0 -0
- package/assets/devtools-ui/chunk.D0fWgNos.js +1 -0
- package/assets/devtools-ui/chunk.D0fWgNos.js.br +1 -0
- package/assets/devtools-ui/chunk.D7-0ziQ6.js +1 -0
- package/assets/devtools-ui/chunk.D7-0ziQ6.js.br +0 -0
- package/assets/devtools-ui/chunk.DAewe0vm.js +1 -0
- package/assets/devtools-ui/chunk.DAewe0vm.js.br +0 -0
- package/assets/devtools-ui/chunk.DJRQEYqK.js +1 -0
- package/assets/devtools-ui/chunk.DJRQEYqK.js.br +0 -0
- package/assets/devtools-ui/{chunk.CZl6J9DF.js → chunk.DMAxv14p.js} +1 -1
- package/assets/devtools-ui/chunk.DMAxv14p.js.br +0 -0
- package/assets/devtools-ui/{chunk.BT2IiBkZ.js → chunk.DMImnNjU.js} +1 -1
- package/assets/devtools-ui/chunk.DMImnNjU.js.br +0 -0
- package/assets/devtools-ui/chunk.DeeQsidk.js +9 -0
- package/assets/devtools-ui/chunk.DeeQsidk.js.br +0 -0
- package/assets/devtools-ui/chunk.DqEwn9Vj.js +7 -0
- package/assets/devtools-ui/chunk.DqEwn9Vj.js.br +0 -0
- package/assets/devtools-ui/chunk.Dt8OsQey.js +1 -0
- package/assets/devtools-ui/chunk.Dt8OsQey.js.br +0 -0
- package/assets/devtools-ui/{chunk.B9pX3zit.js → chunk.Dtp8oa_f.js} +1 -1
- package/assets/devtools-ui/chunk.Dtp8oa_f.js.br +0 -0
- package/assets/devtools-ui/chunk.Dx3JzAYM.js +1 -0
- package/assets/devtools-ui/chunk.Dx3JzAYM.js.br +0 -0
- package/assets/devtools-ui/chunk.GCOj1-5E.js +1 -0
- package/assets/devtools-ui/chunk.GCOj1-5E.js.br +0 -0
- package/assets/devtools-ui/chunk.IC1LD8BH.js +1 -0
- package/assets/devtools-ui/chunk.IC1LD8BH.js.br +0 -0
- package/assets/devtools-ui/chunk.IwuB_TqW.js +1 -0
- package/assets/devtools-ui/chunk.IwuB_TqW.js.br +0 -0
- package/assets/devtools-ui/chunk.Qqapj2zq.js +1 -0
- package/assets/devtools-ui/chunk.Qqapj2zq.js.br +0 -0
- package/assets/devtools-ui/{chunk.C79YouPp.js → chunk.TKKKndOy.js} +1 -1
- package/assets/devtools-ui/chunk.TKKKndOy.js.br +0 -0
- package/assets/devtools-ui/chunk.YHTVhFQT.js +1 -0
- package/assets/devtools-ui/chunk.YHTVhFQT.js.br +0 -0
- package/assets/devtools-ui/chunk.fnod6uEi.js +1 -0
- package/assets/devtools-ui/chunk.fnod6uEi.js.br +0 -0
- package/assets/devtools-ui/chunk.mOCRmXjo.js +1 -0
- package/assets/devtools-ui/chunk.mOCRmXjo.js.br +0 -0
- package/assets/devtools-ui/chunk.qZTNEAK0.js +1 -0
- package/assets/devtools-ui/chunk.qZTNEAK0.js.br +0 -0
- package/assets/devtools-ui/chunk.rc9m0y4-.js +1 -0
- package/assets/devtools-ui/chunk.rc9m0y4-.js.br +0 -0
- package/assets/devtools-ui/entry.Cxc5QLCU.js +80 -0
- package/assets/devtools-ui/entry.Cxc5QLCU.js.br +0 -0
- package/assets/devtools-ui/index.html +2 -2
- package/assets/devtools-ui/index.html.br +0 -0
- package/assets/swagger-ui/swagger-ui-bundle.js +1 -1
- package/assets/swagger-ui/swagger-ui.css +1 -1
- package/dist/api/audits/index.d.ts +61 -5
- package/dist/api/audits/index.d.ts.map +1 -1
- package/dist/api/files/index.d.ts +61 -5
- package/dist/api/files/index.d.ts.map +1 -1
- package/dist/api/jobs/index.d.ts +61 -5
- package/dist/api/jobs/index.d.ts.map +1 -1
- package/dist/api/jobs/index.js +4 -2
- package/dist/api/jobs/index.js.map +1 -1
- package/dist/api/keys/index.d.ts +5 -5
- package/dist/api/notifications/index.browser.js +44 -1
- package/dist/api/notifications/index.browser.js.map +1 -1
- package/dist/api/notifications/index.d.ts +187 -2
- package/dist/api/notifications/index.d.ts.map +1 -1
- package/dist/api/notifications/index.js +143 -8
- package/dist/api/notifications/index.js.map +1 -1
- package/dist/api/parameters/index.d.ts +61 -5
- package/dist/api/parameters/index.d.ts.map +1 -1
- package/dist/api/users/index.d.ts +330 -93
- package/dist/api/users/index.d.ts.map +1 -1
- package/dist/api/users/index.js +27 -36
- package/dist/api/users/index.js.map +1 -1
- package/dist/cli/config/index.d.ts +46 -0
- package/dist/cli/config/index.d.ts.map +1 -0
- package/dist/cli/config/index.js +20 -0
- package/dist/cli/config/index.js.map +1 -0
- package/dist/cli/core/index.d.ts +69 -66
- package/dist/cli/core/index.d.ts.map +1 -1
- package/dist/cli/core/index.js +329 -196
- package/dist/cli/core/index.js.map +1 -1
- package/dist/cli/platform/index.d.ts +302 -63
- package/dist/cli/platform/index.d.ts.map +1 -1
- package/dist/cli/platform/index.js +455 -25
- package/dist/cli/platform/index.js.map +1 -1
- package/dist/core/index.browser.js +125 -87
- package/dist/core/index.browser.js.map +1 -1
- package/dist/core/index.d.ts +62 -53
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +125 -87
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.native.js +125 -87
- package/dist/core/index.native.js.map +1 -1
- package/dist/core/index.workerd.js +125 -87
- package/dist/core/index.workerd.js.map +1 -1
- package/dist/crypto/index.d.ts +18 -1
- package/dist/crypto/index.d.ts.map +1 -1
- package/dist/crypto/index.js +29 -3
- package/dist/crypto/index.js.map +1 -1
- package/dist/devtools/index.js +3 -12
- package/dist/devtools/index.js.map +1 -1
- package/dist/logger/index.d.ts +10 -1
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +19 -9
- package/dist/logger/index.js.map +1 -1
- package/dist/orm/core/index.browser.js +57 -1
- package/dist/orm/core/index.browser.js.map +1 -1
- package/dist/orm/core/index.bun.js +378 -19
- package/dist/orm/core/index.bun.js.map +1 -1
- package/dist/orm/core/index.d.ts +328 -9
- package/dist/orm/core/index.d.ts.map +1 -1
- package/dist/orm/core/index.js +384 -21
- package/dist/orm/core/index.js.map +1 -1
- package/dist/orm/postgres/index.bun.js +49 -17
- package/dist/orm/postgres/index.bun.js.map +1 -1
- package/dist/orm/postgres/index.d.ts +47 -21
- package/dist/orm/postgres/index.d.ts.map +1 -1
- package/dist/orm/postgres/index.js +52 -17
- package/dist/orm/postgres/index.js.map +1 -1
- package/dist/react/core/index.d.ts +1 -1
- package/dist/react/core/index.d.ts.map +1 -1
- package/dist/react/core/index.js +6 -1
- package/dist/react/core/index.js.map +1 -1
- package/dist/react/form/index.d.ts +28 -18
- package/dist/react/form/index.d.ts.map +1 -1
- package/dist/react/form/index.js +92 -56
- package/dist/react/form/index.js.map +1 -1
- package/dist/react/router/index.browser.js +448 -116
- package/dist/react/router/index.browser.js.map +1 -1
- package/dist/react/router/index.d.ts +102 -40
- package/dist/react/router/index.d.ts.map +1 -1
- package/dist/react/router/index.js +453 -92
- package/dist/react/router/index.js.map +1 -1
- package/dist/security/index.d.ts +3 -11
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +6 -11
- package/dist/security/index.js.map +1 -1
- package/dist/server/auth/index.d.ts +22 -24
- package/dist/server/auth/index.d.ts.map +1 -1
- package/dist/server/auth/index.js +102 -82
- package/dist/server/auth/index.js.map +1 -1
- package/dist/server/cookies/index.d.ts +7 -4
- package/dist/server/cookies/index.d.ts.map +1 -1
- package/dist/server/cookies/index.js +13 -12
- package/dist/server/cookies/index.js.map +1 -1
- package/dist/server/core/index.d.ts +288 -4
- package/dist/server/core/index.d.ts.map +1 -1
- package/dist/server/core/index.js +375 -2
- package/dist/server/core/index.js.map +1 -1
- package/dist/server/links/index.browser.js +10 -71
- package/dist/server/links/index.browser.js.map +1 -1
- package/dist/server/links/index.d.ts +32 -49
- package/dist/server/links/index.d.ts.map +1 -1
- package/dist/server/links/index.js +73 -100
- package/dist/server/links/index.js.map +1 -1
- package/dist/system/index.browser.js +221 -2
- package/dist/system/index.browser.js.map +1 -1
- package/dist/system/index.d.ts +63 -1
- package/dist/system/index.d.ts.map +1 -1
- package/dist/system/index.js +221 -1
- package/dist/system/index.js.map +1 -1
- package/dist/system/index.workerd.js +224 -4
- package/dist/system/index.workerd.js.map +1 -1
- package/package.json +10 -5
- package/src/api/jobs/providers/JobProvider.ts +6 -3
- package/src/api/notifications/controllers/AdminNotificationController.ts +83 -0
- package/src/api/notifications/index.browser.ts +3 -0
- package/src/api/notifications/index.ts +14 -2
- package/src/api/notifications/jobs/NotificationJobs.ts +11 -2
- package/src/api/notifications/schemas/notificationDetailResourceSchema.ts +20 -0
- package/src/api/notifications/schemas/notificationQuerySchema.ts +19 -0
- package/src/api/notifications/schemas/notificationResourceSchema.ts +18 -0
- package/src/api/notifications/services/NotificationSenderService.ts +15 -2
- package/src/api/users/atoms/realmAuthSettingsAtom.ts +28 -32
- package/src/api/users/buckets/UserBuckets.ts +1 -1
- package/src/api/users/jobs/UserJobs.ts +1 -1
- package/src/api/users/primitives/$realm.ts +8 -49
- package/src/api/users/providers/RealmProvider.ts +2 -3
- package/src/api/users/services/RegistrationService.spec.ts +7 -7
- package/src/api/users/services/RegistrationService.ts +3 -3
- package/src/api/users/services/SessionService.spec.ts +4 -4
- package/src/api/users/services/SessionService.ts +3 -3
- package/src/cli/{core → config}/defineConfig.ts +14 -20
- package/src/cli/config/index.ts +1 -0
- package/src/cli/core/commands/db.ts +65 -1
- package/src/cli/core/commands/dev.ts +1 -0
- package/src/cli/core/commands/init.ts +2 -192
- package/src/cli/core/index.ts +34 -11
- package/src/cli/core/providers/ViteDevServerProvider.ts +52 -13
- package/src/cli/core/services/PackageManagerUtils.ts +43 -21
- package/src/cli/core/services/ProjectScaffolder.ts +214 -2
- package/src/cli/core/services/ViteUtils.ts +57 -0
- package/src/cli/core/tasks/BuildClientTask.ts +7 -2
- package/src/cli/core/tasks/BuildCloudflareTask.ts +4 -12
- package/src/cli/core/tasks/BuildServerTask.ts +2 -0
- package/src/cli/core/tasks/BuildVercelTask.ts +165 -168
- package/src/cli/core/templates/alephaConfigTs.ts +1 -1
- package/src/cli/core/templates/apiAppSecurityTs.ts +5 -8
- package/src/cli/core/templates/tsconfigJson.ts +6 -1
- package/src/cli/platform/adapters/CloudflareAdapter.spec.ts +1 -1
- package/src/cli/platform/adapters/CloudflareAdapter.ts +30 -29
- package/src/cli/platform/atoms/platformOptions.ts +21 -0
- package/src/cli/platform/commands/SecretsCommand.spec.ts +298 -0
- package/src/cli/platform/commands/SecretsCommand.ts +283 -0
- package/src/cli/platform/commands/platform.ts +12 -0
- package/src/cli/platform/index.ts +14 -28
- package/src/cli/platform/providers/GitHubSecretStore.spec.ts +153 -0
- package/src/cli/platform/providers/GitHubSecretStore.ts +112 -0
- package/src/cli/platform/providers/MemorySecretStore.ts +114 -0
- package/src/cli/platform/providers/SecretStoreProvider.ts +39 -0
- package/src/cli/platform/schemas/cloudflare.ts +2 -0
- package/src/cli/platform/services/CloudflareApi.ts +5 -2
- package/src/cli/platform/services/DockerComposeGenerator.spec.ts +115 -0
- package/src/cli/platform/services/DockerComposeGenerator.ts +46 -1
- package/src/cli/platform/services/SecretFilterService.spec.ts +111 -0
- package/src/cli/platform/services/SecretFilterService.ts +54 -0
- package/src/core/Alepha.ts +94 -25
- package/src/core/__tests__/Alepha-parseEnv.spec.ts +20 -0
- package/src/core/primitives/$memoize.ts +38 -26
- package/src/core/providers/AlsProvider.ts +2 -0
- package/src/core/providers/EventManager.ts +4 -0
- package/src/core/providers/KeylessJsonSchemaCodec.spec.ts +1 -4
- package/src/core/providers/KeylessJsonSchemaCodec.ts +19 -125
- package/src/core/providers/SchemaValidator.spec.ts +36 -0
- package/src/core/providers/SchemaValidator.ts +9 -0
- package/src/crypto/index.ts +6 -1
- package/src/crypto/providers/SecretProvider.ts +36 -0
- package/src/devtools/providers/DevToolsProvider.ts +3 -12
- package/src/logger/index.ts +33 -6
- package/src/logger/providers/PrettyFormatterProvider.ts +5 -3
- package/src/orm/__tests__/orm-next-tests.ts +492 -0
- package/src/orm/__tests__/orm-next.spec.ts +140 -0
- package/src/orm/core/constants/PG_SYMBOLS.ts +17 -0
- package/src/orm/core/index.bun.ts +3 -6
- package/src/orm/core/index.shared-server.ts +2 -0
- package/src/orm/core/index.shared.ts +2 -0
- package/src/orm/core/index.ts +5 -7
- package/src/orm/core/interfaces/AggregateQuery.ts +103 -0
- package/src/orm/core/interfaces/PgQueryWhere.ts +7 -0
- package/src/orm/core/primitives/$entity.ts +8 -0
- package/src/orm/core/primitives/$repository.ts +6 -3
- package/src/orm/core/primitives/$view.ts +88 -0
- package/src/orm/core/providers/DbCacheProvider.ts +66 -0
- package/src/orm/core/providers/DrizzleKitProvider.ts +42 -0
- package/src/orm/core/providers/drivers/BunSqliteProvider.ts +2 -3
- package/src/orm/core/providers/drivers/CloudflareD1Provider.ts +12 -0
- package/src/orm/core/providers/drivers/DatabaseProvider.ts +39 -0
- package/src/orm/core/providers/drivers/NodeSqliteProvider.ts +2 -3
- package/src/orm/core/schemas/databaseEnvSchema.ts +31 -0
- package/src/orm/core/schemas/insertSchema.ts +13 -3
- package/src/orm/core/schemas/updateSchema.ts +14 -3
- package/src/orm/core/services/ModelBuilder.ts +26 -14
- package/src/orm/core/services/QueryManager.ts +13 -0
- package/src/orm/core/services/Repository.ts +307 -5
- package/src/orm/core/services/SqliteModelBuilder.ts +38 -0
- package/src/orm/postgres/index.bun.ts +4 -7
- package/src/orm/postgres/index.ts +4 -7
- package/src/orm/postgres/providers/BunPostgresProvider.ts +12 -2
- package/src/orm/postgres/providers/NodePostgresProvider.ts +7 -0
- package/src/orm/postgres/providers/PglitePostgresProvider.ts +10 -17
- package/src/orm/postgres/providers/PostgresProvider.ts +7 -36
- package/src/orm/postgres/schemas/postgresEnvSchema.ts +32 -0
- package/src/orm/postgres/services/PostgresModelBuilder.ts +40 -0
- package/src/react/core/components/ErrorBoundary.tsx +5 -2
- package/src/react/form/hooks/useFieldValue.ts +34 -0
- package/src/react/form/hooks/useForm.browser.spec.tsx +94 -9
- package/src/react/form/hooks/useForm.ts +14 -2
- package/src/react/form/hooks/useFormState.ts +10 -10
- package/src/react/form/hooks/useFormValues.ts +29 -0
- package/src/react/form/index.ts +3 -1
- package/src/react/form/services/FormModel.ts +53 -122
- package/src/react/router/components/ErrorViewer.tsx +333 -34
- package/src/react/router/components/NestedView.tsx +10 -3
- package/src/react/router/primitives/$page.browser.spec.tsx +34 -0
- package/src/react/router/primitives/$page.spec.tsx +20 -0
- package/src/react/router/primitives/$page.ts +24 -0
- package/src/react/router/providers/ReactBrowserRouterProvider.ts +14 -2
- package/src/react/router/providers/ReactPageProvider.ts +156 -73
- package/src/react/router/providers/ReactServerProvider.ts +40 -2
- package/src/react/router/providers/ReactServerTemplateProvider.ts +13 -1
- package/src/security/providers/SecurityProvider.ts +5 -27
- package/src/server/auth/primitives/$auth.ts +52 -19
- package/src/server/auth/providers/ServerAuthProvider.ts +145 -139
- package/src/server/cookies/providers/ServerCookiesProvider.ts +12 -24
- package/src/server/core/index.ts +3 -1
- package/src/server/core/primitives/$sse.spec.ts +315 -0
- package/src/server/core/primitives/$sse.ts +715 -0
- package/src/server/links/index.browser.ts +1 -3
- package/src/server/links/index.ts +0 -3
- package/src/server/links/providers/LinkProvider.spec.ts +12 -21
- package/src/server/links/providers/LinkProvider.ts +20 -52
- package/src/server/links/providers/ServerLinksProvider.spec.ts +106 -0
- package/src/server/links/providers/ServerLinksProvider.ts +113 -73
- package/src/server/links/schemas/apiLinksResponseSchema.ts +4 -21
- package/src/server/links/services/BatchCollector.ts +5 -3
- package/src/system/index.browser.ts +1 -0
- package/src/system/index.ts +3 -0
- package/src/system/index.workerd.ts +39 -1
- package/src/system/providers/WorkerdFileSystemProvider.ts +365 -0
- package/assets/devtools-ui/asset.BfSBZ5Dd.css.br +0 -0
- package/assets/devtools-ui/chunk.2NYaoqWt.js +0 -1
- package/assets/devtools-ui/chunk.2NYaoqWt.js.br +0 -0
- package/assets/devtools-ui/chunk.B052Z_xQ.js +0 -1
- package/assets/devtools-ui/chunk.B052Z_xQ.js.br +0 -0
- package/assets/devtools-ui/chunk.B4kVY90C.js +0 -1
- package/assets/devtools-ui/chunk.B4kVY90C.js.br +0 -0
- package/assets/devtools-ui/chunk.B7QJXctB.js +0 -1
- package/assets/devtools-ui/chunk.B7QJXctB.js.br +0 -0
- package/assets/devtools-ui/chunk.B9pX3zit.js.br +0 -0
- package/assets/devtools-ui/chunk.BKF9JxIo.js +0 -1
- package/assets/devtools-ui/chunk.BKF9JxIo.js.br +0 -0
- package/assets/devtools-ui/chunk.BOHgdTP-.js +0 -1
- package/assets/devtools-ui/chunk.BOHgdTP-.js.br +0 -0
- package/assets/devtools-ui/chunk.BOVFxkYC.js +0 -1
- package/assets/devtools-ui/chunk.BOVFxkYC.js.br +0 -0
- package/assets/devtools-ui/chunk.BR842zj5.js +0 -1
- package/assets/devtools-ui/chunk.BR842zj5.js.br +0 -0
- package/assets/devtools-ui/chunk.BT2IiBkZ.js.br +0 -0
- package/assets/devtools-ui/chunk.C79YouPp.js.br +0 -0
- package/assets/devtools-ui/chunk.C8mlBrjW.js +0 -9
- package/assets/devtools-ui/chunk.C8mlBrjW.js.br +0 -0
- package/assets/devtools-ui/chunk.CK0ow3AZ.js +0 -1
- package/assets/devtools-ui/chunk.CK0ow3AZ.js.br +0 -0
- package/assets/devtools-ui/chunk.CZl6J9DF.js.br +0 -0
- package/assets/devtools-ui/chunk.CdNr0YzS.js +0 -1
- package/assets/devtools-ui/chunk.CdNr0YzS.js.br +0 -0
- package/assets/devtools-ui/chunk.Ce6_6iIF.js +0 -1
- package/assets/devtools-ui/chunk.Ce6_6iIF.js.br +0 -0
- package/assets/devtools-ui/chunk.CpyDMr6O.js +0 -1
- package/assets/devtools-ui/chunk.CpyDMr6O.js.br +0 -0
- package/assets/devtools-ui/chunk.CyPmvPnY.js +0 -1
- package/assets/devtools-ui/chunk.CyPmvPnY.js.br +0 -0
- package/assets/devtools-ui/chunk.DTI_geWu.js +0 -1
- package/assets/devtools-ui/chunk.DTI_geWu.js.br +0 -0
- package/assets/devtools-ui/chunk.DbEH1oOB.js.br +0 -0
- package/assets/devtools-ui/chunk.Ddeqj5gv.js +0 -1
- package/assets/devtools-ui/chunk.Ddeqj5gv.js.br +0 -0
- package/assets/devtools-ui/chunk.DpRnB4vJ.js +0 -1
- package/assets/devtools-ui/chunk.DpRnB4vJ.js.br +0 -0
- package/assets/devtools-ui/chunk.DxPGTlsg.js +0 -1
- package/assets/devtools-ui/chunk.DxPGTlsg.js.br +0 -0
- package/assets/devtools-ui/chunk.G7_MMBJS.js +0 -1
- package/assets/devtools-ui/chunk.G7_MMBJS.js.br +0 -0
- package/assets/devtools-ui/chunk.M6wyKO_3.js.br +0 -0
- package/assets/devtools-ui/chunk.OUxNGmQ6.js +0 -1
- package/assets/devtools-ui/chunk.OUxNGmQ6.js.br +0 -0
- package/assets/devtools-ui/chunk.T1kle-fF.js +0 -1
- package/assets/devtools-ui/chunk.T1kle-fF.js.br +0 -0
- package/assets/devtools-ui/chunk.WjpsbQAv.js +0 -1
- package/assets/devtools-ui/chunk.WjpsbQAv.js.br +0 -0
- package/assets/devtools-ui/chunk.c6YgVx86.js +0 -1
- package/assets/devtools-ui/chunk.c6YgVx86.js.br +0 -0
- package/assets/devtools-ui/chunk.dwU3E_MU.js +0 -1
- package/assets/devtools-ui/chunk.dwU3E_MU.js.br +0 -0
- package/assets/devtools-ui/chunk.lJL-lgnW.js.br +0 -0
- package/assets/devtools-ui/chunk.lPWRmvA-.js +0 -7
- package/assets/devtools-ui/chunk.lPWRmvA-.js.br +0 -0
- package/assets/devtools-ui/chunk.p3HJvugM.js +0 -1
- package/assets/devtools-ui/chunk.p3HJvugM.js.br +0 -0
- package/assets/devtools-ui/chunk.r_Xoa_CI.js +0 -1
- package/assets/devtools-ui/chunk.r_Xoa_CI.js.br +0 -0
- package/assets/devtools-ui/chunk.sRNuTYXb.js +0 -1
- package/assets/devtools-ui/chunk.sRNuTYXb.js.br +0 -0
- package/assets/devtools-ui/chunk.tUjcyX5C.js +0 -1
- package/assets/devtools-ui/chunk.tUjcyX5C.js.br +0 -0
- package/assets/devtools-ui/chunk.thjBxvCA.js +0 -1
- package/assets/devtools-ui/chunk.thjBxvCA.js.br +0 -0
- package/assets/devtools-ui/entry.GYhBVRpC.js +0 -78
- package/assets/devtools-ui/entry.GYhBVRpC.js.br +0 -0
- package/src/server/links/services/DefinitionsPool.spec.ts +0 -86
- package/src/server/links/services/DefinitionsPool.ts +0 -43
|
@@ -1594,6 +1594,378 @@ var RoutePrimitive = class extends PipelinePrimitive {
|
|
|
1594
1594
|
};
|
|
1595
1595
|
$route[KIND] = RoutePrimitive;
|
|
1596
1596
|
|
|
1597
|
+
//#endregion
|
|
1598
|
+
//#region ../../src/server/core/primitives/$sse.ts
|
|
1599
|
+
/**
|
|
1600
|
+
* Async iterable stream of SSE events.
|
|
1601
|
+
*
|
|
1602
|
+
* Supports push-based event delivery via `push()`, error propagation
|
|
1603
|
+
* via `fail()`, and clean termination via `end()`.
|
|
1604
|
+
*/
|
|
1605
|
+
var SseStream = class {
|
|
1606
|
+
queue = [];
|
|
1607
|
+
error = null;
|
|
1608
|
+
done = false;
|
|
1609
|
+
resolve = null;
|
|
1610
|
+
listeners = [];
|
|
1611
|
+
/**
|
|
1612
|
+
* Push a new event into the stream.
|
|
1613
|
+
*/
|
|
1614
|
+
push(data) {
|
|
1615
|
+
if (this.done) return;
|
|
1616
|
+
this.queue.push(data);
|
|
1617
|
+
for (const listener of this.listeners) listener(data);
|
|
1618
|
+
if (this.resolve) {
|
|
1619
|
+
this.resolve();
|
|
1620
|
+
this.resolve = null;
|
|
1621
|
+
}
|
|
1622
|
+
}
|
|
1623
|
+
/**
|
|
1624
|
+
* Signal an error on the stream.
|
|
1625
|
+
*/
|
|
1626
|
+
fail(error) {
|
|
1627
|
+
this.error = error;
|
|
1628
|
+
this.done = true;
|
|
1629
|
+
if (this.resolve) {
|
|
1630
|
+
this.resolve();
|
|
1631
|
+
this.resolve = null;
|
|
1632
|
+
}
|
|
1633
|
+
}
|
|
1634
|
+
/**
|
|
1635
|
+
* End the stream gracefully.
|
|
1636
|
+
*/
|
|
1637
|
+
end() {
|
|
1638
|
+
this.done = true;
|
|
1639
|
+
if (this.resolve) {
|
|
1640
|
+
this.resolve();
|
|
1641
|
+
this.resolve = null;
|
|
1642
|
+
}
|
|
1643
|
+
}
|
|
1644
|
+
/**
|
|
1645
|
+
* Subscribe to new events as they arrive.
|
|
1646
|
+
*/
|
|
1647
|
+
subscribe(listener) {
|
|
1648
|
+
this.listeners.push(listener);
|
|
1649
|
+
return () => {
|
|
1650
|
+
const idx = this.listeners.indexOf(listener);
|
|
1651
|
+
if (idx >= 0) this.listeners.splice(idx, 1);
|
|
1652
|
+
};
|
|
1653
|
+
}
|
|
1654
|
+
async *[Symbol.asyncIterator]() {
|
|
1655
|
+
while (true) {
|
|
1656
|
+
while (this.queue.length > 0) yield this.queue.shift();
|
|
1657
|
+
if (this.error) throw this.error;
|
|
1658
|
+
if (this.done) return;
|
|
1659
|
+
await new Promise((r) => {
|
|
1660
|
+
this.resolve = r;
|
|
1661
|
+
});
|
|
1662
|
+
}
|
|
1663
|
+
}
|
|
1664
|
+
};
|
|
1665
|
+
/**
|
|
1666
|
+
* Response wrapper for SSE fetch requests.
|
|
1667
|
+
*
|
|
1668
|
+
* Wraps a standard `Response` and parses the `text/event-stream` body
|
|
1669
|
+
* into an async iterable of typed events.
|
|
1670
|
+
*/
|
|
1671
|
+
var SseFetchResponse = class {
|
|
1672
|
+
response;
|
|
1673
|
+
constructor(response) {
|
|
1674
|
+
this.response = response;
|
|
1675
|
+
}
|
|
1676
|
+
/**
|
|
1677
|
+
* HTTP status code of the response.
|
|
1678
|
+
*/
|
|
1679
|
+
get status() {
|
|
1680
|
+
return this.response.status;
|
|
1681
|
+
}
|
|
1682
|
+
/**
|
|
1683
|
+
* HTTP status text of the response.
|
|
1684
|
+
*/
|
|
1685
|
+
get statusText() {
|
|
1686
|
+
return this.response.statusText;
|
|
1687
|
+
}
|
|
1688
|
+
/**
|
|
1689
|
+
* Response headers.
|
|
1690
|
+
*/
|
|
1691
|
+
get headers() {
|
|
1692
|
+
return this.response.headers;
|
|
1693
|
+
}
|
|
1694
|
+
async *[Symbol.asyncIterator]() {
|
|
1695
|
+
const reader = this.response.body?.getReader();
|
|
1696
|
+
if (!reader) return;
|
|
1697
|
+
const decoder = new TextDecoder();
|
|
1698
|
+
let buffer = "";
|
|
1699
|
+
try {
|
|
1700
|
+
while (true) {
|
|
1701
|
+
const { done, value } = await reader.read();
|
|
1702
|
+
if (done) break;
|
|
1703
|
+
buffer += decoder.decode(value, { stream: true });
|
|
1704
|
+
const lines = buffer.split("\n");
|
|
1705
|
+
buffer = lines.pop() ?? "";
|
|
1706
|
+
for (const line of lines) if (line.startsWith("data: ")) {
|
|
1707
|
+
const data = line.slice(6);
|
|
1708
|
+
try {
|
|
1709
|
+
yield JSON.parse(data);
|
|
1710
|
+
} catch {}
|
|
1711
|
+
}
|
|
1712
|
+
}
|
|
1713
|
+
if (buffer.startsWith("data: ")) {
|
|
1714
|
+
const data = buffer.slice(6);
|
|
1715
|
+
try {
|
|
1716
|
+
yield JSON.parse(data);
|
|
1717
|
+
} catch {}
|
|
1718
|
+
}
|
|
1719
|
+
} finally {
|
|
1720
|
+
reader.releaseLock();
|
|
1721
|
+
}
|
|
1722
|
+
}
|
|
1723
|
+
};
|
|
1724
|
+
/**
|
|
1725
|
+
* Creates a Server-Sent Events (SSE) primitive for streaming typed events to clients.
|
|
1726
|
+
*
|
|
1727
|
+
* SSE endpoints provide a unidirectional stream from server to client over HTTP,
|
|
1728
|
+
* with full type safety for event data. The handler receives `emit()` and `close()`
|
|
1729
|
+
* functions to control the stream.
|
|
1730
|
+
*
|
|
1731
|
+
* **Key Features**
|
|
1732
|
+
* - Full TypeScript inference for event data types
|
|
1733
|
+
* - Automatic schema validation using TypeBox
|
|
1734
|
+
* - Convention-based URL generation with customizable paths
|
|
1735
|
+
* - Direct invocation (`run()`) returns an `SseStream` async iterable
|
|
1736
|
+
* - HTTP requests (`fetch()`) returns an `SseFetchResponse` async iterable
|
|
1737
|
+
* - Built-in `text/event-stream` content-type handling
|
|
1738
|
+
*
|
|
1739
|
+
* **URL Generation**
|
|
1740
|
+
*
|
|
1741
|
+
* All `$sse` paths are automatically prefixed with `/api`.
|
|
1742
|
+
*
|
|
1743
|
+
* ```ts
|
|
1744
|
+
* $sse({ path: "/events" }) // POST /api/events
|
|
1745
|
+
* $sse({ path: "/feed/:id" }) // POST /api/feed/:id
|
|
1746
|
+
* ```
|
|
1747
|
+
*
|
|
1748
|
+
* The HTTP method is always POST.
|
|
1749
|
+
*
|
|
1750
|
+
* @example
|
|
1751
|
+
* ```ts
|
|
1752
|
+
* class NotificationController {
|
|
1753
|
+
* events = $sse({
|
|
1754
|
+
* schema: {
|
|
1755
|
+
* data: t.object({
|
|
1756
|
+
* type: t.text(),
|
|
1757
|
+
* message: t.text(),
|
|
1758
|
+
* }),
|
|
1759
|
+
* },
|
|
1760
|
+
* handler: async ({ emit, close }) => {
|
|
1761
|
+
* emit({ type: "welcome", message: "Connected!" });
|
|
1762
|
+
* // ... stream events ...
|
|
1763
|
+
* close();
|
|
1764
|
+
* },
|
|
1765
|
+
* });
|
|
1766
|
+
* }
|
|
1767
|
+
* ```
|
|
1768
|
+
*/
|
|
1769
|
+
const $sse = (options) => {
|
|
1770
|
+
const instance = createPrimitive(SsePrimitive, options);
|
|
1771
|
+
const fn = (config) => {
|
|
1772
|
+
return instance.run(config);
|
|
1773
|
+
};
|
|
1774
|
+
Object.defineProperty(fn, "name", { get() {
|
|
1775
|
+
return instance.options.name || instance.config.propertyKey;
|
|
1776
|
+
} });
|
|
1777
|
+
return Object.setPrototypeOf(fn, instance);
|
|
1778
|
+
};
|
|
1779
|
+
/**
|
|
1780
|
+
* The SSE primitive class extending PipelinePrimitive.
|
|
1781
|
+
*
|
|
1782
|
+
* Registers a POST route that streams `text/event-stream` responses.
|
|
1783
|
+
* Supports direct invocation via `run()` and HTTP via `fetch()`.
|
|
1784
|
+
*/
|
|
1785
|
+
var SsePrimitive = class extends PipelinePrimitive {
|
|
1786
|
+
log = $logger();
|
|
1787
|
+
settings = $use(serverApiOptions);
|
|
1788
|
+
serverProvider = $inject(ServerProvider);
|
|
1789
|
+
serverRouterProvider = $inject(ServerRouterProvider);
|
|
1790
|
+
onInit() {
|
|
1791
|
+
if (this.options.disabled) {
|
|
1792
|
+
this.log.debug(`SSE endpoint '${this.name}' is disabled. It won't be available in the API.`);
|
|
1793
|
+
return;
|
|
1794
|
+
}
|
|
1795
|
+
this.serverRouterProvider.createRoute({
|
|
1796
|
+
method: this.method,
|
|
1797
|
+
path: `${this.prefix}${this.path}`,
|
|
1798
|
+
schema: this.requestConfigSchema,
|
|
1799
|
+
handler: (request) => this.httpHandler(request)
|
|
1800
|
+
});
|
|
1801
|
+
}
|
|
1802
|
+
/**
|
|
1803
|
+
* Returns the /api prefix.
|
|
1804
|
+
*/
|
|
1805
|
+
get prefix() {
|
|
1806
|
+
return this.settings.prefix;
|
|
1807
|
+
}
|
|
1808
|
+
/**
|
|
1809
|
+
* Returns the name of the SSE endpoint.
|
|
1810
|
+
*/
|
|
1811
|
+
get name() {
|
|
1812
|
+
return this.options.name || this.config.propertyKey;
|
|
1813
|
+
}
|
|
1814
|
+
/**
|
|
1815
|
+
* Returns the group of the SSE endpoint.
|
|
1816
|
+
*/
|
|
1817
|
+
get group() {
|
|
1818
|
+
return this.options.group || this.config.service.name;
|
|
1819
|
+
}
|
|
1820
|
+
/**
|
|
1821
|
+
* Returns the HTTP method. SSE always uses POST.
|
|
1822
|
+
*/
|
|
1823
|
+
get method() {
|
|
1824
|
+
return "POST";
|
|
1825
|
+
}
|
|
1826
|
+
/**
|
|
1827
|
+
* Returns the path of the SSE endpoint.
|
|
1828
|
+
*/
|
|
1829
|
+
get path() {
|
|
1830
|
+
if (this.options.path) return this.options.path;
|
|
1831
|
+
let path = `/${this.name}`;
|
|
1832
|
+
if (this.options.schema?.params) for (const [key] of Object.entries(this.options.schema.params.properties)) path += `/:${key}`;
|
|
1833
|
+
return path;
|
|
1834
|
+
}
|
|
1835
|
+
/**
|
|
1836
|
+
* Returns the schema configuration.
|
|
1837
|
+
*/
|
|
1838
|
+
get schema() {
|
|
1839
|
+
return this.options.schema;
|
|
1840
|
+
}
|
|
1841
|
+
/**
|
|
1842
|
+
* Constructs a RequestConfigSchema from the SSE config for route registration.
|
|
1843
|
+
*/
|
|
1844
|
+
get requestConfigSchema() {
|
|
1845
|
+
if (!this.options.schema) return void 0;
|
|
1846
|
+
return {
|
|
1847
|
+
body: this.options.schema.body,
|
|
1848
|
+
params: this.options.schema.params,
|
|
1849
|
+
query: this.options.schema.query,
|
|
1850
|
+
headers: this.options.schema.headers
|
|
1851
|
+
};
|
|
1852
|
+
}
|
|
1853
|
+
/**
|
|
1854
|
+
* Call the SSE handler directly and return a typed async iterable stream.
|
|
1855
|
+
* There is no HTTP layer involved.
|
|
1856
|
+
*/
|
|
1857
|
+
run(config) {
|
|
1858
|
+
if (this.options.disabled) throw new AlephaError(`SSE endpoint '${this.name}' is disabled.`);
|
|
1859
|
+
const stream = new SseStream();
|
|
1860
|
+
const { body, params = {}, query = {}, headers = {} } = config ?? {};
|
|
1861
|
+
const url = new URL(`http://localhost${this.path ?? ""}`);
|
|
1862
|
+
const reply = new ServerReply();
|
|
1863
|
+
const context = {
|
|
1864
|
+
body,
|
|
1865
|
+
params,
|
|
1866
|
+
query,
|
|
1867
|
+
headers,
|
|
1868
|
+
request: {
|
|
1869
|
+
method: this.method,
|
|
1870
|
+
url,
|
|
1871
|
+
body,
|
|
1872
|
+
params,
|
|
1873
|
+
query,
|
|
1874
|
+
headers,
|
|
1875
|
+
reply,
|
|
1876
|
+
metadata: {
|
|
1877
|
+
routePath: `${this.prefix}${this.path}`,
|
|
1878
|
+
routeMethod: this.method
|
|
1879
|
+
}
|
|
1880
|
+
},
|
|
1881
|
+
emit: (data) => stream.push(data),
|
|
1882
|
+
close: () => stream.end()
|
|
1883
|
+
};
|
|
1884
|
+
const handlerFn = this.handler.run.bind(this.handler);
|
|
1885
|
+
Promise.resolve().then(() => handlerFn(context)).then(() => {
|
|
1886
|
+
stream.end();
|
|
1887
|
+
}).catch((error) => {
|
|
1888
|
+
stream.fail(error);
|
|
1889
|
+
});
|
|
1890
|
+
return stream;
|
|
1891
|
+
}
|
|
1892
|
+
/**
|
|
1893
|
+
* Works like `run`, but always fetches (http request) the route.
|
|
1894
|
+
* Returns an `SseFetchResponse` that can be async-iterated for typed events.
|
|
1895
|
+
*/
|
|
1896
|
+
async fetch(config) {
|
|
1897
|
+
const host = this.serverProvider.hostname;
|
|
1898
|
+
const url = this.buildFetchUrl(host, config);
|
|
1899
|
+
const { body, headers: configHeaders = {} } = config ?? {};
|
|
1900
|
+
const requestInit = {
|
|
1901
|
+
method: "POST",
|
|
1902
|
+
headers: {
|
|
1903
|
+
accept: "text/event-stream",
|
|
1904
|
+
"content-type": "application/json",
|
|
1905
|
+
...configHeaders
|
|
1906
|
+
}
|
|
1907
|
+
};
|
|
1908
|
+
if (body !== void 0) requestInit.body = JSON.stringify(body);
|
|
1909
|
+
return new SseFetchResponse(await fetch(url, requestInit));
|
|
1910
|
+
}
|
|
1911
|
+
/**
|
|
1912
|
+
* HTTP handler for the registered route.
|
|
1913
|
+
* Returns a ReadableStream with SSE-formatted events.
|
|
1914
|
+
*/
|
|
1915
|
+
httpHandler(request) {
|
|
1916
|
+
const reply = request.reply;
|
|
1917
|
+
reply.setHeader("content-type", "text/event-stream");
|
|
1918
|
+
reply.setHeader("cache-control", "no-cache");
|
|
1919
|
+
reply.setHeader("connection", "keep-alive");
|
|
1920
|
+
const handlerFn = this.handler.run.bind(this.handler);
|
|
1921
|
+
return new ReadableStream({ start: (controller) => {
|
|
1922
|
+
const encoder = new TextEncoder();
|
|
1923
|
+
const context = {
|
|
1924
|
+
body: request.body,
|
|
1925
|
+
params: request.params,
|
|
1926
|
+
query: request.query,
|
|
1927
|
+
headers: request.headers,
|
|
1928
|
+
request,
|
|
1929
|
+
emit: (data) => {
|
|
1930
|
+
try {
|
|
1931
|
+
controller.enqueue(encoder.encode(`data: ${JSON.stringify(data)}\n\n`));
|
|
1932
|
+
} catch {}
|
|
1933
|
+
},
|
|
1934
|
+
close: () => {
|
|
1935
|
+
try {
|
|
1936
|
+
controller.close();
|
|
1937
|
+
} catch {}
|
|
1938
|
+
}
|
|
1939
|
+
};
|
|
1940
|
+
Promise.resolve().then(() => handlerFn(context)).then(() => {
|
|
1941
|
+
try {
|
|
1942
|
+
controller.close();
|
|
1943
|
+
} catch {}
|
|
1944
|
+
}).catch((error) => {
|
|
1945
|
+
try {
|
|
1946
|
+
controller.error(error);
|
|
1947
|
+
} catch {}
|
|
1948
|
+
});
|
|
1949
|
+
} });
|
|
1950
|
+
}
|
|
1951
|
+
/**
|
|
1952
|
+
* Build the fetch URL with path variables and query params.
|
|
1953
|
+
*/
|
|
1954
|
+
buildFetchUrl(host, config) {
|
|
1955
|
+
let url = `${host}${this.prefix}${this.path}`;
|
|
1956
|
+
const { params, query } = config ?? {};
|
|
1957
|
+
if (params && typeof params === "object") for (const [key, value] of Object.entries(params)) url = url.replace(`:${key}`, String(value));
|
|
1958
|
+
if (query && typeof query === "object") {
|
|
1959
|
+
const searchParams = new URLSearchParams();
|
|
1960
|
+
for (const [key, value] of Object.entries(query)) if (value !== void 0) searchParams.set(key, String(value));
|
|
1961
|
+
const qs = searchParams.toString();
|
|
1962
|
+
if (qs) url += `?${qs}`;
|
|
1963
|
+
}
|
|
1964
|
+
return url;
|
|
1965
|
+
}
|
|
1966
|
+
};
|
|
1967
|
+
$sse[KIND] = SsePrimitive;
|
|
1968
|
+
|
|
1597
1969
|
//#endregion
|
|
1598
1970
|
//#region ../../src/server/core/providers/BunHttpServerProvider.ts
|
|
1599
1971
|
const envSchema$1 = t.object({
|
|
@@ -2606,7 +2978,8 @@ const AlephaServer = $module({
|
|
|
2606
2978
|
primitives: [
|
|
2607
2979
|
$route,
|
|
2608
2980
|
$action,
|
|
2609
|
-
$middleware
|
|
2981
|
+
$middleware,
|
|
2982
|
+
$sse
|
|
2610
2983
|
],
|
|
2611
2984
|
services: [
|
|
2612
2985
|
ServerProvider,
|
|
@@ -2649,5 +3022,5 @@ const AlephaServer = $module({
|
|
|
2649
3022
|
});
|
|
2650
3023
|
|
|
2651
3024
|
//#endregion
|
|
2652
|
-
export { $action, $circuit, $middleware, $route, ActionPrimitive, AlephaServer, BadRequestError, BunHttpServerProvider, ConflictError, ForbiddenError, HttpClient, HttpError, NodeHttpServerProvider, NotFoundError, RoutePrimitive, ServerCompressProvider, ServerHelmetProvider, ServerLoggerProvider, ServerMiddlewarePrimitive, ServerMultipartProvider, ServerNotReadyProvider, ServerProvider, ServerReply, ServerRouterProvider, ServerTimingProvider, UnauthorizedError, UserAgentParser, ValidationError, compressOptions, errorNameByStatus, errorSchema, helmetOptions, isHttpError, isMultipart, multipartOptions, okSchema, routeMethods, serverApiOptions };
|
|
3025
|
+
export { $action, $circuit, $middleware, $route, $sse, ActionPrimitive, AlephaServer, BadRequestError, BunHttpServerProvider, ConflictError, ForbiddenError, HttpClient, HttpError, NodeHttpServerProvider, NotFoundError, RoutePrimitive, ServerCompressProvider, ServerHelmetProvider, ServerLoggerProvider, ServerMiddlewarePrimitive, ServerMultipartProvider, ServerNotReadyProvider, ServerProvider, ServerReply, ServerRouterProvider, ServerTimingProvider, SseFetchResponse, SsePrimitive, SseStream, UnauthorizedError, UserAgentParser, ValidationError, compressOptions, errorNameByStatus, errorSchema, helmetOptions, isHttpError, isMultipart, multipartOptions, okSchema, routeMethods, serverApiOptions };
|
|
2653
3026
|
//# sourceMappingURL=index.js.map
|