@agentshouse/mdruntime 0.1.0-c0136de3edfbe → 0.1.0-c01d4615bfe46

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 (245) hide show
  1. package/README.md +16 -15
  2. package/dist/acceptance.d.ts +0 -3
  3. package/dist/acceptance.d.ts.map +1 -1
  4. package/dist/acceptance.js +74 -164
  5. package/dist/act-lanes.d.ts +30 -0
  6. package/dist/act-lanes.d.ts.map +1 -0
  7. package/dist/act-lanes.js +225 -0
  8. package/dist/actions.d.ts +8 -2
  9. package/dist/actions.d.ts.map +1 -1
  10. package/dist/actions.js +122 -68
  11. package/dist/adapter.d.ts +49 -55
  12. package/dist/adapter.d.ts.map +1 -1
  13. package/dist/attached-model.d.ts +0 -1
  14. package/dist/attached-model.d.ts.map +1 -1
  15. package/dist/attached-model.js +0 -5
  16. package/dist/bootstrap.d.ts +1 -1
  17. package/dist/bootstrap.d.ts.map +1 -1
  18. package/dist/bootstrap.js +6 -18
  19. package/dist/change-set.d.ts +4 -0
  20. package/dist/change-set.d.ts.map +1 -1
  21. package/dist/change-set.js +6 -0
  22. package/dist/change.d.ts.map +1 -1
  23. package/dist/change.js +4 -2
  24. package/dist/chat-types.d.ts +2 -2
  25. package/dist/chat-types.d.ts.map +1 -1
  26. package/dist/chat-types.js +11 -2
  27. package/dist/client.d.ts +13 -19
  28. package/dist/client.d.ts.map +1 -1
  29. package/dist/client.js +35 -19
  30. package/dist/collection.d.ts +22 -4
  31. package/dist/collection.d.ts.map +1 -1
  32. package/dist/collection.js +12 -2
  33. package/dist/compile.d.ts +2 -0
  34. package/dist/compile.d.ts.map +1 -1
  35. package/dist/compile.js +31 -24
  36. package/dist/connection.d.ts.map +1 -1
  37. package/dist/connection.js +32 -24
  38. package/dist/conversation-live.d.ts +147 -0
  39. package/dist/conversation-live.d.ts.map +1 -0
  40. package/dist/conversation-live.js +258 -0
  41. package/dist/conversation-row.d.ts.map +1 -1
  42. package/dist/conversation-row.js +7 -1
  43. package/dist/conversation.d.ts +52 -44
  44. package/dist/conversation.d.ts.map +1 -1
  45. package/dist/conversation.js +956 -1029
  46. package/dist/declaration.d.ts +10 -0
  47. package/dist/declaration.d.ts.map +1 -0
  48. package/dist/declaration.js +24 -0
  49. package/dist/discovery.d.ts.map +1 -1
  50. package/dist/discovery.js +19 -44
  51. package/dist/durability.d.ts +13 -0
  52. package/dist/durability.d.ts.map +1 -1
  53. package/dist/durability.js +4 -0
  54. package/dist/entry.js +1 -1
  55. package/dist/expectation.d.ts +26 -13
  56. package/dist/expectation.d.ts.map +1 -1
  57. package/dist/expectation.js +72 -19
  58. package/dist/failure.d.ts +3 -0
  59. package/dist/failure.d.ts.map +1 -1
  60. package/dist/failure.js +6 -0
  61. package/dist/figures.d.ts +1 -0
  62. package/dist/figures.d.ts.map +1 -1
  63. package/dist/figures.js +2 -2
  64. package/dist/file.d.ts.map +1 -1
  65. package/dist/file.js +2 -1
  66. package/dist/holdings.d.ts +29 -0
  67. package/dist/holdings.d.ts.map +1 -0
  68. package/dist/holdings.js +95 -0
  69. package/dist/host.d.ts +18 -2
  70. package/dist/host.d.ts.map +1 -1
  71. package/dist/host.js +46 -11
  72. package/dist/index.d.ts +17 -9
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +13 -6
  75. package/dist/install.d.ts +2 -4
  76. package/dist/install.d.ts.map +1 -1
  77. package/dist/install.js +53 -83
  78. package/dist/lifecycle.d.ts +1 -1
  79. package/dist/lifecycle.d.ts.map +1 -1
  80. package/dist/lifecycle.js +45 -35
  81. package/dist/listing.d.ts +6 -11
  82. package/dist/listing.d.ts.map +1 -1
  83. package/dist/listing.js +25 -61
  84. package/dist/live.d.ts.map +1 -1
  85. package/dist/live.js +3 -3
  86. package/dist/locks.d.ts +2 -4
  87. package/dist/locks.d.ts.map +1 -1
  88. package/dist/locks.js +10 -39
  89. package/dist/lost.d.ts.map +1 -1
  90. package/dist/lost.js +10 -22
  91. package/dist/media.d.ts +1 -1
  92. package/dist/media.d.ts.map +1 -1
  93. package/dist/media.js +10 -13
  94. package/dist/memory.d.ts +7 -3
  95. package/dist/memory.d.ts.map +1 -1
  96. package/dist/memory.js +58 -27
  97. package/dist/messages.d.ts +10 -6
  98. package/dist/messages.d.ts.map +1 -1
  99. package/dist/messages.js +26 -36
  100. package/dist/model.d.ts +0 -1
  101. package/dist/model.d.ts.map +1 -1
  102. package/dist/model.js +0 -5
  103. package/dist/models.d.ts +4 -8
  104. package/dist/models.d.ts.map +1 -1
  105. package/dist/models.js +95 -135
  106. package/dist/observation.d.ts +3 -2
  107. package/dist/observation.d.ts.map +1 -1
  108. package/dist/observation.js +22 -21
  109. package/dist/opened.d.ts +1 -1
  110. package/dist/opened.d.ts.map +1 -1
  111. package/dist/opened.js +5 -5
  112. package/dist/opening.d.ts.map +1 -1
  113. package/dist/opening.js +7 -10
  114. package/dist/outcome.d.ts +10 -1
  115. package/dist/outcome.d.ts.map +1 -1
  116. package/dist/outcome.js +23 -2
  117. package/dist/overlay.d.ts +5 -1
  118. package/dist/overlay.d.ts.map +1 -1
  119. package/dist/overlay.js +36 -21
  120. package/dist/page-metadata.d.ts +8 -0
  121. package/dist/page-metadata.d.ts.map +1 -0
  122. package/dist/page-metadata.js +19 -0
  123. package/dist/parts.d.ts +3 -58
  124. package/dist/parts.d.ts.map +1 -1
  125. package/dist/parts.js +10 -115
  126. package/dist/paths.d.ts +1 -0
  127. package/dist/paths.d.ts.map +1 -1
  128. package/dist/paths.js +22 -0
  129. package/dist/preparation.d.ts.map +1 -1
  130. package/dist/preparation.js +25 -24
  131. package/dist/presence.d.ts +52 -0
  132. package/dist/presence.d.ts.map +1 -0
  133. package/dist/presence.js +220 -0
  134. package/dist/queries.d.ts +1 -1
  135. package/dist/queries.d.ts.map +1 -1
  136. package/dist/queries.js +24 -14
  137. package/dist/query.d.ts +0 -1
  138. package/dist/query.d.ts.map +1 -1
  139. package/dist/questions.d.ts +2 -5
  140. package/dist/questions.d.ts.map +1 -1
  141. package/dist/questions.js +3 -6
  142. package/dist/queue.d.ts +40 -0
  143. package/dist/queue.d.ts.map +1 -0
  144. package/dist/queue.js +450 -0
  145. package/dist/reach.d.ts.map +1 -1
  146. package/dist/reach.js +68 -23
  147. package/dist/react.d.ts +11 -1
  148. package/dist/react.d.ts.map +1 -1
  149. package/dist/react.js +33 -1
  150. package/dist/readiness.d.ts +1 -2
  151. package/dist/readiness.d.ts.map +1 -1
  152. package/dist/reads.d.ts +4 -1
  153. package/dist/reads.d.ts.map +1 -1
  154. package/dist/reads.js +47 -5
  155. package/dist/recovery.d.ts +3 -1
  156. package/dist/recovery.d.ts.map +1 -1
  157. package/dist/recovery.js +29 -7
  158. package/dist/refresh.js +2 -2
  159. package/dist/refusal.d.ts.map +1 -1
  160. package/dist/refusal.js +5 -6
  161. package/dist/replica.d.ts +5 -10
  162. package/dist/replica.d.ts.map +1 -1
  163. package/dist/replica.js +15 -16
  164. package/dist/retried.d.ts +30 -0
  165. package/dist/retried.d.ts.map +1 -0
  166. package/dist/retried.js +72 -0
  167. package/dist/room-draft.d.ts +4 -6
  168. package/dist/room-draft.d.ts.map +1 -1
  169. package/dist/room-draft.js +48 -59
  170. package/dist/room-drafts.d.ts.map +1 -1
  171. package/dist/room-drafts.js +17 -16
  172. package/dist/rows.d.ts.map +1 -1
  173. package/dist/rows.js +3 -4
  174. package/dist/runtime.d.ts +11 -19
  175. package/dist/runtime.d.ts.map +1 -1
  176. package/dist/save.d.ts +42 -86
  177. package/dist/save.d.ts.map +1 -1
  178. package/dist/save.js +333 -163
  179. package/dist/saves.d.ts +2 -40
  180. package/dist/saves.d.ts.map +1 -1
  181. package/dist/saves.js +109 -703
  182. package/dist/seed.d.ts.map +1 -1
  183. package/dist/seed.js +2 -3
  184. package/dist/shared.d.ts +1 -6
  185. package/dist/shared.d.ts.map +1 -1
  186. package/dist/shared.js +13 -95
  187. package/dist/shown.d.ts +6 -4
  188. package/dist/shown.d.ts.map +1 -1
  189. package/dist/shown.js +43 -35
  190. package/dist/socket/lanes.d.ts +12 -4
  191. package/dist/socket/lanes.d.ts.map +1 -1
  192. package/dist/socket/lanes.js +34 -8
  193. package/dist/socket/session.d.ts +0 -1
  194. package/dist/socket/session.d.ts.map +1 -1
  195. package/dist/socket.d.ts +3 -6
  196. package/dist/socket.d.ts.map +1 -1
  197. package/dist/socket.js +5 -16
  198. package/dist/source.d.ts +0 -7
  199. package/dist/source.d.ts.map +1 -1
  200. package/dist/source.js +5 -4
  201. package/dist/store/records.d.ts +11 -8
  202. package/dist/store/records.d.ts.map +1 -1
  203. package/dist/store/records.js +43 -12
  204. package/dist/store/space.d.ts +1 -1
  205. package/dist/store/space.d.ts.map +1 -1
  206. package/dist/store/space.js +0 -2
  207. package/dist/store/watchers.js +1 -2
  208. package/dist/store.d.ts +12 -7
  209. package/dist/store.d.ts.map +1 -1
  210. package/dist/store.js +38 -13
  211. package/dist/stored.d.ts +2 -1
  212. package/dist/stored.d.ts.map +1 -1
  213. package/dist/stored.js +27 -15
  214. package/dist/surface.d.ts +7 -4
  215. package/dist/surface.d.ts.map +1 -1
  216. package/dist/surface.js +30 -25
  217. package/dist/sync.d.ts +0 -1
  218. package/dist/sync.d.ts.map +1 -1
  219. package/dist/sync.js +93 -89
  220. package/dist/tables.d.ts +19 -11
  221. package/dist/tables.d.ts.map +1 -1
  222. package/dist/tables.js +58 -21
  223. package/dist/tallies.d.ts.map +1 -1
  224. package/dist/tallies.js +6 -7
  225. package/dist/validation.d.ts.map +1 -1
  226. package/dist/validation.js +2 -2
  227. package/dist/wire.d.ts +53 -7
  228. package/dist/wire.d.ts.map +1 -1
  229. package/dist/wire.js +17 -4
  230. package/package.json +3 -2
  231. package/dist/attempt.d.ts +0 -16
  232. package/dist/attempt.d.ts.map +0 -1
  233. package/dist/attempt.js +0 -70
  234. package/dist/job.d.ts +0 -33
  235. package/dist/job.d.ts.map +0 -1
  236. package/dist/job.js +0 -54
  237. package/dist/log.d.ts +0 -6
  238. package/dist/log.d.ts.map +0 -1
  239. package/dist/log.js +0 -14
  240. package/dist/socket/rooms.d.ts +0 -43
  241. package/dist/socket/rooms.d.ts.map +0 -1
  242. package/dist/socket/rooms.js +0 -90
  243. package/dist/store/fences.d.ts +0 -16
  244. package/dist/store/fences.d.ts.map +0 -1
  245. package/dist/store/fences.js +0 -26
@@ -1 +1 @@
1
- {"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../src/seed.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAS,KAAK,WAAW,EAAqB,MAAM,kBAAkB,CAAC;AAC9E,OAAO,KAAK,EAAE,IAAI,EAA4C,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;KAAE,EAAE,CAAC;CACpF,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAAE,CAAC;AAEjG,KAAK,WAAW,GAAG,CACjB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,KAAK,KAAK,EACjD,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,KAChC,MAAM,IAAI,CAAC;AA0ChB,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAe5D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAoBtD;AA+BD,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAOxF;AAYD,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAMlE;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,WAAW,GACjB,MAAM,IAAI,CA4BZ"}
1
+ {"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../src/seed.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAS,KAAK,WAAW,EAAqB,MAAM,kBAAkB,CAAC;AAC9E,OAAO,KAAK,EAAE,IAAI,EAA4C,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;KAAE,EAAE,CAAC;CACpF,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAAE,CAAC;AAEjG,KAAK,WAAW,GAAG,CACjB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,KAAK,KAAK,EACjD,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,KAChC,MAAM,IAAI,CAAC;AA0ChB,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAe5D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAmBtD;AA+BD,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAOxF;AAYD,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAMlE;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,WAAW,GACjB,MAAM,IAAI,CA4BZ"}
package/dist/seed.js CHANGED
@@ -62,7 +62,6 @@ export function seededResult(seed) {
62
62
  generation,
63
63
  current: false,
64
64
  })),
65
- indexes: [],
66
65
  overlay: [],
67
66
  };
68
67
  if ('groups' in seed.rows) {
@@ -83,9 +82,9 @@ function seedRoomHeld({ socket }, room, version, held) {
83
82
  socket.reads.reached(room, stored.roomVersion, version));
84
83
  }
85
84
  function seedHeld(runtime, at, held) {
86
- const { socket } = runtime;
85
+ const { socket, presence } = runtime;
87
86
  return Object.entries(at).every(([room, version]) => (socket.session.now().roomsListed &&
88
- socket.rooms.declared(room) === undefined &&
87
+ presence.room(room) === undefined &&
89
88
  !held.rooms.has(room)) ||
90
89
  seedRoomHeld(runtime, room, version, held));
91
90
  }
package/dist/shared.d.ts CHANGED
@@ -1,14 +1,9 @@
1
1
  export type Paths<V> = Readonly<Record<string, V>>;
2
+ export declare function guarding<V>(values: Paths<V>, handler: ProxyHandler<Paths<V>>): Paths<V>;
2
3
  export declare function entriesIn<V>(map: Paths<V>): Generator<readonly [string, V]>;
3
4
  export declare function sortedKeys(map: Paths<unknown>): Generator<number, readonly string[], void>;
4
5
  export declare function sorting(keys: Iterable<string>): Generator<number, readonly string[], void>;
5
- export declare function sharing<V>(map: Paths<V>): Generator<number, Paths<V>, void>;
6
- export declare function shared<V>(map: Paths<V>): Paths<V>;
7
- export declare function patched<V>(base: Paths<V>, set: Iterable<readonly [string, V]>, removed?: Iterable<string>): Paths<V>;
8
6
  export declare function patching<V>(base: Paths<V>, set: Iterable<readonly [string, V]>, removed?: Iterable<string>): Generator<number, Paths<V>, void>;
9
- export declare function sizeOf<V>(map: Paths<V>): number;
10
- export declare function differences<V>(left: Paths<V>, right: Paths<V>, same?: (left: V, right: V) => boolean): Generator<number, ReadonlySet<string>, void>;
11
- export declare function differing<V>(left: Paths<V>, right: Paths<V>, same?: (left: V, right: V) => boolean): ReadonlySet<string>;
12
7
  export declare function drafted<V>(base: Paths<V>): Record<string, V>;
13
8
  export declare function settled<V>(draft: Record<string, V>): Paths<V>;
14
9
  export declare function settling<V>(draft: Record<string, V>): Generator<number, Paths<V>, void>;
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AA+LnD,wBAAiB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAO5E;AAuCD,wBAAiB,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,CAAC,CAE3F;AAED,wBAAiB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,CAAC,CAoB3F;AAED,wBAAiB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAE5E;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAEjD;AAED,wBAAgB,OAAO,CAAC,CAAC,EACvB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EACd,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EACnC,OAAO,GAAE,QAAQ,CAAC,MAAM,CAAM,GAC7B,KAAK,CAAC,CAAC,CAAC,CAEV;AAED,wBAAiB,QAAQ,CAAC,CAAC,EACzB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EACd,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EACnC,OAAO,GAAE,QAAQ,CAAC,MAAM,CAAM,GAC7B,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAoBnC;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAE/C;AA8CD,wBAAiB,WAAW,CAAC,CAAC,EAC5B,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EACd,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,IAAI,GAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,OAAmB,GAC/C,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAkB9C;AAED,wBAAgB,SAAS,CAAC,CAAC,EACzB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EACd,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,IAAI,GAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,OAAmB,GAC/C,WAAW,CAAC,MAAM,CAAC,CAErB;AAMD,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAiD5D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAE7D;AAED,wBAAiB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAUxF"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AA8LnD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAIvF;AAED,wBAAiB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAQ5E;AAqCD,wBAAiB,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,CAAC,CAE3F;AAED,wBAAiB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,CAAC,CAoB3F;AAED,wBAAiB,QAAQ,CAAC,CAAC,EACzB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EACd,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EACnC,OAAO,GAAE,QAAQ,CAAC,MAAM,CAAM,GAC7B,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAgBnC;AAMD,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAiD5D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAE7D;AAED,wBAAiB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAUxF"}
package/dist/shared.js CHANGED
@@ -100,21 +100,15 @@ function lone(node) {
100
100
  }
101
101
  function taken(node, hash, key, shift) {
102
102
  if (isLeaf(node))
103
- return node.key === key ? undefined : node;
103
+ return undefined;
104
104
  if (isCollision(node)) {
105
105
  const leaves = node.leaves.filter((leaf) => leaf.key !== key);
106
- if (leaves.length === node.leaves.length)
107
- return node;
108
106
  return leaves.length === 1 ? leaves[0] : { hash: node.hash, leaves };
109
107
  }
110
108
  const bit = 1 << fragment(hash, shift);
111
- if ((node.bitmap & bit) === 0)
112
- return node;
113
109
  const at = slot(node.bitmap, bit);
114
110
  const child = node.children[at];
115
111
  const next = taken(child, hash, key, shift + BITS);
116
- if (next === child)
117
- return node;
118
112
  if (next === undefined) {
119
113
  if (node.children.length === 1)
120
114
  return undefined;
@@ -179,11 +173,18 @@ function facade(root) {
179
173
  roots.set(map, root);
180
174
  return map;
181
175
  }
176
+ const guarded = new WeakMap();
177
+ export function guarding(values, handler) {
178
+ const map = new Proxy(values, handler);
179
+ guarded.set(map, values);
180
+ return map;
181
+ }
182
182
  export function* entriesIn(map) {
183
183
  const root = roots.get(map);
184
184
  if (root === undefined) {
185
- for (const key of Object.keys(map))
186
- yield [key, map[key]];
185
+ const values = guarded.get(map) ?? map;
186
+ for (const key of Object.keys(values))
187
+ yield [key, values[key]];
187
188
  return;
188
189
  }
189
190
  for (const leaf of leavesOf(root.node))
@@ -194,13 +195,11 @@ function* rooted(map) {
194
195
  if (held !== undefined)
195
196
  return held;
196
197
  let node;
197
- let size = 0;
198
198
  for (const [key, value] of entriesIn(map)) {
199
199
  node = put(node, { key, hash: hashOf(key), value }, 0);
200
- size += 1;
201
200
  yield ROW_WEIGHT;
202
201
  }
203
- return { node, size };
202
+ return { node };
204
203
  }
205
204
  const RUN = 1 << 10;
206
205
  function* merged(left, right) {
@@ -244,106 +243,25 @@ export function* sorting(keys) {
244
243
  }
245
244
  return runs[0] ?? [];
246
245
  }
247
- export function* sharing(map) {
248
- return roots.has(map) ? map : facade(yield* rooted(map));
249
- }
250
- export function shared(map) {
251
- return finished(sharing(map));
252
- }
253
- export function patched(base, set, removed = []) {
254
- return finished(patching(base, set, removed));
255
- }
256
246
  export function* patching(base, set, removed = []) {
257
247
  const root = yield* rooted(base);
258
248
  let node = root.node;
259
- let size = root.size;
260
249
  for (const key of removed) {
261
250
  if (node === undefined)
262
251
  break;
263
- const before = lookup({ node, size }, key);
252
+ const before = lookup({ node }, key);
264
253
  if (before === undefined)
265
254
  continue;
266
255
  node = taken(node, before.hash, key, 0);
267
- size -= 1;
268
256
  yield ROW_WEIGHT;
269
257
  }
270
258
  for (const [key, value] of set) {
271
- const before = lookup({ node, size }, key);
272
259
  node = put(node, { key, hash: hashOf(key), value }, 0);
273
- if (before === undefined)
274
- size += 1;
275
260
  yield ROW_WEIGHT;
276
261
  }
277
262
  if (node === root.node && roots.has(base))
278
263
  return base;
279
- return facade({ node, size });
280
- }
281
- export function sizeOf(map) {
282
- return roots.get(map)?.size ?? Object.keys(map).length;
283
- }
284
- function* compared(left, right, same, into) {
285
- const pending = [[left, right]];
286
- for (let pair = pending.pop(); pair !== undefined; pair = pending.pop()) {
287
- const [one, other] = pair;
288
- if (one === other)
289
- continue;
290
- if (one !== undefined &&
291
- other !== undefined &&
292
- !isLeaf(one) &&
293
- !isCollision(one) &&
294
- !isLeaf(other) &&
295
- !isCollision(other)) {
296
- const children = [];
297
- for (let remaining = one.bitmap | other.bitmap; remaining !== 0; remaining &= remaining - 1) {
298
- const bit = remaining & -remaining;
299
- children.push([
300
- (one.bitmap & bit) === 0 ? undefined : one.children[slot(one.bitmap, bit)],
301
- (other.bitmap & bit) === 0 ? undefined : other.children[slot(other.bitmap, bit)],
302
- ]);
303
- }
304
- pending.push(...children.reverse());
305
- continue;
306
- }
307
- const before = new Map();
308
- for (const leaf of leavesOf(one)) {
309
- before.set(leaf.key, leaf.value);
310
- yield ROW_WEIGHT;
311
- }
312
- for (const leaf of leavesOf(other)) {
313
- const held = before.get(leaf.key);
314
- before.delete(leaf.key);
315
- if (held === undefined || !same(held, leaf.value))
316
- into.add(leaf.key);
317
- yield ROW_WEIGHT;
318
- }
319
- for (const key of before.keys())
320
- into.add(key);
321
- }
322
- }
323
- export function* differences(left, right, same = Object.is) {
324
- const into = new Set();
325
- if (left === right)
326
- return into;
327
- const leftRoot = roots.get(left);
328
- const rightRoot = roots.get(right);
329
- if (leftRoot !== undefined && rightRoot !== undefined) {
330
- yield* compared(leftRoot.node, rightRoot.node, same, into);
331
- return into;
332
- }
333
- for (const [key, value] of entriesIn(left)) {
334
- if (!Object.hasOwn(right, key) || !same(value, right[key]))
335
- into.add(key);
336
- yield ROW_WEIGHT;
337
- }
338
- for (const [key] of entriesIn(right)) {
339
- if (!Object.hasOwn(left, key))
340
- into.add(key);
341
- yield ROW_WEIGHT;
342
- }
343
- return into;
344
- }
345
- export function differing(left, right, same = Object.is) {
346
- return finished(differences(left, right, same));
264
+ return facade({ node });
347
265
  }
348
266
  const drafts = new WeakMap();
349
267
  const GONE = Symbol('gone');
package/dist/shown.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { DiscoveredRoom, Member } from './adapter.js';
2
- import type { ChangeSet } from './change-set.js';
1
+ import type { Member } from './adapter.js';
2
+ import { type ChangeSet } from './change-set.js';
3
3
  import type { QueueEntry } from './outcome.js';
4
4
  import type { Runtime } from './runtime.js';
5
5
  import type { Live, Moving } from './socket.js';
@@ -17,7 +17,8 @@ export declare function recoverReads({ liveQueries, figures }: Runtime): void;
17
17
  export declare function emitRooms(runtime: Runtime, changed?: readonly string[]): Promise<void>;
18
18
  export declare function emitKnownRooms(runtime: Runtime): void;
19
19
  export declare function emitRefusal(runtime: Runtime): void;
20
- export declare function emitStorageLoss({ store }: Runtime): void;
20
+ export declare function storageLossNow({ store }: Runtime): string | null;
21
+ export declare function emitStorageLoss(runtime: Runtime): void;
21
22
  export declare function emitMember({ store }: Runtime, member: Member | null): void;
22
23
  export declare function show(runtime: Runtime): Promise<void>;
23
24
  export declare function moveTo(runtime: Runtime, next: Moving): Promise<void>;
@@ -26,6 +27,7 @@ export declare function transferring({ socket }: Runtime): Moving;
26
27
  export declare function pendingShown(runtime: Runtime): Promise<void>;
27
28
  export declare function entriesOf(runtime: Runtime, locator: string): Promise<readonly QueueEntry[]>;
28
29
  export declare function publishChangeSet(runtime: Runtime, set: ChangeSet): Promise<void>;
29
- export declare function roomUnreadable(runtime: Runtime, room: DiscoveredRoom): void;
30
+ export declare function submissionDue(runtime: Runtime, locators?: readonly string[]): Promise<void>;
31
+ export declare function roomUnreadable(runtime: Runtime, locator: string): void;
30
32
  export declare function rest(runtime: Runtime, progress: CycleProgress | null, live?: Live): Promise<void>;
31
33
  //# sourceMappingURL=shown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shown.d.ts","sourceRoot":"","sources":["../src/shown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAA6B,KAAK,aAAa,EAAmB,MAAM,aAAa,CAAC;AAiB7F,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,eAAO,MAAM,YAAY,gBAAgB,CAAC;AAE1C,eAAO,MAAM,aAAa,uBAAuB,CAAC;AAElD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAEjD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAEjD,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAEnD,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,eAAO,MAAM,UAAU,YAAa,MAAM,WAA4B,CAAC;AA0CvE,wBAAgB,YAAY,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,OAAO,QAG7D;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,QAI9C;AA8ED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,QAK3C;AAED,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,QAGjD;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,QAEnE;AAsBD,wBAAgB,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAepD;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIpE;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3D;AAED,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,GAAG,MAAM,CAExD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAK5D;AAYD,wBAAsB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAKjG;AAcD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBhF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,QAIpE;AAED,wBAAsB,IAAI,CACxB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,GAAG,IAAI,EAC9B,IAAI,GAAE,IAAqC,iBAgC5C"}
1
+ {"version":3,"file":"shown.d.ts","sourceRoot":"","sources":["../src/shown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAA6B,KAAK,aAAa,EAAmB,MAAM,aAAa,CAAC;AAiB7F,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,eAAO,MAAM,YAAY,gBAAgB,CAAC;AAE1C,eAAO,MAAM,aAAa,uBAAuB,CAAC;AAElD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAEjD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAEjD,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAEnD,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,eAAO,MAAM,UAAU,YAAa,MAAM,WAA4B,CAAC;AAqCvE,wBAAgB,YAAY,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,OAAO,QAG7D;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,QAI9C;AA6ED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,QAK3C;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGhE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,QAG/C;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,QAEnE;AA0BD,wBAAgB,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAepD;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIpE;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3D;AAED,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,GAAG,MAAM,CAExD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAK5D;AAYD,wBAAsB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAGjG;AAcD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBhF;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAOjG;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,QAG/D;AAED,wBAAsB,IAAI,CACxB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,GAAG,IAAI,EAC9B,IAAI,GAAE,IAAqC,iBAiC5C"}
package/dist/shown.js CHANGED
@@ -1,4 +1,7 @@
1
- import { listingNow, list, patchedListing, shownRooms } from './listing.js';
1
+ import { changeSet, mergeChangeSets } from './change-set.js';
2
+ import { conversationsChanged, conversationsLearned } from './conversation.js';
3
+ import { lossStated } from './durability.js';
4
+ import { listingNow, patchedListing, shownRooms } from './listing.js';
2
5
  import { emitPresentation, publishRoomDrafts } from './room-drafts.js';
3
6
  import { same } from './status.js';
4
7
  export const ROOMS_TOPIC = 'rooms';
@@ -11,9 +14,8 @@ export const AUTHORITY_TOPIC = 'authority-changes';
11
14
  export const LOCKS_TOPIC = 'locks';
12
15
  export const queueTopic = (locator) => `queue\u0000${locator}`;
13
16
  async function attended({ store, localSaves }) {
14
- const isFenced = store.fences.has;
15
- const held = await (await store.open()).status();
16
- const attentionRequired = held.returned.flatMap((record) => record.returned === null || isFenced(record.locator)
17
+ const held = await store.status();
18
+ const attentionRequired = held.returned.flatMap((record) => record.returned === null
17
19
  ? []
18
20
  : [{ room: record.locator, path: record.path, returned: structuredClone(record.returned) }]);
19
21
  attentionRequired.sort((left, right) => {
@@ -25,25 +27,22 @@ async function attended({ store, localSaves }) {
25
27
  });
26
28
  const changed = new Map();
27
29
  if (!localSaves) {
28
- for (const change of held.unsent) {
29
- if (!isFenced(change.room))
30
- changed.set(`${change.room}\u0000${change.path}`, change);
31
- }
30
+ for (const change of held.unsent)
31
+ changed.set(`${change.room}\u0000${change.path}`, change);
32
32
  }
33
33
  const unsent = [...changed]
34
34
  .sort(([left], [right]) => (left < right ? -1 : left > right ? 1 : 0))
35
35
  .map(([, change]) => change);
36
36
  return {
37
- queued: !localSaves && held.queued.some((locator) => !isFenced(locator)),
37
+ queued: !localSaves && held.queued.length > 0,
38
38
  lastCompleted: held.lastCompleted,
39
39
  attentionRequired,
40
40
  unsent,
41
- reset: held.resets.reduce((earliest, { locator, reset }) => isFenced(locator) || (earliest !== null && earliest <= reset) ? earliest : reset, null),
41
+ reset: held.resets.reduce((earliest, { reset }) => (earliest !== null && earliest <= reset ? earliest : reset), null),
42
42
  };
43
43
  }
44
44
  async function queuedWork({ store, localSaves }) {
45
- const held = await (await store.open()).queued();
46
- return !localSaves && held.some((locator) => !store.fences.has(locator));
45
+ return !localSaves && (await store.queued()).length > 0;
47
46
  }
48
47
  export function recoverReads({ liveQueries, figures }) {
49
48
  liveQueries.recover();
@@ -57,7 +56,7 @@ export function emitRooms(runtime, changed) {
57
56
  : publishRooms(runtime, 'changed', changed);
58
57
  }
59
58
  export function emitKnownRooms(runtime) {
60
- runtime.conversations.learned();
59
+ conversationsLearned(runtime.conversations);
61
60
  if (runtime.store.watching(ROOMS_TOPIC, 'waiting').length === 0)
62
61
  return;
63
62
  void publishRooms(runtime, 'known');
@@ -87,9 +86,7 @@ async function deliverRooms(runtime, owed) {
87
86
  if (patched === null && owed.changed.size > 0)
88
87
  owed.all = true;
89
88
  if (patched === null && !owed.all && owed.counted.size > 0) {
90
- const held = await store.covering().catch(() => null);
91
- if (held === null)
92
- return;
89
+ const held = await store.covering();
93
90
  const { roomsShown } = store.device.now();
94
91
  owed.all = [...owed.counted].some((locator) => held.rooms.has(locator) &&
95
92
  roomsShown?.get(locator)?.documents !== held.rooms.get(locator).documents);
@@ -100,15 +97,15 @@ async function deliverRooms(runtime, owed) {
100
97
  else if (waiting().length === 0)
101
98
  return;
102
99
  }
103
- const listing = patched ?? (await listingNow(runtime).catch(() => null));
104
- if (listing === null || socket.closed())
100
+ const listing = patched ?? (await listingNow(runtime));
101
+ if (socket.closed())
105
102
  return;
106
- const value = shownRooms(runtime, listing);
107
103
  const { roomsListed, refusal, moving } = socket.session.now();
108
104
  const joining = waiting().length > 0 &&
109
105
  (roomsListed || listing.size > 0 || refusal !== null || moving.providerUnreachable);
110
106
  if (!owed.all && patched === null && !joining)
111
107
  return;
108
+ const value = shownRooms(runtime, listing);
112
109
  const { roomsShown } = store.device.now();
113
110
  const moved = owed.all ||
114
111
  patched !== null ||
@@ -135,9 +132,13 @@ export function emitRefusal(runtime) {
135
132
  store.tell(REFUSAL_TOPIC, socket.session.now().refusal);
136
133
  emitKnownRooms(runtime);
137
134
  }
138
- export function emitStorageLoss({ store }) {
139
- store.readiness.queue();
140
- store.tell(STORAGE_LOSS_TOPIC, store.device.now().storageLoss);
135
+ export function storageLossNow({ store }) {
136
+ const { persistence, storageLoss } = store.device.now();
137
+ return lossStated(persistence, storageLoss);
138
+ }
139
+ export function emitStorageLoss(runtime) {
140
+ runtime.store.readiness.queue();
141
+ runtime.store.tell(STORAGE_LOSS_TOPIC, storageLossNow(runtime));
141
142
  }
142
143
  export function emitMember({ store }, member) {
143
144
  store.tell(MEMBER_TOPIC, member);
@@ -163,13 +164,16 @@ async function deliverStatus(runtime, owed) {
163
164
  store.tell(STATUS_TOPIC, next);
164
165
  }
165
166
  }
167
+ function conversationsCurrent({ conversations }) {
168
+ return conversations.listed() && conversations.current();
169
+ }
166
170
  export function show(runtime) {
167
- const { store, socket, conversations } = runtime;
171
+ const { store, socket } = runtime;
168
172
  if (socket.closed())
169
173
  return Promise.resolve();
170
174
  store.readiness.queue();
171
175
  emitKnownRooms(runtime);
172
- const moved = { moving: socket.session.now().moving, current: conversations.current() };
176
+ const moved = { moving: socket.session.now().moving, current: conversationsCurrent(runtime) };
173
177
  return store.owing(STATUS_TOPIC, (held) => {
174
178
  if (held === undefined)
175
179
  return [moved];
@@ -203,10 +207,7 @@ function entryOf({ localSaves }, states, batch) {
203
207
  return Object.freeze({ batch, ...(state?.submission ?? { state: 'waiting' }) });
204
208
  }
205
209
  export async function entriesOf(runtime, locator) {
206
- const { store } = runtime;
207
- if (store.fences.has(locator))
208
- return [];
209
- const { queue, states } = await store.work(locator);
210
+ const { queue, states } = await runtime.store.work(locator);
210
211
  return queue.map((batch) => entryOf(runtime, states, batch));
211
212
  }
212
213
  function emitQueue(runtime, locator) {
@@ -249,23 +250,30 @@ export function publishChangeSet(runtime, set) {
249
250
  }
250
251
  for (const app of set.presentations)
251
252
  shownNow.push(emitPresentation(runtime, app));
252
- conversations.changed(set);
253
+ conversationsChanged(conversations, set);
253
254
  return Promise.all(shownNow).then(() => undefined);
254
255
  }
255
- export function roomUnreadable(runtime, room) {
256
- runtime.socket.rooms.stand(room.locator, { unreadable: true });
257
- list(runtime, room, false);
256
+ export async function submissionDue(runtime, locators) {
257
+ const { store } = runtime;
258
+ const due = (await store.queued()).filter((locator) => locators === undefined || locators.includes(locator));
259
+ if (due.length === 0)
260
+ return;
261
+ await store.changed(mergeChangeSets(due.map((locator) => changeSet(locator, { due: true }))));
262
+ }
263
+ export function roomUnreadable(runtime, locator) {
264
+ runtime.presence.refused(locator, null);
258
265
  emitRooms(runtime);
259
266
  }
260
267
  export async function rest(runtime, progress, live = () => !runtime.socket.closed()) {
261
- const { store, socket } = runtime;
262
- const { session, lanes, rooms } = socket;
268
+ const { store, socket, presence } = runtime;
269
+ const { session, lanes } = socket;
263
270
  if (!live())
264
271
  return;
265
272
  const settled = () => session.now().complete &&
266
273
  lanes.roomWork() === 0 &&
267
274
  !socket.naming() &&
268
- rooms.standingWhere(({ stale }) => stale).length === 0;
275
+ presence.settled() &&
276
+ conversationsCurrent(runtime);
269
277
  let synced = settled();
270
278
  if (synced && !session.now().recorded) {
271
279
  const queued = await queuedWork(runtime).catch(() => true);
@@ -1,8 +1,13 @@
1
+ import type { CallResult } from '../outcome.js';
1
2
  export type Live = () => boolean;
3
+ export type KeptSender = {
4
+ next(): Promise<CallResult>;
5
+ };
2
6
  type LaneRules = {
3
7
  generation(): number;
4
8
  continuing(): boolean;
5
9
  stopping(): boolean;
10
+ failed(locator: string, error: unknown): void;
6
11
  };
7
12
  export type Lanes = {
8
13
  task(lane: string, work: (live: Live) => Promise<void>): Promise<void>;
@@ -11,10 +16,13 @@ export type Lanes = {
11
16
  roomWork(): number;
12
17
  current(): Promise<unknown>;
13
18
  finished(): Promise<unknown>;
14
- calling(operation: string): boolean;
15
- call(operation: string): void;
16
- called(operation: string): void;
19
+ sender(operation: string): KeptSender | undefined;
20
+ sending(operation: string, sender: KeptSender): void;
21
+ sent(operation: string, sender: KeptSender): void;
22
+ settled(operation: string): Promise<void>;
23
+ settle(operation: string, lost: boolean): void;
24
+ unclaimed(operation: string): boolean;
17
25
  };
18
- export declare function createLanes({ generation, continuing, stopping }: LaneRules): Lanes;
26
+ export declare function createLanes({ generation, continuing, stopping, failed }: LaneRules): Lanes;
19
27
  export {};
20
28
  //# sourceMappingURL=lanes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lanes.d.ts","sourceRoot":"","sources":["../../src/socket/lanes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;AAIjC,KAAK,SAAS,GAAG;IACf,UAAU,IAAI,MAAM,CAAC;IACrB,UAAU,IAAI,OAAO,CAAC;IACtB,QAAQ,IAAI,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,QAAQ,IAAI,MAAM,CAAC;IACnB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAIF,wBAAgB,WAAW,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,SAAS,GAAG,KAAK,CAgFlF"}
1
+ {"version":3,"file":"lanes.d.ts","sourceRoot":"","sources":["../../src/socket/lanes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;AAEjC,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,CAAA;CAAE,CAAC;AAIzD,KAAK,SAAS,GAAG;IACf,UAAU,IAAI,MAAM,CAAC;IACrB,UAAU,IAAI,OAAO,CAAC;IACtB,QAAQ,IAAI,OAAO,CAAC;IACpB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,QAAQ,IAAI,MAAM,CAAC;IACnB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAClD,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IACrD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAClD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/C,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;CACvC,CAAC;AAIF,wBAAgB,WAAW,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,SAAS,GAAG,KAAK,CAqG1F"}
@@ -1,10 +1,12 @@
1
1
  const ROOM_READS = 256;
2
- export function createLanes({ generation, continuing, stopping }) {
2
+ export function createLanes({ generation, continuing, stopping, failed }) {
3
3
  const lanes = new Map();
4
4
  const roomLanes = new Map();
5
5
  const roomReads = { free: ROOM_READS, waiting: [] };
6
6
  const working = new Set();
7
- const calling = new Set();
7
+ const senders = new Map();
8
+ const settlements = new Map();
9
+ const unclaimed = new Set();
8
10
  let roomWork = 0;
9
11
  async function admittedRead(work) {
10
12
  while (roomReads.free === 0) {
@@ -59,19 +61,43 @@ export function createLanes({ generation, continuing, stopping }) {
59
61
  roomTask(locator, work) {
60
62
  if (stopping())
61
63
  return Promise.resolve();
62
- return inRoom(locator, (live) => admittedRead(() => work(live))).catch(() => undefined);
64
+ return inRoom(locator, (live) => admittedRead(() => work(live))).catch((error) => {
65
+ if (!stopping())
66
+ failed(locator, error);
67
+ });
63
68
  },
64
69
  roomWork: () => roomWork,
65
70
  current: () => Promise.all([...lanes.values()]
66
71
  .filter((held) => held.generation === generation())
67
72
  .map((held) => held.chain)),
68
73
  finished: () => Promise.all(working),
69
- calling: (operation) => calling.has(operation),
70
- call(operation) {
71
- calling.add(operation);
74
+ sender: (operation) => senders.get(operation),
75
+ sending(operation, sender) {
76
+ senders.set(operation, sender);
72
77
  },
73
- called(operation) {
74
- calling.delete(operation);
78
+ sent(operation, sender) {
79
+ if (senders.get(operation) === sender)
80
+ senders.delete(operation);
75
81
  },
82
+ settled(operation) {
83
+ if (unclaimed.delete(operation))
84
+ return Promise.resolve();
85
+ return new Promise((settle) => {
86
+ const earlier = settlements.get(operation);
87
+ settlements.set(operation, () => {
88
+ earlier?.();
89
+ settle();
90
+ });
91
+ });
92
+ },
93
+ settle(operation, lost) {
94
+ const settle = settlements.get(operation);
95
+ settlements.delete(operation);
96
+ if (settle !== undefined)
97
+ settle();
98
+ else if (lost)
99
+ unclaimed.add(operation);
100
+ },
101
+ unclaimed: (operation) => unclaimed.has(operation),
76
102
  };
77
103
  }
@@ -6,7 +6,6 @@ export type RefusalReason = 'missing-required-guarantee' | 'revoked-authorizatio
6
6
  export type ConnectionRefusalCode = Open<RefusalReason>;
7
7
  export type ConnectionRefusal = {
8
8
  code: ConnectionRefusalCode;
9
- retryable: boolean;
10
9
  reauthorizationOffered: boolean;
11
10
  refusal: ProviderRefusal | null;
12
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/socket/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,4BAA4B,GAAG,uBAAuB,CAAC;AAEnF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;AAExD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,qBAAqB,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,sBAAsB,EAAE,OAAO,CAAC;IAChC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;CACzC,CAAC;AAEF,wBAAgB,aAAa,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAqBrF"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/socket/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,4BAA4B,GAAG,uBAAuB,CAAC;AAEnF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;AAExD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,qBAAqB,CAAC;IAC5B,sBAAsB,EAAE,OAAO,CAAC;IAChC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;CACzC,CAAC;AAEF,wBAAgB,aAAa,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAqBrF"}
package/dist/socket.d.ts CHANGED
@@ -1,14 +1,12 @@
1
1
  import type { Adapter, Authorization, ConversationEvent, Discovery, HeldRoom, RoomStreamEvent, ServiceMode } from './adapter.js';
2
2
  import type { Reads } from './bootstrap.js';
3
3
  import type { Cell } from './cell.js';
4
- import type { Log } from './log.js';
4
+ import type { Retries } from './retried.js';
5
5
  import { type Admission } from './socket/admission.js';
6
6
  import { type Answers } from './socket/answers.js';
7
7
  import { type Lanes } from './socket/lanes.js';
8
- import { type Rooms } from './socket/rooms.js';
9
8
  import { type Session } from './socket/session.js';
10
- export type { Live } from './socket/lanes.js';
11
- export type { Declared, RoomDeclaration } from './socket/rooms.js';
9
+ export type { KeptSender, Live } from './socket/lanes.js';
12
10
  export type { ConnectionRefusal, ConnectionRefusalCode, Moving, RefusalReason, } from './socket/session.js';
13
11
  type SocketEvent = {
14
12
  readonly kind: 'opened';
@@ -28,7 +26,6 @@ export type RuntimeSocket = Admission & Answers & {
28
26
  readonly reads: Reads;
29
27
  readonly streamed: boolean;
30
28
  readonly session: Cell<Session>;
31
- readonly rooms: Rooms;
32
29
  readonly lanes: Lanes;
33
30
  readonly ready: Promise<void>;
34
31
  readonly firstDiscovery: Promise<void>;
@@ -66,5 +63,5 @@ export type RuntimeSocket = Admission & Answers & {
66
63
  abortReads(): void;
67
64
  stopReads(): void;
68
65
  };
69
- export declare function createSocket(adapter: Adapter, journal: Log, authorization: Authorization | undefined): RuntimeSocket;
66
+ export declare function createSocket(adapter: Adapter, retries: Retries, authorization: Authorization | undefined): RuntimeSocket;
70
67
  //# sourceMappingURL=socket.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../src/socket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../src/socket.ts"],"names":[],"mappings":"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"}