@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.
Files changed (372) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +14 -10
  3. package/dist/admin/auth.d.ts +24 -5
  4. package/dist/admin/auth.js +49 -25
  5. package/dist/admin/schema.d.ts +122 -32
  6. package/dist/admin/schema.js +131 -95
  7. package/dist/admin/seed.d.ts +1 -1
  8. package/dist/admin/seed.js +79 -47
  9. package/dist/auth/api-key-resolver.d.ts +1 -1
  10. package/dist/auth/api-key-resolver.js +7 -3
  11. package/dist/auth/archlast-auth-adapter.d.ts +2 -5
  12. package/dist/auth/archlast-auth-adapter.js +1 -1
  13. package/dist/auth/better-auth-adapter.d.ts.map +1 -1
  14. package/dist/auth/better-auth-adapter.js +41 -26
  15. package/dist/auth/better-auth-adapter.js.map +1 -1
  16. package/dist/auth/better-auth-admin.d.ts.map +1 -1
  17. package/dist/auth/better-auth-admin.js +1 -1
  18. package/dist/auth/better-auth-admin.js.map +1 -1
  19. package/dist/auth/better-auth-api-key-resolver.js +1 -1
  20. package/dist/auth/better-auth-api-key-resolver.js.map +1 -1
  21. package/dist/auth/better-auth-instance.d.ts +247 -303
  22. package/dist/auth/better-auth-instance.d.ts.map +1 -1
  23. package/dist/auth/better-auth-instance.js +11 -0
  24. package/dist/auth/better-auth-instance.js.map +1 -1
  25. package/dist/auth/better-auth-seed.d.ts +5 -2
  26. package/dist/auth/better-auth-seed.js +31 -22
  27. package/dist/auth/better-auth-session-adapter.d.ts.map +1 -1
  28. package/dist/auth/better-auth-session-adapter.js +14 -10
  29. package/dist/auth/better-auth-session-adapter.js.map +1 -1
  30. package/dist/auth/errors.d.ts.map +1 -1
  31. package/dist/auth/errors.js +11 -11
  32. package/dist/auth/errors.js.map +1 -1
  33. package/dist/auth/oauth-proxy.d.ts +5 -2
  34. package/dist/auth/oauth-proxy.js +23 -27
  35. package/dist/auth/resolver.d.ts.map +1 -1
  36. package/dist/auth/resolver.js.map +1 -1
  37. package/dist/auth/role-helpers.d.ts +1 -1
  38. package/dist/auth/role-helpers.d.ts.map +1 -1
  39. package/dist/auth/role-helpers.js.map +1 -1
  40. package/dist/auth/session-manager.d.ts +2 -5
  41. package/dist/auth/session-manager.js +16 -6
  42. package/dist/auth/system/better-auth-schema.d.ts.map +1 -1
  43. package/dist/auth/system/better-auth-schema.js +6 -23
  44. package/dist/auth/system/better-auth-schema.js.map +1 -1
  45. package/dist/cache/circuit-breaker.d.ts +81 -0
  46. package/dist/cache/circuit-breaker.d.ts.map +1 -0
  47. package/dist/cache/circuit-breaker.js +170 -0
  48. package/dist/cache/circuit-breaker.js.map +1 -0
  49. package/dist/cache/client.d.ts +6 -3
  50. package/dist/cache/client.d.ts.map +1 -1
  51. package/dist/cache/client.js +12 -53
  52. package/dist/cache/client.js.map +1 -1
  53. package/dist/cache/index.d.ts +2 -0
  54. package/dist/cache/index.d.ts.map +1 -1
  55. package/dist/cache/index.js +5 -1
  56. package/dist/cache/index.js.map +1 -1
  57. package/dist/cache/invalidation-queue.d.ts +63 -0
  58. package/dist/cache/invalidation-queue.d.ts.map +1 -0
  59. package/dist/cache/invalidation-queue.js +196 -0
  60. package/dist/cache/invalidation-queue.js.map +1 -0
  61. package/dist/cache/layers.d.ts +14 -4
  62. package/dist/cache/layers.d.ts.map +1 -1
  63. package/dist/cache/layers.js +66 -72
  64. package/dist/cache/layers.js.map +1 -1
  65. package/dist/cache/manager.d.ts.map +1 -1
  66. package/dist/cache/manager.js +6 -41
  67. package/dist/cache/manager.js.map +1 -1
  68. package/dist/cache/protocol.d.ts +4 -39
  69. package/dist/cache/protocol.d.ts.map +1 -1
  70. package/dist/cache/protocol.js.map +1 -1
  71. package/dist/cache/redis-adapter.d.ts +103 -0
  72. package/dist/cache/redis-adapter.d.ts.map +1 -0
  73. package/dist/cache/redis-adapter.js +424 -0
  74. package/dist/cache/redis-adapter.js.map +1 -0
  75. package/dist/cache/run-sidecar.js +10 -1
  76. package/dist/cache/run-sidecar.js.map +1 -1
  77. package/dist/cache/sidecar-server.d.ts +51 -1
  78. package/dist/cache/sidecar-server.d.ts.map +1 -1
  79. package/dist/cache/sidecar-server.js +368 -22
  80. package/dist/cache/sidecar-server.js.map +1 -1
  81. package/dist/cache/store.d.ts +43 -0
  82. package/dist/cache/store.d.ts.map +1 -1
  83. package/dist/cache/store.js +69 -76
  84. package/dist/cache/store.js.map +1 -1
  85. package/dist/cache/strategies.d.ts +2 -9
  86. package/dist/cache/strategies.d.ts.map +1 -1
  87. package/dist/cache/types.d.ts +130 -0
  88. package/dist/cache/types.d.ts.map +1 -0
  89. package/dist/cache/types.js +60 -0
  90. package/dist/cache/types.js.map +1 -0
  91. package/dist/config/bullmq.d.ts +16 -0
  92. package/dist/config/bullmq.d.ts.map +1 -0
  93. package/dist/config/bullmq.js +103 -0
  94. package/dist/config/bullmq.js.map +1 -0
  95. package/dist/config/index.d.ts +1 -0
  96. package/dist/config/index.d.ts.map +1 -1
  97. package/dist/config/index.js +1 -0
  98. package/dist/config/index.js.map +1 -1
  99. package/dist/config/schema.d.ts +80 -6
  100. package/dist/config/schema.d.ts.map +1 -1
  101. package/dist/config/schema.js +71 -6
  102. package/dist/config/schema.js.map +1 -1
  103. package/dist/config/service.d.ts +54 -4
  104. package/dist/config/service.d.ts.map +1 -1
  105. package/dist/config/service.js +56 -2
  106. package/dist/config/service.js.map +1 -1
  107. package/dist/controllers/admin/admin-tokens.controller.d.ts +131 -115
  108. package/dist/controllers/admin/admin-tokens.controller.js +117 -98
  109. package/dist/controllers/admin/api-keys.controller.d.ts +1 -1
  110. package/dist/controllers/admin/api-keys.controller.d.ts.map +1 -1
  111. package/dist/controllers/admin/api-keys.controller.js.map +1 -1
  112. package/dist/controllers/admin/app-users.controller.d.ts +274 -243
  113. package/dist/controllers/admin/app-users.controller.js +301 -257
  114. package/dist/controllers/admin/auth.controller.d.ts +260 -236
  115. package/dist/controllers/admin/auth.controller.js +197 -174
  116. package/dist/controllers/admin/backup.controller.d.ts.map +1 -1
  117. package/dist/controllers/admin/backup.controller.js.map +1 -1
  118. package/dist/controllers/admin/settings.controller.d.ts +1 -1
  119. package/dist/controllers/admin/storage-stats.controller.d.ts +63 -0
  120. package/dist/controllers/admin/storage-stats.controller.d.ts.map +1 -0
  121. package/dist/controllers/admin/storage-stats.controller.js +33 -0
  122. package/dist/controllers/admin/storage-stats.controller.js.map +1 -0
  123. package/dist/controllers/admin/tenants.controller.d.ts.map +1 -1
  124. package/dist/controllers/admin/tenants.controller.js.map +1 -1
  125. package/dist/controllers/admin/users.controller.d.ts +1 -1
  126. package/dist/controllers/admin/users.controller.d.ts.map +1 -1
  127. package/dist/controllers/admin/users.controller.js.map +1 -1
  128. package/dist/controllers/auth.controller.d.ts +289 -271
  129. package/dist/controllers/auth.controller.js +275 -226
  130. package/dist/controllers/crud-generator.controller.d.ts.map +1 -1
  131. package/dist/controllers/crud-generator.controller.js +4 -2
  132. package/dist/controllers/crud-generator.controller.js.map +1 -1
  133. package/dist/controllers/index.d.ts +1 -1
  134. package/dist/controllers/index.d.ts.map +1 -1
  135. package/dist/controllers/index.js.map +1 -1
  136. package/dist/controllers/introspection.controller.d.ts +666 -0
  137. package/dist/controllers/introspection.controller.d.ts.map +1 -1
  138. package/dist/controllers/introspection.controller.js +628 -0
  139. package/dist/controllers/introspection.controller.js.map +1 -1
  140. package/dist/controllers/invite.controller.d.ts +190 -170
  141. package/dist/controllers/invite.controller.js +183 -164
  142. package/dist/controllers/mfa.controller.d.ts +205 -183
  143. package/dist/controllers/mfa.controller.js +131 -111
  144. package/dist/controllers/otp.controller.d.ts +194 -171
  145. package/dist/controllers/otp.controller.js +192 -175
  146. package/dist/controllers/storage.controller.d.ts.map +1 -1
  147. package/dist/controllers/storage.controller.js.map +1 -1
  148. package/dist/controllers/system.controller.d.ts +21 -3
  149. package/dist/controllers/system.controller.d.ts.map +1 -1
  150. package/dist/controllers/system.controller.js +32 -2
  151. package/dist/controllers/system.controller.js.map +1 -1
  152. package/dist/controllers/tenant.controller.d.ts +258 -227
  153. package/dist/controllers/tenant.controller.js +224 -200
  154. package/dist/db/cachedclient.d.ts +6 -11
  155. package/dist/db/cachedclient.d.ts.map +1 -1
  156. package/dist/db/cachedclient.js +79 -43
  157. package/dist/db/cachedclient.js.map +1 -1
  158. package/dist/db/distributed-client.d.ts +79 -24
  159. package/dist/db/distributed-client.js +23 -24
  160. package/dist/db/factory.d.ts +3 -8
  161. package/dist/db/factory.d.ts.map +1 -1
  162. package/dist/db/factory.js +3 -22
  163. package/dist/db/factory.js.map +1 -1
  164. package/dist/db/socket-client.d.ts +7 -0
  165. package/dist/db/socket-client.d.ts.map +1 -1
  166. package/dist/db/socket-client.js +140 -11
  167. package/dist/db/socket-client.js.map +1 -1
  168. package/dist/deployment/handler.d.ts +10 -2
  169. package/dist/deployment/handler.d.ts.map +1 -1
  170. package/dist/deployment/handler.js +103 -21
  171. package/dist/deployment/handler.js.map +1 -1
  172. package/dist/deployment/persistence.d.ts.map +1 -1
  173. package/dist/deployment/persistence.js +6 -1
  174. package/dist/deployment/persistence.js.map +1 -1
  175. package/dist/docker/compose.d.ts.map +1 -1
  176. package/dist/docker/compose.js +76 -0
  177. package/dist/docker/compose.js.map +1 -1
  178. package/dist/engine/runner.d.ts.map +1 -1
  179. package/dist/engine/runner.js +0 -43
  180. package/dist/engine/runner.js.map +1 -1
  181. package/dist/functions/built-in/auth-apikey.d.ts.map +1 -1
  182. package/dist/functions/built-in/auth-apikey.js.map +1 -1
  183. package/dist/functions/built-in/system-cache.d.ts.map +1 -1
  184. package/dist/functions/built-in/system-cache.js +6 -31
  185. package/dist/functions/built-in/system-cache.js.map +1 -1
  186. package/dist/functions/built-in/system-data.d.ts.map +1 -1
  187. package/dist/functions/built-in/system-data.js +4 -2
  188. package/dist/functions/built-in/system-data.js.map +1 -1
  189. package/dist/functions/definition.d.ts.map +1 -1
  190. package/dist/functions/definition.js +6 -2
  191. package/dist/functions/definition.js.map +1 -1
  192. package/dist/http/router.d.ts +1 -0
  193. package/dist/http/router.d.ts.map +1 -1
  194. package/dist/http/router.js +14 -3
  195. package/dist/http/router.js.map +1 -1
  196. package/dist/http/routes/metrics.d.ts +42 -0
  197. package/dist/http/routes/metrics.d.ts.map +1 -0
  198. package/dist/http/routes/metrics.js +29 -0
  199. package/dist/http/routes/metrics.js.map +1 -0
  200. package/dist/http/server.d.ts +1 -0
  201. package/dist/http/server.d.ts.map +1 -1
  202. package/dist/http/server.js +63 -22
  203. package/dist/http/server.js.map +1 -1
  204. package/dist/ipc/socket-bridge.d.ts +1 -0
  205. package/dist/ipc/socket-bridge.d.ts.map +1 -1
  206. package/dist/ipc/socket-bridge.js +5 -1
  207. package/dist/ipc/socket-bridge.js.map +1 -1
  208. package/dist/jobs/bullmq-adapter.d.ts +154 -0
  209. package/dist/jobs/bullmq-adapter.d.ts.map +1 -0
  210. package/dist/jobs/bullmq-adapter.js +688 -0
  211. package/dist/jobs/bullmq-adapter.js.map +1 -0
  212. package/dist/jobs/bullmq-circuit-breaker.d.ts +133 -0
  213. package/dist/jobs/bullmq-circuit-breaker.d.ts.map +1 -0
  214. package/dist/jobs/bullmq-circuit-breaker.js +323 -0
  215. package/dist/jobs/bullmq-circuit-breaker.js.map +1 -0
  216. package/dist/jobs/bullmq-dlq-manager.d.ts +155 -0
  217. package/dist/jobs/bullmq-dlq-manager.d.ts.map +1 -0
  218. package/dist/jobs/bullmq-dlq-manager.js +325 -0
  219. package/dist/jobs/bullmq-dlq-manager.js.map +1 -0
  220. package/dist/jobs/bullmq-metrics.d.ts +104 -0
  221. package/dist/jobs/bullmq-metrics.d.ts.map +1 -0
  222. package/dist/jobs/bullmq-metrics.js +323 -0
  223. package/dist/jobs/bullmq-metrics.js.map +1 -0
  224. package/dist/jobs/bullmq-priority-service.d.ts +173 -0
  225. package/dist/jobs/bullmq-priority-service.d.ts.map +1 -0
  226. package/dist/jobs/bullmq-priority-service.js +390 -0
  227. package/dist/jobs/bullmq-priority-service.js.map +1 -0
  228. package/dist/jobs/bullmq-scheduler.d.ts +111 -0
  229. package/dist/jobs/bullmq-scheduler.d.ts.map +1 -0
  230. package/dist/jobs/bullmq-scheduler.js +300 -0
  231. package/dist/jobs/bullmq-scheduler.js.map +1 -0
  232. package/dist/jobs/bullmq-worker.d.ts +155 -0
  233. package/dist/jobs/bullmq-worker.d.ts.map +1 -0
  234. package/dist/jobs/bullmq-worker.js +651 -0
  235. package/dist/jobs/bullmq-worker.js.map +1 -0
  236. package/dist/jobs/circuit-breaker.d.ts +120 -0
  237. package/dist/jobs/circuit-breaker.d.ts.map +1 -0
  238. package/dist/jobs/circuit-breaker.js +262 -0
  239. package/dist/jobs/circuit-breaker.js.map +1 -0
  240. package/dist/jobs/index.d.ts +1 -1
  241. package/dist/jobs/index.d.ts.map +1 -1
  242. package/dist/jobs/index.js.map +1 -1
  243. package/dist/jobs/queue.d.ts +120 -1
  244. package/dist/jobs/queue.d.ts.map +1 -1
  245. package/dist/jobs/queue.js +487 -9
  246. package/dist/jobs/queue.js.map +1 -1
  247. package/dist/jobs/redis-connection.d.ts +50 -0
  248. package/dist/jobs/redis-connection.d.ts.map +1 -0
  249. package/dist/jobs/redis-connection.js +123 -0
  250. package/dist/jobs/redis-connection.js.map +1 -0
  251. package/dist/jobs/run-scheduler.js +163 -10
  252. package/dist/jobs/run-scheduler.js.map +1 -1
  253. package/dist/jobs/run-worker.js +101 -9
  254. package/dist/jobs/run-worker.js.map +1 -1
  255. package/dist/jobs/worker-thread.d.ts +6 -0
  256. package/dist/jobs/worker-thread.d.ts.map +1 -1
  257. package/dist/jobs/worker-thread.js +37 -8
  258. package/dist/jobs/worker-thread.js.map +1 -1
  259. package/dist/jobs/worker.d.ts +33 -0
  260. package/dist/jobs/worker.d.ts.map +1 -1
  261. package/dist/jobs/worker.js +358 -115
  262. package/dist/jobs/worker.js.map +1 -1
  263. package/dist/linq/async-enumerable.d.ts.map +1 -1
  264. package/dist/linq/async-enumerable.js.map +1 -1
  265. package/dist/linq/enumerable.d.ts.map +1 -1
  266. package/dist/linq/enumerable.js +10 -10
  267. package/dist/linq/enumerable.js.map +1 -1
  268. package/dist/metrics/collector.d.ts +26 -0
  269. package/dist/metrics/collector.d.ts.map +1 -0
  270. package/dist/metrics/collector.js +103 -0
  271. package/dist/metrics/collector.js.map +1 -0
  272. package/dist/polling/updates.controller.d.ts +57 -0
  273. package/dist/polling/updates.controller.d.ts.map +1 -0
  274. package/dist/polling/updates.controller.js +70 -0
  275. package/dist/polling/updates.controller.js.map +1 -0
  276. package/dist/repository/db-set.d.ts.map +1 -1
  277. package/dist/repository/db-set.js +12 -8
  278. package/dist/repository/db-set.js.map +1 -1
  279. package/dist/repository/ef-core.d.ts.map +1 -1
  280. package/dist/repository/ef-core.js +6 -6
  281. package/dist/repository/ef-core.js.map +1 -1
  282. package/dist/repository/factory.d.ts +1 -1
  283. package/dist/repository/factory.d.ts.map +1 -1
  284. package/dist/repository/factory.js.map +1 -1
  285. package/dist/repository/interfaces.d.ts.map +1 -1
  286. package/dist/repository/interfaces.js.map +1 -1
  287. package/dist/repository/queryable.d.ts.map +1 -1
  288. package/dist/repository/queryable.js.map +1 -1
  289. package/dist/rpc/adapter.d.ts.map +1 -1
  290. package/dist/rpc/adapter.js.map +1 -1
  291. package/dist/rpc/router.d.ts +2 -2
  292. package/dist/rpc/router.d.ts.map +1 -1
  293. package/dist/rpc/router.js +1 -1
  294. package/dist/rpc/router.js.map +1 -1
  295. package/dist/schema/input-types.d.ts +1 -1
  296. package/dist/schema/input-types.d.ts.map +1 -1
  297. package/dist/schema/input-types.js +4 -3
  298. package/dist/schema/input-types.js.map +1 -1
  299. package/dist/schema/modifiers.d.ts +2 -1
  300. package/dist/schema/modifiers.d.ts.map +1 -1
  301. package/dist/schema/modifiers.js +41 -5
  302. package/dist/schema/modifiers.js.map +1 -1
  303. package/dist/schema/relationship-types.d.ts +7 -2
  304. package/dist/schema/relationship-types.js +1 -1
  305. package/dist/schema/type-helpers.d.ts +35 -0
  306. package/dist/schema/type-helpers.d.ts.map +1 -1
  307. package/dist/schema/type-helpers.js +32 -21
  308. package/dist/schema/type-helpers.js.map +1 -1
  309. package/dist/schema/types.d.ts.map +1 -1
  310. package/dist/schema/validators.d.ts +1 -1
  311. package/dist/schema/validators.d.ts.map +1 -1
  312. package/dist/schema/validators.js +27 -16
  313. package/dist/schema/validators.js.map +1 -1
  314. package/dist/services/admin/app-users.service.d.ts +1 -1
  315. package/dist/services/admin/app-users.service.js +31 -38
  316. package/dist/services/admin/auth.service.d.ts +1 -1
  317. package/dist/services/admin/auth.service.js +11 -5
  318. package/dist/services/admin/backup/BackupOrchestrator.d.ts.map +1 -1
  319. package/dist/services/admin/backup/BackupOrchestrator.js +4 -7
  320. package/dist/services/admin/backup/BackupOrchestrator.js.map +1 -1
  321. package/dist/services/admin/backup/StorageStreamer.d.ts +3 -3
  322. package/dist/services/admin/backup/StorageStreamer.d.ts.map +1 -1
  323. package/dist/services/admin/backup/StorageStreamer.js +16 -55
  324. package/dist/services/admin/backup/StorageStreamer.js.map +1 -1
  325. package/dist/services/admin/backup/ZipComposer.d.ts +2 -0
  326. package/dist/services/admin/backup/ZipComposer.d.ts.map +1 -1
  327. package/dist/services/admin/backup/ZipComposer.js +23 -0
  328. package/dist/services/admin/backup/ZipComposer.js.map +1 -1
  329. package/dist/services/admin/backup.service.d.ts.map +1 -1
  330. package/dist/services/admin/backup.service.js.map +1 -1
  331. package/dist/services/admin/data.service.d.ts.map +1 -1
  332. package/dist/services/admin/data.service.js +287 -286
  333. package/dist/services/admin/data.service.js.map +1 -1
  334. package/dist/services/admin/tenants.service.d.ts.map +1 -1
  335. package/dist/services/admin/tenants.service.js.map +1 -1
  336. package/dist/services/auth.service.d.ts +2 -3
  337. package/dist/services/auth.service.js +16 -16
  338. package/dist/services/introspection.service.d.ts.map +1 -1
  339. package/dist/services/introspection.service.js +6 -3
  340. package/dist/services/introspection.service.js.map +1 -1
  341. package/dist/services/invite.service.d.ts +1 -1
  342. package/dist/services/invite.service.js +17 -15
  343. package/dist/services/storage.service.d.ts.map +1 -1
  344. package/dist/services/storage.service.js +35 -4
  345. package/dist/services/storage.service.js.map +1 -1
  346. package/dist/services/system.service.d.ts +4 -0
  347. package/dist/services/system.service.d.ts.map +1 -1
  348. package/dist/services/system.service.js +43 -1
  349. package/dist/services/system.service.js.map +1 -1
  350. package/dist/services/tenant.service.d.ts +1 -1
  351. package/dist/services/tenant.service.js +43 -31
  352. package/dist/sse/subscriptions.controller.d.ts +57 -0
  353. package/dist/sse/subscriptions.controller.d.ts.map +1 -0
  354. package/dist/sse/subscriptions.controller.js +127 -0
  355. package/dist/sse/subscriptions.controller.js.map +1 -0
  356. package/dist/startup/bootstrap.d.ts +13 -2
  357. package/dist/startup/bootstrap.d.ts.map +1 -1
  358. package/dist/startup/bootstrap.js +85 -13
  359. package/dist/startup/bootstrap.js.map +1 -1
  360. package/dist/storage/s3-backend.d.ts.map +1 -1
  361. package/dist/storage/s3-backend.js +3 -3
  362. package/dist/storage/s3-backend.js.map +1 -1
  363. package/dist/websocket/server.d.ts.map +1 -1
  364. package/dist/websocket/server.js +14 -3
  365. package/dist/websocket/server.js.map +1 -1
  366. package/docker/README.md +299 -1
  367. package/package.json +5 -1
  368. package/templates/.env.example +76 -16
  369. package/templates/archlast.config.js +15 -1
  370. package/templates/docker-compose.dev.yml +8 -8
  371. package/templates/docker-compose.prod.yml +29 -12
  372. package/templates/docker-compose.yml +112 -28
@@ -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
- const docTtl = Number(process.env.DOC_CACHE_TTL_MS ?? 600000);
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 queryTtl = Number(process.env.QUERY_CACHE_TTL_MS ?? 300000);
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 aggTtl = Number(process.env.AGG_CACHE_TTL_MS ?? 60000);
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: docTtl, maxSize: docSize }, this.cacheClient);
49
- this.queryCache = new layers_js_1.QueryCache({ ttl: queryTtl, maxSize: querySize }, this.cacheClient);
50
- this.aggregateCache = new layers_js_1.AggregateCache({ ttl: aggTtl, maxSize: aggSize }, this.cacheClient);
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
- // Also update sidecar cache
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").catch(() => {
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
- this.cacheClient.invalidate(keys).catch((err) => {
271
- // Log but don't fail on cache errors
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
- // Map to expected format: { document, query, aggregate }
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
- // Map returned partitions to expected output
304
- query: stats.query || defaultStats,
305
- document: stats.document || defaultStats,
306
- aggregate: stats.aggregate || defaultStats,
307
- // If dashboard expects 'function', we can include it or map it
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<DataModel extends Record<string, Document> = any, Relations extends RelationsMap<DataModel> = RelationsMap<DataModel>> implements IDatabaseClient<DataModel, Relations> {
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>(tableName: TableName, id: string): Promise<DataModel[TableName] | null>;
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>(tableName: TableName): QueryBuilder<DataModel[TableName]>;
39
- findMany<TableName extends keyof DataModel>(tableName: TableName, options?: {
40
- where?: WhereClause<DataModel[TableName]>;
41
- orderBy?: any;
42
- take?: number;
43
- skip?: number;
44
- }): Promise<DataModel[TableName][]>;
45
- findFirst<TableName extends keyof DataModel>(tableName: TableName, options?: {
46
- where?: WhereClause<DataModel[TableName]>;
47
- orderBy?: any;
48
- }): Promise<DataModel[TableName] | null>;
49
- findUnique<TableName extends keyof DataModel>(tableName: TableName, where: WhereClause<DataModel[TableName]>): Promise<DataModel[TableName] | null>;
50
- count<TableName extends keyof DataModel>(tableName: TableName, where?: WhereClause<DataModel[TableName]>): Promise<number>;
51
- loadRelation<TableName extends keyof DataModel, RelationName extends keyof Relations[TableName] & string>(tableName: TableName, record: DataModel[TableName], relationName: RelationName): Promise<Relations[TableName][RelationName]>;
52
- loadRelations<TableName extends keyof DataModel, RelationName extends keyof Relations[TableName] & string>(tableName: TableName, records: DataModel[TableName][], relationName: RelationName): Promise<Map<string, Relations[TableName][RelationName]>>;
53
- insert<TableName extends keyof DataModel>(tableName: TableName, data: Omit<DataModel[TableName], "_id" | "_collection">): Promise<string>;
54
- insertMany<TableName extends keyof DataModel>(tableName: TableName, data: Omit<DataModel[TableName], "_id" | "_collection">[]): Promise<string[]>;
55
- update<TableName extends keyof DataModel>(tableName: TableName, id: string, data: Partial<Omit<DataModel[TableName], "_id" | "_collection">>): Promise<void>;
56
- updateMany<TableName extends keyof DataModel>(tableName: TableName, where: WhereClause<DataModel[TableName]>, data: Partial<Omit<DataModel[TableName], "_id" | "_collection">>): Promise<number>;
57
- patch<TableName extends keyof DataModel>(tableName: TableName, id: string, data: Partial<Omit<DataModel[TableName], "_id" | "_collection">>): Promise<void>;
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>(tableName: TableName, where: WhereClause<DataModel[TableName]>): Promise<number>;
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 = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
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(`${this.masterUrl}/route?collection=${encodeURIComponent(collection)}`);
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 = (await response.json());
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) => this.handleData(connection, Buffer.isBuffer(chunk) ? chunk : Buffer.from(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 (result || []);
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 (result?.[0] || null);
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 (result || null);
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 = (await response.json());
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
@@ -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
- * Database client mode
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, DistributedDatabaseClient };
13
+ export { CachedDatabaseClient, SocketDatabaseClient };
19
14
  //# sourceMappingURL=factory.d.ts.map
@@ -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,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAY,MAAM,iBAAiB,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,CA+BtD;AAED;;GAEG;AACH,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,CAAC"}
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"}
@@ -1,42 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DistributedDatabaseClient = exports.SocketDatabaseClient = exports.CachedDatabaseClient = void 0;
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 based on environment configuration
14
- * Connects to the Document Store (C#) service via TCP (default port 6000)
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);
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/db/factory.ts"],"names":[],"mappings":";;;AAgBA,oDA+BC;AA/CD,uDAAyD;AAqDhD,qGArDA,sCAAoB,OAqDA;AApD7B,oDAA8C;AAE9C,yDAA4E;AAkD7C,qGAlDtB,uCAAoB,OAkDsB;AAjDnD,mEAAoE;AAiDf,0GAjD5C,iDAAyB,OAiD4C;AAzC9E;;;GAGG;AACH,SAAgB,oBAAoB;IAChC,0CAA0C;IAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,MAAM,EAAE,CAAC;QAC/C,kBAAM,CAAC,GAAG,CAAC;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,oDAAoD;SAChE,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,uBAAuB,CAAC;QACpE,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEjF,OAAO,IAAI,iDAAyB,CAAC;YACjC,SAAS;YACT,eAAe;SAClB,CAAC,CAAC;IACP,CAAC;IAED,qDAAqD;IACrD,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,yDAAyD;IACzD,kEAAkE;IAClE,MAAM,MAAM,GAAG,IAAA,mCAAgB,GAAE,CAAC;IAElC,OAAO,IAAI,uCAAoB,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC"}
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]>;