@supalive/core 0.1.4 → 0.1.6

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 (222) hide show
  1. package/README.md +17 -2
  2. package/dist/bytes-AuEkyxeU.js +19 -0
  3. package/dist/bytes-AuEkyxeU.js.map +1 -0
  4. package/dist/codec-BHAmGEIQ.js +62 -0
  5. package/dist/codec-BHAmGEIQ.js.map +1 -0
  6. package/dist/helper-CiacMqje.d.ts +14 -0
  7. package/dist/helper-CiacMqje.d.ts.map +1 -0
  8. package/dist/helper-wGbzz6zo.js +42 -0
  9. package/dist/helper-wGbzz6zo.js.map +1 -0
  10. package/dist/index-CaWMDqq0.d.ts +1754 -0
  11. package/dist/index-CaWMDqq0.d.ts.map +1 -0
  12. package/dist/mysql-Cxd4Uq5p.d.ts +104 -0
  13. package/dist/mysql-Cxd4Uq5p.d.ts.map +1 -0
  14. package/dist/mysql-bvnjYWvZ.js +570 -0
  15. package/dist/mysql-bvnjYWvZ.js.map +1 -0
  16. package/dist/overlap-checker-Ct_HP_iB.js +187 -0
  17. package/dist/overlap-checker-Ct_HP_iB.js.map +1 -0
  18. package/dist/postgres-B8u1YN8X.js +824 -0
  19. package/dist/postgres-B8u1YN8X.js.map +1 -0
  20. package/dist/postgres-Ck-xt72U.d.ts +108 -0
  21. package/dist/postgres-Ck-xt72U.d.ts.map +1 -0
  22. package/dist/procedure-DX87tyef.js +124 -0
  23. package/dist/procedure-DX87tyef.js.map +1 -0
  24. package/dist/query-Bh0RNxDz.js +673 -0
  25. package/dist/query-Bh0RNxDz.js.map +1 -0
  26. package/dist/realtime_db-DOCgqbwi.js +247 -0
  27. package/dist/realtime_db-DOCgqbwi.js.map +1 -0
  28. package/dist/router-DlTYWpop.js +81 -0
  29. package/dist/router-DlTYWpop.js.map +1 -0
  30. package/dist/schema-Dd7u0A1L.js +109 -0
  31. package/dist/schema-Dd7u0A1L.js.map +1 -0
  32. package/dist/src/client/index.d.ts +2 -17
  33. package/dist/src/client/index.js +1152 -18
  34. package/dist/src/client/index.js.map +1 -1
  35. package/dist/src/exports/mysql.d.ts +2 -2
  36. package/dist/src/exports/mysql.js +2 -2
  37. package/dist/src/exports/postgres.d.ts +2 -2
  38. package/dist/src/exports/postgres.js +2 -2
  39. package/dist/src/exports/procedure.d.ts +3 -5
  40. package/dist/src/exports/procedure.js +6 -5
  41. package/dist/src/exports/schema-sql.d.ts +18 -0
  42. package/dist/src/exports/schema-sql.d.ts.map +1 -0
  43. package/dist/src/exports/schema-sql.js +161 -0
  44. package/dist/src/exports/schema-sql.js.map +1 -0
  45. package/dist/src/exports/server.d.ts +368 -2
  46. package/dist/src/exports/server.d.ts.map +1 -1
  47. package/dist/src/exports/server.js +1346 -2
  48. package/dist/src/exports/server.js.map +1 -1
  49. package/dist/src/exports/subscription-manager-worker-entry.d.ts +1 -0
  50. package/dist/src/exports/subscription-manager-worker-entry.js +115 -0
  51. package/dist/src/exports/subscription-manager-worker-entry.js.map +1 -0
  52. package/dist/src/exports/types.d.ts +4 -6
  53. package/dist/src/exports/types.js +5 -6
  54. package/dist/subscription-worker-pahX0zxg.js +511 -0
  55. package/dist/subscription-worker-pahX0zxg.js.map +1 -0
  56. package/dist/types_client_rpc-CIsjQQGG.js +105 -0
  57. package/dist/types_client_rpc-CIsjQQGG.js.map +1 -0
  58. package/dist/types_db-DXj_l9n-.js +168 -0
  59. package/dist/types_db-DXj_l9n-.js.map +1 -0
  60. package/dist/types_server-Dk6o_B7N.js +24 -0
  61. package/dist/types_server-Dk6o_B7N.js.map +1 -0
  62. package/dist/types_server-TFo6SWDH.d.ts +216 -0
  63. package/dist/types_server-TFo6SWDH.d.ts.map +1 -0
  64. package/package.json +7 -3
  65. package/dist/src/client/caller_client.d.ts +0 -42
  66. package/dist/src/client/caller_client.d.ts.map +0 -1
  67. package/dist/src/client/caller_client.js +0 -77
  68. package/dist/src/client/caller_client.js.map +0 -1
  69. package/dist/src/client/client.d.ts +0 -149
  70. package/dist/src/client/client.d.ts.map +0 -1
  71. package/dist/src/client/client.js +0 -308
  72. package/dist/src/client/client.js.map +0 -1
  73. package/dist/src/client/index.d.ts.map +0 -1
  74. package/dist/src/client/sub_key.d.ts +0 -20
  75. package/dist/src/client/sub_key.d.ts.map +0 -1
  76. package/dist/src/client/sub_key.js +0 -37
  77. package/dist/src/client/sub_key.js.map +0 -1
  78. package/dist/src/client/ws_client_manager.d.ts +0 -268
  79. package/dist/src/client/ws_client_manager.d.ts.map +0 -1
  80. package/dist/src/client/ws_client_manager.js +0 -1013
  81. package/dist/src/client/ws_client_manager.js.map +0 -1
  82. package/dist/src/config.d.ts +0 -117
  83. package/dist/src/config.d.ts.map +0 -1
  84. package/dist/src/config.js +0 -2
  85. package/dist/src/config.js.map +0 -1
  86. package/dist/src/db/bytes.d.ts +0 -4
  87. package/dist/src/db/bytes.d.ts.map +0 -1
  88. package/dist/src/db/bytes.js +0 -24
  89. package/dist/src/db/bytes.js.map +0 -1
  90. package/dist/src/db/cache.d.ts +0 -30
  91. package/dist/src/db/cache.d.ts.map +0 -1
  92. package/dist/src/db/cache.js +0 -153
  93. package/dist/src/db/cache.js.map +0 -1
  94. package/dist/src/db/codec.d.ts +0 -10
  95. package/dist/src/db/codec.d.ts.map +0 -1
  96. package/dist/src/db/codec.js +0 -73
  97. package/dist/src/db/codec.js.map +0 -1
  98. package/dist/src/db/context.d.ts +0 -28
  99. package/dist/src/db/context.d.ts.map +0 -1
  100. package/dist/src/db/context.js +0 -147
  101. package/dist/src/db/context.js.map +0 -1
  102. package/dist/src/db/db.d.ts +0 -154
  103. package/dist/src/db/db.d.ts.map +0 -1
  104. package/dist/src/db/db.js +0 -23
  105. package/dist/src/db/db.js.map +0 -1
  106. package/dist/src/db/mysql.d.ts +0 -120
  107. package/dist/src/db/mysql.d.ts.map +0 -1
  108. package/dist/src/db/mysql.js +0 -708
  109. package/dist/src/db/mysql.js.map +0 -1
  110. package/dist/src/db/postgres.d.ts +0 -116
  111. package/dist/src/db/postgres.d.ts.map +0 -1
  112. package/dist/src/db/postgres.js +0 -998
  113. package/dist/src/db/postgres.js.map +0 -1
  114. package/dist/src/db/query.d.ts +0 -174
  115. package/dist/src/db/query.d.ts.map +0 -1
  116. package/dist/src/db/query.js +0 -790
  117. package/dist/src/db/query.js.map +0 -1
  118. package/dist/src/db/query_definition.d.ts +0 -54
  119. package/dist/src/db/query_definition.d.ts.map +0 -1
  120. package/dist/src/db/query_definition.js +0 -47
  121. package/dist/src/db/query_definition.js.map +0 -1
  122. package/dist/src/db/realtime_db.d.ts +0 -19
  123. package/dist/src/db/realtime_db.d.ts.map +0 -1
  124. package/dist/src/db/realtime_db.js +0 -98
  125. package/dist/src/db/realtime_db.js.map +0 -1
  126. package/dist/src/db/schema.d.ts +0 -110
  127. package/dist/src/db/schema.d.ts.map +0 -1
  128. package/dist/src/db/schema.js +0 -47
  129. package/dist/src/db/schema.js.map +0 -1
  130. package/dist/src/db/types_client_rpc.d.ts +0 -157
  131. package/dist/src/db/types_client_rpc.d.ts.map +0 -1
  132. package/dist/src/db/types_client_rpc.js +0 -106
  133. package/dist/src/db/types_client_rpc.js.map +0 -1
  134. package/dist/src/db/types_db.d.ts +0 -236
  135. package/dist/src/db/types_db.d.ts.map +0 -1
  136. package/dist/src/db/types_db.js +0 -188
  137. package/dist/src/db/types_db.js.map +0 -1
  138. package/dist/src/exports/mysql.d.ts.map +0 -1
  139. package/dist/src/exports/mysql.js.map +0 -1
  140. package/dist/src/exports/postgres.d.ts.map +0 -1
  141. package/dist/src/exports/postgres.js.map +0 -1
  142. package/dist/src/exports/procedure.d.ts.map +0 -1
  143. package/dist/src/exports/procedure.js.map +0 -1
  144. package/dist/src/exports/types.d.ts.map +0 -1
  145. package/dist/src/exports/types.js.map +0 -1
  146. package/dist/src/helper.d.ts +0 -11
  147. package/dist/src/helper.d.ts.map +0 -1
  148. package/dist/src/helper.js +0 -45
  149. package/dist/src/helper.js.map +0 -1
  150. package/dist/src/logger.d.ts +0 -7
  151. package/dist/src/logger.d.ts.map +0 -1
  152. package/dist/src/logger.js +0 -47
  153. package/dist/src/logger.js.map +0 -1
  154. package/dist/src/router/index.d.ts +0 -4
  155. package/dist/src/router/index.d.ts.map +0 -1
  156. package/dist/src/router/index.js +0 -4
  157. package/dist/src/router/index.js.map +0 -1
  158. package/dist/src/router/procedure.d.ts +0 -204
  159. package/dist/src/router/procedure.d.ts.map +0 -1
  160. package/dist/src/router/procedure.js +0 -122
  161. package/dist/src/router/procedure.js.map +0 -1
  162. package/dist/src/router/router.d.ts +0 -88
  163. package/dist/src/router/router.d.ts.map +0 -1
  164. package/dist/src/router/router.js +0 -88
  165. package/dist/src/router/router.js.map +0 -1
  166. package/dist/src/server/hash.d.ts +0 -12
  167. package/dist/src/server/hash.d.ts.map +0 -1
  168. package/dist/src/server/hash.js +0 -20
  169. package/dist/src/server/hash.js.map +0 -1
  170. package/dist/src/server/hash.test.d.ts +0 -2
  171. package/dist/src/server/hash.test.d.ts.map +0 -1
  172. package/dist/src/server/hash.test.js +0 -43
  173. package/dist/src/server/hash.test.js.map +0 -1
  174. package/dist/src/server/index.d.ts +0 -9
  175. package/dist/src/server/index.d.ts.map +0 -1
  176. package/dist/src/server/index.js +0 -8
  177. package/dist/src/server/index.js.map +0 -1
  178. package/dist/src/server/overlap-checker.d.ts +0 -18
  179. package/dist/src/server/overlap-checker.d.ts.map +0 -1
  180. package/dist/src/server/overlap-checker.js +0 -247
  181. package/dist/src/server/overlap-checker.js.map +0 -1
  182. package/dist/src/server/sub_hash.d.ts +0 -23
  183. package/dist/src/server/sub_hash.d.ts.map +0 -1
  184. package/dist/src/server/sub_hash.js +0 -38
  185. package/dist/src/server/sub_hash.js.map +0 -1
  186. package/dist/src/server/subscription-manager-client.d.ts +0 -120
  187. package/dist/src/server/subscription-manager-client.d.ts.map +0 -1
  188. package/dist/src/server/subscription-manager-client.js +0 -207
  189. package/dist/src/server/subscription-manager-client.js.map +0 -1
  190. package/dist/src/server/subscription-manager-types.d.ts +0 -168
  191. package/dist/src/server/subscription-manager-types.d.ts.map +0 -1
  192. package/dist/src/server/subscription-manager-types.js +0 -94
  193. package/dist/src/server/subscription-manager-types.js.map +0 -1
  194. package/dist/src/server/subscription-manager-worker-entry.d.ts +0 -2
  195. package/dist/src/server/subscription-manager-worker-entry.d.ts.map +0 -1
  196. package/dist/src/server/subscription-manager-worker-entry.js +0 -127
  197. package/dist/src/server/subscription-manager-worker-entry.js.map +0 -1
  198. package/dist/src/server/subscription-manager-worker-protocol.d.ts +0 -40
  199. package/dist/src/server/subscription-manager-worker-protocol.d.ts.map +0 -1
  200. package/dist/src/server/subscription-manager-worker-protocol.js +0 -20
  201. package/dist/src/server/subscription-manager-worker-protocol.js.map +0 -1
  202. package/dist/src/server/subscription-manager.d.ts +0 -32
  203. package/dist/src/server/subscription-manager.d.ts.map +0 -1
  204. package/dist/src/server/subscription-manager.js +0 -249
  205. package/dist/src/server/subscription-manager.js.map +0 -1
  206. package/dist/src/server/subscription-manager.test.d.ts +0 -2
  207. package/dist/src/server/subscription-manager.test.d.ts.map +0 -1
  208. package/dist/src/server/subscription-manager.test.js +0 -610
  209. package/dist/src/server/subscription-manager.test.js.map +0 -1
  210. package/dist/src/server/subscription-worker.d.ts +0 -32
  211. package/dist/src/server/subscription-worker.d.ts.map +0 -1
  212. package/dist/src/server/subscription-worker.js +0 -190
  213. package/dist/src/server/subscription-worker.js.map +0 -1
  214. package/dist/src/server/supalive-server.d.ts +0 -158
  215. package/dist/src/server/supalive-server.d.ts.map +0 -1
  216. package/dist/src/server/supalive-server.js +0 -1048
  217. package/dist/src/server/supalive-server.js.map +0 -1
  218. package/dist/src/server/types_server.d.ts +0 -96
  219. package/dist/src/server/types_server.d.ts.map +0 -1
  220. package/dist/src/server/types_server.js +0 -36
  221. package/dist/src/server/types_server.js.map +0 -1
  222. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscription-manager-client.js","sourceRoot":"","sources":["../../../src/server/subscription-manager-client.ts"],"names":[],"mappings":"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"}
@@ -1,168 +0,0 @@
1
- import z from "zod";
2
- import { RawReadEntry, ReadEntry } from "../db/types_db";
3
- export declare const RegisterSubscriptionParamsSchema: z.ZodObject<{
4
- subId: z.ZodString;
5
- cacheKey: z.ZodString;
6
- queryName: z.ZodString;
7
- args: z.ZodUnknown;
8
- queryIdentity: z.ZodString;
9
- instanceName: z.ZodString;
10
- lastSnapshotTs: z.ZodPipe<z.ZodString, z.ZodTransform<bigint, string>>;
11
- }, z.core.$strip>;
12
- export type RegisterSubscriptionParams = z.infer<typeof RegisterSubscriptionParamsSchema>;
13
- export declare const RegisterSubscriptionResultSchema: z.ZodObject<{
14
- cacheKey: z.ZodString;
15
- recompute: z.ZodBoolean;
16
- readSet: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
17
- kind: z.ZodLiteral<"point">;
18
- table: z.ZodString;
19
- id: z.ZodString;
20
- tableId: z.ZodPipe<z.ZodAny, z.ZodTransform<Uint8Array<ArrayBufferLike>, any>>;
21
- expectedCommitTs: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<bigint, string>>>>;
22
- }, z.core.$strip>, z.ZodObject<{
23
- kind: z.ZodLiteral<"range">;
24
- table: z.ZodString;
25
- tableId: z.ZodPipe<z.ZodAny, z.ZodTransform<Uint8Array<ArrayBufferLike>, any>>;
26
- predicate: z.ZodType<import("../client").Predicate, unknown, z.core.$ZodTypeInternals<import("../client").Predicate, unknown>>;
27
- columns: z.ZodArray<z.ZodString>;
28
- orderBy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
29
- limit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
30
- offset: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
31
- }, z.core.$strip>]>>;
32
- }, z.core.$strip>;
33
- export type RegisterSubscriptionResult = z.infer<typeof RegisterSubscriptionResultSchema>;
34
- export declare const RegisterSubscriptionBatchParamsSchema: z.ZodArray<z.ZodObject<{
35
- subId: z.ZodString;
36
- cacheKey: z.ZodString;
37
- queryName: z.ZodString;
38
- args: z.ZodUnknown;
39
- queryIdentity: z.ZodString;
40
- instanceName: z.ZodString;
41
- lastSnapshotTs: z.ZodPipe<z.ZodString, z.ZodTransform<bigint, string>>;
42
- }, z.core.$strip>>;
43
- export type RegisterSubscriptionBatchParams = z.infer<typeof RegisterSubscriptionBatchParamsSchema>;
44
- export declare const RegisterSubscriptionBatchResultSchema: z.ZodArray<z.ZodObject<{
45
- cacheKey: z.ZodString;
46
- recompute: z.ZodBoolean;
47
- readSet: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
48
- kind: z.ZodLiteral<"point">;
49
- table: z.ZodString;
50
- id: z.ZodString;
51
- tableId: z.ZodPipe<z.ZodAny, z.ZodTransform<Uint8Array<ArrayBufferLike>, any>>;
52
- expectedCommitTs: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<bigint, string>>>>;
53
- }, z.core.$strip>, z.ZodObject<{
54
- kind: z.ZodLiteral<"range">;
55
- table: z.ZodString;
56
- tableId: z.ZodPipe<z.ZodAny, z.ZodTransform<Uint8Array<ArrayBufferLike>, any>>;
57
- predicate: z.ZodType<import("../client").Predicate, unknown, z.core.$ZodTypeInternals<import("../client").Predicate, unknown>>;
58
- columns: z.ZodArray<z.ZodString>;
59
- orderBy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
60
- limit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
61
- offset: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
62
- }, z.core.$strip>]>>;
63
- }, z.core.$strip>>;
64
- export type RegisterSubscriptionBatchResult = z.infer<typeof RegisterSubscriptionBatchResultSchema>;
65
- export declare const UpdateSubscriptionReadSetParamsSchema: z.ZodObject<{
66
- cacheKey: z.ZodString;
67
- subId: z.ZodString;
68
- instanceName: z.ZodString;
69
- lastSnapshotTs: z.ZodPipe<z.ZodString, z.ZodTransform<bigint, string>>;
70
- readSet: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
71
- kind: z.ZodLiteral<"point">;
72
- table: z.ZodString;
73
- id: z.ZodString;
74
- tableId: z.ZodPipe<z.ZodAny, z.ZodTransform<Uint8Array<ArrayBufferLike>, any>>;
75
- expectedCommitTs: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<bigint, string>>>>;
76
- }, z.core.$strip>, z.ZodObject<{
77
- kind: z.ZodLiteral<"range">;
78
- table: z.ZodString;
79
- tableId: z.ZodPipe<z.ZodAny, z.ZodTransform<Uint8Array<ArrayBufferLike>, any>>;
80
- predicate: z.ZodType<import("../client").Predicate, unknown, z.core.$ZodTypeInternals<import("../client").Predicate, unknown>>;
81
- columns: z.ZodArray<z.ZodString>;
82
- orderBy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
83
- limit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
84
- offset: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
85
- }, z.core.$strip>]>>;
86
- }, z.core.$strip>;
87
- export type UpdateSubscriptionReadSetParams = z.infer<typeof UpdateSubscriptionReadSetParamsSchema>;
88
- /**
89
- * `tracked: false` means the sub-manager has no record of this subId (e.g.
90
- * a restart wiped state and the caller hasn't re-registered yet). The app
91
- * server should treat this as a signal to register the sub before retrying.
92
- */
93
- export declare const UpdateSubscriptionReadSetResultSchema: z.ZodObject<{
94
- tracked: z.ZodBoolean;
95
- }, z.core.$strip>;
96
- export type UpdateSubscriptionReadSetResult = z.infer<typeof UpdateSubscriptionReadSetResultSchema>;
97
- export declare const UnregisterSubscriptionParamsSchema: z.ZodObject<{
98
- subId: z.ZodString;
99
- instanceName: z.ZodString;
100
- }, z.core.$strip>;
101
- export type UnregisterSubscriptionParams = z.infer<typeof UnregisterSubscriptionParamsSchema>;
102
- export declare const UnregisterSubscriptionsParamsSchema: z.ZodArray<z.ZodObject<{
103
- subId: z.ZodString;
104
- instanceName: z.ZodString;
105
- }, z.core.$strip>>;
106
- export type UnregisterSubscriptionsParams = z.infer<typeof UnregisterSubscriptionsParamsSchema>;
107
- export declare const UnregisterSubscriptionResultSchema: z.ZodObject<{
108
- ok: z.ZodBoolean;
109
- }, z.core.$strip>;
110
- export type UnregisterSubscriptionResult = z.infer<typeof UnregisterSubscriptionResultSchema>;
111
- export declare const UnregisterSubscriptionsResultSchema: z.ZodArray<z.ZodObject<{
112
- ok: z.ZodBoolean;
113
- }, z.core.$strip>>;
114
- export type UnregisterSubscriptionsResult = z.infer<typeof UnregisterSubscriptionsResultSchema>;
115
- export declare const InvalidateWritesetParamsSchema: z.ZodObject<{
116
- writeSet: z.ZodArray<z.ZodObject<{
117
- table: z.ZodString;
118
- tableId: z.ZodPipe<z.ZodAny, z.ZodTransform<Uint8Array<ArrayBufferLike>, any>>;
119
- id: z.ZodString;
120
- op: z.ZodEnum<{
121
- insert: "insert";
122
- update: "update";
123
- delete: "delete";
124
- }>;
125
- data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
126
- prevData: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
127
- expectedCommitTs: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<bigint, string>>>>;
128
- }, z.core.$strip>>;
129
- }, z.core.$strip>;
130
- export type InvalidateWritesetParams = z.infer<typeof InvalidateWritesetParamsSchema>;
131
- export declare const AffectedSubscriptionSchema: z.ZodObject<{
132
- subId: z.ZodString;
133
- queryName: z.ZodString;
134
- args: z.ZodUnknown;
135
- cacheKey: z.ZodString;
136
- notifyInstances: z.ZodArray<z.ZodString>;
137
- }, z.core.$strip>;
138
- export type AffectedSubscription = z.infer<typeof AffectedSubscriptionSchema>;
139
- export declare const InvalidateWritesetResultSchema: z.ZodObject<{
140
- affected: z.ZodArray<z.ZodObject<{
141
- subId: z.ZodString;
142
- queryName: z.ZodString;
143
- args: z.ZodUnknown;
144
- cacheKey: z.ZodString;
145
- notifyInstances: z.ZodArray<z.ZodString>;
146
- }, z.core.$strip>>;
147
- }, z.core.$strip>;
148
- export type InvalidateWritesetResult = z.infer<typeof InvalidateWritesetResultSchema>;
149
- export declare const RegistrationRecordSchema: z.ZodObject<{
150
- queryName: z.ZodString;
151
- args: z.ZodUnknown;
152
- queryIdentity: z.ZodString;
153
- cacheKey: z.ZodString;
154
- }, z.core.$strip>;
155
- export type RegistrationRecord = z.infer<typeof RegistrationRecordSchema>;
156
- export interface TrackedSubscription {
157
- subId: string;
158
- queryName: string;
159
- args: unknown;
160
- cacheKey: string;
161
- lastSnapshotTs: bigint;
162
- readSet: ReadEntry[];
163
- rawReadSet: RawReadEntry[];
164
- /** All app server instances that currently hold this subscription. */
165
- instances: Set<string>;
166
- timeout: NodeJS.Timeout | null;
167
- }
168
- //# sourceMappingURL=subscription-manager-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscription-manager-types.d.ts","sourceRoot":"","sources":["../../../src/server/subscription-manager-types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAgB,YAAY,EAAE,SAAS,EAAqC,MAAM,gBAAgB,CAAC;AAY1G,eAAO,MAAM,gCAAgC;;;;;;;;iBAoB3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;iBAI3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,eAAO,MAAM,qCAAqC;;;;;;;;kBAA4C,CAAC;AAC/F,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC;AAEpG,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;kBAA4C,CAAC;AAC/F,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC;AAEpG,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;iBAMhD,CAAC;AACH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC;AAEpG;;;;GAIG;AACH,eAAO,MAAM,qCAAqC;;iBAEhD,CAAC;AACH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC;AAEpG,eAAO,MAAM,kCAAkC;;;iBAG7C,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAE9F,eAAO,MAAM,mCAAmC;;;kBAA8C,CAAC;AAC/F,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAEhG,eAAO,MAAM,kCAAkC;;iBAAgC,CAAC;AAChF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAE9F,eAAO,MAAM,mCAAmC;;kBAAyC,CAAC;AAC1F,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAEhG,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;iBAEzC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,eAAO,MAAM,0BAA0B;;;;;;iBAarC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,8BAA8B;;;;;;;;iBAEzC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAStF,eAAO,MAAM,wBAAwB;;;;;iBAKnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,sEAAsE;IACtE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;CAClC"}
@@ -1,94 +0,0 @@
1
- import z from "zod";
2
- import { BigIntSchema, ReadEntrySchema, WriteEntrySchema } from "../db/types_db";
3
- // ─── RPC Schemas ──────────────────────────────────────────────────────────────
4
- //
5
- // The wire protocol intentionally has NO `_clientVersion` / `_resync` /
6
- // `serverVersion` fields. Ordering of concurrent `updateSubscriptionReadSet`
7
- // calls is enforced by `lastSnapshotTs` (which is monotonic — it comes from
8
- // `Database.getLatestSnapshotTimestamp()`). Recovery after a sub-manager
9
- // restart is driven by the app server iterating its own
10
- // `serverSubscriptions` map and re-registering each one using params
11
- // persisted in Redis under `sl:reg:<subId>`.
12
- export const RegisterSubscriptionParamsSchema = z.object({
13
- /**
14
- * Caller-computed FNV-1a routing key + identity for this subscription.
15
- * The sub-manager trusts these values rather than re-deriving them from
16
- * (queryName, args, queryIdentity); this avoids one stringify+SHA1 per
17
- * register RPC. Trust is fine: the sub-manager RPC channel is fully
18
- * internal.
19
- */
20
- subId: z.string(),
21
- cacheKey: z.string(),
22
- queryName: z.string(),
23
- args: z.unknown(),
24
- /**
25
- * Segmentation key used in the subId/cacheKey hash. Defaults to the
26
- * authenticated user's id ("anonymous" when none), unless the
27
- * procedure overrides it via `QueryConfig.queryIdentity`.
28
- */
29
- queryIdentity: z.string(),
30
- instanceName: z.string(),
31
- lastSnapshotTs: BigIntSchema,
32
- });
33
- export const RegisterSubscriptionResultSchema = z.object({
34
- cacheKey: z.string(),
35
- recompute: z.boolean(),
36
- readSet: z.array(ReadEntrySchema),
37
- });
38
- export const RegisterSubscriptionBatchParamsSchema = z.array(RegisterSubscriptionParamsSchema);
39
- export const RegisterSubscriptionBatchResultSchema = z.array(RegisterSubscriptionResultSchema);
40
- export const UpdateSubscriptionReadSetParamsSchema = z.object({
41
- cacheKey: z.string(),
42
- subId: z.string(),
43
- instanceName: z.string(),
44
- lastSnapshotTs: BigIntSchema,
45
- readSet: z.array(ReadEntrySchema),
46
- });
47
- /**
48
- * `tracked: false` means the sub-manager has no record of this subId (e.g.
49
- * a restart wiped state and the caller hasn't re-registered yet). The app
50
- * server should treat this as a signal to register the sub before retrying.
51
- */
52
- export const UpdateSubscriptionReadSetResultSchema = z.object({
53
- tracked: z.boolean(),
54
- });
55
- export const UnregisterSubscriptionParamsSchema = z.object({
56
- subId: z.string(),
57
- instanceName: z.string(),
58
- });
59
- export const UnregisterSubscriptionsParamsSchema = z.array(UnregisterSubscriptionParamsSchema);
60
- export const UnregisterSubscriptionResultSchema = z.object({ ok: z.boolean() });
61
- export const UnregisterSubscriptionsResultSchema = z.array(z.object({ ok: z.boolean() }));
62
- export const InvalidateWritesetParamsSchema = z.object({
63
- writeSet: z.array(WriteEntrySchema),
64
- });
65
- export const AffectedSubscriptionSchema = z.object({
66
- subId: z.string(),
67
- queryName: z.string(),
68
- args: z.unknown(),
69
- cacheKey: z.string(),
70
- /**
71
- * Every live instance that currently holds this subId. Routing rules:
72
- * • If the writer is in this list, it recomputes locally and publishes
73
- * an `update` to the rest (its own id is filtered by the publisher).
74
- * • Otherwise the writer broadcasts a `recompute-race` to every entry;
75
- * receivers race for a Redis lock and the winner recomputes.
76
- */
77
- notifyInstances: z.array(z.string()),
78
- });
79
- export const InvalidateWritesetResultSchema = z.object({
80
- affected: z.array(AffectedSubscriptionSchema),
81
- });
82
- // ─── Registration record persisted to Redis ──────────────────────────────────
83
- //
84
- // Stored at `sl:reg:<subId>` by the sub-manager when a brand-new subscription
85
- // is created, and deleted by the sub-manager when the last instance leaves.
86
- // The app server reads this on reconnect to know how to re-register its
87
- // known subIds.
88
- export const RegistrationRecordSchema = z.object({
89
- queryName: z.string(),
90
- args: z.unknown(),
91
- queryIdentity: z.string(),
92
- cacheKey: z.string(),
93
- });
94
- //# sourceMappingURL=subscription-manager-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscription-manager-types.js","sourceRoot":"","sources":["../../../src/server/subscription-manager-types.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=subscription-manager-worker-entry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscription-manager-worker-entry.d.ts","sourceRoot":"","sources":["../../../src/server/subscription-manager-worker-entry.ts"],"names":[],"mappings":""}
@@ -1,127 +0,0 @@
1
- import { parentPort } from "node:worker_threads";
2
- import Redis from "ioredis";
3
- import { CacheLayer } from "../db/cache";
4
- import { PgDatabase } from "../db/postgres";
5
- import { MySqlDatabase } from "../db/mysql";
6
- import { mapWriteSetToRaw } from "./overlap-checker";
7
- import { InvalidateWritesetParamsSchema, RegisterSubscriptionBatchParamsSchema, RegisterSubscriptionParamsSchema, UnregisterSubscriptionParamsSchema, UnregisterSubscriptionsParamsSchema, UpdateSubscriptionReadSetParamsSchema, } from "./subscription-manager-types";
8
- import { SubscriptionWorker } from "./subscription-worker";
9
- import { MsgType, } from "./subscription-manager-worker-protocol";
10
- import { logger as baseLogger } from "../logger";
11
- if (!parentPort) {
12
- throw new Error("subscription-manager-worker-entry must run inside a worker_threads Worker");
13
- }
14
- const port = parentPort;
15
- const logger = baseLogger.child({ name: "SUBS_WRK_ENTRY" });
16
- let worker = null;
17
- let db = null;
18
- let cache = null;
19
- let redis = null;
20
- async function init(payload) {
21
- redis = new Redis(payload.upstash.redisUrl, {
22
- connectTimeout: 15_000,
23
- maxRetriesPerRequest: 5,
24
- });
25
- cache = new CacheLayer(redis, payload.cacheTTLSeconds);
26
- if (payload.database.type === "postgres") {
27
- db = new PgDatabase(logger.child({ database: "postgres", worker: payload.workerId }), {
28
- ...payload.database,
29
- connectionString: payload.database.connectionString,
30
- max: payload.maxConnectionsPerWorker,
31
- min: payload.database.minConnections ?? 1,
32
- idleTimeoutMillis: payload.database.idleTimeoutMillis ?? 30_000,
33
- connectionTimeoutMillis: payload.database.connectionTimeoutMillis ?? 7_000,
34
- });
35
- }
36
- else {
37
- db = new MySqlDatabase(logger.child({ database: "mysql", worker: payload.workerId }), {
38
- ...payload.database,
39
- connectionLimit: payload.maxConnectionsPerWorker,
40
- idleTimeout: payload.database.idleTimeoutMillis ?? 30_000,
41
- connectTimeout: payload.database.connectionTimeoutMillis ?? 7_000,
42
- waitForConnections: true,
43
- queueLimit: payload.database.queueLimit ?? 0,
44
- });
45
- }
46
- worker = new SubscriptionWorker(payload.workerId, cache, db);
47
- }
48
- async function dispatch(req) {
49
- if (req.type === MsgType.Init) {
50
- await init(req.payload);
51
- return null;
52
- }
53
- if (!worker) {
54
- throw new Error("Worker received message before Init");
55
- }
56
- switch (req.type) {
57
- case MsgType.Register: {
58
- const params = RegisterSubscriptionParamsSchema.parse(req.payload);
59
- return worker.register(params);
60
- }
61
- case MsgType.RegisterBatch: {
62
- const params = RegisterSubscriptionBatchParamsSchema.parse(req.payload);
63
- return Promise.all(params.map((p) => worker.register(p)));
64
- }
65
- case MsgType.UpdateReadSet: {
66
- const params = UpdateSubscriptionReadSetParamsSchema.parse(req.payload);
67
- return worker.updateReadSet(params);
68
- }
69
- case MsgType.Unregister: {
70
- const params = UnregisterSubscriptionParamsSchema.parse(req.payload);
71
- return worker.unregister(params);
72
- }
73
- case MsgType.Unregisters: {
74
- const params = UnregisterSubscriptionsParamsSchema.parse(req.payload);
75
- return worker.unregisters(params);
76
- }
77
- case MsgType.Invalidate: {
78
- const { writeSet } = InvalidateWritesetParamsSchema.parse(req.payload);
79
- const rawWriteSet = mapWriteSetToRaw(writeSet);
80
- return worker.invalidate(rawWriteSet);
81
- }
82
- case MsgType.MinSubscriptionTs: {
83
- const m = worker.minSubscriptionTs();
84
- // bigint isn't structured-cloneable via JSON; postMessage handles
85
- // bigints natively, so we return it as-is.
86
- return m;
87
- }
88
- case MsgType.LatestSnapshotTs: {
89
- return db.getLatestSnapshotTimestamp();
90
- }
91
- case MsgType.Prune: {
92
- const ts = req.payload;
93
- return db.pruneCommitLogsBefore(ts);
94
- }
95
- case MsgType.Shutdown: {
96
- try {
97
- await db?.close();
98
- }
99
- catch (_) { /* ignore */ }
100
- try {
101
- await redis?.quit?.();
102
- }
103
- catch (_) { /* ignore */ }
104
- return null;
105
- }
106
- default: {
107
- throw new Error(`Unknown MsgType: ${req.type}`);
108
- }
109
- }
110
- }
111
- port.on("message", async (req) => {
112
- try {
113
- const result = await dispatch(req);
114
- const res = { reqId: req.reqId, ok: true, result };
115
- port.postMessage(res);
116
- }
117
- catch (err) {
118
- const e = err;
119
- const res = {
120
- reqId: req.reqId,
121
- ok: false,
122
- error: { message: e?.message ?? String(err), stack: e?.stack },
123
- };
124
- port.postMessage(res);
125
- }
126
- });
127
- //# sourceMappingURL=subscription-manager-worker-entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscription-manager-worker-entry.js","sourceRoot":"","sources":["../../../src/server/subscription-manager-worker-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,8BAA8B,EAC9B,qCAAqC,EACrC,gCAAgC,EAChC,kCAAkC,EAClC,mCAAmC,EACnC,qCAAqC,GACtC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,OAAO,GAIR,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AAEjD,IAAI,CAAC,UAAU,EAAE,CAAC;IAChB,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;AAC/F,CAAC;AAED,MAAM,IAAI,GAAG,UAAU,CAAC;AACxB,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAE5D,IAAI,MAAM,GAA8B,IAAI,CAAC;AAC7C,IAAI,EAAE,GAAoB,IAAI,CAAC;AAC/B,IAAI,KAAK,GAAsB,IAAI,CAAC;AACpC,IAAI,KAAK,GAAiB,IAAI,CAAC;AAE/B,KAAK,UAAU,IAAI,CAAC,OAA0B;IAC5C,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;QAC1C,cAAc,EAAE,MAAM;QACtB,oBAAoB,EAAE,CAAC;KACxB,CAAC,CAAC;IACH,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAEvD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACzC,EAAE,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE;YACpF,GAAG,OAAO,CAAC,QAAQ;YACnB,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,gBAAgB;YACnD,GAAG,EAAE,OAAO,CAAC,uBAAuB;YACpC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,cAAc,IAAI,CAAC;YACzC,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,IAAI,MAAM;YAC/D,uBAAuB,EAAE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,IAAI,KAAK;SAC3E,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,EAAE,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE;YACpF,GAAG,OAAO,CAAC,QAAQ;YACnB,eAAe,EAAE,OAAO,CAAC,uBAAuB;YAChD,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,IAAI,MAAM;YACzD,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,IAAI,KAAK;YACjE,kBAAkB,EAAE,IAAI;YACxB,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,GAAG,IAAI,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,GAAkB;IACxC,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,GAAG,CAAC,OAA4B,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,gCAAgC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACnE,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YAC3B,MAAM,MAAM,GAAG,qCAAqC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YAC3B,MAAM,MAAM,GAAG,qCAAqC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxE,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,kCAAkC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrE,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACzB,MAAM,MAAM,GAAG,mCAAmC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACtE,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YACxB,MAAM,EAAE,QAAQ,EAAE,GAAG,8BAA8B,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACvE,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC/C,OAAO,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;YACrC,kEAAkE;YAClE,2CAA2C;YAC3C,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC9B,OAAO,EAAG,CAAC,0BAA0B,EAAE,CAAC;QAC1C,CAAC;QACD,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,GAAG,GAAG,CAAC,OAAiB,CAAC;YACjC,OAAO,EAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC;gBAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;YACrD,IAAI,CAAC;gBAAC,MAAO,KAAa,EAAE,IAAI,EAAE,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,IAAoB,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;AACH,CAAC;AAED,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAkB,EAAE,EAAE;IAC9C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,GAAG,GAAmB,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAAY,CAAC;QACvB,MAAM,GAAG,GAAmB;YAC1B,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE;SAC/D,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,40 +0,0 @@
1
- import type { DatabaseConfig, SubscriptionManagerConfig } from "../config";
2
- export declare enum MsgType {
3
- Init = 1,
4
- Register = 2,
5
- RegisterBatch = 3,
6
- UpdateReadSet = 4,
7
- Unregister = 5,
8
- Unregisters = 6,
9
- Invalidate = 7,
10
- MinSubscriptionTs = 8,
11
- LatestSnapshotTs = 9,
12
- Prune = 10,
13
- Shutdown = 11
14
- }
15
- export interface WorkerRequest {
16
- type: MsgType;
17
- reqId: number;
18
- payload: unknown;
19
- }
20
- export type WorkerResponse = {
21
- reqId: number;
22
- ok: true;
23
- result: unknown;
24
- } | {
25
- reqId: number;
26
- ok: false;
27
- error: {
28
- message: string;
29
- stack?: string;
30
- };
31
- };
32
- export interface WorkerInitPayload {
33
- workerId: number;
34
- database: DatabaseConfig;
35
- upstash: SubscriptionManagerConfig["upstash"];
36
- cacheTTLSeconds: number;
37
- maxConnectionsPerWorker: number;
38
- logLevel?: string;
39
- }
40
- //# sourceMappingURL=subscription-manager-worker-protocol.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscription-manager-worker-protocol.d.ts","sourceRoot":"","sources":["../../../src/server/subscription-manager-worker-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAQ3E,oBAAY,OAAO;IACjB,IAAI,IAAI;IACR,QAAQ,IAAI;IACZ,aAAa,IAAI;IACjB,aAAa,IAAI;IACjB,UAAU,IAAI;IACd,WAAW,IAAI;IACf,UAAU,IAAI;IACd,iBAAiB,IAAI;IACrB,gBAAgB,IAAI;IACpB,KAAK,KAAK;IACV,QAAQ,KAAK;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAC5C;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAE7E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -1,20 +0,0 @@
1
- // Internal wire protocol between the SubscriptionManager dispatcher (main
2
- // thread) and each SubscriptionWorker thread. The channel is trusted, so we
3
- // pass payloads as raw decoded objects and let the worker Zod-parse them
4
- // against the matching schema. Numeric MsgType keeps the discriminator a
5
- // single int — cheaper to switch on than a string.
6
- export var MsgType;
7
- (function (MsgType) {
8
- MsgType[MsgType["Init"] = 1] = "Init";
9
- MsgType[MsgType["Register"] = 2] = "Register";
10
- MsgType[MsgType["RegisterBatch"] = 3] = "RegisterBatch";
11
- MsgType[MsgType["UpdateReadSet"] = 4] = "UpdateReadSet";
12
- MsgType[MsgType["Unregister"] = 5] = "Unregister";
13
- MsgType[MsgType["Unregisters"] = 6] = "Unregisters";
14
- MsgType[MsgType["Invalidate"] = 7] = "Invalidate";
15
- MsgType[MsgType["MinSubscriptionTs"] = 8] = "MinSubscriptionTs";
16
- MsgType[MsgType["LatestSnapshotTs"] = 9] = "LatestSnapshotTs";
17
- MsgType[MsgType["Prune"] = 10] = "Prune";
18
- MsgType[MsgType["Shutdown"] = 11] = "Shutdown";
19
- })(MsgType || (MsgType = {}));
20
- //# sourceMappingURL=subscription-manager-worker-protocol.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscription-manager-worker-protocol.js","sourceRoot":"","sources":["../../../src/server/subscription-manager-worker-protocol.ts"],"names":[],"mappings":"AAEA,0EAA0E;AAC1E,4EAA4E;AAC5E,yEAAyE;AACzE,yEAAyE;AACzE,mDAAmD;AAEnD,MAAM,CAAN,IAAY,OAYX;AAZD,WAAY,OAAO;IACjB,qCAAQ,CAAA;IACR,6CAAY,CAAA;IACZ,uDAAiB,CAAA;IACjB,uDAAiB,CAAA;IACjB,iDAAc,CAAA;IACd,mDAAe,CAAA;IACf,iDAAc,CAAA;IACd,+DAAqB,CAAA;IACrB,6DAAoB,CAAA;IACpB,wCAAU,CAAA;IACV,8CAAa,CAAA;AACf,CAAC,EAZW,OAAO,KAAP,OAAO,QAYlB"}
@@ -1,32 +0,0 @@
1
- import { SubscriptionManagerConfig } from "../config";
2
- export { SubscriptionWorker } from "./subscription-worker";
3
- /**
4
- * One process per deployment. Routes each subscription operation to one of N
5
- * worker threads by hashing subId. Worker threads run in parallel on separate
6
- * CPU cores; this dispatcher does no Zod parsing — it reads `subId` directly
7
- * from the decoded payload (the internal channel is trusted) and forwards the
8
- * raw payload. The worker validates and parses with Zod before executing.
9
- */
10
- export declare class SubscriptionManager {
11
- private wss;
12
- private port;
13
- private workers;
14
- private pruneInterval;
15
- private static readonly PRUNE_INTERVAL_MS;
16
- constructor(config: SubscriptionManagerConfig);
17
- start(): Promise<void>;
18
- stop(): Promise<void>;
19
- private pruneCommitLogs;
20
- workerCount(): number;
21
- workerIndexFor(subId: string): number;
22
- private workerFor;
23
- private registerMethods;
24
- private readSubId;
25
- private registerSubscription;
26
- private registerSubscriptionBatch;
27
- private updateSubscriptionReadSet;
28
- private unregisterSubscription;
29
- private unregisterSubscriptions;
30
- private invalidateWriteset;
31
- }
32
- //# sourceMappingURL=subscription-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscription-manager.d.ts","sourceRoot":"","sources":["../../../src/server/subscription-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AA2BtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAsG3D;;;;;;GAMG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,aAAa,CAA+C;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAkB;gBAE/C,MAAM,EAAE,yBAAyB;IAsBvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAYtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAUb,eAAe;IAsB7B,WAAW,IAAI,MAAM;IAIrB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIrC,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,SAAS;YAIH,oBAAoB;YAKpB,yBAAyB;YAwBzB,yBAAyB;YAKzB,sBAAsB;YAKtB,uBAAuB;YAsBvB,kBAAkB;CAQjC"}