@rocicorp/zero 0.18.2025032401 → 0.18.2025032800

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 (234) hide show
  1. package/out/advanced.js +0 -1
  2. package/out/{chunk-5WXONOGR.js → chunk-3S3SDA44.js} +205 -140
  3. package/out/chunk-3S3SDA44.js.map +7 -0
  4. package/out/{chunk-2B2QE5AT.js → chunk-MB3DEFRC.js} +25 -2
  5. package/out/{chunk-2B2QE5AT.js.map → chunk-MB3DEFRC.js.map} +2 -2
  6. package/out/{chunk-DSUPSGE4.js → chunk-NBZURO2P.js} +81 -26
  7. package/out/{chunk-DSUPSGE4.js.map → chunk-NBZURO2P.js.map} +4 -4
  8. package/out/{inspector-ROITQB3J.js → inspector-SH2ZK7O3.js} +253 -102
  9. package/out/inspector-SH2ZK7O3.js.map +7 -0
  10. package/out/react.js +2 -3
  11. package/out/react.js.map +2 -2
  12. package/out/shared/src/sentinels.d.ts +3 -0
  13. package/out/shared/src/sentinels.d.ts.map +1 -0
  14. package/out/solid.js +3 -4
  15. package/out/solid.js.map +2 -2
  16. package/out/z2s/src/compiler.d.ts +5 -3
  17. package/out/z2s/src/compiler.d.ts.map +1 -1
  18. package/out/z2s/src/compiler.js +116 -16
  19. package/out/z2s/src/compiler.js.map +1 -1
  20. package/out/z2s/src/sql.d.ts +8 -0
  21. package/out/z2s/src/sql.d.ts.map +1 -1
  22. package/out/z2s/src/sql.js +205 -11
  23. package/out/z2s/src/sql.js.map +1 -1
  24. package/out/zero/src/zero-cache-dev.d.ts +1 -1
  25. package/out/zero/src/zero-cache-dev.d.ts.map +1 -1
  26. package/out/zero/src/zero-cache-dev.js +1 -1
  27. package/out/zero/src/zero-cache-dev.js.map +1 -1
  28. package/out/zero-cache/src/auth/load-permissions.d.ts.map +1 -1
  29. package/out/zero-cache/src/auth/load-permissions.js +2 -1
  30. package/out/zero-cache/src/auth/load-permissions.js.map +1 -1
  31. package/out/zero-cache/src/config/zero-config.d.ts +1 -1
  32. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  33. package/out/zero-cache/src/config/zero-config.js +6 -3
  34. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  35. package/out/zero-cache/src/db/migration-lite.d.ts.map +1 -1
  36. package/out/zero-cache/src/db/migration-lite.js +9 -9
  37. package/out/zero-cache/src/db/migration-lite.js.map +1 -1
  38. package/out/zero-cache/src/scripts/deploy-permissions.d.ts +1 -1
  39. package/out/zero-cache/src/scripts/deploy-permissions.d.ts.map +1 -1
  40. package/out/zero-cache/src/scripts/deploy-permissions.js +1 -1
  41. package/out/zero-cache/src/scripts/deploy-permissions.js.map +1 -1
  42. package/out/zero-cache/src/server/multi/config.d.ts +1 -1
  43. package/out/zero-cache/src/server/multi/main.d.ts +1 -1
  44. package/out/zero-cache/src/server/multi/main.d.ts.map +1 -1
  45. package/out/zero-cache/src/server/multi/main.js +1 -1
  46. package/out/zero-cache/src/server/multi/main.js.map +1 -1
  47. package/out/zero-cache/src/server/multi/run-worker.d.ts +1 -1
  48. package/out/zero-cache/src/server/multi/run-worker.d.ts.map +1 -1
  49. package/out/zero-cache/src/server/multi/run-worker.js +1 -1
  50. package/out/zero-cache/src/server/multi/run-worker.js.map +1 -1
  51. package/out/zero-cache/src/server/syncer.js +1 -1
  52. package/out/zero-cache/src/server/syncer.js.map +1 -1
  53. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +1 -1
  54. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
  55. package/out/zero-cache/src/services/change-source/pg/change-source.js +96 -42
  56. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
  57. package/out/zero-cache/src/services/change-source/pg/decommission.d.ts.map +1 -1
  58. package/out/zero-cache/src/services/change-source/pg/decommission.js +16 -5
  59. package/out/zero-cache/src/services/change-source/pg/decommission.js.map +1 -1
  60. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts +1 -2
  61. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -1
  62. package/out/zero-cache/src/services/change-source/pg/initial-sync.js +18 -31
  63. package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -1
  64. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts +7 -35
  65. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts.map +1 -1
  66. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js +42 -74
  67. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js.map +1 -1
  68. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts +1 -1
  69. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts.map +1 -1
  70. package/out/zero-cache/src/services/change-source/pg/schema/init.js +69 -21
  71. package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -1
  72. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +54 -27
  73. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts.map +1 -1
  74. package/out/zero-cache/src/services/change-source/pg/schema/shard.js +53 -16
  75. package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -1
  76. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +7 -5
  77. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  78. package/out/zero-cache/src/services/mutagen/mutagen.js +20 -5
  79. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  80. package/out/zero-cache/src/services/mutagen/pusher.d.ts +1 -1
  81. package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
  82. package/out/zero-cache/src/services/mutagen/pusher.js +24 -10
  83. package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
  84. package/out/zero-cache/src/services/replicator/change-processor.d.ts.map +1 -1
  85. package/out/zero-cache/src/services/replicator/change-processor.js +25 -14
  86. package/out/zero-cache/src/services/replicator/change-processor.js.map +1 -1
  87. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +8 -4
  88. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +1 -1
  89. package/out/zero-cache/src/services/view-syncer/client-handler.js +47 -23
  90. package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
  91. package/out/zero-cache/src/services/view-syncer/client-schema.d.ts.map +1 -1
  92. package/out/zero-cache/src/services/view-syncer/client-schema.js +8 -2
  93. package/out/zero-cache/src/services/view-syncer/client-schema.js.map +1 -1
  94. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +2 -0
  95. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  96. package/out/zero-cache/src/services/view-syncer/cvr-store.js +35 -0
  97. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  98. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +3 -0
  99. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  100. package/out/zero-cache/src/services/view-syncer/view-syncer.js +32 -20
  101. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  102. package/out/zero-cache/src/types/bigint-json.d.ts +1 -1
  103. package/out/zero-cache/src/types/bigint-json.d.ts.map +1 -1
  104. package/out/zero-cache/src/types/bigint-json.js.map +1 -1
  105. package/out/zero-cache/src/types/lite.d.ts.map +1 -1
  106. package/out/zero-cache/src/types/lite.js +4 -3
  107. package/out/zero-cache/src/types/lite.js.map +1 -1
  108. package/out/zero-cache/src/types/shards.d.ts +4 -0
  109. package/out/zero-cache/src/types/shards.d.ts.map +1 -1
  110. package/out/zero-cache/src/types/shards.js +1 -1
  111. package/out/zero-cache/src/types/shards.js.map +1 -1
  112. package/out/zero-cache/src/workers/connection.d.ts +1 -2
  113. package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
  114. package/out/zero-cache/src/workers/connection.js +64 -21
  115. package/out/zero-cache/src/workers/connection.js.map +1 -1
  116. package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
  117. package/out/zero-cache/src/workers/replicator.js +4 -8
  118. package/out/zero-cache/src/workers/replicator.js.map +1 -1
  119. package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +1 -1
  120. package/out/zero-cache/src/workers/syncer-ws-message-handler.js +16 -7
  121. package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -1
  122. package/out/zero-client/src/client/custom.d.ts +9 -11
  123. package/out/zero-client/src/client/custom.d.ts.map +1 -1
  124. package/out/zero-client/src/client/inspector/inspector.d.ts +2 -1
  125. package/out/zero-client/src/client/inspector/inspector.d.ts.map +1 -1
  126. package/out/zero-client/src/client/inspector/types.d.ts +7 -2
  127. package/out/zero-client/src/client/inspector/types.d.ts.map +1 -1
  128. package/out/zero-client/src/client/mutation-tracker.d.ts +23 -8
  129. package/out/zero-client/src/client/mutation-tracker.d.ts.map +1 -1
  130. package/out/zero-client/src/client/options.d.ts +7 -2
  131. package/out/zero-client/src/client/options.d.ts.map +1 -1
  132. package/out/zero-client/src/client/query-manager.d.ts +2 -1
  133. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  134. package/out/zero-client/src/client/zero.d.ts +1 -1
  135. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  136. package/out/zero-client/src/mod.d.ts +7 -1
  137. package/out/zero-client/src/mod.d.ts.map +1 -1
  138. package/out/zero-pg/src/custom.d.ts +2 -13
  139. package/out/zero-pg/src/custom.d.ts.map +1 -1
  140. package/out/zero-pg/src/custom.js +11 -14
  141. package/out/zero-pg/src/custom.js.map +1 -1
  142. package/out/zero-pg/src/mod.d.ts +1 -2
  143. package/out/zero-pg/src/mod.d.ts.map +1 -1
  144. package/out/zero-pg/src/mod.js +1 -1
  145. package/out/zero-pg/src/mod.js.map +1 -1
  146. package/out/zero-pg/src/query.d.ts +2 -2
  147. package/out/zero-pg/src/query.d.ts.map +1 -1
  148. package/out/zero-pg/src/query.js +8 -15
  149. package/out/zero-pg/src/query.js.map +1 -1
  150. package/out/zero-pg/src/web.d.ts +3 -7
  151. package/out/zero-pg/src/web.d.ts.map +1 -1
  152. package/out/zero-pg/src/web.js +9 -15
  153. package/out/zero-pg/src/web.js.map +1 -1
  154. package/out/zero-protocol/src/client-schema.d.ts +1 -1
  155. package/out/zero-protocol/src/client-schema.d.ts.map +1 -1
  156. package/out/zero-protocol/src/client-schema.js +1 -1
  157. package/out/zero-protocol/src/client-schema.js.map +1 -1
  158. package/out/zero-protocol/src/down.d.ts +19 -4
  159. package/out/zero-protocol/src/down.d.ts.map +1 -1
  160. package/out/zero-protocol/src/down.js +2 -2
  161. package/out/zero-protocol/src/down.js.map +1 -1
  162. package/out/zero-protocol/src/inspect-down.d.ts +59 -0
  163. package/out/zero-protocol/src/inspect-down.d.ts.map +1 -0
  164. package/out/zero-protocol/src/inspect-down.js +23 -0
  165. package/out/zero-protocol/src/inspect-down.js.map +1 -0
  166. package/out/zero-protocol/src/inspect-up.d.ts +21 -0
  167. package/out/zero-protocol/src/inspect-up.d.ts.map +1 -0
  168. package/out/zero-protocol/src/inspect-up.js +12 -0
  169. package/out/zero-protocol/src/inspect-up.js.map +1 -0
  170. package/out/zero-protocol/src/mutation-type-enum.d.ts +1 -0
  171. package/out/zero-protocol/src/mutation-type-enum.d.ts.map +1 -1
  172. package/out/zero-protocol/src/protocol-version.d.ts +1 -1
  173. package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
  174. package/out/zero-protocol/src/protocol-version.js +3 -1
  175. package/out/zero-protocol/src/protocol-version.js.map +1 -1
  176. package/out/zero-protocol/src/push.d.ts +31 -6
  177. package/out/zero-protocol/src/push.d.ts.map +1 -1
  178. package/out/zero-protocol/src/push.js +7 -2
  179. package/out/zero-protocol/src/push.js.map +1 -1
  180. package/out/zero-protocol/src/up.d.ts +5 -1
  181. package/out/zero-protocol/src/up.d.ts.map +1 -1
  182. package/out/zero-protocol/src/up.js +2 -1
  183. package/out/zero-protocol/src/up.js.map +1 -1
  184. package/out/zero-react/src/use-query.d.ts +1 -2
  185. package/out/zero-react/src/use-query.d.ts.map +1 -1
  186. package/out/zero-schema/src/builder/table-builder.d.ts +13 -0
  187. package/out/zero-schema/src/builder/table-builder.d.ts.map +1 -1
  188. package/out/zero-schema/src/builder/table-builder.js +17 -0
  189. package/out/zero-schema/src/builder/table-builder.js.map +1 -1
  190. package/out/zero-schema/src/permissions.d.ts.map +1 -1
  191. package/out/zero-schema/src/table-schema.d.ts +3 -1
  192. package/out/zero-schema/src/table-schema.d.ts.map +1 -1
  193. package/out/zero-schema/src/table-schema.js.map +1 -1
  194. package/out/zero-solid/src/create-zero.d.ts.map +1 -1
  195. package/out/zero-solid/src/solid-view.d.ts +1 -2
  196. package/out/zero-solid/src/solid-view.d.ts.map +1 -1
  197. package/out/zero-solid/src/use-query.d.ts +1 -2
  198. package/out/zero-solid/src/use-query.d.ts.map +1 -1
  199. package/out/zero.js +7 -4
  200. package/out/zql/src/mutate/custom.d.ts +0 -1
  201. package/out/zql/src/mutate/custom.d.ts.map +1 -1
  202. package/out/zql/src/mutate/custom.js.map +1 -1
  203. package/out/zql/src/query/query-impl.d.ts +9 -6
  204. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  205. package/out/zql/src/query/query-impl.js +16 -18
  206. package/out/zql/src/query/query-impl.js.map +1 -1
  207. package/out/zql/src/query/query-internal.d.ts +2 -9
  208. package/out/zql/src/query/query-internal.d.ts.map +1 -1
  209. package/out/zql/src/query/query.d.ts +5 -0
  210. package/out/zql/src/query/query.d.ts.map +1 -1
  211. package/out/zql/src/query/static-query.d.ts +1 -1
  212. package/out/zql/src/query/static-query.d.ts.map +1 -1
  213. package/out/zql/src/query/static-query.js +2 -2
  214. package/out/zql/src/query/static-query.js.map +1 -1
  215. package/out/zql/src/query/ttl.d.ts +1 -1
  216. package/out/zql/src/query/ttl.d.ts.map +1 -1
  217. package/out/zql/src/query/ttl.js +1 -1
  218. package/out/zql/src/query/ttl.js.map +1 -1
  219. package/out/zqlite/src/table-source.d.ts.map +1 -1
  220. package/out/zqlite/src/table-source.js +8 -0
  221. package/out/zqlite/src/table-source.js.map +1 -1
  222. package/package.json +4 -5
  223. package/out/chunk-5WXONOGR.js.map +0 -7
  224. package/out/chunk-ULOTOBTC.js +0 -1
  225. package/out/chunk-ULOTOBTC.js.map +0 -7
  226. package/out/inspector-ROITQB3J.js.map +0 -7
  227. package/out/zero-protocol/src/warm.d.ts +0 -10
  228. package/out/zero-protocol/src/warm.d.ts.map +0 -1
  229. package/out/zero-protocol/src/warm.js +0 -6
  230. package/out/zero-protocol/src/warm.js.map +0 -1
  231. package/out/zero-schema/src/mod.d.ts +0 -5
  232. package/out/zero-schema/src/mod.d.ts.map +0 -1
  233. package/out/zql/src/query/query-internal.js +0 -2
  234. package/out/zql/src/query/query-internal.js.map +0 -1
@@ -17,7 +17,7 @@ export function getShardConfig({ app, shard, }) {
17
17
  // Constrained by https://www.postgresql.org/docs/current/warm-standby.html#STREAMING-REPLICATION-SLOTS-MANIPULATION
18
18
  export const ALLOWED_APP_ID_CHARACTERS = /^[a-z0-9_]+$/;
19
19
  export const INVALID_APP_ID_MESSAGE = 'The App ID may only consist of lower-case letters, numbers, and the underscore character';
20
- function check(shard) {
20
+ export function check(shard) {
21
21
  const { appID, shardNum } = shard;
22
22
  if (!ALLOWED_APP_ID_CHARACTERS.test(appID)) {
23
23
  throw new Error(INVALID_APP_ID_MESSAGE);
@@ -1 +1 @@
1
- {"version":3,"file":"shards.js","sourceRoot":"","sources":["../../../../../zero-cache/src/types/shards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,gCAAgC,CAAC;AActD,oCAAoC;AACpC,MAAM,UAAU,UAAU,CAAC,EACzB,GAAG,EACH,KAAK,GAIN;IACC,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,EAAE;QACb,QAAQ,EAAE,KAAK,CAAC,GAAG;KACpB,CAAC;AACJ,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,cAAc,CAAC,EAC7B,GAAG,EACH,KAAK,GAIN;IACC,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,EAAE;QACb,QAAQ,EAAE,KAAK,CAAC,GAAG;QACnB,YAAY,EAAE,GAAG,CAAC,YAAY;KAC/B,CAAC;AACJ,CAAC;AAED,oHAAoH;AACpH,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAc,CAAC;AAExD,MAAM,CAAC,MAAM,sBAAsB,GACjC,0FAA0F,CAAC;AAE7F,SAAS,KAAK,CAAC,KAAc;IAC3B,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC;IAChC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC;IACrC,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAC,KAAK,EAAQ;IACtC,KAAK,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAC,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO,GAAG,KAAK,IAAI,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO,GAAG,KAAK,IAAI,QAAQ,MAAM,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO,GAAG,KAAK,IAAI,QAAQ,MAAM,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"shards.js","sourceRoot":"","sources":["../../../../../zero-cache/src/types/shards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,gCAAgC,CAAC;AActD,oCAAoC;AACpC,MAAM,UAAU,UAAU,CAAC,EACzB,GAAG,EACH,KAAK,GAIN;IACC,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,EAAE;QACb,QAAQ,EAAE,KAAK,CAAC,GAAG;KACpB,CAAC;AACJ,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,cAAc,CAAC,EAC7B,GAAG,EACH,KAAK,GAIN;IACC,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,EAAE;QACb,QAAQ,EAAE,KAAK,CAAC,GAAG;QACnB,YAAY,EAAE,GAAG,CAAC,YAAY;KAC/B,CAAC;AACJ,CAAC;AAED,oHAAoH;AACpH,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAc,CAAC;AAExD,MAAM,CAAC,MAAM,sBAAsB,GACjC,0FAA0F,CAAC;AAE7F,MAAM,UAAU,KAAK,CAAC,KAAc;IAClC,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC;IAChC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC;IACrC,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAC,KAAK,EAAQ;IACtC,KAAK,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAC,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO,GAAG,KAAK,IAAI,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO,GAAG,KAAK,IAAI,QAAQ,MAAM,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO,GAAG,KAAK,IAAI,QAAQ,MAAM,CAAC;AACpC,CAAC"}
@@ -42,9 +42,8 @@ export declare class Connection {
42
42
  init(): void;
43
43
  close(reason: string, ...args: unknown[]): void;
44
44
  handleInitConnection(initConnectionMsg: string): Promise<void>;
45
- send(data: Downstream): void;
45
+ send(data: Downstream, callback: ((err?: Error | null) => void) | 'ignore-backpressure'): void;
46
46
  sendError(errorBody: ErrorBody, thrown?: unknown): void;
47
47
  }
48
- export declare function send(ws: WebSocket, data: Downstream): void;
49
48
  export declare function sendError(lc: LogContext, ws: WebSocket, errorBody: ErrorBody, thrown?: unknown): void;
50
49
  //# sourceMappingURL=connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,SAAS,MAAM,IAAI,CAAC;AAQ3B,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAC,KAAK,SAAS,EAAC,MAAM,qCAAqC,CAAC;AAMnE,OAAO,EAAiB,KAAK,QAAQ,EAAC,MAAM,kCAAkC,CAAC;AAC/E,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0CAA0C,CAAC;AAE5E,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAEhD,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,IAAI,CAAC;CACZ,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CAClB,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;CAC5B,CAAC;AAEN,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACtD;AAED;;;;;;;GAOG;AACH,qBAAa,UAAU;;gBAanB,EAAE,EAAE,UAAU,EACd,aAAa,EAAE,aAAa,EAC5B,EAAE,EAAE,SAAS,EACb,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,MAAM,IAAI;IAqBrB;;;;;;OAMG;IACH,IAAI;IAsBJ,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IAsBxC,oBAAoB,CAAC,iBAAiB,EAAE,MAAM;IA2H9C,IAAI,CAAC,IAAI,EAAE,UAAU;IAIrB,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO;CAGjD;AAED,wBAAgB,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,QAEnD;AAED,wBAAgB,SAAS,CACvB,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,SAAS,EACb,SAAS,EAAE,SAAS,EACpB,MAAM,CAAC,EAAE,OAAO,QAMjB"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAGjD,OAAO,SAAkC,MAAM,IAAI,CAAC;AAQpD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAC,KAAK,SAAS,EAAC,MAAM,qCAAqC,CAAC;AAKnE,OAAO,EAAiB,KAAK,QAAQ,EAAC,MAAM,kCAAkC,CAAC;AAC/E,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0CAA0C,CAAC;AAE5E,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAEhD,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,IAAI,CAAC;CACZ,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;CAClB,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;CAC5B,CAAC;AAEN,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACtD;AAeD;;;;;;;GAOG;AACH,qBAAa,UAAU;;gBAcnB,EAAE,EAAE,UAAU,EACd,aAAa,EAAE,aAAa,EAC5B,EAAE,EAAE,SAAS,EACb,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,MAAM,IAAI;IA0BrB;;;;;;OAMG;IACH,IAAI;IAsBJ,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IAsBxC,oBAAoB,CAAC,iBAAiB,EAAE,MAAM;IA4J9C,IAAI,CACF,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,qBAAqB;IAMlE,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO;CAGjD;AAoBD,wBAAgB,SAAS,CACvB,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,SAAS,EACb,SAAS,EAAE,SAAS,EACpB,MAAM,CAAC,EAAE,OAAO,QAMjB"}
@@ -1,4 +1,5 @@
1
- import WebSocket from 'ws';
1
+ import { pipeline, Readable, Writable } from 'node:stream';
2
+ import WebSocket, { createWebSocketStream } from 'ws';
2
3
  import { assert } from "../../../shared/src/asserts.js";
3
4
  import * as valita from "../../../shared/src/valita.js";
4
5
  import { closeConnectionMessageSchema, } from "../../../zero-protocol/src/close-connection.js";
@@ -7,6 +8,18 @@ import {} from "../../../zero-protocol/src/error.js";
7
8
  import { MIN_SERVER_SUPPORTED_SYNC_PROTOCOL, PROTOCOL_VERSION, } from "../../../zero-protocol/src/protocol-version.js";
8
9
  import { upstreamSchema } from "../../../zero-protocol/src/up.js";
9
10
  import { findErrorForClient, getLogLevel } from "../types/error-for-client.js";
11
+ // Ensures that a downstream message is sent at least every interval, sending a
12
+ // 'pong' if necessary. This is set to be slightly longer than the client-side
13
+ // PING_INTERVAL of 5 seconds, so that in the common case, 'pong's are sent in
14
+ // response to client-initiated 'ping's. However, if the inbound stream is
15
+ // backed up because a command is taking a long time to process, the pings
16
+ // will be stuck in the queue (i.e. back-pressured), in which case pongs will
17
+ // be manually sent to notify the client of server liveness.
18
+ //
19
+ // This is equivalent to what is done for Postgres keepalives on the
20
+ // replication stream (which can similarly be back-pressured):
21
+ // https://github.com/rocicorp/mono/blob/f98cb369a2dbb15650328859c732db358f187ef0/packages/zero-cache/src/services/change-source/pg/logical-replication/stream.ts#L21
22
+ const DOWNSTREAM_MSG_INTERVAL_MS = 6_000;
10
23
  /**
11
24
  * Represents a connection between the client and server.
12
25
  *
@@ -22,6 +35,7 @@ export class Connection {
22
35
  #lc;
23
36
  #onClose;
24
37
  #messageHandler;
38
+ #downstreamMsgTimer;
25
39
  #viewSyncerOutboundStream;
26
40
  #pusherOutboundStream;
27
41
  #closed = false;
@@ -37,9 +51,10 @@ export class Connection {
37
51
  .withContext('clientGroupID', clientGroupID)
38
52
  .withContext('wsID', wsID);
39
53
  this.#onClose = onClose;
40
- this.#ws.addEventListener('message', this.#handleMessage);
41
54
  this.#ws.addEventListener('close', this.#handleClose);
42
55
  this.#ws.addEventListener('error', this.#handleError);
56
+ this.#proxyInbound();
57
+ this.#downstreamMsgTimer = setInterval(this.#maybeSendPong, DOWNSTREAM_MSG_INTERVAL_MS / 2);
43
58
  }
44
59
  /**
45
60
  * Checks the protocol version and errors for unsupported protocols,
@@ -61,7 +76,7 @@ export class Connection {
61
76
  'connected',
62
77
  { wsid: this.#wsID, timestamp: Date.now() },
63
78
  ];
64
- send(this.#ws, connectedMessage);
79
+ this.send(connectedMessage, 'ignore-backpressure');
65
80
  }
66
81
  }
67
82
  close(reason, ...args) {
@@ -70,7 +85,6 @@ export class Connection {
70
85
  }
71
86
  this.#closed = true;
72
87
  this.#lc.info?.(`closing connection: ${reason}`, ...args);
73
- this.#ws.removeEventListener('message', this.#handleMessage);
74
88
  this.#ws.removeEventListener('close', this.#handleClose);
75
89
  this.#ws.removeEventListener('error', this.#handleError);
76
90
  this.#viewSyncerOutboundStream?.cancel();
@@ -81,6 +95,7 @@ export class Connection {
81
95
  if (this.#ws.readyState !== this.#ws.CLOSED) {
82
96
  this.#ws.close();
83
97
  }
98
+ clearTimeout(this.#downstreamMsgTimer);
84
99
  // spin down services if we have
85
100
  // no more client connections for the client group?
86
101
  }
@@ -106,7 +121,7 @@ export class Connection {
106
121
  try {
107
122
  const msgType = msg[0];
108
123
  if (msgType === 'ping') {
109
- this.send(['pong', {}]);
124
+ this.send(['pong', {}], 'ignore-backpressure');
110
125
  return;
111
126
  }
112
127
  const result = await this.#messageHandler.handleMessage(msg);
@@ -134,7 +149,7 @@ export class Connection {
134
149
  this.#pusherOutboundStream = result.stream;
135
150
  break;
136
151
  }
137
- void this.#proxyOutbound(result.stream);
152
+ this.#proxyOutbound(result.stream);
138
153
  break;
139
154
  }
140
155
  case 'transient': {
@@ -166,16 +181,29 @@ export class Connection {
166
181
  #handleError = (e) => {
167
182
  this.#lc.error?.('WebSocket error event', e.message, e.error);
168
183
  };
169
- async #proxyOutbound(outboundStream) {
170
- try {
171
- for await (const outMsg of outboundStream) {
172
- this.send(outMsg);
173
- }
174
- this.close('downstream closed by ViewSyncer');
175
- }
176
- catch (e) {
177
- this.#closeWithThrown(e);
178
- }
184
+ #proxyInbound() {
185
+ pipeline(createWebSocketStream(this.#ws), new Writable({
186
+ write: (data, _encoding, callback) => {
187
+ this.#handleMessage({ data }).then(() => callback(), callback);
188
+ },
189
+ }),
190
+ // The done callback is not used, as #handleClose and #handleError,
191
+ // configured on the underlying WebSocket, provide more complete
192
+ // information.
193
+ () => { });
194
+ }
195
+ #proxyOutbound(outboundStream) {
196
+ // Note: createWebSocketStream() is avoided here in order to control
197
+ // exception handling with #closeWithThrown(). If the Writable
198
+ // from createWebSocketStream() were instead used, exceptions
199
+ // from the outboundStream result in the Writable closing the
200
+ // the websocket before the error message can be sent.
201
+ pipeline(Readable.from(outboundStream), new Writable({
202
+ objectMode: true,
203
+ write: (downstream, _encoding, callback) => this.send(downstream, callback),
204
+ }), e => e
205
+ ? this.#closeWithThrown(e)
206
+ : this.close(`downstream closed by ViewSyncer`));
179
207
  }
180
208
  #closeWithThrown(e) {
181
209
  const errorBody = findErrorForClient(e)?.errorBody ?? {
@@ -188,20 +216,35 @@ export class Connection {
188
216
  this.sendError(errorBody, thrown);
189
217
  this.close(`client error: ${errorBody.kind}`, errorBody);
190
218
  }
191
- send(data) {
192
- send(this.#ws, data);
219
+ #lastDownstreamMsgTime = Date.now();
220
+ #maybeSendPong = () => {
221
+ if (Date.now() - this.#lastDownstreamMsgTime > DOWNSTREAM_MSG_INTERVAL_MS) {
222
+ this.#lc.debug?.('manually sending pong');
223
+ this.send(['pong', {}], 'ignore-backpressure');
224
+ }
225
+ };
226
+ send(data, callback) {
227
+ this.#lastDownstreamMsgTime = Date.now();
228
+ return send(this.#lc, this.#ws, data, callback);
193
229
  }
194
230
  sendError(errorBody, thrown) {
195
231
  sendError(this.#lc, this.#ws, errorBody, thrown);
196
232
  }
197
233
  }
198
- export function send(ws, data) {
199
- ws.send(JSON.stringify(data));
234
+ function send(lc, ws, data, callback) {
235
+ if (ws.readyState === ws.OPEN) {
236
+ ws.send(JSON.stringify(data), callback === 'ignore-backpressure' ? undefined : callback);
237
+ }
238
+ else {
239
+ lc.debug?.(`Dropping outbound message on ws (state: ${ws.readyState})`, {
240
+ dropped: data,
241
+ });
242
+ }
200
243
  }
201
244
  export function sendError(lc, ws, errorBody, thrown) {
202
245
  lc = lc.withContext('errorKind', errorBody.kind);
203
246
  const logLevel = thrown ? getLogLevel(thrown) : 'info';
204
247
  lc[logLevel]?.('Sending error on WebSocket', errorBody, thrown ?? '');
205
- send(ws, ['error', errorBody]);
248
+ send(lc, ws, ['error', errorBody], 'ignore-backpressure');
206
249
  }
207
250
  //# sourceMappingURL=connection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/connection.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAC,MAAM,EAAC,MAAM,gCAAgC,CAAC;AACtD,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAC;AACxD,OAAO,EACL,4BAA4B,GAE7B,MAAM,gDAAgD,CAAC;AAGxD,OAAO,KAAK,SAAS,MAAM,+CAA+C,CAAC;AAC3E,OAAO,EAAgB,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EACL,kCAAkC,EAClC,gBAAgB,GACjB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAC,cAAc,EAAgB,MAAM,kCAAkC,CAAC;AAE/E,OAAO,EAAC,kBAAkB,EAAE,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAyB7E;;;;;;;GAOG;AACH,MAAM,OAAO,UAAU;IACZ,GAAG,CAAY;IACf,KAAK,CAAS;IACd,gBAAgB,CAAS;IACzB,GAAG,CAAa;IAChB,QAAQ,CAAa;IACrB,eAAe,CAAiB;IAEzC,yBAAyB,CAAiC;IAC1D,qBAAqB,CAAiC;IACtD,OAAO,GAAG,KAAK,CAAC;IAEhB,YACE,EAAc,EACd,aAA4B,EAC5B,EAAa,EACb,cAA8B,EAC9B,OAAmB;QAEnB,MAAM,EAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAC,GAAG,aAAa,CAAC;QACvE,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QAEtC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QAExC,IAAI,CAAC,GAAG,GAAG,EAAE;aACV,WAAW,CAAC,YAAY,CAAC;aACzB,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC;aACjC,WAAW,CAAC,eAAe,EAAE,aAAa,CAAC;aAC3C,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;OAMG;IACH,IAAI;QACF,IACE,IAAI,CAAC,gBAAgB,GAAG,gBAAgB;YACxC,IAAI,CAAC,gBAAgB,GAAG,kCAAkC,EAC1D,CAAC;YACD,IAAI,CAAC,eAAe,CAAC;gBACnB,IAAI,EAAE,SAAS,CAAC,mBAAmB;gBACnC,OAAO,EAAE,+BAA+B,gBAAgB,0BACtD,IAAI,CAAC,gBACP,SACE,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QACxD,sCAAsC;aACvC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,gBAAgB,GAAqB;gBACzC,WAAW;gBACX,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAC;aAC1C,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAc,EAAE,GAAG,IAAe;QACtC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,uBAAuB,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC,yBAAyB,EAAE,MAAM,EAAE,CAAC;QACzC,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;QAC3C,IAAI,CAAC,qBAAqB,EAAE,MAAM,EAAE,CAAC;QACrC,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;QAED,gCAAgC;QAChC,mDAAmD;IACrD,CAAC;IAED,oBAAoB,CAAC,iBAAyB;QAC5C,OAAO,IAAI,CAAC,cAAc,CAAC,EAAC,IAAI,EAAE,iBAAiB,EAAC,CAAC,CAAC;IACxD,CAAC;IAED,cAAc,GAAG,KAAK,EAAE,KAAmB,EAAE,EAAE;QAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,wCAAwC,EAAE,IAAI,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC;QACR,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,4BAA4B,IAAI,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,eAAe,CAClB,EAAC,IAAI,EAAE,SAAS,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAC,EACpD,CAAC,CACF,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAuB,CAAC,CAAC;gBAC9C,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,oBAAoB,CAAC,MAAqB;QACxC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,OAAO;gBACV,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,IAAI;gBACP,MAAM;YACR,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;oBACtB,KAAK,YAAY;wBACf,MAAM,CACJ,IAAI,CAAC,yBAAyB,KAAK,SAAS,EAC5C,kDAAkD,CACnD,CAAC;wBACF,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC;wBAC/C,MAAM;oBACR,KAAK,QAAQ;wBACX,MAAM,CACJ,IAAI,CAAC,qBAAqB,KAAK,SAAS,EACxC,kDAAkD,CACnD,CAAC;wBACF,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;wBAC3C,MAAM;gBACV,CAAC;gBACD,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACxC,MAAM;YACR,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,YAAY,GAAG,KAAK,EAAE,CAAa,EAAE,EAAE;QACrC,MAAM,EAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAC,GAAG,CAAC,CAAC;QACnC,iBAAiB;QACjB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,GAAuC,CAAC;YAC5C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;YACzD,CAAC;YAAC,MAAM,CAAC;gBACP,qCAAqC;gBACrC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,4BAA4B,MAAM,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAC,CAAC,CAAC;IAChE,CAAC,CAAC;IAEF,YAAY,GAAG,CAAC,CAAa,EAAE,EAAE;QAC/B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC,CAAC;IAEF,KAAK,CAAC,cAAc,CAAC,cAAkC;QACrD,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;gBAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,CAAU;QACzB,MAAM,SAAS,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI;YACpD,IAAI,EAAE,SAAS,CAAC,QAAQ;YACxB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;SACnB,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,eAAe,CAAC,SAAoB,EAAE,MAAgB;QACpD,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,iBAAiB,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,CAAC,IAAgB;QACnB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,SAAS,CAAC,SAAoB,EAAE,MAAgB;QAC9C,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;CACF;AAED,MAAM,UAAU,IAAI,CAAC,EAAa,EAAE,IAAgB;IAClD,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,EAAc,EACd,EAAa,EACb,SAAoB,EACpB,MAAgB;IAEhB,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACvD,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,4BAA4B,EAAE,SAAS,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;IACtE,IAAI,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/connection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"replicator.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/replicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAC;AACnD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAC,QAAQ,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAEV,oBAAoB,EACpB,UAAU,EACX,MAAM,sCAAsC,CAAC;AAK9C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAElD,eAAO,MAAM,qBAAqB,4EAIjC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,UAEzE;AA0ED,wBAAsB,YAAY,CAChC,EAAE,EAAE,UAAU,EACd,IAAI,EAAE,eAAe,EACrB,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAkCnB;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,UAAU,EACd,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,QAGf;AAID,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,UAAU,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,oBAAoB,QAc/B;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAM5E;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,QAE1D"}
1
+ {"version":3,"file":"replicator.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/replicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AACnD,OAAO,EAAC,QAAQ,EAAC,MAAM,2BAA2B,CAAC;AACnD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAC,QAAQ,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAEV,oBAAoB,EACpB,UAAU,EACX,MAAM,sCAAsC,CAAC;AAK9C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAElD,eAAO,MAAM,qBAAqB,4EAIjC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,UAEzE;AAsED,wBAAsB,YAAY,CAChC,EAAE,EAAE,UAAU,EACd,IAAI,EAAE,eAAe,EACrB,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAkCnB;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,UAAU,EACd,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,QAGf;AAID,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,UAAU,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,oBAAoB,QAc/B;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAM5E;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,QAE1D"}
@@ -45,14 +45,10 @@ async function connect(lc, { file, vacuumIntervalHours }, walMode, mode) {
45
45
  }
46
46
  lc.info?.(`setting ${file} to ${walMode} mode`);
47
47
  replica.pragma(`journal_mode = ${walMode}`);
48
- // Set a busy timeout at litestream's recommended 5 seconds:
49
- // (https://litestream.io/tips/#busy-timeout).
50
- //
51
- // In the view-syncer (for which there is no litestream replicate
52
- // process), this is still useful for handling the `PRAGMA optimize`
53
- // call the sync workers, which results in occasional `ANALYZE` calls
54
- // that may contend with each other and with the replicator for the lock.
55
- replica.pragma('busy_timeout = 5000');
48
+ // The duration of the loop in which the replicator attempts
49
+ // to begin a transaction while litestream is performing a
50
+ // checkpoint.
51
+ replica.pragma('busy_timeout = 30000');
56
52
  replica.pragma('optimize = 0x10002');
57
53
  lc.info?.(`optimized ${file}`);
58
54
  return replica;
@@ -1 +1 @@
1
- {"version":3,"file":"replicator.js","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/replicator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replicator.js","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/replicator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"syncer-ws-message-handler.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/syncer-ws-message-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAOjD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,kCAAkC,CAAC;AAC/D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0CAA0C,CAAC;AAC5E,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAC1D,OAAO,KAAK,EAEV,SAAS,EACT,UAAU,EACX,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAInE,qBAAa,sBAAuB,YAAW,cAAc;;gBAYzD,EAAE,EAAE,UAAU,EACd,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GAAG,SAAS;IAgCtB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;CAoG3D"}
1
+ {"version":3,"file":"syncer-ws-message-handler.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/syncer-ws-message-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAOjD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,kCAAkC,CAAC;AAC/D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0CAA0C,CAAC;AAC5E,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAC1D,OAAO,KAAK,EAEV,SAAS,EACT,UAAU,EACX,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAInE,qBAAa,sBAAuB,YAAW,cAAc;;gBAYzD,EAAE,EAAE,UAAU,EACd,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GAAG,SAAS;IAgCtB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;CAqH3D"}
@@ -2,7 +2,7 @@ import { trace } from '@opentelemetry/api';
2
2
  import { Lock } from '@rocicorp/lock';
3
3
  import { startAsyncSpan, startSpan } from "../../../otel/src/span.js";
4
4
  import { version } from "../../../otel/src/version.js";
5
- import { unreachable } from "../../../shared/src/asserts.js";
5
+ import { assert, unreachable } from "../../../shared/src/asserts.js";
6
6
  import * as ErrorKind from "../../../zero-protocol/src/error-kind-enum.js";
7
7
  const tracer = trace.getTracer('syncer-ws-server', version);
8
8
  export class SyncerWsMessageHandler {
@@ -44,7 +44,7 @@ export class SyncerWsMessageHandler {
44
44
  const viewSyncer = this.#viewSyncer;
45
45
  switch (msgType) {
46
46
  case 'ping':
47
- lc.error?.('Pull is not supported by Zero');
47
+ lc.error?.('Ping is not supported at this layer by Zero');
48
48
  break;
49
49
  case 'pull':
50
50
  lc.error?.('Pull is not supported by Zero');
@@ -62,10 +62,16 @@ export class SyncerWsMessageHandler {
62
62
  },
63
63
  };
64
64
  }
65
- if (this.#pusher) {
66
- // We do not call mutagen since if a pusher is set
67
- // the precludes crud mutators.
68
- // We'll be removing crud mutators when we release custom mutators.
65
+ if (mutations.length === 0) {
66
+ return {
67
+ type: 'ok',
68
+ };
69
+ }
70
+ // The client only ever sends 1 mutation per push.
71
+ // #pusher will throw if it sees a CRUD mutation.
72
+ // #mutagen will throw if it see a custom mutation.
73
+ if (mutations[0].type === 'custom') {
74
+ assert(this.#pusher, 'A ZERO_PUSH_URL must be set in order to process custom mutations.');
69
75
  return this.#pusher.enqueuePush(this.#syncContext.clientID, this.#syncContext.wsID, msg[1], this.#token);
70
76
  }
71
77
  // Hold a connection-level lock while processing mutations so that:
@@ -74,7 +80,7 @@ export class SyncerWsMessageHandler {
74
80
  const ret = await this.#mutationLock.withLock(async () => {
75
81
  const errors = [];
76
82
  for (const mutation of mutations) {
77
- const maybeError = await this.#mutagen.processMutation(mutation, this.#authData, schemaVersion);
83
+ const maybeError = await this.#mutagen.processMutation(mutation, this.#authData, schemaVersion, this.#pusher !== undefined);
78
84
  if (maybeError !== undefined) {
79
85
  errors.push({ kind: maybeError[0], message: maybeError[1] });
80
86
  }
@@ -105,6 +111,9 @@ export class SyncerWsMessageHandler {
105
111
  case 'closeConnection':
106
112
  await startAsyncSpan(tracer, 'connection.closeConnection', () => viewSyncer.closeConnection(this.#syncContext, msg));
107
113
  break;
114
+ case 'inspect':
115
+ await startAsyncSpan(tracer, 'connection.inspect', () => viewSyncer.inspect(this.#syncContext, msg));
116
+ break;
108
117
  default:
109
118
  unreachable(msgType);
110
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"syncer-ws-message-handler.js","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/syncer-ws-message-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncer-ws-message-handler.js","sourceRoot":"","sources":["../../../../../zero-cache/src/workers/syncer-ws-message-handler.ts"],"names":[],"mappings":"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"}
@@ -23,11 +23,15 @@ export type CustomMutatorImpl<S extends Schema, TArgs = any> = (tx: Transaction<
23
23
  * This utility strips the `tx` arg from the user's custom mutator signatures.
24
24
  */
25
25
  export type MakeCustomMutatorInterfaces<S extends Schema, MD extends CustomMutatorDefs<S>> = {
26
- readonly [NamespaceOrName in keyof MD]: MD[NamespaceOrName] extends (tx: Transaction<S>, ...args: infer Args) => Promise<void> ? (...args: Args) => PromiseWithServerResult<void, MutationResult> : {
26
+ readonly [NamespaceOrName in keyof MD]: MD[NamespaceOrName] extends (tx: Transaction<S>, ...args: infer Args) => Promise<void> ? (...args: Args) => Promise<{
27
+ server?: Promise<MutationResult>;
28
+ }> : {
27
29
  readonly [P in keyof MD[NamespaceOrName]]: MakeCustomMutatorInterface<S, MD[NamespaceOrName][P]>;
28
30
  };
29
31
  };
30
- export type MakeCustomMutatorInterface<S extends Schema, F> = F extends (tx: ClientTransaction<S>, ...args: infer Args) => Promise<void> ? (...args: Args) => PromiseWithServerResult<void, MutationResult> : never;
32
+ export type MakeCustomMutatorInterface<S extends Schema, F> = F extends (tx: ClientTransaction<S>, ...args: infer Args) => Promise<void> ? (...args: Args) => Promise<{
33
+ server?: Promise<MutationResult>;
34
+ }> : never;
31
35
  export declare class TransactionImpl<S extends Schema> implements ClientTransaction<S> {
32
36
  constructor(lc: LogContext, repTx: WriteTransaction, schema: S, slowMaterializeThreshold: number);
33
37
  readonly clientID: ClientID;
@@ -38,13 +42,7 @@ export declare class TransactionImpl<S extends Schema> implements ClientTransact
38
42
  readonly query: SchemaQuery<S>;
39
43
  readonly token: string | undefined;
40
44
  }
41
- type MaybeWithServerResult<T> = {
42
- server?: Promise<T>;
43
- };
44
- export type PromiseMaybeWithServerResult<T, S> = Promise<T> & MaybeWithServerResult<S>;
45
- export type PromiseWithServerResult<T, S> = Promise<T> & {
46
- server: Promise<S>;
47
- };
48
- export declare function makeReplicacheMutator<S extends Schema>(lc: LogContext, mutationTracker: MutationTracker, mutator: CustomMutatorImpl<S>, schema: S, slowMaterializeThreshold: number): (repTx: WriteTransaction, args: ReadonlyJSONValue) => PromiseMaybeWithServerResult<void, MutationResult>;
49
- export {};
45
+ export declare function makeReplicacheMutator<S extends Schema>(lc: LogContext, mutationTracker: MutationTracker, mutator: CustomMutatorImpl<S>, schema: S, slowMaterializeThreshold: number): (repTx: WriteTransaction, args: ReadonlyJSONValue) => Promise<{
46
+ server?: Promise<MutationResult>;
47
+ }>;
50
48
  //# sourceMappingURL=custom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/custom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/custom.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { Schema } from '../../../../zero-schema/src/builder/schema-builder.
3
3
  import type { MutatorDefs } from '../replicache-types.ts';
4
4
  import type { Inspector as InspectorInterface } from './types.ts';
5
5
  type Rep = ReplicacheImpl<MutatorDefs>;
6
- export declare function newInspector(rep: Rep, schema: Schema): Promise<InspectorInterface>;
6
+ type GetWebSocket = () => WebSocket | undefined;
7
+ export declare function newInspector(rep: Rep, schema: Schema, socket: GetWebSocket): Promise<InspectorInterface>;
7
8
  export {};
8
9
  //# sourceMappingURL=inspector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../../../../../zero-client/src/client/inspector/inspector.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,+CAA+C,CAAC;AASlF,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uDAAuD,CAAC;AAOlF,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAGV,SAAS,IAAI,kBAAkB,EAEhC,MAAM,YAAY,CAAC;AAEpB,KAAK,GAAG,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;AAEvC,wBAAsB,YAAY,CAChC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,CAG7B"}
1
+ {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../../../../../zero-client/src/client/inspector/inspector.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,+CAA+C,CAAC;AAmBlF,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uDAAuD,CAAC;AAKlF,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAGV,SAAS,IAAI,kBAAkB,EAEhC,MAAM,YAAY,CAAC;AAEpB,KAAK,GAAG,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;AAEvC,KAAK,YAAY,GAAG,MAAM,SAAS,GAAG,SAAS,CAAC;AAEhD,wBAAsB,YAAY,CAChC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,kBAAkB,CAAC,CAG7B"}
@@ -1,6 +1,7 @@
1
1
  import type { ReadonlyJSONValue } from '../../../../shared/src/json.ts';
2
2
  import type { AST } from '../../../../zero-protocol/src/ast.ts';
3
3
  import type { Row } from '../../../../zero-protocol/src/data.ts';
4
+ import type { TTL } from '../../../../zql/src/query/ttl.ts';
4
5
  export interface GetInspector {
5
6
  inspect(): Promise<Inspector>;
6
7
  }
@@ -9,7 +10,6 @@ export interface Inspector {
9
10
  readonly clientGroup: ClientGroup;
10
11
  clients(): Promise<Client[]>;
11
12
  clientsWithQueries(): Promise<Client[]>;
12
- clientGroups(): Promise<ClientGroup[]>;
13
13
  }
14
14
  export interface Client {
15
15
  readonly id: string;
@@ -25,10 +25,15 @@ export interface ClientGroup {
25
25
  queries(): Promise<Query[]>;
26
26
  }
27
27
  export interface Query {
28
- readonly id: string;
29
28
  readonly ast: AST;
29
+ readonly clientID: string;
30
+ readonly deleted: boolean;
30
31
  readonly got: boolean;
32
+ readonly id: string;
33
+ readonly inactivatedAt: Date | null;
34
+ readonly rowCount: number;
31
35
  readonly sql: string;
36
+ readonly ttl: TTL;
32
37
  readonly zql: string;
33
38
  }
34
39
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../zero-client/src/client/inspector/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,sCAAsC,CAAC;AAC9D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,uCAAuC,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7B,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5B,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7B,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../zero-client/src/client/inspector/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,sCAAsC,CAAC;AAC9D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,uCAAuC,CAAC;AAC/D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,kCAAkC,CAAC;AAE1D,MAAM,WAAW,YAAY;IAC3B,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7B,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5B,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7B,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB"}
@@ -1,5 +1,4 @@
1
- import type { MutationError, MutationOk, PushError, PushResponse } from '../../../zero-protocol/src/push.ts';
2
- type MutationResult = MutationOk | MutationError | PushError;
1
+ import type { MutationResult, PushResponse } from '../../../zero-protocol/src/push.ts';
3
2
  /**
4
3
  * Tracks what pushes are in-flight and resolves promises when they're acked.
5
4
  */
@@ -8,14 +7,30 @@ export declare class MutationTracker {
8
7
  constructor();
9
8
  set clientID(clientID: string);
10
9
  trackMutation(id: number): Promise<MutationResult>;
10
+ processPushResponse(response: PushResponse): void;
11
11
  /**
12
- * Called if the mutation is never able to be sent to the server
13
- * and abandoned before persisted.
14
- * In that case, we have no `pushResponse` to process.
12
+ * When we reconnect to zero-cache, we resolve all outstanding mutations
13
+ * whose ID is less than or equal to the lastMutationID.
14
+ *
15
+ * The reason is that any responses the API server sent
16
+ * to those mutations have been lost.
17
+ *
18
+ * An example case: the API server responds while the connection
19
+ * is down. Those responses are dropped.
20
+ *
21
+ * Mutations whose LMID is > the lastMutationID are not resolved
22
+ * since they will be retried by the client, giving us another chance
23
+ * at getting a response.
24
+ *
25
+ * The only way to ensure that all API server responses are
26
+ * received would be to have the API server write them
27
+ * to the DB while writing the LMID.
28
+ *
29
+ * This would have the downside of not being able to provide responses to a
30
+ * mutation with data gathered after the transaction.
15
31
  */
16
- rejectMutation(id: number, e: Error): void;
17
- processPushResponse(response: PushResponse): void;
32
+ onConnected(lastMutationID: number): void;
18
33
  get size(): number;
34
+ onAllMutationsConfirmed(listener: () => void): void;
19
35
  }
20
- export {};
21
36
  //# sourceMappingURL=mutation-tracker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mutation-tracker.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/mutation-tracker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EAEb,UAAU,EACV,SAAS,EAET,YAAY,EACb,MAAM,oCAAoC,CAAC;AAG5C,KAAK,cAAc,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC;AAE7D;;GAEG;AACH,qBAAa,eAAe;;;IAQ1B,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAE5B;IAED,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAOlD;;;;OAIG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK;IAOnC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAQjD,IAAI,IAAI,WAEP;CAiDF"}
1
+ {"version":3,"file":"mutation-tracker.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/mutation-tracker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAIV,cAAc,EAGd,YAAY,EACb,MAAM,oCAAoC,CAAC;AAc5C;;GAEG;AACH,qBAAa,eAAe;;;IAe1B,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAE5B;IAED,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAUlD,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAQjD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAAW,CAAC,cAAc,EAAE,MAAM;IAYlC,IAAI,IAAI,WAEP;IA+ED,uBAAuB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;CASpD"}
@@ -137,8 +137,6 @@ export interface ZeroOptions<S extends Schema, MD extends CustomMutatorDefs<S> |
137
137
  * Default value: 5_000.
138
138
  */
139
139
  slowMaterializeThreshold?: number | undefined;
140
- }
141
- export interface ZeroAdvancedOptions<S extends Schema, MD extends CustomMutatorDefs<S> | undefined = undefined> extends ZeroOptions<S, MD> {
142
140
  /**
143
141
  * UI rendering libraries will often provide a utility for batching multiple
144
142
  * state updates into a single render. Some examples are React's
@@ -169,9 +167,16 @@ export interface ZeroAdvancedOptions<S extends Schema, MD extends CustomMutatorD
169
167
  * or view, to continue syncing.
170
168
  *
171
169
  * Defaults is 0.
170
+ *
171
+ * @deprecated Use ttl instead
172
172
  */
173
173
  maxRecentQueries?: number | undefined;
174
174
  }
175
+ /**
176
+ * @deprecated Use {@link ZeroOptions} instead.
177
+ */
178
+ export interface ZeroAdvancedOptions<S extends Schema, MD extends CustomMutatorDefs<S> | undefined = undefined> extends ZeroOptions<S, MD> {
179
+ }
175
180
  export type UpdateNeededReason = {
176
181
  type: 'NewClientGroup';
177
182
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,oDAAoD,CAAC;AAC/E,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,WAAW,CAC1B,CAAC,SAAS,MAAM,EAChB,EAAE,SAAS,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS;IAEvD;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEnC;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EACD,MAAM,GACN,CAAC,CAAC,KAAK,CAAC,EAAE,eAAe,KAAK,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,GAC/D,SAAS,CAAC;IAEd;;;;;;;;OAQG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAEhC;;;OAGG;IACH,MAAM,EAAE,CAAC,CAAC;IAEV,QAAQ,CAAC,EAAE,EAAE,CAAC;IAEd;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAEzD;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAEpE;;;;;;;;;;;;OAYG;IACH,qBAAqB,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAEjD;;;;;;;OAOG;IACH,wBAAwB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9C;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,aAAa,GAAG,SAAS,CAAC;IAEpD;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAErC;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/C;AAED,MAAM,WAAW,mBAAmB,CAClC,CAAC,SAAS,MAAM,EAChB,EAAE,SAAS,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,CACvD,SAAQ,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC;IAC1B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,gBAAgB,CAAC,EAAE,CAAC,CAAC,gBAAgB,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAExE;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,MAAM,MAAM,kBAAkB,GAI1B;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAC,GAGxB;IAAC,IAAI,EAAE,qBAAqB,CAAA;CAAC,GAG7B;IAAC,IAAI,EAAE,2BAA2B,CAAA;CAAC,CAAC"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../../zero-client/src/client/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qCAAqC,CAAC;AACvE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,oDAAoD,CAAC;AAC/E,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,WAAW,CAC1B,CAAC,SAAS,MAAM,EAChB,EAAE,SAAS,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS;IAEvD;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAEnC;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EACD,MAAM,GACN,CAAC,CAAC,KAAK,CAAC,EAAE,eAAe,KAAK,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,GAC/D,SAAS,CAAC;IAEd;;;;;;;;OAQG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAEhC;;;OAGG;IACH,MAAM,EAAE,CAAC,CAAC;IAEV,QAAQ,CAAC,EAAE,EAAE,CAAC;IAEd;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAEzD;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAEpE;;;;;;;;;;;;OAYG;IACH,qBAAqB,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAEjD;;;;;;;OAOG;IACH,wBAAwB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9C;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,aAAa,GAAG,SAAS,CAAC;IAEpD;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAErC;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9C;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,gBAAgB,CAAC,EAAE,CAAC,CAAC,gBAAgB,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAExE;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAClC,CAAC,SAAS,MAAM,EAChB,EAAE,SAAS,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,SAAS,CACvD,SAAQ,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC;CAAG;AAE/B,MAAM,MAAM,kBAAkB,GAI1B;IAAC,IAAI,EAAE,gBAAgB,CAAA;CAAC,GAGxB;IAAC,IAAI,EAAE,qBAAqB,CAAA;CAAC,GAG7B;IAAC,IAAI,EAAE,2BAA2B,CAAA;CAAC,CAAC"}