alepha 0.14.3 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -5
- package/dist/api/audits/index.d.ts +620 -811
- package/dist/api/audits/index.d.ts.map +1 -1
- package/dist/api/files/index.d.ts +185 -377
- package/dist/api/files/index.d.ts.map +1 -1
- package/dist/api/files/index.js +0 -1
- package/dist/api/files/index.js.map +1 -1
- package/dist/api/jobs/index.d.ts +245 -435
- package/dist/api/jobs/index.d.ts.map +1 -1
- package/dist/api/notifications/index.d.ts +238 -429
- package/dist/api/notifications/index.d.ts.map +1 -1
- package/dist/api/parameters/index.d.ts +236 -427
- package/dist/api/parameters/index.d.ts.map +1 -1
- package/dist/api/users/index.browser.js +1 -2
- package/dist/api/users/index.browser.js.map +1 -1
- package/dist/api/users/index.d.ts +1010 -1196
- package/dist/api/users/index.d.ts.map +1 -1
- package/dist/api/users/index.js +178 -151
- package/dist/api/users/index.js.map +1 -1
- package/dist/api/verifications/index.d.ts +17 -17
- package/dist/api/verifications/index.d.ts.map +1 -1
- package/dist/batch/index.d.ts +122 -122
- package/dist/batch/index.d.ts.map +1 -1
- package/dist/batch/index.js +1 -2
- package/dist/batch/index.js.map +1 -1
- package/dist/bucket/index.d.ts +163 -163
- package/dist/bucket/index.d.ts.map +1 -1
- package/dist/cache/core/index.d.ts +46 -46
- package/dist/cache/core/index.d.ts.map +1 -1
- package/dist/cache/redis/index.d.ts.map +1 -1
- package/dist/cli/index.d.ts +384 -285
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +1113 -623
- package/dist/cli/index.js.map +1 -1
- package/dist/command/index.d.ts +299 -300
- package/dist/command/index.d.ts.map +1 -1
- package/dist/command/index.js +13 -9
- package/dist/command/index.js.map +1 -1
- package/dist/core/index.browser.js +445 -103
- package/dist/core/index.browser.js.map +1 -1
- package/dist/core/index.d.ts +733 -625
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +446 -103
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.native.js +445 -103
- package/dist/core/index.native.js.map +1 -1
- package/dist/datetime/index.d.ts +44 -44
- package/dist/datetime/index.d.ts.map +1 -1
- package/dist/datetime/index.js +4 -4
- package/dist/datetime/index.js.map +1 -1
- package/dist/email/index.d.ts +97 -50
- package/dist/email/index.d.ts.map +1 -1
- package/dist/email/index.js +129 -33
- package/dist/email/index.js.map +1 -1
- package/dist/fake/index.d.ts +7981 -14
- package/dist/fake/index.d.ts.map +1 -1
- package/dist/file/index.d.ts +523 -390
- package/dist/file/index.d.ts.map +1 -1
- package/dist/file/index.js +253 -1
- package/dist/file/index.js.map +1 -1
- package/dist/lock/core/index.d.ts +208 -208
- package/dist/lock/core/index.d.ts.map +1 -1
- package/dist/lock/redis/index.d.ts.map +1 -1
- package/dist/logger/index.d.ts +25 -26
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +12 -2
- package/dist/logger/index.js.map +1 -1
- package/dist/mcp/index.d.ts +197 -197
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +1 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/orm/chunk-DtkW-qnP.js +38 -0
- package/dist/orm/index.browser.js.map +1 -1
- package/dist/orm/index.bun.js +2814 -0
- package/dist/orm/index.bun.js.map +1 -0
- package/dist/orm/index.d.ts +1228 -1216
- package/dist/orm/index.d.ts.map +1 -1
- package/dist/orm/index.js +2041 -1967
- package/dist/orm/index.js.map +1 -1
- package/dist/queue/core/index.d.ts +248 -248
- package/dist/queue/core/index.d.ts.map +1 -1
- package/dist/queue/redis/index.d.ts.map +1 -1
- package/dist/redis/index.bun.js +285 -0
- package/dist/redis/index.bun.js.map +1 -0
- package/dist/redis/index.d.ts +118 -136
- package/dist/redis/index.d.ts.map +1 -1
- package/dist/redis/index.js +18 -38
- package/dist/redis/index.js.map +1 -1
- package/dist/retry/index.d.ts +69 -69
- package/dist/retry/index.d.ts.map +1 -1
- package/dist/router/index.d.ts +6 -6
- package/dist/router/index.d.ts.map +1 -1
- package/dist/scheduler/index.d.ts +25 -25
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/security/index.browser.js +5 -1
- package/dist/security/index.browser.js.map +1 -1
- package/dist/security/index.d.ts +417 -254
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +386 -86
- package/dist/security/index.js.map +1 -1
- package/dist/server/auth/index.d.ts +110 -110
- package/dist/server/auth/index.d.ts.map +1 -1
- package/dist/server/auth/index.js +20 -20
- package/dist/server/auth/index.js.map +1 -1
- package/dist/server/cache/index.d.ts +62 -47
- package/dist/server/cache/index.d.ts.map +1 -1
- package/dist/server/cache/index.js +56 -3
- package/dist/server/cache/index.js.map +1 -1
- package/dist/server/compress/index.d.ts +6 -0
- package/dist/server/compress/index.d.ts.map +1 -1
- package/dist/server/compress/index.js +36 -1
- package/dist/server/compress/index.js.map +1 -1
- package/dist/server/cookies/index.d.ts +6 -6
- package/dist/server/cookies/index.d.ts.map +1 -1
- package/dist/server/cookies/index.js +3 -3
- package/dist/server/cookies/index.js.map +1 -1
- package/dist/server/core/index.browser.js +2 -2
- package/dist/server/core/index.browser.js.map +1 -1
- package/dist/server/core/index.d.ts +242 -150
- package/dist/server/core/index.d.ts.map +1 -1
- package/dist/server/core/index.js +294 -125
- package/dist/server/core/index.js.map +1 -1
- package/dist/server/cors/index.d.ts +11 -12
- package/dist/server/cors/index.d.ts.map +1 -1
- package/dist/server/health/index.d.ts +0 -1
- package/dist/server/health/index.d.ts.map +1 -1
- package/dist/server/helmet/index.d.ts +2 -2
- package/dist/server/helmet/index.d.ts.map +1 -1
- package/dist/server/links/index.browser.js.map +1 -1
- package/dist/server/links/index.d.ts +123 -124
- package/dist/server/links/index.d.ts.map +1 -1
- package/dist/server/links/index.js +1 -2
- package/dist/server/links/index.js.map +1 -1
- package/dist/server/metrics/index.d.ts.map +1 -1
- package/dist/server/multipart/index.d.ts +6 -6
- package/dist/server/multipart/index.d.ts.map +1 -1
- package/dist/server/proxy/index.d.ts +102 -103
- package/dist/server/proxy/index.d.ts.map +1 -1
- package/dist/server/rate-limit/index.d.ts +16 -16
- package/dist/server/rate-limit/index.d.ts.map +1 -1
- package/dist/server/static/index.d.ts +44 -44
- package/dist/server/static/index.d.ts.map +1 -1
- package/dist/server/static/index.js +4 -0
- package/dist/server/static/index.js.map +1 -1
- package/dist/server/swagger/index.d.ts +48 -49
- package/dist/server/swagger/index.d.ts.map +1 -1
- package/dist/server/swagger/index.js +3 -5
- package/dist/server/swagger/index.js.map +1 -1
- package/dist/sms/index.d.ts +13 -11
- package/dist/sms/index.d.ts.map +1 -1
- package/dist/sms/index.js +7 -7
- package/dist/sms/index.js.map +1 -1
- package/dist/thread/index.d.ts +71 -72
- package/dist/thread/index.d.ts.map +1 -1
- package/dist/topic/core/index.d.ts +318 -318
- package/dist/topic/core/index.d.ts.map +1 -1
- package/dist/topic/redis/index.d.ts +6 -6
- package/dist/topic/redis/index.d.ts.map +1 -1
- package/dist/vite/index.d.ts +5805 -249
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +599 -513
- package/dist/vite/index.js.map +1 -1
- package/dist/websocket/index.browser.js +6 -6
- package/dist/websocket/index.browser.js.map +1 -1
- package/dist/websocket/index.d.ts +247 -247
- package/dist/websocket/index.d.ts.map +1 -1
- package/dist/websocket/index.js +6 -6
- package/dist/websocket/index.js.map +1 -1
- package/package.json +9 -14
- package/src/api/files/controllers/AdminFileStatsController.ts +0 -1
- package/src/api/users/atoms/realmAuthSettingsAtom.ts +5 -0
- package/src/api/users/controllers/{UserRealmController.ts → RealmController.ts} +11 -11
- package/src/api/users/entities/users.ts +1 -1
- package/src/api/users/index.ts +8 -8
- package/src/api/users/primitives/{$userRealm.ts → $realm.ts} +17 -19
- package/src/api/users/providers/{UserRealmProvider.ts → RealmProvider.ts} +26 -30
- package/src/api/users/schemas/{userRealmConfigSchema.ts → realmConfigSchema.ts} +2 -2
- package/src/api/users/services/CredentialService.ts +7 -7
- package/src/api/users/services/IdentityService.ts +4 -4
- package/src/api/users/services/RegistrationService.spec.ts +25 -27
- package/src/api/users/services/RegistrationService.ts +38 -27
- package/src/api/users/services/SessionCrudService.ts +3 -3
- package/src/api/users/services/SessionService.spec.ts +3 -3
- package/src/api/users/services/SessionService.ts +28 -9
- package/src/api/users/services/UserService.ts +7 -7
- package/src/batch/providers/BatchProvider.ts +1 -2
- package/src/cli/apps/AlephaCli.ts +0 -2
- package/src/cli/apps/AlephaPackageBuilderCli.ts +38 -19
- package/src/cli/assets/apiHelloControllerTs.ts +18 -0
- package/src/cli/assets/apiIndexTs.ts +16 -0
- package/src/cli/assets/claudeMd.ts +303 -0
- package/src/cli/assets/mainBrowserTs.ts +2 -2
- package/src/cli/assets/mainServerTs.ts +24 -0
- package/src/cli/assets/webAppRouterTs.ts +15 -0
- package/src/cli/assets/webHelloComponentTsx.ts +16 -0
- package/src/cli/assets/webIndexTs.ts +16 -0
- package/src/cli/atoms/buildOptions.ts +88 -0
- package/src/cli/commands/build.ts +70 -87
- package/src/cli/commands/db.ts +21 -22
- package/src/cli/commands/deploy.ts +17 -5
- package/src/cli/commands/dev.ts +22 -14
- package/src/cli/commands/format.ts +8 -2
- package/src/cli/commands/gen/env.ts +53 -0
- package/src/cli/commands/gen/openapi.ts +1 -1
- package/src/cli/commands/gen/resource.ts +15 -0
- package/src/cli/commands/gen.ts +7 -1
- package/src/cli/commands/init.ts +74 -30
- package/src/cli/commands/lint.ts +8 -2
- package/src/cli/commands/test.ts +8 -3
- package/src/cli/commands/typecheck.ts +5 -1
- package/src/cli/commands/verify.ts +5 -3
- package/src/cli/defineConfig.ts +49 -7
- package/src/cli/index.ts +0 -1
- package/src/cli/services/AlephaCliUtils.ts +39 -589
- package/src/cli/services/PackageManagerUtils.ts +301 -0
- package/src/cli/services/ProjectScaffolder.ts +306 -0
- package/src/command/helpers/Runner.spec.ts +2 -2
- package/src/command/helpers/Runner.ts +16 -4
- package/src/command/primitives/$command.ts +0 -6
- package/src/command/providers/CliProvider.ts +1 -3
- package/src/core/Alepha.ts +42 -0
- package/src/core/__tests__/Alepha-graph.spec.ts +4 -0
- package/src/core/index.shared.ts +1 -0
- package/src/core/index.ts +2 -0
- package/src/core/primitives/$hook.ts +6 -2
- package/src/core/primitives/$module.spec.ts +4 -0
- package/src/core/providers/AlsProvider.ts +1 -1
- package/src/core/providers/CodecManager.spec.ts +12 -6
- package/src/core/providers/CodecManager.ts +26 -6
- package/src/core/providers/EventManager.ts +169 -13
- package/src/core/providers/KeylessJsonSchemaCodec.spec.ts +621 -0
- package/src/core/providers/KeylessJsonSchemaCodec.ts +407 -0
- package/src/core/providers/StateManager.spec.ts +27 -16
- package/src/email/providers/LocalEmailProvider.spec.ts +111 -87
- package/src/email/providers/LocalEmailProvider.ts +52 -15
- package/src/email/providers/NodemailerEmailProvider.ts +167 -56
- package/src/file/errors/FileError.ts +7 -0
- package/src/file/index.ts +9 -1
- package/src/file/providers/MemoryFileSystemProvider.ts +393 -0
- package/src/logger/index.ts +15 -3
- package/src/mcp/transports/StdioMcpTransport.ts +1 -1
- package/src/orm/index.browser.ts +1 -19
- package/src/orm/index.bun.ts +77 -0
- package/src/orm/index.shared-server.ts +22 -0
- package/src/orm/index.shared.ts +15 -0
- package/src/orm/index.ts +13 -39
- package/src/orm/providers/drivers/BunPostgresProvider.ts +3 -5
- package/src/orm/providers/drivers/BunSqliteProvider.ts +1 -1
- package/src/orm/providers/drivers/CloudflareD1Provider.ts +4 -0
- package/src/orm/providers/drivers/DatabaseProvider.ts +4 -0
- package/src/orm/providers/drivers/PglitePostgresProvider.ts +4 -0
- package/src/orm/services/Repository.ts +8 -0
- package/src/queue/core/providers/WorkerProvider.spec.ts +48 -32
- package/src/redis/index.bun.ts +35 -0
- package/src/redis/providers/BunRedisProvider.ts +12 -43
- package/src/redis/providers/BunRedisSubscriberProvider.ts +2 -3
- package/src/redis/providers/NodeRedisProvider.ts +16 -34
- package/src/{server/security → security}/__tests__/BasicAuth.spec.ts +11 -11
- package/src/{server/security → security}/__tests__/ServerSecurityProvider-realm.spec.ts +21 -16
- package/src/{server/security/providers → security/__tests__}/ServerSecurityProvider.spec.ts +5 -5
- package/src/security/index.browser.ts +5 -0
- package/src/security/index.ts +90 -7
- package/src/security/primitives/{$realm.spec.ts → $issuer.spec.ts} +11 -11
- package/src/security/primitives/{$realm.ts → $issuer.ts} +20 -17
- package/src/security/primitives/$role.ts +5 -5
- package/src/security/primitives/$serviceAccount.spec.ts +5 -5
- package/src/security/primitives/$serviceAccount.ts +3 -3
- package/src/{server/security → security}/providers/ServerSecurityProvider.ts +5 -7
- package/src/server/auth/primitives/$auth.ts +10 -10
- package/src/server/auth/primitives/$authCredentials.ts +3 -3
- package/src/server/auth/primitives/$authGithub.ts +3 -3
- package/src/server/auth/primitives/$authGoogle.ts +3 -3
- package/src/server/auth/providers/ServerAuthProvider.ts +13 -13
- package/src/server/cache/providers/ServerCacheProvider.spec.ts +183 -0
- package/src/server/cache/providers/ServerCacheProvider.ts +95 -10
- package/src/server/compress/providers/ServerCompressProvider.ts +61 -2
- package/src/server/cookies/providers/ServerCookiesProvider.ts +3 -3
- package/src/server/core/helpers/ServerReply.ts +2 -2
- package/src/server/core/providers/NodeHttpServerProvider.ts +25 -6
- package/src/server/core/providers/ServerBodyParserProvider.ts +19 -23
- package/src/server/core/providers/ServerLoggerProvider.ts +23 -19
- package/src/server/core/providers/ServerProvider.ts +155 -22
- package/src/server/core/providers/ServerRouterProvider.ts +259 -115
- package/src/server/core/providers/ServerTimingProvider.ts +2 -2
- package/src/server/links/index.ts +1 -1
- package/src/server/links/providers/LinkProvider.ts +1 -1
- package/src/server/static/providers/ServerStaticProvider.ts +10 -0
- package/src/server/swagger/index.ts +1 -1
- package/src/server/swagger/providers/ServerSwaggerProvider.ts +5 -8
- package/src/sms/providers/LocalSmsProvider.spec.ts +153 -111
- package/src/sms/providers/LocalSmsProvider.ts +8 -7
- package/src/vite/helpers/boot.ts +28 -17
- package/src/vite/helpers/importViteReact.ts +13 -0
- package/src/vite/index.ts +1 -21
- package/src/vite/plugins/viteAlephaDev.ts +16 -1
- package/src/vite/plugins/viteAlephaSsrPreload.ts +222 -0
- package/src/vite/tasks/buildClient.ts +11 -0
- package/src/vite/tasks/buildServer.ts +59 -4
- package/src/vite/tasks/devServer.ts +71 -0
- package/src/vite/tasks/generateCloudflare.ts +7 -0
- package/src/vite/tasks/index.ts +2 -1
- package/dist/server/security/index.browser.js +0 -13
- package/dist/server/security/index.browser.js.map +0 -1
- package/dist/server/security/index.d.ts +0 -173
- package/dist/server/security/index.d.ts.map +0 -1
- package/dist/server/security/index.js +0 -311
- package/dist/server/security/index.js.map +0 -1
- package/src/cli/assets/appRouterTs.ts +0 -9
- package/src/cli/assets/mainTs.ts +0 -13
- package/src/cli/assets/viteConfigTs.ts +0 -14
- package/src/cli/commands/run.ts +0 -24
- package/src/server/security/index.browser.ts +0 -10
- package/src/server/security/index.ts +0 -94
- package/src/vite/plugins/viteAlepha.ts +0 -37
- package/src/vite/plugins/viteAlephaBuild.ts +0 -281
- /package/src/{server/security → security}/primitives/$basicAuth.ts +0 -0
- /package/src/{server/security → security}/providers/ServerBasicAuthProvider.ts +0 -0
|
@@ -12,7 +12,7 @@ declare const verifications: alepha_orm56.EntityPrimitive<alepha52.TObject<{
|
|
|
12
12
|
createdAt: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TString, typeof alepha_orm56.PG_CREATED_AT>, typeof alepha_orm56.PG_DEFAULT>;
|
|
13
13
|
updatedAt: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TString, typeof alepha_orm56.PG_UPDATED_AT>, typeof alepha_orm56.PG_DEFAULT>;
|
|
14
14
|
version: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TInteger, typeof alepha_orm56.PG_VERSION>, typeof alepha_orm56.PG_DEFAULT>;
|
|
15
|
-
type: alepha52.TUnsafe<"
|
|
15
|
+
type: alepha52.TUnsafe<"link" | "code">;
|
|
16
16
|
target: alepha52.TString;
|
|
17
17
|
code: alepha52.TString;
|
|
18
18
|
verifiedAt: alepha52.TOptional<alepha52.TString>;
|
|
@@ -23,7 +23,7 @@ declare const verificationEntitySchema: alepha52.TObject<{
|
|
|
23
23
|
createdAt: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TString, typeof alepha_orm56.PG_CREATED_AT>, typeof alepha_orm56.PG_DEFAULT>;
|
|
24
24
|
updatedAt: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TString, typeof alepha_orm56.PG_UPDATED_AT>, typeof alepha_orm56.PG_DEFAULT>;
|
|
25
25
|
version: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TInteger, typeof alepha_orm56.PG_VERSION>, typeof alepha_orm56.PG_DEFAULT>;
|
|
26
|
-
type: alepha52.TUnsafe<"
|
|
26
|
+
type: alepha52.TUnsafe<"link" | "code">;
|
|
27
27
|
target: alepha52.TString;
|
|
28
28
|
code: alepha52.TString;
|
|
29
29
|
verifiedAt: alepha52.TOptional<alepha52.TString>;
|
|
@@ -34,7 +34,7 @@ declare const verificationEntityInsertSchema: alepha_orm56.TObjectInsert<alepha5
|
|
|
34
34
|
createdAt: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TString, typeof alepha_orm56.PG_CREATED_AT>, typeof alepha_orm56.PG_DEFAULT>;
|
|
35
35
|
updatedAt: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TString, typeof alepha_orm56.PG_UPDATED_AT>, typeof alepha_orm56.PG_DEFAULT>;
|
|
36
36
|
version: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TInteger, typeof alepha_orm56.PG_VERSION>, typeof alepha_orm56.PG_DEFAULT>;
|
|
37
|
-
type: alepha52.TUnsafe<"
|
|
37
|
+
type: alepha52.TUnsafe<"link" | "code">;
|
|
38
38
|
target: alepha52.TString;
|
|
39
39
|
code: alepha52.TString;
|
|
40
40
|
verifiedAt: alepha52.TOptional<alepha52.TString>;
|
|
@@ -89,17 +89,17 @@ declare module "alepha" {
|
|
|
89
89
|
}
|
|
90
90
|
declare class VerificationParameters {
|
|
91
91
|
protected readonly options: Readonly<{
|
|
92
|
-
|
|
92
|
+
link: {
|
|
93
93
|
codeExpiration: number;
|
|
94
94
|
verificationCooldown: number;
|
|
95
95
|
maxAttempts: number;
|
|
96
|
-
codeLength: number;
|
|
97
96
|
limitPerDay: number;
|
|
98
97
|
};
|
|
99
|
-
|
|
98
|
+
code: {
|
|
100
99
|
codeExpiration: number;
|
|
101
100
|
verificationCooldown: number;
|
|
102
101
|
maxAttempts: number;
|
|
102
|
+
codeLength: number;
|
|
103
103
|
limitPerDay: number;
|
|
104
104
|
};
|
|
105
105
|
purgeDays: number;
|
|
@@ -124,7 +124,7 @@ declare const validateVerificationCodeResponseSchema: alepha52.TObject<{
|
|
|
124
124
|
type ValidateVerificationCodeResponse = Static<typeof validateVerificationCodeResponseSchema>;
|
|
125
125
|
//#endregion
|
|
126
126
|
//#region ../../src/api/verifications/schemas/verificationTypeEnumSchema.d.ts
|
|
127
|
-
declare const verificationTypeEnumSchema: alepha52.TUnsafe<"
|
|
127
|
+
declare const verificationTypeEnumSchema: alepha52.TUnsafe<"link" | "code">;
|
|
128
128
|
type VerificationTypeEnum = Static<typeof verificationTypeEnumSchema>;
|
|
129
129
|
//#endregion
|
|
130
130
|
//#region ../../src/api/verifications/services/VerificationService.d.ts
|
|
@@ -137,7 +137,7 @@ declare class VerificationService {
|
|
|
137
137
|
createdAt: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TString, typeof alepha_orm56.PG_CREATED_AT>, typeof alepha_orm56.PG_DEFAULT>;
|
|
138
138
|
updatedAt: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TString, typeof alepha_orm56.PG_UPDATED_AT>, typeof alepha_orm56.PG_DEFAULT>;
|
|
139
139
|
version: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TInteger, typeof alepha_orm56.PG_VERSION>, typeof alepha_orm56.PG_DEFAULT>;
|
|
140
|
-
type: alepha52.TUnsafe<"
|
|
140
|
+
type: alepha52.TUnsafe<"link" | "code">;
|
|
141
141
|
target: alepha52.TString;
|
|
142
142
|
code: alepha52.TString;
|
|
143
143
|
verifiedAt: alepha52.TOptional<alepha52.TString>;
|
|
@@ -149,7 +149,7 @@ declare class VerificationService {
|
|
|
149
149
|
createdAt: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TString, typeof alepha_orm56.PG_CREATED_AT>, typeof alepha_orm56.PG_DEFAULT>;
|
|
150
150
|
updatedAt: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TString, typeof alepha_orm56.PG_UPDATED_AT>, typeof alepha_orm56.PG_DEFAULT>;
|
|
151
151
|
version: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TInteger, typeof alepha_orm56.PG_VERSION>, typeof alepha_orm56.PG_DEFAULT>;
|
|
152
|
-
type: alepha52.TUnsafe<"
|
|
152
|
+
type: alepha52.TUnsafe<"link" | "code">;
|
|
153
153
|
target: alepha52.TString;
|
|
154
154
|
code: alepha52.TString;
|
|
155
155
|
verifiedAt: alepha52.TOptional<alepha52.TString>;
|
|
@@ -159,17 +159,17 @@ declare class VerificationService {
|
|
|
159
159
|
createdAt: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TString, typeof alepha_orm56.PG_CREATED_AT>, typeof alepha_orm56.PG_DEFAULT>;
|
|
160
160
|
updatedAt: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TString, typeof alepha_orm56.PG_UPDATED_AT>, typeof alepha_orm56.PG_DEFAULT>;
|
|
161
161
|
version: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TInteger, typeof alepha_orm56.PG_VERSION>, typeof alepha_orm56.PG_DEFAULT>;
|
|
162
|
-
type: alepha52.TUnsafe<"
|
|
162
|
+
type: alepha52.TUnsafe<"link" | "code">;
|
|
163
163
|
target: alepha52.TString;
|
|
164
164
|
code: alepha52.TString;
|
|
165
165
|
verifiedAt: alepha52.TOptional<alepha52.TString>;
|
|
166
166
|
attempts: alepha_orm56.PgAttr<alepha52.TInteger, typeof alepha_orm56.PG_DEFAULT>;
|
|
167
167
|
}>>>[]>;
|
|
168
168
|
/**
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
169
|
+
* Creates a verification entry and returns the token.
|
|
170
|
+
* The caller is responsible for sending notifications with the token.
|
|
171
|
+
* This allows for context-specific notifications (e.g., password reset vs email verification).
|
|
172
|
+
*/
|
|
173
173
|
createVerification(entry: VerificationEntry): Promise<RequestVerificationResponse>;
|
|
174
174
|
verifyCode(entry: VerificationEntry, code: string): Promise<ValidateVerificationCodeResponse>;
|
|
175
175
|
hashCode(code: string): string;
|
|
@@ -187,7 +187,7 @@ declare class VerificationController {
|
|
|
187
187
|
readonly group = "verifications";
|
|
188
188
|
readonly requestVerificationCode: alepha_server0.ActionPrimitiveFn<{
|
|
189
189
|
params: alepha52.TObject<{
|
|
190
|
-
type: alepha52.TUnsafe<"
|
|
190
|
+
type: alepha52.TUnsafe<"link" | "code">;
|
|
191
191
|
}>;
|
|
192
192
|
body: alepha52.TObject<{
|
|
193
193
|
target: alepha52.TString;
|
|
@@ -201,7 +201,7 @@ declare class VerificationController {
|
|
|
201
201
|
}>;
|
|
202
202
|
readonly validateVerificationCode: alepha_server0.ActionPrimitiveFn<{
|
|
203
203
|
params: alepha52.TObject<{
|
|
204
|
-
type: alepha52.TUnsafe<"
|
|
204
|
+
type: alepha52.TUnsafe<"link" | "code">;
|
|
205
205
|
}>;
|
|
206
206
|
body: alepha52.TObject<{
|
|
207
207
|
target: alepha52.TString;
|
|
@@ -221,7 +221,7 @@ declare class VerificationJobs {
|
|
|
221
221
|
createdAt: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TString, typeof alepha_orm56.PG_CREATED_AT>, typeof alepha_orm56.PG_DEFAULT>;
|
|
222
222
|
updatedAt: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TString, typeof alepha_orm56.PG_UPDATED_AT>, typeof alepha_orm56.PG_DEFAULT>;
|
|
223
223
|
version: alepha_orm56.PgAttr<alepha_orm56.PgAttr<alepha52.TInteger, typeof alepha_orm56.PG_VERSION>, typeof alepha_orm56.PG_DEFAULT>;
|
|
224
|
-
type: alepha52.TUnsafe<"
|
|
224
|
+
type: alepha52.TUnsafe<"link" | "code">;
|
|
225
225
|
target: alepha52.TString;
|
|
226
226
|
code: alepha52.TString;
|
|
227
227
|
verifiedAt: alepha52.TOptional<alepha52.TString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/api/verifications/entities/verifications.ts","../../../src/api/verifications/schemas/verificationSettingsSchema.ts","../../../src/api/verifications/parameters/VerificationParameters.ts","../../../src/api/verifications/schemas/requestVerificationCodeResponseSchema.ts","../../../src/api/verifications/schemas/validateVerificationCodeResponseSchema.ts","../../../src/api/verifications/schemas/verificationTypeEnumSchema.ts","../../../src/api/verifications/services/VerificationService.ts","../../../src/api/verifications/controllers/VerificationController.ts","../../../src/api/verifications/jobs/VerificationJobs.ts","../../../src/api/verifications/index.ts"],"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/api/verifications/entities/verifications.ts","../../../src/api/verifications/schemas/verificationSettingsSchema.ts","../../../src/api/verifications/parameters/VerificationParameters.ts","../../../src/api/verifications/schemas/requestVerificationCodeResponseSchema.ts","../../../src/api/verifications/schemas/validateVerificationCodeResponseSchema.ts","../../../src/api/verifications/schemas/verificationTypeEnumSchema.ts","../../../src/api/verifications/services/VerificationService.ts","../../../src/api/verifications/controllers/VerificationController.ts","../../../src/api/verifications/jobs/VerificationJobs.ts","../../../src/api/verifications/index.ts"],"mappings":"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"}
|
package/dist/batch/index.d.ts
CHANGED
|
@@ -7,69 +7,69 @@ import { RetryBackoffOptions, RetryPrimitiveOptions, RetryProvider } from "aleph
|
|
|
7
7
|
//#region ../../src/batch/providers/BatchProvider.d.ts
|
|
8
8
|
interface BatchOptions<TItem, TResponse = any> {
|
|
9
9
|
/**
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
* The batch processing handler function that processes arrays of validated items.
|
|
11
|
+
*/
|
|
12
12
|
handler: (items: TItem[]) => TResponse;
|
|
13
13
|
/**
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
* Maximum number of items to collect before automatically flushing the batch.
|
|
15
|
+
*
|
|
16
|
+
* @default 10
|
|
17
|
+
*/
|
|
18
18
|
maxSize?: number;
|
|
19
19
|
/**
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
* Maximum number of items that can be queued in a single partition.
|
|
21
|
+
* If exceeded, push() will throw an error.
|
|
22
|
+
*/
|
|
23
23
|
maxQueueSize?: number;
|
|
24
24
|
/**
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
* Maximum time to wait before flushing a batch, even if it hasn't reached maxSize.
|
|
26
|
+
*
|
|
27
|
+
* @default [1, "second"]
|
|
28
|
+
*/
|
|
29
29
|
maxDuration?: DurationLike;
|
|
30
30
|
/**
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
* Function to determine partition keys for grouping items into separate batches.
|
|
32
|
+
*/
|
|
33
33
|
partitionBy?: (item: TItem) => string;
|
|
34
34
|
/**
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
* Maximum number of batch handlers that can execute simultaneously.
|
|
36
|
+
*
|
|
37
|
+
* @default 1
|
|
38
|
+
*/
|
|
39
39
|
concurrency?: number;
|
|
40
40
|
/**
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
* Retry configuration for failed batch processing operations.
|
|
42
|
+
*/
|
|
43
43
|
retry?: {
|
|
44
44
|
/**
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
* The maximum number of attempts.
|
|
46
|
+
*
|
|
47
|
+
* @default 3
|
|
48
|
+
*/
|
|
49
49
|
max?: number;
|
|
50
50
|
/**
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
* The backoff strategy for delays between retries.
|
|
52
|
+
* Can be a fixed number (in ms) or a configuration object for exponential backoff.
|
|
53
|
+
*
|
|
54
|
+
* @default { initial: 200, factor: 2, jitter: true }
|
|
55
|
+
*/
|
|
56
56
|
backoff?: number | RetryBackoffOptions;
|
|
57
57
|
/**
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
* An overall time limit for all retry attempts combined.
|
|
59
|
+
*
|
|
60
|
+
* e.g., `[5, 'seconds']`
|
|
61
|
+
*/
|
|
62
62
|
maxDuration?: DurationLike;
|
|
63
63
|
/**
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
* A function that determines if a retry should be attempted based on the error.
|
|
65
|
+
*
|
|
66
|
+
* @default (error) => true (retries on any error)
|
|
67
|
+
*/
|
|
68
68
|
when?: (error: Error) => boolean;
|
|
69
69
|
/**
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
* A custom callback for when a retry attempt fails.
|
|
71
|
+
* This is called before the delay.
|
|
72
|
+
*/
|
|
73
73
|
onError?: (error: Error, attempt: number) => void;
|
|
74
74
|
};
|
|
75
75
|
}
|
|
@@ -113,41 +113,41 @@ declare class BatchProvider {
|
|
|
113
113
|
protected readonly dateTime: DateTimeProvider;
|
|
114
114
|
protected readonly retryProvider: RetryProvider;
|
|
115
115
|
/**
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
* Creates a new batch context with the given options.
|
|
117
|
+
*/
|
|
118
118
|
createContext<TItem, TResponse>(alepha: Alepha, options: BatchOptions<TItem, TResponse>): BatchContext<TItem, TResponse>;
|
|
119
119
|
/**
|
|
120
|
-
|
|
121
|
-
|
|
120
|
+
* Get the effective maxSize for a context.
|
|
121
|
+
*/
|
|
122
122
|
protected getMaxSize<TItem, TResponse>(context: BatchContext<TItem, TResponse>): number;
|
|
123
123
|
/**
|
|
124
|
-
|
|
125
|
-
|
|
124
|
+
* Get the effective concurrency for a context.
|
|
125
|
+
*/
|
|
126
126
|
protected getConcurrency<TItem, TResponse>(context: BatchContext<TItem, TResponse>): number;
|
|
127
127
|
/**
|
|
128
|
-
|
|
129
|
-
|
|
128
|
+
* Get the effective maxDuration for a context.
|
|
129
|
+
*/
|
|
130
130
|
protected getMaxDuration<TItem, TResponse>(context: BatchContext<TItem, TResponse>): DurationLike;
|
|
131
131
|
/**
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
132
|
+
* Pushes an item into the batch and returns immediately with a unique ID.
|
|
133
|
+
* The item will be processed asynchronously with other items when the batch is flushed.
|
|
134
|
+
* Use wait(id) to get the processing result.
|
|
135
|
+
*
|
|
136
|
+
* @throws Error if maxQueueSize is exceeded
|
|
137
|
+
*/
|
|
138
138
|
push<TItem, TResponse>(context: BatchContext<TItem, TResponse>, item: TItem): string;
|
|
139
139
|
/**
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
140
|
+
* Wait for a specific item to be processed and get its result.
|
|
141
|
+
* @param id The item ID returned from push()
|
|
142
|
+
* @returns The processing result
|
|
143
|
+
* @throws If the item doesn't exist or processing failed
|
|
144
|
+
*/
|
|
145
145
|
wait<TItem, TResponse>(context: BatchContext<TItem, TResponse>, id: string): Promise<TResponse>;
|
|
146
146
|
/**
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
147
|
+
* Get the current status of an item.
|
|
148
|
+
* @param id The item ID returned from push()
|
|
149
|
+
* @returns Status information or undefined if item doesn't exist
|
|
150
|
+
*/
|
|
151
151
|
status<TItem, TResponse>(context: BatchContext<TItem, TResponse>, id: string): {
|
|
152
152
|
status: "pending" | "processing";
|
|
153
153
|
} | {
|
|
@@ -158,36 +158,36 @@ declare class BatchProvider {
|
|
|
158
158
|
error: Error;
|
|
159
159
|
} | undefined;
|
|
160
160
|
/**
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
161
|
+
* Clears completed and failed items from the context to free memory.
|
|
162
|
+
* Returns the number of items cleared.
|
|
163
|
+
*
|
|
164
|
+
* @param context The batch context
|
|
165
|
+
* @param status Optional: only clear items with this specific status ('completed' or 'failed')
|
|
166
|
+
* @returns The number of items cleared
|
|
167
|
+
*/
|
|
168
168
|
clearCompleted<TItem, TResponse>(context: BatchContext<TItem, TResponse>, status?: "completed" | "failed"): number;
|
|
169
169
|
/**
|
|
170
|
-
|
|
171
|
-
|
|
170
|
+
* Flush all partitions or a specific partition.
|
|
171
|
+
*/
|
|
172
172
|
flush<TItem, TResponse>(context: BatchContext<TItem, TResponse>, partitionKey?: string): Promise<void>;
|
|
173
173
|
/**
|
|
174
|
-
|
|
175
|
-
|
|
174
|
+
* Flush a specific partition.
|
|
175
|
+
*/
|
|
176
176
|
protected flushPartition<TItem, TResponse>(context: BatchContext<TItem, TResponse>, partitionKey: string, limit?: number): Promise<void>;
|
|
177
177
|
/**
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
178
|
+
* Mark the context as ready and start processing buffered items.
|
|
179
|
+
* Called after the "ready" hook.
|
|
180
|
+
*/
|
|
181
181
|
markReady<TItem, TResponse>(context: BatchContext<TItem, TResponse>): Promise<void>;
|
|
182
182
|
/**
|
|
183
|
-
|
|
184
|
-
|
|
183
|
+
* Mark the context as shutting down and flush all remaining items.
|
|
184
|
+
*/
|
|
185
185
|
shutdown<TItem, TResponse>(context: BatchContext<TItem, TResponse>): Promise<void>;
|
|
186
186
|
/**
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
187
|
+
* Called after the "ready" hook to start processing buffered items that were
|
|
188
|
+
* pushed during startup. This checks all partitions and starts timeouts/flushes
|
|
189
|
+
* for items that were accumulated before the app was ready.
|
|
190
|
+
*/
|
|
191
191
|
protected startProcessing<TItem, TResponse>(context: BatchContext<TItem, TResponse>): Promise<void>;
|
|
192
192
|
}
|
|
193
193
|
//#endregion
|
|
@@ -201,37 +201,37 @@ declare const $batch: {
|
|
|
201
201
|
};
|
|
202
202
|
interface BatchPrimitiveOptions<TItem extends TSchema, TResponse = any> {
|
|
203
203
|
/**
|
|
204
|
-
|
|
205
|
-
|
|
204
|
+
* TypeBox schema for validating each item added to the batch.
|
|
205
|
+
*/
|
|
206
206
|
schema: TItem;
|
|
207
207
|
/**
|
|
208
|
-
|
|
209
|
-
|
|
208
|
+
* The batch processing handler function that processes arrays of validated items.
|
|
209
|
+
*/
|
|
210
210
|
handler: (items: Static<TItem>[]) => TResponse;
|
|
211
211
|
/**
|
|
212
|
-
|
|
213
|
-
|
|
212
|
+
* Maximum number of items to collect before automatically flushing the batch.
|
|
213
|
+
*/
|
|
214
214
|
maxSize?: number;
|
|
215
215
|
/**
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
216
|
+
* Maximum number of items that can be queued in a single partition.
|
|
217
|
+
* If exceeded, push() will throw an error.
|
|
218
|
+
*/
|
|
219
219
|
maxQueueSize?: number;
|
|
220
220
|
/**
|
|
221
|
-
|
|
222
|
-
|
|
221
|
+
* Maximum time to wait before flushing a batch, even if it hasn't reached maxSize.
|
|
222
|
+
*/
|
|
223
223
|
maxDuration?: DurationLike;
|
|
224
224
|
/**
|
|
225
|
-
|
|
226
|
-
|
|
225
|
+
* Function to determine partition keys for grouping items into separate batches.
|
|
226
|
+
*/
|
|
227
227
|
partitionBy?: (item: Static<TItem>) => string;
|
|
228
228
|
/**
|
|
229
|
-
|
|
230
|
-
|
|
229
|
+
* Maximum number of batch handlers that can execute simultaneously.
|
|
230
|
+
*/
|
|
231
231
|
concurrency?: number;
|
|
232
232
|
/**
|
|
233
|
-
|
|
234
|
-
|
|
233
|
+
* Retry configuration for failed batch processing operations.
|
|
234
|
+
*/
|
|
235
235
|
retry?: Omit<RetryPrimitiveOptions<() => Array<Static<TItem>>>, "handler">;
|
|
236
236
|
}
|
|
237
237
|
declare class BatchPrimitive<TItem extends TSchema, TResponse = any> extends Primitive<BatchPrimitiveOptions<TItem, TResponse>> {
|
|
@@ -239,23 +239,23 @@ declare class BatchPrimitive<TItem extends TSchema, TResponse = any> extends Pri
|
|
|
239
239
|
protected readonly context: BatchContext<Static<TItem>, TResponse>;
|
|
240
240
|
constructor(...args: ConstructorParameters<typeof Primitive<BatchPrimitiveOptions<TItem, TResponse>>>);
|
|
241
241
|
/**
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
242
|
+
* Pushes an item into the batch and returns immediately with a unique ID.
|
|
243
|
+
* The item will be processed asynchronously with other items when the batch is flushed.
|
|
244
|
+
* Use wait(id) to get the processing result.
|
|
245
|
+
*/
|
|
246
246
|
push(item: Static<TItem>): Promise<string>;
|
|
247
247
|
/**
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
248
|
+
* Wait for a specific item to be processed and get its result.
|
|
249
|
+
* @param id The item ID returned from push()
|
|
250
|
+
* @returns The processing result
|
|
251
|
+
* @throws If the item doesn't exist or processing failed
|
|
252
|
+
*/
|
|
253
253
|
wait(id: string): Promise<TResponse>;
|
|
254
254
|
/**
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
255
|
+
* Get the current status of an item.
|
|
256
|
+
* @param id The item ID returned from push()
|
|
257
|
+
* @returns Status information or undefined if item doesn't exist
|
|
258
|
+
*/
|
|
259
259
|
status(id: string): {
|
|
260
260
|
status: "pending" | "processing";
|
|
261
261
|
} | {
|
|
@@ -266,16 +266,16 @@ declare class BatchPrimitive<TItem extends TSchema, TResponse = any> extends Pri
|
|
|
266
266
|
error: Error;
|
|
267
267
|
} | undefined;
|
|
268
268
|
/**
|
|
269
|
-
|
|
270
|
-
|
|
269
|
+
* Flush all partitions or a specific partition.
|
|
270
|
+
*/
|
|
271
271
|
flush(partitionKey?: string): Promise<void>;
|
|
272
272
|
/**
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
273
|
+
* Clears completed and failed items from memory.
|
|
274
|
+
* Call this periodically in long-running applications to prevent memory leaks.
|
|
275
|
+
*
|
|
276
|
+
* @param status Optional: only clear items with this specific status ('completed' or 'failed')
|
|
277
|
+
* @returns The number of items cleared
|
|
278
|
+
*/
|
|
279
279
|
clearCompleted(status?: "completed" | "failed"): number;
|
|
280
280
|
protected readonly onReady: alepha1.HookPrimitive<"ready">;
|
|
281
281
|
protected readonly dispose: alepha1.HookPrimitive<"stop">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/batch/providers/BatchProvider.ts","../../src/batch/primitives/$batch.ts","../../src/batch/index.ts"],"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/batch/providers/BatchProvider.ts","../../src/batch/primitives/$batch.ts","../../src/batch/index.ts"],"mappings":"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"}
|
package/dist/batch/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { $hook, $inject, $module, KIND, Primitive, createPrimitive } from "alepha";
|
|
2
|
-
import { randomUUID } from "node:crypto";
|
|
3
2
|
import { DateTimeProvider } from "alepha/datetime";
|
|
4
3
|
import { $logger } from "alepha/logger";
|
|
5
4
|
import { RetryProvider } from "alepha/retry";
|
|
@@ -53,7 +52,7 @@ var BatchProvider = class {
|
|
|
53
52
|
* @throws Error if maxQueueSize is exceeded
|
|
54
53
|
*/
|
|
55
54
|
push(context, item) {
|
|
56
|
-
const id = randomUUID();
|
|
55
|
+
const id = crypto.randomUUID();
|
|
57
56
|
let partitionKey;
|
|
58
57
|
try {
|
|
59
58
|
partitionKey = context.options.partitionBy ? context.options.partitionBy(item) : "default";
|