@supalive/core 0.1.4 → 0.1.5

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 (212) hide show
  1. package/README.md +17 -2
  2. package/dist/helper-CiacMqje.d.ts +14 -0
  3. package/dist/helper-CiacMqje.d.ts.map +1 -0
  4. package/dist/helper-zdJT5FUc.js +58 -0
  5. package/dist/helper-zdJT5FUc.js.map +1 -0
  6. package/dist/index-CTyXKcq_.d.ts +1736 -0
  7. package/dist/index-CTyXKcq_.d.ts.map +1 -0
  8. package/dist/mysql-C8SN443m.d.ts +104 -0
  9. package/dist/mysql-C8SN443m.d.ts.map +1 -0
  10. package/dist/mysql-DELSRrpY.js +569 -0
  11. package/dist/mysql-DELSRrpY.js.map +1 -0
  12. package/dist/overlap-checker-CVkbbuEQ.js +187 -0
  13. package/dist/overlap-checker-CVkbbuEQ.js.map +1 -0
  14. package/dist/postgres-DE-XyNAQ.js +823 -0
  15. package/dist/postgres-DE-XyNAQ.js.map +1 -0
  16. package/dist/postgres-D_gwCHx-.d.ts +108 -0
  17. package/dist/postgres-D_gwCHx-.d.ts.map +1 -0
  18. package/dist/query-CbQLjeME.js +713 -0
  19. package/dist/query-CbQLjeME.js.map +1 -0
  20. package/dist/realtime_db-D9p2X2PH.js +246 -0
  21. package/dist/realtime_db-D9p2X2PH.js.map +1 -0
  22. package/dist/router-DlTYWpop.js +81 -0
  23. package/dist/router-DlTYWpop.js.map +1 -0
  24. package/dist/schema-SKcIWHfo.js +167 -0
  25. package/dist/schema-SKcIWHfo.js.map +1 -0
  26. package/dist/src/client/index.d.ts +2 -17
  27. package/dist/src/client/index.js +1151 -18
  28. package/dist/src/client/index.js.map +1 -1
  29. package/dist/src/exports/mysql.d.ts +2 -2
  30. package/dist/src/exports/mysql.js +2 -2
  31. package/dist/src/exports/postgres.d.ts +2 -2
  32. package/dist/src/exports/postgres.js +2 -2
  33. package/dist/src/exports/procedure.d.ts +3 -5
  34. package/dist/src/exports/procedure.js +5 -5
  35. package/dist/src/exports/server.d.ts +368 -2
  36. package/dist/src/exports/server.d.ts.map +1 -1
  37. package/dist/src/exports/server.js +1346 -2
  38. package/dist/src/exports/server.js.map +1 -1
  39. package/dist/src/exports/subscription-manager-worker-entry.d.ts +1 -0
  40. package/dist/src/exports/subscription-manager-worker-entry.js +115 -0
  41. package/dist/src/exports/subscription-manager-worker-entry.js.map +1 -0
  42. package/dist/src/exports/types.d.ts +4 -6
  43. package/dist/src/exports/types.js +5 -6
  44. package/dist/subscription-worker-BurdPO8d.js +511 -0
  45. package/dist/subscription-worker-BurdPO8d.js.map +1 -0
  46. package/dist/types_client_rpc-CIsjQQGG.js +105 -0
  47. package/dist/types_client_rpc-CIsjQQGG.js.map +1 -0
  48. package/dist/types_db-Ctf-ksoy.js +168 -0
  49. package/dist/types_db-Ctf-ksoy.js.map +1 -0
  50. package/dist/types_server-Ch56y8L3.d.ts +216 -0
  51. package/dist/types_server-Ch56y8L3.d.ts.map +1 -0
  52. package/dist/types_server-Dk6o_B7N.js +24 -0
  53. package/dist/types_server-Dk6o_B7N.js.map +1 -0
  54. package/package.json +3 -3
  55. package/dist/src/client/caller_client.d.ts +0 -42
  56. package/dist/src/client/caller_client.d.ts.map +0 -1
  57. package/dist/src/client/caller_client.js +0 -77
  58. package/dist/src/client/caller_client.js.map +0 -1
  59. package/dist/src/client/client.d.ts +0 -149
  60. package/dist/src/client/client.d.ts.map +0 -1
  61. package/dist/src/client/client.js +0 -308
  62. package/dist/src/client/client.js.map +0 -1
  63. package/dist/src/client/index.d.ts.map +0 -1
  64. package/dist/src/client/sub_key.d.ts +0 -20
  65. package/dist/src/client/sub_key.d.ts.map +0 -1
  66. package/dist/src/client/sub_key.js +0 -37
  67. package/dist/src/client/sub_key.js.map +0 -1
  68. package/dist/src/client/ws_client_manager.d.ts +0 -268
  69. package/dist/src/client/ws_client_manager.d.ts.map +0 -1
  70. package/dist/src/client/ws_client_manager.js +0 -1013
  71. package/dist/src/client/ws_client_manager.js.map +0 -1
  72. package/dist/src/config.d.ts +0 -117
  73. package/dist/src/config.d.ts.map +0 -1
  74. package/dist/src/config.js +0 -2
  75. package/dist/src/config.js.map +0 -1
  76. package/dist/src/db/bytes.d.ts +0 -4
  77. package/dist/src/db/bytes.d.ts.map +0 -1
  78. package/dist/src/db/bytes.js +0 -24
  79. package/dist/src/db/bytes.js.map +0 -1
  80. package/dist/src/db/cache.d.ts +0 -30
  81. package/dist/src/db/cache.d.ts.map +0 -1
  82. package/dist/src/db/cache.js +0 -153
  83. package/dist/src/db/cache.js.map +0 -1
  84. package/dist/src/db/codec.d.ts +0 -10
  85. package/dist/src/db/codec.d.ts.map +0 -1
  86. package/dist/src/db/codec.js +0 -73
  87. package/dist/src/db/codec.js.map +0 -1
  88. package/dist/src/db/context.d.ts +0 -28
  89. package/dist/src/db/context.d.ts.map +0 -1
  90. package/dist/src/db/context.js +0 -147
  91. package/dist/src/db/context.js.map +0 -1
  92. package/dist/src/db/db.d.ts +0 -154
  93. package/dist/src/db/db.d.ts.map +0 -1
  94. package/dist/src/db/db.js +0 -23
  95. package/dist/src/db/db.js.map +0 -1
  96. package/dist/src/db/mysql.d.ts +0 -120
  97. package/dist/src/db/mysql.d.ts.map +0 -1
  98. package/dist/src/db/mysql.js +0 -708
  99. package/dist/src/db/mysql.js.map +0 -1
  100. package/dist/src/db/postgres.d.ts +0 -116
  101. package/dist/src/db/postgres.d.ts.map +0 -1
  102. package/dist/src/db/postgres.js +0 -998
  103. package/dist/src/db/postgres.js.map +0 -1
  104. package/dist/src/db/query.d.ts +0 -174
  105. package/dist/src/db/query.d.ts.map +0 -1
  106. package/dist/src/db/query.js +0 -790
  107. package/dist/src/db/query.js.map +0 -1
  108. package/dist/src/db/query_definition.d.ts +0 -54
  109. package/dist/src/db/query_definition.d.ts.map +0 -1
  110. package/dist/src/db/query_definition.js +0 -47
  111. package/dist/src/db/query_definition.js.map +0 -1
  112. package/dist/src/db/realtime_db.d.ts +0 -19
  113. package/dist/src/db/realtime_db.d.ts.map +0 -1
  114. package/dist/src/db/realtime_db.js +0 -98
  115. package/dist/src/db/realtime_db.js.map +0 -1
  116. package/dist/src/db/schema.d.ts +0 -110
  117. package/dist/src/db/schema.d.ts.map +0 -1
  118. package/dist/src/db/schema.js +0 -47
  119. package/dist/src/db/schema.js.map +0 -1
  120. package/dist/src/db/types_client_rpc.d.ts +0 -157
  121. package/dist/src/db/types_client_rpc.d.ts.map +0 -1
  122. package/dist/src/db/types_client_rpc.js +0 -106
  123. package/dist/src/db/types_client_rpc.js.map +0 -1
  124. package/dist/src/db/types_db.d.ts +0 -236
  125. package/dist/src/db/types_db.d.ts.map +0 -1
  126. package/dist/src/db/types_db.js +0 -188
  127. package/dist/src/db/types_db.js.map +0 -1
  128. package/dist/src/exports/mysql.d.ts.map +0 -1
  129. package/dist/src/exports/mysql.js.map +0 -1
  130. package/dist/src/exports/postgres.d.ts.map +0 -1
  131. package/dist/src/exports/postgres.js.map +0 -1
  132. package/dist/src/exports/procedure.d.ts.map +0 -1
  133. package/dist/src/exports/procedure.js.map +0 -1
  134. package/dist/src/exports/types.d.ts.map +0 -1
  135. package/dist/src/exports/types.js.map +0 -1
  136. package/dist/src/helper.d.ts +0 -11
  137. package/dist/src/helper.d.ts.map +0 -1
  138. package/dist/src/helper.js +0 -45
  139. package/dist/src/helper.js.map +0 -1
  140. package/dist/src/logger.d.ts +0 -7
  141. package/dist/src/logger.d.ts.map +0 -1
  142. package/dist/src/logger.js +0 -47
  143. package/dist/src/logger.js.map +0 -1
  144. package/dist/src/router/index.d.ts +0 -4
  145. package/dist/src/router/index.d.ts.map +0 -1
  146. package/dist/src/router/index.js +0 -4
  147. package/dist/src/router/index.js.map +0 -1
  148. package/dist/src/router/procedure.d.ts +0 -204
  149. package/dist/src/router/procedure.d.ts.map +0 -1
  150. package/dist/src/router/procedure.js +0 -122
  151. package/dist/src/router/procedure.js.map +0 -1
  152. package/dist/src/router/router.d.ts +0 -88
  153. package/dist/src/router/router.d.ts.map +0 -1
  154. package/dist/src/router/router.js +0 -88
  155. package/dist/src/router/router.js.map +0 -1
  156. package/dist/src/server/hash.d.ts +0 -12
  157. package/dist/src/server/hash.d.ts.map +0 -1
  158. package/dist/src/server/hash.js +0 -20
  159. package/dist/src/server/hash.js.map +0 -1
  160. package/dist/src/server/hash.test.d.ts +0 -2
  161. package/dist/src/server/hash.test.d.ts.map +0 -1
  162. package/dist/src/server/hash.test.js +0 -43
  163. package/dist/src/server/hash.test.js.map +0 -1
  164. package/dist/src/server/index.d.ts +0 -9
  165. package/dist/src/server/index.d.ts.map +0 -1
  166. package/dist/src/server/index.js +0 -8
  167. package/dist/src/server/index.js.map +0 -1
  168. package/dist/src/server/overlap-checker.d.ts +0 -18
  169. package/dist/src/server/overlap-checker.d.ts.map +0 -1
  170. package/dist/src/server/overlap-checker.js +0 -247
  171. package/dist/src/server/overlap-checker.js.map +0 -1
  172. package/dist/src/server/sub_hash.d.ts +0 -23
  173. package/dist/src/server/sub_hash.d.ts.map +0 -1
  174. package/dist/src/server/sub_hash.js +0 -38
  175. package/dist/src/server/sub_hash.js.map +0 -1
  176. package/dist/src/server/subscription-manager-client.d.ts +0 -120
  177. package/dist/src/server/subscription-manager-client.d.ts.map +0 -1
  178. package/dist/src/server/subscription-manager-client.js +0 -207
  179. package/dist/src/server/subscription-manager-client.js.map +0 -1
  180. package/dist/src/server/subscription-manager-types.d.ts +0 -168
  181. package/dist/src/server/subscription-manager-types.d.ts.map +0 -1
  182. package/dist/src/server/subscription-manager-types.js +0 -94
  183. package/dist/src/server/subscription-manager-types.js.map +0 -1
  184. package/dist/src/server/subscription-manager-worker-entry.d.ts +0 -2
  185. package/dist/src/server/subscription-manager-worker-entry.d.ts.map +0 -1
  186. package/dist/src/server/subscription-manager-worker-entry.js +0 -127
  187. package/dist/src/server/subscription-manager-worker-entry.js.map +0 -1
  188. package/dist/src/server/subscription-manager-worker-protocol.d.ts +0 -40
  189. package/dist/src/server/subscription-manager-worker-protocol.d.ts.map +0 -1
  190. package/dist/src/server/subscription-manager-worker-protocol.js +0 -20
  191. package/dist/src/server/subscription-manager-worker-protocol.js.map +0 -1
  192. package/dist/src/server/subscription-manager.d.ts +0 -32
  193. package/dist/src/server/subscription-manager.d.ts.map +0 -1
  194. package/dist/src/server/subscription-manager.js +0 -249
  195. package/dist/src/server/subscription-manager.js.map +0 -1
  196. package/dist/src/server/subscription-manager.test.d.ts +0 -2
  197. package/dist/src/server/subscription-manager.test.d.ts.map +0 -1
  198. package/dist/src/server/subscription-manager.test.js +0 -610
  199. package/dist/src/server/subscription-manager.test.js.map +0 -1
  200. package/dist/src/server/subscription-worker.d.ts +0 -32
  201. package/dist/src/server/subscription-worker.d.ts.map +0 -1
  202. package/dist/src/server/subscription-worker.js +0 -190
  203. package/dist/src/server/subscription-worker.js.map +0 -1
  204. package/dist/src/server/supalive-server.d.ts +0 -158
  205. package/dist/src/server/supalive-server.d.ts.map +0 -1
  206. package/dist/src/server/supalive-server.js +0 -1048
  207. package/dist/src/server/supalive-server.js.map +0 -1
  208. package/dist/src/server/types_server.d.ts +0 -96
  209. package/dist/src/server/types_server.d.ts.map +0 -1
  210. package/dist/src/server/types_server.js +0 -36
  211. package/dist/src/server/types_server.js.map +0 -1
  212. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,249 +0,0 @@
1
- import { Server as WebSocketServer } from "rpc-websockets";
2
- import { Worker } from "node:worker_threads";
3
- import { fileURLToPath } from "node:url";
4
- import { fnv1a32 } from "./hash";
5
- import { subscriptionManagerDataPack } from "./subscription-manager-client";
6
- import { logger as baseLogger, logLevelOf } from "../logger";
7
- import { groupByToMap } from "../helper";
8
- import { MsgType, } from "./subscription-manager-worker-protocol";
9
- // Re-export SubscriptionWorker so existing test imports
10
- // (`import { SubscriptionWorker } from "./subscription-manager"`) keep working.
11
- export { SubscriptionWorker } from "./subscription-worker";
12
- const logger = baseLogger.child({ name: "SUBS_MGR" }, { level: logLevelOf("SUBS_MANAGER_SERVER_LOG_LEVEL") });
13
- // Resolve the entry script next to this compiled file. `import.meta.url` works
14
- // for both Bun (running TS source) and Node (running emitted JS) — we just
15
- // swap the extension based on the current module's path.
16
- function resolveWorkerEntry() {
17
- const here = new URL(import.meta.url);
18
- const isTs = here.pathname.endsWith(".ts");
19
- const ext = isTs ? ".ts" : ".js";
20
- return {
21
- url: new URL(`./subscription-manager-worker-entry${ext}`, import.meta.url),
22
- isTs,
23
- };
24
- }
25
- // When the entry is a `.ts` file and we're running on Node (not Bun), the
26
- // worker thread inherits no module loader — Node can strip types but its bare
27
- // ESM resolver requires explicit file extensions, which our extensionless
28
- // internal imports don't satisfy. Register tsx as the worker loader so it
29
- // resolves the same way the parent module does.
30
- function workerExecArgv(isTs) {
31
- if (!isTs)
32
- return undefined;
33
- if (typeof globalThis.Bun !== "undefined")
34
- return undefined;
35
- return ["--import", "tsx"];
36
- }
37
- class SubscriptionWorkerHandle {
38
- id;
39
- worker;
40
- pending = new Map();
41
- nextReqId = 1;
42
- readyPromise;
43
- constructor(id, init) {
44
- this.id = id;
45
- const entry = resolveWorkerEntry();
46
- this.worker = new Worker(fileURLToPath(entry.url), {
47
- execArgv: workerExecArgv(entry.isTs),
48
- });
49
- this.worker.on("message", (res) => {
50
- const pending = this.pending.get(res.reqId);
51
- if (!pending)
52
- return;
53
- this.pending.delete(res.reqId);
54
- if (res.ok) {
55
- pending.resolve(res.result);
56
- }
57
- else {
58
- const err = new Error(res.error.message);
59
- if (res.error.stack)
60
- err.stack = res.error.stack;
61
- pending.reject(err);
62
- }
63
- });
64
- this.worker.on("error", (err) => {
65
- logger.error(err, `[worker ${this.id}] worker thread errored`);
66
- const e = err instanceof Error ? err : new Error(String(err));
67
- for (const [, p] of this.pending)
68
- p.reject(e);
69
- this.pending.clear();
70
- });
71
- this.readyPromise = this.send(MsgType.Init, init).then(() => { });
72
- }
73
- ready() {
74
- return this.readyPromise;
75
- }
76
- send(type, payload) {
77
- const reqId = this.nextReqId++;
78
- return new Promise((resolve, reject) => {
79
- this.pending.set(reqId, {
80
- resolve: resolve,
81
- reject,
82
- });
83
- const req = { type, reqId, payload };
84
- this.worker.postMessage(req);
85
- });
86
- }
87
- async shutdown() {
88
- try {
89
- await this.send(MsgType.Shutdown, null);
90
- }
91
- catch (_) { /* ignore */ }
92
- await this.worker.terminate();
93
- }
94
- }
95
- // ─── Dispatcher ──────────────────────────────────────────────────────────────
96
- /**
97
- * One process per deployment. Routes each subscription operation to one of N
98
- * worker threads by hashing subId. Worker threads run in parallel on separate
99
- * CPU cores; this dispatcher does no Zod parsing — it reads `subId` directly
100
- * from the decoded payload (the internal channel is trusted) and forwards the
101
- * raw payload. The worker validates and parses with Zod before executing.
102
- */
103
- export class SubscriptionManager {
104
- wss;
105
- port;
106
- workers;
107
- pruneInterval = null;
108
- static PRUNE_INTERVAL_MS = 30 * 60 * 1000;
109
- constructor(config) {
110
- this.port = config.port;
111
- this.wss = new WebSocketServer({ port: this.port }, subscriptionManagerDataPack);
112
- this.wss.dataPack = subscriptionManagerDataPack;
113
- const numWorkers = resolveWorkerCount(config.workers);
114
- const maxConnectionsPerWorker = resolveMaxConnectionsPerWorker(config, numWorkers);
115
- logger.info(`Spawning ${numWorkers} subscription worker${numWorkers === 1 ? "" : "s"}`);
116
- this.workers = Array.from({ length: numWorkers }, (_, i) => new SubscriptionWorkerHandle(i + 1, {
117
- workerId: i + 1,
118
- database: config.database,
119
- upstash: config.upstash,
120
- cacheTTLSeconds: config.cacheTTLSeconds,
121
- maxConnectionsPerWorker,
122
- }));
123
- this.registerMethods();
124
- }
125
- async start() {
126
- await Promise.all(this.workers.map((w) => w.ready()));
127
- logger.info(`Listening on port ${this.port}`);
128
- this.pruneInterval = setInterval(() => { this.pruneCommitLogs().catch((err) => logger.error(err, "commit_logs prune failed")); }, SubscriptionManager.PRUNE_INTERVAL_MS);
129
- if (this.pruneInterval && typeof this.pruneInterval.unref === "function") {
130
- this.pruneInterval.unref();
131
- }
132
- }
133
- async stop() {
134
- if (this.pruneInterval) {
135
- clearInterval(this.pruneInterval);
136
- this.pruneInterval = null;
137
- }
138
- this.wss.close();
139
- await Promise.all(this.workers.map((w) => w.shutdown()));
140
- logger.info("Stopped");
141
- }
142
- async pruneCommitLogs() {
143
- const minPerWorker = await Promise.all(this.workers.map((w) => w.send(MsgType.MinSubscriptionTs, null)));
144
- let floor = null;
145
- for (const m of minPerWorker) {
146
- if (m === null)
147
- continue;
148
- if (floor === null || m < floor)
149
- floor = m;
150
- }
151
- if (floor === null) {
152
- const latest = await this.workers[0].send(MsgType.LatestSnapshotTs, null);
153
- if (latest <= 0n)
154
- return;
155
- floor = latest;
156
- }
157
- const deleted = await this.workers[0].send(MsgType.Prune, floor);
158
- if (deleted > 0n) {
159
- logger.info(`pruned ${deleted} commit_logs older than ts=${floor}`);
160
- }
161
- }
162
- workerCount() {
163
- return this.workers.length;
164
- }
165
- workerIndexFor(subId) {
166
- return fnv1a32(subId) % this.workers.length;
167
- }
168
- workerFor(subId) {
169
- return this.workers[this.workerIndexFor(subId)];
170
- }
171
- registerMethods() {
172
- this.wss.register("registerSubscription", this.registerSubscription.bind(this));
173
- this.wss.register("registerSubscriptionBatch", this.registerSubscriptionBatch.bind(this));
174
- this.wss.register("updateSubscriptionReadSet", this.updateSubscriptionReadSet.bind(this));
175
- this.wss.register("invalidateWriteset", this.invalidateWriteset.bind(this));
176
- this.wss.register("unregisterSubscription", this.unregisterSubscription.bind(this));
177
- this.wss.register("unregisterSubscriptions", this.unregisterSubscriptions.bind(this));
178
- }
179
- readSubId(params) {
180
- return params.subId;
181
- }
182
- async registerSubscription(params) {
183
- const subId = this.readSubId(params);
184
- return this.workerFor(subId).send(MsgType.Register, params);
185
- }
186
- async registerSubscriptionBatch(params) {
187
- // Group entries by destination worker, dispatch one batch per worker, then
188
- // restore the original order.
189
- const arr = params;
190
- const tagged = arr.map((p, index) => ({ index, p, worker: this.workerFor(p.subId) }));
191
- const byWorker = groupByToMap(tagged, (t) => t.worker);
192
- const settled = await Promise.all([...byWorker.entries()].map(async ([worker, items]) => {
193
- const results = await worker.send(MsgType.RegisterBatch, items.map((t) => t.p));
194
- return items.map((t, i) => ({ index: t.index, result: results[i] }));
195
- }));
196
- const result = new Array(arr.length);
197
- for (const { index, result: r } of settled.flat()) {
198
- result[index] = r;
199
- }
200
- return result;
201
- }
202
- async updateSubscriptionReadSet(params) {
203
- const subId = this.readSubId(params);
204
- return this.workerFor(subId).send(MsgType.UpdateReadSet, params);
205
- }
206
- async unregisterSubscription(params) {
207
- const subId = this.readSubId(params);
208
- return this.workerFor(subId).send(MsgType.Unregister, params);
209
- }
210
- async unregisterSubscriptions(params) {
211
- const arr = params;
212
- const tagged = arr.map((p, index) => ({ index, p, worker: this.workerFor(p.subId) }));
213
- const byWorker = groupByToMap(tagged, (t) => t.worker);
214
- const settled = await Promise.all([...byWorker.entries()].map(async ([worker, items]) => {
215
- const results = await worker.send(MsgType.Unregisters, items.map((t) => t.p));
216
- return items.map((t, i) => ({ index: t.index, result: results[i] }));
217
- }));
218
- const result = new Array(arr.length);
219
- for (const { index, result: r } of settled.flat()) {
220
- result[index] = r;
221
- }
222
- return result;
223
- }
224
- async invalidateWriteset(params) {
225
- // Fan the raw payload out to every worker. Each parses its own copy of the
226
- // writeSet (cheap relative to the scan) and returns its affected subs.
227
- const perWorker = await Promise.all(this.workers.map((w) => w.send(MsgType.Invalidate, params)));
228
- return { affected: perWorker.flat() };
229
- }
230
- }
231
- function resolveWorkerCount(configured) {
232
- if (typeof configured === "number" && configured > 0)
233
- return Math.floor(configured);
234
- const envVal = process.env.SUPALIVE_SUB_MANAGER_WORKERS;
235
- if (envVal) {
236
- const n = parseInt(envVal, 10);
237
- if (Number.isFinite(n) && n > 0)
238
- return n;
239
- }
240
- return 1;
241
- }
242
- function resolveMaxConnectionsPerWorker(config, workers) {
243
- if (config.maxConnectionsPerWorker && config.maxConnectionsPerWorker > 0) {
244
- return Math.floor(config.maxConnectionsPerWorker);
245
- }
246
- const total = config.database.maxConnections ?? (config.database.type === "mysql" ? 20 : 10);
247
- return Math.max(1, Math.floor(total / workers));
248
- }
249
- //# sourceMappingURL=subscription-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscription-manager.js","sourceRoot":"","sources":["../../../src/server/subscription-manager.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=subscription-manager.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscription-manager.test.d.ts","sourceRoot":"","sources":["../../../src/server/subscription-manager.test.ts"],"names":[],"mappings":""}