@supalive/core 1.16.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 (143) hide show
  1. package/dist/index-B2nE1y9E.d.ts +2384 -0
  2. package/dist/index-B2nE1y9E.d.ts.map +1 -0
  3. package/dist/index-B3i2G1gr.d.ts +2402 -0
  4. package/dist/index-B3i2G1gr.d.ts.map +1 -0
  5. package/dist/index-B5hAqW3O.d.ts +2402 -0
  6. package/dist/index-B5hAqW3O.d.ts.map +1 -0
  7. package/dist/index-BHs0EtJk.d.ts +2402 -0
  8. package/dist/index-BHs0EtJk.d.ts.map +1 -0
  9. package/dist/index-BI3MfAyI.d.ts +2399 -0
  10. package/dist/index-BI3MfAyI.d.ts.map +1 -0
  11. package/dist/index-BL90lDw7.d.ts +2400 -0
  12. package/dist/index-BL90lDw7.d.ts.map +1 -0
  13. package/dist/index-BMz7jVbX.d.ts +2402 -0
  14. package/dist/index-BMz7jVbX.d.ts.map +1 -0
  15. package/dist/index-BvryqYUm.d.ts +2394 -0
  16. package/dist/index-BvryqYUm.d.ts.map +1 -0
  17. package/dist/index-CjkNEwSc.d.ts +2402 -0
  18. package/dist/index-CjkNEwSc.d.ts.map +1 -0
  19. package/dist/index-Cng74DL5.d.ts +2404 -0
  20. package/dist/index-Cng74DL5.d.ts.map +1 -0
  21. package/dist/index-DYkOBnw_.d.ts +2378 -0
  22. package/dist/index-DYkOBnw_.d.ts.map +1 -0
  23. package/dist/index-DcM2uKpT.d.ts +2393 -0
  24. package/dist/index-DcM2uKpT.d.ts.map +1 -0
  25. package/dist/index-DsvdhOKL.d.ts +2400 -0
  26. package/dist/index-DsvdhOKL.d.ts.map +1 -0
  27. package/dist/index-yXV5AMh9.d.ts +2416 -0
  28. package/dist/index-yXV5AMh9.d.ts.map +1 -0
  29. package/dist/mysql-1ENHI0yX.d.ts +114 -0
  30. package/dist/mysql-1ENHI0yX.d.ts.map +1 -0
  31. package/dist/mysql-BJaQhVGE.d.ts +114 -0
  32. package/dist/mysql-BJaQhVGE.d.ts.map +1 -0
  33. package/dist/mysql-BKs5PTSR.d.ts +114 -0
  34. package/dist/mysql-BKs5PTSR.d.ts.map +1 -0
  35. package/dist/mysql-C6jg1Vpr.d.ts +114 -0
  36. package/dist/mysql-C6jg1Vpr.d.ts.map +1 -0
  37. package/dist/mysql-C7Km_lgc.d.ts +114 -0
  38. package/dist/mysql-C7Km_lgc.d.ts.map +1 -0
  39. package/dist/mysql-Cxro4f6T.d.ts +114 -0
  40. package/dist/mysql-Cxro4f6T.d.ts.map +1 -0
  41. package/dist/mysql-DKR33wfH.d.ts +114 -0
  42. package/dist/mysql-DKR33wfH.d.ts.map +1 -0
  43. package/dist/mysql-DNiYIZCK.d.ts +114 -0
  44. package/dist/mysql-DNiYIZCK.d.ts.map +1 -0
  45. package/dist/mysql-DS1s1c5M.d.ts +114 -0
  46. package/dist/mysql-DS1s1c5M.d.ts.map +1 -0
  47. package/dist/mysql-DcHgRk9f.d.ts +114 -0
  48. package/dist/mysql-DcHgRk9f.d.ts.map +1 -0
  49. package/dist/mysql-DnrIJoWL.d.ts +114 -0
  50. package/dist/mysql-DnrIJoWL.d.ts.map +1 -0
  51. package/dist/mysql-GsWYd6fG.d.ts +114 -0
  52. package/dist/mysql-GsWYd6fG.d.ts.map +1 -0
  53. package/dist/mysql-qTszEKAU.d.ts +114 -0
  54. package/dist/mysql-qTszEKAU.d.ts.map +1 -0
  55. package/dist/mysql-qW13LcGQ.d.ts +114 -0
  56. package/dist/mysql-qW13LcGQ.d.ts.map +1 -0
  57. package/dist/postgres-B0fqJe1X.d.ts +118 -0
  58. package/dist/postgres-B0fqJe1X.d.ts.map +1 -0
  59. package/dist/postgres-BATDLPml.d.ts +118 -0
  60. package/dist/postgres-BATDLPml.d.ts.map +1 -0
  61. package/dist/postgres-BUVYjnaT.d.ts +118 -0
  62. package/dist/postgres-BUVYjnaT.d.ts.map +1 -0
  63. package/dist/postgres-Bk_8PFRT.d.ts +118 -0
  64. package/dist/postgres-Bk_8PFRT.d.ts.map +1 -0
  65. package/dist/postgres-Bx79_JEy.d.ts +118 -0
  66. package/dist/postgres-Bx79_JEy.d.ts.map +1 -0
  67. package/dist/postgres-C3w741VH.d.ts +118 -0
  68. package/dist/postgres-C3w741VH.d.ts.map +1 -0
  69. package/dist/postgres-CAZYYgbZ.d.ts +118 -0
  70. package/dist/postgres-CAZYYgbZ.d.ts.map +1 -0
  71. package/dist/postgres-CFarR3cB.d.ts +118 -0
  72. package/dist/postgres-CFarR3cB.d.ts.map +1 -0
  73. package/dist/postgres-CWVM-KKP.d.ts +118 -0
  74. package/dist/postgres-CWVM-KKP.d.ts.map +1 -0
  75. package/dist/postgres-D50xpaQ-.d.ts +118 -0
  76. package/dist/postgres-D50xpaQ-.d.ts.map +1 -0
  77. package/dist/postgres-bhVzeRf2.d.ts +118 -0
  78. package/dist/postgres-bhVzeRf2.d.ts.map +1 -0
  79. package/dist/postgres-tVdgYJkj.d.ts +118 -0
  80. package/dist/postgres-tVdgYJkj.d.ts.map +1 -0
  81. package/dist/postgres-yAn2CF7j.d.ts +118 -0
  82. package/dist/postgres-yAn2CF7j.d.ts.map +1 -0
  83. package/dist/postgres-yTjQ-Nxk.d.ts +118 -0
  84. package/dist/postgres-yTjQ-Nxk.d.ts.map +1 -0
  85. package/dist/router-Bk0eLfmB.js +285 -0
  86. package/dist/router-Bk0eLfmB.js.map +1 -0
  87. package/dist/router-DP2ThAwh.js.map +1 -1
  88. package/dist/src/client/index.d.ts +2 -2
  89. package/dist/src/client/index.js +18 -5
  90. package/dist/src/client/index.js.map +1 -1
  91. package/dist/src/exports/mysql.d.ts +1 -1
  92. package/dist/src/exports/postgres.d.ts +1 -1
  93. package/dist/src/exports/procedure.d.ts +1 -1
  94. package/dist/src/exports/schema-sql.d.ts +1 -1
  95. package/dist/src/exports/server.d.ts +11 -7
  96. package/dist/src/exports/server.d.ts.map +1 -1
  97. package/dist/src/exports/server.js +34 -15
  98. package/dist/src/exports/server.js.map +1 -1
  99. package/dist/src/exports/sub-manager-worker-entry.js +1 -1
  100. package/dist/src/exports/types.d.ts +3 -3
  101. package/dist/src/exports/types.js +1 -1
  102. package/dist/sub-worker-dispatch-Cvqarej5.js +826 -0
  103. package/dist/sub-worker-dispatch-Cvqarej5.js.map +1 -0
  104. package/dist/sub-worker-dispatch-D-3VPkd4.js +826 -0
  105. package/dist/sub-worker-dispatch-D-3VPkd4.js.map +1 -0
  106. package/dist/sub-worker-dispatch-qiSs5Xkm.js.map +1 -1
  107. package/dist/types_client_rpc-B8jh6MKl.js +154 -0
  108. package/dist/types_client_rpc-B8jh6MKl.js.map +1 -0
  109. package/dist/types_client_rpc-BRCAgeyJ.js +155 -0
  110. package/dist/types_client_rpc-BRCAgeyJ.js.map +1 -0
  111. package/dist/types_server-AXVa_2mF.d.ts +684 -0
  112. package/dist/types_server-AXVa_2mF.d.ts.map +1 -0
  113. package/dist/types_server-B5KQ6PAO.d.ts +692 -0
  114. package/dist/types_server-B5KQ6PAO.d.ts.map +1 -0
  115. package/dist/types_server-BJBeSk6n.d.ts +691 -0
  116. package/dist/types_server-BJBeSk6n.d.ts.map +1 -0
  117. package/dist/types_server-BXeiSmd8.d.ts +691 -0
  118. package/dist/types_server-BXeiSmd8.d.ts.map +1 -0
  119. package/dist/types_server-BnRmctWG.d.ts +699 -0
  120. package/dist/types_server-BnRmctWG.d.ts.map +1 -0
  121. package/dist/types_server-C20ibVGu.d.ts +692 -0
  122. package/dist/types_server-C20ibVGu.d.ts.map +1 -0
  123. package/dist/types_server-CUPM08l2.d.ts +684 -0
  124. package/dist/types_server-CUPM08l2.d.ts.map +1 -0
  125. package/dist/types_server-CjjJIQps.d.ts +691 -0
  126. package/dist/types_server-CjjJIQps.d.ts.map +1 -0
  127. package/dist/types_server-CjzRPllt.d.ts +691 -0
  128. package/dist/types_server-CjzRPllt.d.ts.map +1 -0
  129. package/dist/types_server-CtYRmHdO.d.ts +684 -0
  130. package/dist/types_server-CtYRmHdO.d.ts.map +1 -0
  131. package/dist/types_server-Cy4bvdeN.d.ts +691 -0
  132. package/dist/types_server-Cy4bvdeN.d.ts.map +1 -0
  133. package/dist/types_server-DHRi8bGO.d.ts +684 -0
  134. package/dist/types_server-DHRi8bGO.d.ts.map +1 -0
  135. package/dist/types_server-DoeybfmY.d.ts +684 -0
  136. package/dist/types_server-DoeybfmY.d.ts.map +1 -0
  137. package/dist/types_server-JK14NE0j.d.ts +684 -0
  138. package/dist/types_server-JK14NE0j.d.ts.map +1 -0
  139. package/dist/types_server-hYv2--1M.d.ts +684 -0
  140. package/dist/types_server-hYv2--1M.d.ts.map +1 -0
  141. package/dist/types_server-kkQJDSjA.d.ts +684 -0
  142. package/dist/types_server-kkQJDSjA.d.ts.map +1 -0
  143. package/package.json +1 -2
@@ -1,4 +1,4 @@
1
- import { $ as AppRouter, An as OverrideField, At as QueryProcedure, Bn as defineComputedField, Cn as DeclarativeIndex, Ct as MutationCtx, Dn as InsertData, Dt as QueryConfig, En as InferSchema, Et as OutputOf, Fn as SchemaCodecs, Ft as createQueryBuilder, Hn as schemaRegistry, In as SchemaColumnMapping, Ln as SchemaColumnsOptions, Mn as QueryArgs, Mt as createActionBuilder, Nn as ReturnLiveQuery, Nt as createJobBuilder, On as Model, Ot as QueryCtx, Pn as ReturnQuery, Pt as createMutationBuilder, Q as ActionProcedures, Rn as SchemaDefinition, Sn as ComputedFieldConfig, St as MutationConfig, Tn as IndexDefinition, Tt as MutationProcedure, Un as shouldTrackSchema, Vn as defineSchema, Wn as tableNameToId, _n as ActionArgs, _t as HandlerObservability, an as JsonContainsOptions, at as QueryProcedures, bn as ComputedDataType, bt as JobFn, cn as OrderByOptions, ct as getContextRegistry, dn as QueryBuilder, dt as ActionCtx, et as ContextRegistry, fn as buildPredicateSql, ft as ActionFn, gn as matchesPredicate, gt as HandlerLogger, hn as jsonPathExtract, ht as ContextOf, in as IdAndCommitTs, it as PublicProcedures, jn as Prettify, jt as TypeOf, kn as MutationArgs, kt as QueryFn, ln as OrderDirection, lt as router, mn as jsonPathExists, mt as AnyProcedure, nt as MutationProcedures, on as JsonHasKeyMultiOptions, ot as RegisteredProcedure, pn as jsonContains, pt as ActionProcedure, rt as ProcedureNames, sn as JsonOpOptions, st as Router, tt as JobProcedures, un as PaginationClause, ut as ActionConfig, vn as ColumnCodec, vt as JobConfig, wn as DefineSchemaConfig, wt as MutationFn, xn as ComputedField, xt as JobProcedure, yn as ComputedCodec, yt as JobCtx, zn as StoredSchemaColumnsOptions } from "../../index-CfcrWLLm.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 { Hn as schemaRegistry, Rn as SchemaDefinition } from "../../index-CfcrWLLm.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 JobClient, E as Context, Gt as ScheduledJobDef, Ht as QStashScheduler, It as DevScheduler, Kn as Database, Kt as SupaliveDb, Lt as DevSchedulerOptions, Rt as EnqueueOptions, Ut as QStashSchedulerOptions, Vt as JobScheduler, Wt as ScheduleHandle, ar as InvalidateWritesetResult, cr as RegisterSubscriptionResult, dr as UnregisterSubscriptionResult, gr as UpdateSubscriptionReadSetResult, hr as UpdateSubscriptionReadSetParamsSchema, ir as InvalidateWritesetParamsSchema, lr as UnregisterSubscriptionParams, mr as UpdateSubscriptionReadSetParams, nr as AffectedSubscription, or as RegisterSubscriptionParams, rr as InvalidateWritesetParams, sr as RegisterSubscriptionParamsSchema, st as Router, tr as CacheLayer, ur as UnregisterSubscriptionParamsSchema, zt as IncomingJobRequest } from "../../index-CfcrWLLm.js";
2
- import { t as MySqlDatabase } from "../../mysql-07ROfbBZ.js";
3
- import { t as PgDatabase } from "../../postgres-Dnshux6k.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-DmCbve3w.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,12 @@ 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
+ */
70
+ getObservability(): Observability;
66
71
  /** Absolute URL the scheduler POSTs to for a given job name. */
67
72
  endpointFor(name: string): string;
68
73
  /**
@@ -158,7 +163,6 @@ declare class SupaliveWebSocketServer<TContext extends Context> {
158
163
  private reexecuteAffectedQuery;
159
164
  private executeLiveQuery;
160
165
  private sendMessage;
161
- private sendMessageRaw;
162
166
  private sendError;
163
167
  private subscribeToInstanceChannel;
164
168
  /**
@@ -315,7 +319,7 @@ type InitCacheLayerOptions = {
315
319
  };
316
320
  declare function initCacheLayer(config: InitCacheLayerOptions): {
317
321
  cacheLayer: CacheLayer;
318
- redisSubClient?: Redis$1;
322
+ redisSubClient?: IORedisClient;
319
323
  };
320
324
  //#endregion
321
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";
@@ -355,7 +355,7 @@ function summary(e) {
355
355
  * `ts` the result reflects, which the caller echoes so the client can advance
356
356
  * its high-water.
357
357
  */
358
- async function runCachedQuery(deps, procedure, procedureName, input, serverCtx, lastSnapshotTs, clientMinTs, handlerObs) {
358
+ async function runCachedQuery(deps, handlerObs, procedure, procedureName, input, serverCtx, lastSnapshotTs, clientMinTs) {
359
359
  const queryIdentity = resolveQueryIdentity(procedure, serverCtx, input, deps.getUserId);
360
360
  const cacheKey = await generateCacheKey(procedureName, stableStringify(input), queryIdentity);
361
361
  const routing = await resolveReadRouting(deps.db, lastSnapshotTs, clientMinTs ?? 0n);
@@ -396,7 +396,7 @@ async function runCachedQuery(deps, procedure, procedureName, input, serverCtx,
396
396
  db: ctx,
397
397
  serverCtx,
398
398
  ...makeConnRouting(ctx, routing),
399
- log: handlerObs?.log,
399
+ log: handlerObs.log,
400
400
  span: querySpan
401
401
  };
402
402
  return fn(qctx, input);
@@ -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
@@ -1112,7 +1116,7 @@ var HttpRpcHandler = class {
1112
1116
  async runProcedure(procedure, input, serverCtx, minTs, handlerObs) {
1113
1117
  if (procedure.type === "query") {
1114
1118
  const lastSnapshotTs = await this.deps.db.impl.getLatestSnapshotTimestamp();
1115
- return runCachedQuery(this.deps.oneShotDeps, procedure, procedure.name, input, serverCtx, lastSnapshotTs, minTs, handlerObs);
1119
+ return runCachedQuery(this.deps.oneShotDeps, handlerObs, procedure, procedure.name, input, serverCtx, lastSnapshotTs, minTs);
1116
1120
  }
1117
1121
  if (procedure.type === "mutation") {
1118
1122
  const res = await this.deps.db.mutation(async (ctx) => {
@@ -1121,8 +1125,8 @@ var HttpRpcHandler = class {
1121
1125
  db: ctx,
1122
1126
  serverCtx,
1123
1127
  ...primaryOnlyConn,
1124
- log: handlerObs?.log,
1125
- span: handlerObs?.span
1128
+ log: handlerObs.log,
1129
+ span: handlerObs.span
1126
1130
  }, input);
1127
1131
  });
1128
1132
  return {
@@ -1136,8 +1140,8 @@ var HttpRpcHandler = class {
1136
1140
  serverCtx,
1137
1141
  storage: this.deps.storage,
1138
1142
  scheduler: this.deps.scheduler,
1139
- log: handlerObs?.log,
1140
- span: handlerObs?.span
1143
+ log: handlerObs.log,
1144
+ span: handlerObs.span
1141
1145
  }, input) };
1142
1146
  }
1143
1147
  async resolveAuth(req) {
@@ -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,14 @@ 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
+ */
1479
+ getObservability() {
1480
+ return this.obs;
1481
+ }
1468
1482
  /** Absolute URL the scheduler POSTs to for a given job name. */
1469
1483
  endpointFor(name) {
1470
1484
  return `${this.config.publicUrl}${this.jobPath}/${name}`;
@@ -1692,7 +1706,10 @@ var SupaliveWebSocketServer = class {
1692
1706
  db: ctx,
1693
1707
  serverCtx: session.serverCtx,
1694
1708
  ...primaryOnlyConn,
1695
- log: op.handlerObs?.log,
1709
+ log: op.handlerObs?.log ?? this.obs.lazyChildLogger({
1710
+ caller: "internal",
1711
+ procedure: op.procedure.name
1712
+ }),
1696
1713
  span: op.handlerObs?.span
1697
1714
  }, op.validatedInput);
1698
1715
  });
@@ -1763,7 +1780,7 @@ var SupaliveWebSocketServer = class {
1763
1780
  const validatedInput = procedure.inputSchema.parse(input);
1764
1781
  if (procedure.type === "query") {
1765
1782
  const lastSnapshotTs = await this.db.impl.getLatestSnapshotTimestamp();
1766
- const { data, ts } = await runCachedQuery(this.oneShotDeps, procedure, procedureName, validatedInput, session.serverCtx, lastSnapshotTs, minTs, handlerObs);
1783
+ const { data, ts } = await runCachedQuery(this.oneShotDeps, handlerObs, procedure, procedureName, validatedInput, session.serverCtx, lastSnapshotTs, minTs);
1767
1784
  this.sendMessage(session, {
1768
1785
  type: "response",
1769
1786
  id,
@@ -2235,23 +2252,25 @@ var SupaliveWebSocketServer = class {
2235
2252
  if (!procedure || procedure.type !== "query") throw new Error(`Procedure not defined: ${procedureName}`);
2236
2253
  return this.db.liveQuery(async (ctx) => {
2237
2254
  const fn = procedure.fn;
2255
+ const callerLog = () => this.obs.lazyChildLogger({
2256
+ caller: "internal",
2257
+ procedure: procedureName
2258
+ });
2238
2259
  return traceQueryExecution(procedureName, opts?.trigger ?? "recompute", opts?.parentContext, (querySpan) => fn({
2239
2260
  db: ctx,
2240
2261
  serverCtx,
2241
2262
  ...primaryOnlyConn,
2242
- log: opts?.log,
2263
+ log: opts?.log ?? callerLog(),
2243
2264
  span: querySpan
2244
2265
  }, input));
2245
2266
  });
2246
2267
  }
2247
2268
  sendMessage(session, message) {
2248
2269
  if (session.ws.readyState !== WebSocket.OPEN) return;
2270
+ message.build = this.config.buildNumber;
2249
2271
  session.ws.send(supaliveStringify(message));
2250
2272
  session.lastSentAt = Date.now();
2251
2273
  }
2252
- sendMessageRaw(session, message) {
2253
- if (session.ws.readyState === WebSocket.OPEN) session.ws.send(message);
2254
- }
2255
2274
  sendError(session, id, error, code) {
2256
2275
  this.sendMessage(session, {
2257
2276
  type: "response",