@archlast/server 0.1.7 → 0.1.9
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/LICENSE +21 -21
- package/README.md +14 -10
- package/dist/admin/auth.d.ts +24 -5
- package/dist/admin/auth.js +49 -25
- package/dist/admin/schema.d.ts +122 -32
- package/dist/admin/schema.js +131 -95
- package/dist/admin/seed.d.ts +1 -1
- package/dist/admin/seed.js +79 -47
- package/dist/auth/api-key-resolver.d.ts +1 -1
- package/dist/auth/api-key-resolver.js +7 -3
- package/dist/auth/archlast-auth-adapter.d.ts +2 -5
- package/dist/auth/archlast-auth-adapter.js +1 -1
- package/dist/auth/better-auth-adapter.d.ts.map +1 -1
- package/dist/auth/better-auth-adapter.js +41 -26
- package/dist/auth/better-auth-adapter.js.map +1 -1
- package/dist/auth/better-auth-admin.d.ts.map +1 -1
- package/dist/auth/better-auth-admin.js +1 -1
- package/dist/auth/better-auth-admin.js.map +1 -1
- package/dist/auth/better-auth-api-key-resolver.js +1 -1
- package/dist/auth/better-auth-api-key-resolver.js.map +1 -1
- package/dist/auth/better-auth-instance.d.ts +247 -303
- package/dist/auth/better-auth-instance.d.ts.map +1 -1
- package/dist/auth/better-auth-instance.js +11 -0
- package/dist/auth/better-auth-instance.js.map +1 -1
- package/dist/auth/better-auth-seed.d.ts +5 -2
- package/dist/auth/better-auth-seed.js +31 -22
- package/dist/auth/better-auth-session-adapter.d.ts.map +1 -1
- package/dist/auth/better-auth-session-adapter.js +14 -10
- package/dist/auth/better-auth-session-adapter.js.map +1 -1
- package/dist/auth/errors.d.ts.map +1 -1
- package/dist/auth/errors.js +11 -11
- package/dist/auth/errors.js.map +1 -1
- package/dist/auth/oauth-proxy.d.ts +5 -2
- package/dist/auth/oauth-proxy.js +23 -27
- package/dist/auth/resolver.d.ts.map +1 -1
- package/dist/auth/resolver.js.map +1 -1
- package/dist/auth/role-helpers.d.ts +1 -1
- package/dist/auth/role-helpers.d.ts.map +1 -1
- package/dist/auth/role-helpers.js.map +1 -1
- package/dist/auth/session-manager.d.ts +2 -5
- package/dist/auth/session-manager.js +16 -6
- package/dist/auth/system/better-auth-schema.d.ts.map +1 -1
- package/dist/auth/system/better-auth-schema.js +6 -23
- package/dist/auth/system/better-auth-schema.js.map +1 -1
- package/dist/cache/circuit-breaker.d.ts +81 -0
- package/dist/cache/circuit-breaker.d.ts.map +1 -0
- package/dist/cache/circuit-breaker.js +170 -0
- package/dist/cache/circuit-breaker.js.map +1 -0
- package/dist/cache/client.d.ts +6 -3
- package/dist/cache/client.d.ts.map +1 -1
- package/dist/cache/client.js +12 -53
- package/dist/cache/client.js.map +1 -1
- package/dist/cache/index.d.ts +2 -0
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +5 -1
- package/dist/cache/index.js.map +1 -1
- package/dist/cache/invalidation-queue.d.ts +63 -0
- package/dist/cache/invalidation-queue.d.ts.map +1 -0
- package/dist/cache/invalidation-queue.js +196 -0
- package/dist/cache/invalidation-queue.js.map +1 -0
- package/dist/cache/layers.d.ts +14 -4
- package/dist/cache/layers.d.ts.map +1 -1
- package/dist/cache/layers.js +66 -72
- package/dist/cache/layers.js.map +1 -1
- package/dist/cache/manager.d.ts.map +1 -1
- package/dist/cache/manager.js +6 -41
- package/dist/cache/manager.js.map +1 -1
- package/dist/cache/protocol.d.ts +4 -39
- package/dist/cache/protocol.d.ts.map +1 -1
- package/dist/cache/protocol.js.map +1 -1
- package/dist/cache/redis-adapter.d.ts +103 -0
- package/dist/cache/redis-adapter.d.ts.map +1 -0
- package/dist/cache/redis-adapter.js +424 -0
- package/dist/cache/redis-adapter.js.map +1 -0
- package/dist/cache/run-sidecar.js +10 -1
- package/dist/cache/run-sidecar.js.map +1 -1
- package/dist/cache/sidecar-server.d.ts +51 -1
- package/dist/cache/sidecar-server.d.ts.map +1 -1
- package/dist/cache/sidecar-server.js +368 -22
- package/dist/cache/sidecar-server.js.map +1 -1
- package/dist/cache/store.d.ts +43 -0
- package/dist/cache/store.d.ts.map +1 -1
- package/dist/cache/store.js +69 -76
- package/dist/cache/store.js.map +1 -1
- package/dist/cache/strategies.d.ts +2 -9
- package/dist/cache/strategies.d.ts.map +1 -1
- package/dist/cache/types.d.ts +130 -0
- package/dist/cache/types.d.ts.map +1 -0
- package/dist/cache/types.js +60 -0
- package/dist/cache/types.js.map +1 -0
- package/dist/config/bullmq.d.ts +16 -0
- package/dist/config/bullmq.d.ts.map +1 -0
- package/dist/config/bullmq.js +103 -0
- package/dist/config/bullmq.js.map +1 -0
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/schema.d.ts +80 -6
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +71 -6
- package/dist/config/schema.js.map +1 -1
- package/dist/config/service.d.ts +54 -4
- package/dist/config/service.d.ts.map +1 -1
- package/dist/config/service.js +56 -2
- package/dist/config/service.js.map +1 -1
- package/dist/controllers/admin/admin-tokens.controller.d.ts +131 -115
- package/dist/controllers/admin/admin-tokens.controller.js +117 -98
- package/dist/controllers/admin/api-keys.controller.d.ts +1 -1
- package/dist/controllers/admin/api-keys.controller.d.ts.map +1 -1
- package/dist/controllers/admin/api-keys.controller.js.map +1 -1
- package/dist/controllers/admin/app-users.controller.d.ts +274 -243
- package/dist/controllers/admin/app-users.controller.js +301 -257
- package/dist/controllers/admin/auth.controller.d.ts +260 -236
- package/dist/controllers/admin/auth.controller.js +197 -174
- package/dist/controllers/admin/backup.controller.d.ts.map +1 -1
- package/dist/controllers/admin/backup.controller.js.map +1 -1
- package/dist/controllers/admin/settings.controller.d.ts +1 -1
- package/dist/controllers/admin/storage-stats.controller.d.ts +63 -0
- package/dist/controllers/admin/storage-stats.controller.d.ts.map +1 -0
- package/dist/controllers/admin/storage-stats.controller.js +33 -0
- package/dist/controllers/admin/storage-stats.controller.js.map +1 -0
- package/dist/controllers/admin/tenants.controller.d.ts.map +1 -1
- package/dist/controllers/admin/tenants.controller.js.map +1 -1
- package/dist/controllers/admin/users.controller.d.ts +1 -1
- package/dist/controllers/admin/users.controller.d.ts.map +1 -1
- package/dist/controllers/admin/users.controller.js.map +1 -1
- package/dist/controllers/auth.controller.d.ts +289 -271
- package/dist/controllers/auth.controller.js +275 -226
- package/dist/controllers/crud-generator.controller.d.ts.map +1 -1
- package/dist/controllers/crud-generator.controller.js +4 -2
- package/dist/controllers/crud-generator.controller.js.map +1 -1
- package/dist/controllers/index.d.ts +1 -1
- package/dist/controllers/index.d.ts.map +1 -1
- package/dist/controllers/index.js.map +1 -1
- package/dist/controllers/introspection.controller.d.ts +666 -0
- package/dist/controllers/introspection.controller.d.ts.map +1 -1
- package/dist/controllers/introspection.controller.js +628 -0
- package/dist/controllers/introspection.controller.js.map +1 -1
- package/dist/controllers/invite.controller.d.ts +190 -170
- package/dist/controllers/invite.controller.js +183 -164
- package/dist/controllers/mfa.controller.d.ts +205 -183
- package/dist/controllers/mfa.controller.js +131 -111
- package/dist/controllers/otp.controller.d.ts +194 -171
- package/dist/controllers/otp.controller.js +192 -175
- package/dist/controllers/storage.controller.d.ts.map +1 -1
- package/dist/controllers/storage.controller.js.map +1 -1
- package/dist/controllers/system.controller.d.ts +21 -3
- package/dist/controllers/system.controller.d.ts.map +1 -1
- package/dist/controllers/system.controller.js +32 -2
- package/dist/controllers/system.controller.js.map +1 -1
- package/dist/controllers/tenant.controller.d.ts +258 -227
- package/dist/controllers/tenant.controller.js +224 -200
- package/dist/db/cachedclient.d.ts +6 -11
- package/dist/db/cachedclient.d.ts.map +1 -1
- package/dist/db/cachedclient.js +79 -43
- package/dist/db/cachedclient.js.map +1 -1
- package/dist/db/distributed-client.d.ts +79 -24
- package/dist/db/distributed-client.js +23 -24
- package/dist/db/factory.d.ts +3 -8
- package/dist/db/factory.d.ts.map +1 -1
- package/dist/db/factory.js +3 -22
- package/dist/db/factory.js.map +1 -1
- package/dist/db/socket-client.d.ts +7 -0
- package/dist/db/socket-client.d.ts.map +1 -1
- package/dist/db/socket-client.js +140 -11
- package/dist/db/socket-client.js.map +1 -1
- package/dist/deployment/handler.d.ts +10 -2
- package/dist/deployment/handler.d.ts.map +1 -1
- package/dist/deployment/handler.js +103 -21
- package/dist/deployment/handler.js.map +1 -1
- package/dist/deployment/persistence.d.ts.map +1 -1
- package/dist/deployment/persistence.js +6 -1
- package/dist/deployment/persistence.js.map +1 -1
- package/dist/docker/compose.d.ts.map +1 -1
- package/dist/docker/compose.js +76 -0
- package/dist/docker/compose.js.map +1 -1
- package/dist/engine/runner.d.ts.map +1 -1
- package/dist/engine/runner.js +0 -43
- package/dist/engine/runner.js.map +1 -1
- package/dist/functions/built-in/auth-apikey.d.ts.map +1 -1
- package/dist/functions/built-in/auth-apikey.js.map +1 -1
- package/dist/functions/built-in/system-cache.d.ts.map +1 -1
- package/dist/functions/built-in/system-cache.js +6 -31
- package/dist/functions/built-in/system-cache.js.map +1 -1
- package/dist/functions/built-in/system-data.d.ts.map +1 -1
- package/dist/functions/built-in/system-data.js +4 -2
- package/dist/functions/built-in/system-data.js.map +1 -1
- package/dist/functions/definition.d.ts.map +1 -1
- package/dist/functions/definition.js +6 -2
- package/dist/functions/definition.js.map +1 -1
- package/dist/http/router.d.ts +1 -0
- package/dist/http/router.d.ts.map +1 -1
- package/dist/http/router.js +14 -3
- package/dist/http/router.js.map +1 -1
- package/dist/http/routes/metrics.d.ts +42 -0
- package/dist/http/routes/metrics.d.ts.map +1 -0
- package/dist/http/routes/metrics.js +29 -0
- package/dist/http/routes/metrics.js.map +1 -0
- package/dist/http/server.d.ts +1 -0
- package/dist/http/server.d.ts.map +1 -1
- package/dist/http/server.js +63 -22
- package/dist/http/server.js.map +1 -1
- package/dist/ipc/socket-bridge.d.ts +1 -0
- package/dist/ipc/socket-bridge.d.ts.map +1 -1
- package/dist/ipc/socket-bridge.js +5 -1
- package/dist/ipc/socket-bridge.js.map +1 -1
- package/dist/jobs/bullmq-adapter.d.ts +154 -0
- package/dist/jobs/bullmq-adapter.d.ts.map +1 -0
- package/dist/jobs/bullmq-adapter.js +688 -0
- package/dist/jobs/bullmq-adapter.js.map +1 -0
- package/dist/jobs/bullmq-circuit-breaker.d.ts +133 -0
- package/dist/jobs/bullmq-circuit-breaker.d.ts.map +1 -0
- package/dist/jobs/bullmq-circuit-breaker.js +323 -0
- package/dist/jobs/bullmq-circuit-breaker.js.map +1 -0
- package/dist/jobs/bullmq-dlq-manager.d.ts +155 -0
- package/dist/jobs/bullmq-dlq-manager.d.ts.map +1 -0
- package/dist/jobs/bullmq-dlq-manager.js +325 -0
- package/dist/jobs/bullmq-dlq-manager.js.map +1 -0
- package/dist/jobs/bullmq-metrics.d.ts +104 -0
- package/dist/jobs/bullmq-metrics.d.ts.map +1 -0
- package/dist/jobs/bullmq-metrics.js +323 -0
- package/dist/jobs/bullmq-metrics.js.map +1 -0
- package/dist/jobs/bullmq-priority-service.d.ts +173 -0
- package/dist/jobs/bullmq-priority-service.d.ts.map +1 -0
- package/dist/jobs/bullmq-priority-service.js +390 -0
- package/dist/jobs/bullmq-priority-service.js.map +1 -0
- package/dist/jobs/bullmq-scheduler.d.ts +111 -0
- package/dist/jobs/bullmq-scheduler.d.ts.map +1 -0
- package/dist/jobs/bullmq-scheduler.js +300 -0
- package/dist/jobs/bullmq-scheduler.js.map +1 -0
- package/dist/jobs/bullmq-worker.d.ts +155 -0
- package/dist/jobs/bullmq-worker.d.ts.map +1 -0
- package/dist/jobs/bullmq-worker.js +651 -0
- package/dist/jobs/bullmq-worker.js.map +1 -0
- package/dist/jobs/circuit-breaker.d.ts +120 -0
- package/dist/jobs/circuit-breaker.d.ts.map +1 -0
- package/dist/jobs/circuit-breaker.js +262 -0
- package/dist/jobs/circuit-breaker.js.map +1 -0
- package/dist/jobs/index.d.ts +1 -1
- package/dist/jobs/index.d.ts.map +1 -1
- package/dist/jobs/index.js.map +1 -1
- package/dist/jobs/queue.d.ts +120 -1
- package/dist/jobs/queue.d.ts.map +1 -1
- package/dist/jobs/queue.js +487 -9
- package/dist/jobs/queue.js.map +1 -1
- package/dist/jobs/redis-connection.d.ts +50 -0
- package/dist/jobs/redis-connection.d.ts.map +1 -0
- package/dist/jobs/redis-connection.js +123 -0
- package/dist/jobs/redis-connection.js.map +1 -0
- package/dist/jobs/run-scheduler.js +163 -10
- package/dist/jobs/run-scheduler.js.map +1 -1
- package/dist/jobs/run-worker.js +101 -9
- package/dist/jobs/run-worker.js.map +1 -1
- package/dist/jobs/worker-thread.d.ts +6 -0
- package/dist/jobs/worker-thread.d.ts.map +1 -1
- package/dist/jobs/worker-thread.js +37 -8
- package/dist/jobs/worker-thread.js.map +1 -1
- package/dist/jobs/worker.d.ts +33 -0
- package/dist/jobs/worker.d.ts.map +1 -1
- package/dist/jobs/worker.js +358 -115
- package/dist/jobs/worker.js.map +1 -1
- package/dist/linq/async-enumerable.d.ts.map +1 -1
- package/dist/linq/async-enumerable.js.map +1 -1
- package/dist/linq/enumerable.d.ts.map +1 -1
- package/dist/linq/enumerable.js +10 -10
- package/dist/linq/enumerable.js.map +1 -1
- package/dist/metrics/collector.d.ts +26 -0
- package/dist/metrics/collector.d.ts.map +1 -0
- package/dist/metrics/collector.js +103 -0
- package/dist/metrics/collector.js.map +1 -0
- package/dist/polling/updates.controller.d.ts +57 -0
- package/dist/polling/updates.controller.d.ts.map +1 -0
- package/dist/polling/updates.controller.js +70 -0
- package/dist/polling/updates.controller.js.map +1 -0
- package/dist/repository/db-set.d.ts.map +1 -1
- package/dist/repository/db-set.js +12 -8
- package/dist/repository/db-set.js.map +1 -1
- package/dist/repository/ef-core.d.ts.map +1 -1
- package/dist/repository/ef-core.js +6 -6
- package/dist/repository/ef-core.js.map +1 -1
- package/dist/repository/factory.d.ts +1 -1
- package/dist/repository/factory.d.ts.map +1 -1
- package/dist/repository/factory.js.map +1 -1
- package/dist/repository/interfaces.d.ts.map +1 -1
- package/dist/repository/interfaces.js.map +1 -1
- package/dist/repository/queryable.d.ts.map +1 -1
- package/dist/repository/queryable.js.map +1 -1
- package/dist/rpc/adapter.d.ts.map +1 -1
- package/dist/rpc/adapter.js.map +1 -1
- package/dist/rpc/router.d.ts +2 -2
- package/dist/rpc/router.d.ts.map +1 -1
- package/dist/rpc/router.js +1 -1
- package/dist/rpc/router.js.map +1 -1
- package/dist/schema/input-types.d.ts +1 -1
- package/dist/schema/input-types.d.ts.map +1 -1
- package/dist/schema/input-types.js +4 -3
- package/dist/schema/input-types.js.map +1 -1
- package/dist/schema/modifiers.d.ts +2 -1
- package/dist/schema/modifiers.d.ts.map +1 -1
- package/dist/schema/modifiers.js +41 -5
- package/dist/schema/modifiers.js.map +1 -1
- package/dist/schema/relationship-types.d.ts +7 -2
- package/dist/schema/relationship-types.js +1 -1
- package/dist/schema/type-helpers.d.ts +35 -0
- package/dist/schema/type-helpers.d.ts.map +1 -1
- package/dist/schema/type-helpers.js +32 -21
- package/dist/schema/type-helpers.js.map +1 -1
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/validators.d.ts +1 -1
- package/dist/schema/validators.d.ts.map +1 -1
- package/dist/schema/validators.js +27 -16
- package/dist/schema/validators.js.map +1 -1
- package/dist/services/admin/app-users.service.d.ts +1 -1
- package/dist/services/admin/app-users.service.js +31 -38
- package/dist/services/admin/auth.service.d.ts +1 -1
- package/dist/services/admin/auth.service.js +11 -5
- package/dist/services/admin/backup/BackupOrchestrator.d.ts.map +1 -1
- package/dist/services/admin/backup/BackupOrchestrator.js +4 -7
- package/dist/services/admin/backup/BackupOrchestrator.js.map +1 -1
- package/dist/services/admin/backup/StorageStreamer.d.ts +3 -3
- package/dist/services/admin/backup/StorageStreamer.d.ts.map +1 -1
- package/dist/services/admin/backup/StorageStreamer.js +16 -55
- package/dist/services/admin/backup/StorageStreamer.js.map +1 -1
- package/dist/services/admin/backup/ZipComposer.d.ts +2 -0
- package/dist/services/admin/backup/ZipComposer.d.ts.map +1 -1
- package/dist/services/admin/backup/ZipComposer.js +23 -0
- package/dist/services/admin/backup/ZipComposer.js.map +1 -1
- package/dist/services/admin/backup.service.d.ts.map +1 -1
- package/dist/services/admin/backup.service.js.map +1 -1
- package/dist/services/admin/data.service.d.ts.map +1 -1
- package/dist/services/admin/data.service.js +287 -286
- package/dist/services/admin/data.service.js.map +1 -1
- package/dist/services/admin/tenants.service.d.ts.map +1 -1
- package/dist/services/admin/tenants.service.js.map +1 -1
- package/dist/services/auth.service.d.ts +2 -3
- package/dist/services/auth.service.js +16 -16
- package/dist/services/introspection.service.d.ts.map +1 -1
- package/dist/services/introspection.service.js +6 -3
- package/dist/services/introspection.service.js.map +1 -1
- package/dist/services/invite.service.d.ts +1 -1
- package/dist/services/invite.service.js +17 -15
- package/dist/services/storage.service.d.ts.map +1 -1
- package/dist/services/storage.service.js +35 -4
- package/dist/services/storage.service.js.map +1 -1
- package/dist/services/system.service.d.ts +4 -0
- package/dist/services/system.service.d.ts.map +1 -1
- package/dist/services/system.service.js +43 -1
- package/dist/services/system.service.js.map +1 -1
- package/dist/services/tenant.service.d.ts +1 -1
- package/dist/services/tenant.service.js +43 -31
- package/dist/sse/subscriptions.controller.d.ts +57 -0
- package/dist/sse/subscriptions.controller.d.ts.map +1 -0
- package/dist/sse/subscriptions.controller.js +127 -0
- package/dist/sse/subscriptions.controller.js.map +1 -0
- package/dist/startup/bootstrap.d.ts +13 -2
- package/dist/startup/bootstrap.d.ts.map +1 -1
- package/dist/startup/bootstrap.js +85 -13
- package/dist/startup/bootstrap.js.map +1 -1
- package/dist/storage/s3-backend.d.ts.map +1 -1
- package/dist/storage/s3-backend.js +3 -3
- package/dist/storage/s3-backend.js.map +1 -1
- package/dist/websocket/server.d.ts.map +1 -1
- package/dist/websocket/server.js +14 -3
- package/dist/websocket/server.js.map +1 -1
- package/docker/README.md +299 -1
- package/package.json +5 -1
- package/templates/.env.example +76 -16
- package/templates/archlast.config.js +15 -1
- package/templates/docker-compose.dev.yml +8 -8
- package/templates/docker-compose.prod.yml +29 -12
- package/templates/docker-compose.yml +112 -28
package/dist/db/cachedclient.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CachedDatabaseClient = void 0;
|
|
4
4
|
const logger_js_1 = require("../logging/logger.js");
|
|
5
5
|
const layers_js_1 = require("../cache/layers.js");
|
|
6
|
+
const types_js_1 = require("../cache/types.js");
|
|
6
7
|
const builder_js_1 = require("../query/builder.js");
|
|
7
8
|
const context_js_1 = require("../engine/context.js");
|
|
8
9
|
/**
|
|
@@ -35,19 +36,24 @@ class CachedDatabaseClient {
|
|
|
35
36
|
// Old signature: options object
|
|
36
37
|
options = cacheClientOrOptions;
|
|
37
38
|
}
|
|
38
|
-
|
|
39
|
+
// L1 TTL (local cache) - from environment variables
|
|
40
|
+
const docL1Ttl = Number(process.env.DOC_CACHE_TTL_MS ?? 600000); // 10 min default
|
|
39
41
|
const docSize = Number(process.env.DOC_CACHE_MAX ?? 5000);
|
|
40
|
-
const
|
|
42
|
+
const queryL1Ttl = Number(process.env.QUERY_CACHE_TTL_MS ?? 300000); // 5 min default
|
|
41
43
|
const querySize = Number(process.env.QUERY_CACHE_MAX ?? 1000);
|
|
42
|
-
const
|
|
44
|
+
const aggL1Ttl = Number(process.env.AGG_CACHE_TTL_MS ?? 60000); // 1 min default
|
|
43
45
|
const aggSize = Number(process.env.AGG_CACHE_MAX ?? 500);
|
|
46
|
+
// L2 TTL (Redis cache) - hardcoded values
|
|
47
|
+
const docL2Ttl = 1800000; // 30 minutes
|
|
48
|
+
const queryL2Ttl = 1800000; // 30 minutes
|
|
49
|
+
const aggL2Ttl = 3600000; // 60 minutes
|
|
44
50
|
const disabled = (process.env.CACHE_DISABLE_COLLECTIONS ?? "")
|
|
45
51
|
.split(",")
|
|
46
52
|
.map((s) => s.trim())
|
|
47
53
|
.filter(Boolean);
|
|
48
|
-
this.documentCache = new layers_js_1.DocumentCache({ ttl:
|
|
49
|
-
this.queryCache = new layers_js_1.QueryCache({ ttl:
|
|
50
|
-
this.aggregateCache = new layers_js_1.AggregateCache({ ttl:
|
|
54
|
+
this.documentCache = new layers_js_1.DocumentCache({ ttl: docL1Ttl, maxSize: docSize, l2Ttl: docL2Ttl }, this.cacheClient);
|
|
55
|
+
this.queryCache = new layers_js_1.QueryCache({ ttl: queryL1Ttl, maxSize: querySize, l2Ttl: queryL2Ttl }, this.cacheClient);
|
|
56
|
+
this.aggregateCache = new layers_js_1.AggregateCache({ ttl: aggL1Ttl, maxSize: aggSize, l2Ttl: aggL2Ttl }, this.cacheClient);
|
|
51
57
|
this.disabledCollections = new Set(disabled);
|
|
52
58
|
this.cachingEnabled = options?.cachingEnabled ?? true;
|
|
53
59
|
this.clearCache();
|
|
@@ -105,25 +111,43 @@ class CachedDatabaseClient {
|
|
|
105
111
|
return this.queryCache.get("list", { collection: colStr }, () => this.inner.list(collection));
|
|
106
112
|
}
|
|
107
113
|
async insert(collection, data) {
|
|
114
|
+
const startTime = performance.now();
|
|
108
115
|
const id = await this.inner.insert(collection, data);
|
|
116
|
+
const dbTime = performance.now() - startTime;
|
|
109
117
|
if (this.shouldBypassCache(String(collection)))
|
|
110
118
|
return id;
|
|
111
119
|
const colStr = String(collection);
|
|
112
120
|
const cacheKey = `doc:${colStr}:${id}`;
|
|
113
|
-
// Write-through cache
|
|
121
|
+
// Write-through cache (L1) - synchronous, immediate
|
|
114
122
|
const doc = { ...data, _id: id, _collection: colStr };
|
|
115
123
|
this.documentCache.set(colStr, id, doc);
|
|
116
|
-
|
|
124
|
+
const l1Time = performance.now() - startTime - dbTime;
|
|
125
|
+
// Also update sidecar cache (L2) - async fire-and-forget
|
|
117
126
|
if (this.cacheClient?.isConnected()) {
|
|
118
127
|
this.cacheClient.set(cacheKey, doc, "query").catch(() => {
|
|
119
128
|
// Ignore cache errors
|
|
120
129
|
});
|
|
121
130
|
}
|
|
131
|
+
// Invalidate collection caches - fire-and-forget, non-blocking
|
|
132
|
+
const invStart = performance.now();
|
|
122
133
|
this.invalidateCollection(colStr);
|
|
134
|
+
const invTime = performance.now() - invStart;
|
|
135
|
+
const totalTime = performance.now() - startTime;
|
|
136
|
+
if (totalTime > 50) {
|
|
137
|
+
// Log slow operations
|
|
138
|
+
logger_js_1.logger.log({
|
|
139
|
+
timestamp: Date.now(),
|
|
140
|
+
level: "debug",
|
|
141
|
+
kind: "cache",
|
|
142
|
+
message: `[Cache] insert slow: ${totalTime.toFixed(2)}ms (db:${dbTime.toFixed(2)}ms l1:${l1Time.toFixed(2)}ms inv:${invTime.toFixed(2)}ms)`,
|
|
143
|
+
});
|
|
144
|
+
}
|
|
123
145
|
return id;
|
|
124
146
|
}
|
|
125
147
|
async patch(collection, id, data) {
|
|
148
|
+
const startTime = performance.now();
|
|
126
149
|
await this.inner.patch(collection, id, data);
|
|
150
|
+
const dbTime = performance.now() - startTime;
|
|
127
151
|
if (this.shouldBypassCache(String(collection)))
|
|
128
152
|
return;
|
|
129
153
|
const colStr = String(collection);
|
|
@@ -132,30 +156,54 @@ class CachedDatabaseClient {
|
|
|
132
156
|
const updated = await this.inner.get(collection, id);
|
|
133
157
|
if (updated) {
|
|
134
158
|
this.documentCache.set(colStr, id, updated);
|
|
135
|
-
// Also update sidecar cache to prevent stale reads
|
|
159
|
+
// Also update sidecar cache to prevent stale reads (fire-and-forget)
|
|
136
160
|
if (this.cacheClient?.isConnected()) {
|
|
137
161
|
this.cacheClient.set(cacheKey, updated, "query").catch(() => {
|
|
138
162
|
// Ignore cache errors
|
|
139
163
|
});
|
|
140
164
|
}
|
|
141
165
|
}
|
|
166
|
+
// Invalidate collection caches - fire-and-forget, non-blocking
|
|
167
|
+
const invStart = performance.now();
|
|
142
168
|
this.invalidateCollection(colStr);
|
|
169
|
+
const invTime = performance.now() - invStart;
|
|
170
|
+
const totalTime = performance.now() - startTime;
|
|
171
|
+
if (totalTime > 50) {
|
|
172
|
+
logger_js_1.logger.log({
|
|
173
|
+
timestamp: Date.now(),
|
|
174
|
+
level: "debug",
|
|
175
|
+
kind: "cache",
|
|
176
|
+
message: `[Cache] patch slow: ${totalTime.toFixed(2)}ms (db:${dbTime.toFixed(2)}ms inv:${invTime.toFixed(2)}ms)`,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
143
179
|
}
|
|
144
180
|
async delete(collection, id) {
|
|
181
|
+
const startTime = performance.now();
|
|
145
182
|
await this.inner.delete(collection, id);
|
|
183
|
+
const dbTime = performance.now() - startTime;
|
|
146
184
|
if (this.shouldBypassCache(String(collection)))
|
|
147
185
|
return;
|
|
148
186
|
const colStr = String(collection);
|
|
149
|
-
// Delete from local cache
|
|
187
|
+
// Delete from local cache (L1) - synchronous
|
|
150
188
|
this.documentCache.delete(colStr, id);
|
|
151
|
-
// Notify sidecar to delete
|
|
189
|
+
// Notify sidecar to delete (L2) - async fire-and-forget
|
|
152
190
|
if (this.cacheClient?.isConnected()) {
|
|
153
191
|
const cacheKey = `doc:${colStr}:${id}`;
|
|
154
|
-
this.cacheClient.delete(cacheKey, "query")
|
|
155
|
-
// Ignore cache errors
|
|
156
|
-
});
|
|
192
|
+
this.cacheClient.delete(cacheKey, "query"); // Fire-and-forget, errors handled internally
|
|
157
193
|
}
|
|
194
|
+
// Invalidate collection caches - fire-and-forget, non-blocking
|
|
195
|
+
const invStart = performance.now();
|
|
158
196
|
this.invalidateCollection(colStr);
|
|
197
|
+
const invTime = performance.now() - invStart;
|
|
198
|
+
const totalTime = performance.now() - startTime;
|
|
199
|
+
if (totalTime > 50) {
|
|
200
|
+
logger_js_1.logger.log({
|
|
201
|
+
timestamp: Date.now(),
|
|
202
|
+
level: "debug",
|
|
203
|
+
kind: "cache",
|
|
204
|
+
message: `[Cache] delete slow: ${totalTime.toFixed(2)}ms (db:${dbTime.toFixed(2)}ms inv:${invTime.toFixed(2)}ms)`,
|
|
205
|
+
});
|
|
206
|
+
}
|
|
159
207
|
}
|
|
160
208
|
query(collection) {
|
|
161
209
|
const colStr = String(collection);
|
|
@@ -261,22 +309,15 @@ class CachedDatabaseClient {
|
|
|
261
309
|
});
|
|
262
310
|
}
|
|
263
311
|
invalidateCollection(collection) {
|
|
264
|
-
// Invalidate local caches
|
|
312
|
+
// Invalidate local caches (L1) - synchronous, immediate
|
|
265
313
|
this.queryCache.invalidateCollection(collection);
|
|
266
314
|
this.aggregateCache.invalidateCollection(collection);
|
|
267
|
-
// Notify sidecar about invalidation
|
|
315
|
+
// Notify sidecar about invalidation (L2) - async fire-and-forget
|
|
316
|
+
// This should NEVER block the reactive path
|
|
268
317
|
if (this.cacheClient?.isConnected()) {
|
|
269
318
|
const keys = [`collection:${collection}`];
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
logger_js_1.logger.log({
|
|
273
|
-
timestamp: Date.now(),
|
|
274
|
-
level: "error",
|
|
275
|
-
kind: "cache",
|
|
276
|
-
message: "[Cache] Sidecar invalidation failed:",
|
|
277
|
-
context: err,
|
|
278
|
-
});
|
|
279
|
-
});
|
|
319
|
+
// Fire-and-forget: errors handled internally by CacheClient
|
|
320
|
+
this.cacheClient.invalidate(keys);
|
|
280
321
|
}
|
|
281
322
|
}
|
|
282
323
|
clearCache() {
|
|
@@ -284,31 +325,26 @@ class CachedDatabaseClient {
|
|
|
284
325
|
this.queryCache.clear();
|
|
285
326
|
this.aggregateCache.clear();
|
|
286
327
|
}
|
|
328
|
+
/**
|
|
329
|
+
* Get cache statistics from all cache layers
|
|
330
|
+
* Returns normalized FullCacheStats with consistent structure
|
|
331
|
+
*/
|
|
287
332
|
async getCacheStats() {
|
|
288
333
|
if (this.cacheClient && this.cacheClient.isConnected()) {
|
|
289
334
|
const stats = await this.cacheClient.getStats();
|
|
290
335
|
if (stats) {
|
|
291
|
-
// Sidecar returns { query: {...}, function: {...} }
|
|
292
|
-
//
|
|
293
|
-
const defaultStats = {
|
|
294
|
-
hits: 0,
|
|
295
|
-
misses: 0,
|
|
296
|
-
evictions: 0,
|
|
297
|
-
writes: 0,
|
|
298
|
-
deletes: 0,
|
|
299
|
-
size: 0,
|
|
300
|
-
hitRate: 0,
|
|
301
|
-
};
|
|
336
|
+
// Sidecar returns { query: {...}, function: {...}, document: {...}, aggregate: {...}, redis?: {...} }
|
|
337
|
+
// Normalize to ensure all fields are present
|
|
302
338
|
return {
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
function: stats.function || defaultStats,
|
|
339
|
+
query: stats.query || (0, types_js_1.getEmptyCacheLayerStats)(1000),
|
|
340
|
+
document: stats.document || (0, types_js_1.getEmptyCacheLayerStats)(5000),
|
|
341
|
+
aggregate: stats.aggregate || (0, types_js_1.getEmptyCacheLayerStats)(500),
|
|
342
|
+
function: stats.function,
|
|
343
|
+
redis: stats.redis,
|
|
309
344
|
};
|
|
310
345
|
}
|
|
311
346
|
}
|
|
347
|
+
// Fallback: normalize local stats to same structure
|
|
312
348
|
return {
|
|
313
349
|
document: await this.documentCache.getStats(),
|
|
314
350
|
query: await this.queryCache.getStats(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cachedclient.js","sourceRoot":"","sources":["../../src/db/cachedclient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cachedclient.js","sourceRoot":"","sources":["../../src/db/cachedclient.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,10 @@ export interface DistributedClientOptions {
|
|
|
9
9
|
/**
|
|
10
10
|
* Distributed database client that routes requests through master node
|
|
11
11
|
*/
|
|
12
|
-
export declare class DistributedDatabaseClient<
|
|
12
|
+
export declare class DistributedDatabaseClient<
|
|
13
|
+
DataModel extends Record<string, Document> = any,
|
|
14
|
+
Relations extends RelationsMap<DataModel> = RelationsMap<DataModel>,
|
|
15
|
+
> implements IDatabaseClient<DataModel, Relations> {
|
|
13
16
|
private masterUrl;
|
|
14
17
|
private routeCacheTtlMs;
|
|
15
18
|
private connectionTimeoutMs;
|
|
@@ -33,30 +36,82 @@ export declare class DistributedDatabaseClient<DataModel extends Record<string,
|
|
|
33
36
|
* Sends a request to the appropriate servant node
|
|
34
37
|
*/
|
|
35
38
|
private sendRequest;
|
|
36
|
-
get<TableName extends keyof DataModel>(
|
|
39
|
+
get<TableName extends keyof DataModel>(
|
|
40
|
+
tableName: TableName,
|
|
41
|
+
id: string
|
|
42
|
+
): Promise<DataModel[TableName] | null>;
|
|
37
43
|
list<TableName extends keyof DataModel>(tableName: TableName): Promise<DataModel[TableName][]>;
|
|
38
|
-
query<TableName extends keyof DataModel>(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
44
|
+
query<TableName extends keyof DataModel>(
|
|
45
|
+
tableName: TableName
|
|
46
|
+
): QueryBuilder<DataModel[TableName]>;
|
|
47
|
+
findMany<TableName extends keyof DataModel>(
|
|
48
|
+
tableName: TableName,
|
|
49
|
+
options?: {
|
|
50
|
+
where?: WhereClause<DataModel[TableName]>;
|
|
51
|
+
orderBy?: any;
|
|
52
|
+
take?: number;
|
|
53
|
+
skip?: number;
|
|
54
|
+
}
|
|
55
|
+
): Promise<DataModel[TableName][]>;
|
|
56
|
+
findFirst<TableName extends keyof DataModel>(
|
|
57
|
+
tableName: TableName,
|
|
58
|
+
options?: {
|
|
59
|
+
where?: WhereClause<DataModel[TableName]>;
|
|
60
|
+
orderBy?: any;
|
|
61
|
+
}
|
|
62
|
+
): Promise<DataModel[TableName] | null>;
|
|
63
|
+
findUnique<TableName extends keyof DataModel>(
|
|
64
|
+
tableName: TableName,
|
|
65
|
+
where: WhereClause<DataModel[TableName]>
|
|
66
|
+
): Promise<DataModel[TableName] | null>;
|
|
67
|
+
count<TableName extends keyof DataModel>(
|
|
68
|
+
tableName: TableName,
|
|
69
|
+
where?: WhereClause<DataModel[TableName]>
|
|
70
|
+
): Promise<number>;
|
|
71
|
+
loadRelation<
|
|
72
|
+
TableName extends keyof DataModel,
|
|
73
|
+
RelationName extends keyof Relations[TableName] & string,
|
|
74
|
+
>(
|
|
75
|
+
tableName: TableName,
|
|
76
|
+
record: DataModel[TableName],
|
|
77
|
+
relationName: RelationName
|
|
78
|
+
): Promise<Relations[TableName][RelationName]>;
|
|
79
|
+
loadRelations<
|
|
80
|
+
TableName extends keyof DataModel,
|
|
81
|
+
RelationName extends keyof Relations[TableName] & string,
|
|
82
|
+
>(
|
|
83
|
+
tableName: TableName,
|
|
84
|
+
records: DataModel[TableName][],
|
|
85
|
+
relationName: RelationName
|
|
86
|
+
): Promise<Map<string, Relations[TableName][RelationName]>>;
|
|
87
|
+
insert<TableName extends keyof DataModel>(
|
|
88
|
+
tableName: TableName,
|
|
89
|
+
data: Omit<DataModel[TableName], "_id" | "_collection">
|
|
90
|
+
): Promise<string>;
|
|
91
|
+
insertMany<TableName extends keyof DataModel>(
|
|
92
|
+
tableName: TableName,
|
|
93
|
+
data: Omit<DataModel[TableName], "_id" | "_collection">[]
|
|
94
|
+
): Promise<string[]>;
|
|
95
|
+
update<TableName extends keyof DataModel>(
|
|
96
|
+
tableName: TableName,
|
|
97
|
+
id: string,
|
|
98
|
+
data: Partial<Omit<DataModel[TableName], "_id" | "_collection">>
|
|
99
|
+
): Promise<void>;
|
|
100
|
+
updateMany<TableName extends keyof DataModel>(
|
|
101
|
+
tableName: TableName,
|
|
102
|
+
where: WhereClause<DataModel[TableName]>,
|
|
103
|
+
data: Partial<Omit<DataModel[TableName], "_id" | "_collection">>
|
|
104
|
+
): Promise<number>;
|
|
105
|
+
patch<TableName extends keyof DataModel>(
|
|
106
|
+
tableName: TableName,
|
|
107
|
+
id: string,
|
|
108
|
+
data: Partial<Omit<DataModel[TableName], "_id" | "_collection">>
|
|
109
|
+
): Promise<void>;
|
|
58
110
|
delete<TableName extends keyof DataModel>(tableName: TableName, id: string): Promise<void>;
|
|
59
|
-
deleteMany<TableName extends keyof DataModel>(
|
|
111
|
+
deleteMany<TableName extends keyof DataModel>(
|
|
112
|
+
tableName: TableName,
|
|
113
|
+
where: WhereClause<DataModel[TableName]>
|
|
114
|
+
): Promise<number>;
|
|
60
115
|
runInTransaction<T>(fn: (db: IDatabaseClient<DataModel, Relations>) => Promise<T>): Promise<T>;
|
|
61
116
|
executeQuery(spec: any): Promise<any[]>;
|
|
62
117
|
executeCount(spec: any): Promise<number>;
|
|
@@ -79,4 +134,4 @@ export declare class DistributedDatabaseClient<DataModel extends Record<string,
|
|
|
79
134
|
*/
|
|
80
135
|
disconnect(): void;
|
|
81
136
|
}
|
|
82
|
-
//# sourceMappingURL=distributed-client.d.ts.map
|
|
137
|
+
//# sourceMappingURL=distributed-client.d.ts.map
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault =
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
var __importDefault =
|
|
3
|
+
(this && this.__importDefault) ||
|
|
4
|
+
function (mod) {
|
|
5
|
+
return mod && mod.__esModule ? mod : { default: mod };
|
|
6
|
+
};
|
|
5
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
8
|
exports.DistributedDatabaseClient = void 0;
|
|
7
9
|
const net_1 = __importDefault(require("net"));
|
|
@@ -34,11 +36,13 @@ class DistributedDatabaseClient {
|
|
|
34
36
|
}
|
|
35
37
|
// Ask master
|
|
36
38
|
try {
|
|
37
|
-
const response = await fetch(
|
|
39
|
+
const response = await fetch(
|
|
40
|
+
`${this.masterUrl}/route?collection=${encodeURIComponent(collection)}`
|
|
41
|
+
);
|
|
38
42
|
if (!response.ok) {
|
|
39
43
|
throw new Error(`Master routing failed: ${response.status}`);
|
|
40
44
|
}
|
|
41
|
-
const data =
|
|
45
|
+
const data = await response.json();
|
|
42
46
|
// Cache the route
|
|
43
47
|
this.routeCache.set(collection, {
|
|
44
48
|
node: data.node,
|
|
@@ -51,8 +55,7 @@ class DistributedDatabaseClient {
|
|
|
51
55
|
message: `[DistributedClient] Routed ${collection} -> ${data.node}`,
|
|
52
56
|
});
|
|
53
57
|
return data.node;
|
|
54
|
-
}
|
|
55
|
-
catch (error) {
|
|
58
|
+
} catch (error) {
|
|
56
59
|
logger_js_1.logger.log({
|
|
57
60
|
timestamp: Date.now(),
|
|
58
61
|
level: "error",
|
|
@@ -83,7 +86,9 @@ class DistributedDatabaseClient {
|
|
|
83
86
|
buffer: Buffer.alloc(0),
|
|
84
87
|
requestId: 0,
|
|
85
88
|
};
|
|
86
|
-
socket.on("data", (chunk) =>
|
|
89
|
+
socket.on("data", (chunk) =>
|
|
90
|
+
this.handleData(connection, Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk))
|
|
91
|
+
);
|
|
87
92
|
socket.on("error", (err) => {
|
|
88
93
|
logger_js_1.logger.log({
|
|
89
94
|
timestamp: Date.now(),
|
|
@@ -133,8 +138,7 @@ class DistributedDatabaseClient {
|
|
|
133
138
|
conn.pendingRequests.delete(message.reqId);
|
|
134
139
|
if (message.success) {
|
|
135
140
|
pending.resolve(message.data);
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
141
|
+
} else {
|
|
138
142
|
pending.reject(new Error(message.error || "Unknown error"));
|
|
139
143
|
}
|
|
140
144
|
}
|
|
@@ -224,7 +228,7 @@ class DistributedDatabaseClient {
|
|
|
224
228
|
collection: rel.target,
|
|
225
229
|
where: { [foreignKey]: recordId },
|
|
226
230
|
});
|
|
227
|
-
return
|
|
231
|
+
return result || [];
|
|
228
232
|
}
|
|
229
233
|
if (rel.type === "hasOne") {
|
|
230
234
|
const foreignKey = rel.foreignKey || `${String(tableName).slice(0, -1)}_id`;
|
|
@@ -233,18 +237,17 @@ class DistributedDatabaseClient {
|
|
|
233
237
|
where: { [foreignKey]: recordId },
|
|
234
238
|
take: 1,
|
|
235
239
|
});
|
|
236
|
-
return
|
|
240
|
+
return result?.[0] || null;
|
|
237
241
|
}
|
|
238
242
|
if (rel.type === "belongsTo") {
|
|
239
243
|
const foreignKey = rel.foreignKey || `${rel.target.slice(0, -1)}_id`;
|
|
240
244
|
const foreignId = record[foreignKey];
|
|
241
|
-
if (!foreignId)
|
|
242
|
-
return null;
|
|
245
|
+
if (!foreignId) return null;
|
|
243
246
|
const result = await this.sendRequest(rel.target, "get", {
|
|
244
247
|
collection: rel.target,
|
|
245
248
|
id: foreignId,
|
|
246
249
|
});
|
|
247
|
-
return
|
|
250
|
+
return result || null;
|
|
248
251
|
}
|
|
249
252
|
logger_js_1.logger.log({
|
|
250
253
|
timestamp: Date.now(),
|
|
@@ -290,12 +293,9 @@ class DistributedDatabaseClient {
|
|
|
290
293
|
resultMap.set(id, []);
|
|
291
294
|
}
|
|
292
295
|
}
|
|
293
|
-
}
|
|
294
|
-
else if (rel.type === "belongsTo") {
|
|
296
|
+
} else if (rel.type === "belongsTo") {
|
|
295
297
|
const foreignKey = rel.foreignKey || `${rel.target.slice(0, -1)}_id`;
|
|
296
|
-
const foreignIds = records
|
|
297
|
-
.map((r) => r[foreignKey])
|
|
298
|
-
.filter((id) => id != null);
|
|
298
|
+
const foreignIds = records.map((r) => r[foreignKey]).filter((id) => id != null);
|
|
299
299
|
if (foreignIds.length > 0) {
|
|
300
300
|
const result = await this.sendRequest(rel.target, "query", {
|
|
301
301
|
collection: rel.target,
|
|
@@ -452,11 +452,10 @@ class DistributedDatabaseClient {
|
|
|
452
452
|
if (!response.ok) {
|
|
453
453
|
return { master: false, nodes: 0 };
|
|
454
454
|
}
|
|
455
|
-
const data =
|
|
455
|
+
const data = await response.json();
|
|
456
456
|
const activeNodes = data.nodes.filter((n) => n.status === "active").length;
|
|
457
457
|
return { master: true, nodes: activeNodes };
|
|
458
|
-
}
|
|
459
|
-
catch {
|
|
458
|
+
} catch {
|
|
460
459
|
return { master: false, nodes: 0 };
|
|
461
460
|
}
|
|
462
461
|
}
|
|
@@ -474,4 +473,4 @@ class DistributedDatabaseClient {
|
|
|
474
473
|
}
|
|
475
474
|
}
|
|
476
475
|
exports.DistributedDatabaseClient = DistributedDatabaseClient;
|
|
477
|
-
//# sourceMappingURL=distributed-client.js.map
|
|
476
|
+
//# sourceMappingURL=distributed-client.js.map
|
package/dist/db/factory.d.ts
CHANGED
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
import { CachedDatabaseClient } from "./cachedclient.js";
|
|
2
2
|
import { SocketDatabaseClient } from "./socket-client.js";
|
|
3
|
-
import { DistributedDatabaseClient } from "./distributed-client.js";
|
|
4
3
|
import type { IDatabaseClient } from "./interfaces.js";
|
|
5
4
|
/**
|
|
6
|
-
*
|
|
7
|
-
|
|
8
|
-
export type DatabaseMode = "socket" | "distributed";
|
|
9
|
-
/**
|
|
10
|
-
* Creates a database client based on environment configuration
|
|
11
|
-
* Connects to the Document Store (C#) service via TCP (default port 6000)
|
|
5
|
+
* Creates a database client for the Document Store
|
|
6
|
+
* Connects to the Archlast.Store (C#) service via TCP (default port 7001)
|
|
12
7
|
*/
|
|
13
8
|
export declare function createDatabaseClient(): IDatabaseClient;
|
|
14
9
|
/**
|
|
15
10
|
* Re-export types and classes for convenience
|
|
16
11
|
*/
|
|
17
12
|
export type { IDatabaseClient, Document } from "./interfaces.js";
|
|
18
|
-
export { CachedDatabaseClient, SocketDatabaseClient
|
|
13
|
+
export { CachedDatabaseClient, SocketDatabaseClient };
|
|
19
14
|
//# sourceMappingURL=factory.d.ts.map
|
package/dist/db/factory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/db/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EAAE,oBAAoB,EAAoB,MAAM,oBAAoB,CAAC;AAC5E,OAAO,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/db/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EAAE,oBAAoB,EAAoB,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,iBAAiB,CAAC;AAEjE;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,CAYtD;AAED;;GAEG;AACH,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAC"}
|
package/dist/db/factory.js
CHANGED
|
@@ -1,42 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.SocketDatabaseClient = exports.CachedDatabaseClient = void 0;
|
|
4
4
|
exports.createDatabaseClient = createDatabaseClient;
|
|
5
5
|
const cachedclient_js_1 = require("./cachedclient.js");
|
|
6
6
|
Object.defineProperty(exports, "CachedDatabaseClient", { enumerable: true, get: function () { return cachedclient_js_1.CachedDatabaseClient; } });
|
|
7
7
|
const logger_js_1 = require("../logging/logger.js");
|
|
8
8
|
const socket_client_js_1 = require("./socket-client.js");
|
|
9
9
|
Object.defineProperty(exports, "SocketDatabaseClient", { enumerable: true, get: function () { return socket_client_js_1.SocketDatabaseClient; } });
|
|
10
|
-
const distributed_client_js_1 = require("./distributed-client.js");
|
|
11
|
-
Object.defineProperty(exports, "DistributedDatabaseClient", { enumerable: true, get: function () { return distributed_client_js_1.DistributedDatabaseClient; } });
|
|
12
10
|
/**
|
|
13
|
-
* Creates a database client
|
|
14
|
-
* Connects to the
|
|
11
|
+
* Creates a database client for the Document Store
|
|
12
|
+
* Connects to the Archlast.Store (C#) service via TCP (default port 7001)
|
|
15
13
|
*/
|
|
16
14
|
function createDatabaseClient() {
|
|
17
|
-
// Default to socket mode (Document Store)
|
|
18
|
-
if (process.env.USE_DISTRIBUTED_STORE === "true") {
|
|
19
|
-
logger_js_1.logger.log({
|
|
20
|
-
timestamp: Date.now(),
|
|
21
|
-
level: "info",
|
|
22
|
-
kind: "db",
|
|
23
|
-
message: "[Database] Using Archlast.Store (Distributed mode)",
|
|
24
|
-
});
|
|
25
|
-
const masterUrl = process.env.MASTER_URL || "http://localhost:7001";
|
|
26
|
-
const routeCacheTtlMs = parseInt(process.env.ROUTE_CACHE_TTL_MS || "300000", 10);
|
|
27
|
-
return new distributed_client_js_1.DistributedDatabaseClient({
|
|
28
|
-
masterUrl,
|
|
29
|
-
routeCacheTtlMs,
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
// Single-node socket mode - Document Store (default)
|
|
33
15
|
logger_js_1.logger.log({
|
|
34
16
|
timestamp: Date.now(),
|
|
35
17
|
level: "info",
|
|
36
18
|
kind: "db",
|
|
37
19
|
message: "[Database] Using Archlast.Store (Document Store mode)",
|
|
38
20
|
});
|
|
39
|
-
// Default to TCP connection (port 6000 per .env.example)
|
|
40
21
|
// Use loadSocketConfig to support Secure Protocol v4 and Dev Shim
|
|
41
22
|
const config = (0, socket_client_js_1.loadSocketConfig)();
|
|
42
23
|
return new socket_client_js_1.SocketDatabaseClient(config);
|
package/dist/db/factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/db/factory.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/db/factory.ts"],"names":[],"mappings":";;;AAUA,oDAYC;AAtBD,uDAAyD;AA4BhD,qGA5BA,sCAAoB,OA4BA;AA3B7B,oDAA8C;AAE9C,yDAA4E;AAyB7C,qGAzBtB,uCAAoB,OAyBsB;AAtBnD;;;GAGG;AACH,SAAgB,oBAAoB;IAChC,kBAAM,CAAC,GAAG,CAAC;QACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,uDAAuD;KACnE,CAAC,CAAC;IAEH,kEAAkE;IAClE,MAAM,MAAM,GAAG,IAAA,mCAAgB,GAAE,CAAC;IAElC,OAAO,IAAI,uCAAoB,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -27,6 +27,7 @@ export declare function loadSocketConfig(): SocketClientOptions;
|
|
|
27
27
|
* Supports Unix sockets, TCP, and TLS with PSK authentication
|
|
28
28
|
*/
|
|
29
29
|
export declare class SocketDatabaseClient<DataModel extends Record<string, Document> = any, Relations extends RelationsMap<DataModel> = RelationsMap<DataModel>> implements IDatabaseClient<DataModel, Relations> {
|
|
30
|
+
private static readonly MAX_FRAME_LENGTH;
|
|
30
31
|
private socket;
|
|
31
32
|
private requestId;
|
|
32
33
|
private pendingRequests;
|
|
@@ -64,6 +65,7 @@ export declare class SocketDatabaseClient<DataModel extends Record<string, Docum
|
|
|
64
65
|
*/
|
|
65
66
|
private setupSocketHandlers;
|
|
66
67
|
private sleep;
|
|
68
|
+
private rejectAllPendingRequests;
|
|
67
69
|
/**
|
|
68
70
|
* Handles incoming data from socket
|
|
69
71
|
*/
|
|
@@ -78,6 +80,11 @@ export declare class SocketDatabaseClient<DataModel extends Record<string, Docum
|
|
|
78
80
|
* This method flattens 'and' conditions and preserves operator objects.
|
|
79
81
|
*/
|
|
80
82
|
private normalizeWhere;
|
|
83
|
+
/**
|
|
84
|
+
* Normalizes orderBy to the shape expected by the C# store
|
|
85
|
+
* (Dictionary<string, string> with "asc"/"desc" values).
|
|
86
|
+
*/
|
|
87
|
+
private normalizeOrderBy;
|
|
81
88
|
get<TableName extends keyof DataModel>(tableName: TableName, id: string): Promise<DataModel[TableName] | null>;
|
|
82
89
|
list<TableName extends keyof DataModel>(tableName: TableName): Promise<DataModel[TableName][]>;
|
|
83
90
|
query<TableName extends keyof DataModel>(tableName: TableName): QueryBuilder<DataModel[TableName]>;
|