@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,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":"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"}
@@ -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"}