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,19 +12,19 @@ import * as dayjs_plugin_duration_js0 from "dayjs/plugin/duration.js";
|
|
|
12
12
|
*/
|
|
13
13
|
declare abstract class LockProvider {
|
|
14
14
|
/**
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
* Set the string value of a key.
|
|
16
|
+
*
|
|
17
|
+
* @param key The key of the value to set.
|
|
18
|
+
* @param value The value to set.
|
|
19
|
+
* @param nx If set to true, the key will only be set if it does not already exist.
|
|
20
|
+
* @param px Set the specified expire time, in milliseconds.
|
|
21
|
+
*/
|
|
22
22
|
abstract set(key: string, value: string, nx?: boolean, px?: number): Promise<string>;
|
|
23
23
|
/**
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
* Remove the specified keys.
|
|
25
|
+
*
|
|
26
|
+
* @param keys The keys to delete.
|
|
27
|
+
*/
|
|
28
28
|
abstract del(...keys: string[]): Promise<void>;
|
|
29
29
|
}
|
|
30
30
|
//#endregion
|
|
@@ -84,205 +84,205 @@ declare const $lock: {
|
|
|
84
84
|
};
|
|
85
85
|
interface LockPrimitiveOptions<TFunc extends AsyncFn> {
|
|
86
86
|
/**
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
87
|
+
* The function to execute when the lock is successfully acquired.
|
|
88
|
+
*
|
|
89
|
+
* This function:
|
|
90
|
+
* - Only executes on the instance that successfully acquires the lock
|
|
91
|
+
* - Has exclusive access to the protected resource during execution
|
|
92
|
+
* - Should contain the critical section logic that must not run concurrently
|
|
93
|
+
* - Can be async and perform any operations needed
|
|
94
|
+
* - Will automatically release the lock upon completion or error
|
|
95
|
+
* - Has access to the full Alepha dependency injection container
|
|
96
|
+
*
|
|
97
|
+
* **Handler Design Guidelines**:
|
|
98
|
+
* - Keep critical sections as short as possible to minimize lock contention
|
|
99
|
+
* - Include proper error handling to ensure locks are released
|
|
100
|
+
* - Use timeouts for external operations to prevent deadlocks
|
|
101
|
+
* - Log important operations for debugging and monitoring
|
|
102
|
+
* - Consider idempotency for handlers that might be retried
|
|
103
|
+
*
|
|
104
|
+
* @param ...args - The arguments passed to the lock execution
|
|
105
|
+
* @returns Promise that resolves when the protected operation is complete
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```ts
|
|
109
|
+
* handler: async (batchId: string) => {
|
|
110
|
+
* console.log(`Processing batch ${batchId} - only one instance will run this`);
|
|
111
|
+
*
|
|
112
|
+
* const batch = await this.getBatchData(batchId);
|
|
113
|
+
* const results = await this.processBatchItems(batch.items);
|
|
114
|
+
* await this.saveBatchResults(batchId, results);
|
|
115
|
+
*
|
|
116
|
+
* console.log(`Batch ${batchId} completed successfully`);
|
|
117
|
+
* }
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
120
|
handler: TFunc;
|
|
121
121
|
/**
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
122
|
+
* Whether the lock should wait for other instances to complete before giving up.
|
|
123
|
+
*
|
|
124
|
+
* **wait = false (default)**:
|
|
125
|
+
* - Non-blocking behavior - if lock is held, immediately return without executing
|
|
126
|
+
* - Perfect for scheduled tasks where you only want one execution per trigger
|
|
127
|
+
* - Use when multiple triggers are acceptable but concurrent execution is not
|
|
128
|
+
* - Examples: periodic cleanup, cron jobs, background maintenance
|
|
129
|
+
*
|
|
130
|
+
* **wait = true**:
|
|
131
|
+
* - Blocking behavior - wait for the current lock holder to finish
|
|
132
|
+
* - All instances will eventually execute (one after another)
|
|
133
|
+
* - Perfect for initialization tasks where all instances need the work completed
|
|
134
|
+
* - Examples: database migrations, cache warming, resource initialization
|
|
135
|
+
*
|
|
136
|
+
* **Trade-offs**:
|
|
137
|
+
* - Non-waiting: Better performance, may miss executions if timing is off
|
|
138
|
+
* - Waiting: Guaranteed execution order, slower overall throughput
|
|
139
|
+
*
|
|
140
|
+
* @default false
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```ts
|
|
144
|
+
* // Scheduled task - don't wait, just skip if already running
|
|
145
|
+
* scheduledCleanup = $lock({
|
|
146
|
+
* wait: false, // Skip if cleanup already running
|
|
147
|
+
* handler: async () => { } // perform cleanup
|
|
148
|
+
* });
|
|
149
|
+
*
|
|
150
|
+
* // Migration - wait for completion before proceeding
|
|
151
|
+
* migration = $lock({
|
|
152
|
+
* wait: true, // All instances wait for migration to complete
|
|
153
|
+
* handler: async () => { } // perform migration
|
|
154
|
+
* });
|
|
155
|
+
* ```
|
|
156
|
+
*/
|
|
157
157
|
wait?: boolean;
|
|
158
158
|
/**
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
159
|
+
* The unique identifier for the lock.
|
|
160
|
+
*
|
|
161
|
+
* Can be either:
|
|
162
|
+
* - **Static string**: A fixed identifier for the lock
|
|
163
|
+
* - **Dynamic function**: A function that generates the lock key based on arguments
|
|
164
|
+
*
|
|
165
|
+
* **Dynamic Lock Keys**:
|
|
166
|
+
* - Enable per-resource locking (e.g., per-user, per-file, per-product)
|
|
167
|
+
* - Allow fine-grained concurrency control
|
|
168
|
+
* - Prevent unnecessary blocking between unrelated operations
|
|
169
|
+
*
|
|
170
|
+
* **Key Design Guidelines**:
|
|
171
|
+
* - Use descriptive names that indicate the protected resource
|
|
172
|
+
* - Include relevant identifiers for dynamic keys
|
|
173
|
+
* - Keep keys reasonably short but unique
|
|
174
|
+
* - Consider using hierarchical naming (e.g., "service:operation:resource")
|
|
175
|
+
*
|
|
176
|
+
* If not provided, defaults to `{serviceName}:{propertyKey}`.
|
|
177
|
+
*
|
|
178
|
+
* @example "user-migration"
|
|
179
|
+
* @example "daily-report-generation"
|
|
180
|
+
* @example (userId: string) => `user-profile-update:${userId}`
|
|
181
|
+
* @example (fileId: string, operation: string) => `file-${operation}:${fileId}`
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* ```ts
|
|
185
|
+
* // Static lock key - all instances compete for the same lock
|
|
186
|
+
* globalCleanup = $lock({
|
|
187
|
+
* name: "system-cleanup",
|
|
188
|
+
* handler: async () => { } // perform cleanup
|
|
189
|
+
* });
|
|
190
|
+
*
|
|
191
|
+
* // Dynamic lock key - per-user locks, users don't block each other
|
|
192
|
+
* updateUserProfile = $lock({
|
|
193
|
+
* name: (userId: string) => `user-update:${userId}`,
|
|
194
|
+
* handler: async (userId: string, data: UserData) => {
|
|
195
|
+
* // Only one update per user at a time, but different users can update concurrently
|
|
196
|
+
* }
|
|
197
|
+
* });
|
|
198
|
+
* ```
|
|
199
|
+
*/
|
|
200
200
|
name?: string | ((...args: Parameters<TFunc>) => string);
|
|
201
201
|
/**
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
202
|
+
* Maximum duration the lock can be held before it expires automatically.
|
|
203
|
+
*
|
|
204
|
+
* This prevents deadlocks when a process dies while holding a lock or when
|
|
205
|
+
* operations take longer than expected. The lock will be automatically released
|
|
206
|
+
* after this duration, allowing other instances to proceed.
|
|
207
|
+
*
|
|
208
|
+
* **Duration Guidelines**:
|
|
209
|
+
* - Set based on expected operation duration plus safety margin
|
|
210
|
+
* - Too short: Operations may be interrupted by early expiration
|
|
211
|
+
* - Too long: Failed processes block others for extended periods
|
|
212
|
+
* - Consider worst-case scenarios and external dependency timeouts
|
|
213
|
+
*
|
|
214
|
+
* **Typical Values**:
|
|
215
|
+
* - Quick operations: 30 seconds - 2 minutes
|
|
216
|
+
* - Database operations: 5 - 15 minutes
|
|
217
|
+
* - File processing: 10 - 30 minutes
|
|
218
|
+
* - Large migrations: 30 minutes - 2 hours
|
|
219
|
+
*
|
|
220
|
+
* @default [5, "minutes"]
|
|
221
|
+
*
|
|
222
|
+
* @example [30, "seconds"] // Quick operations
|
|
223
|
+
* @example [10, "minutes"] // Database migrations
|
|
224
|
+
* @example [1, "hour"] // Long-running batch jobs
|
|
225
|
+
*
|
|
226
|
+
* @example
|
|
227
|
+
* ```ts
|
|
228
|
+
* quickTask = $lock({
|
|
229
|
+
* maxDuration: [2, "minutes"], // Quick timeout for fast operations
|
|
230
|
+
* handler: async () => { } // perform quick task
|
|
231
|
+
* });
|
|
232
|
+
*
|
|
233
|
+
* heavyProcessing = $lock({
|
|
234
|
+
* maxDuration: [30, "minutes"], // Longer timeout for heavy work
|
|
235
|
+
* handler: async () => { } // perform heavy processing
|
|
236
|
+
* });
|
|
237
|
+
* ```
|
|
238
|
+
*/
|
|
239
239
|
maxDuration?: DurationLike;
|
|
240
240
|
/**
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
241
|
+
* Additional time to keep the lock active after the handler completes successfully.
|
|
242
|
+
*
|
|
243
|
+
* This provides a "cooling off" period that can be useful for:
|
|
244
|
+
* - Preventing immediate re-execution of the same operation
|
|
245
|
+
* - Giving time for related systems to process the results
|
|
246
|
+
* - Avoiding race conditions with dependent operations
|
|
247
|
+
* - Providing a buffer for cleanup operations
|
|
248
|
+
*
|
|
249
|
+
* Can be either:
|
|
250
|
+
* - **Static duration**: Fixed grace period for all executions
|
|
251
|
+
* - **Dynamic function**: Grace period determined by execution arguments
|
|
252
|
+
* - **undefined**: No grace period, lock released immediately after completion
|
|
253
|
+
*
|
|
254
|
+
* **Grace Period Use Cases**:
|
|
255
|
+
* - File processing: Prevent immediate reprocessing of uploaded files
|
|
256
|
+
* - Cache updates: Allow time for cache propagation
|
|
257
|
+
* - Batch operations: Prevent overlapping batch processing
|
|
258
|
+
* - External API calls: Respect rate limiting requirements
|
|
259
|
+
*
|
|
260
|
+
* @default undefined (no grace period)
|
|
261
|
+
*
|
|
262
|
+
* @example [5, "minutes"] // Fixed 5-minute grace period
|
|
263
|
+
* @example [30, "seconds"] // Short grace for quick operations
|
|
264
|
+
* @example (userId: string) => userId.startsWith("premium") ? [10, "minutes"] : [2, "minutes"]
|
|
265
|
+
*
|
|
266
|
+
* @example
|
|
267
|
+
* ```ts
|
|
268
|
+
* fileProcessor = $lock({
|
|
269
|
+
* gracePeriod: [10, "minutes"], // Prevent reprocessing same file immediately
|
|
270
|
+
* handler: async (filePath: string) => {
|
|
271
|
+
* await this.processFile(filePath);
|
|
272
|
+
* }
|
|
273
|
+
* });
|
|
274
|
+
*
|
|
275
|
+
* userOperation = $lock({
|
|
276
|
+
* gracePeriod: (userId: string, operation: string) => {
|
|
277
|
+
* // Dynamic grace based on operation type
|
|
278
|
+
* return operation === 'migration' ? [30, "minutes"] : [5, "minutes"];
|
|
279
|
+
* },
|
|
280
|
+
* handler: async (userId: string, operation: string) => {
|
|
281
|
+
* await this.performUserOperation(userId, operation);
|
|
282
|
+
* }
|
|
283
|
+
* });
|
|
284
|
+
* ```
|
|
285
|
+
*/
|
|
286
286
|
gracePeriod?: ((...args: Parameters<TFunc>) => DurationLike | undefined) | DurationLike;
|
|
287
287
|
}
|
|
288
288
|
declare const envSchema: alepha1.TObject<{
|
|
@@ -307,8 +307,8 @@ declare class LockPrimitive<TFunc extends AsyncFn> extends Primitive<LockPrimiti
|
|
|
307
307
|
}>;
|
|
308
308
|
run(...args: Parameters<TFunc>): Promise<void>;
|
|
309
309
|
/**
|
|
310
|
-
|
|
311
|
-
|
|
310
|
+
* Set the lock for the given key.
|
|
311
|
+
*/
|
|
312
312
|
protected lock(key: string): Promise<LockResult>;
|
|
313
313
|
protected setGracePeriod(key: string, lock: LockResult, ...args: Parameters<TFunc>): Promise<void>;
|
|
314
314
|
protected wait(key: string, maxDuration: DurationLike): Promise<void>;
|
|
@@ -333,12 +333,12 @@ declare class MemoryLockProvider implements LockProvider {
|
|
|
333
333
|
protected readonly dateTimeProvider: DateTimeProvider;
|
|
334
334
|
protected readonly log: alepha_logger0.Logger;
|
|
335
335
|
/**
|
|
336
|
-
|
|
337
|
-
|
|
336
|
+
* The in-memory store.
|
|
337
|
+
*/
|
|
338
338
|
protected store: Record<string, string>;
|
|
339
339
|
/**
|
|
340
|
-
|
|
341
|
-
|
|
340
|
+
* Timeouts used to expire keys.
|
|
341
|
+
*/
|
|
342
342
|
protected storeTimeout: Record<string, Timeout>;
|
|
343
343
|
set(key: string, value: string, nx?: boolean, px?: number): Promise<string>;
|
|
344
344
|
del(...keys: string[]): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/lock/core/providers/LockProvider.ts","../../../src/lock/core/primitives/$lock.ts","../../../src/lock/core/providers/LockTopicProvider.ts","../../../src/lock/core/providers/MemoryLockProvider.ts","../../../src/lock/core/index.ts"],"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/lock/core/providers/LockProvider.ts","../../../src/lock/core/primitives/$lock.ts","../../../src/lock/core/providers/LockTopicProvider.ts","../../../src/lock/core/providers/MemoryLockProvider.ts","../../../src/lock/core/index.ts"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/lock/redis/providers/RedisLockProvider.ts","../../../src/lock/redis/index.ts"],"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/lock/redis/providers/RedisLockProvider.ts","../../../src/lock/redis/index.ts"],"mappings":";;;;;;cAKa,iBAAA,YAA6B,YAAA;EAAA,mBAAA,GAAA,EAAX,cAAA,CACP,MAAA;EAAA,mBAAA,aAAA,EACU,aAAA;EAAA,IAAA,GAAA,UAAA,KAAA,UAAA,EAAA,YAAA,EAAA,YAO7B,OAAA;EAAA,IAAA,GAAA,IAAA,aAqBkC,OAAA;AAAA;;;;AClBvC;;;;;cAAa,eAAA,EAAe,OAAA,CAAA,OAAA,CAgB1B,OAAA,CAhB0B,MAAA"}
|
package/dist/logger/index.d.ts
CHANGED
|
@@ -159,8 +159,8 @@ declare class PrettyFormatterProvider extends LogFormatterProvider {
|
|
|
159
159
|
protected pad2: (n: number) => string;
|
|
160
160
|
protected pad3: (n: number) => string;
|
|
161
161
|
/**
|
|
162
|
-
|
|
163
|
-
|
|
162
|
+
* Avoid to display the whole UUID in development mode
|
|
163
|
+
*/
|
|
164
164
|
protected formatContext(context: string): string;
|
|
165
165
|
protected formatError(error: Error): string;
|
|
166
166
|
}
|
|
@@ -237,36 +237,36 @@ declare class PrettyFormatterProvider extends LogFormatterProvider {
|
|
|
237
237
|
declare const AlephaLogger: alepha6.Service<alepha6.Module>;
|
|
238
238
|
declare const envSchema: alepha6.TObject<{
|
|
239
239
|
/**
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
240
|
+
* Default log level for the application.
|
|
241
|
+
*
|
|
242
|
+
* Default by environment:
|
|
243
|
+
* - dev = info
|
|
244
|
+
* - prod = info
|
|
245
|
+
* - test = error
|
|
246
|
+
*
|
|
247
|
+
* Levels are: "trace" | "debug" | "info" | "warn" | "error" | "silent"
|
|
248
|
+
*
|
|
249
|
+
* Level can be set for a specific module:
|
|
250
|
+
*
|
|
251
|
+
* @example
|
|
252
|
+
* LOG_LEVEL=my.module.name:debug,info # Set debug level for my.module.name and info for all other modules
|
|
253
|
+
* LOG_LEVEL=alepha:trace, info # Set trace level for all alepha modules and info for all other modules
|
|
254
|
+
*/
|
|
255
255
|
LOG_LEVEL: alepha6.TOptional<alepha6.TString>;
|
|
256
256
|
/**
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
257
|
+
* Built-in log formats.
|
|
258
|
+
* - "json" - JSON format, useful for structured logging and log aggregation. {@link JsonFormatterProvider}
|
|
259
|
+
* - "pretty" - Simple text format, human-readable, with colors. {@link PrettyFormatterProvider}
|
|
260
|
+
* - "raw" - Raw format, no formatting, just the message. {@link RawFormatterProvider}
|
|
261
|
+
*/
|
|
262
262
|
LOG_FORMAT: alepha6.TOptional<alepha6.TUnsafe<"json" | "pretty" | "raw">>;
|
|
263
263
|
}>;
|
|
264
264
|
declare module "alepha" {
|
|
265
265
|
interface Env extends Partial<Static<typeof envSchema>> {}
|
|
266
266
|
interface State {
|
|
267
267
|
/**
|
|
268
|
-
|
|
269
|
-
|
|
268
|
+
* Current log level for the application or specific modules.
|
|
269
|
+
*/
|
|
270
270
|
"alepha.logger.level"?: string;
|
|
271
271
|
}
|
|
272
272
|
interface Hooks {
|
|
@@ -275,8 +275,7 @@ declare module "alepha" {
|
|
|
275
275
|
entry: LogEntry;
|
|
276
276
|
};
|
|
277
277
|
}
|
|
278
|
-
}
|
|
279
|
-
//# sourceMappingURL=index.d.ts.map
|
|
278
|
+
} //# sourceMappingURL=index.d.ts.map
|
|
280
279
|
//#endregion
|
|
281
280
|
export { $logger, AlephaLogger, ConsoleColorProvider, ConsoleDestinationProvider, JsonFormatterProvider, LogDestinationProvider, LogEntry, LogFormatterProvider, Logger, LoggerPrimitiveOptions, MemoryDestinationProvider, PrettyFormatterProvider, logEntrySchema };
|
|
282
281
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/logger/schemas/logEntrySchema.ts","../../src/logger/providers/LogDestinationProvider.ts","../../src/logger/providers/LogFormatterProvider.ts","../../src/logger/services/Logger.ts","../../src/logger/primitives/$logger.ts","../../src/logger/providers/ConsoleColorProvider.ts","../../src/logger/providers/ConsoleDestinationProvider.ts","../../src/logger/providers/JsonFormatterProvider.ts","../../src/logger/providers/MemoryDestinationProvider.ts","../../src/logger/providers/PrettyFormatterProvider.ts","../../src/logger/index.ts"],"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/logger/schemas/logEntrySchema.ts","../../src/logger/providers/LogDestinationProvider.ts","../../src/logger/providers/LogFormatterProvider.ts","../../src/logger/services/Logger.ts","../../src/logger/primitives/$logger.ts","../../src/logger/providers/ConsoleColorProvider.ts","../../src/logger/providers/ConsoleDestinationProvider.ts","../../src/logger/providers/JsonFormatterProvider.ts","../../src/logger/providers/MemoryDestinationProvider.ts","../../src/logger/providers/PrettyFormatterProvider.ts","../../src/logger/index.ts"],"mappings":"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"}
|
package/dist/logger/index.js
CHANGED
|
@@ -503,12 +503,22 @@ const AlephaLogger = $module({
|
|
|
503
503
|
}
|
|
504
504
|
});
|
|
505
505
|
const envSchema = t.object({
|
|
506
|
-
LOG_LEVEL: t.optional(t.text({
|
|
506
|
+
LOG_LEVEL: t.optional(t.text({
|
|
507
|
+
description: `Application log level on startup.
|
|
508
|
+
Levels are: trace, debug, info, warn, error, silent
|
|
509
|
+
Level can be set for a specific module:
|
|
510
|
+
"my.module.name:debug,info" -> Set debug level for my.module.name and info for all other modules
|
|
511
|
+
"alepha:trace,info" -> Set trace level for all alepha modules and info for all other modules`,
|
|
512
|
+
lowercase: true
|
|
513
|
+
})),
|
|
507
514
|
LOG_FORMAT: t.optional(t.enum([
|
|
508
515
|
"json",
|
|
509
516
|
"pretty",
|
|
510
517
|
"raw"
|
|
511
|
-
], {
|
|
518
|
+
], {
|
|
519
|
+
description: "Default log format for the application.",
|
|
520
|
+
lowercase: true
|
|
521
|
+
}))
|
|
512
522
|
});
|
|
513
523
|
|
|
514
524
|
//#endregion
|