@supalive/core 1.17.0 → 1.18.0

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 (76) hide show
  1. package/dist/index-B3i2G1gr.d.ts +2402 -0
  2. package/dist/index-B3i2G1gr.d.ts.map +1 -0
  3. package/dist/index-BHs0EtJk.d.ts +2402 -0
  4. package/dist/index-BHs0EtJk.d.ts.map +1 -0
  5. package/dist/index-BMz7jVbX.d.ts +2402 -0
  6. package/dist/index-BMz7jVbX.d.ts.map +1 -0
  7. package/dist/index-CjkNEwSc.d.ts +2402 -0
  8. package/dist/index-CjkNEwSc.d.ts.map +1 -0
  9. package/dist/index-Cng74DL5.d.ts +2404 -0
  10. package/dist/index-Cng74DL5.d.ts.map +1 -0
  11. package/dist/index-yXV5AMh9.d.ts +2416 -0
  12. package/dist/index-yXV5AMh9.d.ts.map +1 -0
  13. package/dist/mysql-1ENHI0yX.d.ts +114 -0
  14. package/dist/mysql-1ENHI0yX.d.ts.map +1 -0
  15. package/dist/mysql-C6jg1Vpr.d.ts +114 -0
  16. package/dist/mysql-C6jg1Vpr.d.ts.map +1 -0
  17. package/dist/mysql-DKR33wfH.d.ts +114 -0
  18. package/dist/mysql-DKR33wfH.d.ts.map +1 -0
  19. package/dist/mysql-DcHgRk9f.d.ts +114 -0
  20. package/dist/mysql-DcHgRk9f.d.ts.map +1 -0
  21. package/dist/mysql-DnrIJoWL.d.ts +114 -0
  22. package/dist/mysql-DnrIJoWL.d.ts.map +1 -0
  23. package/dist/mysql-GsWYd6fG.d.ts +114 -0
  24. package/dist/mysql-GsWYd6fG.d.ts.map +1 -0
  25. package/dist/postgres-CFarR3cB.d.ts +118 -0
  26. package/dist/postgres-CFarR3cB.d.ts.map +1 -0
  27. package/dist/postgres-CWVM-KKP.d.ts +118 -0
  28. package/dist/postgres-CWVM-KKP.d.ts.map +1 -0
  29. package/dist/postgres-D50xpaQ-.d.ts +118 -0
  30. package/dist/postgres-D50xpaQ-.d.ts.map +1 -0
  31. package/dist/postgres-tVdgYJkj.d.ts +118 -0
  32. package/dist/postgres-tVdgYJkj.d.ts.map +1 -0
  33. package/dist/postgres-yAn2CF7j.d.ts +118 -0
  34. package/dist/postgres-yAn2CF7j.d.ts.map +1 -0
  35. package/dist/postgres-yTjQ-Nxk.d.ts +118 -0
  36. package/dist/postgres-yTjQ-Nxk.d.ts.map +1 -0
  37. package/dist/src/client/index.d.ts +1 -1
  38. package/dist/src/client/index.js +1 -1
  39. package/dist/src/client/index.js.map +1 -1
  40. package/dist/src/exports/mysql.d.ts +1 -1
  41. package/dist/src/exports/postgres.d.ts +1 -1
  42. package/dist/src/exports/procedure.d.ts +1 -1
  43. package/dist/src/exports/schema-sql.d.ts +1 -1
  44. package/dist/src/exports/server.d.ts +10 -7
  45. package/dist/src/exports/server.d.ts.map +1 -1
  46. package/dist/src/exports/server.js +14 -5
  47. package/dist/src/exports/server.js.map +1 -1
  48. package/dist/src/exports/sub-manager-worker-entry.js +1 -1
  49. package/dist/src/exports/types.d.ts +3 -3
  50. package/dist/src/exports/types.js +1 -1
  51. package/dist/sub-worker-dispatch-Cvqarej5.js +826 -0
  52. package/dist/sub-worker-dispatch-Cvqarej5.js.map +1 -0
  53. package/dist/sub-worker-dispatch-D-3VPkd4.js +826 -0
  54. package/dist/sub-worker-dispatch-D-3VPkd4.js.map +1 -0
  55. package/dist/sub-worker-dispatch-qiSs5Xkm.js.map +1 -1
  56. package/dist/types_client_rpc-B8jh6MKl.js +154 -0
  57. package/dist/types_client_rpc-B8jh6MKl.js.map +1 -0
  58. package/dist/types_client_rpc-BRCAgeyJ.js +155 -0
  59. package/dist/types_client_rpc-BRCAgeyJ.js.map +1 -0
  60. package/dist/types_server-B5KQ6PAO.d.ts +692 -0
  61. package/dist/types_server-B5KQ6PAO.d.ts.map +1 -0
  62. package/dist/types_server-BJBeSk6n.d.ts +691 -0
  63. package/dist/types_server-BJBeSk6n.d.ts.map +1 -0
  64. package/dist/types_server-BXeiSmd8.d.ts +691 -0
  65. package/dist/types_server-BXeiSmd8.d.ts.map +1 -0
  66. package/dist/types_server-BnRmctWG.d.ts +699 -0
  67. package/dist/types_server-BnRmctWG.d.ts.map +1 -0
  68. package/dist/types_server-C20ibVGu.d.ts +692 -0
  69. package/dist/types_server-C20ibVGu.d.ts.map +1 -0
  70. package/dist/types_server-CjjJIQps.d.ts +691 -0
  71. package/dist/types_server-CjjJIQps.d.ts.map +1 -0
  72. package/dist/types_server-CjzRPllt.d.ts +691 -0
  73. package/dist/types_server-CjzRPllt.d.ts.map +1 -0
  74. package/dist/types_server-Cy4bvdeN.d.ts +691 -0
  75. package/dist/types_server-Cy4bvdeN.d.ts.map +1 -0
  76. package/package.json +1 -2
@@ -1,4 +1,4 @@
1
- import { $ as ActionProcedures, An as MutationArgs, At as QueryFn, Bn as StoredSchemaColumnsOptions, Cn as ComputedFieldConfig, Ct as MutationConfig, Dn as InferSchema, Dt as OutputOf, En as IndexDefinition, Et as MutationProcedure, Fn as ReturnQuery, Ft as createMutationBuilder, Gn as tableNameToId, Hn as defineSchema, In as SchemaCodecs, It as createQueryBuilder, Ln as SchemaColumnMapping, Mn as Prettify, Mt as TypeOf, Nn as QueryArgs, Nt as createActionBuilder, On as InsertData, Ot as QueryConfig, Pn as ReturnLiveQuery, Pt as createJobBuilder, Rn as SchemaColumnsOptions, Sn as ComputedField, St as JobProcedure, Tn as DefineSchemaConfig, Tt as MutationFn, Un as schemaRegistry, Vn as defineComputedField, Wn as shouldTrackSchema, _n as matchesPredicate, _t as HandlerLogger, an as IdAndCommitTs, at as PublicProcedures, bn as ComputedCodec, bt as JobCtx, cn as JsonOpOptions, ct as Router, dn as PaginationClause, dt as ActionConfig, et as AppRouter, fn as QueryBuilder, ft as ActionCtx, gn as jsonPathExtract, gt as ContextOf, hn as jsonPathExists, ht as AnyProcedure, it as ProcedureNames, jn as OverrideField, jt as QueryProcedure, kn as Model, kt as QueryCtx, ln as OrderByOptions, lt as getContextRegistry, mn as jsonContains, mt as ActionProcedure, nt as JobProcedures, on as JsonContainsOptions, ot as QueryProcedures, pn as buildPredicateSql, pt as ActionFn, rt as MutationProcedures, sn as JsonHasKeyMultiOptions, st as RegisteredProcedure, tt as ContextRegistry, un as OrderDirection, ut as router, vn as ActionArgs, vt as HandlerObservability, wn as DeclarativeIndex, wt as MutationCtx, xn as ComputedDataType, xt as JobFn, yn as ColumnCodec, yt as JobConfig, zn as SchemaDefinition } from "../../index-B5hAqW3O.js";
1
+ import { $ as ActionProcedures, An as MutationArgs, At as QueryFn, Bn as StoredSchemaColumnsOptions, Cn as ComputedFieldConfig, Ct as MutationConfig, Dn as InferSchema, Dt as OutputOf, En as IndexDefinition, Et as MutationProcedure, Fn as ReturnQuery, Ft as createMutationBuilder, Gn as tableNameToId, Hn as defineSchema, In as SchemaCodecs, It as createQueryBuilder, Ln as SchemaColumnMapping, Mn as Prettify, Mt as TypeOf, Nn as QueryArgs, Nt as createActionBuilder, On as InsertData, Ot as QueryConfig, Pn as ReturnLiveQuery, Pt as createJobBuilder, Rn as SchemaColumnsOptions, Sn as ComputedField, St as JobProcedure, Tn as DefineSchemaConfig, Tt as MutationFn, Un as schemaRegistry, Vn as defineComputedField, Wn as shouldTrackSchema, _n as matchesPredicate, _t as HandlerLogger, an as IdAndCommitTs, at as PublicProcedures, bn as ComputedCodec, bt as JobCtx, cn as JsonOpOptions, ct as Router, dn as PaginationClause, dt as ActionConfig, et as AppRouter, fn as QueryBuilder, ft as ActionCtx, gn as jsonPathExtract, gt as ContextOf, hn as jsonPathExists, ht as AnyProcedure, it as ProcedureNames, jn as OverrideField, jt as QueryProcedure, kn as Model, kt as QueryCtx, ln as OrderByOptions, lt as getContextRegistry, mn as jsonContains, mt as ActionProcedure, nt as JobProcedures, on as JsonContainsOptions, ot as QueryProcedures, pn as buildPredicateSql, pt as ActionFn, rt as MutationProcedures, sn as JsonHasKeyMultiOptions, st as RegisteredProcedure, tt as ContextRegistry, un as OrderDirection, ut as router, vn as ActionArgs, vt as HandlerObservability, wn as DeclarativeIndex, wt as MutationCtx, xn as ComputedDataType, xt as JobFn, yn as ColumnCodec, yt as JobConfig, zn as SchemaDefinition } from "../../index-yXV5AMh9.js";
2
2
  import { n as stableStringify, r as supaliveStringify, t as groupByToMap } from "../../helper-CiacMqje.js";
3
3
  import * as z$2 from "zod";
4
4
 
@@ -1,4 +1,4 @@
1
- import { Un as schemaRegistry, zn as SchemaDefinition } from "../../index-B5hAqW3O.js";
1
+ import { Un as schemaRegistry, zn as SchemaDefinition } from "../../index-yXV5AMh9.js";
2
2
 
3
3
  //#region src/db/schema-sql.d.ts
4
4
  type SqlDialect = "postgres" | "mysql";
@@ -1,9 +1,8 @@
1
- import { Bt as IncomingJobRequest, D as Context, Gt as ScheduleHandle, Ht as JobScheduler, Kt as ScheduledJobDef, Lt as DevScheduler, Rt as DevSchedulerOptions, Ut as QStashScheduler, Vt as JobClient, Wt as QStashSchedulerOptions, _r as UpdateSubscriptionReadSetResult, ar as InvalidateWritesetParamsSchema, cr as RegisterSubscriptionParamsSchema, ct as Router, dr as UnregisterSubscriptionParamsSchema, fr as UnregisterSubscriptionResult, gr as UpdateSubscriptionReadSetParamsSchema, hr as UpdateSubscriptionReadSetParams, ir as InvalidateWritesetParams, lr as RegisterSubscriptionResult, nr as CacheLayer, or as InvalidateWritesetResult, qn as Database, qt as SupaliveDb, rr as AffectedSubscription, sr as RegisterSubscriptionParams, ur as UnregisterSubscriptionParams, zt as EnqueueOptions } from "../../index-B5hAqW3O.js";
2
- import { t as MySqlDatabase } from "../../mysql-C7Km_lgc.js";
3
- import { t as PgDatabase } from "../../postgres-B0fqJe1X.js";
4
- import { A as QueryTrigger, C as SubManagerLink, D as OperationKind, E as OperationEvent, F as startTimer, I as traceQueryExecution, M as configureRootLogger, N as elapsedMs, O as OperationOutcome, P as getRootLogger, S as SubManagerClient, T as ObservabilityOptions, b as SupaliveServerConfig, j as RequestLogMode, k as OperationTransport, p as DatabaseConfig, u as SubId, w as Observability, x as UpstashConfig, y as SubscriptionManagerConfig } from "../../types_server-kkQJDSjA.js";
1
+ import { Bt as IncomingJobRequest, D as Context, Gt as ScheduleHandle, Ht as JobScheduler, Kt as ScheduledJobDef, Lt as DevScheduler, Rt as DevSchedulerOptions, Ut as QStashScheduler, Vt as JobClient, Wt as QStashSchedulerOptions, _r as UpdateSubscriptionReadSetParamsSchema, ar as InvalidateWritesetParams, cr as RegisterSubscriptionParams, ct as Router, dr as UnregisterSubscriptionParams, fr as UnregisterSubscriptionParamsSchema, gr as UpdateSubscriptionReadSetParams, ir as AffectedSubscription, lr as RegisterSubscriptionParamsSchema, nr as CacheLayer, or as InvalidateWritesetParamsSchema, pr as UnregisterSubscriptionResult, qn as Database, qt as SupaliveDb, rr as IORedisClient, sr as InvalidateWritesetResult, ur as RegisterSubscriptionResult, vr as UpdateSubscriptionReadSetResult, zt as EnqueueOptions } from "../../index-yXV5AMh9.js";
2
+ import { t as MySqlDatabase } from "../../mysql-DcHgRk9f.js";
3
+ import { t as PgDatabase } from "../../postgres-CWVM-KKP.js";
4
+ import { A as QueryTrigger, C as SubManagerLink, D as OperationKind, E as OperationEvent, F as startTimer, I as traceQueryExecution, M as configureRootLogger, N as elapsedMs, O as OperationOutcome, P as getRootLogger, S as SubManagerClient, T as ObservabilityOptions, b as SupaliveServerConfig, j as RequestLogMode, k as OperationTransport, p as DatabaseConfig, u as SubId, w as Observability, x as UpstashConfig, y as SubscriptionManagerConfig } from "../../types_server-CjjJIQps.js";
5
5
  import pino, { Level } from "pino";
6
- import Redis$1 from "ioredis";
7
6
 
8
7
  //#region src/server/supalive-server.d.ts
9
8
  /**
@@ -63,6 +62,11 @@ declare class SupaliveWebSocketServer<TContext extends Context> {
63
62
  * the scheduler registers are already reachable.
64
63
  */
65
64
  private syncJobSchedules;
65
+ /**
66
+ * The server's {@link Observability} — hand it to the internal caller's
67
+ * `init({ obs })` so its standalone calls log as per-procedure children of
68
+ * this server's request logger instead of a no-op.
69
+ */
66
70
  getObservability(): Observability;
67
71
  /** Absolute URL the scheduler POSTs to for a given job name. */
68
72
  endpointFor(name: string): string;
@@ -159,7 +163,6 @@ declare class SupaliveWebSocketServer<TContext extends Context> {
159
163
  private reexecuteAffectedQuery;
160
164
  private executeLiveQuery;
161
165
  private sendMessage;
162
- private sendMessageRaw;
163
166
  private sendError;
164
167
  private subscribeToInstanceChannel;
165
168
  /**
@@ -316,7 +319,7 @@ type InitCacheLayerOptions = {
316
319
  };
317
320
  declare function initCacheLayer(config: InitCacheLayerOptions): {
318
321
  cacheLayer: CacheLayer;
319
- redisSubClient?: Redis$1;
322
+ redisSubClient?: IORedisClient;
320
323
  };
321
324
  //#endregion
322
325
  //#region src/server/sub_hash.d.ts
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","names":[],"sources":["../../../src/server/supalive-server.ts","../../../src/logger.ts","../../../src/server/sub-manager.ts","../../../src/db/init_db.ts","../../../src/server/sub_hash.ts"],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","names":[],"sources":["../../../src/server/supalive-server.ts","../../../src/logger.ts","../../../src/server/sub-manager.ts","../../../src/db/init_db.ts","../../../src/server/sub_hash.ts"],"mappings":"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"}
@@ -2,10 +2,10 @@ import { l as primaryOnlyConn, n as getContextRegistry } from "../../router-DP2T
2
2
  import { n as stableStringify, r as supaliveStringify, t as groupByToMap } from "../../helper-zdJT5FUc.js";
3
3
  import { s as traceCacheCall } from "../../query-LJranz0c.js";
4
4
  import { r as evaluateCacheFreshness } from "../../overlap-checker-1TwhkAwy.js";
5
- import { i as AuthenticationError, o as ClientMessageSchema } from "../../types_client_rpc-CWZmlWmM.js";
5
+ import { i as AuthenticationError, o as ClientMessageSchema } from "../../types_client_rpc-B8jh6MKl.js";
6
6
  import { n as RemoteSubscriptionMessageSchema } from "../../types_server-BhC19R2a.js";
7
7
  import { n as sleep } from "../../realtime_db-B0Tin87E.js";
8
- import { C as appInstanceId, D as serializeMapValue, E as logger, S as RetentionWatermark, T as logLevelOf, _ as UnregisterSubscriptionResultSchema, a as bootstrapDbTypes, b as UpdateSubscriptionReadSetResultSchema, c as initCore, d as InvalidateWritesetParamsSchema, f as InvalidateWritesetResultSchema, g as UnregisterSubscriptionParamsSchema, h as RegisterSubscriptionResultSchema, i as DB_QUERY_TIMEOUT_MS, l as initDatabase, m as RegisterSubscriptionParamsSchema, n as SubscriptionWorker, o as createDatabase, p as RegisterSubscriptionBatchResultSchema, r as CORE_VERSION, s as initCacheLayer, t as dispatchWorkerMessage, u as CacheLayer, v as UnregisterSubscriptionsResultSchema, w as isProduction, x as RETENTION_WATERMARK_CHANNEL, y as UpdateSubscriptionReadSetParamsSchema } from "../../sub-worker-dispatch-qiSs5Xkm.js";
8
+ import { C as appInstanceId, D as serializeMapValue, E as logger, S as RetentionWatermark, T as logLevelOf, _ as UnregisterSubscriptionResultSchema, a as bootstrapDbTypes, b as UpdateSubscriptionReadSetResultSchema, c as initCore, d as InvalidateWritesetParamsSchema, f as InvalidateWritesetResultSchema, g as UnregisterSubscriptionParamsSchema, h as RegisterSubscriptionResultSchema, i as DB_QUERY_TIMEOUT_MS, l as initDatabase, m as RegisterSubscriptionParamsSchema, n as SubscriptionWorker, o as createDatabase, p as RegisterSubscriptionBatchResultSchema, r as CORE_VERSION, s as initCacheLayer, t as dispatchWorkerMessage, u as CacheLayer, v as UnregisterSubscriptionsResultSchema, w as isProduction, x as RETENTION_WATERMARK_CHANNEL, y as UpdateSubscriptionReadSetParamsSchema } from "../../sub-worker-dispatch-Cvqarej5.js";
9
9
  import { n as resolveReadRouting, t as makeConnRouting } from "../../read-routing-BUcQAwnd.js";
10
10
  import { ROOT_CONTEXT, SpanKind, SpanStatusCode, context, isSpanContextValid, metrics, propagation, trace } from "@opentelemetry/api";
11
11
  import { v4 } from "uuid";
@@ -842,6 +842,9 @@ var HttpRpcHandler = class {
842
842
  rateLimiter;
843
843
  /** Job webhook prefix (`{jobPath}/`) — a job POST is `{jobPath}/<jobName>`. */
844
844
  jobPrefix;
845
+ /** App build number added as a top-level `build` field to every response
846
+ * envelope (see {@link HttpRpcDeps.buildNumber}). Undefined = omit. */
847
+ buildNumber;
845
848
  constructor(deps) {
846
849
  this.deps = deps;
847
850
  this.rpc = deps.rpc;
@@ -852,6 +855,7 @@ var HttpRpcHandler = class {
852
855
  this.rateLimiter = new FixedWindowRateLimiter(rl.windowMs ?? 6e4, rl.max ?? 120);
853
856
  }
854
857
  this.jobPrefix = `${deps.jobPath}/`;
858
+ this.buildNumber = deps.buildNumber;
855
859
  }
856
860
  /** True when this handler owns the given request path as an RPC call. The
857
861
  * procedure name is carried in the body now, so a single exact path is the
@@ -1182,6 +1186,7 @@ var HttpRpcHandler = class {
1182
1186
  res.setHeader("access-control-max-age", "86400");
1183
1187
  }
1184
1188
  send(res, status, body) {
1189
+ body.build = this.buildNumber;
1185
1190
  res.writeHead(status, { "content-type": "application/json" });
1186
1191
  res.end(supaliveStringify(body));
1187
1192
  }
@@ -1366,6 +1371,7 @@ var SupaliveWebSocketServer = class {
1366
1371
  verifyAuth: config.verifyAuth,
1367
1372
  rpc: config.rpc ?? {},
1368
1373
  rpcEnabled: config.rpc !== void 0,
1374
+ buildNumber: config.buildNumber,
1369
1375
  storage: this.storage,
1370
1376
  scheduler: this.jobClient,
1371
1377
  obs: this.obs,
@@ -1465,6 +1471,11 @@ var SupaliveWebSocketServer = class {
1465
1471
  this.log.error(err, "Failed to sync job schedules");
1466
1472
  }
1467
1473
  }
1474
+ /**
1475
+ * The server's {@link Observability} — hand it to the internal caller's
1476
+ * `init({ obs })` so its standalone calls log as per-procedure children of
1477
+ * this server's request logger instead of a no-op.
1478
+ */
1468
1479
  getObservability() {
1469
1480
  return this.obs;
1470
1481
  }
@@ -2256,12 +2267,10 @@ var SupaliveWebSocketServer = class {
2256
2267
  }
2257
2268
  sendMessage(session, message) {
2258
2269
  if (session.ws.readyState !== WebSocket.OPEN) return;
2270
+ message.build = this.config.buildNumber;
2259
2271
  session.ws.send(supaliveStringify(message));
2260
2272
  session.lastSentAt = Date.now();
2261
2273
  }
2262
- sendMessageRaw(session, message) {
2263
- if (session.ws.readyState === WebSocket.OPEN) session.ws.send(message);
2264
- }
2265
2274
  sendError(session, id, error, code) {
2266
2275
  this.sendMessage(session, {
2267
2276
  type: "response",