@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,122 +0,0 @@
1
- /**
2
- * Create a query builder with a pre-defined context type.
3
- * This allows you to define the context type once and have it inferred
4
- * automatically in all your query handlers.
5
- *
6
- * @example
7
- * // Define your server context
8
- * interface ServerContext {
9
- * auth: { userId: string };
10
- * requestId: string;
11
- * }
12
- *
13
- * // Create a typed query builder
14
- * const query = createQueryBuilder<ServerContext>();
15
- *
16
- * // Use it - context type is automatically inferred!
17
- * const getUser = query({
18
- * args: z.object({ id: z.string() }),
19
- * handler: async (ctx, { id }) => {
20
- * // ctx.db for database queries
21
- * const user = await ctx.db.query(UsersSchema).find(id);
22
- * // ctx.context for server context
23
- * console.log(ctx.context.requestId);
24
- * return user;
25
- * }
26
- * });
27
- */
28
- export function createQueryBuilder() {
29
- return function query(config) {
30
- return {
31
- _type: "procedure",
32
- procedureType: "query",
33
- inputSchema: config.args,
34
- fn: config.handler,
35
- internal: (config.internal ?? false),
36
- queryIdentity: config.queryIdentity,
37
- };
38
- };
39
- }
40
- // ─── Mutation Builder Factory ────────────────────────────────────────────────
41
- /**
42
- * Create a mutation builder with a pre-defined context type.
43
- * This allows you to define the context type once and have it inferred
44
- * automatically in all your mutation handlers.
45
- *
46
- * @example
47
- * // Define your server context
48
- * interface ServerContext {
49
- * auth: { userId: string };
50
- * requestId: string;
51
- * }
52
- *
53
- * // Create a typed mutation builder
54
- * const mutation = createMutationBuilder<ServerContext>();
55
- *
56
- * // Use it - context type is automatically inferred!
57
- * const createUser = mutation({
58
- * args: z.object({ name: z.string() }),
59
- * handler: async (ctx, { name }) => {
60
- * // ctx.db for mutations
61
- * await ctx.db.insert(UsersSchema, id, { name });
62
- * // ctx.context for server context
63
- * console.log(ctx.context.requestId);
64
- * return { success: true };
65
- * }
66
- * });
67
- */
68
- export function createMutationBuilder() {
69
- return function mutation(config) {
70
- return {
71
- _type: "procedure",
72
- procedureType: "mutation",
73
- inputSchema: config.args,
74
- fn: config.handler,
75
- internal: (config.internal ?? false),
76
- };
77
- };
78
- }
79
- // ─── Action Builder Factory ──────────────────────────────────────────────────
80
- /**
81
- * Create an action builder with a pre-defined context type.
82
- * Actions have access to the full SupaliveDb for both queries and mutations.
83
- *
84
- * @example
85
- * // Define your server context
86
- * interface ServerContext {
87
- * auth: { userId: string };
88
- * requestId: string;
89
- * }
90
- *
91
- * // Create a typed action builder
92
- * const action = createActionBuilder<ServerContext>();
93
- *
94
- * // Use it - context type is automatically inferred!
95
- * const processOrder = action({
96
- * args: z.object({ orderId: z.string() }),
97
- * handler: async (ctx, { orderId }) => {
98
- * // ctx.db for full database access
99
- * const order = await ctx.db.query(async (db) => {
100
- * return db.query(OrdersSchema).find(orderId);
101
- * });
102
- * await ctx.db.mutation(async (db) => {
103
- * await db.update(OrdersSchema, orderId, { status: "processed" });
104
- * });
105
- * // ctx.context for server context
106
- * console.log(ctx.context.requestId);
107
- * return { success: true };
108
- * }
109
- * });
110
- */
111
- export function createActionBuilder() {
112
- return function action(config) {
113
- return {
114
- _type: "procedure",
115
- procedureType: "action",
116
- inputSchema: config.args,
117
- fn: config.handler,
118
- internal: (config.internal ?? false),
119
- };
120
- };
121
- }
122
- //# sourceMappingURL=procedure.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"procedure.js","sourceRoot":"","sources":["../../../src/router/procedure.ts"],"names":[],"mappings":"AAuKA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,SAAS,KAAK,CACnB,MAAyE;QAEzE,OAAO;YACL,KAAK,EAAE,WAAW;YAClB,aAAa,EAAE,OAAO;YACtB,WAAW,EAAE,MAAM,CAAC,IAAI;YACxB,EAAE,EAAE,MAAM,CAAC,OAAO;YAClB,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAc;YACjD,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,SAAS,QAAQ,CACtB,MAA4E;QAE5E,OAAO;YACL,KAAK,EAAE,WAAW;YAClB,aAAa,EAAE,UAAU;YACzB,WAAW,EAAE,MAAM,CAAC,IAAI;YACxB,EAAE,EAAE,MAAM,CAAC,OAAO;YAClB,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAc;SAClD,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,SAAS,MAAM,CACpB,MAA0E;QAE1E,OAAO;YACL,KAAK,EAAE,WAAW;YAClB,aAAa,EAAE,QAAQ;YACvB,WAAW,EAAE,MAAM,CAAC,IAAI;YACxB,EAAE,EAAE,MAAM,CAAC,OAAO;YAClB,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAc;SAClD,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -1,88 +0,0 @@
1
- import type { AnyProcedure } from "./procedure";
2
- /**
3
- * A router maps procedure names (keys) to their definitions.
4
- * This is the type that's exported from your app and used by the client.
5
- */
6
- export type Router<TProcedures extends Record<string, AnyProcedure<TContext>>, TContext = unknown> = {
7
- _type: "router";
8
- procedures: TProcedures;
9
- contextName: string;
10
- };
11
- /**
12
- * Inferred AppRouter type from router() call.
13
- * Captures the full procedure map for client type inference.
14
- */
15
- export type AppRouter<TProcedures extends Record<string, AnyProcedure<TContext>> = Record<string, AnyProcedure>, TContext = unknown> = Router<TProcedures, TContext>;
16
- /** Get query procedures only from a router */
17
- export type QueryProcedures<T extends Record<string, AnyProcedure>> = {
18
- [K in keyof T as T[K] extends {
19
- procedureType: "query";
20
- } ? K : never]: T[K];
21
- };
22
- /** Get mutation procedures only from a router */
23
- export type MutationProcedures<T extends Record<string, AnyProcedure>> = {
24
- [K in keyof T as T[K] extends {
25
- procedureType: "mutation";
26
- } ? K : never]: T[K];
27
- };
28
- /** Get action procedures only from a router */
29
- export type ActionProcedures<T extends Record<string, AnyProcedure>> = {
30
- [K in keyof T as T[K] extends {
31
- procedureType: "action";
32
- } ? K : never]: T[K];
33
- };
34
- /** Get public (non-internal) procedures - for client type safety */
35
- export type PublicProcedures<T extends Record<string, AnyProcedure>> = Pick<T, {
36
- [K in keyof T]: T[K] extends {
37
- internal: true;
38
- } ? never : K;
39
- }[keyof T]>;
40
- /** Extract procedure names from a router */
41
- export type ProcedureNames<T extends Router<any>> = T extends Router<infer P> ? keyof P : never;
42
- export type RouterConfig<T> = {
43
- procedures: T;
44
- contextName?: string;
45
- };
46
- /**
47
- * Create a router from procedure definitions.
48
- * Procedure names are inferred from the object keys.
49
- *
50
- * @example
51
- * const appRouter = router({
52
- * procedures: {
53
- * getUser,
54
- * createUser,
55
- * internalGetAll,
56
- * },
57
- * });
58
- *
59
- * export type AppRouter = typeof appRouter;
60
- */
61
- export declare function router<TProcedures extends Record<string, AnyProcedure<any>>, TContext = unknown>(config: RouterConfig<TProcedures>): Router<TProcedures, TContext>;
62
- export interface RegisteredProcedure<TContext = unknown> {
63
- name: string;
64
- type: "query" | "mutation" | "action";
65
- internal: boolean;
66
- inputSchema: AnyProcedure<TContext>["inputSchema"];
67
- fn: AnyProcedure<TContext>["fn"];
68
- /** Only present for `type === "query"`. See `QueryIdentitySpec`. */
69
- queryIdentity?: false | string | ((serverCtx: TContext, input: unknown) => string | null | undefined);
70
- }
71
- export declare function getContextRegistry(inContext: string): ContextRegistry;
72
- export declare class ContextRegistry {
73
- procedureRegistry: Map<string, RegisteredProcedure<any>>;
74
- internalProcedureNames: Set<string>;
75
- registerProcedure<TContext>(name: string, proc: AnyProcedure<TContext>): void;
76
- /** Get a registered procedure by name (runtime lookup) */
77
- getProcedure<TContext = unknown>(name: string): RegisteredProcedure<TContext> | undefined;
78
- /** Get all registered procedure names */
79
- getProcedureNames(): string[];
80
- /** Get all registered procedures */
81
- getAllProcedures(): Map<string, RegisteredProcedure>;
82
- /** Clear the registry (for testing only) */
83
- clearRegistry(): void;
84
- markInternalProcedure(name: string): void;
85
- isInternalProcedure(name: string): boolean;
86
- clearInternalProcedures(): void;
87
- }
88
- //# sourceMappingURL=router.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/router/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD;;;GAGG;AACH,MAAM,MAAM,MAAM,CAAC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,IAAI;IACnG,KAAK,EAAE,QAAQ,CAAC;IAChB,UAAU,EAAE,WAAW,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,SAAS,CACnB,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EACzF,QAAQ,GAAG,OAAO,IAChB,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAIlC,8CAA8C;AAC9C,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI;KACnE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,aAAa,EAAE,OAAO,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CAC5E,CAAC;AAEF,iDAAiD;AACjD,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI;KACtE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,aAAa,EAAE,UAAU,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CAC/E,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI;KACpE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,aAAa,EAAE,QAAQ,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;CAC7E,CAAC;AAEF,oEAAoE;AACpE,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,IAAI,CACzE,CAAC,EACD;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAAG,KAAK,GAAG,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,CACzE,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,IAC9C,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;AAE9C,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;IAC5B,UAAU,EAAE,CAAC,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;;EAcE;AACF,wBAAgB,MAAM,CAAC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,EAC9F,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC,GAChC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAc/B;AAED,MAAM,WAAW,mBAAmB,CAAC,QAAQ,GAAG,OAAO;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC;IACnD,EAAE,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;IACjC,oEAAoE;IACpE,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CACvG;AAKD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAOrE;AAED,qBAAa,eAAe;IAC1B,iBAAiB,wCAA+C;IAChE,sBAAsB,cAAqB;IAE3C,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI;IA4B7E,0DAA0D;IAC1D,YAAY,CAAC,QAAQ,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GAAG,SAAS;IAIzF,yCAAyC;IACzC,iBAAiB,IAAI,MAAM,EAAE;IAI7B,oCAAoC;IACpC,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAIpD,4CAA4C;IAC5C,aAAa,IAAI,IAAI;IAKrB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1C,uBAAuB,IAAI,IAAI;CAGhC"}
@@ -1,88 +0,0 @@
1
- /**
2
- * Create a router from procedure definitions.
3
- * Procedure names are inferred from the object keys.
4
- *
5
- * @example
6
- * const appRouter = router({
7
- * procedures: {
8
- * getUser,
9
- * createUser,
10
- * internalGetAll,
11
- * },
12
- * });
13
- *
14
- * export type AppRouter = typeof appRouter;
15
- */
16
- export function router(config) {
17
- const registry = getContextRegistry(config.contextName ?? "default");
18
- // Register all procedures at router creation time
19
- for (const [name, proc] of Object.entries(config.procedures)) {
20
- registry.registerProcedure(name, proc);
21
- }
22
- return {
23
- _type: "router",
24
- procedures: config.procedures,
25
- contextName: config.contextName ?? "default",
26
- };
27
- }
28
- const contextRegistry = new Map();
29
- export function getContextRegistry(inContext) {
30
- let registry = contextRegistry.get(inContext);
31
- if (!registry) {
32
- registry = new ContextRegistry();
33
- contextRegistry.set(inContext, registry);
34
- }
35
- return registry;
36
- }
37
- export class ContextRegistry {
38
- procedureRegistry = new Map();
39
- internalProcedureNames = new Set();
40
- registerProcedure(name, proc) {
41
- if (this.procedureRegistry.has(name)) {
42
- throw new Error(`[router] Procedure "${name}" is already registered. ` +
43
- `Each procedure name must be unique across the application.`);
44
- }
45
- // Track internal procedures by name
46
- if (proc.internal) {
47
- this.markInternalProcedure(name);
48
- }
49
- const queryIdentity = proc.procedureType === "query"
50
- ? proc.queryIdentity
51
- : undefined;
52
- this.procedureRegistry.set(name, {
53
- name,
54
- type: proc.procedureType,
55
- internal: proc.internal,
56
- inputSchema: proc.inputSchema,
57
- fn: proc.fn,
58
- queryIdentity,
59
- });
60
- }
61
- /** Get a registered procedure by name (runtime lookup) */
62
- getProcedure(name) {
63
- return this.procedureRegistry.get(name);
64
- }
65
- /** Get all registered procedure names */
66
- getProcedureNames() {
67
- return [...this.procedureRegistry.keys()];
68
- }
69
- /** Get all registered procedures */
70
- getAllProcedures() {
71
- return new Map(this.procedureRegistry);
72
- }
73
- /** Clear the registry (for testing only) */
74
- clearRegistry() {
75
- this.procedureRegistry.clear();
76
- this.clearInternalProcedures();
77
- }
78
- markInternalProcedure(name) {
79
- this.internalProcedureNames.add(name);
80
- }
81
- isInternalProcedure(name) {
82
- return this.internalProcedureNames.has(name);
83
- }
84
- clearInternalProcedures() {
85
- this.internalProcedureNames.clear();
86
- }
87
- }
88
- //# sourceMappingURL=router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/router/router.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /**
2
- * FNV-1a 32-bit hash.
3
- *
4
- * Used for routing subscription operations to logical workers inside the
5
- * sub-manager process. Same input always returns the same 32-bit unsigned
6
- * integer in both JavaScript and Go, so a future Go port of the sub-manager
7
- * can use the identical routing without rebalancing keys.
8
- *
9
- * Reference: http://www.isthe.com/chongo/tech/comp/fnv/
10
- */
11
- export declare function fnv1a32(s: string): number;
12
- //# sourceMappingURL=hash.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../src/server/hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAQzC"}
@@ -1,20 +0,0 @@
1
- /**
2
- * FNV-1a 32-bit hash.
3
- *
4
- * Used for routing subscription operations to logical workers inside the
5
- * sub-manager process. Same input always returns the same 32-bit unsigned
6
- * integer in both JavaScript and Go, so a future Go port of the sub-manager
7
- * can use the identical routing without rebalancing keys.
8
- *
9
- * Reference: http://www.isthe.com/chongo/tech/comp/fnv/
10
- */
11
- export function fnv1a32(s) {
12
- let h = 0x811c9dc5;
13
- for (let i = 0; i < s.length; i++) {
14
- h ^= s.charCodeAt(i);
15
- // h = h * 16777619, expressed as shifts to stay in 32-bit space
16
- h = (h + ((h << 1) + (h << 4) + (h << 7) + (h << 8) + (h << 24))) >>> 0;
17
- }
18
- return h >>> 0;
19
- }
20
- //# sourceMappingURL=hash.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../src/server/hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,UAAU,OAAO,CAAC,CAAS;IAC/B,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,gEAAgE;QAChE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=hash.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hash.test.d.ts","sourceRoot":"","sources":["../../../src/server/hash.test.ts"],"names":[],"mappings":""}
@@ -1,43 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import { fnv1a32 } from "./hash";
3
- describe("fnv1a32", () => {
4
- it("is deterministic", () => {
5
- expect(fnv1a32("hello")).toBe(fnv1a32("hello"));
6
- expect(fnv1a32("")).toBe(fnv1a32(""));
7
- });
8
- it("returns a 32-bit unsigned integer", () => {
9
- const samples = ["", "a", "hello world", "sub_abc123", "x".repeat(200)];
10
- for (const s of samples) {
11
- const h = fnv1a32(s);
12
- expect(Number.isInteger(h)).toBe(true);
13
- expect(h >= 0).toBe(true);
14
- expect(h <= 0xffffffff).toBe(true);
15
- }
16
- });
17
- it("matches well-known FNV-1a 32 reference vectors", () => {
18
- // Reference values from the canonical FNV-1a 32-bit specification.
19
- // http://www.isthe.com/chongo/tech/comp/fnv/
20
- expect(fnv1a32("")).toBe(0x811c9dc5);
21
- expect(fnv1a32("a")).toBe(0xe40c292c);
22
- expect(fnv1a32("foobar")).toBe(0xbf9cf968);
23
- });
24
- it("differs for different inputs", () => {
25
- expect(fnv1a32("a")).not.toBe(fnv1a32("b"));
26
- expect(fnv1a32("hello")).not.toBe(fnv1a32("Hello"));
27
- });
28
- it("distributes reasonably evenly across small buckets", () => {
29
- const buckets = new Array(4).fill(0);
30
- const N = 2000;
31
- for (let i = 0; i < N; i++) {
32
- buckets[fnv1a32(`sub_${i}`) % 4]++;
33
- }
34
- // Each bucket should be within ~25% of the expected mean (N/4 = 500).
35
- // We allow a generous band because this is a sanity check, not a
36
- // distribution proof.
37
- for (const c of buckets) {
38
- expect(c).toBeGreaterThan(N / 4 * 0.75);
39
- expect(c).toBeLessThan(N / 4 * 1.25);
40
- }
41
- });
42
- });
43
- //# sourceMappingURL=hash.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hash.test.js","sourceRoot":"","sources":["../../../src/server/hash.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,OAAO,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,mEAAmE;QACnE,6CAA6C;QAC7C,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAa,CAAC;QACjD,MAAM,CAAC,GAAG,IAAI,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAE,EAAE,CAAC;QACtC,CAAC;QACD,sEAAsE;QACtE,iEAAiE;QACjE,sBAAsB;QACtB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- export { SupaliveWebSocketServer } from "./supalive-server";
2
- export { SubscriptionManager } from "./subscription-manager";
3
- export { SubManagerClient } from "./subscription-manager-client";
4
- export { RegisterSubscriptionParamsSchema, type RegisterSubscriptionParams, type RegisterSubscriptionResult, UpdateSubscriptionReadSetParamsSchema, type UpdateSubscriptionReadSetParams, type UpdateSubscriptionReadSetResult, UnregisterSubscriptionParamsSchema, type UnregisterSubscriptionParams, type UnregisterSubscriptionResult, InvalidateWritesetParamsSchema, type InvalidateWritesetParams, type InvalidateWritesetResult, type AffectedSubscription, } from "./subscription-manager-types";
5
- export { CacheLayer } from "../db/cache";
6
- export { generateSubscriptionId, generateCacheKey, getHashOf, ANONYMOUS_IDENTITY, } from "./sub_hash";
7
- export type { SubId } from "./types_server";
8
- export * from "../logger";
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EACL,gCAAgC,EAChC,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,qCAAqC,EACrC,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACpC,kCAAkC,EAClC,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,8BAA8B,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,GAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,SAAS,EACT,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,cAAc,WAAW,CAAC"}
@@ -1,8 +0,0 @@
1
- export { SupaliveWebSocketServer } from "./supalive-server";
2
- export { SubscriptionManager } from "./subscription-manager";
3
- export { SubManagerClient } from "./subscription-manager-client";
4
- export { RegisterSubscriptionParamsSchema, UpdateSubscriptionReadSetParamsSchema, UnregisterSubscriptionParamsSchema, InvalidateWritesetParamsSchema, } from "./subscription-manager-types";
5
- export { CacheLayer } from "../db/cache";
6
- export { generateSubscriptionId, generateCacheKey, getHashOf, ANONYMOUS_IDENTITY, } from "./sub_hash";
7
- export * from "../logger";
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EACL,gCAAgC,EAGhC,qCAAqC,EAGrC,kCAAkC,EAGlC,8BAA8B,GAI/B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,SAAS,EACT,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,cAAc,WAAW,CAAC"}
@@ -1,18 +0,0 @@
1
- import type { ReadEntry, CommitLogEntry, Predicate, WriteEntry, WriteOp, RawReadEntry } from "../db/types_db";
2
- export interface RawWriteEntry {
3
- table: string;
4
- tableId: Uint8Array;
5
- id: Uint8Array;
6
- op: WriteOp;
7
- data?: Record<string, unknown>;
8
- prevData?: Record<string, unknown>;
9
- }
10
- export declare function mapReadEntryToRaw(entry: ReadEntry): RawReadEntry;
11
- export declare function mapReadSetToRaw(readSet: ReadEntry[]): RawReadEntry[];
12
- export declare function mapWriteEntryToRaw(entry: WriteEntry): RawWriteEntry;
13
- export declare function mapWriteSetToRaw(writeSet: WriteEntry[]): RawWriteEntry[];
14
- export type OverlapVerdict = "yes" | "no" | "unknown";
15
- export declare function evaluatePredicateAgainstRow(rowData: Record<string, unknown>, predicate: Predicate): OverlapVerdict;
16
- export declare function checkLogsAffectReadSet(logs: CommitLogEntry[], rawReadSet: RawReadEntry[]): boolean;
17
- export declare function checkWriteSetAffectsReadSet(writeSet: RawWriteEntry[], rawReadSet: RawReadEntry[]): boolean;
18
- //# sourceMappingURL=overlap-checker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"overlap-checker.d.ts","sourceRoot":"","sources":["../../../src/server/overlap-checker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,UAAU,EAAE,OAAO,EAC9B,YAAY,EACb,MAAM,gBAAgB,CAAC;AAKxB,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,CAAC;IACpB,EAAE,EAAE,UAAU,CAAC;IACf,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,CAoBhE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAEpE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa,CASnE;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE,CAExE;AAED,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;AAEtD,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,EAAE,SAAS,GACnB,cAAc,CAwFhB;AAoBD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,cAAc,EAAE,EACtB,UAAU,EAAE,YAAY,EAAE,GACzB,OAAO,CAeT;AA8BD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,aAAa,EAAE,EACzB,UAAU,EAAE,YAAY,EAAE,GACzB,OAAO,CAWT"}