@agentshouse/mdruntime 0.1.0-ca14c49c06d90 → 0.1.0-ca4dc698bd0c4

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 (91) hide show
  1. package/AGENTS.md +260 -259
  2. package/dist/acquisition.d.ts +14 -0
  3. package/dist/acquisition.d.ts.map +1 -0
  4. package/dist/acquisition.js +24 -0
  5. package/dist/adapter.d.ts +6 -1
  6. package/dist/adapter.d.ts.map +1 -1
  7. package/dist/change-set.d.ts +2 -0
  8. package/dist/change-set.d.ts.map +1 -1
  9. package/dist/change-set.js +34 -9
  10. package/dist/client.d.ts +8 -5
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/client.js +1 -0
  13. package/dist/collection.d.ts +17 -3
  14. package/dist/collection.d.ts.map +1 -1
  15. package/dist/collection.js +230 -19
  16. package/dist/connection.d.ts +20 -7
  17. package/dist/connection.d.ts.map +1 -1
  18. package/dist/connection.js +926 -175
  19. package/dist/conversation.d.ts +8 -5
  20. package/dist/conversation.d.ts.map +1 -1
  21. package/dist/conversation.js +128 -83
  22. package/dist/durability.d.ts +7 -1
  23. package/dist/durability.d.ts.map +1 -1
  24. package/dist/entry.d.ts +2 -2
  25. package/dist/entry.d.ts.map +1 -1
  26. package/dist/entry.js +3 -3
  27. package/dist/host.d.ts +11 -2
  28. package/dist/host.d.ts.map +1 -1
  29. package/dist/host.js +33 -3
  30. package/dist/identity.d.ts +2 -0
  31. package/dist/identity.d.ts.map +1 -1
  32. package/dist/identity.js +6 -0
  33. package/dist/index.d.ts +5 -4
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/memory.d.ts +2 -1
  36. package/dist/memory.d.ts.map +1 -1
  37. package/dist/memory.js +7 -2
  38. package/dist/model.d.ts +1 -0
  39. package/dist/model.d.ts.map +1 -1
  40. package/dist/model.js +9 -0
  41. package/dist/observation.d.ts +5 -2
  42. package/dist/observation.d.ts.map +1 -1
  43. package/dist/observation.js +22 -11
  44. package/dist/overlay.d.ts +1 -0
  45. package/dist/overlay.d.ts.map +1 -1
  46. package/dist/overlay.js +25 -54
  47. package/dist/query.d.ts +28 -3
  48. package/dist/query.d.ts.map +1 -1
  49. package/dist/reach.d.ts +6 -2
  50. package/dist/reach.d.ts.map +1 -1
  51. package/dist/reach.js +16 -4
  52. package/dist/react.d.ts +5 -3
  53. package/dist/react.d.ts.map +1 -1
  54. package/dist/read-side.d.ts +13 -6
  55. package/dist/read-side.d.ts.map +1 -1
  56. package/dist/read-side.js +282 -83
  57. package/dist/readiness.d.ts +53 -0
  58. package/dist/readiness.d.ts.map +1 -0
  59. package/dist/readiness.js +33 -0
  60. package/dist/recovery.d.ts +25 -0
  61. package/dist/recovery.d.ts.map +1 -0
  62. package/dist/recovery.js +197 -0
  63. package/dist/refresh.d.ts.map +1 -1
  64. package/dist/refresh.js +11 -10
  65. package/dist/replica.d.ts +1 -1
  66. package/dist/replica.d.ts.map +1 -1
  67. package/dist/replica.js +47 -19
  68. package/dist/rows.d.ts +4 -13
  69. package/dist/rows.d.ts.map +1 -1
  70. package/dist/rows.js +2 -12
  71. package/dist/save.d.ts +5 -0
  72. package/dist/save.d.ts.map +1 -1
  73. package/dist/save.js +36 -13
  74. package/dist/search.d.ts +28 -6
  75. package/dist/search.d.ts.map +1 -1
  76. package/dist/search.js +108 -45
  77. package/dist/shared.d.ts +11 -0
  78. package/dist/shared.d.ts.map +1 -0
  79. package/dist/shared.js +368 -0
  80. package/dist/status.d.ts +4 -0
  81. package/dist/status.d.ts.map +1 -1
  82. package/dist/store.d.ts +18 -3
  83. package/dist/store.d.ts.map +1 -1
  84. package/dist/store.js +147 -49
  85. package/dist/turn.d.ts +7 -0
  86. package/dist/turn.d.ts.map +1 -0
  87. package/dist/turn.js +45 -0
  88. package/dist/wire.d.ts +2 -0
  89. package/dist/wire.d.ts.map +1 -1
  90. package/dist/wire.js +2 -0
  91. package/package.json +2 -2
package/dist/shared.js ADDED
@@ -0,0 +1,368 @@
1
+ const BITS = 5;
2
+ const MASK = (1 << BITS) - 1;
3
+ const roots = new WeakMap();
4
+ const tallies = new WeakMap();
5
+ function hashOf(key) {
6
+ let hash = 0x811c9dc5;
7
+ for (let index = 0; index < key.length; index += 1) {
8
+ hash ^= key.charCodeAt(index);
9
+ hash = Math.imul(hash, 0x01000193);
10
+ }
11
+ return hash >>> 0;
12
+ }
13
+ function isLeaf(node) {
14
+ return 'key' in node;
15
+ }
16
+ function isCollision(node) {
17
+ return 'leaves' in node;
18
+ }
19
+ function fragment(hash, shift) {
20
+ return (hash >>> shift) & MASK;
21
+ }
22
+ function count(bits) {
23
+ let left = bits - ((bits >>> 1) & 0x55555555);
24
+ left = (left & 0x33333333) + ((left >>> 2) & 0x33333333);
25
+ return (((left + (left >>> 4)) & 0x0f0f0f0f) * 0x01010101) >>> 24;
26
+ }
27
+ function slot(bitmap, bit) {
28
+ return count(bitmap & (bit - 1));
29
+ }
30
+ function lookup(root, key) {
31
+ const hash = hashOf(key);
32
+ let node = root.node;
33
+ let shift = 0;
34
+ while (node !== undefined) {
35
+ if (isLeaf(node))
36
+ return node.key === key ? node : undefined;
37
+ if (isCollision(node))
38
+ return node.leaves.find((leaf) => leaf.key === key);
39
+ const bit = 1 << fragment(hash, shift);
40
+ if ((node.bitmap & bit) === 0)
41
+ return undefined;
42
+ node = node.children[slot(node.bitmap, bit)];
43
+ shift += BITS;
44
+ }
45
+ return undefined;
46
+ }
47
+ function branchOf(node, shift) {
48
+ return { bitmap: 1 << fragment(node.hash, shift), children: [node] };
49
+ }
50
+ function joined(left, right, shift) {
51
+ if (left.hash === right.hash) {
52
+ const leaves = isCollision(left) ? left.leaves : [left];
53
+ return { hash: right.hash, leaves: [...leaves, right] };
54
+ }
55
+ return put(branchOf(left, shift), right, shift);
56
+ }
57
+ function put(node, leaf, shift) {
58
+ if (node === undefined)
59
+ return leaf;
60
+ if (isLeaf(node)) {
61
+ if (node.key !== leaf.key)
62
+ return joined(node, leaf, shift);
63
+ return node.value === leaf.value ? node : leaf;
64
+ }
65
+ if (isCollision(node)) {
66
+ if (node.hash !== leaf.hash)
67
+ return joined(node, leaf, shift);
68
+ const at = node.leaves.findIndex((held) => held.key === leaf.key);
69
+ if (at === -1)
70
+ return { hash: node.hash, leaves: [...node.leaves, leaf] };
71
+ if (node.leaves[at].value === leaf.value)
72
+ return node;
73
+ return {
74
+ hash: node.hash,
75
+ leaves: node.leaves.map((held, index) => (index === at ? leaf : held)),
76
+ };
77
+ }
78
+ const bit = 1 << fragment(leaf.hash, shift);
79
+ const at = slot(node.bitmap, bit);
80
+ if ((node.bitmap & bit) === 0) {
81
+ return {
82
+ bitmap: node.bitmap | bit,
83
+ children: [...node.children.slice(0, at), leaf, ...node.children.slice(at)],
84
+ };
85
+ }
86
+ const child = node.children[at];
87
+ const next = put(child, leaf, shift + BITS);
88
+ if (next === child)
89
+ return node;
90
+ return {
91
+ bitmap: node.bitmap,
92
+ children: node.children.map((held, index) => (index === at ? next : held)),
93
+ };
94
+ }
95
+ function lone(node) {
96
+ if (node.children.length !== 1)
97
+ return null;
98
+ const [only] = node.children;
99
+ return isLeaf(only) || isCollision(only) ? only : null;
100
+ }
101
+ function taken(node, hash, key, shift) {
102
+ if (isLeaf(node))
103
+ return node.key === key ? undefined : node;
104
+ if (isCollision(node)) {
105
+ const leaves = node.leaves.filter((leaf) => leaf.key !== key);
106
+ if (leaves.length === node.leaves.length)
107
+ return node;
108
+ return leaves.length === 1 ? leaves[0] : { hash: node.hash, leaves };
109
+ }
110
+ const bit = 1 << fragment(hash, shift);
111
+ if ((node.bitmap & bit) === 0)
112
+ return node;
113
+ const at = slot(node.bitmap, bit);
114
+ const child = node.children[at];
115
+ const next = taken(child, hash, key, shift + BITS);
116
+ if (next === child)
117
+ return node;
118
+ if (next === undefined) {
119
+ if (node.children.length === 1)
120
+ return undefined;
121
+ const rest = {
122
+ bitmap: node.bitmap & ~bit,
123
+ children: node.children.filter((_, index) => index !== at),
124
+ };
125
+ return lone(rest) ?? rest;
126
+ }
127
+ const replaced = {
128
+ bitmap: node.bitmap,
129
+ children: node.children.map((held, index) => (index === at ? next : held)),
130
+ };
131
+ return lone(replaced) ?? replaced;
132
+ }
133
+ function* leavesOf(node) {
134
+ if (node === undefined)
135
+ return;
136
+ if (isLeaf(node)) {
137
+ yield node;
138
+ return;
139
+ }
140
+ if (isCollision(node)) {
141
+ yield* node.leaves;
142
+ return;
143
+ }
144
+ for (const child of node.children)
145
+ yield* leavesOf(child);
146
+ }
147
+ function facade(root) {
148
+ let keys;
149
+ const target = {};
150
+ const map = new Proxy(target, {
151
+ get(held, property, receiver) {
152
+ if (typeof property === 'string') {
153
+ const leaf = lookup(root, property);
154
+ if (leaf !== undefined)
155
+ return leaf.value;
156
+ }
157
+ return Reflect.get(held, property, receiver);
158
+ },
159
+ has(held, property) {
160
+ return ((typeof property === 'string' && lookup(root, property) !== undefined) ||
161
+ Reflect.has(held, property));
162
+ },
163
+ ownKeys() {
164
+ keys ??= [...leavesOf(root.node)].map((leaf) => leaf.key);
165
+ return keys;
166
+ },
167
+ getOwnPropertyDescriptor(_held, property) {
168
+ if (typeof property !== 'string')
169
+ return undefined;
170
+ const leaf = lookup(root, property);
171
+ if (leaf === undefined)
172
+ return undefined;
173
+ return { value: leaf.value, writable: false, enumerable: true, configurable: true };
174
+ },
175
+ set: () => false,
176
+ defineProperty: () => false,
177
+ deleteProperty: () => false,
178
+ });
179
+ roots.set(map, root);
180
+ return map;
181
+ }
182
+ function rootOf(map) {
183
+ const held = roots.get(map);
184
+ if (held !== undefined)
185
+ return held;
186
+ let node;
187
+ let size = 0;
188
+ for (const [key, value] of Object.entries(map)) {
189
+ node = put(node, { key, hash: hashOf(key), value }, 0);
190
+ size += 1;
191
+ }
192
+ return { node, size };
193
+ }
194
+ export function shared(map) {
195
+ return roots.has(map) ? map : facade(rootOf(map));
196
+ }
197
+ export function patched(base, set, removed = []) {
198
+ const root = rootOf(base);
199
+ const weighed = [...(tallies.get(base) ?? [])];
200
+ let node = root.node;
201
+ let size = root.size;
202
+ const shift = (key, before, after) => {
203
+ for (const entry of weighed) {
204
+ entry[1] +=
205
+ (after === undefined ? 0 : entry[0](key, after)) -
206
+ (before === undefined ? 0 : entry[0](key, before.value));
207
+ }
208
+ };
209
+ for (const key of removed) {
210
+ if (node === undefined)
211
+ break;
212
+ const before = lookup({ node, size }, key);
213
+ if (before === undefined)
214
+ continue;
215
+ node = taken(node, before.hash, key, 0);
216
+ size -= 1;
217
+ shift(key, before, undefined);
218
+ }
219
+ for (const [key, value] of set) {
220
+ const before = lookup({ node, size }, key);
221
+ node = put(node, { key, hash: hashOf(key), value }, 0);
222
+ if (before === undefined)
223
+ size += 1;
224
+ shift(key, before, value);
225
+ }
226
+ if (node === root.node && roots.has(base))
227
+ return base;
228
+ const map = facade({ node, size });
229
+ if (weighed.length > 0)
230
+ tallies.set(map, new Map(weighed));
231
+ return map;
232
+ }
233
+ export function tally(map, weigh) {
234
+ const held = tallies.get(map);
235
+ const known = held?.get(weigh);
236
+ if (known !== undefined)
237
+ return known;
238
+ let total = 0;
239
+ for (const [key, value] of Object.entries(map))
240
+ total += weigh(key, value);
241
+ if (roots.has(map)) {
242
+ const kept = held ?? new Map();
243
+ kept.set(weigh, total);
244
+ tallies.set(map, kept);
245
+ }
246
+ return total;
247
+ }
248
+ export function sizeOf(map) {
249
+ return roots.get(map)?.size ?? Object.keys(map).length;
250
+ }
251
+ function collect(node, into) {
252
+ for (const leaf of leavesOf(node))
253
+ into.add(leaf.key);
254
+ }
255
+ function compared(left, right, shift, same, into) {
256
+ if (left === right)
257
+ return;
258
+ if (left === undefined)
259
+ return collect(right, into);
260
+ if (right === undefined)
261
+ return collect(left, into);
262
+ if (!isLeaf(left) && !isCollision(left) && !isLeaf(right) && !isCollision(right)) {
263
+ const bits = left.bitmap | right.bitmap;
264
+ for (let remaining = bits; remaining !== 0; remaining &= remaining - 1) {
265
+ const bit = remaining & -remaining;
266
+ compared((left.bitmap & bit) === 0 ? undefined : left.children[slot(left.bitmap, bit)], (right.bitmap & bit) === 0 ? undefined : right.children[slot(right.bitmap, bit)], shift + BITS, same, into);
267
+ }
268
+ return;
269
+ }
270
+ const before = new Map([...leavesOf(left)].map((leaf) => [leaf.key, leaf.value]));
271
+ for (const leaf of leavesOf(right)) {
272
+ const held = before.get(leaf.key);
273
+ before.delete(leaf.key);
274
+ if (held === undefined || !same(held, leaf.value))
275
+ into.add(leaf.key);
276
+ }
277
+ for (const key of before.keys())
278
+ into.add(key);
279
+ }
280
+ export function differing(left, right, same = Object.is) {
281
+ const into = new Set();
282
+ if (left === right)
283
+ return into;
284
+ const leftRoot = roots.get(left);
285
+ const rightRoot = roots.get(right);
286
+ if (leftRoot !== undefined && rightRoot !== undefined) {
287
+ compared(leftRoot.node, rightRoot.node, 0, same, into);
288
+ return into;
289
+ }
290
+ for (const key of Object.keys(left)) {
291
+ if (!Object.hasOwn(right, key) || !same(left[key], right[key]))
292
+ into.add(key);
293
+ }
294
+ for (const key of Object.keys(right))
295
+ if (!Object.hasOwn(left, key))
296
+ into.add(key);
297
+ return into;
298
+ }
299
+ const drafts = new WeakMap();
300
+ const GONE = Symbol('gone');
301
+ export function drafted(base) {
302
+ const written = new Map();
303
+ const read = (key) => {
304
+ const held = written.get(key);
305
+ if (held === GONE)
306
+ return undefined;
307
+ return held ?? (Object.hasOwn(base, key) ? base[key] : undefined);
308
+ };
309
+ const draft = new Proxy({}, {
310
+ get(held, property, receiver) {
311
+ if (typeof property === 'string') {
312
+ const value = read(property);
313
+ if (value !== undefined)
314
+ return value;
315
+ }
316
+ return Reflect.get(held, property, receiver);
317
+ },
318
+ has(held, property) {
319
+ return ((typeof property === 'string' && read(property) !== undefined) ||
320
+ Reflect.has(held, property));
321
+ },
322
+ ownKeys() {
323
+ const keys = new Set(Object.keys(base));
324
+ for (const [key, value] of written) {
325
+ if (value === GONE)
326
+ keys.delete(key);
327
+ else
328
+ keys.add(key);
329
+ }
330
+ return [...keys];
331
+ },
332
+ getOwnPropertyDescriptor(_held, property) {
333
+ if (typeof property !== 'string')
334
+ return undefined;
335
+ const value = read(property);
336
+ if (value === undefined)
337
+ return undefined;
338
+ return { value, writable: true, enumerable: true, configurable: true };
339
+ },
340
+ set(_held, property, value) {
341
+ if (typeof property !== 'string')
342
+ return false;
343
+ written.set(property, value);
344
+ return true;
345
+ },
346
+ deleteProperty(_held, property) {
347
+ if (typeof property !== 'string')
348
+ return false;
349
+ written.set(property, GONE);
350
+ return true;
351
+ },
352
+ defineProperty: () => false,
353
+ });
354
+ drafts.set(draft, { base, written });
355
+ return draft;
356
+ }
357
+ export function settled(draft) {
358
+ const held = drafts.get(draft);
359
+ const set = [];
360
+ const removed = [];
361
+ for (const [key, value] of held.written) {
362
+ if (value === GONE)
363
+ removed.push(key);
364
+ else
365
+ set.push([key, value]);
366
+ }
367
+ return patched(held.base, set, removed);
368
+ }
package/dist/status.d.ts CHANGED
@@ -1,9 +1,13 @@
1
1
  import type { Open } from './open.js';
2
+ import type { ProviderRefusal } from './adapter.js';
2
3
  import type { ReturnReason } from './room-draft.js';
3
4
  export type AttentionEntry = {
4
5
  room: string;
5
6
  path: string;
6
7
  returned: ReturnReason;
8
+ } | {
9
+ room: string;
10
+ refusal: ProviderRefusal;
7
11
  };
8
12
  export type SyncStatus = {
9
13
  state: Open<'pending' | 'syncing' | 'synced'>;
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;IAC9C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,UAMtB,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAE3D;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAErD;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAQhE"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC;AAE/C,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;IAC9C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,UAMtB,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAE3D;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAErD;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAQhE"}
package/dist/store.d.ts CHANGED
@@ -6,7 +6,7 @@ import { type HeldBinary } from './overlay.js';
6
6
  import type { ChatDraftFile } from './file.js';
7
7
  import type { Submission } from './outcome.js';
8
8
  import type { RoomDraftRecord, SavedDraft } from './room-draft.js';
9
- export declare const STORE_SCHEMA = 24;
9
+ export declare const STORE_SCHEMA = 25;
10
10
  export declare const AUTHORED_SCHEMA = 2;
11
11
  export type ReplicaRecord = {
12
12
  locator: string;
@@ -46,6 +46,10 @@ export type PendingState = {
46
46
  readonly upload?: unknown;
47
47
  readonly accepted?: string;
48
48
  };
49
+ export type TargetRecord = {
50
+ established: boolean;
51
+ search: boolean;
52
+ };
49
53
  export type QueueRecord = {
50
54
  locator: string;
51
55
  pending: readonly {
@@ -60,12 +64,15 @@ export type PresentationRecord = {
60
64
  export type HeldConversation = {
61
65
  conversation: string;
62
66
  read: string | null | undefined;
63
- messages: readonly AcceptedMessage[];
67
+ partial: boolean;
64
68
  };
65
69
  export type ConversationWrite = {
66
70
  conversation: string;
67
71
  messages: readonly AcceptedMessage[];
68
- read?: string | null;
72
+ read?: {
73
+ at: string | null;
74
+ partial: boolean;
75
+ };
69
76
  };
70
77
  export type ChatSubmission = {
71
78
  readonly operation: string;
@@ -104,6 +111,8 @@ export type RuntimeStore = {
104
111
  declare(limits: readonly ProviderLimit[], capabilities: readonly Capability[]): Promise<void>;
105
112
  member(): Promise<Member | null>;
106
113
  keepMember(member: Member | null): Promise<void>;
114
+ targets(): Promise<Readonly<Record<string, TargetRecord>>>;
115
+ keepTargets(targets: Readonly<Record<string, TargetRecord>>): Promise<void>;
107
116
  queues(): Promise<readonly QueueRecord[]>;
108
117
  submit(locator: string, id: string, submission: Submission, lost: boolean): Promise<void>;
109
118
  accept(locator: string, id: string, roomVersion: string): Promise<void>;
@@ -113,6 +122,10 @@ export type RuntimeStore = {
113
122
  present(record: PresentationRecord): Promise<void>;
114
123
  conversations(): Promise<readonly HeldConversation[]>;
115
124
  keepMessages(write: ConversationWrite): Promise<void>;
125
+ messageWindow(conversation: string, limit: number | undefined): Promise<AcceptedMessage[]>;
126
+ messagesAfter(conversation: string, identity: string | null): Promise<AcceptedMessage[]>;
127
+ messageIdentities(conversation: string): Promise<readonly string[]>;
128
+ turnArrived(conversation: string, turn: string): Promise<boolean>;
116
129
  dropConversations(conversations: readonly string[]): Promise<void>;
117
130
  chatDrafts(): Promise<readonly ChatDraftRecord[]>;
118
131
  keepChatDraft(record: ChatDraftRecord): Promise<void>;
@@ -121,6 +134,7 @@ export type RuntimeStore = {
121
134
  discardRoomDraft(locator: string, path: string): Promise<void>;
122
135
  fences(): Promise<readonly string[]>;
123
136
  erase(locators: readonly string[]): Promise<void>;
137
+ discard(locator: string): Promise<void>;
124
138
  transfers(): Promise<readonly TransferRecord[]>;
125
139
  staged(record: TransferRecord): Promise<StagedLayer>;
126
140
  stage(record: TransferRecord, page: StagedLayer): Promise<void>;
@@ -141,5 +155,6 @@ export declare function authoredBy(holder: string): Promise<boolean>;
141
155
  export declare function authoredBinding(): Promise<string | null>;
142
156
  export declare function bindAuthored(binding: string): Promise<void>;
143
157
  export declare function removeRuntimeStore(holder?: string): Promise<boolean>;
158
+ export declare function openDatabase(name: string, version: number, upgrade: (opening: IDBOpenDBRequest, oldVersion: number) => void): Promise<IDBDatabase>;
144
159
  export declare function openRuntimeStore(fenced: (locator: string) => boolean): Promise<RuntimeStore>;
145
160
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}