@agentshouse/mdruntime 0.1.0-cefbc8bb8a1c0 → 0.1.0-cf04ede9fb796

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 (282) hide show
  1. package/README.md +2 -2
  2. package/dist/acceptance.d.ts +6 -0
  3. package/dist/acceptance.d.ts.map +1 -0
  4. package/dist/acceptance.js +389 -0
  5. package/dist/actions.d.ts +20 -0
  6. package/dist/actions.d.ts.map +1 -0
  7. package/dist/actions.js +251 -0
  8. package/dist/adapter.d.ts +86 -67
  9. package/dist/adapter.d.ts.map +1 -1
  10. package/dist/attached-model.d.ts +3 -10
  11. package/dist/attached-model.d.ts.map +1 -1
  12. package/dist/attached-model.js +21 -56
  13. package/dist/bootstrap.d.ts +10 -9
  14. package/dist/bootstrap.d.ts.map +1 -1
  15. package/dist/bootstrap.js +211 -81
  16. package/dist/cell.d.ts +6 -0
  17. package/dist/cell.d.ts.map +1 -0
  18. package/dist/cell.js +9 -0
  19. package/dist/chain.d.ts +2 -1
  20. package/dist/chain.d.ts.map +1 -1
  21. package/dist/change.d.ts +1 -0
  22. package/dist/change.d.ts.map +1 -1
  23. package/dist/chat-types.d.ts +5 -0
  24. package/dist/chat-types.d.ts.map +1 -0
  25. package/dist/chat-types.js +13 -0
  26. package/dist/client.d.ts +21 -6
  27. package/dist/client.d.ts.map +1 -1
  28. package/dist/client.js +3 -1
  29. package/dist/collection.d.ts +2 -4
  30. package/dist/collection.d.ts.map +1 -1
  31. package/dist/collection.js +1 -17
  32. package/dist/compile.d.ts +6 -6
  33. package/dist/compile.d.ts.map +1 -1
  34. package/dist/compile.js +263 -319
  35. package/dist/connection.d.ts +5 -143
  36. package/dist/connection.d.ts.map +1 -1
  37. package/dist/connection.js +102 -5311
  38. package/dist/context.d.ts +2 -0
  39. package/dist/context.d.ts.map +1 -0
  40. package/dist/context.js +7 -0
  41. package/dist/conversation-live.d.ts +136 -0
  42. package/dist/conversation-live.d.ts.map +1 -0
  43. package/dist/conversation-live.js +248 -0
  44. package/dist/conversation-row.d.ts +33 -0
  45. package/dist/conversation-row.d.ts.map +1 -0
  46. package/dist/conversation-row.js +53 -0
  47. package/dist/conversation.d.ts +41 -45
  48. package/dist/conversation.d.ts.map +1 -1
  49. package/dist/conversation.js +859 -870
  50. package/dist/discovery.d.ts +10 -0
  51. package/dist/discovery.d.ts.map +1 -0
  52. package/dist/discovery.js +175 -0
  53. package/dist/durability.d.ts +15 -1
  54. package/dist/durability.d.ts.map +1 -1
  55. package/dist/entry.d.ts +2 -2
  56. package/dist/entry.d.ts.map +1 -1
  57. package/dist/entry.js +17 -7
  58. package/dist/figures.d.ts +49 -0
  59. package/dist/figures.d.ts.map +1 -0
  60. package/dist/figures.js +197 -0
  61. package/dist/holdings.d.ts +29 -0
  62. package/dist/holdings.d.ts.map +1 -0
  63. package/dist/holdings.js +95 -0
  64. package/dist/host.d.ts +4 -7
  65. package/dist/host.d.ts.map +1 -1
  66. package/dist/host.js +23 -30
  67. package/dist/identity.d.ts +0 -1
  68. package/dist/identity.d.ts.map +1 -1
  69. package/dist/identity.js +0 -3
  70. package/dist/index.d.ts +25 -8
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +7 -1
  73. package/dist/install.d.ts +56 -0
  74. package/dist/install.d.ts.map +1 -0
  75. package/dist/install.js +556 -0
  76. package/dist/job.d.ts +33 -0
  77. package/dist/job.d.ts.map +1 -0
  78. package/dist/job.js +54 -0
  79. package/dist/lifecycle.d.ts +7 -0
  80. package/dist/lifecycle.d.ts.map +1 -0
  81. package/dist/lifecycle.js +268 -0
  82. package/dist/listing.d.ts +53 -0
  83. package/dist/listing.d.ts.map +1 -0
  84. package/dist/listing.js +176 -0
  85. package/dist/live.d.ts +5 -4
  86. package/dist/live.d.ts.map +1 -1
  87. package/dist/live.js +63 -22
  88. package/dist/locks.d.ts +9 -0
  89. package/dist/locks.d.ts.map +1 -0
  90. package/dist/locks.js +61 -0
  91. package/dist/log.d.ts +1 -0
  92. package/dist/log.d.ts.map +1 -1
  93. package/dist/lost.d.ts +5 -0
  94. package/dist/lost.d.ts.map +1 -0
  95. package/dist/lost.js +61 -0
  96. package/dist/memory.d.ts +11 -4
  97. package/dist/memory.d.ts.map +1 -1
  98. package/dist/memory.js +172 -82
  99. package/dist/messages.d.ts +27 -3
  100. package/dist/messages.d.ts.map +1 -1
  101. package/dist/messages.js +97 -19
  102. package/dist/model.d.ts +2 -10
  103. package/dist/model.d.ts.map +1 -1
  104. package/dist/model.js +0 -18
  105. package/dist/models.d.ts +14 -0
  106. package/dist/models.d.ts.map +1 -0
  107. package/dist/models.js +195 -0
  108. package/dist/observation.d.ts +2 -2
  109. package/dist/observation.d.ts.map +1 -1
  110. package/dist/observation.js +7 -2
  111. package/dist/opening.d.ts +4 -0
  112. package/dist/opening.d.ts.map +1 -0
  113. package/dist/opening.js +57 -0
  114. package/dist/outcome.d.ts +4 -4
  115. package/dist/outcome.d.ts.map +1 -1
  116. package/dist/outcome.js +3 -0
  117. package/dist/overlay.d.ts +1 -0
  118. package/dist/overlay.d.ts.map +1 -1
  119. package/dist/overlay.js +11 -0
  120. package/dist/parts.d.ts +60 -0
  121. package/dist/parts.d.ts.map +1 -0
  122. package/dist/parts.js +126 -0
  123. package/dist/paths.d.ts +1 -0
  124. package/dist/paths.d.ts.map +1 -1
  125. package/dist/paths.js +22 -0
  126. package/dist/preparation.d.ts +20 -0
  127. package/dist/preparation.d.ts.map +1 -0
  128. package/dist/preparation.js +226 -0
  129. package/dist/queries.d.ts +16 -0
  130. package/dist/queries.d.ts.map +1 -0
  131. package/dist/queries.js +272 -0
  132. package/dist/query.d.ts +14 -209
  133. package/dist/query.d.ts.map +1 -1
  134. package/dist/query.js +3 -505
  135. package/dist/questions.d.ts +34 -0
  136. package/dist/questions.d.ts.map +1 -0
  137. package/dist/questions.js +122 -0
  138. package/dist/reach.d.ts +15 -13
  139. package/dist/reach.d.ts.map +1 -1
  140. package/dist/reach.js +183 -137
  141. package/dist/react.d.ts +10 -2
  142. package/dist/react.d.ts.map +1 -1
  143. package/dist/read.d.ts +7 -0
  144. package/dist/read.d.ts.map +1 -0
  145. package/dist/read.js +17 -0
  146. package/dist/readiness.d.ts +2 -16
  147. package/dist/readiness.d.ts.map +1 -1
  148. package/dist/readiness.js +4 -10
  149. package/dist/reads.d.ts +36 -10
  150. package/dist/reads.d.ts.map +1 -1
  151. package/dist/reads.js +158 -78
  152. package/dist/recovery.d.ts.map +1 -1
  153. package/dist/recovery.js +9 -1
  154. package/dist/refresh.d.ts +7 -5
  155. package/dist/refresh.d.ts.map +1 -1
  156. package/dist/refresh.js +33 -5
  157. package/dist/refusal.d.ts +5 -0
  158. package/dist/refusal.d.ts.map +1 -0
  159. package/dist/refusal.js +56 -0
  160. package/dist/replica.d.ts +9 -9
  161. package/dist/replica.d.ts.map +1 -1
  162. package/dist/replica.js +52 -20
  163. package/dist/room-draft.d.ts +4 -3
  164. package/dist/room-draft.d.ts.map +1 -1
  165. package/dist/room-draft.js +65 -52
  166. package/dist/room-drafts.d.ts +24 -0
  167. package/dist/room-drafts.d.ts.map +1 -0
  168. package/dist/room-drafts.js +216 -0
  169. package/dist/rows.d.ts +14 -21
  170. package/dist/rows.d.ts.map +1 -1
  171. package/dist/rows.js +48 -184
  172. package/dist/runtime.d.ts +43 -0
  173. package/dist/runtime.d.ts.map +1 -0
  174. package/dist/runtime.js +1 -0
  175. package/dist/save.d.ts +5 -1
  176. package/dist/save.d.ts.map +1 -1
  177. package/dist/save.js +19 -13
  178. package/dist/saves.d.ts +70 -0
  179. package/dist/saves.d.ts.map +1 -0
  180. package/dist/saves.js +1008 -0
  181. package/dist/search.d.ts +12 -63
  182. package/dist/search.d.ts.map +1 -1
  183. package/dist/search.js +9 -52
  184. package/dist/seed.d.ts +11 -2
  185. package/dist/seed.d.ts.map +1 -1
  186. package/dist/seed.js +71 -0
  187. package/dist/shared.d.ts +1 -2
  188. package/dist/shared.d.ts.map +1 -1
  189. package/dist/shared.js +9 -15
  190. package/dist/shown.d.ts +31 -0
  191. package/dist/shown.d.ts.map +1 -0
  192. package/dist/shown.js +295 -0
  193. package/dist/socket/admission.d.ts +7 -0
  194. package/dist/socket/admission.d.ts.map +1 -0
  195. package/dist/socket/admission.js +39 -0
  196. package/dist/socket/answers.d.ts +6 -0
  197. package/dist/socket/answers.d.ts.map +1 -0
  198. package/dist/socket/answers.js +20 -0
  199. package/dist/socket/lanes.d.ts +20 -0
  200. package/dist/socket/lanes.d.ts.map +1 -0
  201. package/dist/socket/lanes.js +77 -0
  202. package/dist/socket/reads.d.ts +10 -0
  203. package/dist/socket/reads.d.ts.map +1 -0
  204. package/dist/socket/reads.js +31 -0
  205. package/dist/socket/rooms.d.ts +44 -0
  206. package/dist/socket/rooms.d.ts.map +1 -0
  207. package/dist/socket/rooms.js +90 -0
  208. package/dist/socket/session.d.ts +39 -0
  209. package/dist/socket/session.d.ts.map +1 -0
  210. package/dist/socket/session.js +23 -0
  211. package/dist/socket.d.ts +70 -0
  212. package/dist/socket.d.ts.map +1 -0
  213. package/dist/socket.js +175 -0
  214. package/dist/source.d.ts +61 -0
  215. package/dist/source.d.ts.map +1 -0
  216. package/dist/source.js +81 -0
  217. package/dist/status.d.ts +0 -6
  218. package/dist/status.d.ts.map +1 -1
  219. package/dist/status.js +0 -6
  220. package/dist/store/fences.d.ts +16 -0
  221. package/dist/store/fences.d.ts.map +1 -0
  222. package/dist/store/fences.js +26 -0
  223. package/dist/store/installs.d.ts +30 -0
  224. package/dist/store/installs.d.ts.map +1 -0
  225. package/dist/store/installs.js +34 -0
  226. package/dist/store/readiness.d.ts +10 -0
  227. package/dist/store/readiness.d.ts.map +1 -0
  228. package/dist/store/readiness.js +52 -0
  229. package/dist/store/records.d.ts +212 -0
  230. package/dist/store/records.d.ts.map +1 -0
  231. package/dist/store/records.js +431 -0
  232. package/dist/store/room-held.d.ts +8 -0
  233. package/dist/store/room-held.d.ts.map +1 -0
  234. package/dist/store/room-held.js +17 -0
  235. package/dist/store/space.d.ts +11 -0
  236. package/dist/store/space.d.ts.map +1 -0
  237. package/dist/store/space.js +43 -0
  238. package/dist/store/watchers.d.ts +17 -0
  239. package/dist/store/watchers.d.ts.map +1 -0
  240. package/dist/store/watchers.js +57 -0
  241. package/dist/store/writes.d.ts +24 -0
  242. package/dist/store/writes.d.ts.map +1 -0
  243. package/dist/store/writes.js +125 -0
  244. package/dist/store.d.ts +107 -157
  245. package/dist/store.d.ts.map +1 -1
  246. package/dist/store.js +143 -395
  247. package/dist/stored.d.ts +58 -37
  248. package/dist/stored.d.ts.map +1 -1
  249. package/dist/stored.js +276 -207
  250. package/dist/surface.d.ts +88 -0
  251. package/dist/surface.d.ts.map +1 -0
  252. package/dist/surface.js +223 -0
  253. package/dist/sync.d.ts +19 -0
  254. package/dist/sync.d.ts.map +1 -0
  255. package/dist/sync.js +532 -0
  256. package/dist/tables.d.ts +120 -55
  257. package/dist/tables.d.ts.map +1 -1
  258. package/dist/tables.js +212 -93
  259. package/dist/tallies.d.ts +18 -0
  260. package/dist/tallies.d.ts.map +1 -0
  261. package/dist/tallies.js +129 -0
  262. package/dist/transfer.d.ts +0 -5
  263. package/dist/transfer.d.ts.map +1 -1
  264. package/dist/validation.d.ts +3 -4
  265. package/dist/validation.d.ts.map +1 -1
  266. package/dist/validation.js +42 -100
  267. package/dist/windows.d.ts +1 -12
  268. package/dist/windows.d.ts.map +1 -1
  269. package/dist/windows.js +2 -75
  270. package/dist/wire.d.ts +17 -5
  271. package/dist/wire.d.ts.map +1 -1
  272. package/dist/wire.js +7 -1
  273. package/package.json +2 -2
  274. package/dist/fence.d.ts +0 -6
  275. package/dist/fence.d.ts.map +0 -1
  276. package/dist/fence.js +0 -10
  277. package/dist/fulltext.d.ts +0 -27
  278. package/dist/fulltext.d.ts.map +0 -1
  279. package/dist/fulltext.js +0 -370
  280. package/dist/words.d.ts +0 -19
  281. package/dist/words.d.ts.map +0 -1
  282. package/dist/words.js +0 -156
package/dist/save.js CHANGED
@@ -4,8 +4,8 @@ import { immutable, leaving, queuedFile, departure, } from './change.js';
4
4
  import { collectionOf, documentsOf, governing, } from './collection.js';
5
5
  import { changeBatchIdentity } from './identity.js';
6
6
  import { overlaying } from './overlay.js';
7
- import { ancestors, covered, normalize } from './paths.js';
8
- import { sorting } from './shared.js';
7
+ import { ancestors, authoredAt, covered, normalize } from './paths.js';
8
+ import { entriesIn, sorting } from './shared.js';
9
9
  import { paced, ROW_WEIGHT, stepped } from './turn.js';
10
10
  import { validatedCollection } from './validation.js';
11
11
  function refuse(code, file, location) {
@@ -321,6 +321,8 @@ function* incoming(collection, removed, candidates) {
321
321
  function affected(change) {
322
322
  return change.kind === 'move' ? [change.path, change.to] : [change.path];
323
323
  }
324
+ const WRITE = ['write'];
325
+ const MOVE_OUT = ['write', 'erase'];
324
326
  function guard(changes, input, removing) {
325
327
  const overridden = new Map();
326
328
  const existing = {
@@ -335,12 +337,15 @@ function guard(changes, input, removing) {
335
337
  const normalized = normalize(path);
336
338
  if (normalized === null || normalized === '')
337
339
  return refuse('room-root', path);
338
- if (covered(input.providerOwnedPaths, normalized)) {
340
+ if (covered(input.providerOwnedPaths, normalized) ||
341
+ (input.authoredPaths !== undefined && !authoredAt(input.authoredPaths, normalized))) {
339
342
  return refuse('provider-owned-path', normalized);
340
343
  }
341
- const operation = change.kind === 'remove' ? removing : 'write';
342
- if (!input.local && !covered(input.operations[operation], normalized))
343
- return refuse(`${operation}-grant`, normalized);
344
+ if (!input.pathRule(normalized))
345
+ return refuse('invalid-path', normalized);
346
+ for (const operation of change.kind === 'remove' ? removing : WRITE)
347
+ if (!input.local && !covered(input.operations[operation], normalized))
348
+ return refuse(`${operation}-grant`, normalized);
344
349
  }
345
350
  if (change.kind === 'create' || change.kind === 'arrival') {
346
351
  const taken = existing.has(change.path) ? change.path : occupied(change.path);
@@ -898,7 +903,7 @@ function touchedLibrary(resulting, touched, composition) {
898
903
  })
899
904
  .sort((left, right) => (left.path < right.path ? -1 : left.path > right.path ? 1 : 0));
900
905
  const contents = new Map(entries.map(({ path, content }) => [path, content]));
901
- const binaries = new Set(Object.keys(resulting.binaries).filter((path) => resulting.binaries[path] !== undefined));
906
+ const binaries = new Set(Array.from(entriesIn(resulting.binaries), ([path]) => path));
902
907
  return validatedCollection(() => Promise.resolve({ entries, next: null }), async (paths) => {
903
908
  const known = new Map();
904
909
  const pace = paced();
@@ -974,7 +979,7 @@ function roomReferencesIn(path, content, composition) {
974
979
  const parsed = parse(content, path);
975
980
  if (!parsed.ok)
976
981
  return [];
977
- return roomReferences(path, content, definitionOf(governing(composition, path), parsed.document.type));
982
+ return roomReferences(parsed.document, definitionOf(governing(composition, path), parsed.document.type));
978
983
  }
979
984
  function* admittedRooms(changes, visible, resulting, composition) {
980
985
  const from = new Map();
@@ -1020,7 +1025,7 @@ async function batching(input) {
1020
1025
  const rewritten = await stepped(rewrites(changes, input.visible));
1021
1026
  if (rewritten.kind === 'refused')
1022
1027
  return rewritten;
1023
- const refusal = guard(changes, input, 'delete');
1028
+ const refusal = guard(changes, input, WRITE);
1024
1029
  if (refusal !== null)
1025
1030
  return refusal;
1026
1031
  const preconditions = await stepped(preconditionsOf(changes, input.visible, input.bases));
@@ -1069,9 +1074,10 @@ function arrivingText(path, to, source, moved) {
1069
1074
  return applied.outcome === 'applied' ? serialize(applied.document) : content;
1070
1075
  }
1071
1076
  function arrivalOf({ path, to }, source, moved) {
1072
- const { documents, revisions, fileIds, changes, binaries } = source.visible;
1077
+ const { documents, revisions, fileIds, created, changes, binaries } = source.visible;
1073
1078
  const kept = {
1074
1079
  ...(fileIds[path] === undefined ? {} : { fileId: fileIds[path] }),
1080
+ ...(created[path] === undefined ? {} : { created: created[path] }),
1075
1081
  ...(changes[path] === undefined ? {} : { change: changes[path] }),
1076
1082
  };
1077
1083
  const heads = {
@@ -1097,11 +1103,11 @@ function arrivalOf({ path, to }, source, moved) {
1097
1103
  };
1098
1104
  }
1099
1105
  async function moving(input) {
1100
- const { source, destination, moves } = input;
1106
+ const { source, destination, moves, pathRule } = input;
1101
1107
  if (moves.length === 0)
1102
1108
  return refuse('no-change');
1103
1109
  const removals = moves.map(({ path }) => ({ kind: 'remove', path }));
1104
- const leaves = guard(removals, { ...source, local: input.local, bases: [] }, 'write');
1110
+ const leaves = guard(removals, { ...source, local: input.local, bases: [], pathRule }, MOVE_OUT);
1105
1111
  if (leaves !== null)
1106
1112
  return leaves;
1107
1113
  const uploading = moves.find(({ path }) => source.visible.binaries[path]?.state === 'pending');
@@ -1109,7 +1115,7 @@ async function moving(input) {
1109
1115
  return refuse('unknown-revision', uploading.path);
1110
1116
  const moved = new Map(moves.map(({ path, to }) => [path, to]));
1111
1117
  const arrivals = moves.map((move) => arrivalOf(move, source, moved));
1112
- const arrives = guard(arrivals, { ...destination, local: input.local, bases: [] }, 'write');
1118
+ const arrives = guard(arrivals, { ...destination, local: input.local, bases: [], pathRule }, WRITE);
1113
1119
  if (arrives !== null)
1114
1120
  return arrives;
1115
1121
  const bound = input.providerLimits.find((limit) => limit.name === MOVE_DOCUMENTS)?.value;
@@ -0,0 +1,70 @@
1
+ import { type ChangeSet } from './change-set.js';
2
+ import { type ChangeBatch, type WrittenBy } from './change.js';
3
+ import { type AttachAnswer, type BinaryLinkAnswer, type HeldBinaryAnswer, type HeldShownAnswer } from './outcome.js';
4
+ import { type HeldReplica, type ReplicaRecord, type Slice, type VisibleLayer } from './replica.js';
5
+ import { type ReturnReason, type RoomDraftParts } from './room-draft.js';
6
+ import type { Runtime } from './runtime.js';
7
+ import { type SaveRefusal } from './save.js';
8
+ import type { AuthoredWrite, CommittedWrite, PendingState, RoomCommit, RuntimeStore, Store, StoredEntry, View, Work } from './store.js';
9
+ export type SaveResult = {
10
+ outcome: 'saved';
11
+ identifier: string;
12
+ } | ({
13
+ outcome: 'refused';
14
+ } & SaveRefusal);
15
+ export type SavedRoomDraft = {
16
+ readonly path: string;
17
+ readonly revision: string;
18
+ };
19
+ export type SavedParts = {
20
+ readonly path: string;
21
+ readonly parts: RoomDraftParts;
22
+ };
23
+ export type BinaryFileSurface = {
24
+ read(room: string, path: string, revision?: string): Promise<HeldBinaryAnswer>;
25
+ link(room: string, path: string, revision?: string): Promise<BinaryLinkAnswer>;
26
+ show(room: string, path: string, revision?: string): Promise<HeldShownAnswer>;
27
+ attach(room: string, file: File): Promise<AttachAnswer>;
28
+ part(file: string, part: number): Promise<Uint8Array | null>;
29
+ };
30
+ export type Leaving = {
31
+ batch: ChangeBatch;
32
+ returned: ReturnReason | null;
33
+ };
34
+ export declare function withdrawable(states: ReadonlyMap<string, PendingState>): (batch: ChangeBatch) => boolean;
35
+ export declare function sliceAt(store: Store, record: ReplicaRecord, view: View, queue: readonly ChangeBatch[], extra?: Iterable<string>, moved?: Iterable<string>): Promise<Slice>;
36
+ export declare function landedWhole(store: Store, locator: string, batch: ChangeBatch, confirmedLayer: Slice, current?: Readonly<Record<string, string>>): Promise<boolean>;
37
+ export type Settling = {
38
+ leaving?: readonly Leaving[];
39
+ room?: boolean;
40
+ view?: View;
41
+ commit?: Pick<RoomCommit, 'published' | 'refreshed'>;
42
+ changes?: {
43
+ readonly set: readonly StoredEntry[];
44
+ readonly removed: readonly string[];
45
+ };
46
+ };
47
+ export declare function preparedAfter(runtime: Runtime, locator: string, answer: CommittedWrite): void;
48
+ export declare function replayed(store: Store, record: ReplicaRecord, confirmedLayer: Slice, queue: readonly ChangeBatch[]): import("./turn.js").Later<import("./replica.js").Replayed>;
49
+ export declare function overlayDiff(record: ReplicaRecord, before: HeldReplica | undefined, visible: VisibleLayer, touched: ReadonlySet<string>): Promise<{
50
+ overlay: NonNullable<RoomCommit['overlay']>;
51
+ touched: ReadonlySet<string>;
52
+ }>;
53
+ export type Settlement = {
54
+ readonly locator: string;
55
+ readonly left: readonly ChangeBatch[];
56
+ readonly commit: {
57
+ readonly rooms: readonly RoomCommit[];
58
+ readonly writes: readonly AuthoredWrite[];
59
+ };
60
+ apply(answer: CommittedWrite): ChangeSet;
61
+ };
62
+ export declare function settle(runtime: Runtime, local: RuntimeStore, locator: string, work: Work, record: ReplicaRecord, queue: readonly ChangeBatch[], settling?: Settling): Promise<ChangeSet>;
63
+ export declare function together(runtime: Runtime, local: RuntimeStore, settlements: readonly Settlement[]): Promise<ChangeSet>;
64
+ export declare function settlement(runtime: Runtime, local: RuntimeStore, locator: string, work: Work, record: ReplicaRecord, queue: readonly ChangeBatch[], settling?: Settling): Promise<Settlement>;
65
+ export declare function unpairing(runtime: Runtime, local: RuntimeStore, locator: string, batches: readonly ChangeBatch[]): Promise<Settlement>;
66
+ export declare function saveRoomDrafts(runtime: Runtime, locator: string, named: readonly SavedRoomDraft[], writtenBy: WrittenBy | undefined): Promise<SaveResult>;
67
+ export declare function saveParts(runtime: Runtime, locator: string, named: readonly SavedParts[], writtenBy: WrittenBy | undefined): Promise<SaveResult>;
68
+ export declare function batchFile(store: Store, batch: ChangeBatch): (localId: string) => Promise<Blob>;
69
+ export declare function binaryFileSurface(runtime: Runtime): BinaryFileSurface;
70
+ //# sourceMappingURL=saves.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saves.d.ts","sourceRoot":"","sources":["../src/saves.ts"],"names":[],"mappings":"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"}